@mindlogic-ai/logician-ui 3.0.0-alpha.27 → 3.0.0-alpha.28
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/dist/components/Code/Code.d.ts +1 -1
- package/dist/components/Code/Code.d.ts.map +1 -1
- package/dist/components/Code/Code.js +2 -2
- package/dist/components/Code/Code.js.map +1 -1
- package/dist/components/Code/Code.mjs +2 -2
- package/dist/components/Code/Code.mjs.map +1 -1
- package/dist/components/Code/Code.types.d.ts +5 -0
- package/dist/components/Code/Code.types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/Code/Code.stories.tsx +32 -0
- package/src/components/Code/Code.tsx +2 -0
- package/src/components/Code/Code.types.ts +6 -0
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { CodeProps } from './Code.types';
|
|
2
|
-
export declare const Code: ({ children, language: languageProp, onCopy, hideHeader, containerProps, ...rest }: CodeProps) => import("react/jsx-runtime").JSX.Element;
|
|
2
|
+
export declare const Code: ({ children, language: languageProp, onCopy, hideHeader, showLineNumbers, containerProps, ...rest }: CodeProps) => import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
//# sourceMappingURL=Code.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Code.d.ts","sourceRoot":"","sources":["../../../src/components/Code/Code.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC,eAAO,MAAM,IAAI,GAAI,
|
|
1
|
+
{"version":3,"file":"Code.d.ts","sourceRoot":"","sources":["../../../src/components/Code/Code.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC,eAAO,MAAM,IAAI,GAAI,oGAQlB,SAAS,4CA6DX,CAAC"}
|
|
@@ -6,12 +6,12 @@ var react = require('@chakra-ui/react');
|
|
|
6
6
|
var index = require('../Icon/index.js');
|
|
7
7
|
var shikiAdapter = require('./shikiAdapter.js');
|
|
8
8
|
|
|
9
|
-
const Code = ({ children, language: languageProp, onCopy, hideHeader = false, containerProps, ...rest }) => {
|
|
9
|
+
const Code = ({ children, language: languageProp, onCopy, hideHeader = false, showLineNumbers = false, containerProps, ...rest }) => {
|
|
10
10
|
const language = languageProp === 'js' ? 'javascript' : languageProp;
|
|
11
11
|
const handleCopy = () => {
|
|
12
12
|
onCopy?.(children);
|
|
13
13
|
};
|
|
14
|
-
return (jsxRuntime.jsx(react.CodeBlock.AdapterProvider, { value: shikiAdapter.shikiAdapter, children: jsxRuntime.jsxs(react.CodeBlock.Root, { code: children, language: language, textStyle: "Body", overflow: "hidden", borderColor: "gray.300", ...containerProps, ...rest, onCopy: handleCopy, className: ['ml-code', containerProps?.className]
|
|
14
|
+
return (jsxRuntime.jsx(react.CodeBlock.AdapterProvider, { value: shikiAdapter.shikiAdapter, children: jsxRuntime.jsxs(react.CodeBlock.Root, { code: children, language: language, meta: { showLineNumbers }, textStyle: "Body", overflow: "hidden", borderColor: "gray.300", ...containerProps, ...rest, onCopy: handleCopy, className: ['ml-code', containerProps?.className]
|
|
15
15
|
.filter(Boolean)
|
|
16
16
|
.join(' '), children: [!hideHeader && language && (jsxRuntime.jsxs(react.CodeBlock.Header, { className: "ml-code-header", px: 4, py: 2, bgColor: "white", zIndex: 2, children: [jsxRuntime.jsx(react.CodeBlock.Title, { fontFamily: "mono", fontWeight: "bold", color: "gray.1200", children: language }), jsxRuntime.jsx(react.CodeBlock.Control, { children: onCopy && (jsxRuntime.jsx(react.CodeBlock.CopyTrigger, { "aria-label": "Copy code", color: "gray.600", cursor: "pointer", children: jsxRuntime.jsx(react.CodeBlock.CopyIndicator, { copied: jsxRuntime.jsx(index.FaCheck, { color: "success.main", boxSize: "xs" }) }) })) })] })), jsxRuntime.jsx(react.CodeBlock.Content, { children: jsxRuntime.jsx(react.CodeBlock.Code, { children: jsxRuntime.jsx(react.CodeBlock.CodeText, {}) }) })] }) }));
|
|
17
17
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Code.js","sources":["../../../src/components/Code/Code.tsx"],"sourcesContent":[null],"names":["_jsx","ChakraCodeBlock","shikiAdapter","_jsxs","FaCheck"],"mappings":";;;;;;;;AAMO,MAAM,IAAI,GAAG,CAAC,EACnB,QAAQ,EACR,QAAQ,EAAE,YAAY,EACtB,MAAM,EACN,UAAU,GAAG,KAAK,EAClB,cAAc,EACd,GAAG,IAAI,EACG,KAAI;AACd,IAAA,MAAM,QAAQ,GAAG,YAAY,KAAK,IAAI,GAAG,YAAY,GAAG,YAAY;IAEpE,MAAM,UAAU,GAAG,MAAK;AACtB,QAAA,MAAM,GAAG,QAAQ,CAAC;AACpB,IAAA,CAAC;IAED,QACEA,
|
|
1
|
+
{"version":3,"file":"Code.js","sources":["../../../src/components/Code/Code.tsx"],"sourcesContent":[null],"names":["_jsx","ChakraCodeBlock","shikiAdapter","_jsxs","FaCheck"],"mappings":";;;;;;;;AAMO,MAAM,IAAI,GAAG,CAAC,EACnB,QAAQ,EACR,QAAQ,EAAE,YAAY,EACtB,MAAM,EACN,UAAU,GAAG,KAAK,EAClB,eAAe,GAAG,KAAK,EACvB,cAAc,EACd,GAAG,IAAI,EACG,KAAI;AACd,IAAA,MAAM,QAAQ,GAAG,YAAY,KAAK,IAAI,GAAG,YAAY,GAAG,YAAY;IAEpE,MAAM,UAAU,GAAG,MAAK;AACtB,QAAA,MAAM,GAAG,QAAQ,CAAC;AACpB,IAAA,CAAC;IAED,QACEA,cAAA,CAACC,eAAe,CAAC,eAAe,EAAA,EAAC,KAAK,EAAEC,yBAAY,EAAA,QAAA,EAClDC,eAAA,CAACF,eAAe,CAAC,IAAI,EAAA,EACnB,IAAI,EAAE,QAAQ,EACd,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,EAAE,eAAe,EAAE,EACzB,SAAS,EAAC,MAAM,EAChB,QAAQ,EAAC,QAAQ,EACjB,WAAW,EAAC,UAAU,EAAA,GAClB,cAAc,EAAA,GACd,IAAI,EACR,MAAM,EAAE,UAAU,EAClB,SAAS,EAAE,CAAC,SAAS,EAAE,cAAc,EAAE,SAAS;iBAC7C,MAAM,CAAC,OAAO;iBACd,IAAI,CAAC,GAAG,CAAC,EAAA,QAAA,EAAA,CAEX,CAAC,UAAU,IAAI,QAAQ,KACtBE,eAAA,CAACF,eAAe,CAAC,MAAM,EAAA,EACrB,SAAS,EAAC,gBAAgB,EAC1B,EAAE,EAAE,CAAC,EACL,EAAE,EAAE,CAAC,EACL,OAAO,EAAC,OAAO,EACf,MAAM,EAAE,CAAC,EAAA,QAAA,EAAA,CAETD,cAAA,CAACC,eAAe,CAAC,KAAK,EAAA,EACpB,UAAU,EAAC,MAAM,EACjB,UAAU,EAAC,MAAM,EACjB,KAAK,EAAC,WAAW,EAAA,QAAA,EAEhB,QAAQ,EAAA,CACa,EACxBD,cAAA,CAACC,eAAe,CAAC,OAAO,EAAA,EAAA,QAAA,EACrB,MAAM,KACLD,cAAA,CAACC,eAAe,CAAC,WAAW,EAAA,EAAA,YAAA,EACf,WAAW,EACtB,KAAK,EAAC,UAAU,EAChB,MAAM,EAAC,SAAS,EAAA,QAAA,EAEhBD,cAAA,CAACC,eAAe,CAAC,aAAa,EAAA,EAC5B,MAAM,EAAED,cAAA,CAACI,aAAO,EAAA,EAAC,KAAK,EAAC,cAAc,EAAC,OAAO,EAAC,IAAI,EAAA,CAAG,EAAA,CACrD,EAAA,CAC0B,CAC/B,EAAA,CACuB,CAAA,EAAA,CACH,CAC1B,EACDJ,cAAA,CAACC,eAAe,CAAC,OAAO,EAAA,EAAA,QAAA,EACtBD,cAAA,CAACC,eAAe,CAAC,IAAI,EAAA,EAAA,QAAA,EACnBD,cAAA,CAACC,eAAe,CAAC,QAAQ,EAAA,EAAA,CAAG,EAAA,CACP,EAAA,CACC,CAAA,EAAA,CACL,EAAA,CACS;AAEtC;;;;"}
|
|
@@ -4,12 +4,12 @@ import { CodeBlock } from '@chakra-ui/react';
|
|
|
4
4
|
import { FaCheck } from '../Icon/index.mjs';
|
|
5
5
|
import { shikiAdapter } from './shikiAdapter.mjs';
|
|
6
6
|
|
|
7
|
-
const Code = ({ children, language: languageProp, onCopy, hideHeader = false, containerProps, ...rest }) => {
|
|
7
|
+
const Code = ({ children, language: languageProp, onCopy, hideHeader = false, showLineNumbers = false, containerProps, ...rest }) => {
|
|
8
8
|
const language = languageProp === 'js' ? 'javascript' : languageProp;
|
|
9
9
|
const handleCopy = () => {
|
|
10
10
|
onCopy?.(children);
|
|
11
11
|
};
|
|
12
|
-
return (jsx(CodeBlock.AdapterProvider, { value: shikiAdapter, children: jsxs(CodeBlock.Root, { code: children, language: language, textStyle: "Body", overflow: "hidden", borderColor: "gray.300", ...containerProps, ...rest, onCopy: handleCopy, className: ['ml-code', containerProps?.className]
|
|
12
|
+
return (jsx(CodeBlock.AdapterProvider, { value: shikiAdapter, children: jsxs(CodeBlock.Root, { code: children, language: language, meta: { showLineNumbers }, textStyle: "Body", overflow: "hidden", borderColor: "gray.300", ...containerProps, ...rest, onCopy: handleCopy, className: ['ml-code', containerProps?.className]
|
|
13
13
|
.filter(Boolean)
|
|
14
14
|
.join(' '), children: [!hideHeader && language && (jsxs(CodeBlock.Header, { className: "ml-code-header", px: 4, py: 2, bgColor: "white", zIndex: 2, children: [jsx(CodeBlock.Title, { fontFamily: "mono", fontWeight: "bold", color: "gray.1200", children: language }), jsx(CodeBlock.Control, { children: onCopy && (jsx(CodeBlock.CopyTrigger, { "aria-label": "Copy code", color: "gray.600", cursor: "pointer", children: jsx(CodeBlock.CopyIndicator, { copied: jsx(FaCheck, { color: "success.main", boxSize: "xs" }) }) })) })] })), jsx(CodeBlock.Content, { children: jsx(CodeBlock.Code, { children: jsx(CodeBlock.CodeText, {}) }) })] }) }));
|
|
15
15
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Code.mjs","sources":["../../../src/components/Code/Code.tsx"],"sourcesContent":[null],"names":["_jsx","ChakraCodeBlock","_jsxs"],"mappings":";;;;;;AAMO,MAAM,IAAI,GAAG,CAAC,EACnB,QAAQ,EACR,QAAQ,EAAE,YAAY,EACtB,MAAM,EACN,UAAU,GAAG,KAAK,EAClB,cAAc,EACd,GAAG,IAAI,EACG,KAAI;AACd,IAAA,MAAM,QAAQ,GAAG,YAAY,KAAK,IAAI,GAAG,YAAY,GAAG,YAAY;IAEpE,MAAM,UAAU,GAAG,MAAK;AACtB,QAAA,MAAM,GAAG,QAAQ,CAAC;AACpB,IAAA,CAAC;IAED,QACEA,
|
|
1
|
+
{"version":3,"file":"Code.mjs","sources":["../../../src/components/Code/Code.tsx"],"sourcesContent":[null],"names":["_jsx","ChakraCodeBlock","_jsxs"],"mappings":";;;;;;AAMO,MAAM,IAAI,GAAG,CAAC,EACnB,QAAQ,EACR,QAAQ,EAAE,YAAY,EACtB,MAAM,EACN,UAAU,GAAG,KAAK,EAClB,eAAe,GAAG,KAAK,EACvB,cAAc,EACd,GAAG,IAAI,EACG,KAAI;AACd,IAAA,MAAM,QAAQ,GAAG,YAAY,KAAK,IAAI,GAAG,YAAY,GAAG,YAAY;IAEpE,MAAM,UAAU,GAAG,MAAK;AACtB,QAAA,MAAM,GAAG,QAAQ,CAAC;AACpB,IAAA,CAAC;IAED,QACEA,GAAA,CAACC,SAAe,CAAC,eAAe,EAAA,EAAC,KAAK,EAAE,YAAY,EAAA,QAAA,EAClDC,IAAA,CAACD,SAAe,CAAC,IAAI,EAAA,EACnB,IAAI,EAAE,QAAQ,EACd,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,EAAE,eAAe,EAAE,EACzB,SAAS,EAAC,MAAM,EAChB,QAAQ,EAAC,QAAQ,EACjB,WAAW,EAAC,UAAU,EAAA,GAClB,cAAc,EAAA,GACd,IAAI,EACR,MAAM,EAAE,UAAU,EAClB,SAAS,EAAE,CAAC,SAAS,EAAE,cAAc,EAAE,SAAS;iBAC7C,MAAM,CAAC,OAAO;iBACd,IAAI,CAAC,GAAG,CAAC,EAAA,QAAA,EAAA,CAEX,CAAC,UAAU,IAAI,QAAQ,KACtBC,IAAA,CAACD,SAAe,CAAC,MAAM,EAAA,EACrB,SAAS,EAAC,gBAAgB,EAC1B,EAAE,EAAE,CAAC,EACL,EAAE,EAAE,CAAC,EACL,OAAO,EAAC,OAAO,EACf,MAAM,EAAE,CAAC,EAAA,QAAA,EAAA,CAETD,GAAA,CAACC,SAAe,CAAC,KAAK,EAAA,EACpB,UAAU,EAAC,MAAM,EACjB,UAAU,EAAC,MAAM,EACjB,KAAK,EAAC,WAAW,EAAA,QAAA,EAEhB,QAAQ,EAAA,CACa,EACxBD,GAAA,CAACC,SAAe,CAAC,OAAO,EAAA,EAAA,QAAA,EACrB,MAAM,KACLD,GAAA,CAACC,SAAe,CAAC,WAAW,EAAA,EAAA,YAAA,EACf,WAAW,EACtB,KAAK,EAAC,UAAU,EAChB,MAAM,EAAC,SAAS,EAAA,QAAA,EAEhBD,GAAA,CAACC,SAAe,CAAC,aAAa,EAAA,EAC5B,MAAM,EAAED,GAAA,CAAC,OAAO,EAAA,EAAC,KAAK,EAAC,cAAc,EAAC,OAAO,EAAC,IAAI,EAAA,CAAG,EAAA,CACrD,EAAA,CAC0B,CAC/B,EAAA,CACuB,CAAA,EAAA,CACH,CAC1B,EACDA,GAAA,CAACC,SAAe,CAAC,OAAO,EAAA,EAAA,QAAA,EACtBD,GAAA,CAACC,SAAe,CAAC,IAAI,EAAA,EAAA,QAAA,EACnBD,GAAA,CAACC,SAAe,CAAC,QAAQ,EAAA,EAAA,CAAG,EAAA,CACP,EAAA,CACC,CAAA,EAAA,CACL,EAAA,CACS;AAEtC;;;;"}
|
|
@@ -27,5 +27,10 @@ export interface CodeProps extends Omit<CodeBlockRootProps, 'code' | 'onCopy' |
|
|
|
27
27
|
* @default false
|
|
28
28
|
*/
|
|
29
29
|
hideHeader?: boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Whether to show line numbers in the code block.
|
|
32
|
+
* @default false
|
|
33
|
+
*/
|
|
34
|
+
showLineNumbers?: boolean;
|
|
30
35
|
}
|
|
31
36
|
//# sourceMappingURL=Code.types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Code.types.d.ts","sourceRoot":"","sources":["../../../src/components/Code/Code.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD;;GAEG;AACH,MAAM,WAAW,SAAU,SAAQ,IAAI,CACrC,kBAAkB,EAClB,MAAM,GAAG,QAAQ,GAAG,UAAU,GAAG,UAAU,CAC5C;IACC,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAE/B;;OAEG;IACH,cAAc,CAAC,EAAE,IAAI,CACnB,kBAAkB,EAClB,MAAM,GAAG,QAAQ,GAAG,UAAU,GAAG,UAAU,CAC5C,CAAC;IAEF;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Code.types.d.ts","sourceRoot":"","sources":["../../../src/components/Code/Code.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD;;GAEG;AACH,MAAM,WAAW,SAAU,SAAQ,IAAI,CACrC,kBAAkB,EAClB,MAAM,GAAG,QAAQ,GAAG,UAAU,GAAG,UAAU,CAC5C;IACC,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAE/B;;OAEG;IACH,cAAc,CAAC,EAAE,IAAI,CACnB,kBAAkB,EAClB,MAAM,GAAG,QAAQ,GAAG,UAAU,GAAG,UAAU,CAC5C,CAAC;IAEF;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B"}
|
package/package.json
CHANGED
|
@@ -312,6 +312,38 @@ export const Fetcher = forwardRef(
|
|
|
312
312
|
},
|
|
313
313
|
};
|
|
314
314
|
|
|
315
|
+
export const WithLineNumbers: Story = {
|
|
316
|
+
args: {
|
|
317
|
+
language: 'typescript',
|
|
318
|
+
showLineNumbers: true,
|
|
319
|
+
children: `type User = {
|
|
320
|
+
id: string;
|
|
321
|
+
name: string;
|
|
322
|
+
email: string;
|
|
323
|
+
};
|
|
324
|
+
|
|
325
|
+
const getUser = async (id: string): Promise<User> => {
|
|
326
|
+
const res = await fetch(\`/api/users/\${id}\`);
|
|
327
|
+
return res.json();
|
|
328
|
+
};`,
|
|
329
|
+
},
|
|
330
|
+
};
|
|
331
|
+
|
|
332
|
+
export const WithLineNumbersAndCopy: Story = {
|
|
333
|
+
args: {
|
|
334
|
+
language: 'tsx',
|
|
335
|
+
showLineNumbers: true,
|
|
336
|
+
onCopy: (str) => navigator.clipboard.writeText(str),
|
|
337
|
+
children: `import { Code } from '@mindlogic-ai/logician-ui';
|
|
338
|
+
|
|
339
|
+
export const Example = () => (
|
|
340
|
+
<Code language="tsx" showLineNumbers>
|
|
341
|
+
{'const greeting = "hello";'}
|
|
342
|
+
</Code>
|
|
343
|
+
);`,
|
|
344
|
+
},
|
|
345
|
+
};
|
|
346
|
+
|
|
315
347
|
export const CustomContainer: Story = {
|
|
316
348
|
args: {
|
|
317
349
|
language: 'typescript',
|
|
@@ -9,6 +9,7 @@ export const Code = ({
|
|
|
9
9
|
language: languageProp,
|
|
10
10
|
onCopy,
|
|
11
11
|
hideHeader = false,
|
|
12
|
+
showLineNumbers = false,
|
|
12
13
|
containerProps,
|
|
13
14
|
...rest
|
|
14
15
|
}: CodeProps) => {
|
|
@@ -23,6 +24,7 @@ export const Code = ({
|
|
|
23
24
|
<ChakraCodeBlock.Root
|
|
24
25
|
code={children}
|
|
25
26
|
language={language}
|
|
27
|
+
meta={{ showLineNumbers }}
|
|
26
28
|
textStyle="Body"
|
|
27
29
|
overflow="hidden"
|
|
28
30
|
borderColor="gray.300"
|