@haklex/rich-renderer-codeblock 0.0.13 → 0.0.15
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CodeBlockEditRenderer.d.ts","sourceRoot":"","sources":["../src/CodeBlockEditRenderer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AAEjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAQ1C,eAAO,MAAM,qBAAqB,EAAE,aAAa,CAAC,sBAAsB,
|
|
1
|
+
{"version":3,"file":"CodeBlockEditRenderer.d.ts","sourceRoot":"","sources":["../src/CodeBlockEditRenderer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AAEjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAQ1C,eAAO,MAAM,qBAAqB,EAAE,aAAa,CAAC,sBAAsB,CAqLvE,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CodeBlockRenderer.d.ts","sourceRoot":"","sources":["../src/CodeBlockRenderer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AAEjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAQ1C,eAAO,MAAM,iBAAiB,EAAE,aAAa,CAAC,sBAAsB,
|
|
1
|
+
{"version":3,"file":"CodeBlockRenderer.d.ts","sourceRoot":"","sources":["../src/CodeBlockRenderer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AAEjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAQ1C,eAAO,MAAM,iBAAiB,EAAE,aAAa,CAAC,sBAAsB,CAkEnE,CAAA;AAED,eAAe,iBAAiB,CAAA"}
|
package/dist/index.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
-
import { useColorScheme } from "@haklex/rich-editor";
|
|
2
|
+
import { useVariant, useColorScheme } from "@haklex/rich-editor";
|
|
3
3
|
import { useState, useRef, useEffect, useCallback, useMemo } from "react";
|
|
4
4
|
import { Check, Copy, ChevronDown } from "lucide-react";
|
|
5
5
|
import { normalizeLanguage, getLanguageDisplayName, languageToColorMap } from "./constants.mjs";
|
|
@@ -112,10 +112,12 @@ function CodeBlockCard({
|
|
|
112
112
|
const CodeBlockEditRenderer = ({
|
|
113
113
|
code,
|
|
114
114
|
language,
|
|
115
|
-
showLineNumbers
|
|
115
|
+
showLineNumbers: showLineNumbersProp,
|
|
116
116
|
editable = false,
|
|
117
117
|
onCodeChange
|
|
118
118
|
}) => {
|
|
119
|
+
const variant = useVariant();
|
|
120
|
+
const showLineNumbers = showLineNumbersProp ?? variant !== "comment";
|
|
119
121
|
const colorScheme = useColorScheme();
|
|
120
122
|
const normalizedLanguage = normalizeLanguage(language);
|
|
121
123
|
const [loaded, setLoaded] = useState(false);
|
|
@@ -210,8 +212,8 @@ const CodeBlockEditRenderer = ({
|
|
|
210
212
|
}, [code, normalizedLanguage, colorScheme, showLineNumbers, editable]);
|
|
211
213
|
const fallbackLines = useMemo(() => code.split("\n"), [code]);
|
|
212
214
|
const fallbackClassName = [
|
|
213
|
-
lined,
|
|
214
|
-
semanticClassNames.lined,
|
|
215
|
+
showLineNumbers && lined,
|
|
216
|
+
showLineNumbers && semanticClassNames.lined,
|
|
215
217
|
showLineNumbers && linedWithNumbers,
|
|
216
218
|
showLineNumbers && semanticClassNames.linedWithNumbers
|
|
217
219
|
].filter(Boolean).join(" ");
|
|
@@ -236,8 +238,10 @@ const CodeBlockEditRenderer = ({
|
|
|
236
238
|
const CodeBlockRenderer = ({
|
|
237
239
|
code,
|
|
238
240
|
language,
|
|
239
|
-
showLineNumbers
|
|
241
|
+
showLineNumbers: showLineNumbersProp
|
|
240
242
|
}) => {
|
|
243
|
+
const variant = useVariant();
|
|
244
|
+
const showLineNumbers = showLineNumbersProp ?? variant !== "comment";
|
|
241
245
|
const colorScheme = useColorScheme();
|
|
242
246
|
const normalizedLanguage = normalizeLanguage(language);
|
|
243
247
|
const [html, setHtml] = useState(null);
|
|
@@ -260,8 +264,8 @@ const CodeBlockRenderer = ({
|
|
|
260
264
|
}, [code, normalizedLanguage, colorScheme]);
|
|
261
265
|
const fallbackLines = useMemo(() => code.split("\n"), [code]);
|
|
262
266
|
const linedClassName = [
|
|
263
|
-
lined,
|
|
264
|
-
semanticClassNames.lined,
|
|
267
|
+
showLineNumbers && lined,
|
|
268
|
+
showLineNumbers && semanticClassNames.lined,
|
|
265
269
|
showLineNumbers && linedWithNumbers,
|
|
266
270
|
showLineNumbers && semanticClassNames.linedWithNumbers
|
|
267
271
|
].filter(Boolean).join(" ");
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
._1pn9r4q0 {
|
|
2
2
|
--rr-code-accent: #737373;
|
|
3
|
+
--font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
|
|
3
4
|
position: relative;
|
|
4
5
|
margin: 1.5rem 0;
|
|
5
6
|
border-radius: 0.5rem;
|
|
@@ -101,6 +102,13 @@
|
|
|
101
102
|
._1pn9r4qa:hover {
|
|
102
103
|
opacity: 1;
|
|
103
104
|
}
|
|
105
|
+
._1pn9r4q0 .shikicode.input, ._1pn9r4q0 .shikicode.output, ._1pn9r4q0 .shikicode.output code, ._1pn9r4q0 .shikicode.output .line, ._1pn9r4q0 .shikicode.output .line span {
|
|
106
|
+
font-variant-ligatures: none;
|
|
107
|
+
font-kerning: none;
|
|
108
|
+
}
|
|
109
|
+
._1pn9r4q7 pre, ._1pn9r4q7 code, ._1pn9r4q7 .line, ._1pn9r4q7 .line span {
|
|
110
|
+
font-family: inherit !important;
|
|
111
|
+
}
|
|
104
112
|
._1pn9r4q0 pre {
|
|
105
113
|
margin: 0 !important;
|
|
106
114
|
padding: 0 !important;
|
|
@@ -114,9 +122,14 @@
|
|
|
114
122
|
._1pn9r4q0 .shiki, ._1pn9r4q0 code, ._1pn9r4q0 pre {
|
|
115
123
|
background: transparent !important;
|
|
116
124
|
}
|
|
117
|
-
.
|
|
125
|
+
._1pn9r4q7:has(.shikicode.input.line-numbers) .shikicode.output .line::before {
|
|
118
126
|
background-color: transparent !important;
|
|
119
127
|
color: color-mix(in srgb, var(--rc-text-secondary) 40%, transparent) !important;
|
|
128
|
+
width: 5em;
|
|
129
|
+
padding-right: 2em;
|
|
130
|
+
}
|
|
131
|
+
._1pn9r4q7:not(:has(.shikicode.input.line-numbers)) .shikicode.output .line::before {
|
|
132
|
+
display: none;
|
|
120
133
|
}
|
|
121
134
|
._1pn9r4q0 .line {
|
|
122
135
|
display: block;
|
package/dist/styles.css.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.css.d.ts","sourceRoot":"","sources":["../src/styles.css.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;CAcrB,CAAA;AAGV,eAAO,MAAM,IAAI,
|
|
1
|
+
{"version":3,"file":"styles.css.d.ts","sourceRoot":"","sources":["../src/styles.css.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;CAcrB,CAAA;AAGV,eAAO,MAAM,IAAI,QAWf,CAAA;AAGF,eAAO,MAAM,IAAI,QAWf,CAAA;AAEF,eAAO,MAAM,QAAQ,QAGnB,CAAA;AAQF,eAAO,MAAM,UAAU,QAuBrB,CAAA;AAGF,eAAO,MAAM,cAAc,QAIzB,CAAA;AAGF,eAAO,MAAM,MAAM,QAIjB,CAAA;AAEF,eAAO,MAAM,eAAe,QAG1B,CAAA;AAGF,eAAO,MAAM,IAAI,QAIf,CAAA;AAEF,eAAO,MAAM,YAAY,QAAY,CAAA;AAYrC,eAAO,MAAM,UAAU,QAUrB,CAAA;AAEF,eAAO,MAAM,YAAY,QAiBvB,CAAA;AA2HF,eAAO,MAAM,KAAK,QAEhB,CAAA;AAiBF,eAAO,MAAM,gBAAgB,QAAY,CAAA;AAmBzC,eAAO,MAAM,yBAAyB;;;;;;CAM5B,CAAA;AAiFV,eAAO,MAAM,WAAW,QAA2B,CAAA;AACnD,eAAO,MAAM,aAAa,QAA6B,CAAA;AACvD,eAAO,MAAM,WAAW,QAA2B,CAAA;AACnD,eAAO,MAAM,iBAAiB,QAAiC,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@haklex/rich-renderer-codeblock",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.15",
|
|
4
4
|
"description": "Code block renderer with Shiki syntax highlighting",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -33,8 +33,8 @@
|
|
|
33
33
|
"lucide-react": "^0.574.0",
|
|
34
34
|
"shiki": "^3.21.0",
|
|
35
35
|
"shikicode": "*",
|
|
36
|
-
"@haklex/rich-editor": "0.0.
|
|
37
|
-
"@haklex/rich-style-token": "0.0.
|
|
36
|
+
"@haklex/rich-editor": "0.0.15",
|
|
37
|
+
"@haklex/rich-style-token": "0.0.15"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
40
|
"@types/react": "^19.0.0",
|