@mantine/code-highlight 7.0.0-alpha.11 → 7.0.0-alpha.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.
Files changed (70) hide show
  1. package/cjs/CodeHighlight.js +83 -31
  2. package/cjs/CodeHighlight.js.map +1 -1
  3. package/cjs/CodeHighlightTabs.js +150 -60
  4. package/cjs/CodeHighlightTabs.js.map +1 -1
  5. package/cjs/CopyIcon.js +44 -9
  6. package/cjs/CopyIcon.js.map +1 -1
  7. package/cjs/ExpandIcon.js +43 -15
  8. package/cjs/ExpandIcon.js.map +1 -1
  9. package/cjs/FileIcon.js +7 -7
  10. package/cjs/FileIcon.js.map +1 -1
  11. package/cjs/InlineCodeHighlight.js +57 -19
  12. package/cjs/InlineCodeHighlight.js.map +1 -1
  13. package/cjs/use-highlight.js +13 -13
  14. package/cjs/use-highlight.js.map +1 -1
  15. package/esm/CodeHighlight.js +83 -31
  16. package/esm/CodeHighlight.js.map +1 -1
  17. package/esm/CodeHighlightTabs.js +150 -60
  18. package/esm/CodeHighlightTabs.js.map +1 -1
  19. package/esm/CopyIcon.js +44 -9
  20. package/esm/CopyIcon.js.map +1 -1
  21. package/esm/ExpandIcon.js +43 -15
  22. package/esm/ExpandIcon.js.map +1 -1
  23. package/esm/FileIcon.js +7 -7
  24. package/esm/FileIcon.js.map +1 -1
  25. package/esm/InlineCodeHighlight.js +57 -19
  26. package/esm/InlineCodeHighlight.js.map +1 -1
  27. package/esm/use-highlight.js +13 -13
  28. package/esm/use-highlight.js.map +1 -1
  29. package/package.json +3 -3
  30. package/tsconfig.build.tsbuildinfo +1 -1
  31. package/cjs/src/mantine-code-highlight/src/CodeHighlight.js +0 -55
  32. package/cjs/src/mantine-code-highlight/src/CodeHighlight.js.map +0 -1
  33. package/cjs/src/mantine-code-highlight/src/CodeHighlight.module.css.js +0 -8
  34. package/cjs/src/mantine-code-highlight/src/CodeHighlight.module.css.js.map +0 -1
  35. package/cjs/src/mantine-code-highlight/src/CodeHighlight.theme.module.css.js +0 -8
  36. package/cjs/src/mantine-code-highlight/src/CodeHighlight.theme.module.css.js.map +0 -1
  37. package/cjs/src/mantine-code-highlight/src/CodeHighlightTabs.js +0 -90
  38. package/cjs/src/mantine-code-highlight/src/CodeHighlightTabs.js.map +0 -1
  39. package/cjs/src/mantine-code-highlight/src/CopyIcon.js +0 -25
  40. package/cjs/src/mantine-code-highlight/src/CopyIcon.js.map +0 -1
  41. package/cjs/src/mantine-code-highlight/src/ExpandIcon.js +0 -31
  42. package/cjs/src/mantine-code-highlight/src/ExpandIcon.js.map +0 -1
  43. package/cjs/src/mantine-code-highlight/src/FileIcon.js +0 -22
  44. package/cjs/src/mantine-code-highlight/src/FileIcon.js.map +0 -1
  45. package/cjs/src/mantine-code-highlight/src/InlineCodeHighlight.js +0 -43
  46. package/cjs/src/mantine-code-highlight/src/InlineCodeHighlight.js.map +0 -1
  47. package/cjs/src/mantine-code-highlight/src/index.js +0 -14
  48. package/cjs/src/mantine-code-highlight/src/index.js.map +0 -1
  49. package/cjs/src/mantine-code-highlight/src/use-highlight.js +0 -29
  50. package/cjs/src/mantine-code-highlight/src/use-highlight.js.map +0 -1
  51. package/esm/src/mantine-code-highlight/src/CodeHighlight.js +0 -46
  52. package/esm/src/mantine-code-highlight/src/CodeHighlight.js.map +0 -1
  53. package/esm/src/mantine-code-highlight/src/CodeHighlight.module.css.js +0 -4
  54. package/esm/src/mantine-code-highlight/src/CodeHighlight.module.css.js.map +0 -1
  55. package/esm/src/mantine-code-highlight/src/CodeHighlight.theme.module.css.js +0 -4
  56. package/esm/src/mantine-code-highlight/src/CodeHighlight.theme.module.css.js.map +0 -1
  57. package/esm/src/mantine-code-highlight/src/CodeHighlightTabs.js +0 -80
  58. package/esm/src/mantine-code-highlight/src/CodeHighlightTabs.js.map +0 -1
  59. package/esm/src/mantine-code-highlight/src/CopyIcon.js +0 -17
  60. package/esm/src/mantine-code-highlight/src/CopyIcon.js.map +0 -1
  61. package/esm/src/mantine-code-highlight/src/ExpandIcon.js +0 -23
  62. package/esm/src/mantine-code-highlight/src/ExpandIcon.js.map +0 -1
  63. package/esm/src/mantine-code-highlight/src/FileIcon.js +0 -14
  64. package/esm/src/mantine-code-highlight/src/FileIcon.js.map +0 -1
  65. package/esm/src/mantine-code-highlight/src/InlineCodeHighlight.js +0 -33
  66. package/esm/src/mantine-code-highlight/src/InlineCodeHighlight.js.map +0 -1
  67. package/esm/src/mantine-code-highlight/src/index.js +0 -4
  68. package/esm/src/mantine-code-highlight/src/index.js.map +0 -1
  69. package/esm/src/mantine-code-highlight/src/use-highlight.js +0 -21
  70. package/esm/src/mantine-code-highlight/src/use-highlight.js.map +0 -1
@@ -2,7 +2,6 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var tslib = require('tslib');
6
5
  var React = require('react');
7
6
  var cx = require('clsx');
8
7
  var core = require('@mantine/core');
@@ -16,40 +15,93 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
16
15
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
17
16
  var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
18
17
 
19
- const classes = Object.assign(Object.assign({}, CodeHighlight_module['default']), { root: cx__default(CodeHighlight_module['default'].root, CodeHighlight_theme_module['default'].theme) });
18
+ var __defProp = Object.defineProperty;
19
+ var __defProps = Object.defineProperties;
20
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
21
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
22
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
23
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
24
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
25
+ var __spreadValues = (a, b) => {
26
+ for (var prop in b || (b = {}))
27
+ if (__hasOwnProp.call(b, prop))
28
+ __defNormalProp(a, prop, b[prop]);
29
+ if (__getOwnPropSymbols)
30
+ for (var prop of __getOwnPropSymbols(b)) {
31
+ if (__propIsEnum.call(b, prop))
32
+ __defNormalProp(a, prop, b[prop]);
33
+ }
34
+ return a;
35
+ };
36
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
37
+ var __objRest = (source, exclude) => {
38
+ var target = {};
39
+ for (var prop in source)
40
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
41
+ target[prop] = source[prop];
42
+ if (source != null && __getOwnPropSymbols)
43
+ for (var prop of __getOwnPropSymbols(source)) {
44
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
45
+ target[prop] = source[prop];
46
+ }
47
+ return target;
48
+ };
49
+ const classes = __spreadProps(__spreadValues({}, CodeHighlight_module['default']), { root: cx__default(CodeHighlight_module['default'].root, CodeHighlight_theme_module['default'].theme) });
20
50
  const defaultProps = {
21
- copyLabel: 'Copy code',
22
- copiedLabel: 'Copied',
23
- language: 'tsx',
24
- withCopyButton: true,
51
+ copyLabel: "Copy code",
52
+ copiedLabel: "Copied",
53
+ language: "tsx",
54
+ withCopyButton: true
25
55
  };
26
56
  const CodeHighlight = core.factory((_props, ref) => {
27
- const props = core.useProps('CodeHighlight', defaultProps, _props);
28
- const { classNames, className, style, styles, unstyled, vars, children, code, copiedLabel, copyLabel, language, withCopyButton, highlightOnClient } = props, others = tslib.__rest(props, ["classNames", "className", "style", "styles", "unstyled", "vars", "children", "code", "copiedLabel", "copyLabel", "language", "withCopyButton", "highlightOnClient"]);
29
- const getStyles = core.useStyles({
30
- name: 'CodeHighlight',
31
- props,
32
- classes,
33
- className,
34
- style,
35
- classNames,
36
- styles,
37
- unstyled,
38
- });
39
- const getCodeProps = useHighlight.useHighlight({
40
- code,
41
- language: language,
42
- highlightOnClient,
43
- });
44
- return (React__default.createElement(core.Box, Object.assign({}, getStyles('root'), { ref: ref }, others, { dir: "ltr" }),
45
- withCopyButton && (React__default.createElement(core.CopyButton, { value: code.trim() }, ({ copied, copy }) => (React__default.createElement(core.Tooltip, { label: copied ? copiedLabel : copyLabel, fz: "sm", position: "left" },
46
- React__default.createElement(core.ActionIcon, Object.assign({ onClick: copy, variant: "none" }, getStyles('copy')),
47
- React__default.createElement(CopyIcon.CopyIcon, { copied: copied })))))),
48
- React__default.createElement(core.ScrollArea, { type: "auto", dir: "ltr", offsetScrollbars: false },
49
- React__default.createElement("pre", Object.assign({}, getStyles('pre')),
50
- React__default.createElement("code", Object.assign({}, getStyles('code'), getCodeProps()))))));
57
+ const props = core.useProps("CodeHighlight", defaultProps, _props);
58
+ const _a = props, {
59
+ classNames,
60
+ className,
61
+ style,
62
+ styles,
63
+ unstyled,
64
+ vars,
65
+ children,
66
+ code,
67
+ copiedLabel,
68
+ copyLabel,
69
+ language,
70
+ withCopyButton,
71
+ highlightOnClient
72
+ } = _a, others = __objRest(_a, [
73
+ "classNames",
74
+ "className",
75
+ "style",
76
+ "styles",
77
+ "unstyled",
78
+ "vars",
79
+ "children",
80
+ "code",
81
+ "copiedLabel",
82
+ "copyLabel",
83
+ "language",
84
+ "withCopyButton",
85
+ "highlightOnClient"
86
+ ]);
87
+ const getStyles = core.useStyles({
88
+ name: "CodeHighlight",
89
+ props,
90
+ classes,
91
+ className,
92
+ style,
93
+ classNames,
94
+ styles,
95
+ unstyled
96
+ });
97
+ const getCodeProps = useHighlight.useHighlight({
98
+ code,
99
+ language,
100
+ highlightOnClient
101
+ });
102
+ return /* @__PURE__ */ React__default.createElement(core.Box, __spreadProps(__spreadValues(__spreadProps(__spreadValues({}, getStyles("root")), { ref }), others), { dir: "ltr" }), withCopyButton && /* @__PURE__ */ React__default.createElement(core.CopyButton, { value: code.trim() }, ({ copied, copy }) => /* @__PURE__ */ React__default.createElement(core.Tooltip, { label: copied ? copiedLabel : copyLabel, fz: "sm", position: "left" }, /* @__PURE__ */ React__default.createElement(core.ActionIcon, __spreadValues({ onClick: copy, variant: "none" }, getStyles("copy")), /* @__PURE__ */ React__default.createElement(CopyIcon.CopyIcon, { copied })))), /* @__PURE__ */ React__default.createElement(core.ScrollArea, { type: "auto", dir: "ltr", offsetScrollbars: false }, /* @__PURE__ */ React__default.createElement("pre", __spreadValues({}, getStyles("pre")), /* @__PURE__ */ React__default.createElement("code", __spreadValues(__spreadValues({}, getStyles("code")), getCodeProps())))));
51
103
  });
52
- CodeHighlight.displayName = '@mantine/core/CodeHighlight';
104
+ CodeHighlight.displayName = "@mantine/core/CodeHighlight";
53
105
 
54
106
  exports.CodeHighlight = CodeHighlight;
55
107
  //# sourceMappingURL=CodeHighlight.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CodeHighlight.js","sources":["../src/CodeHighlight.tsx"],"sourcesContent":["import React from 'react';\nimport cx from 'clsx';\nimport {\n Box,\n BoxProps,\n StylesApiProps,\n factory,\n ElementProps,\n useProps,\n useStyles,\n CopyButton,\n Tooltip,\n ActionIcon,\n ScrollArea,\n Factory,\n} from '@mantine/core';\nimport { useHighlight } from './use-highlight';\nimport { CopyIcon } from './CopyIcon';\nimport _classes from './CodeHighlight.module.css';\nimport themeClasses from './CodeHighlight.theme.module.css';\n\nconst classes = { ..._classes, root: cx(_classes.root, themeClasses.theme) };\n\nexport type CodeHighlightStylesNames = 'root' | 'code' | 'pre' | 'copy';\nexport type CodeHighlightVariant = string;\n\nexport interface CodeHighlightProps\n extends BoxProps,\n StylesApiProps<CodeHighlightFactory>,\n ElementProps<'div'> {\n /** Code to highlight */\n code: string;\n\n /** Code language, `'tsx'` by default */\n language?: string;\n\n /** Determines whether copy button should be displayed, `true` by default */\n withCopyButton?: boolean;\n\n /** Copy tooltip label, `'Copy code'` by default */\n copyLabel?: string;\n\n /** Copied tooltip label, `'Copied'` by default */\n copiedLabel?: string;\n\n /** Determines whether code should be highlighted only after component is mounted to the dom (disables code highlight on server), `false` by default */\n highlightOnClient?: boolean;\n}\n\nexport type CodeHighlightFactory = Factory<{\n props: CodeHighlightProps;\n ref: HTMLDivElement;\n stylesNames: CodeHighlightStylesNames;\n variant: CodeHighlightVariant;\n}>;\n\nconst defaultProps: Partial<CodeHighlightProps> = {\n copyLabel: 'Copy code',\n copiedLabel: 'Copied',\n language: 'tsx',\n withCopyButton: true,\n};\n\nexport const CodeHighlight = factory<CodeHighlightFactory>((_props, ref) => {\n const props = useProps('CodeHighlight', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n children,\n code,\n copiedLabel,\n copyLabel,\n language,\n withCopyButton,\n highlightOnClient,\n ...others\n } = props;\n\n const getStyles = useStyles<CodeHighlightFactory>({\n name: 'CodeHighlight',\n props,\n classes,\n className,\n style,\n classNames,\n styles,\n unstyled,\n });\n\n const getCodeProps = useHighlight({\n code,\n language: language!,\n highlightOnClient,\n });\n\n return (\n <Box {...getStyles('root')} ref={ref} {...others} dir=\"ltr\">\n {withCopyButton && (\n <CopyButton value={code.trim()}>\n {({ copied, copy }) => (\n <Tooltip label={copied ? copiedLabel : copyLabel} fz=\"sm\" position=\"left\">\n <ActionIcon onClick={copy} variant=\"none\" {...getStyles('copy')}>\n <CopyIcon copied={copied} />\n </ActionIcon>\n </Tooltip>\n )}\n </CopyButton>\n )}\n\n <ScrollArea type=\"auto\" dir=\"ltr\" offsetScrollbars={false}>\n <pre {...getStyles('pre')}>\n <code {...getStyles('code')} {...getCodeProps()} />\n </pre>\n </ScrollArea>\n </Box>\n );\n});\n\nCodeHighlight.displayName = '@mantine/core/CodeHighlight';\n"],"names":["_classes","cx","themeClasses","factory","useProps","useStyles","useHighlight","React","Box","CopyButton","Tooltip","ActionIcon","CopyIcon","ScrollArea"],"mappings":";;;;;;;;;;;;;;;;;;AAqBA,MAAM,OAAO,mCAAQA,+BAAQ,KAAE,IAAI,EAAEC,WAAE,CAACD,+BAAQ,CAAC,IAAI,EAAEE,qCAAY,CAAC,KAAK,CAAC,GAAE,CAAC;AAmC7E,MAAM,YAAY,GAAgC;IAChD,SAAS,EAAE,WAAW;IACtB,WAAW,EAAE,QAAQ;IACrB,QAAQ,EAAE,KAAK;IACf,cAAc,EAAE,IAAI;CACrB,CAAC;MAEW,aAAa,GAAGC,YAAO,CAAuB,CAAC,MAAM,EAAE,GAAG;IACrE,MAAM,KAAK,GAAGC,aAAQ,CAAC,eAAe,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;IAC9D,MAAM,EACJ,UAAU,EACV,SAAS,EACT,KAAK,EACL,MAAM,EACN,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,IAAI,EACJ,WAAW,EACX,SAAS,EACT,QAAQ,EACR,cAAc,EACd,iBAAiB,KAEf,KAAK,EADJ,MAAM,gBACP,KAAK,EAfH,qKAeL,CAAQ,CAAC;IAEV,MAAM,SAAS,GAAGC,cAAS,CAAuB;QAChD,IAAI,EAAE,eAAe;QACrB,KAAK;QACL,OAAO;QACP,SAAS;QACT,KAAK;QACL,UAAU;QACV,MAAM;QACN,QAAQ;KACT,CAAC,CAAC;IAEH,MAAM,YAAY,GAAGC,yBAAY,CAAC;QAChC,IAAI;QACJ,QAAQ,EAAE,QAAS;QACnB,iBAAiB;KAClB,CAAC,CAAC;IAEH,QACEC,6BAACC,QAAG,oBAAK,SAAS,CAAC,MAAM,CAAC,IAAE,GAAG,EAAE,GAAG,IAAM,MAAM,IAAE,GAAG,EAAC,KAAK;QACxD,cAAc,KACbD,6BAACE,eAAU,IAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,IAC3B,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAChBF,6BAACG,YAAO,IAAC,KAAK,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,EAAE,EAAE,EAAC,IAAI,EAAC,QAAQ,EAAC,MAAM;YACvEH,6BAACI,eAAU,kBAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAC,MAAM,IAAK,SAAS,CAAC,MAAM,CAAC;gBAC7DJ,6BAACK,iBAAQ,IAAC,MAAM,EAAE,MAAM,GAAI,CACjB,CACL,CACX,CACU,CACd;QAEDL,6BAACM,eAAU,IAAC,IAAI,EAAC,MAAM,EAAC,GAAG,EAAC,KAAK,EAAC,gBAAgB,EAAE,KAAK;YACvDN,sDAAS,SAAS,CAAC,KAAK,CAAC;gBACvBA,uDAAU,SAAS,CAAC,MAAM,CAAC,EAAM,YAAY,EAAE,EAAI,CAC/C,CACK,CACT,EACN;AACJ,CAAC,EAAE;AAEH,aAAa,CAAC,WAAW,GAAG,6BAA6B;;;;"}
1
+ {"version":3,"file":"CodeHighlight.js","sources":["../src/CodeHighlight.tsx"],"sourcesContent":["import React from 'react';\nimport cx from 'clsx';\nimport {\n Box,\n BoxProps,\n StylesApiProps,\n factory,\n ElementProps,\n useProps,\n useStyles,\n CopyButton,\n Tooltip,\n ActionIcon,\n ScrollArea,\n Factory,\n} from '@mantine/core';\nimport { useHighlight } from './use-highlight';\nimport { CopyIcon } from './CopyIcon';\nimport _classes from './CodeHighlight.module.css';\nimport themeClasses from './CodeHighlight.theme.module.css';\n\nconst classes = { ..._classes, root: cx(_classes.root, themeClasses.theme) };\n\nexport type CodeHighlightStylesNames = 'root' | 'code' | 'pre' | 'copy';\nexport type CodeHighlightVariant = string;\n\nexport interface CodeHighlightProps\n extends BoxProps,\n StylesApiProps<CodeHighlightFactory>,\n ElementProps<'div'> {\n /** Code to highlight */\n code: string;\n\n /** Code language, `'tsx'` by default */\n language?: string;\n\n /** Determines whether copy button should be displayed, `true` by default */\n withCopyButton?: boolean;\n\n /** Copy tooltip label, `'Copy code'` by default */\n copyLabel?: string;\n\n /** Copied tooltip label, `'Copied'` by default */\n copiedLabel?: string;\n\n /** Determines whether code should be highlighted only after component is mounted to the dom (disables code highlight on server), `false` by default */\n highlightOnClient?: boolean;\n}\n\nexport type CodeHighlightFactory = Factory<{\n props: CodeHighlightProps;\n ref: HTMLDivElement;\n stylesNames: CodeHighlightStylesNames;\n variant: CodeHighlightVariant;\n}>;\n\nconst defaultProps: Partial<CodeHighlightProps> = {\n copyLabel: 'Copy code',\n copiedLabel: 'Copied',\n language: 'tsx',\n withCopyButton: true,\n};\n\nexport const CodeHighlight = factory<CodeHighlightFactory>((_props, ref) => {\n const props = useProps('CodeHighlight', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n children,\n code,\n copiedLabel,\n copyLabel,\n language,\n withCopyButton,\n highlightOnClient,\n ...others\n } = props;\n\n const getStyles = useStyles<CodeHighlightFactory>({\n name: 'CodeHighlight',\n props,\n classes,\n className,\n style,\n classNames,\n styles,\n unstyled,\n });\n\n const getCodeProps = useHighlight({\n code,\n language: language!,\n highlightOnClient,\n });\n\n return (\n <Box {...getStyles('root')} ref={ref} {...others} dir=\"ltr\">\n {withCopyButton && (\n <CopyButton value={code.trim()}>\n {({ copied, copy }) => (\n <Tooltip label={copied ? copiedLabel : copyLabel} fz=\"sm\" position=\"left\">\n <ActionIcon onClick={copy} variant=\"none\" {...getStyles('copy')}>\n <CopyIcon copied={copied} />\n </ActionIcon>\n </Tooltip>\n )}\n </CopyButton>\n )}\n\n <ScrollArea type=\"auto\" dir=\"ltr\" offsetScrollbars={false}>\n <pre {...getStyles('pre')}>\n <code {...getStyles('code')} {...getCodeProps()} />\n </pre>\n </ScrollArea>\n </Box>\n );\n});\n\nCodeHighlight.displayName = '@mantine/core/CodeHighlight';\n"],"names":["_classes","cx","themeClasses","factory","useProps","useStyles","useHighlight","React","Box","CopyButton","Tooltip","ActionIcon","CopyIcon","ScrollArea"],"mappings":"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"}
@@ -2,7 +2,6 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var tslib = require('tslib');
6
5
  var React = require('react');
7
6
  var hljs = require('highlight.js');
8
7
  var cx = require('clsx');
@@ -20,71 +19,162 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
20
19
  var hljs__default = /*#__PURE__*/_interopDefaultLegacy(hljs);
21
20
  var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
22
21
 
23
- const classes = Object.assign(Object.assign({}, CodeHighlight_module['default']), { root: cx__default(CodeHighlight_module['default'].root, CodeHighlight_theme_module['default'].theme) });
22
+ var __defProp = Object.defineProperty;
23
+ var __defProps = Object.defineProperties;
24
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
25
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
26
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
27
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
28
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
29
+ var __spreadValues = (a, b) => {
30
+ for (var prop in b || (b = {}))
31
+ if (__hasOwnProp.call(b, prop))
32
+ __defNormalProp(a, prop, b[prop]);
33
+ if (__getOwnPropSymbols)
34
+ for (var prop of __getOwnPropSymbols(b)) {
35
+ if (__propIsEnum.call(b, prop))
36
+ __defNormalProp(a, prop, b[prop]);
37
+ }
38
+ return a;
39
+ };
40
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
41
+ var __objRest = (source, exclude) => {
42
+ var target = {};
43
+ for (var prop in source)
44
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
45
+ target[prop] = source[prop];
46
+ if (source != null && __getOwnPropSymbols)
47
+ for (var prop of __getOwnPropSymbols(source)) {
48
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
49
+ target[prop] = source[prop];
50
+ }
51
+ return target;
52
+ };
53
+ const classes = __spreadProps(__spreadValues({}, CodeHighlight_module['default']), { root: cx__default(CodeHighlight_module['default'].root, CodeHighlight_theme_module['default'].theme) });
24
54
  const defaultProps = {
25
- withHeader: true,
26
- copyLabel: 'Copy code',
27
- copiedLabel: 'Copied',
28
- maxCollapsedHeight: core.rem('8rem'),
29
- expandCodeLabel: 'Expand code',
30
- collapseCodeLabel: 'Collapse code',
55
+ withHeader: true,
56
+ copyLabel: "Copy code",
57
+ copiedLabel: "Copied",
58
+ maxCollapsedHeight: core.rem("8rem"),
59
+ expandCodeLabel: "Expand code",
60
+ collapseCodeLabel: "Collapse code"
31
61
  };
32
62
  const varsResolver = core.createVarsResolver((_, { maxCollapsedHeight }) => ({
33
- root: { '--ch-max-collapsed-height': core.rem(maxCollapsedHeight) },
63
+ root: { "--ch-max-collapsed-height": core.rem(maxCollapsedHeight) }
34
64
  }));
35
65
  const CodeHighlightTabs = core.factory((_props, ref) => {
36
- const props = core.useProps('CodeHighlightTabs', defaultProps, _props);
37
- const { classNames, className, style, styles, unstyled, vars, children, code, defaultActiveTab, activeTab, onTabChange, withHeader, copiedLabel, copyLabel, getFileIcon, maxCollapsedHeight, expanded, defaultExpanded, onExpandedChange, expandCodeLabel, collapseCodeLabel, withExpandButton } = props, others = tslib.__rest(props, ["classNames", "className", "style", "styles", "unstyled", "vars", "children", "code", "defaultActiveTab", "activeTab", "onTabChange", "withHeader", "copiedLabel", "copyLabel", "getFileIcon", "maxCollapsedHeight", "expanded", "defaultExpanded", "onExpandedChange", "expandCodeLabel", "collapseCodeLabel", "withExpandButton"]);
38
- const getStyles = core.useStyles({
39
- name: 'CodeHighlightTabs',
40
- props,
41
- classes,
42
- className,
43
- style,
44
- classNames,
45
- styles,
46
- unstyled,
47
- vars,
48
- varsResolver,
49
- });
50
- const [value, setValue] = hooks.useUncontrolled({
51
- defaultValue: defaultActiveTab,
52
- value: activeTab,
53
- finalValue: 0,
54
- onChange: onTabChange,
55
- });
56
- const [_expanded, setExpanded] = hooks.useUncontrolled({
57
- defaultValue: defaultExpanded,
58
- value: expanded,
59
- finalValue: true,
60
- onChange: onExpandedChange,
61
- });
62
- const nodes = Array.isArray(code) ? code : [code];
63
- const currentCode = nodes[value];
64
- const highlighted = hljs__default.highlight(currentCode.code.trim(), {
65
- language: currentCode.language,
66
- }).value;
67
- const files = nodes.map((node, index) => (React__default.createElement(core.UnstyledButton, Object.assign({}, getStyles('file'), { key: node.fileName, mod: { active: index === value }, onClick: () => setValue(index) }),
68
- React__default.createElement(FileIcon.FileIcon, { fileIcon: node.icon, getFileIcon: getFileIcon, fileName: node.fileName }),
69
- React__default.createElement("span", null, node.fileName))));
70
- return (React__default.createElement(core.Box, Object.assign({}, getStyles('root'), { ref: ref }, others, { dir: "ltr" }),
71
- withHeader && (React__default.createElement("div", Object.assign({}, getStyles('header')),
72
- React__default.createElement(core.ScrollArea, { type: "never", dir: "ltr", offsetScrollbars: false },
73
- React__default.createElement("div", Object.assign({}, getStyles('files')), files)),
74
- React__default.createElement("div", Object.assign({}, getStyles('controls')),
75
- withExpandButton && (React__default.createElement(core.Tooltip, { label: _expanded ? collapseCodeLabel : expandCodeLabel, fz: "sm", position: "left" },
76
- React__default.createElement(core.ActionIcon, Object.assign({ onClick: () => setExpanded(!_expanded), variant: "none" }, getStyles('control')),
77
- React__default.createElement(ExpandIcon.ExpandIcon, { expanded: _expanded })))),
78
- React__default.createElement(core.CopyButton, { value: currentCode.code.trim() }, ({ copied, copy }) => (React__default.createElement(core.Tooltip, { label: copied ? copiedLabel : copyLabel, fz: "sm", position: "left" },
79
- React__default.createElement(core.ActionIcon, Object.assign({ onClick: copy, variant: "none" }, getStyles('control')),
80
- React__default.createElement(CopyIcon.CopyIcon, { copied: copied })))))))),
81
- React__default.createElement(core.ScrollArea, { type: "auto", dir: "ltr", offsetScrollbars: false },
82
- React__default.createElement(core.Box, Object.assign({}, getStyles('codeWrapper'), { mod: { expanded: _expanded } }),
83
- React__default.createElement("pre", Object.assign({}, getStyles('pre')),
84
- React__default.createElement("code", Object.assign({}, getStyles('code'), { dangerouslySetInnerHTML: { __html: highlighted } }))))),
85
- React__default.createElement(core.UnstyledButton, Object.assign({}, getStyles('showCodeButton'), { mod: { hidden: _expanded }, onClick: () => setExpanded(true) }), "Expand code")));
66
+ const props = core.useProps("CodeHighlightTabs", defaultProps, _props);
67
+ const _a = props, {
68
+ classNames,
69
+ className,
70
+ style,
71
+ styles,
72
+ unstyled,
73
+ vars,
74
+ children,
75
+ code,
76
+ defaultActiveTab,
77
+ activeTab,
78
+ onTabChange,
79
+ withHeader,
80
+ copiedLabel,
81
+ copyLabel,
82
+ getFileIcon,
83
+ maxCollapsedHeight,
84
+ expanded,
85
+ defaultExpanded,
86
+ onExpandedChange,
87
+ expandCodeLabel,
88
+ collapseCodeLabel,
89
+ withExpandButton
90
+ } = _a, others = __objRest(_a, [
91
+ "classNames",
92
+ "className",
93
+ "style",
94
+ "styles",
95
+ "unstyled",
96
+ "vars",
97
+ "children",
98
+ "code",
99
+ "defaultActiveTab",
100
+ "activeTab",
101
+ "onTabChange",
102
+ "withHeader",
103
+ "copiedLabel",
104
+ "copyLabel",
105
+ "getFileIcon",
106
+ "maxCollapsedHeight",
107
+ "expanded",
108
+ "defaultExpanded",
109
+ "onExpandedChange",
110
+ "expandCodeLabel",
111
+ "collapseCodeLabel",
112
+ "withExpandButton"
113
+ ]);
114
+ const getStyles = core.useStyles({
115
+ name: "CodeHighlightTabs",
116
+ props,
117
+ classes,
118
+ className,
119
+ style,
120
+ classNames,
121
+ styles,
122
+ unstyled,
123
+ vars,
124
+ varsResolver
125
+ });
126
+ const [value, setValue] = hooks.useUncontrolled({
127
+ defaultValue: defaultActiveTab,
128
+ value: activeTab,
129
+ finalValue: 0,
130
+ onChange: onTabChange
131
+ });
132
+ const [_expanded, setExpanded] = hooks.useUncontrolled({
133
+ defaultValue: defaultExpanded,
134
+ value: expanded,
135
+ finalValue: true,
136
+ onChange: onExpandedChange
137
+ });
138
+ const nodes = Array.isArray(code) ? code : [code];
139
+ const currentCode = nodes[value];
140
+ const highlighted = hljs__default.highlight(currentCode.code.trim(), {
141
+ language: currentCode.language
142
+ }).value;
143
+ const files = nodes.map((node, index) => /* @__PURE__ */ React__default.createElement(
144
+ core.UnstyledButton,
145
+ __spreadProps(__spreadValues({}, getStyles("file")), {
146
+ key: node.fileName,
147
+ mod: { active: index === value },
148
+ onClick: () => setValue(index)
149
+ }),
150
+ /* @__PURE__ */ React__default.createElement(FileIcon.FileIcon, { fileIcon: node.icon, getFileIcon, fileName: node.fileName }),
151
+ /* @__PURE__ */ React__default.createElement("span", null, node.fileName)
152
+ ));
153
+ return /* @__PURE__ */ React__default.createElement(core.Box, __spreadProps(__spreadValues(__spreadProps(__spreadValues({}, getStyles("root")), { ref }), others), { dir: "ltr" }), withHeader && /* @__PURE__ */ React__default.createElement("div", __spreadValues({}, getStyles("header")), /* @__PURE__ */ React__default.createElement(core.ScrollArea, { type: "never", dir: "ltr", offsetScrollbars: false }, /* @__PURE__ */ React__default.createElement("div", __spreadValues({}, getStyles("files")), files)), /* @__PURE__ */ React__default.createElement("div", __spreadValues({}, getStyles("controls")), withExpandButton && /* @__PURE__ */ React__default.createElement(
154
+ core.Tooltip,
155
+ {
156
+ label: _expanded ? collapseCodeLabel : expandCodeLabel,
157
+ fz: "sm",
158
+ position: "left"
159
+ },
160
+ /* @__PURE__ */ React__default.createElement(
161
+ core.ActionIcon,
162
+ __spreadValues({
163
+ onClick: () => setExpanded(!_expanded),
164
+ variant: "none"
165
+ }, getStyles("control")),
166
+ /* @__PURE__ */ React__default.createElement(ExpandIcon.ExpandIcon, { expanded: _expanded })
167
+ )
168
+ ), /* @__PURE__ */ React__default.createElement(core.CopyButton, { value: currentCode.code.trim() }, ({ copied, copy }) => /* @__PURE__ */ React__default.createElement(core.Tooltip, { label: copied ? copiedLabel : copyLabel, fz: "sm", position: "left" }, /* @__PURE__ */ React__default.createElement(core.ActionIcon, __spreadValues({ onClick: copy, variant: "none" }, getStyles("control")), /* @__PURE__ */ React__default.createElement(CopyIcon.CopyIcon, { copied })))))), /* @__PURE__ */ React__default.createElement(core.ScrollArea, { type: "auto", dir: "ltr", offsetScrollbars: false }, /* @__PURE__ */ React__default.createElement(core.Box, __spreadProps(__spreadValues({}, getStyles("codeWrapper")), { mod: { expanded: _expanded } }), /* @__PURE__ */ React__default.createElement("pre", __spreadValues({}, getStyles("pre")), /* @__PURE__ */ React__default.createElement("code", __spreadProps(__spreadValues({}, getStyles("code")), { dangerouslySetInnerHTML: { __html: highlighted } }))))), /* @__PURE__ */ React__default.createElement(
169
+ core.UnstyledButton,
170
+ __spreadProps(__spreadValues({}, getStyles("showCodeButton")), {
171
+ mod: { hidden: _expanded },
172
+ onClick: () => setExpanded(true)
173
+ }),
174
+ "Expand code"
175
+ ));
86
176
  });
87
- CodeHighlightTabs.displayName = '@mantine/core/CodeHighlightTabs';
177
+ CodeHighlightTabs.displayName = "@mantine/core/CodeHighlightTabs";
88
178
 
89
179
  exports.CodeHighlightTabs = CodeHighlightTabs;
90
180
  //# sourceMappingURL=CodeHighlightTabs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CodeHighlightTabs.js","sources":["../src/CodeHighlightTabs.tsx"],"sourcesContent":["import React from 'react';\nimport hljs from 'highlight.js';\nimport cx from 'clsx';\nimport { useUncontrolled } from '@mantine/hooks';\nimport {\n Box,\n BoxProps,\n StylesApiProps,\n factory,\n ElementProps,\n useProps,\n useStyles,\n CopyButton,\n Tooltip,\n ActionIcon,\n UnstyledButton,\n ScrollArea,\n createVarsResolver,\n rem,\n Factory,\n} from '@mantine/core';\nimport { CopyIcon } from './CopyIcon';\nimport { FileIcon } from './FileIcon';\nimport { ExpandIcon } from './ExpandIcon';\nimport _classes from './CodeHighlight.module.css';\nimport themeClasses from './CodeHighlight.theme.module.css';\n\nconst classes = { ..._classes, root: cx(_classes.root, themeClasses.theme) };\n\nexport type CodeHighlightTabsStylesNames =\n | 'root'\n | 'code'\n | 'codeWrapper'\n | 'showCodeButton'\n | 'pre'\n | 'controls'\n | 'control'\n | 'header'\n | 'file'\n | 'files';\n\nexport type CodeHighlightTabsVariant = string;\nexport type CodeHighlightTabsCssVariables = {\n root: '--ch-max-collapsed-height';\n};\n\nexport interface CodeHighlightTabsCode {\n language?: string;\n code: string;\n fileName?: string;\n icon?: React.ReactNode;\n}\n\nexport interface CodeHighlightTabsProps\n extends BoxProps,\n StylesApiProps<CodeHighlightTabsFactory>,\n ElementProps<'div'> {\n /** Code to highlight with meta data (file name and icon) */\n code: CodeHighlightTabsCode | CodeHighlightTabsCode[];\n\n /** Default active tab index */\n defaultActiveTab?: number;\n\n /** Index of controlled active tab state */\n activeTab?: number;\n\n /** Called when tab changes */\n onTabChange?(tab: number): void;\n\n /** Determines whether header with file names and copy button should be rendered, `true` by default */\n withHeader?: boolean;\n\n /** Copy tooltip label, `'Copy code'` by default */\n copyLabel?: string;\n\n /** Copied tooltip label, `'Copied'` by default */\n copiedLabel?: string;\n\n /** Function that returns icon based on file name */\n getFileIcon?(fileName: string): React.ReactNode;\n\n /** `max-height` of code in collapsed state */\n maxCollapsedHeight?: React.CSSProperties['maxHeight'];\n\n /** Controlled expanded state */\n expanded?: boolean;\n\n /** Uncontrolled expanded state initial value */\n defaultExpanded?: boolean;\n\n /** Called when expanded state changes */\n onExpandedChange?(expanded: boolean): void;\n\n /** Expand button label and tooltip, `'Expand code'` by default */\n expandCodeLabel?: string;\n\n /** Collapse button label and tooltip, `'Collapse code'` by default */\n collapseCodeLabel?: string;\n\n /** Determines whether to show the expand button, `false` by default */\n withExpandButton?: boolean;\n}\n\nexport type CodeHighlightTabsFactory = Factory<{\n props: CodeHighlightTabsProps;\n ref: HTMLDivElement;\n stylesNames: CodeHighlightTabsStylesNames;\n}>;\n\nconst defaultProps: Partial<CodeHighlightTabsProps> = {\n withHeader: true,\n copyLabel: 'Copy code',\n copiedLabel: 'Copied',\n maxCollapsedHeight: rem('8rem'),\n expandCodeLabel: 'Expand code',\n collapseCodeLabel: 'Collapse code',\n};\n\nconst varsResolver = createVarsResolver<CodeHighlightTabsFactory>((_, { maxCollapsedHeight }) => ({\n root: { '--ch-max-collapsed-height': rem(maxCollapsedHeight) },\n}));\n\nexport const CodeHighlightTabs = factory<CodeHighlightTabsFactory>((_props, ref) => {\n const props = useProps('CodeHighlightTabs', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n children,\n code,\n defaultActiveTab,\n activeTab,\n onTabChange,\n withHeader,\n copiedLabel,\n copyLabel,\n getFileIcon,\n maxCollapsedHeight,\n expanded,\n defaultExpanded,\n onExpandedChange,\n expandCodeLabel,\n collapseCodeLabel,\n withExpandButton,\n ...others\n } = props;\n\n const getStyles = useStyles<CodeHighlightTabsFactory>({\n name: 'CodeHighlightTabs',\n props,\n classes,\n className,\n style,\n classNames,\n styles,\n unstyled,\n vars,\n varsResolver,\n });\n\n const [value, setValue] = useUncontrolled({\n defaultValue: defaultActiveTab,\n value: activeTab,\n finalValue: 0,\n onChange: onTabChange,\n });\n\n const [_expanded, setExpanded] = useUncontrolled({\n defaultValue: defaultExpanded,\n value: expanded,\n finalValue: true,\n onChange: onExpandedChange,\n });\n\n const nodes = Array.isArray(code) ? code : [code];\n const currentCode = nodes[value];\n\n const highlighted = hljs.highlight(currentCode.code.trim(), {\n language: currentCode.language!,\n }).value;\n\n const files = nodes.map((node, index) => (\n <UnstyledButton\n {...getStyles('file')}\n key={node.fileName}\n mod={{ active: index === value }}\n onClick={() => setValue(index)}\n >\n <FileIcon fileIcon={node.icon} getFileIcon={getFileIcon} fileName={node.fileName} />\n <span>{node.fileName}</span>\n </UnstyledButton>\n ));\n\n return (\n <Box {...getStyles('root')} ref={ref} {...others} dir=\"ltr\">\n {withHeader && (\n <div {...getStyles('header')}>\n <ScrollArea type=\"never\" dir=\"ltr\" offsetScrollbars={false}>\n <div {...getStyles('files')}>{files}</div>\n </ScrollArea>\n <div {...getStyles('controls')}>\n {withExpandButton && (\n <Tooltip\n label={_expanded ? collapseCodeLabel : expandCodeLabel}\n fz=\"sm\"\n position=\"left\"\n >\n <ActionIcon\n onClick={() => setExpanded(!_expanded)}\n variant=\"none\"\n {...getStyles('control')}\n >\n <ExpandIcon expanded={_expanded} />\n </ActionIcon>\n </Tooltip>\n )}\n\n <CopyButton value={currentCode.code.trim()}>\n {({ copied, copy }) => (\n <Tooltip label={copied ? copiedLabel : copyLabel} fz=\"sm\" position=\"left\">\n <ActionIcon onClick={copy} variant=\"none\" {...getStyles('control')}>\n <CopyIcon copied={copied} />\n </ActionIcon>\n </Tooltip>\n )}\n </CopyButton>\n </div>\n </div>\n )}\n\n <ScrollArea type=\"auto\" dir=\"ltr\" offsetScrollbars={false}>\n <Box {...getStyles('codeWrapper')} mod={{ expanded: _expanded }}>\n <pre {...getStyles('pre')}>\n <code {...getStyles('code')} dangerouslySetInnerHTML={{ __html: highlighted }} />\n </pre>\n </Box>\n </ScrollArea>\n <UnstyledButton\n {...getStyles('showCodeButton')}\n mod={{ hidden: _expanded }}\n onClick={() => setExpanded(true)}\n >\n Expand code\n </UnstyledButton>\n </Box>\n );\n});\n\nCodeHighlightTabs.displayName = '@mantine/core/CodeHighlightTabs';\n"],"names":["_classes","cx","themeClasses","rem","createVarsResolver","factory","useProps","useStyles","useUncontrolled","hljs","React","UnstyledButton","FileIcon","Box","ScrollArea","Tooltip","ActionIcon","ExpandIcon","CopyButton","CopyIcon"],"mappings":"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"}
1
+ {"version":3,"file":"CodeHighlightTabs.js","sources":["../src/CodeHighlightTabs.tsx"],"sourcesContent":["import React from 'react';\nimport hljs from 'highlight.js';\nimport cx from 'clsx';\nimport { useUncontrolled } from '@mantine/hooks';\nimport {\n Box,\n BoxProps,\n StylesApiProps,\n factory,\n ElementProps,\n useProps,\n useStyles,\n CopyButton,\n Tooltip,\n ActionIcon,\n UnstyledButton,\n ScrollArea,\n createVarsResolver,\n rem,\n Factory,\n} from '@mantine/core';\nimport { CopyIcon } from './CopyIcon';\nimport { FileIcon } from './FileIcon';\nimport { ExpandIcon } from './ExpandIcon';\nimport _classes from './CodeHighlight.module.css';\nimport themeClasses from './CodeHighlight.theme.module.css';\n\nconst classes = { ..._classes, root: cx(_classes.root, themeClasses.theme) };\n\nexport type CodeHighlightTabsStylesNames =\n | 'root'\n | 'code'\n | 'codeWrapper'\n | 'showCodeButton'\n | 'pre'\n | 'controls'\n | 'control'\n | 'header'\n | 'file'\n | 'files';\n\nexport type CodeHighlightTabsVariant = string;\nexport type CodeHighlightTabsCssVariables = {\n root: '--ch-max-collapsed-height';\n};\n\nexport interface CodeHighlightTabsCode {\n language?: string;\n code: string;\n fileName?: string;\n icon?: React.ReactNode;\n}\n\nexport interface CodeHighlightTabsProps\n extends BoxProps,\n StylesApiProps<CodeHighlightTabsFactory>,\n ElementProps<'div'> {\n /** Code to highlight with meta data (file name and icon) */\n code: CodeHighlightTabsCode | CodeHighlightTabsCode[];\n\n /** Default active tab index */\n defaultActiveTab?: number;\n\n /** Index of controlled active tab state */\n activeTab?: number;\n\n /** Called when tab changes */\n onTabChange?(tab: number): void;\n\n /** Determines whether header with file names and copy button should be rendered, `true` by default */\n withHeader?: boolean;\n\n /** Copy tooltip label, `'Copy code'` by default */\n copyLabel?: string;\n\n /** Copied tooltip label, `'Copied'` by default */\n copiedLabel?: string;\n\n /** Function that returns icon based on file name */\n getFileIcon?(fileName: string): React.ReactNode;\n\n /** `max-height` of code in collapsed state */\n maxCollapsedHeight?: React.CSSProperties['maxHeight'];\n\n /** Controlled expanded state */\n expanded?: boolean;\n\n /** Uncontrolled expanded state initial value */\n defaultExpanded?: boolean;\n\n /** Called when expanded state changes */\n onExpandedChange?(expanded: boolean): void;\n\n /** Expand button label and tooltip, `'Expand code'` by default */\n expandCodeLabel?: string;\n\n /** Collapse button label and tooltip, `'Collapse code'` by default */\n collapseCodeLabel?: string;\n\n /** Determines whether to show the expand button, `false` by default */\n withExpandButton?: boolean;\n}\n\nexport type CodeHighlightTabsFactory = Factory<{\n props: CodeHighlightTabsProps;\n ref: HTMLDivElement;\n stylesNames: CodeHighlightTabsStylesNames;\n}>;\n\nconst defaultProps: Partial<CodeHighlightTabsProps> = {\n withHeader: true,\n copyLabel: 'Copy code',\n copiedLabel: 'Copied',\n maxCollapsedHeight: rem('8rem'),\n expandCodeLabel: 'Expand code',\n collapseCodeLabel: 'Collapse code',\n};\n\nconst varsResolver = createVarsResolver<CodeHighlightTabsFactory>((_, { maxCollapsedHeight }) => ({\n root: { '--ch-max-collapsed-height': rem(maxCollapsedHeight) },\n}));\n\nexport const CodeHighlightTabs = factory<CodeHighlightTabsFactory>((_props, ref) => {\n const props = useProps('CodeHighlightTabs', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n children,\n code,\n defaultActiveTab,\n activeTab,\n onTabChange,\n withHeader,\n copiedLabel,\n copyLabel,\n getFileIcon,\n maxCollapsedHeight,\n expanded,\n defaultExpanded,\n onExpandedChange,\n expandCodeLabel,\n collapseCodeLabel,\n withExpandButton,\n ...others\n } = props;\n\n const getStyles = useStyles<CodeHighlightTabsFactory>({\n name: 'CodeHighlightTabs',\n props,\n classes,\n className,\n style,\n classNames,\n styles,\n unstyled,\n vars,\n varsResolver,\n });\n\n const [value, setValue] = useUncontrolled({\n defaultValue: defaultActiveTab,\n value: activeTab,\n finalValue: 0,\n onChange: onTabChange,\n });\n\n const [_expanded, setExpanded] = useUncontrolled({\n defaultValue: defaultExpanded,\n value: expanded,\n finalValue: true,\n onChange: onExpandedChange,\n });\n\n const nodes = Array.isArray(code) ? code : [code];\n const currentCode = nodes[value];\n\n const highlighted = hljs.highlight(currentCode.code.trim(), {\n language: currentCode.language!,\n }).value;\n\n const files = nodes.map((node, index) => (\n <UnstyledButton\n {...getStyles('file')}\n key={node.fileName}\n mod={{ active: index === value }}\n onClick={() => setValue(index)}\n >\n <FileIcon fileIcon={node.icon} getFileIcon={getFileIcon} fileName={node.fileName} />\n <span>{node.fileName}</span>\n </UnstyledButton>\n ));\n\n return (\n <Box {...getStyles('root')} ref={ref} {...others} dir=\"ltr\">\n {withHeader && (\n <div {...getStyles('header')}>\n <ScrollArea type=\"never\" dir=\"ltr\" offsetScrollbars={false}>\n <div {...getStyles('files')}>{files}</div>\n </ScrollArea>\n <div {...getStyles('controls')}>\n {withExpandButton && (\n <Tooltip\n label={_expanded ? collapseCodeLabel : expandCodeLabel}\n fz=\"sm\"\n position=\"left\"\n >\n <ActionIcon\n onClick={() => setExpanded(!_expanded)}\n variant=\"none\"\n {...getStyles('control')}\n >\n <ExpandIcon expanded={_expanded} />\n </ActionIcon>\n </Tooltip>\n )}\n\n <CopyButton value={currentCode.code.trim()}>\n {({ copied, copy }) => (\n <Tooltip label={copied ? copiedLabel : copyLabel} fz=\"sm\" position=\"left\">\n <ActionIcon onClick={copy} variant=\"none\" {...getStyles('control')}>\n <CopyIcon copied={copied} />\n </ActionIcon>\n </Tooltip>\n )}\n </CopyButton>\n </div>\n </div>\n )}\n\n <ScrollArea type=\"auto\" dir=\"ltr\" offsetScrollbars={false}>\n <Box {...getStyles('codeWrapper')} mod={{ expanded: _expanded }}>\n <pre {...getStyles('pre')}>\n <code {...getStyles('code')} dangerouslySetInnerHTML={{ __html: highlighted }} />\n </pre>\n </Box>\n </ScrollArea>\n <UnstyledButton\n {...getStyles('showCodeButton')}\n mod={{ hidden: _expanded }}\n onClick={() => setExpanded(true)}\n >\n Expand code\n </UnstyledButton>\n </Box>\n );\n});\n\nCodeHighlightTabs.displayName = '@mantine/core/CodeHighlightTabs';\n"],"names":["_classes","cx","themeClasses","rem","createVarsResolver","factory","useProps","useStyles","useUncontrolled","hljs","React","UnstyledButton","FileIcon","Box","ScrollArea","Tooltip","ActionIcon","ExpandIcon","CopyButton","CopyIcon"],"mappings":"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"}
package/cjs/CopyIcon.js CHANGED
@@ -2,7 +2,6 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var tslib = require('tslib');
6
5
  var core = require('@mantine/core');
7
6
  var React = require('react');
8
7
 
@@ -10,16 +9,52 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
10
9
 
11
10
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
12
11
 
12
+ var __defProp = Object.defineProperty;
13
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
14
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
15
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
16
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
17
+ var __spreadValues = (a, b) => {
18
+ for (var prop in b || (b = {}))
19
+ if (__hasOwnProp.call(b, prop))
20
+ __defNormalProp(a, prop, b[prop]);
21
+ if (__getOwnPropSymbols)
22
+ for (var prop of __getOwnPropSymbols(b)) {
23
+ if (__propIsEnum.call(b, prop))
24
+ __defNormalProp(a, prop, b[prop]);
25
+ }
26
+ return a;
27
+ };
28
+ var __objRest = (source, exclude) => {
29
+ var target = {};
30
+ for (var prop in source)
31
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
32
+ target[prop] = source[prop];
33
+ if (source != null && __getOwnPropSymbols)
34
+ for (var prop of __getOwnPropSymbols(source)) {
35
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
36
+ target[prop] = source[prop];
37
+ }
38
+ return target;
39
+ };
13
40
  function CopyIcon(_a) {
14
- var { copied, style } = _a, others = tslib.__rest(_a, ["copied", "style"]);
15
- return (React__default.createElement("svg", Object.assign({ xmlns: "http://www.w3.org/2000/svg", style: Object.assign({ width: core.rem(18), height: core.rem(18) }, style), viewBox: "0 0 24 24", strokeWidth: "2", stroke: "currentColor", fill: "none", strokeLinecap: "round", strokeLinejoin: "round" }, others), copied ? (React__default.createElement(React__default.Fragment, null,
16
- React__default.createElement("path", { stroke: "none", d: "M0 0h24v24H0z", fill: "none" }),
17
- React__default.createElement("path", { d: "M5 12l5 5l10 -10" }))) : (React__default.createElement(React__default.Fragment, null,
18
- React__default.createElement("path", { stroke: "none", d: "M0 0h24v24H0z", fill: "none" }),
19
- React__default.createElement("path", { d: "M8 8m0 2a2 2 0 0 1 2 -2h8a2 2 0 0 1 2 2v8a2 2 0 0 1 -2 2h-8a2 2 0 0 1 -2 -2z" }),
20
- React__default.createElement("path", { d: "M16 8v-2a2 2 0 0 0 -2 -2h-8a2 2 0 0 0 -2 2v8a2 2 0 0 0 2 2h2" })))));
41
+ var _b = _a, { copied, style } = _b, others = __objRest(_b, ["copied", "style"]);
42
+ return /* @__PURE__ */ React__default.createElement(
43
+ "svg",
44
+ __spreadValues({
45
+ xmlns: "http://www.w3.org/2000/svg",
46
+ style: __spreadValues({ width: core.rem(18), height: core.rem(18) }, style),
47
+ viewBox: "0 0 24 24",
48
+ strokeWidth: "2",
49
+ stroke: "currentColor",
50
+ fill: "none",
51
+ strokeLinecap: "round",
52
+ strokeLinejoin: "round"
53
+ }, others),
54
+ copied ? /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, /* @__PURE__ */ React__default.createElement("path", { stroke: "none", d: "M0 0h24v24H0z", fill: "none" }), /* @__PURE__ */ React__default.createElement("path", { d: "M5 12l5 5l10 -10" })) : /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, /* @__PURE__ */ React__default.createElement("path", { stroke: "none", d: "M0 0h24v24H0z", fill: "none" }), /* @__PURE__ */ React__default.createElement("path", { d: "M8 8m0 2a2 2 0 0 1 2 -2h8a2 2 0 0 1 2 2v8a2 2 0 0 1 -2 2h-8a2 2 0 0 1 -2 -2z" }), /* @__PURE__ */ React__default.createElement("path", { d: "M16 8v-2a2 2 0 0 0 -2 -2h-8a2 2 0 0 0 -2 2v8a2 2 0 0 0 2 2h2" }))
55
+ );
21
56
  }
22
- CopyIcon.displayName = '@mantine/code-highlight/CopyIcon';
57
+ CopyIcon.displayName = "@mantine/code-highlight/CopyIcon";
23
58
 
24
59
  exports.CopyIcon = CopyIcon;
25
60
  //# sourceMappingURL=CopyIcon.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CopyIcon.js","sources":["../src/CopyIcon.tsx"],"sourcesContent":["import { rem } from '@mantine/core';\nimport React from 'react';\n\ninterface CopyIconProps extends React.ComponentPropsWithoutRef<'svg'> {\n copied: boolean;\n}\n\nexport function CopyIcon({ copied, style, ...others }: CopyIconProps) {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n style={{ width: rem(18), height: rem(18), ...style }}\n viewBox=\"0 0 24 24\"\n strokeWidth=\"2\"\n stroke=\"currentColor\"\n fill=\"none\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n {...others}\n >\n {copied ? (\n <>\n <path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"></path>\n <path d=\"M5 12l5 5l10 -10\"></path>\n </>\n ) : (\n <>\n <path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"></path>\n <path d=\"M8 8m0 2a2 2 0 0 1 2 -2h8a2 2 0 0 1 2 2v8a2 2 0 0 1 -2 2h-8a2 2 0 0 1 -2 -2z\"></path>\n <path d=\"M16 8v-2a2 2 0 0 0 -2 -2h-8a2 2 0 0 0 -2 2v8a2 2 0 0 0 2 2h2\"></path>\n </>\n )}\n </svg>\n );\n}\n\nCopyIcon.displayName = '@mantine/code-highlight/CopyIcon';\n"],"names":["React","rem"],"mappings":";;;;;;;;;;;;SAOgB,QAAQ,CAAC,EAA2C;QAA3C,EAAE,MAAM,EAAE,KAAK,OAA4B,EAAvB,MAAM,oBAA1B,mBAA4B,CAAF;IACjD,QACEA,oDACE,KAAK,EAAC,4BAA4B,EAClC,KAAK,kBAAI,KAAK,EAAEC,QAAG,CAAC,EAAE,CAAC,EAAE,MAAM,EAAEA,QAAG,CAAC,EAAE,CAAC,IAAK,KAAK,GAClD,OAAO,EAAC,WAAW,EACnB,WAAW,EAAC,GAAG,EACf,MAAM,EAAC,cAAc,EACrB,IAAI,EAAC,MAAM,EACX,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,IAClB,MAAM,GAET,MAAM,IACLD;QACEA,uCAAM,MAAM,EAAC,MAAM,EAAC,CAAC,EAAC,eAAe,EAAC,IAAI,EAAC,MAAM,GAAQ;QACzDA,uCAAM,CAAC,EAAC,kBAAkB,GAAQ,CACjC,KAEHA;QACEA,uCAAM,MAAM,EAAC,MAAM,EAAC,CAAC,EAAC,eAAe,EAAC,IAAI,EAAC,MAAM,GAAQ;QACzDA,uCAAM,CAAC,EAAC,8EAA8E,GAAQ;QAC9FA,uCAAM,CAAC,EAAC,8DAA8D,GAAQ,CAC7E,CACJ,CACG,EACN;AACJ,CAAC;AAED,QAAQ,CAAC,WAAW,GAAG,kCAAkC;;;;"}
1
+ {"version":3,"file":"CopyIcon.js","sources":["../src/CopyIcon.tsx"],"sourcesContent":["import { rem } from '@mantine/core';\nimport React from 'react';\n\ninterface CopyIconProps extends React.ComponentPropsWithoutRef<'svg'> {\n copied: boolean;\n}\n\nexport function CopyIcon({ copied, style, ...others }: CopyIconProps) {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n style={{ width: rem(18), height: rem(18), ...style }}\n viewBox=\"0 0 24 24\"\n strokeWidth=\"2\"\n stroke=\"currentColor\"\n fill=\"none\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n {...others}\n >\n {copied ? (\n <>\n <path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"></path>\n <path d=\"M5 12l5 5l10 -10\"></path>\n </>\n ) : (\n <>\n <path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"></path>\n <path d=\"M8 8m0 2a2 2 0 0 1 2 -2h8a2 2 0 0 1 2 2v8a2 2 0 0 1 -2 2h-8a2 2 0 0 1 -2 -2z\"></path>\n <path d=\"M16 8v-2a2 2 0 0 0 -2 -2h-8a2 2 0 0 0 -2 2v8a2 2 0 0 0 2 2h2\"></path>\n </>\n )}\n </svg>\n );\n}\n\nCopyIcon.displayName = '@mantine/code-highlight/CopyIcon';\n"],"names":["React","rem"],"mappings":"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"}