@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.
- 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 +3 -3
- 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,175 +1,136 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
16
|
-
|
|
17
|
-
var cx__default = /*#__PURE__*/_interopDefault(cx);
|
|
18
|
-
|
|
1
|
+
"use client";
|
|
2
|
+
const require_runtime = require("../_virtual/_rolldown/runtime.cjs");
|
|
3
|
+
const require_CodeHighlightProvider = require("../CodeHighlightProvider/CodeHighlightProvider.cjs");
|
|
4
|
+
const require_CodeHighlight_context = require("./CodeHighlight.context.cjs");
|
|
5
|
+
const require_CodeHighlightControl = require("./CodeHighlightControl/CodeHighlightControl.cjs");
|
|
6
|
+
const require_CopyCodeButton = require("./CopyCodeButton/CopyCodeButton.cjs");
|
|
7
|
+
const require_ExpandCodeButton = require("./ExpandCodeButton/ExpandCodeButton.cjs");
|
|
8
|
+
const require_CodeHighlight_module = require("../CodeHighlight.module.cjs");
|
|
9
|
+
let clsx = require("clsx");
|
|
10
|
+
clsx = require_runtime.__toESM(clsx);
|
|
11
|
+
let _mantine_core = require("@mantine/core");
|
|
12
|
+
let _mantine_hooks = require("@mantine/hooks");
|
|
13
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
14
|
+
//#region packages/@mantine/code-highlight/src/CodeHighlight/CodeHighlight.tsx
|
|
19
15
|
const defaultProps = {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
16
|
+
withCopyButton: true,
|
|
17
|
+
expandCodeLabel: "Expand code",
|
|
18
|
+
collapseCodeLabel: "Collapse code"
|
|
23
19
|
};
|
|
24
|
-
const varsResolver =
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
)
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
133
|
-
core.ScrollArea,
|
|
134
|
-
{
|
|
135
|
-
type: "hover",
|
|
136
|
-
scrollbarSize: 4,
|
|
137
|
-
dir: "ltr",
|
|
138
|
-
offsetScrollbars: false,
|
|
139
|
-
"data-collapsed": !_expanded || void 0,
|
|
140
|
-
styles: { viewport: { overscrollBehaviorInline: "none" } },
|
|
141
|
-
...getStyles("scrollarea"),
|
|
142
|
-
children: /* @__PURE__ */ jsxRuntime.jsx("pre", { ...getStyles("pre"), "data-with-offset": __withOffset || void 0, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
143
|
-
"code",
|
|
144
|
-
{
|
|
145
|
-
...highlightedCode.codeElementProps,
|
|
146
|
-
...getStyles("code", {
|
|
147
|
-
className: highlightedCode.codeElementProps?.className,
|
|
148
|
-
style: highlightedCode.codeElementProps?.style
|
|
149
|
-
}),
|
|
150
|
-
...codeContent
|
|
151
|
-
}
|
|
152
|
-
) })
|
|
153
|
-
}
|
|
154
|
-
),
|
|
155
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
156
|
-
core.UnstyledButton,
|
|
157
|
-
{
|
|
158
|
-
...getStyles("showCodeButton"),
|
|
159
|
-
mod: { hidden: _expanded },
|
|
160
|
-
onClick: () => setExpanded(true),
|
|
161
|
-
"data-code-color-scheme": codeColorScheme,
|
|
162
|
-
children: expandCodeLabel
|
|
163
|
-
}
|
|
164
|
-
)
|
|
165
|
-
]
|
|
166
|
-
}
|
|
167
|
-
) });
|
|
20
|
+
const varsResolver = (0, _mantine_core.createVarsResolver)((theme, { maxCollapsedHeight, background, radius }) => ({ codeHighlight: {
|
|
21
|
+
"--ch-max-height": (0, _mantine_core.rem)(maxCollapsedHeight),
|
|
22
|
+
"--ch-background": background ? (0, _mantine_core.getThemeColor)(background, theme) : void 0,
|
|
23
|
+
"--ch-radius": typeof radius !== "undefined" ? (0, _mantine_core.getRadius)(radius) : void 0
|
|
24
|
+
} }));
|
|
25
|
+
const CodeHighlight = (0, _mantine_core.factory)((_props) => {
|
|
26
|
+
const props = (0, _mantine_core.useProps)("CodeHighlight", defaultProps, _props);
|
|
27
|
+
const { classNames, className, style, styles, unstyled, vars, code, copiedLabel, copyLabel, defaultExpanded, expanded, onExpandedChange, maxCollapsedHeight, withCopyButton, withExpandButton, expandCodeLabel, collapseCodeLabel, radius, background, withBorder, controls, language, codeColorScheme, __withOffset, __inline, __staticSelector, attributes, ...others } = props;
|
|
28
|
+
const getStyles = (0, _mantine_core.useStyles)({
|
|
29
|
+
name: __staticSelector || "CodeHighlight",
|
|
30
|
+
classes: require_CodeHighlight_module.default,
|
|
31
|
+
props,
|
|
32
|
+
className,
|
|
33
|
+
style,
|
|
34
|
+
classNames,
|
|
35
|
+
styles,
|
|
36
|
+
unstyled,
|
|
37
|
+
attributes,
|
|
38
|
+
vars,
|
|
39
|
+
varsResolver,
|
|
40
|
+
rootSelector: "codeHighlight"
|
|
41
|
+
});
|
|
42
|
+
const [_expanded, setExpanded] = (0, _mantine_hooks.useUncontrolled)({
|
|
43
|
+
value: expanded,
|
|
44
|
+
defaultValue: defaultExpanded,
|
|
45
|
+
finalValue: true,
|
|
46
|
+
onChange: onExpandedChange
|
|
47
|
+
});
|
|
48
|
+
const shouldDisplayControls = controls && controls.length > 0 || withExpandButton || withCopyButton;
|
|
49
|
+
const colorScheme = (0, _mantine_core.useComputedColorScheme)();
|
|
50
|
+
const highlightedCode = require_CodeHighlightProvider.useHighlight()({
|
|
51
|
+
code: code.trim(),
|
|
52
|
+
language,
|
|
53
|
+
colorScheme: codeColorScheme ?? colorScheme
|
|
54
|
+
});
|
|
55
|
+
const codeContent = highlightedCode.isHighlighted ? { dangerouslySetInnerHTML: { __html: highlightedCode.highlightedCode } } : { children: code.trim() };
|
|
56
|
+
if (__inline) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mantine_core.Box, {
|
|
57
|
+
component: "code",
|
|
58
|
+
...others,
|
|
59
|
+
...highlightedCode.codeElementProps,
|
|
60
|
+
...getStyles("codeHighlight", {
|
|
61
|
+
className: (0, clsx.default)(highlightedCode.codeElementProps?.className, className),
|
|
62
|
+
style: [{ ...highlightedCode.codeElementProps?.style }, style]
|
|
63
|
+
}),
|
|
64
|
+
"data-with-border": withBorder || void 0,
|
|
65
|
+
...codeContent
|
|
66
|
+
});
|
|
67
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_CodeHighlight_context.CodeHighlightContextProvider, {
|
|
68
|
+
value: {
|
|
69
|
+
getStyles,
|
|
70
|
+
codeColorScheme
|
|
71
|
+
},
|
|
72
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_mantine_core.Box, {
|
|
73
|
+
...getStyles("codeHighlight"),
|
|
74
|
+
...others,
|
|
75
|
+
dir: "ltr",
|
|
76
|
+
"data-code-color-scheme": codeColorScheme,
|
|
77
|
+
"data-with-border": withBorder || void 0,
|
|
78
|
+
children: [
|
|
79
|
+
shouldDisplayControls && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
80
|
+
...getStyles("controls"),
|
|
81
|
+
"data-with-offset": __withOffset || void 0,
|
|
82
|
+
children: [
|
|
83
|
+
controls,
|
|
84
|
+
withExpandButton && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ExpandCodeButton.ExpandCodeButton, {
|
|
85
|
+
expanded: _expanded,
|
|
86
|
+
onExpand: setExpanded,
|
|
87
|
+
expandCodeLabel,
|
|
88
|
+
collapseCodeLabel
|
|
89
|
+
}),
|
|
90
|
+
withCopyButton && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_CopyCodeButton.CopyCodeButton, {
|
|
91
|
+
code,
|
|
92
|
+
copiedLabel,
|
|
93
|
+
copyLabel
|
|
94
|
+
})
|
|
95
|
+
]
|
|
96
|
+
}),
|
|
97
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mantine_core.ScrollArea, {
|
|
98
|
+
type: "hover",
|
|
99
|
+
scrollbarSize: 4,
|
|
100
|
+
dir: "ltr",
|
|
101
|
+
offsetScrollbars: false,
|
|
102
|
+
"data-collapsed": !_expanded || void 0,
|
|
103
|
+
styles: { viewport: { overscrollBehaviorInline: "none" } },
|
|
104
|
+
...getStyles("scrollarea"),
|
|
105
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("pre", {
|
|
106
|
+
...getStyles("pre"),
|
|
107
|
+
"data-with-offset": __withOffset || void 0,
|
|
108
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("code", {
|
|
109
|
+
...highlightedCode.codeElementProps,
|
|
110
|
+
...getStyles("code", {
|
|
111
|
+
className: highlightedCode.codeElementProps?.className,
|
|
112
|
+
style: highlightedCode.codeElementProps?.style
|
|
113
|
+
}),
|
|
114
|
+
...codeContent
|
|
115
|
+
})
|
|
116
|
+
})
|
|
117
|
+
}),
|
|
118
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mantine_core.UnstyledButton, {
|
|
119
|
+
...getStyles("showCodeButton"),
|
|
120
|
+
mod: { hidden: _expanded },
|
|
121
|
+
onClick: () => setExpanded(true),
|
|
122
|
+
"data-code-color-scheme": codeColorScheme,
|
|
123
|
+
children: expandCodeLabel
|
|
124
|
+
})
|
|
125
|
+
]
|
|
126
|
+
})
|
|
127
|
+
});
|
|
168
128
|
});
|
|
169
129
|
CodeHighlight.displayName = "@mantine/code-highlight/CodeHighlight";
|
|
170
|
-
CodeHighlight.classes =
|
|
130
|
+
CodeHighlight.classes = require_CodeHighlight_module.default;
|
|
171
131
|
CodeHighlight.varsResolver = varsResolver;
|
|
172
|
-
CodeHighlight.Control =
|
|
173
|
-
|
|
132
|
+
CodeHighlight.Control = require_CodeHighlightControl.CodeHighlightControl;
|
|
133
|
+
//#endregion
|
|
174
134
|
exports.CodeHighlight = CodeHighlight;
|
|
175
|
-
|
|
135
|
+
|
|
136
|
+
//# sourceMappingURL=CodeHighlight.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CodeHighlight.cjs","sources":["../../src/CodeHighlight/CodeHighlight.tsx"],"sourcesContent":["import cx from 'clsx';\nimport {\n Box,\n BoxProps,\n createVarsResolver,\n ElementProps,\n factory,\n Factory,\n getRadius,\n getThemeColor,\n MantineColor,\n MantineRadius,\n rem,\n ScrollArea,\n StylesApiProps,\n UnstyledButton,\n useComputedColorScheme,\n useProps,\n useStyles,\n} from '@mantine/core';\nimport { useUncontrolled } from '@mantine/hooks';\nimport { useHighlight } from '../CodeHighlightProvider/CodeHighlightProvider';\nimport { CodeHighlightContextProvider } from './CodeHighlight.context';\nimport { CodeHighlightControl } from './CodeHighlightControl/CodeHighlightControl';\nimport { CopyCodeButton } from './CopyCodeButton/CopyCodeButton';\nimport { ExpandCodeButton } from './ExpandCodeButton/ExpandCodeButton';\nimport classes from '../CodeHighlight.module.css';\n\nexport type CodeHighlightStylesNames =\n | 'codeHighlight'\n | 'pre'\n | 'code'\n | 'control'\n | 'controlTooltip'\n | 'controls'\n | 'scrollarea'\n | 'showCodeButton';\n\nexport type CodeHighlightCssVariables = {\n codeHighlight: '--ch-max-height' | '--ch-background' | '--ch-radius';\n};\n\nexport interface CodeHighlightSettings {\n /** Label for copy button in default state @default 'Copy' */\n copyLabel?: string;\n\n /** Label for copy button in copied state @default 'Copied' */\n copiedLabel?: string;\n\n /** Uncontrolled expanded default state */\n defaultExpanded?: boolean;\n\n /** Controlled expanded state */\n expanded?: boolean;\n\n /** Called when expanded state changes */\n onExpandedChange?: (expanded: boolean) => void;\n\n /** Max height of collapsed state @default 180px */\n maxCollapsedHeight?: number | string;\n\n /** Determines whether the copy button should be displayed @default true */\n withCopyButton?: boolean;\n\n /** Determines whether the expand/collapse button should be displayed @default false */\n withExpandButton?: boolean;\n\n /** Label for expand button @default 'Expand code' */\n expandCodeLabel?: string;\n\n /** Label for collapse button @default 'Collapse code' */\n collapseCodeLabel?: string;\n\n /** Controls background color of the code. By default, the value depends on color scheme. */\n background?: MantineColor;\n\n /** Key of `theme.radius` or any valid CSS value to set border-radius @default 0 */\n radius?: MantineRadius;\n\n /** Adds border to the root element @default false */\n withBorder?: boolean;\n\n /** Extra controls to display in the controls list */\n controls?: React.ReactNode[];\n\n /** Set to use dark or light color scheme. When using shiki adapter, you can use loaded themes here */\n codeColorScheme?: 'dark' | 'light' | (string & {});\n}\n\nexport interface CodeHighlightProps\n extends\n CodeHighlightSettings,\n BoxProps,\n StylesApiProps<CodeHighlightFactory>,\n ElementProps<'div'> {\n __withOffset?: boolean;\n __staticSelector?: string;\n\n /** If set, the code will be rendered as inline element without `<pre>` @default false */\n __inline?: boolean;\n\n /** Code to highlight */\n code: string;\n\n /** Language of the code, used for syntax highlighting */\n language?: string;\n}\n\nexport type CodeHighlightFactory = Factory<{\n props: CodeHighlightProps;\n ref: HTMLDivElement;\n stylesNames: CodeHighlightStylesNames;\n vars: CodeHighlightCssVariables;\n staticComponents: {\n Control: typeof CodeHighlightControl;\n };\n}>;\n\nconst defaultProps = {\n withCopyButton: true,\n expandCodeLabel: 'Expand code',\n collapseCodeLabel: 'Collapse code',\n} satisfies Partial<CodeHighlightProps>;\n\nconst varsResolver = createVarsResolver<CodeHighlightFactory>(\n (theme, { maxCollapsedHeight, background, radius }) => ({\n codeHighlight: {\n '--ch-max-height': rem(maxCollapsedHeight),\n '--ch-background': background ? getThemeColor(background, theme) : undefined,\n '--ch-radius': typeof radius !== 'undefined' ? getRadius(radius) : undefined,\n },\n })\n);\n\nexport const CodeHighlight = factory<CodeHighlightFactory>((_props) => {\n const props = useProps('CodeHighlight', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n code,\n copiedLabel,\n copyLabel,\n defaultExpanded,\n expanded,\n onExpandedChange,\n maxCollapsedHeight,\n withCopyButton,\n withExpandButton,\n expandCodeLabel,\n collapseCodeLabel,\n radius,\n background,\n withBorder,\n controls,\n language,\n codeColorScheme,\n __withOffset,\n __inline,\n __staticSelector,\n attributes,\n ...others\n } = props;\n\n const getStyles = useStyles<CodeHighlightFactory>({\n name: __staticSelector || 'CodeHighlight',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n varsResolver,\n rootSelector: 'codeHighlight',\n });\n\n const [_expanded, setExpanded] = useUncontrolled({\n value: expanded,\n defaultValue: defaultExpanded,\n finalValue: true,\n onChange: onExpandedChange,\n });\n\n const shouldDisplayControls =\n (controls && controls.length > 0) || withExpandButton || withCopyButton;\n\n const colorScheme = useComputedColorScheme();\n const highlight = useHighlight();\n const highlightedCode = highlight({\n code: code.trim(),\n language,\n colorScheme: codeColorScheme ?? colorScheme,\n });\n\n const codeContent = highlightedCode.isHighlighted\n ? { dangerouslySetInnerHTML: { __html: highlightedCode.highlightedCode } }\n : { children: code.trim() };\n\n if (__inline) {\n return (\n <Box\n component=\"code\"\n {...others}\n {...highlightedCode.codeElementProps}\n {...getStyles('codeHighlight', {\n className: cx(highlightedCode.codeElementProps?.className, className),\n style: [{ ...highlightedCode.codeElementProps?.style }, style],\n })}\n data-with-border={withBorder || undefined}\n {...codeContent}\n />\n );\n }\n\n return (\n <CodeHighlightContextProvider value={{ getStyles, codeColorScheme }}>\n <Box\n {...getStyles('codeHighlight')}\n {...others}\n dir=\"ltr\"\n data-code-color-scheme={codeColorScheme}\n data-with-border={withBorder || undefined}\n >\n {shouldDisplayControls && (\n <div {...getStyles('controls')} data-with-offset={__withOffset || undefined}>\n {controls}\n\n {withExpandButton && (\n <ExpandCodeButton\n expanded={_expanded}\n onExpand={setExpanded}\n expandCodeLabel={expandCodeLabel}\n collapseCodeLabel={collapseCodeLabel}\n />\n )}\n {withCopyButton && (\n <CopyCodeButton code={code} copiedLabel={copiedLabel} copyLabel={copyLabel} />\n )}\n </div>\n )}\n\n <ScrollArea\n type=\"hover\"\n scrollbarSize={4}\n dir=\"ltr\"\n offsetScrollbars={false}\n data-collapsed={!_expanded || undefined}\n styles={{ viewport: { overscrollBehaviorInline: 'none' } }}\n {...getStyles('scrollarea')}\n >\n <pre {...getStyles('pre')} data-with-offset={__withOffset || undefined}>\n <code\n {...highlightedCode.codeElementProps}\n {...getStyles('code', {\n className: highlightedCode.codeElementProps?.className,\n style: highlightedCode.codeElementProps?.style,\n })}\n {...codeContent}\n />\n </pre>\n </ScrollArea>\n\n <UnstyledButton\n {...getStyles('showCodeButton')}\n mod={{ hidden: _expanded }}\n onClick={() => setExpanded(true)}\n data-code-color-scheme={codeColorScheme}\n >\n {expandCodeLabel}\n </UnstyledButton>\n </Box>\n </CodeHighlightContextProvider>\n );\n});\n\nCodeHighlight.displayName = '@mantine/code-highlight/CodeHighlight';\nCodeHighlight.classes = classes;\nCodeHighlight.varsResolver = varsResolver;\nCodeHighlight.Control = CodeHighlightControl;\n"],"names":["createVarsResolver","rem","getThemeColor","getRadius","factory","useProps","useStyles","classes","useUncontrolled","useComputedColorScheme","useHighlight","jsx","Box","cx","CodeHighlightContextProvider","jsxs","ExpandCodeButton","CopyCodeButton","ScrollArea","UnstyledButton","CodeHighlightControl"],"mappings":"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CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CACL,GAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAEJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAYC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA,CAAgC,CAAA;AAAA,CAAA,CAAA,CAAA,CAChD,CAAA,CAAA,CAAA,GAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAC1BC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACA,YAAA,CAAA,CAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CACf,CAAA,CAAA;AAED,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,WAAW,CAAA,CAAA,CAAA,CAAIC,qBAAA,CAAgB,CAAA;AAAA,CAAA,CAAA,CAAA,CAC/C,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACP,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACd,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAY,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACZ,QAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CACX,CAAA,CAAA;AAED,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACH,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,KAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAoB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAE3D,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAcC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA,CAAA,CAAuB,CAAA;AAC3C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAYC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA,CAAA,CAAa,CAAA;AAC/B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAkB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA;AAAA,CAAA,CAAA,CAAA,CAChC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,EAAK,IAAA,CAAA,CAAK,CAAA;AAAA,CAAA,CAAA,CAAA,CAChB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAmB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CACjC,CAAA,CAAA;AAED,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAChC,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAyB,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,eAAA,CAAgB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAkB,CAAA,CAAA,CACvE,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,GAAK,CAAA,CAAE,CAAA;AAE5B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,QAAA,CAAA,CAAU,CAAA;AACZ,CAAA,CAAA,CAAA,CAAA,uBACEC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAACC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACT,GAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACH,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACnB,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAC7B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAWC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACpE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAE,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAgB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAS,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAC9D,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAkB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAC/B,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CACN,CAAA;AAAA,CAAA,CAEJ,CAAA;AAEA,CAAA,CAAA,sCACGC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA,CAAA,CAAA,EAA6B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAgB,CAAA,CAChE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,kBAAAC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAACH,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACE,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAC5B,GAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACJ,CAAA,CAAA,CAAA,EAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAwB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACxB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAkB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAE/B,QAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,oBACCG,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA,CAAC,SAAK,GAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,UAAU,CAAA,CAAA,CAAG,kBAAA,CAAA,CAAkB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAgB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAC/D,QAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,oBACCJ,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAACK,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACV,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACV,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACF,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAED,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,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"}
|
|
1
|
+
{"version":3,"file":"CodeHighlight.cjs","names":["useHighlight","Box","CodeHighlightContextProvider","ExpandCodeButton","CopyCodeButton","ScrollArea","UnstyledButton","classes","CodeHighlightControl"],"sources":["../../src/CodeHighlight/CodeHighlight.tsx"],"sourcesContent":["import cx from 'clsx';\nimport {\n Box,\n BoxProps,\n createVarsResolver,\n ElementProps,\n factory,\n Factory,\n getRadius,\n getThemeColor,\n MantineColor,\n MantineRadius,\n rem,\n ScrollArea,\n StylesApiProps,\n UnstyledButton,\n useComputedColorScheme,\n useProps,\n useStyles,\n} from '@mantine/core';\nimport { useUncontrolled } from '@mantine/hooks';\nimport { useHighlight } from '../CodeHighlightProvider/CodeHighlightProvider';\nimport { CodeHighlightContextProvider } from './CodeHighlight.context';\nimport { CodeHighlightControl } from './CodeHighlightControl/CodeHighlightControl';\nimport { CopyCodeButton } from './CopyCodeButton/CopyCodeButton';\nimport { ExpandCodeButton } from './ExpandCodeButton/ExpandCodeButton';\nimport classes from '../CodeHighlight.module.css';\n\nexport type CodeHighlightStylesNames =\n | 'codeHighlight'\n | 'pre'\n | 'code'\n | 'control'\n | 'controlTooltip'\n | 'controls'\n | 'scrollarea'\n | 'showCodeButton';\n\nexport type CodeHighlightCssVariables = {\n codeHighlight: '--ch-max-height' | '--ch-background' | '--ch-radius';\n};\n\nexport interface CodeHighlightSettings {\n /** Label for copy button in default state @default 'Copy' */\n copyLabel?: string;\n\n /** Label for copy button in copied state @default 'Copied' */\n copiedLabel?: string;\n\n /** Uncontrolled expanded default state */\n defaultExpanded?: boolean;\n\n /** Controlled expanded state */\n expanded?: boolean;\n\n /** Called when expanded state changes */\n onExpandedChange?: (expanded: boolean) => void;\n\n /** Max height of collapsed state @default 180px */\n maxCollapsedHeight?: number | string;\n\n /** Determines whether the copy button should be displayed @default true */\n withCopyButton?: boolean;\n\n /** Determines whether the expand/collapse button should be displayed @default false */\n withExpandButton?: boolean;\n\n /** Label for expand button @default 'Expand code' */\n expandCodeLabel?: string;\n\n /** Label for collapse button @default 'Collapse code' */\n collapseCodeLabel?: string;\n\n /** Controls background color of the code. By default, the value depends on color scheme. */\n background?: MantineColor;\n\n /** Key of `theme.radius` or any valid CSS value to set border-radius @default 0 */\n radius?: MantineRadius;\n\n /** Adds border to the root element @default false */\n withBorder?: boolean;\n\n /** Extra controls to display in the controls list */\n controls?: React.ReactNode[];\n\n /** Set to use dark or light color scheme. When using shiki adapter, you can use loaded themes here */\n codeColorScheme?: 'dark' | 'light' | (string & {});\n}\n\nexport interface CodeHighlightProps\n extends\n CodeHighlightSettings,\n BoxProps,\n StylesApiProps<CodeHighlightFactory>,\n ElementProps<'div'> {\n __withOffset?: boolean;\n __staticSelector?: string;\n\n /** If set, the code will be rendered as inline element without `<pre>` @default false */\n __inline?: boolean;\n\n /** Code to highlight */\n code: string;\n\n /** Language of the code, used for syntax highlighting */\n language?: string;\n}\n\nexport type CodeHighlightFactory = Factory<{\n props: CodeHighlightProps;\n ref: HTMLDivElement;\n stylesNames: CodeHighlightStylesNames;\n vars: CodeHighlightCssVariables;\n staticComponents: {\n Control: typeof CodeHighlightControl;\n };\n}>;\n\nconst defaultProps = {\n withCopyButton: true,\n expandCodeLabel: 'Expand code',\n collapseCodeLabel: 'Collapse code',\n} satisfies Partial<CodeHighlightProps>;\n\nconst varsResolver = createVarsResolver<CodeHighlightFactory>(\n (theme, { maxCollapsedHeight, background, radius }) => ({\n codeHighlight: {\n '--ch-max-height': rem(maxCollapsedHeight),\n '--ch-background': background ? getThemeColor(background, theme) : undefined,\n '--ch-radius': typeof radius !== 'undefined' ? getRadius(radius) : undefined,\n },\n })\n);\n\nexport const CodeHighlight = factory<CodeHighlightFactory>((_props) => {\n const props = useProps('CodeHighlight', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n code,\n copiedLabel,\n copyLabel,\n defaultExpanded,\n expanded,\n onExpandedChange,\n maxCollapsedHeight,\n withCopyButton,\n withExpandButton,\n expandCodeLabel,\n collapseCodeLabel,\n radius,\n background,\n withBorder,\n controls,\n language,\n codeColorScheme,\n __withOffset,\n __inline,\n __staticSelector,\n attributes,\n ...others\n } = props;\n\n const getStyles = useStyles<CodeHighlightFactory>({\n name: __staticSelector || 'CodeHighlight',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n varsResolver,\n rootSelector: 'codeHighlight',\n });\n\n const [_expanded, setExpanded] = useUncontrolled({\n value: expanded,\n defaultValue: defaultExpanded,\n finalValue: true,\n onChange: onExpandedChange,\n });\n\n const shouldDisplayControls =\n (controls && controls.length > 0) || withExpandButton || withCopyButton;\n\n const colorScheme = useComputedColorScheme();\n const highlight = useHighlight();\n const highlightedCode = highlight({\n code: code.trim(),\n language,\n colorScheme: codeColorScheme ?? colorScheme,\n });\n\n const codeContent = highlightedCode.isHighlighted\n ? { dangerouslySetInnerHTML: { __html: highlightedCode.highlightedCode } }\n : { children: code.trim() };\n\n if (__inline) {\n return (\n <Box\n component=\"code\"\n {...others}\n {...highlightedCode.codeElementProps}\n {...getStyles('codeHighlight', {\n className: cx(highlightedCode.codeElementProps?.className, className),\n style: [{ ...highlightedCode.codeElementProps?.style }, style],\n })}\n data-with-border={withBorder || undefined}\n {...codeContent}\n />\n );\n }\n\n return (\n <CodeHighlightContextProvider value={{ getStyles, codeColorScheme }}>\n <Box\n {...getStyles('codeHighlight')}\n {...others}\n dir=\"ltr\"\n data-code-color-scheme={codeColorScheme}\n data-with-border={withBorder || undefined}\n >\n {shouldDisplayControls && (\n <div {...getStyles('controls')} data-with-offset={__withOffset || undefined}>\n {controls}\n\n {withExpandButton && (\n <ExpandCodeButton\n expanded={_expanded}\n onExpand={setExpanded}\n expandCodeLabel={expandCodeLabel}\n collapseCodeLabel={collapseCodeLabel}\n />\n )}\n {withCopyButton && (\n <CopyCodeButton code={code} copiedLabel={copiedLabel} copyLabel={copyLabel} />\n )}\n </div>\n )}\n\n <ScrollArea\n type=\"hover\"\n scrollbarSize={4}\n dir=\"ltr\"\n offsetScrollbars={false}\n data-collapsed={!_expanded || undefined}\n styles={{ viewport: { overscrollBehaviorInline: 'none' } }}\n {...getStyles('scrollarea')}\n >\n <pre {...getStyles('pre')} data-with-offset={__withOffset || undefined}>\n <code\n {...highlightedCode.codeElementProps}\n {...getStyles('code', {\n className: highlightedCode.codeElementProps?.className,\n style: highlightedCode.codeElementProps?.style,\n })}\n {...codeContent}\n />\n </pre>\n </ScrollArea>\n\n <UnstyledButton\n {...getStyles('showCodeButton')}\n mod={{ hidden: _expanded }}\n onClick={() => setExpanded(true)}\n data-code-color-scheme={codeColorScheme}\n >\n {expandCodeLabel}\n </UnstyledButton>\n </Box>\n </CodeHighlightContextProvider>\n );\n});\n\nCodeHighlight.displayName = '@mantine/code-highlight/CodeHighlight';\nCodeHighlight.classes = classes;\nCodeHighlight.varsResolver = varsResolver;\nCodeHighlight.Control = CodeHighlightControl;\n"],"mappings":"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"}
|
|
@@ -1,12 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const [CodeHighlightContextProvider, useCodeHighlightContext] = core.createSafeContext(
|
|
7
|
-
"CodeHighlightProvider was not found in the component tree"
|
|
8
|
-
);
|
|
9
|
-
|
|
1
|
+
"use client";
|
|
2
|
+
require("../_virtual/_rolldown/runtime.cjs");
|
|
3
|
+
//#region packages/@mantine/code-highlight/src/CodeHighlight/CodeHighlight.context.ts
|
|
4
|
+
const [CodeHighlightContextProvider, useCodeHighlightContext] = (0, require("@mantine/core").createSafeContext)("CodeHighlightProvider was not found in the component tree");
|
|
5
|
+
//#endregion
|
|
10
6
|
exports.CodeHighlightContextProvider = CodeHighlightContextProvider;
|
|
11
7
|
exports.useCodeHighlightContext = useCodeHighlightContext;
|
|
12
|
-
|
|
8
|
+
|
|
9
|
+
//# sourceMappingURL=CodeHighlight.context.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CodeHighlight.context.cjs","sources":["../../src/CodeHighlight/CodeHighlight.context.ts"],"sourcesContent":["import { createSafeContext, GetStylesApi } from '@mantine/core';\nimport type { CodeHighlightFactory } from './CodeHighlight';\n\nexport interface CodeHighlightContextValue {\n getStyles: GetStylesApi<CodeHighlightFactory>;\n codeColorScheme: 'light' | 'dark' | (string & {}) | undefined;\n}\n\nexport const [CodeHighlightContextProvider, useCodeHighlightContext] =\n createSafeContext<CodeHighlightContextValue>(\n 'CodeHighlightProvider was not found in the component tree'\n );\n"],"
|
|
1
|
+
{"version":3,"file":"CodeHighlight.context.cjs","names":[],"sources":["../../src/CodeHighlight/CodeHighlight.context.ts"],"sourcesContent":["import { createSafeContext, GetStylesApi } from '@mantine/core';\nimport type { CodeHighlightFactory } from './CodeHighlight';\n\nexport interface CodeHighlightContextValue {\n getStyles: GetStylesApi<CodeHighlightFactory>;\n codeColorScheme: 'light' | 'dark' | (string & {}) | undefined;\n}\n\nexport const [CodeHighlightContextProvider, useCodeHighlightContext] =\n createSafeContext<CodeHighlightContextValue>(\n 'CodeHighlightProvider was not found in the component tree'\n );\n"],"mappings":";;;AAQA,MAAa,CAAC,8BAA8B,4BAAA,4BAAA,mBAExC,4DACD"}
|
|
@@ -1,43 +1,34 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
position: "bottom",
|
|
30
|
-
classNames: { tooltip: tooltipStyles.className },
|
|
31
|
-
styles: { tooltip: tooltipStyles.style },
|
|
32
|
-
"data-code-color-scheme": ctx.codeColorScheme,
|
|
33
|
-
transitionProps: { duration: 0 },
|
|
34
|
-
children: control
|
|
35
|
-
}
|
|
36
|
-
);
|
|
37
|
-
}
|
|
38
|
-
return control;
|
|
1
|
+
"use client";
|
|
2
|
+
require("../../_virtual/_rolldown/runtime.cjs");
|
|
3
|
+
const require_CodeHighlight_context = require("../CodeHighlight.context.cjs");
|
|
4
|
+
let _mantine_core = require("@mantine/core");
|
|
5
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
6
|
+
//#region packages/@mantine/code-highlight/src/CodeHighlight/CodeHighlightControl/CodeHighlightControl.tsx
|
|
7
|
+
const CodeHighlightControl = (0, _mantine_core.polymorphicFactory)((_props) => {
|
|
8
|
+
const { children, vars, tooltipLabel, ...others } = (0, _mantine_core.useProps)("CodeHighlightControl", null, _props);
|
|
9
|
+
const ctx = require_CodeHighlight_context.useCodeHighlightContext();
|
|
10
|
+
const tooltipStyles = ctx.getStyles("controlTooltip");
|
|
11
|
+
const control = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mantine_core.ActionIcon, {
|
|
12
|
+
...ctx.getStyles("control"),
|
|
13
|
+
...others,
|
|
14
|
+
variant: "none",
|
|
15
|
+
"data-code-color-scheme": ctx.codeColorScheme,
|
|
16
|
+
children
|
|
17
|
+
});
|
|
18
|
+
if (tooltipLabel) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mantine_core.Tooltip, {
|
|
19
|
+
label: tooltipLabel,
|
|
20
|
+
fz: "sm",
|
|
21
|
+
position: "bottom",
|
|
22
|
+
classNames: { tooltip: tooltipStyles.className },
|
|
23
|
+
styles: { tooltip: tooltipStyles.style },
|
|
24
|
+
"data-code-color-scheme": ctx.codeColorScheme,
|
|
25
|
+
transitionProps: { duration: 0 },
|
|
26
|
+
children: control
|
|
27
|
+
});
|
|
28
|
+
return control;
|
|
39
29
|
});
|
|
40
30
|
CodeHighlightControl.displayName = "@mantine/code-highlight/CodeHighlightControl";
|
|
41
|
-
|
|
31
|
+
//#endregion
|
|
42
32
|
exports.CodeHighlightControl = CodeHighlightControl;
|
|
43
|
-
|
|
33
|
+
|
|
34
|
+
//# sourceMappingURL=CodeHighlightControl.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CodeHighlightControl.cjs","sources":["../../../src/CodeHighlight/CodeHighlightControl/CodeHighlightControl.tsx"],"sourcesContent":["import {\n ActionIcon,\n BoxProps,\n MantinePolymorphicComponent,\n polymorphicFactory,\n PolymorphicFactory,\n StylesApiProps,\n Tooltip,\n useProps,\n} from '@mantine/core';\nimport { useCodeHighlightContext } from '../CodeHighlight.context';\n\nexport interface CodeHighlightControlProps\n extends BoxProps, StylesApiProps<CodeHighlightControlFactory> {\n /** Control icon */\n children?: React.ReactNode;\n\n /** Label displayed in the tooltip when the control is hovered */\n tooltipLabel?: string;\n}\n\nexport type CodeHighlightControlFactory = PolymorphicFactory<{\n props: CodeHighlightControlProps;\n defaultRef: HTMLButtonElement;\n defaultComponent: 'button';\n}>;\n\nexport const CodeHighlightControl: MantinePolymorphicComponent<CodeHighlightControlFactory> =\n polymorphicFactory<CodeHighlightControlFactory>((_props) => {\n const props = useProps('CodeHighlightControl', null, _props);\n const { children, vars, tooltipLabel, ...others } = props;\n const ctx = useCodeHighlightContext();\n const tooltipStyles = ctx.getStyles('controlTooltip');\n\n const control = (\n <ActionIcon\n {...ctx.getStyles('control')}\n {...others}\n variant=\"none\"\n data-code-color-scheme={ctx.codeColorScheme}\n >\n {children}\n </ActionIcon>\n );\n\n if (tooltipLabel) {\n return (\n <Tooltip\n label={tooltipLabel}\n fz=\"sm\"\n position=\"bottom\"\n classNames={{ tooltip: tooltipStyles.className }}\n styles={{ tooltip: tooltipStyles.style }}\n data-code-color-scheme={ctx.codeColorScheme}\n transitionProps={{ duration: 0 }}\n >\n {control}\n </Tooltip>\n );\n }\n\n return control;\n });\n\nCodeHighlightControl.displayName = '@mantine/code-highlight/CodeHighlightControl';\n"],"
|
|
1
|
+
{"version":3,"file":"CodeHighlightControl.cjs","names":["useCodeHighlightContext","ActionIcon","Tooltip"],"sources":["../../../src/CodeHighlight/CodeHighlightControl/CodeHighlightControl.tsx"],"sourcesContent":["import {\n ActionIcon,\n BoxProps,\n MantinePolymorphicComponent,\n polymorphicFactory,\n PolymorphicFactory,\n StylesApiProps,\n Tooltip,\n useProps,\n} from '@mantine/core';\nimport { useCodeHighlightContext } from '../CodeHighlight.context';\n\nexport interface CodeHighlightControlProps\n extends BoxProps, StylesApiProps<CodeHighlightControlFactory> {\n /** Control icon */\n children?: React.ReactNode;\n\n /** Label displayed in the tooltip when the control is hovered */\n tooltipLabel?: string;\n}\n\nexport type CodeHighlightControlFactory = PolymorphicFactory<{\n props: CodeHighlightControlProps;\n defaultRef: HTMLButtonElement;\n defaultComponent: 'button';\n}>;\n\nexport const CodeHighlightControl: MantinePolymorphicComponent<CodeHighlightControlFactory> =\n polymorphicFactory<CodeHighlightControlFactory>((_props) => {\n const props = useProps('CodeHighlightControl', null, _props);\n const { children, vars, tooltipLabel, ...others } = props;\n const ctx = useCodeHighlightContext();\n const tooltipStyles = ctx.getStyles('controlTooltip');\n\n const control = (\n <ActionIcon\n {...ctx.getStyles('control')}\n {...others}\n variant=\"none\"\n data-code-color-scheme={ctx.codeColorScheme}\n >\n {children}\n </ActionIcon>\n );\n\n if (tooltipLabel) {\n return (\n <Tooltip\n label={tooltipLabel}\n fz=\"sm\"\n position=\"bottom\"\n classNames={{ tooltip: tooltipStyles.className }}\n styles={{ tooltip: tooltipStyles.style }}\n data-code-color-scheme={ctx.codeColorScheme}\n transitionProps={{ duration: 0 }}\n >\n {control}\n </Tooltip>\n );\n }\n\n return control;\n });\n\nCodeHighlightControl.displayName = '@mantine/code-highlight/CodeHighlightControl';\n"],"mappings":";;;;;;AA2BA,MAAa,wBAAA,GAAA,cAAA,qBACsC,WAAW;CAE1D,MAAM,EAAE,UAAU,MAAM,cAAc,GAAG,YAAA,GAAA,cAAA,UADlB,wBAAwB,MAAM,OAAO;CAE5D,MAAM,MAAMA,8BAAAA,yBAAyB;CACrC,MAAM,gBAAgB,IAAI,UAAU,iBAAiB;CAErD,MAAM,UACJ,iBAAA,GAAA,kBAAA,KAACC,cAAAA,YAAD;EACE,GAAI,IAAI,UAAU,UAAU;EAC5B,GAAI;EACJ,SAAQ;EACR,0BAAwB,IAAI;EAE3B;EACU,CAAA;AAGf,KAAI,aACF,QACE,iBAAA,GAAA,kBAAA,KAACC,cAAAA,SAAD;EACE,OAAO;EACP,IAAG;EACH,UAAS;EACT,YAAY,EAAE,SAAS,cAAc,WAAW;EAChD,QAAQ,EAAE,SAAS,cAAc,OAAO;EACxC,0BAAwB,IAAI;EAC5B,iBAAiB,EAAE,UAAU,GAAG;YAE/B;EACO,CAAA;AAId,QAAO;EACP;AAEJ,qBAAqB,cAAc"}
|
|
@@ -1,29 +1,22 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
{
|
|
18
|
-
onClick: () => clipboard.copy(code.trim()),
|
|
19
|
-
variant: "none",
|
|
20
|
-
tooltipLabel: clipboard.copied ? copiedLabel : copyLabel,
|
|
21
|
-
"aria-label": clipboard.copied ? copiedLabel : `${copyLabel} code`,
|
|
22
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(CopyIcon.CopyIcon, { copied: clipboard.copied })
|
|
23
|
-
}
|
|
24
|
-
);
|
|
1
|
+
"use client";
|
|
2
|
+
require("../../_virtual/_rolldown/runtime.cjs");
|
|
3
|
+
const require_CodeHighlightControl = require("../CodeHighlightControl/CodeHighlightControl.cjs");
|
|
4
|
+
const require_CopyIcon = require("./CopyIcon.cjs");
|
|
5
|
+
let _mantine_hooks = require("@mantine/hooks");
|
|
6
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
7
|
+
//#region packages/@mantine/code-highlight/src/CodeHighlight/CopyCodeButton/CopyCodeButton.tsx
|
|
8
|
+
function CopyCodeButton({ code, copyLabel = "Copy", copiedLabel = "Copied" }) {
|
|
9
|
+
const clipboard = (0, _mantine_hooks.useClipboard)();
|
|
10
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_CodeHighlightControl.CodeHighlightControl, {
|
|
11
|
+
onClick: () => clipboard.copy(code.trim()),
|
|
12
|
+
variant: "none",
|
|
13
|
+
tooltipLabel: clipboard.copied ? copiedLabel : copyLabel,
|
|
14
|
+
"aria-label": clipboard.copied ? copiedLabel : `${copyLabel} code`,
|
|
15
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_CopyIcon.CopyIcon, { copied: clipboard.copied })
|
|
16
|
+
});
|
|
25
17
|
}
|
|
26
18
|
CopyCodeButton.displayName = "@mantine/code-highlight/CopyCodeButton";
|
|
27
|
-
|
|
19
|
+
//#endregion
|
|
28
20
|
exports.CopyCodeButton = CopyCodeButton;
|
|
29
|
-
|
|
21
|
+
|
|
22
|
+
//# sourceMappingURL=CopyCodeButton.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CopyCodeButton.cjs","sources":["../../../src/CodeHighlight/CopyCodeButton/CopyCodeButton.tsx"],"sourcesContent":["import { useClipboard } from '@mantine/hooks';\nimport { CodeHighlightControl } from '../CodeHighlightControl/CodeHighlightControl';\nimport { CopyIcon } from './CopyIcon';\n\ninterface CopyCodeButtonProps {\n code: string;\n copiedLabel?: string;\n copyLabel?: string;\n}\n\nexport function CopyCodeButton({\n code,\n copyLabel = 'Copy',\n copiedLabel = 'Copied',\n}: CopyCodeButtonProps) {\n const clipboard = useClipboard();\n\n return (\n <CodeHighlightControl\n onClick={() => clipboard.copy(code.trim())}\n variant=\"none\"\n tooltipLabel={clipboard.copied ? copiedLabel : copyLabel}\n aria-label={clipboard.copied ? copiedLabel : `${copyLabel} code`}\n >\n <CopyIcon copied={clipboard.copied} />\n </CodeHighlightControl>\n );\n}\n\nCopyCodeButton.displayName = '@mantine/code-highlight/CopyCodeButton';\n"],"
|
|
1
|
+
{"version":3,"file":"CopyCodeButton.cjs","names":["CodeHighlightControl","CopyIcon"],"sources":["../../../src/CodeHighlight/CopyCodeButton/CopyCodeButton.tsx"],"sourcesContent":["import { useClipboard } from '@mantine/hooks';\nimport { CodeHighlightControl } from '../CodeHighlightControl/CodeHighlightControl';\nimport { CopyIcon } from './CopyIcon';\n\ninterface CopyCodeButtonProps {\n code: string;\n copiedLabel?: string;\n copyLabel?: string;\n}\n\nexport function CopyCodeButton({\n code,\n copyLabel = 'Copy',\n copiedLabel = 'Copied',\n}: CopyCodeButtonProps) {\n const clipboard = useClipboard();\n\n return (\n <CodeHighlightControl\n onClick={() => clipboard.copy(code.trim())}\n variant=\"none\"\n tooltipLabel={clipboard.copied ? copiedLabel : copyLabel}\n aria-label={clipboard.copied ? copiedLabel : `${copyLabel} code`}\n >\n <CopyIcon copied={clipboard.copied} />\n </CodeHighlightControl>\n );\n}\n\nCopyCodeButton.displayName = '@mantine/code-highlight/CopyCodeButton';\n"],"mappings":";;;;;;;AAUA,SAAgB,eAAe,EAC7B,MACA,YAAY,QACZ,cAAc,YACQ;CACtB,MAAM,aAAA,GAAA,eAAA,eAA0B;AAEhC,QACE,iBAAA,GAAA,kBAAA,KAACA,6BAAAA,sBAAD;EACE,eAAe,UAAU,KAAK,KAAK,MAAM,CAAC;EAC1C,SAAQ;EACR,cAAc,UAAU,SAAS,cAAc;EAC/C,cAAY,UAAU,SAAS,cAAc,GAAG,UAAU;YAE1D,iBAAA,GAAA,kBAAA,KAACC,iBAAAA,UAAD,EAAU,QAAQ,UAAU,QAAU,CAAA;EACjB,CAAA;;AAI3B,eAAe,cAAc"}
|