@raystack/apsara 0.52.0 → 0.53.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/dist/components/code-block/__tests__/code-block.test.d.ts +2 -0
  2. package/dist/components/code-block/__tests__/code-block.test.d.ts.map +1 -0
  3. package/dist/components/code-block/code-block-code.cjs +50 -0
  4. package/dist/components/code-block/code-block-code.cjs.map +1 -0
  5. package/dist/components/code-block/code-block-code.d.ts +10 -0
  6. package/dist/components/code-block/code-block-code.d.ts.map +1 -0
  7. package/dist/components/code-block/code-block-code.js +48 -0
  8. package/dist/components/code-block/code-block-code.js.map +1 -0
  9. package/dist/components/code-block/code-block-language-select.cjs +26 -0
  10. package/dist/components/code-block/code-block-language-select.cjs.map +1 -0
  11. package/dist/components/code-block/code-block-language-select.d.ts +7 -0
  12. package/dist/components/code-block/code-block-language-select.d.ts.map +1 -0
  13. package/dist/components/code-block/code-block-language-select.js +23 -0
  14. package/dist/components/code-block/code-block-language-select.js.map +1 -0
  15. package/dist/components/code-block/code-block-misc.cjs +49 -0
  16. package/dist/components/code-block/code-block-misc.cjs.map +1 -0
  17. package/dist/components/code-block/code-block-misc.d.ts +112 -0
  18. package/dist/components/code-block/code-block-misc.d.ts.map +1 -0
  19. package/dist/components/code-block/code-block-misc.js +43 -0
  20. package/dist/components/code-block/code-block-misc.js.map +1 -0
  21. package/dist/components/code-block/code-block-root.cjs +48 -0
  22. package/dist/components/code-block/code-block-root.cjs.map +1 -0
  23. package/dist/components/code-block/code-block-root.d.ts +24 -0
  24. package/dist/components/code-block/code-block-root.d.ts.map +1 -0
  25. package/dist/components/code-block/code-block-root.js +45 -0
  26. package/dist/components/code-block/code-block-root.js.map +1 -0
  27. package/dist/components/code-block/code-block.cjs +23 -0
  28. package/dist/components/code-block/code-block.cjs.map +1 -0
  29. package/dist/components/code-block/code-block.js +21 -0
  30. package/dist/components/code-block/code-block.js.map +1 -0
  31. package/dist/components/code-block/code-block.module.css.cjs +8 -0
  32. package/dist/components/code-block/code-block.module.css.cjs.map +1 -0
  33. package/dist/components/code-block/code-block.module.css.js +4 -0
  34. package/dist/components/code-block/code-block.module.css.js.map +1 -0
  35. package/dist/components/code-block/code.module.css.cjs +8 -0
  36. package/dist/components/code-block/code.module.css.cjs.map +1 -0
  37. package/dist/components/code-block/code.module.css.js +4 -0
  38. package/dist/components/code-block/code.module.css.js.map +1 -0
  39. package/dist/components/code-block/index.d.ts +2 -0
  40. package/dist/components/code-block/index.d.ts.map +1 -0
  41. package/dist/components/copy-button/copy-button.cjs +4 -3
  42. package/dist/components/copy-button/copy-button.cjs.map +1 -1
  43. package/dist/components/copy-button/copy-button.d.ts +2 -3
  44. package/dist/components/copy-button/copy-button.d.ts.map +1 -1
  45. package/dist/components/copy-button/copy-button.js +5 -4
  46. package/dist/components/copy-button/copy-button.js.map +1 -1
  47. package/dist/components/dialog/dialog.cjs +23 -14
  48. package/dist/components/dialog/dialog.cjs.map +1 -1
  49. package/dist/components/dialog/dialog.d.ts +1 -0
  50. package/dist/components/dialog/dialog.d.ts.map +1 -1
  51. package/dist/components/dialog/dialog.js +12 -3
  52. package/dist/components/dialog/dialog.js.map +1 -1
  53. package/dist/components/select/select-root.cjs.map +1 -1
  54. package/dist/components/select/select-root.d.ts +2 -2
  55. package/dist/components/select/select-root.d.ts.map +1 -1
  56. package/dist/components/select/select-root.js.map +1 -1
  57. package/dist/hooks/index.cjs +2 -0
  58. package/dist/hooks/index.cjs.map +1 -1
  59. package/dist/hooks/index.d.ts +1 -0
  60. package/dist/hooks/index.d.ts.map +1 -1
  61. package/dist/hooks/index.js +1 -0
  62. package/dist/hooks/index.js.map +1 -1
  63. package/dist/hooks/useIsomorphicLayoutEffect.cjs +8 -0
  64. package/dist/hooks/useIsomorphicLayoutEffect.cjs.map +1 -0
  65. package/dist/hooks/useIsomorphicLayoutEffect.d.ts +3 -0
  66. package/dist/hooks/useIsomorphicLayoutEffect.d.ts.map +1 -0
  67. package/dist/hooks/useIsomorphicLayoutEffect.js +6 -0
  68. package/dist/hooks/useIsomorphicLayoutEffect.js.map +1 -0
  69. package/dist/index.cjs +2 -0
  70. package/dist/index.cjs.map +1 -1
  71. package/dist/index.d.ts +1 -0
  72. package/dist/index.d.ts.map +1 -1
  73. package/dist/index.js +1 -0
  74. package/dist/index.js.map +1 -1
  75. package/dist/node_modules/.pnpm/prism-react-renderer@2.4.1_react@19.1.1/node_modules/prism-react-renderer/dist/index.cjs +3138 -0
  76. package/dist/node_modules/.pnpm/prism-react-renderer@2.4.1_react@19.1.1/node_modules/prism-react-renderer/dist/index.cjs.map +1 -0
  77. package/dist/node_modules/.pnpm/prism-react-renderer@2.4.1_react@19.1.1/node_modules/prism-react-renderer/dist/index.js +3132 -0
  78. package/dist/node_modules/.pnpm/prism-react-renderer@2.4.1_react@19.1.1/node_modules/prism-react-renderer/dist/index.js.map +1 -0
  79. package/dist/style.css +1 -1
  80. package/package.json +2 -1
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=code-block.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-block.test.d.ts","sourceRoot":"","sources":["../../../../components/code-block/__tests__/code-block.test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,50 @@
1
+ "use client";
2
+ 'use strict';
3
+
4
+ var jsxRuntime = require('react/jsx-runtime');
5
+ var index = require('../../node_modules/.pnpm/class-variance-authority@0.7.1/node_modules/class-variance-authority/dist/index.cjs');
6
+ var index$1 = require('../../node_modules/.pnpm/prism-react-renderer@2.4.1_react@19.1.1/node_modules/prism-react-renderer/dist/index.cjs');
7
+ var React = require('react');
8
+ var useIsomorphicLayoutEffect = require('../../hooks/useIsomorphicLayoutEffect.cjs');
9
+ var codeBlockRoot = require('./code-block-root.cjs');
10
+ var codeBlock_module = require('./code-block.module.css.cjs');
11
+ var code_module = require('./code.module.css.cjs');
12
+
13
+ const emptyTheme = { plain: {}, styles: [] };
14
+ const CodeBlockCode = React.forwardRef(({ children, language, className, value, ...props }, ref) => {
15
+ const { value: contextValue, setCode, setValue } = codeBlockRoot.useCodeBlockContext();
16
+ const computedValue = value ?? language;
17
+ const isContextValueDefined = !!contextValue;
18
+ const shouldRender = !isContextValueDefined || contextValue === computedValue;
19
+ const content = children.trim();
20
+ useIsomorphicLayoutEffect.useIsomorphicLayoutEffect(() => {
21
+ // if value is not defined, set the value
22
+ if (!isContextValueDefined)
23
+ setValue(language);
24
+ // if should render, store the code
25
+ if (shouldRender)
26
+ setCode(content);
27
+ }, [
28
+ content,
29
+ setCode,
30
+ shouldRender,
31
+ setValue,
32
+ language,
33
+ isContextValueDefined
34
+ ]);
35
+ if (!shouldRender)
36
+ return null;
37
+ return (jsxRuntime.jsx("div", { ref: ref, className: index.cx(codeBlock_module.default.codeContent, className), ...props, children: jsxRuntime.jsx(CodeHighlight, { content: content, language: language }) }));
38
+ });
39
+ CodeBlockCode.displayName = 'CodeBlockCode';
40
+ const CodeHighlight = React.memo(({ content, language }) => {
41
+ const { hideLineNumbers, maxLines, collapsed } = codeBlockRoot.useCodeBlockContext();
42
+ const canCollapse = maxLines && maxLines > 0;
43
+ return (jsxRuntime.jsx(index$1.Highlight, { theme: emptyTheme, code: content, language: language, children: ({ className: highlightClassName, style, tokens, getLineProps, getTokenProps }) => {
44
+ const renderedTokens = canCollapse && collapsed ? tokens.slice(0, maxLines) : tokens;
45
+ return (jsxRuntime.jsx("pre", { className: index.cx(code_module.default.theme, codeBlock_module.default.pre, highlightClassName), style: style, children: renderedTokens.map((line, i) => (jsxRuntime.jsxs("div", { ...getLineProps({ line }), children: [!hideLineNumbers && (jsxRuntime.jsx("span", { className: codeBlock_module.default.lineNumber, children: i + 1 })), jsxRuntime.jsx("span", { className: codeBlock_module.default.lineContent, children: line.map((token, key) => (jsxRuntime.jsx("span", { ...getTokenProps({ token }) }, key))) })] }, i))) }));
46
+ } }));
47
+ });
48
+
49
+ exports.CodeBlockCode = CodeBlockCode;
50
+ //# sourceMappingURL=code-block-code.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-block-code.cjs","sources":["../../../components/code-block/code-block-code.tsx"],"sourcesContent":["'use client';\n\nimport { cx } from 'class-variance-authority';\nimport { Highlight } from 'prism-react-renderer';\nimport { Language } from 'prism-react-renderer';\nimport { HTMLAttributes, forwardRef, memo } from 'react';\nimport { useIsomorphicLayoutEffect } from '~/hooks';\nimport { useCodeBlockContext } from './code-block-root';\nimport styles from './code-block.module.css';\nimport code from './code.module.css';\n\nexport interface CodeBlockCodeProps extends HTMLAttributes<HTMLDivElement> {\n children: string;\n language: Language;\n value?: string;\n className?: string;\n}\n\nconst emptyTheme = { plain: {}, styles: [] };\n\nexport const CodeBlockCode = forwardRef<HTMLDivElement, CodeBlockCodeProps>(\n ({ children, language, className, value, ...props }, ref) => {\n const { value: contextValue, setCode, setValue } = useCodeBlockContext();\n const computedValue = value ?? language;\n const isContextValueDefined = !!contextValue;\n const shouldRender =\n !isContextValueDefined || contextValue === computedValue;\n const content = children.trim();\n\n useIsomorphicLayoutEffect(() => {\n // if value is not defined, set the value\n if (!isContextValueDefined) setValue(language);\n // if should render, store the code\n if (shouldRender) setCode(content);\n }, [\n content,\n setCode,\n shouldRender,\n setValue,\n language,\n isContextValueDefined\n ]);\n\n if (!shouldRender) return null;\n\n return (\n <div ref={ref} className={cx(styles.codeContent, className)} {...props}>\n <CodeHighlight content={content} language={language} />\n </div>\n );\n }\n);\n\nCodeBlockCode.displayName = 'CodeBlockCode';\n\nconst CodeHighlight = memo(\n ({ content, language }: { content: string; language: Language }) => {\n const { hideLineNumbers, maxLines, collapsed } = useCodeBlockContext();\n const canCollapse = maxLines && maxLines > 0;\n return (\n <Highlight theme={emptyTheme} code={content} language={language}>\n {({\n className: highlightClassName,\n style,\n tokens,\n getLineProps,\n getTokenProps\n }) => {\n const renderedTokens =\n canCollapse && collapsed ? tokens.slice(0, maxLines) : tokens;\n return (\n <pre\n className={cx(code.theme, styles.pre, highlightClassName)}\n style={style}\n >\n {renderedTokens.map((line, i) => (\n <div key={i} {...getLineProps({ line })}>\n {!hideLineNumbers && (\n <span className={styles.lineNumber}>{i + 1}</span>\n )}\n <span className={styles.lineContent}>\n {line.map((token, key) => (\n <span key={key} {...getTokenProps({ token })} />\n ))}\n </span>\n </div>\n ))}\n </pre>\n );\n }}\n </Highlight>\n );\n }\n);\n"],"names":[],"mappings":";;;;;;;;;;;;AAkBA;;AAII;AACA;AACA;;AAGA;;;AAIE;;;AAEA;;AACF;;;;;;;AAOC;AAED;AAAmB;AAEnB;AAKF;AAGF;AAEA;;AAGI;AACA;;;;AAiCF;;"}
@@ -0,0 +1,10 @@
1
+ import { Language } from 'prism-react-renderer';
2
+ import { HTMLAttributes } from 'react';
3
+ export interface CodeBlockCodeProps extends HTMLAttributes<HTMLDivElement> {
4
+ children: string;
5
+ language: Language;
6
+ value?: string;
7
+ className?: string;
8
+ }
9
+ export declare const CodeBlockCode: import("react").ForwardRefExoticComponent<CodeBlockCodeProps & import("react").RefAttributes<HTMLDivElement>>;
10
+ //# sourceMappingURL=code-block-code.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-block-code.d.ts","sourceRoot":"","sources":["../../../components/code-block/code-block-code.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAoB,MAAM,OAAO,CAAC;AAMzD,MAAM,WAAW,kBAAmB,SAAQ,cAAc,CAAC,cAAc,CAAC;IACxE,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAID,eAAO,MAAM,aAAa,+GA+BzB,CAAC"}
@@ -0,0 +1,48 @@
1
+ "use client";
2
+ import { jsx, jsxs } from 'react/jsx-runtime';
3
+ import { cx } from '../../node_modules/.pnpm/class-variance-authority@0.7.1/node_modules/class-variance-authority/dist/index.js';
4
+ import { Highlight as Highlight2 } from '../../node_modules/.pnpm/prism-react-renderer@2.4.1_react@19.1.1/node_modules/prism-react-renderer/dist/index.js';
5
+ import { forwardRef, memo } from 'react';
6
+ import { useIsomorphicLayoutEffect } from '../../hooks/useIsomorphicLayoutEffect.js';
7
+ import { useCodeBlockContext } from './code-block-root.js';
8
+ import styles from './code-block.module.css.js';
9
+ import code from './code.module.css.js';
10
+
11
+ const emptyTheme = { plain: {}, styles: [] };
12
+ const CodeBlockCode = forwardRef(({ children, language, className, value, ...props }, ref) => {
13
+ const { value: contextValue, setCode, setValue } = useCodeBlockContext();
14
+ const computedValue = value ?? language;
15
+ const isContextValueDefined = !!contextValue;
16
+ const shouldRender = !isContextValueDefined || contextValue === computedValue;
17
+ const content = children.trim();
18
+ useIsomorphicLayoutEffect(() => {
19
+ // if value is not defined, set the value
20
+ if (!isContextValueDefined)
21
+ setValue(language);
22
+ // if should render, store the code
23
+ if (shouldRender)
24
+ setCode(content);
25
+ }, [
26
+ content,
27
+ setCode,
28
+ shouldRender,
29
+ setValue,
30
+ language,
31
+ isContextValueDefined
32
+ ]);
33
+ if (!shouldRender)
34
+ return null;
35
+ return (jsx("div", { ref: ref, className: cx(styles.codeContent, className), ...props, children: jsx(CodeHighlight, { content: content, language: language }) }));
36
+ });
37
+ CodeBlockCode.displayName = 'CodeBlockCode';
38
+ const CodeHighlight = memo(({ content, language }) => {
39
+ const { hideLineNumbers, maxLines, collapsed } = useCodeBlockContext();
40
+ const canCollapse = maxLines && maxLines > 0;
41
+ return (jsx(Highlight2, { theme: emptyTheme, code: content, language: language, children: ({ className: highlightClassName, style, tokens, getLineProps, getTokenProps }) => {
42
+ const renderedTokens = canCollapse && collapsed ? tokens.slice(0, maxLines) : tokens;
43
+ return (jsx("pre", { className: cx(code.theme, styles.pre, highlightClassName), style: style, children: renderedTokens.map((line, i) => (jsxs("div", { ...getLineProps({ line }), children: [!hideLineNumbers && (jsx("span", { className: styles.lineNumber, children: i + 1 })), jsx("span", { className: styles.lineContent, children: line.map((token, key) => (jsx("span", { ...getTokenProps({ token }) }, key))) })] }, i))) }));
44
+ } }));
45
+ });
46
+
47
+ export { CodeBlockCode };
48
+ //# sourceMappingURL=code-block-code.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-block-code.js","sources":["../../../components/code-block/code-block-code.tsx"],"sourcesContent":["'use client';\n\nimport { cx } from 'class-variance-authority';\nimport { Highlight } from 'prism-react-renderer';\nimport { Language } from 'prism-react-renderer';\nimport { HTMLAttributes, forwardRef, memo } from 'react';\nimport { useIsomorphicLayoutEffect } from '~/hooks';\nimport { useCodeBlockContext } from './code-block-root';\nimport styles from './code-block.module.css';\nimport code from './code.module.css';\n\nexport interface CodeBlockCodeProps extends HTMLAttributes<HTMLDivElement> {\n children: string;\n language: Language;\n value?: string;\n className?: string;\n}\n\nconst emptyTheme = { plain: {}, styles: [] };\n\nexport const CodeBlockCode = forwardRef<HTMLDivElement, CodeBlockCodeProps>(\n ({ children, language, className, value, ...props }, ref) => {\n const { value: contextValue, setCode, setValue } = useCodeBlockContext();\n const computedValue = value ?? language;\n const isContextValueDefined = !!contextValue;\n const shouldRender =\n !isContextValueDefined || contextValue === computedValue;\n const content = children.trim();\n\n useIsomorphicLayoutEffect(() => {\n // if value is not defined, set the value\n if (!isContextValueDefined) setValue(language);\n // if should render, store the code\n if (shouldRender) setCode(content);\n }, [\n content,\n setCode,\n shouldRender,\n setValue,\n language,\n isContextValueDefined\n ]);\n\n if (!shouldRender) return null;\n\n return (\n <div ref={ref} className={cx(styles.codeContent, className)} {...props}>\n <CodeHighlight content={content} language={language} />\n </div>\n );\n }\n);\n\nCodeBlockCode.displayName = 'CodeBlockCode';\n\nconst CodeHighlight = memo(\n ({ content, language }: { content: string; language: Language }) => {\n const { hideLineNumbers, maxLines, collapsed } = useCodeBlockContext();\n const canCollapse = maxLines && maxLines > 0;\n return (\n <Highlight theme={emptyTheme} code={content} language={language}>\n {({\n className: highlightClassName,\n style,\n tokens,\n getLineProps,\n getTokenProps\n }) => {\n const renderedTokens =\n canCollapse && collapsed ? tokens.slice(0, maxLines) : tokens;\n return (\n <pre\n className={cx(code.theme, styles.pre, highlightClassName)}\n style={style}\n >\n {renderedTokens.map((line, i) => (\n <div key={i} {...getLineProps({ line })}>\n {!hideLineNumbers && (\n <span className={styles.lineNumber}>{i + 1}</span>\n )}\n <span className={styles.lineContent}>\n {line.map((token, key) => (\n <span key={key} {...getTokenProps({ token })} />\n ))}\n </span>\n </div>\n ))}\n </pre>\n );\n }}\n </Highlight>\n );\n }\n);\n"],"names":[],"mappings":";;;;;;;;;;AAkBA;;AAII;AACA;AACA;;AAGA;;;AAIE;;;AAEA;;AACF;;;;;;;AAOC;AAED;AAAmB;AAEnB;AAKF;AAGF;AAEA;;AAGI;AACA;;;;AAiCF;;"}
@@ -0,0 +1,26 @@
1
+ "use client";
2
+ 'use strict';
3
+
4
+ var jsxRuntime = require('react/jsx-runtime');
5
+ var index = require('../../node_modules/.pnpm/class-variance-authority@0.7.1/node_modules/class-variance-authority/dist/index.cjs');
6
+ var React = require('react');
7
+ var select = require('../select/select.cjs');
8
+ var codeBlockRoot = require('./code-block-root.cjs');
9
+ var codeBlock_module = require('./code-block.module.css.cjs');
10
+
11
+ const CodeBlockLanguageSelect = (props) => {
12
+ const { value, setValue } = codeBlockRoot.useCodeBlockContext();
13
+ const handleValueChange = (value) => {
14
+ setValue(value);
15
+ };
16
+ return jsxRuntime.jsx(select.Select, { onValueChange: handleValueChange, value: value, ...props });
17
+ };
18
+ CodeBlockLanguageSelect.displayName = 'CodeBlockLanguageSelect';
19
+ const CodeBlockLanguageSelectTrigger = React.forwardRef(({ className, ...props }, ref) => {
20
+ return (jsxRuntime.jsx(select.Select.Trigger, { ref: ref, className: index.cx(codeBlock_module.default.languageSelectTrigger, className), size: 'small', variant: 'text', ...props, children: jsxRuntime.jsx(select.Select.Value, {}) }));
21
+ });
22
+ CodeBlockLanguageSelectTrigger.displayName = 'CodeBlockLanguageSelectTrigger';
23
+
24
+ exports.CodeBlockLanguageSelect = CodeBlockLanguageSelect;
25
+ exports.CodeBlockLanguageSelectTrigger = CodeBlockLanguageSelectTrigger;
26
+ //# sourceMappingURL=code-block-language-select.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-block-language-select.cjs","sources":["../../../components/code-block/code-block-language-select.tsx"],"sourcesContent":["'use client';\n\nimport { cx } from 'class-variance-authority';\nimport { Language } from 'prism-react-renderer';\nimport { ComponentProps, ElementRef, forwardRef } from 'react';\nimport { Select } from '../select';\nimport { SingleSelectProps } from '../select/select-root';\nimport { useCodeBlockContext } from './code-block-root';\nimport styles from './code-block.module.css';\n\nexport const CodeBlockLanguageSelect = (props: SingleSelectProps) => {\n const { value, setValue } = useCodeBlockContext();\n\n const handleValueChange = (value: string) => {\n setValue(value as Language);\n };\n return <Select onValueChange={handleValueChange} value={value} {...props} />;\n};\n\nCodeBlockLanguageSelect.displayName = 'CodeBlockLanguageSelect';\n\nexport const CodeBlockLanguageSelectTrigger = forwardRef<\n ElementRef<typeof Select.Trigger>,\n ComponentProps<typeof Select.Trigger>\n>(({ className, ...props }, ref) => {\n return (\n <Select.Trigger\n ref={ref}\n className={cx(styles.languageSelectTrigger, className)}\n size='small'\n variant='text'\n {...props}\n >\n <Select.Value />\n </Select.Trigger>\n );\n});\n\nCodeBlockLanguageSelectTrigger.displayName = 'CodeBlockLanguageSelectTrigger';\n"],"names":[],"mappings":";;;;;;;;;;AAUa;;AAGX;;AAEA;AACA;AACF;AAEA;AAEa;AAIX;AAWF;AAEA;;;"}
@@ -0,0 +1,7 @@
1
+ import { SingleSelectProps } from '../select/select-root';
2
+ export declare const CodeBlockLanguageSelect: {
3
+ (props: SingleSelectProps): import("react/jsx-runtime").JSX.Element;
4
+ displayName: string;
5
+ };
6
+ export declare const CodeBlockLanguageSelectTrigger: import("react").ForwardRefExoticComponent<Omit<import("../select/select-trigger").SelectTriggerProps & import("react").RefAttributes<HTMLButtonElement>, "ref"> & import("react").RefAttributes<HTMLButtonElement>>;
7
+ //# sourceMappingURL=code-block-language-select.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-block-language-select.d.ts","sourceRoot":"","sources":["../../../components/code-block/code-block-language-select.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAI1D,eAAO,MAAM,uBAAuB;YAAW,iBAAiB;;CAO/D,CAAC;AAIF,eAAO,MAAM,8BAA8B,qNAezC,CAAC"}
@@ -0,0 +1,23 @@
1
+ "use client";
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import { cx } from '../../node_modules/.pnpm/class-variance-authority@0.7.1/node_modules/class-variance-authority/dist/index.js';
4
+ import { forwardRef } from 'react';
5
+ import { Select } from '../select/select.js';
6
+ import { useCodeBlockContext } from './code-block-root.js';
7
+ import styles from './code-block.module.css.js';
8
+
9
+ const CodeBlockLanguageSelect = (props) => {
10
+ const { value, setValue } = useCodeBlockContext();
11
+ const handleValueChange = (value) => {
12
+ setValue(value);
13
+ };
14
+ return jsx(Select, { onValueChange: handleValueChange, value: value, ...props });
15
+ };
16
+ CodeBlockLanguageSelect.displayName = 'CodeBlockLanguageSelect';
17
+ const CodeBlockLanguageSelectTrigger = forwardRef(({ className, ...props }, ref) => {
18
+ return (jsx(Select.Trigger, { ref: ref, className: cx(styles.languageSelectTrigger, className), size: 'small', variant: 'text', ...props, children: jsx(Select.Value, {}) }));
19
+ });
20
+ CodeBlockLanguageSelectTrigger.displayName = 'CodeBlockLanguageSelectTrigger';
21
+
22
+ export { CodeBlockLanguageSelect, CodeBlockLanguageSelectTrigger };
23
+ //# sourceMappingURL=code-block-language-select.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-block-language-select.js","sources":["../../../components/code-block/code-block-language-select.tsx"],"sourcesContent":["'use client';\n\nimport { cx } from 'class-variance-authority';\nimport { Language } from 'prism-react-renderer';\nimport { ComponentProps, ElementRef, forwardRef } from 'react';\nimport { Select } from '../select';\nimport { SingleSelectProps } from '../select/select-root';\nimport { useCodeBlockContext } from './code-block-root';\nimport styles from './code-block.module.css';\n\nexport const CodeBlockLanguageSelect = (props: SingleSelectProps) => {\n const { value, setValue } = useCodeBlockContext();\n\n const handleValueChange = (value: string) => {\n setValue(value as Language);\n };\n return <Select onValueChange={handleValueChange} value={value} {...props} />;\n};\n\nCodeBlockLanguageSelect.displayName = 'CodeBlockLanguageSelect';\n\nexport const CodeBlockLanguageSelectTrigger = forwardRef<\n ElementRef<typeof Select.Trigger>,\n ComponentProps<typeof Select.Trigger>\n>(({ className, ...props }, ref) => {\n return (\n <Select.Trigger\n ref={ref}\n className={cx(styles.languageSelectTrigger, className)}\n size='small'\n variant='text'\n {...props}\n >\n <Select.Value />\n </Select.Trigger>\n );\n});\n\nCodeBlockLanguageSelectTrigger.displayName = 'CodeBlockLanguageSelectTrigger';\n"],"names":[],"mappings":";;;;;;;;AAUa;;AAGX;;AAEA;AACA;AACF;AAEA;AAEa;AAIX;AAWF;AAEA;;"}
@@ -0,0 +1,49 @@
1
+ "use client";
2
+ 'use strict';
3
+
4
+ var jsxRuntime = require('react/jsx-runtime');
5
+ var index = require('../../node_modules/.pnpm/class-variance-authority@0.7.1/node_modules/class-variance-authority/dist/index.cjs');
6
+ var React = require('react');
7
+ var button = require('../button/button.cjs');
8
+ var copyButton = require('../copy-button/copy-button.cjs');
9
+ var flex = require('../flex/flex.cjs');
10
+ var text = require('../text/text.cjs');
11
+ var codeBlockRoot = require('./code-block-root.cjs');
12
+ var codeBlock_module = require('./code-block.module.css.cjs');
13
+
14
+ const CodeBlockContent = React.forwardRef(({ children, className, ...props }, ref) => {
15
+ return (jsxRuntime.jsx("div", { ref: ref, className: index.cx(codeBlock_module.default.content, className), ...props, children: children }));
16
+ });
17
+ CodeBlockContent.displayName = 'CodeBlockContent';
18
+ const CodeBlockHeader = React.forwardRef(({ children, className, ...props }, ref) => {
19
+ return (jsxRuntime.jsx(flex.Flex, { ref: ref, align: 'center', gap: 4, className: index.cx(codeBlock_module.default.header, className), ...props, children: children }));
20
+ });
21
+ CodeBlockHeader.displayName = 'CodeBlockHeader';
22
+ const CodeBlockLabel = React.forwardRef(({ children, className, ...props }, ref) => {
23
+ return (jsxRuntime.jsx(text.Text, { ref: ref, className: index.cx(codeBlock_module.default.label, className), ...props, children: children }));
24
+ });
25
+ CodeBlockLabel.displayName = 'CodeBlockLabel';
26
+ const CodeBlockCollapseTrigger = React.forwardRef(({ className, children = 'Show Code', onClick, ...props }, ref) => {
27
+ const { maxLines, collapsed, toggleCollapsed, code } = codeBlockRoot.useCodeBlockContext();
28
+ const canCollapse = maxLines && maxLines > 0;
29
+ const lineCount = code?.split('\n').length ?? 0;
30
+ if (!canCollapse || !collapsed || lineCount < maxLines)
31
+ return null;
32
+ return (jsxRuntime.jsx(button.Button, { ref: ref, onClick: e => {
33
+ toggleCollapsed();
34
+ onClick?.(e);
35
+ }, variant: 'text', color: 'neutral', className: index.cx(codeBlock_module.default.collapseTrigger, className), ...props, children: children }));
36
+ });
37
+ CodeBlockCollapseTrigger.displayName = 'CodeBlockCollapseTrigger';
38
+ const CodeBlockCopyButton = React.forwardRef(({ className, variant = 'default', ...props }, ref) => {
39
+ const { code = '' } = codeBlockRoot.useCodeBlockContext();
40
+ return (jsxRuntime.jsx(copyButton.CopyButton, { ref: ref, text: code, size: variant === 'floating' ? 2 : 3, className: index.cx(codeBlock_module.default.copyButton, variant === 'floating' && codeBlock_module.default.floatingCopyButton, className), ...props }));
41
+ });
42
+ CodeBlockCopyButton.displayName = 'CodeBlockCopyButton';
43
+
44
+ exports.CodeBlockCollapseTrigger = CodeBlockCollapseTrigger;
45
+ exports.CodeBlockContent = CodeBlockContent;
46
+ exports.CodeBlockCopyButton = CodeBlockCopyButton;
47
+ exports.CodeBlockHeader = CodeBlockHeader;
48
+ exports.CodeBlockLabel = CodeBlockLabel;
49
+ //# sourceMappingURL=code-block-misc.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-block-misc.cjs","sources":["../../../components/code-block/code-block-misc.tsx"],"sourcesContent":["'use client';\n\nimport { cx } from 'class-variance-authority';\nimport { ComponentProps, ElementRef, HTMLAttributes, forwardRef } from 'react';\nimport { Button } from '../button';\nimport { CopyButton } from '../copy-button';\nimport { Flex } from '../flex';\nimport { Text } from '../text';\nimport { useCodeBlockContext } from './code-block-root';\nimport styles from './code-block.module.css';\n\nexport const CodeBlockContent = forwardRef<\n HTMLDivElement,\n HTMLAttributes<HTMLDivElement>\n>(({ children, className, ...props }, ref) => {\n return (\n <div ref={ref} className={cx(styles.content, className)} {...props}>\n {children}\n </div>\n );\n});\n\nCodeBlockContent.displayName = 'CodeBlockContent';\n\nexport const CodeBlockHeader = forwardRef<\n ElementRef<typeof Flex>,\n ComponentProps<typeof Flex>\n>(({ children, className, ...props }, ref) => {\n return (\n <Flex\n ref={ref}\n align='center'\n gap={4}\n className={cx(styles.header, className)}\n {...props}\n >\n {children}\n </Flex>\n );\n});\n\nCodeBlockHeader.displayName = 'CodeBlockHeader';\n\nexport const CodeBlockLabel = forwardRef<\n ElementRef<typeof Text>,\n ComponentProps<typeof Text>\n>(({ children, className, ...props }, ref) => {\n return (\n <Text ref={ref} className={cx(styles.label, className)} {...props}>\n {children}\n </Text>\n );\n});\n\nCodeBlockLabel.displayName = 'CodeBlockLabel';\n\nexport const CodeBlockCollapseTrigger = forwardRef<\n HTMLButtonElement,\n ComponentProps<typeof Button>\n>(({ className, children = 'Show Code', onClick, ...props }, ref) => {\n const { maxLines, collapsed, toggleCollapsed, code } = useCodeBlockContext();\n const canCollapse = maxLines && maxLines > 0;\n const lineCount = code?.split('\\n').length ?? 0;\n\n if (!canCollapse || !collapsed || lineCount < maxLines) return null;\n\n return (\n <Button\n ref={ref}\n onClick={e => {\n toggleCollapsed();\n onClick?.(e);\n }}\n variant='text'\n color='neutral'\n className={cx(styles.collapseTrigger, className)}\n {...props}\n >\n {children}\n </Button>\n );\n});\n\nCodeBlockCollapseTrigger.displayName = 'CodeBlockCollapseTrigger';\n\nexport interface CodeBlockCopyButtonProps\n extends Omit<ComponentProps<typeof CopyButton>, 'text'> {\n variant?: 'floating' | 'default';\n}\n\nexport const CodeBlockCopyButton = forwardRef<\n ElementRef<typeof CopyButton>,\n CodeBlockCopyButtonProps\n>(({ className, variant = 'default', ...props }, ref) => {\n const { code = '' } = useCodeBlockContext();\n\n return (\n <CopyButton\n ref={ref}\n text={code}\n size={variant === 'floating' ? 2 : 3}\n className={cx(\n styles.copyButton,\n variant === 'floating' && styles.floatingCopyButton,\n className\n )}\n {...props}\n />\n );\n});\n\nCodeBlockCopyButton.displayName = 'CodeBlockCopyButton';\n"],"names":[],"mappings":";;;;;;;;;;;;;AAWa;;AASb;AAEA;AAEa;AAIX;AAWF;AAEA;AAEa;;AASb;AAEA;;AAME;AACA;AACA;;AAEwD;AAExD;AAIM;AACA;;AAUR;AAEA;;;;AA0BA;AAEA;;;;;;"}
@@ -0,0 +1,112 @@
1
+ import { ComponentProps, HTMLAttributes } from 'react';
2
+ import { CopyButton } from '../copy-button';
3
+ export declare const CodeBlockContent: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
4
+ export declare const CodeBlockHeader: import("react").ForwardRefExoticComponent<Omit<import("class-variance-authority").VariantProps<(props?: ({
5
+ direction?: "row" | "column" | "rowReverse" | "columnReverse" | null | undefined;
6
+ align?: "center" | "start" | "end" | "stretch" | "baseline" | null | undefined;
7
+ justify?: "center" | "start" | "end" | "between" | null | undefined;
8
+ wrap?: "wrap" | "noWrap" | "wrapReverse" | null | undefined;
9
+ gap?: 1 | "small" | 2 | "extra-small" | "medium" | "large" | "extra-large" | 3 | 4 | 5 | 6 | 7 | 8 | 9 | null | undefined;
10
+ width?: "full" | null | undefined;
11
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string> & {
12
+ children?: import("react").ReactNode;
13
+ } & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
14
+ export declare const CodeBlockLabel: import("react").ForwardRefExoticComponent<(Omit<import("class-variance-authority").VariantProps<(props?: ({
15
+ variant?: "primary" | "secondary" | "tertiary" | "emphasis" | "accent" | "attention" | "danger" | "success" | null | undefined;
16
+ size?: 1 | "small" | 2 | 10 | "large" | 3 | 4 | 5 | 6 | 7 | 8 | 9 | "micro" | "mini" | "regular" | null | undefined;
17
+ weight?: "bold" | "medium" | "regular" | "bolder" | "normal" | "lighter" | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | null | undefined;
18
+ transform?: "capitalize" | "uppercase" | "lowercase" | null | undefined;
19
+ align?: "center" | "start" | "end" | "justify" | null | undefined;
20
+ lineClamp?: 1 | 2 | 3 | 4 | 5 | null | undefined;
21
+ underline?: boolean | null | undefined;
22
+ strikeThrough?: boolean | null | undefined;
23
+ italic?: boolean | null | undefined;
24
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string> & {
25
+ size?: 1 | "small" | 2 | 10 | "large" | 3 | 4 | 5 | 6 | 7 | 8 | 9 | "micro" | "mini" | "regular" | undefined;
26
+ weight?: "bold" | "medium" | "regular" | "bolder" | "normal" | "lighter" | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | undefined;
27
+ } & {
28
+ as?: "span" | undefined;
29
+ } & Omit<import("react").DetailedHTMLProps<HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & import("react").RefAttributes<HTMLDivElement | HTMLSpanElement | HTMLAnchorElement | HTMLLabelElement | HTMLParagraphElement>, "ref"> | Omit<import("class-variance-authority").VariantProps<(props?: ({
30
+ variant?: "primary" | "secondary" | "tertiary" | "emphasis" | "accent" | "attention" | "danger" | "success" | null | undefined;
31
+ size?: 1 | "small" | 2 | 10 | "large" | 3 | 4 | 5 | 6 | 7 | 8 | 9 | "micro" | "mini" | "regular" | null | undefined;
32
+ weight?: "bold" | "medium" | "regular" | "bolder" | "normal" | "lighter" | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | null | undefined;
33
+ transform?: "capitalize" | "uppercase" | "lowercase" | null | undefined;
34
+ align?: "center" | "start" | "end" | "justify" | null | undefined;
35
+ lineClamp?: 1 | 2 | 3 | 4 | 5 | null | undefined;
36
+ underline?: boolean | null | undefined;
37
+ strikeThrough?: boolean | null | undefined;
38
+ italic?: boolean | null | undefined;
39
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string> & {
40
+ size?: 1 | "small" | 2 | 10 | "large" | 3 | 4 | 5 | 6 | 7 | 8 | 9 | "micro" | "mini" | "regular" | undefined;
41
+ weight?: "bold" | "medium" | "regular" | "bolder" | "normal" | "lighter" | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | undefined;
42
+ } & {
43
+ as: "div";
44
+ } & Omit<import("react").DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement | HTMLSpanElement | HTMLAnchorElement | HTMLLabelElement | HTMLParagraphElement>, "ref"> | Omit<import("class-variance-authority").VariantProps<(props?: ({
45
+ variant?: "primary" | "secondary" | "tertiary" | "emphasis" | "accent" | "attention" | "danger" | "success" | null | undefined;
46
+ size?: 1 | "small" | 2 | 10 | "large" | 3 | 4 | 5 | 6 | 7 | 8 | 9 | "micro" | "mini" | "regular" | null | undefined;
47
+ weight?: "bold" | "medium" | "regular" | "bolder" | "normal" | "lighter" | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | null | undefined;
48
+ transform?: "capitalize" | "uppercase" | "lowercase" | null | undefined;
49
+ align?: "center" | "start" | "end" | "justify" | null | undefined;
50
+ lineClamp?: 1 | 2 | 3 | 4 | 5 | null | undefined;
51
+ underline?: boolean | null | undefined;
52
+ strikeThrough?: boolean | null | undefined;
53
+ italic?: boolean | null | undefined;
54
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string> & {
55
+ size?: 1 | "small" | 2 | 10 | "large" | 3 | 4 | 5 | 6 | 7 | 8 | 9 | "micro" | "mini" | "regular" | undefined;
56
+ weight?: "bold" | "medium" | "regular" | "bolder" | "normal" | "lighter" | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | undefined;
57
+ } & {
58
+ as: "label";
59
+ } & Omit<import("react").DetailedHTMLProps<import("react").LabelHTMLAttributes<HTMLLabelElement>, HTMLLabelElement>, "ref"> & import("react").RefAttributes<HTMLDivElement | HTMLSpanElement | HTMLAnchorElement | HTMLLabelElement | HTMLParagraphElement>, "ref"> | Omit<import("class-variance-authority").VariantProps<(props?: ({
60
+ variant?: "primary" | "secondary" | "tertiary" | "emphasis" | "accent" | "attention" | "danger" | "success" | null | undefined;
61
+ size?: 1 | "small" | 2 | 10 | "large" | 3 | 4 | 5 | 6 | 7 | 8 | 9 | "micro" | "mini" | "regular" | null | undefined;
62
+ weight?: "bold" | "medium" | "regular" | "bolder" | "normal" | "lighter" | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | null | undefined;
63
+ transform?: "capitalize" | "uppercase" | "lowercase" | null | undefined;
64
+ align?: "center" | "start" | "end" | "justify" | null | undefined;
65
+ lineClamp?: 1 | 2 | 3 | 4 | 5 | null | undefined;
66
+ underline?: boolean | null | undefined;
67
+ strikeThrough?: boolean | null | undefined;
68
+ italic?: boolean | null | undefined;
69
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string> & {
70
+ size?: 1 | "small" | 2 | 10 | "large" | 3 | 4 | 5 | 6 | 7 | 8 | 9 | "micro" | "mini" | "regular" | undefined;
71
+ weight?: "bold" | "medium" | "regular" | "bolder" | "normal" | "lighter" | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | undefined;
72
+ } & {
73
+ as: "p";
74
+ } & Omit<import("react").DetailedHTMLProps<HTMLAttributes<HTMLParagraphElement>, HTMLParagraphElement>, "ref"> & import("react").RefAttributes<HTMLDivElement | HTMLSpanElement | HTMLAnchorElement | HTMLLabelElement | HTMLParagraphElement>, "ref"> | Omit<import("class-variance-authority").VariantProps<(props?: ({
75
+ variant?: "primary" | "secondary" | "tertiary" | "emphasis" | "accent" | "attention" | "danger" | "success" | null | undefined;
76
+ size?: 1 | "small" | 2 | 10 | "large" | 3 | 4 | 5 | 6 | 7 | 8 | 9 | "micro" | "mini" | "regular" | null | undefined;
77
+ weight?: "bold" | "medium" | "regular" | "bolder" | "normal" | "lighter" | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | null | undefined;
78
+ transform?: "capitalize" | "uppercase" | "lowercase" | null | undefined;
79
+ align?: "center" | "start" | "end" | "justify" | null | undefined;
80
+ lineClamp?: 1 | 2 | 3 | 4 | 5 | null | undefined;
81
+ underline?: boolean | null | undefined;
82
+ strikeThrough?: boolean | null | undefined;
83
+ italic?: boolean | null | undefined;
84
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string> & {
85
+ size?: 1 | "small" | 2 | 10 | "large" | 3 | 4 | 5 | 6 | 7 | 8 | 9 | "micro" | "mini" | "regular" | undefined;
86
+ weight?: "bold" | "medium" | "regular" | "bolder" | "normal" | "lighter" | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | undefined;
87
+ } & {
88
+ as: "a";
89
+ } & Omit<import("react").DetailedHTMLProps<import("react").AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement>, "ref"> & import("react").RefAttributes<HTMLDivElement | HTMLSpanElement | HTMLAnchorElement | HTMLLabelElement | HTMLParagraphElement>, "ref">) & import("react").RefAttributes<HTMLDivElement | HTMLSpanElement | HTMLAnchorElement | HTMLLabelElement | HTMLParagraphElement>>;
90
+ export declare const CodeBlockCollapseTrigger: import("react").ForwardRefExoticComponent<Omit<import("class-variance-authority").VariantProps<(props?: ({
91
+ variant?: "text" | "solid" | "outline" | "ghost" | null | undefined;
92
+ size?: "small" | "normal" | null | undefined;
93
+ disabled?: boolean | null | undefined;
94
+ loading?: boolean | null | undefined;
95
+ color?: "accent" | "danger" | "success" | "neutral" | null | undefined;
96
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string> & {
97
+ children?: import("react").ReactNode;
98
+ } & import("react").ButtonHTMLAttributes<HTMLButtonElement> & {
99
+ asChild?: boolean | undefined;
100
+ loading?: boolean | undefined;
101
+ loaderText?: import("react").ReactNode;
102
+ leadingIcon?: import("react").ReactNode;
103
+ trailingIcon?: import("react").ReactNode;
104
+ maxWidth?: string | number | undefined;
105
+ width?: string | number | undefined;
106
+ style?: import("react").CSSProperties | undefined;
107
+ } & import("react").RefAttributes<HTMLButtonElement>, "ref"> & import("react").RefAttributes<HTMLButtonElement>>;
108
+ export interface CodeBlockCopyButtonProps extends Omit<ComponentProps<typeof CopyButton>, 'text'> {
109
+ variant?: 'floating' | 'default';
110
+ }
111
+ export declare const CodeBlockCopyButton: import("react").ForwardRefExoticComponent<Omit<CodeBlockCopyButtonProps, "ref"> & import("react").RefAttributes<HTMLButtonElement>>;
112
+ //# sourceMappingURL=code-block-misc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-block-misc.d.ts","sourceRoot":"","sources":["../../../components/code-block/code-block-misc.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAc,cAAc,EAAc,MAAM,OAAO,CAAC;AAE/E,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAM5C,eAAO,MAAM,gBAAgB,2HAS3B,CAAC;AAIH,eAAO,MAAM,eAAe;;;;;;;;;2IAe1B,CAAC;AAIH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wYASzB,CAAC;AAIH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;gHAyBnC,CAAC;AAIH,MAAM,WAAW,wBACf,SAAQ,IAAI,CAAC,cAAc,CAAC,OAAO,UAAU,CAAC,EAAE,MAAM,CAAC;IACvD,OAAO,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;CAClC;AAED,eAAO,MAAM,mBAAmB,qIAmB9B,CAAC"}
@@ -0,0 +1,43 @@
1
+ "use client";
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import { cx } from '../../node_modules/.pnpm/class-variance-authority@0.7.1/node_modules/class-variance-authority/dist/index.js';
4
+ import { forwardRef } from 'react';
5
+ import { Button } from '../button/button.js';
6
+ import { CopyButton } from '../copy-button/copy-button.js';
7
+ import { Flex } from '../flex/flex.js';
8
+ import { Text } from '../text/text.js';
9
+ import { useCodeBlockContext } from './code-block-root.js';
10
+ import styles from './code-block.module.css.js';
11
+
12
+ const CodeBlockContent = forwardRef(({ children, className, ...props }, ref) => {
13
+ return (jsx("div", { ref: ref, className: cx(styles.content, className), ...props, children: children }));
14
+ });
15
+ CodeBlockContent.displayName = 'CodeBlockContent';
16
+ const CodeBlockHeader = forwardRef(({ children, className, ...props }, ref) => {
17
+ return (jsx(Flex, { ref: ref, align: 'center', gap: 4, className: cx(styles.header, className), ...props, children: children }));
18
+ });
19
+ CodeBlockHeader.displayName = 'CodeBlockHeader';
20
+ const CodeBlockLabel = forwardRef(({ children, className, ...props }, ref) => {
21
+ return (jsx(Text, { ref: ref, className: cx(styles.label, className), ...props, children: children }));
22
+ });
23
+ CodeBlockLabel.displayName = 'CodeBlockLabel';
24
+ const CodeBlockCollapseTrigger = forwardRef(({ className, children = 'Show Code', onClick, ...props }, ref) => {
25
+ const { maxLines, collapsed, toggleCollapsed, code } = useCodeBlockContext();
26
+ const canCollapse = maxLines && maxLines > 0;
27
+ const lineCount = code?.split('\n').length ?? 0;
28
+ if (!canCollapse || !collapsed || lineCount < maxLines)
29
+ return null;
30
+ return (jsx(Button, { ref: ref, onClick: e => {
31
+ toggleCollapsed();
32
+ onClick?.(e);
33
+ }, variant: 'text', color: 'neutral', className: cx(styles.collapseTrigger, className), ...props, children: children }));
34
+ });
35
+ CodeBlockCollapseTrigger.displayName = 'CodeBlockCollapseTrigger';
36
+ const CodeBlockCopyButton = forwardRef(({ className, variant = 'default', ...props }, ref) => {
37
+ const { code = '' } = useCodeBlockContext();
38
+ return (jsx(CopyButton, { ref: ref, text: code, size: variant === 'floating' ? 2 : 3, className: cx(styles.copyButton, variant === 'floating' && styles.floatingCopyButton, className), ...props }));
39
+ });
40
+ CodeBlockCopyButton.displayName = 'CodeBlockCopyButton';
41
+
42
+ export { CodeBlockCollapseTrigger, CodeBlockContent, CodeBlockCopyButton, CodeBlockHeader, CodeBlockLabel };
43
+ //# sourceMappingURL=code-block-misc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-block-misc.js","sources":["../../../components/code-block/code-block-misc.tsx"],"sourcesContent":["'use client';\n\nimport { cx } from 'class-variance-authority';\nimport { ComponentProps, ElementRef, HTMLAttributes, forwardRef } from 'react';\nimport { Button } from '../button';\nimport { CopyButton } from '../copy-button';\nimport { Flex } from '../flex';\nimport { Text } from '../text';\nimport { useCodeBlockContext } from './code-block-root';\nimport styles from './code-block.module.css';\n\nexport const CodeBlockContent = forwardRef<\n HTMLDivElement,\n HTMLAttributes<HTMLDivElement>\n>(({ children, className, ...props }, ref) => {\n return (\n <div ref={ref} className={cx(styles.content, className)} {...props}>\n {children}\n </div>\n );\n});\n\nCodeBlockContent.displayName = 'CodeBlockContent';\n\nexport const CodeBlockHeader = forwardRef<\n ElementRef<typeof Flex>,\n ComponentProps<typeof Flex>\n>(({ children, className, ...props }, ref) => {\n return (\n <Flex\n ref={ref}\n align='center'\n gap={4}\n className={cx(styles.header, className)}\n {...props}\n >\n {children}\n </Flex>\n );\n});\n\nCodeBlockHeader.displayName = 'CodeBlockHeader';\n\nexport const CodeBlockLabel = forwardRef<\n ElementRef<typeof Text>,\n ComponentProps<typeof Text>\n>(({ children, className, ...props }, ref) => {\n return (\n <Text ref={ref} className={cx(styles.label, className)} {...props}>\n {children}\n </Text>\n );\n});\n\nCodeBlockLabel.displayName = 'CodeBlockLabel';\n\nexport const CodeBlockCollapseTrigger = forwardRef<\n HTMLButtonElement,\n ComponentProps<typeof Button>\n>(({ className, children = 'Show Code', onClick, ...props }, ref) => {\n const { maxLines, collapsed, toggleCollapsed, code } = useCodeBlockContext();\n const canCollapse = maxLines && maxLines > 0;\n const lineCount = code?.split('\\n').length ?? 0;\n\n if (!canCollapse || !collapsed || lineCount < maxLines) return null;\n\n return (\n <Button\n ref={ref}\n onClick={e => {\n toggleCollapsed();\n onClick?.(e);\n }}\n variant='text'\n color='neutral'\n className={cx(styles.collapseTrigger, className)}\n {...props}\n >\n {children}\n </Button>\n );\n});\n\nCodeBlockCollapseTrigger.displayName = 'CodeBlockCollapseTrigger';\n\nexport interface CodeBlockCopyButtonProps\n extends Omit<ComponentProps<typeof CopyButton>, 'text'> {\n variant?: 'floating' | 'default';\n}\n\nexport const CodeBlockCopyButton = forwardRef<\n ElementRef<typeof CopyButton>,\n CodeBlockCopyButtonProps\n>(({ className, variant = 'default', ...props }, ref) => {\n const { code = '' } = useCodeBlockContext();\n\n return (\n <CopyButton\n ref={ref}\n text={code}\n size={variant === 'floating' ? 2 : 3}\n className={cx(\n styles.copyButton,\n variant === 'floating' && styles.floatingCopyButton,\n className\n )}\n {...props}\n />\n );\n});\n\nCodeBlockCopyButton.displayName = 'CodeBlockCopyButton';\n"],"names":[],"mappings":";;;;;;;;;;;AAWa;;AASb;AAEA;AAEa;AAIX;AAWF;AAEA;AAEa;;AASb;AAEA;;AAME;AACA;AACA;;AAEwD;AAExD;AAIM;AACA;;AAUR;AAEA;;;;AA0BA;AAEA;;"}
@@ -0,0 +1,48 @@
1
+ "use client";
2
+ 'use strict';
3
+
4
+ var jsxRuntime = require('react/jsx-runtime');
5
+ var index = require('../../node_modules/.pnpm/class-variance-authority@0.7.1/node_modules/class-variance-authority/dist/index.cjs');
6
+ var React = require('react');
7
+ var codeBlock_module = require('./code-block.module.css.cjs');
8
+
9
+ const CodeBlockContext = React.createContext(undefined);
10
+ const useCodeBlockContext = () => {
11
+ const context = React.useContext(CodeBlockContext);
12
+ if (!context) {
13
+ throw new Error('useCodeBlockContext must be used within a CodeBlock');
14
+ }
15
+ return context;
16
+ };
17
+ const CodeBlockRoot = React.forwardRef(({ children, value: providedValue, onValueChange, defaultValue, hideLineNumbers = false, maxLines, maxHeight, className, collapsed: providedCollapsed, defaultCollapsed = true, onCollapseChange, ...props }, ref) => {
18
+ const [internalValue, setInternalValue] = React.useState(defaultValue);
19
+ const [code, setCode] = React.useState();
20
+ const [internalCollapsed, setInternalCollapsed] = React.useState(defaultCollapsed ?? false);
21
+ const collapsed = providedCollapsed ?? internalCollapsed;
22
+ const value = providedValue ?? internalValue ?? defaultValue;
23
+ const setValue = React.useCallback((newValue) => {
24
+ setInternalValue(newValue);
25
+ onValueChange?.(newValue);
26
+ }, [onValueChange]);
27
+ const toggleCollapsed = React.useCallback(() => {
28
+ setInternalCollapsed(_internalCollapsed => {
29
+ onCollapseChange?.(!_internalCollapsed);
30
+ return !_internalCollapsed;
31
+ });
32
+ }, [onCollapseChange]);
33
+ return (jsxRuntime.jsx(CodeBlockContext.Provider, { value: {
34
+ hideLineNumbers,
35
+ value,
36
+ setValue,
37
+ code,
38
+ setCode,
39
+ maxLines: maxLines && maxLines + 1, // to compensate for the absolute collapse trigger
40
+ collapsed,
41
+ toggleCollapsed
42
+ }, children: jsxRuntime.jsx("div", { ref: ref, className: index.cx(codeBlock_module.default.container, className), ...props, children: children }) }));
43
+ });
44
+ CodeBlockRoot.displayName = 'CodeBlock';
45
+
46
+ exports.CodeBlockRoot = CodeBlockRoot;
47
+ exports.useCodeBlockContext = useCodeBlockContext;
48
+ //# sourceMappingURL=code-block-root.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-block-root.cjs","sources":["../../../components/code-block/code-block-root.tsx"],"sourcesContent":["'use client';\n\nimport { cx } from 'class-variance-authority';\nimport {\n HTMLAttributes,\n createContext,\n forwardRef,\n useCallback,\n useContext,\n useState\n} from 'react';\nimport styles from './code-block.module.css';\n\ninterface CodeBlockCommonProps {\n hideLineNumbers?: boolean;\n value?: string;\n maxLines?: number;\n collapsed?: boolean;\n}\n\ninterface CodeBlockContextValue extends CodeBlockCommonProps {\n setValue: (value: string) => void;\n code?: string;\n setCode: (code: string) => void;\n toggleCollapsed: () => void;\n}\n\nconst CodeBlockContext = createContext<CodeBlockContextValue | undefined>(\n undefined\n);\n\nexport const useCodeBlockContext = () => {\n const context = useContext(CodeBlockContext);\n if (!context) {\n throw new Error('useCodeBlockContext must be used within a CodeBlock');\n }\n return context;\n};\n\nexport interface CodeBlockProps\n extends HTMLAttributes<HTMLDivElement>,\n CodeBlockCommonProps {\n defaultValue?: string;\n maxHeight?: string | number;\n onValueChange?: (value: string) => void;\n defaultCollapsed?: boolean;\n onCollapseChange?: (value: boolean) => void;\n}\n\nexport const CodeBlockRoot = forwardRef<HTMLDivElement, CodeBlockProps>(\n (\n {\n children,\n value: providedValue,\n onValueChange,\n defaultValue,\n hideLineNumbers = false,\n maxLines,\n maxHeight,\n className,\n collapsed: providedCollapsed,\n defaultCollapsed = true,\n onCollapseChange,\n ...props\n },\n ref\n ) => {\n const [internalValue, setInternalValue] = useState<string | undefined>(\n defaultValue\n );\n const [code, setCode] = useState<string | undefined>();\n const [internalCollapsed, setInternalCollapsed] = useState<boolean>(\n defaultCollapsed ?? false\n );\n\n const collapsed = providedCollapsed ?? internalCollapsed;\n\n const value = providedValue ?? internalValue ?? defaultValue;\n\n const setValue = useCallback(\n (newValue: string) => {\n setInternalValue(newValue);\n onValueChange?.(newValue);\n },\n [onValueChange]\n );\n\n const toggleCollapsed = useCallback(() => {\n setInternalCollapsed(_internalCollapsed => {\n onCollapseChange?.(!_internalCollapsed);\n return !_internalCollapsed;\n });\n }, [onCollapseChange]);\n\n return (\n <CodeBlockContext.Provider\n value={{\n hideLineNumbers,\n value,\n setValue,\n code,\n setCode,\n maxLines: maxLines && maxLines + 1, // to compensate for the absolute collapse trigger\n collapsed,\n toggleCollapsed\n }}\n >\n <div ref={ref} className={cx(styles.container, className)} {...props}>\n {children}\n </div>\n </CodeBlockContext.Provider>\n );\n }\n);\n\nCodeBlockRoot.displayName = 'CodeBlock';\n"],"names":[],"mappings":";;;;;;;;AA2BA;AAIO;AACL;;AAEE;;AAEF;AACF;;;;AAkCI;AAIA;AAEA;AAEA;;AAGI;AACF;AAIF;;AAEI;;AAEF;AACF;AAEA;;;;;;AAQM;;;;AAUR;AAGF;;;"}
@@ -0,0 +1,24 @@
1
+ import { HTMLAttributes } from 'react';
2
+ interface CodeBlockCommonProps {
3
+ hideLineNumbers?: boolean;
4
+ value?: string;
5
+ maxLines?: number;
6
+ collapsed?: boolean;
7
+ }
8
+ interface CodeBlockContextValue extends CodeBlockCommonProps {
9
+ setValue: (value: string) => void;
10
+ code?: string;
11
+ setCode: (code: string) => void;
12
+ toggleCollapsed: () => void;
13
+ }
14
+ export declare const useCodeBlockContext: () => CodeBlockContextValue;
15
+ export interface CodeBlockProps extends HTMLAttributes<HTMLDivElement>, CodeBlockCommonProps {
16
+ defaultValue?: string;
17
+ maxHeight?: string | number;
18
+ onValueChange?: (value: string) => void;
19
+ defaultCollapsed?: boolean;
20
+ onCollapseChange?: (value: boolean) => void;
21
+ }
22
+ export declare const CodeBlockRoot: import("react").ForwardRefExoticComponent<CodeBlockProps & import("react").RefAttributes<HTMLDivElement>>;
23
+ export {};
24
+ //# sourceMappingURL=code-block-root.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-block-root.d.ts","sourceRoot":"","sources":["../../../components/code-block/code-block-root.tsx"],"names":[],"mappings":"AAGA,OAAO,EACL,cAAc,EAMf,MAAM,OAAO,CAAC;AAGf,UAAU,oBAAoB;IAC5B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,UAAU,qBAAsB,SAAQ,oBAAoB;IAC1D,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,eAAe,EAAE,MAAM,IAAI,CAAC;CAC7B;AAMD,eAAO,MAAM,mBAAmB,6BAM/B,CAAC;AAEF,MAAM,WAAW,cACf,SAAQ,cAAc,CAAC,cAAc,CAAC,EACpC,oBAAoB;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CAC7C;AAED,eAAO,MAAM,aAAa,2GAgEzB,CAAC"}
@@ -0,0 +1,45 @@
1
+ "use client";
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import { cx } from '../../node_modules/.pnpm/class-variance-authority@0.7.1/node_modules/class-variance-authority/dist/index.js';
4
+ import { createContext, forwardRef, useState, useCallback, useContext } from 'react';
5
+ import styles from './code-block.module.css.js';
6
+
7
+ const CodeBlockContext = createContext(undefined);
8
+ const useCodeBlockContext = () => {
9
+ const context = useContext(CodeBlockContext);
10
+ if (!context) {
11
+ throw new Error('useCodeBlockContext must be used within a CodeBlock');
12
+ }
13
+ return context;
14
+ };
15
+ const CodeBlockRoot = forwardRef(({ children, value: providedValue, onValueChange, defaultValue, hideLineNumbers = false, maxLines, maxHeight, className, collapsed: providedCollapsed, defaultCollapsed = true, onCollapseChange, ...props }, ref) => {
16
+ const [internalValue, setInternalValue] = useState(defaultValue);
17
+ const [code, setCode] = useState();
18
+ const [internalCollapsed, setInternalCollapsed] = useState(defaultCollapsed ?? false);
19
+ const collapsed = providedCollapsed ?? internalCollapsed;
20
+ const value = providedValue ?? internalValue ?? defaultValue;
21
+ const setValue = useCallback((newValue) => {
22
+ setInternalValue(newValue);
23
+ onValueChange?.(newValue);
24
+ }, [onValueChange]);
25
+ const toggleCollapsed = useCallback(() => {
26
+ setInternalCollapsed(_internalCollapsed => {
27
+ onCollapseChange?.(!_internalCollapsed);
28
+ return !_internalCollapsed;
29
+ });
30
+ }, [onCollapseChange]);
31
+ return (jsx(CodeBlockContext.Provider, { value: {
32
+ hideLineNumbers,
33
+ value,
34
+ setValue,
35
+ code,
36
+ setCode,
37
+ maxLines: maxLines && maxLines + 1, // to compensate for the absolute collapse trigger
38
+ collapsed,
39
+ toggleCollapsed
40
+ }, children: jsx("div", { ref: ref, className: cx(styles.container, className), ...props, children: children }) }));
41
+ });
42
+ CodeBlockRoot.displayName = 'CodeBlock';
43
+
44
+ export { CodeBlockRoot, useCodeBlockContext };
45
+ //# sourceMappingURL=code-block-root.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-block-root.js","sources":["../../../components/code-block/code-block-root.tsx"],"sourcesContent":["'use client';\n\nimport { cx } from 'class-variance-authority';\nimport {\n HTMLAttributes,\n createContext,\n forwardRef,\n useCallback,\n useContext,\n useState\n} from 'react';\nimport styles from './code-block.module.css';\n\ninterface CodeBlockCommonProps {\n hideLineNumbers?: boolean;\n value?: string;\n maxLines?: number;\n collapsed?: boolean;\n}\n\ninterface CodeBlockContextValue extends CodeBlockCommonProps {\n setValue: (value: string) => void;\n code?: string;\n setCode: (code: string) => void;\n toggleCollapsed: () => void;\n}\n\nconst CodeBlockContext = createContext<CodeBlockContextValue | undefined>(\n undefined\n);\n\nexport const useCodeBlockContext = () => {\n const context = useContext(CodeBlockContext);\n if (!context) {\n throw new Error('useCodeBlockContext must be used within a CodeBlock');\n }\n return context;\n};\n\nexport interface CodeBlockProps\n extends HTMLAttributes<HTMLDivElement>,\n CodeBlockCommonProps {\n defaultValue?: string;\n maxHeight?: string | number;\n onValueChange?: (value: string) => void;\n defaultCollapsed?: boolean;\n onCollapseChange?: (value: boolean) => void;\n}\n\nexport const CodeBlockRoot = forwardRef<HTMLDivElement, CodeBlockProps>(\n (\n {\n children,\n value: providedValue,\n onValueChange,\n defaultValue,\n hideLineNumbers = false,\n maxLines,\n maxHeight,\n className,\n collapsed: providedCollapsed,\n defaultCollapsed = true,\n onCollapseChange,\n ...props\n },\n ref\n ) => {\n const [internalValue, setInternalValue] = useState<string | undefined>(\n defaultValue\n );\n const [code, setCode] = useState<string | undefined>();\n const [internalCollapsed, setInternalCollapsed] = useState<boolean>(\n defaultCollapsed ?? false\n );\n\n const collapsed = providedCollapsed ?? internalCollapsed;\n\n const value = providedValue ?? internalValue ?? defaultValue;\n\n const setValue = useCallback(\n (newValue: string) => {\n setInternalValue(newValue);\n onValueChange?.(newValue);\n },\n [onValueChange]\n );\n\n const toggleCollapsed = useCallback(() => {\n setInternalCollapsed(_internalCollapsed => {\n onCollapseChange?.(!_internalCollapsed);\n return !_internalCollapsed;\n });\n }, [onCollapseChange]);\n\n return (\n <CodeBlockContext.Provider\n value={{\n hideLineNumbers,\n value,\n setValue,\n code,\n setCode,\n maxLines: maxLines && maxLines + 1, // to compensate for the absolute collapse trigger\n collapsed,\n toggleCollapsed\n }}\n >\n <div ref={ref} className={cx(styles.container, className)} {...props}>\n {children}\n </div>\n </CodeBlockContext.Provider>\n );\n }\n);\n\nCodeBlockRoot.displayName = 'CodeBlock';\n"],"names":[],"mappings":";;;;;;AA2BA;AAIO;AACL;;AAEE;;AAEF;AACF;;;;AAkCI;AAIA;AAEA;AAEA;;AAGI;AACF;AAIF;;AAEI;;AAEF;AACF;AAEA;;;;;;AAQM;;;;AAUR;AAGF;;"}