@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.
@@ -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,mFAOlB,SAAS,4CA4DX,CAAC"}
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,eAACC,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,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;;;;"}
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,IAACC,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,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;;;;"}
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;CACtB"}
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mindlogic-ai/logician-ui",
3
- "version": "3.0.0-alpha.27",
3
+ "version": "3.0.0-alpha.28",
4
4
  "description": "A comprehensive React design system built on Chakra UI",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",
@@ -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"
@@ -38,4 +38,10 @@ export interface CodeProps extends Omit<
38
38
  * @default false
39
39
  */
40
40
  hideHeader?: boolean;
41
+
42
+ /**
43
+ * Whether to show line numbers in the code block.
44
+ * @default false
45
+ */
46
+ showLineNumbers?: boolean;
41
47
  }