@mantine/code-highlight 9.0.0-alpha.5 → 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.
Files changed (74) hide show
  1. package/cjs/CodeHighlight/CodeHighlight.cjs +130 -169
  2. package/cjs/CodeHighlight/CodeHighlight.cjs.map +1 -1
  3. package/cjs/CodeHighlight/CodeHighlight.context.cjs +7 -10
  4. package/cjs/CodeHighlight/CodeHighlight.context.cjs.map +1 -1
  5. package/cjs/CodeHighlight/CodeHighlightControl/CodeHighlightControl.cjs +31 -40
  6. package/cjs/CodeHighlight/CodeHighlightControl/CodeHighlightControl.cjs.map +1 -1
  7. package/cjs/CodeHighlight/CopyCodeButton/CopyCodeButton.cjs +19 -26
  8. package/cjs/CodeHighlight/CopyCodeButton/CopyCodeButton.cjs.map +1 -1
  9. package/cjs/CodeHighlight/CopyCodeButton/CopyIcon.cjs +30 -28
  10. package/cjs/CodeHighlight/CopyCodeButton/CopyIcon.cjs.map +1 -1
  11. package/cjs/CodeHighlight/ExpandCodeButton/ExpandCodeButton.cjs +16 -24
  12. package/cjs/CodeHighlight/ExpandCodeButton/ExpandCodeButton.cjs.map +1 -1
  13. package/cjs/CodeHighlight/ExpandCodeButton/ExpandIcon.cjs +40 -35
  14. package/cjs/CodeHighlight/ExpandCodeButton/ExpandIcon.cjs.map +1 -1
  15. package/cjs/CodeHighlight/InlineCodeHighlight.cjs +38 -37
  16. package/cjs/CodeHighlight/InlineCodeHighlight.cjs.map +1 -1
  17. package/cjs/CodeHighlight.module.cjs +22 -0
  18. package/cjs/CodeHighlight.module.cjs.map +1 -0
  19. package/cjs/CodeHighlightProvider/CodeHighlightProvider.cjs +26 -27
  20. package/cjs/CodeHighlightProvider/CodeHighlightProvider.cjs.map +1 -1
  21. package/cjs/CodeHighlightProvider/adapters/highlight-js-adapter.cjs +12 -14
  22. package/cjs/CodeHighlightProvider/adapters/highlight-js-adapter.cjs.map +1 -1
  23. package/cjs/CodeHighlightProvider/adapters/plain-text-adapter.cjs +8 -7
  24. package/cjs/CodeHighlightProvider/adapters/plain-text-adapter.cjs.map +1 -1
  25. package/cjs/CodeHighlightProvider/adapters/shiki-adapter.cjs +34 -42
  26. package/cjs/CodeHighlightProvider/adapters/shiki-adapter.cjs.map +1 -1
  27. package/cjs/CodeHighlightProvider/adapters/shiki-themes.cjs +1131 -1234
  28. package/cjs/CodeHighlightProvider/adapters/shiki-themes.cjs.map +1 -1
  29. package/cjs/CodeHighlightTabs/CodeHighlightTabs.cjs +103 -134
  30. package/cjs/CodeHighlightTabs/CodeHighlightTabs.cjs.map +1 -1
  31. package/cjs/CodeHighlightTabs/FileIcon.cjs +18 -14
  32. package/cjs/CodeHighlightTabs/FileIcon.cjs.map +1 -1
  33. package/cjs/_virtual/_rolldown/runtime.cjs +24 -0
  34. package/cjs/index.cjs +21 -26
  35. package/esm/CodeHighlight/CodeHighlight.context.mjs +7 -8
  36. package/esm/CodeHighlight/CodeHighlight.context.mjs.map +1 -1
  37. package/esm/CodeHighlight/CodeHighlight.mjs +126 -161
  38. package/esm/CodeHighlight/CodeHighlight.mjs.map +1 -1
  39. package/esm/CodeHighlight/CodeHighlightControl/CodeHighlightControl.mjs +29 -37
  40. package/esm/CodeHighlight/CodeHighlightControl/CodeHighlightControl.mjs.map +1 -1
  41. package/esm/CodeHighlight/CopyCodeButton/CopyCodeButton.mjs +18 -24
  42. package/esm/CodeHighlight/CopyCodeButton/CopyCodeButton.mjs.map +1 -1
  43. package/esm/CodeHighlight/CopyCodeButton/CopyIcon.mjs +29 -26
  44. package/esm/CodeHighlight/CopyCodeButton/CopyIcon.mjs.map +1 -1
  45. package/esm/CodeHighlight/ExpandCodeButton/ExpandCodeButton.mjs +15 -22
  46. package/esm/CodeHighlight/ExpandCodeButton/ExpandCodeButton.mjs.map +1 -1
  47. package/esm/CodeHighlight/ExpandCodeButton/ExpandIcon.mjs +39 -33
  48. package/esm/CodeHighlight/ExpandCodeButton/ExpandIcon.mjs.map +1 -1
  49. package/esm/CodeHighlight/InlineCodeHighlight.mjs +36 -34
  50. package/esm/CodeHighlight/InlineCodeHighlight.mjs.map +1 -1
  51. package/esm/CodeHighlight.module.mjs +22 -0
  52. package/esm/CodeHighlight.module.mjs.map +1 -0
  53. package/esm/CodeHighlightProvider/CodeHighlightProvider.mjs +24 -23
  54. package/esm/CodeHighlightProvider/CodeHighlightProvider.mjs.map +1 -1
  55. package/esm/CodeHighlightProvider/adapters/highlight-js-adapter.mjs +12 -12
  56. package/esm/CodeHighlightProvider/adapters/highlight-js-adapter.mjs.map +1 -1
  57. package/esm/CodeHighlightProvider/adapters/plain-text-adapter.mjs +8 -5
  58. package/esm/CodeHighlightProvider/adapters/plain-text-adapter.mjs.map +1 -1
  59. package/esm/CodeHighlightProvider/adapters/shiki-adapter.mjs +34 -40
  60. package/esm/CodeHighlightProvider/adapters/shiki-adapter.mjs.map +1 -1
  61. package/esm/CodeHighlightProvider/adapters/shiki-themes.mjs +1131 -1232
  62. package/esm/CodeHighlightProvider/adapters/shiki-themes.mjs.map +1 -1
  63. package/esm/CodeHighlightTabs/CodeHighlightTabs.mjs +101 -131
  64. package/esm/CodeHighlightTabs/CodeHighlightTabs.mjs.map +1 -1
  65. package/esm/CodeHighlightTabs/FileIcon.mjs +17 -12
  66. package/esm/CodeHighlightTabs/FileIcon.mjs.map +1 -1
  67. package/esm/index.mjs +10 -10
  68. package/package.json +3 -3
  69. package/cjs/CodeHighlight.module.css.cjs +0 -7
  70. package/cjs/CodeHighlight.module.css.cjs.map +0 -1
  71. package/cjs/index.cjs.map +0 -1
  72. package/esm/CodeHighlight.module.css.mjs +0 -5
  73. package/esm/CodeHighlight.module.css.mjs.map +0 -1
  74. 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"],"names":[],"mappings":"AAEO,SAAS,yBAAyB,IAAA,EAAiC;AACxE,EAAA,OAAO;AAAA,IACL,gBACE,MACA,CAAC,EAAE,IAAA,EAAM,UAAS,KAAM;AACtB,MAAA,MAAM,IAAA,GAAO,IAAA,CAAK,WAAA,CAAY,QAAQ,IAAI,QAAA,GAAW,WAAA;AACrD,MAAA,OAAO;AAAA,QACL,eAAA,EAAiB,IAAA,CAAK,SAAA,CAAU,IAAA,CAAK,IAAA,IAAQ,EAAE,QAAA,EAAU,IAAA,EAAM,CAAA,CAAE,KAAA;AAAA,QACjE,aAAA,EAAe,IAAA;AAAA,QACf,gBAAA,EAAkB,EAAE,SAAA,EAAW,CAAA,KAAA,EAAQ,IAAI,CAAA,CAAA;AAAG,OAChD;AAAA,IACF;AAAA,GACJ;AACF;;;;"}
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
- const plainTextAdapter = {
2
- getHighlighter: () => ({ code }) => ({ highlightedCode: code, isHighlighted: false })
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
- //# sourceMappingURL=plain-text-adapter.mjs.map
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"],"names":[],"mappings":"AAEO,MAAM,gBAAA,GAAyC;AAAA,EACpD,cAAA,EACE,MACA,CAAC,EAAE,IAAA,QAAY,EAAE,eAAA,EAAiB,IAAA,EAAM,aAAA,EAAe,KAAA,EAAM;AACjE;;;;"}
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 { light, dark } from './shiki-themes.mjs';
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
- const openIndex = data.indexOf(`<${openTag}`);
5
- let closeIndex = openIndex + openTag.length;
6
- for (let i = openIndex; i < data.length; i++) {
7
- if (data[i] === ">") {
8
- closeIndex = i;
9
- break;
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
- return stripElement("code", stripElement("pre", data));
13
+ return stripElement("code", stripElement("pre", data));
17
14
  }
18
15
  const createShikiAdapter = (loadShiki, { forceColorScheme } = {}) => {
19
- return {
20
- loadContext: loadShiki,
21
- getHighlighter: (ctx) => {
22
- if (!ctx) {
23
- return ({ code }) => ({ highlightedCode: code, isHighlighted: false });
24
- }
25
- return ({ code, language, colorScheme }) => {
26
- let _colorScheme = colorScheme;
27
- if (colorScheme === "light") {
28
- _colorScheme = light;
29
- } else if (colorScheme === "dark") {
30
- _colorScheme = dark;
31
- }
32
- return {
33
- isHighlighted: true,
34
- highlightedCode: stripShikiCodeBlocks(
35
- ctx.codeToHtml(code, {
36
- lang: language,
37
- theme: forceColorScheme || _colorScheme
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
- //# sourceMappingURL=shiki-adapter.mjs.map
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"],"names":[],"mappings":";;AAGA,SAAS,YAAA,CAAa,SAAiB,IAAA,EAAc;AACnD,EAAA,MAAM,SAAA,GAAY,IAAA,CAAK,OAAA,CAAQ,CAAA,CAAA,EAAI,OAAO,CAAA,CAAE,CAAA;AAC5C,EAAA,IAAI,UAAA,GAAa,YAAY,OAAA,CAAQ,MAAA;AAErC,EAAA,KAAA,IAAS,CAAA,GAAI,SAAA,EAAW,CAAA,GAAI,IAAA,CAAK,QAAQ,CAAA,EAAA,EAAK;AAC5C,IAAA,IAAI,IAAA,CAAK,CAAC,CAAA,KAAM,GAAA,EAAK;AACnB,MAAA,UAAA,GAAa,CAAA;AACb,MAAA;AAAA,IACF;AAAA,EACF;AAEA,EAAA,MAAM,OAAA,GAAU,KAAK,KAAA,CAAM,CAAA,EAAG,SAAS,CAAA,GAAI,IAAA,CAAK,KAAA,CAAM,UAAA,GAAa,CAAC,CAAA;AACpE,EAAA,OAAO,OAAA,CAAQ,OAAA,CAAQ,CAAA,EAAA,EAAK,OAAO,KAAK,EAAE,CAAA;AAC5C;AAEO,SAAS,qBAAqB,IAAA,EAAc;AACjD,EAAA,OAAO,YAAA,CAAa,MAAA,EAAQ,YAAA,CAAa,KAAA,EAAO,IAAI,CAAC,CAAA;AACvD;AAMO,MAAM,qBAAqB,CAChC,SAAA,EACA,EAAE,gBAAA,EAAiB,GAA+B,EAAC,KAC1B;AACzB,EAAA,OAAO;AAAA,IACL,WAAA,EAAa,SAAA;AAAA,IACb,cAAA,EAAgB,CAAC,GAAA,KAAQ;AACvB,MAAA,IAAI,CAAC,GAAA,EAAK;AACR,QAAA,OAAO,CAAC,EAAE,IAAA,EAAK,MAAO,EAAE,eAAA,EAAiB,IAAA,EAAM,eAAe,KAAA,EAAM,CAAA;AAAA,MACtE;AAEA,MAAA,OAAO,CAAC,EAAE,IAAA,EAAM,QAAA,EAAU,aAAY,KAAM;AAC1C,QAAA,IAAI,YAAA,GAAoB,WAAA;AAExB,QAAA,IAAI,gBAAgB,OAAA,EAAS;AAC3B,UAAA,YAAA,GAAe,KAAA;AAAA,QACjB,CAAA,MAAA,IAAW,gBAAgB,MAAA,EAAQ;AACjC,UAAA,YAAA,GAAe,IAAA;AAAA,QACjB;AAEA,QAAA,OAAO;AAAA,UACL,aAAA,EAAe,IAAA;AAAA,UACf,eAAA,EAAiB,oBAAA;AAAA,YACf,GAAA,CAAI,WAAW,IAAA,EAAM;AAAA,cACnB,IAAA,EAAM,QAAA;AAAA,cACN,OAAO,gBAAA,IAAoB;AAAA,aAC5B;AAAA;AACH,SACF;AAAA,MACF,CAAA;AAAA,IACF;AAAA,GACF;AACF;;;;"}
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"}