@intlayer/design-system 8.0.5 → 8.1.0

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.
@@ -105,7 +105,7 @@ const getIntlayerMarkdownOptions = (isDarkMode) => ({ components: {
105
105
  Tabs: (props) => /* @__PURE__ */ jsx(Tab, {
106
106
  ...props,
107
107
  className: "rounded-xl border border-card",
108
- headerClassName: "sticky rounded-xl top-36 z-10 bg-background/70 backdrop-blur overflow-x-auto"
108
+ headerClassName: "sticky rounded-xl top-24 z-5 bg-background/70 backdrop-blur overflow-x-auto"
109
109
  }),
110
110
  Tab: Tab.Item,
111
111
  Columns: ({ className, ...props }) => /* @__PURE__ */ jsx("div", {
@@ -1 +1 @@
1
- {"version":3,"file":"MarkDownRender.mjs","names":[],"sources":["../../../../src/components/MarkDownRender/MarkDownRender.tsx"],"sourcesContent":["import type { LocalesValues } from '@intlayer/types';\nimport { cn } from '@utils/cn';\nimport type { ComponentProps, ComponentPropsWithoutRef, FC } from 'react';\nimport {\n type MarkdownRenderer as MarkdownRendererIntlayer,\n type RenderMarkdownProps,\n renderMarkdown,\n} from 'react-intlayer';\nimport type { BundledLanguage } from 'shiki/bundle/web';\nimport { H1, H2, H3, H4, H5, H6 } from '../Headers';\nimport { Code } from '../IDE/Code';\nimport { CodeProvider } from '../IDE/CodeContext';\nimport { Link } from '../Link';\nimport { Tab } from '../Tab';\nimport { TabProvider } from '../Tab/TabContext';\nimport { Table } from '../Table';\n\ntype MarkdownRendererProps = {\n children: string;\n isDarkMode?: boolean;\n locale?: LocalesValues;\n forceBlock?: boolean;\n preserveFrontmatter?: boolean;\n tagfilter?: boolean;\n components?: ComponentProps<typeof MarkdownRendererIntlayer>['components'];\n wrapper?: ComponentProps<typeof MarkdownRendererIntlayer>['wrapper'];\n};\n\nexport const getIntlayerMarkdownOptions: (\n isDarkMode: boolean\n) => RenderMarkdownProps = (isDarkMode) => ({\n components: {\n h1: (props) => <H1 isClickable={true} {...props} />,\n h2: (props) => <H2 isClickable={true} className=\"mt-16\" {...props} />,\n h3: (props) => <H3 isClickable={true} className=\"mt-5\" {...props} />,\n h4: (props) => <H4 isClickable={true} className=\"mt-3\" {...props} />,\n h5: (props) => <H5 isClickable={true} className=\"mt-3\" {...props} />,\n h6: (props) => <H6 isClickable={true} className=\"mt-3\" {...props} />,\n\n code: ({ className, children, ...rest }: ComponentProps<'code'>) => {\n // Ensure children is a string (Markdown renderer might pass ReactNodes)\n const content = String(children ?? '').replace(/\\n$/, '');\n\n // Determine if it is inline code or a code block\n // Code blocks usually have a className like 'language-ts'\n const isBlock = !!className;\n\n if (!isBlock) {\n return (\n <strong className=\"rounded bg-card/60 box-decoration-clone px-1 py-0.5 font-mono text-sm\">\n {content}\n </strong>\n );\n }\n\n // Extract language from className (e.g., \"language-typescript\" -> \"typescript\")\n const language = (className?.replace(/lang(?:uage)?-/, '') ||\n 'plaintext') as BundledLanguage;\n\n console.log({ rest });\n\n return (\n <Code\n {...rest}\n language={language}\n showHeader={true}\n isDarkMode={isDarkMode} // Ensure this variable is available in scope\n >\n {content}\n </Code>\n );\n },\n\n blockquote: ({ className, ...props }) => (\n <blockquote\n className={cn(\n 'mt-5 gap-3 border-card border-l-4 pl-5 text-neutral',\n className\n )}\n {...props}\n />\n ),\n ul: ({ className, ...props }) => (\n <ul\n className={cn('mt-5 flex list-disc flex-col gap-3 pl-5', className)}\n {...props}\n />\n ),\n ol: ({ className, ...props }) => (\n <ol\n className={cn('mt-5 flex list-decimal flex-col gap-3 pl-5', className)}\n {...props}\n />\n ),\n img: ({ className, ...props }) => (\n <img\n {...props}\n alt={props.alt ?? ''}\n loading=\"lazy\"\n className={cn('max-h-[80vh] max-w-full rounded-md', className)}\n src={`${props.src}?raw=true`}\n />\n ),\n a: (props) => (\n // @ts-expect-error - label is not required in LinkProps\n <Link\n isExternalLink={props.href?.startsWith('http')}\n underlined={true}\n // locale={locale}\n {...props}\n color=\"neutral\"\n />\n ),\n pre: (props) => props.children,\n\n table: (props: ComponentProps<typeof Table>) => (\n <Table isRollable={true} {...props} />\n ),\n th: ({ className, ...props }) => (\n <th\n className={cn('border-neutral border-b bg-neutral/10 p-4', className)}\n {...props}\n />\n ),\n tr: ({ className, ...props }) => (\n <tr\n className={cn('hover:/10 hover:bg-neutral/10', className)}\n {...props}\n />\n ),\n td: ({ className, ...props }) => (\n <td\n className={cn('border-neutral-500/50 border-b p-4', className)}\n {...props}\n />\n ),\n hr: ({ className, ...props }) => (\n <hr className={cn('mx-6 mt-16 text-neutral', className)} {...props} />\n ),\n Tabs: (props: ComponentProps<typeof Tab>) => (\n <Tab\n {...props}\n className=\"rounded-xl border border-card\"\n headerClassName=\"sticky rounded-xl top-36 z-10 bg-background/70 backdrop-blur overflow-x-auto\"\n />\n ),\n Tab: Tab.Item,\n Columns: ({ className, ...props }: ComponentPropsWithoutRef<'div'>) => (\n <div className={cn('flex gap-4 max-md:flex-col', className)} {...props} />\n ),\n Column: ({ className, ...props }: ComponentPropsWithoutRef<'div'>) => (\n <div className={cn('flex-1', className)} {...props} />\n ),\n },\n});\n\n/**\n * MarkdownRenderer Component\n *\n * A comprehensive markdown renderer that transforms markdown text into rich,\n * interactive HTML with custom styling and Intlayer integration. Supports\n * code syntax highlighting, responsive tables, internationalized links,\n * and automatic frontmatter stripping.\n *\n * @component\n */\nexport const MarkdownRenderer: FC<MarkdownRendererProps> = ({\n children,\n isDarkMode,\n locale,\n forceBlock,\n preserveFrontmatter,\n tagfilter,\n components: componentsProp,\n wrapper,\n}) => {\n const markdownOptions = getIntlayerMarkdownOptions(isDarkMode ?? false);\n\n const markdownContent = renderMarkdown(children, {\n components: {\n ...markdownOptions.components,\n // Pass dynamic props to components\n code: ({ className, children, ...rest }: ComponentProps<'code'>) => {\n // Ensure children is a string (Markdown renderer might pass ReactNodes)\n const content = String(children ?? '').replace(/\\n$/, '');\n\n // Determine if it is inline code or a code block\n // Code blocks usually have a className like 'language-ts'\n const isBlock = !!className;\n\n if (!isBlock) {\n return (\n <strong className=\"rounded bg-card/60 box-decoration-clone px-1 py-0.5 font-mono text-sm\">\n {content}\n </strong>\n );\n }\n\n // Extract language from className (e.g., \"language-typescript\" -> \"typescript\")\n const language = (className?.replace(/lang(?:uage)?-/, '') ||\n 'plaintext') as BundledLanguage;\n\n return (\n <Code\n {...rest}\n language={language}\n showHeader={true}\n isDarkMode={isDarkMode} // Ensure this variable is available in scope\n >\n {content}\n </Code>\n );\n },\n\n a: (props) => (\n // @ts-expect-error - label is not required in LinkProps\n <Link\n isExternalLink={props.href?.startsWith('http')}\n underlined={true}\n locale={locale}\n {...props}\n color=\"neutral\"\n />\n ),\n ...componentsProp,\n },\n wrapper: wrapper ?? markdownOptions.wrapper,\n forceBlock: forceBlock ?? markdownOptions.forceBlock,\n preserveFrontmatter:\n preserveFrontmatter ?? markdownOptions.preserveFrontmatter,\n tagfilter: tagfilter ?? markdownOptions.tagfilter,\n });\n\n return (\n <CodeProvider>\n <TabProvider>{markdownContent}</TabProvider>\n </CodeProvider>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"MarkDownRender.mjs","names":[],"sources":["../../../../src/components/MarkDownRender/MarkDownRender.tsx"],"sourcesContent":["import type { LocalesValues } from '@intlayer/types';\nimport { cn } from '@utils/cn';\nimport type { ComponentProps, ComponentPropsWithoutRef, FC } from 'react';\nimport {\n type MarkdownRenderer as MarkdownRendererIntlayer,\n type RenderMarkdownProps,\n renderMarkdown,\n} from 'react-intlayer';\nimport type { BundledLanguage } from 'shiki/bundle/web';\nimport { H1, H2, H3, H4, H5, H6 } from '../Headers';\nimport { Code } from '../IDE/Code';\nimport { CodeProvider } from '../IDE/CodeContext';\nimport { Link } from '../Link';\nimport { Tab } from '../Tab';\nimport { TabProvider } from '../Tab/TabContext';\nimport { Table } from '../Table';\n\ntype MarkdownRendererProps = {\n children: string;\n isDarkMode?: boolean;\n locale?: LocalesValues;\n forceBlock?: boolean;\n preserveFrontmatter?: boolean;\n tagfilter?: boolean;\n components?: ComponentProps<typeof MarkdownRendererIntlayer>['components'];\n wrapper?: ComponentProps<typeof MarkdownRendererIntlayer>['wrapper'];\n};\n\nexport const getIntlayerMarkdownOptions: (\n isDarkMode: boolean\n) => RenderMarkdownProps = (isDarkMode) => ({\n components: {\n h1: (props) => <H1 isClickable={true} {...props} />,\n h2: (props) => <H2 isClickable={true} className=\"mt-16\" {...props} />,\n h3: (props) => <H3 isClickable={true} className=\"mt-5\" {...props} />,\n h4: (props) => <H4 isClickable={true} className=\"mt-3\" {...props} />,\n h5: (props) => <H5 isClickable={true} className=\"mt-3\" {...props} />,\n h6: (props) => <H6 isClickable={true} className=\"mt-3\" {...props} />,\n\n code: ({ className, children, ...rest }: ComponentProps<'code'>) => {\n // Ensure children is a string (Markdown renderer might pass ReactNodes)\n const content = String(children ?? '').replace(/\\n$/, '');\n\n // Determine if it is inline code or a code block\n // Code blocks usually have a className like 'language-ts'\n const isBlock = !!className;\n\n if (!isBlock) {\n return (\n <strong className=\"rounded bg-card/60 box-decoration-clone px-1 py-0.5 font-mono text-sm\">\n {content}\n </strong>\n );\n }\n\n // Extract language from className (e.g., \"language-typescript\" -> \"typescript\")\n const language = (className?.replace(/lang(?:uage)?-/, '') ||\n 'plaintext') as BundledLanguage;\n\n console.log({ rest });\n\n return (\n <Code\n {...rest}\n language={language}\n showHeader={true}\n isDarkMode={isDarkMode} // Ensure this variable is available in scope\n >\n {content}\n </Code>\n );\n },\n\n blockquote: ({ className, ...props }) => (\n <blockquote\n className={cn(\n 'mt-5 gap-3 border-card border-l-4 pl-5 text-neutral',\n className\n )}\n {...props}\n />\n ),\n ul: ({ className, ...props }) => (\n <ul\n className={cn('mt-5 flex list-disc flex-col gap-3 pl-5', className)}\n {...props}\n />\n ),\n ol: ({ className, ...props }) => (\n <ol\n className={cn('mt-5 flex list-decimal flex-col gap-3 pl-5', className)}\n {...props}\n />\n ),\n img: ({ className, ...props }) => (\n <img\n {...props}\n alt={props.alt ?? ''}\n loading=\"lazy\"\n className={cn('max-h-[80vh] max-w-full rounded-md', className)}\n src={`${props.src}?raw=true`}\n />\n ),\n a: (props) => (\n // @ts-expect-error - label is not required in LinkProps\n <Link\n isExternalLink={props.href?.startsWith('http')}\n underlined={true}\n // locale={locale}\n {...props}\n color=\"neutral\"\n />\n ),\n pre: (props) => props.children,\n\n table: (props: ComponentProps<typeof Table>) => (\n <Table isRollable={true} {...props} />\n ),\n th: ({ className, ...props }) => (\n <th\n className={cn('border-neutral border-b bg-neutral/10 p-4', className)}\n {...props}\n />\n ),\n tr: ({ className, ...props }) => (\n <tr\n className={cn('hover:/10 hover:bg-neutral/10', className)}\n {...props}\n />\n ),\n td: ({ className, ...props }) => (\n <td\n className={cn('border-neutral-500/50 border-b p-4', className)}\n {...props}\n />\n ),\n hr: ({ className, ...props }) => (\n <hr className={cn('mx-6 mt-16 text-neutral', className)} {...props} />\n ),\n Tabs: (props: ComponentProps<typeof Tab>) => (\n <Tab\n {...props}\n className=\"rounded-xl border border-card\"\n headerClassName=\"sticky rounded-xl top-24 z-5 bg-background/70 backdrop-blur overflow-x-auto\"\n />\n ),\n Tab: Tab.Item,\n Columns: ({ className, ...props }: ComponentPropsWithoutRef<'div'>) => (\n <div className={cn('flex gap-4 max-md:flex-col', className)} {...props} />\n ),\n Column: ({ className, ...props }: ComponentPropsWithoutRef<'div'>) => (\n <div className={cn('flex-1', className)} {...props} />\n ),\n },\n});\n\n/**\n * MarkdownRenderer Component\n *\n * A comprehensive markdown renderer that transforms markdown text into rich,\n * interactive HTML with custom styling and Intlayer integration. Supports\n * code syntax highlighting, responsive tables, internationalized links,\n * and automatic frontmatter stripping.\n *\n * @component\n */\nexport const MarkdownRenderer: FC<MarkdownRendererProps> = ({\n children,\n isDarkMode,\n locale,\n forceBlock,\n preserveFrontmatter,\n tagfilter,\n components: componentsProp,\n wrapper,\n}) => {\n const markdownOptions = getIntlayerMarkdownOptions(isDarkMode ?? false);\n\n const markdownContent = renderMarkdown(children, {\n components: {\n ...markdownOptions.components,\n // Pass dynamic props to components\n code: ({ className, children, ...rest }: ComponentProps<'code'>) => {\n // Ensure children is a string (Markdown renderer might pass ReactNodes)\n const content = String(children ?? '').replace(/\\n$/, '');\n\n // Determine if it is inline code or a code block\n // Code blocks usually have a className like 'language-ts'\n const isBlock = !!className;\n\n if (!isBlock) {\n return (\n <strong className=\"rounded bg-card/60 box-decoration-clone px-1 py-0.5 font-mono text-sm\">\n {content}\n </strong>\n );\n }\n\n // Extract language from className (e.g., \"language-typescript\" -> \"typescript\")\n const language = (className?.replace(/lang(?:uage)?-/, '') ||\n 'plaintext') as BundledLanguage;\n\n return (\n <Code\n {...rest}\n language={language}\n showHeader={true}\n isDarkMode={isDarkMode} // Ensure this variable is available in scope\n >\n {content}\n </Code>\n );\n },\n\n a: (props) => (\n // @ts-expect-error - label is not required in LinkProps\n <Link\n isExternalLink={props.href?.startsWith('http')}\n underlined={true}\n locale={locale}\n {...props}\n color=\"neutral\"\n />\n ),\n ...componentsProp,\n },\n wrapper: wrapper ?? markdownOptions.wrapper,\n forceBlock: forceBlock ?? markdownOptions.forceBlock,\n preserveFrontmatter:\n preserveFrontmatter ?? markdownOptions.preserveFrontmatter,\n tagfilter: tagfilter ?? markdownOptions.tagfilter,\n });\n\n return (\n <CodeProvider>\n <TabProvider>{markdownContent}</TabProvider>\n </CodeProvider>\n );\n};\n"],"mappings":";;;;;;;;;;;;AA4BA,MAAa,8BAEe,gBAAgB,EAC1C,YAAY;CACV,KAAK,UAAU,oBAAC;EAAG,aAAa;EAAM,GAAI;GAAS;CACnD,KAAK,UAAU,oBAAC;EAAG,aAAa;EAAM,WAAU;EAAQ,GAAI;GAAS;CACrE,KAAK,UAAU,oBAAC;EAAG,aAAa;EAAM,WAAU;EAAO,GAAI;GAAS;CACpE,KAAK,UAAU,oBAAC;EAAG,aAAa;EAAM,WAAU;EAAO,GAAI;GAAS;CACpE,KAAK,UAAU,oBAAC;EAAG,aAAa;EAAM,WAAU;EAAO,GAAI;GAAS;CACpE,KAAK,UAAU,oBAAC;EAAG,aAAa;EAAM,WAAU;EAAO,GAAI;GAAS;CAEpE,OAAO,EAAE,WAAW,UAAU,GAAG,WAAmC;EAElE,MAAM,UAAU,OAAO,YAAY,GAAG,CAAC,QAAQ,OAAO,GAAG;AAMzD,MAAI,CAFY,CAAC,CAAC,UAGhB,QACE,oBAAC;GAAO,WAAU;aACf;IACM;EAKb,MAAM,WAAY,WAAW,QAAQ,kBAAkB,GAAG,IACxD;AAEF,UAAQ,IAAI,EAAE,MAAM,CAAC;AAErB,SACE,oBAAC;GACC,GAAI;GACM;GACV,YAAY;GACA;aAEX;IACI;;CAIX,aAAa,EAAE,WAAW,GAAG,YAC3B,oBAAC;EACC,WAAW,GACT,uDACA,UACD;EACD,GAAI;GACJ;CAEJ,KAAK,EAAE,WAAW,GAAG,YACnB,oBAAC;EACC,WAAW,GAAG,2CAA2C,UAAU;EACnE,GAAI;GACJ;CAEJ,KAAK,EAAE,WAAW,GAAG,YACnB,oBAAC;EACC,WAAW,GAAG,8CAA8C,UAAU;EACtE,GAAI;GACJ;CAEJ,MAAM,EAAE,WAAW,GAAG,YACpB,oBAAC;EACC,GAAI;EACJ,KAAK,MAAM,OAAO;EAClB,SAAQ;EACR,WAAW,GAAG,sCAAsC,UAAU;EAC9D,KAAK,GAAG,MAAM,IAAI;GAClB;CAEJ,IAAI,UAEF,oBAAC;EACC,gBAAgB,MAAM,MAAM,WAAW,OAAO;EAC9C,YAAY;EAEZ,GAAI;EACJ,OAAM;GACN;CAEJ,MAAM,UAAU,MAAM;CAEtB,QAAQ,UACN,oBAAC;EAAM,YAAY;EAAM,GAAI;GAAS;CAExC,KAAK,EAAE,WAAW,GAAG,YACnB,oBAAC;EACC,WAAW,GAAG,6CAA6C,UAAU;EACrE,GAAI;GACJ;CAEJ,KAAK,EAAE,WAAW,GAAG,YACnB,oBAAC;EACC,WAAW,GAAG,iCAAiC,UAAU;EACzD,GAAI;GACJ;CAEJ,KAAK,EAAE,WAAW,GAAG,YACnB,oBAAC;EACC,WAAW,GAAG,sCAAsC,UAAU;EAC9D,GAAI;GACJ;CAEJ,KAAK,EAAE,WAAW,GAAG,YACnB,oBAAC;EAAG,WAAW,GAAG,2BAA2B,UAAU;EAAE,GAAI;GAAS;CAExE,OAAO,UACL,oBAAC;EACC,GAAI;EACJ,WAAU;EACV,iBAAgB;GAChB;CAEJ,KAAK,IAAI;CACT,UAAU,EAAE,WAAW,GAAG,YACxB,oBAAC;EAAI,WAAW,GAAG,8BAA8B,UAAU;EAAE,GAAI;GAAS;CAE5E,SAAS,EAAE,WAAW,GAAG,YACvB,oBAAC;EAAI,WAAW,GAAG,UAAU,UAAU;EAAE,GAAI;GAAS;CAEzD,EACF;;;;;;;;;;;AAYD,MAAa,oBAA+C,EAC1D,UACA,YACA,QACA,YACA,qBACA,WACA,YAAY,gBACZ,cACI;CACJ,MAAM,kBAAkB,2BAA2B,cAAc,MAAM;AAyDvE,QACE,oBAAC,0BACC,oBAAC,yBAzDmB,eAAe,UAAU;EAC/C,YAAY;GACV,GAAG,gBAAgB;GAEnB,OAAO,EAAE,WAAW,UAAU,GAAG,WAAmC;IAElE,MAAM,UAAU,OAAO,YAAY,GAAG,CAAC,QAAQ,OAAO,GAAG;AAMzD,QAAI,CAFY,CAAC,CAAC,UAGhB,QACE,oBAAC;KAAO,WAAU;eACf;MACM;IAKb,MAAM,WAAY,WAAW,QAAQ,kBAAkB,GAAG,IACxD;AAEF,WACE,oBAAC;KACC,GAAI;KACM;KACV,YAAY;KACA;eAEX;MACI;;GAIX,IAAI,UAEF,oBAAC;IACC,gBAAgB,MAAM,MAAM,WAAW,OAAO;IAC9C,YAAY;IACJ;IACR,GAAI;IACJ,OAAM;KACN;GAEJ,GAAG;GACJ;EACD,SAAS,WAAW,gBAAgB;EACpC,YAAY,cAAc,gBAAgB;EAC1C,qBACE,uBAAuB,gBAAgB;EACzC,WAAW,aAAa,gBAAgB;EACzC,CAAC,GAI8C,GAC/B"}
@@ -61,9 +61,9 @@ declare enum ButtonTextAlign {
61
61
  */
62
62
  declare const buttonVariants: (props?: {
63
63
  size?: "md" | "sm" | "lg" | "xl" | "icon-sm" | "icon-md" | "icon-lg" | "icon-xl";
64
- color?: "error" | "custom" | "primary" | "secondary" | "destructive" | "neutral" | "card" | "light" | "dark" | "text" | "current" | "text-inverse" | "success";
65
- roundedSize?: "none" | "md" | "sm" | "lg" | "xl" | "2xl" | "3xl" | "4xl" | "5xl" | "full";
66
- variant?: "input" | "none" | "default" | "outline" | "link" | "invisible-link" | "hoverable" | "fade";
64
+ color?: "primary" | "secondary" | "destructive" | "neutral" | "card" | "light" | "dark" | "text" | "current" | "text-inverse" | "error" | "success" | "custom";
65
+ roundedSize?: "md" | "sm" | "lg" | "xl" | "none" | "2xl" | "3xl" | "4xl" | "5xl" | "full";
66
+ variant?: "default" | "none" | "outline" | "link" | "invisible-link" | "hoverable" | "fade" | "input";
67
67
  textAlign?: "left" | "center" | "right";
68
68
  isFullWidth?: boolean;
69
69
  } & class_variance_authority_types0.ClassProp) => string;
@@ -6,7 +6,7 @@ import { VariantProps } from "class-variance-authority";
6
6
  declare const collapsibleTableVariants: (props?: {
7
7
  size?: "sm" | "md" | "lg" | "xl" | "full";
8
8
  variant?: "default" | "dark" | "ghost" | "outlined";
9
- spacing?: "none" | "sm" | "md" | "lg" | "auto";
9
+ spacing?: "sm" | "md" | "lg" | "none" | "auto";
10
10
  } & class_variance_authority_types0.ClassProp) => string;
11
11
  interface CollapsibleTableProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'>, VariantProps<typeof collapsibleTableVariants> {
12
12
  /** Table title displayed in the header */
@@ -29,7 +29,7 @@ declare const Command: {
29
29
  ref?: React.Ref<HTMLInputElement>;
30
30
  } & {
31
31
  asChild?: boolean;
32
- }, "key" | keyof react.InputHTMLAttributes<HTMLInputElement> | "asChild">, "onChange" | "type" | "value"> & {
32
+ }, "key" | keyof react.InputHTMLAttributes<HTMLInputElement> | "asChild">, "type" | "value" | "onChange"> & {
33
33
  value?: string;
34
34
  onValueChange?: (search: string) => void;
35
35
  } & react.RefAttributes<HTMLInputElement>>;
@@ -73,7 +73,7 @@ declare const Command: {
73
73
  ref?: React.Ref<HTMLDivElement>;
74
74
  } & {
75
75
  asChild?: boolean;
76
- }, "key" | keyof HTMLAttributes<HTMLDivElement> | "asChild">, "onSelect" | "disabled" | "value"> & {
76
+ }, "key" | keyof HTMLAttributes<HTMLDivElement> | "asChild">, "disabled" | "value" | "onSelect"> & {
77
77
  disabled?: boolean;
78
78
  onSelect?: (value: string) => void;
79
79
  value?: string;
@@ -8,14 +8,14 @@ import { VariantProps } from "class-variance-authority";
8
8
  * Provides flexible styling options for background, padding, borders, and layout
9
9
  */
10
10
  declare const containerVariants: (props?: {
11
- roundedSize?: "none" | "sm" | "md" | "lg" | "xl" | "2xl" | "3xl" | "4xl" | "full";
12
- transparency?: "none" | "sm" | "md" | "lg" | "xl" | "full" | "xs";
13
- padding?: "none" | "sm" | "md" | "lg" | "xl" | "2xl";
14
- separator?: "without" | "x" | "y" | "both";
15
- border?: "with" | "none";
16
- borderColor?: "error" | "text" | "primary" | "secondary" | "neutral" | "card" | "success" | "warning";
17
- background?: "with" | "none" | "hoverable";
18
- gap?: "none" | "sm" | "md" | "lg" | "xl" | "2xl";
11
+ roundedSize?: "sm" | "md" | "lg" | "xl" | "none" | "2xl" | "3xl" | "4xl" | "full";
12
+ transparency?: "sm" | "md" | "lg" | "xl" | "none" | "full" | "xs";
13
+ padding?: "sm" | "md" | "lg" | "xl" | "none" | "2xl";
14
+ separator?: "both" | "without" | "x" | "y";
15
+ border?: "none" | "with";
16
+ borderColor?: "primary" | "secondary" | "neutral" | "card" | "text" | "error" | "success" | "warning";
17
+ background?: "none" | "hoverable" | "with";
18
+ gap?: "sm" | "md" | "lg" | "xl" | "none" | "2xl";
19
19
  } & class_variance_authority_types0.ClassProp) => string;
20
20
  /** Available rounded corner sizes for the container */
21
21
  declare enum ContainerRoundedSize {
@@ -6,8 +6,8 @@ import { VariantProps } from "class-variance-authority";
6
6
  declare const checkboxVariants: (props?: {
7
7
  variant?: "default";
8
8
  size?: "sm" | "md" | "lg";
9
- color?: "custom" | "error" | "text" | "primary" | "secondary" | "destructive" | "neutral" | "light" | "dark" | "success";
10
- validationStyleEnabled?: "enabled" | "disabled";
9
+ color?: "primary" | "secondary" | "destructive" | "neutral" | "light" | "dark" | "text" | "error" | "success" | "custom";
10
+ validationStyleEnabled?: "disabled" | "enabled";
11
11
  } & class_variance_authority_types0.ClassProp) => string;
12
12
  declare enum CheckboxSize {
13
13
  SM = "sm",
@@ -6,7 +6,7 @@ import { VariantProps } from "class-variance-authority";
6
6
  declare const inputVariants: (props?: {
7
7
  variant?: "default" | "invisible";
8
8
  size?: "sm" | "md" | "lg";
9
- validationStyleEnabled?: "enabled" | "disabled";
9
+ validationStyleEnabled?: "disabled" | "enabled";
10
10
  } & class_variance_authority_types0.ClassProp) => string;
11
11
  declare enum InputVariant {
12
12
  DEFAULT = "default",
@@ -54,9 +54,9 @@ declare enum LinkUnderlined {
54
54
  }
55
55
  declare const linkVariants: (props?: {
56
56
  variant?: "default" | "invisible-link" | "hoverable" | "button" | "button-outlined";
57
- roundedSize?: "none" | "md" | "sm" | "lg" | "xl" | "2xl" | "3xl" | "full";
58
- color?: "error" | "custom" | "primary" | "secondary" | "destructive" | "neutral" | "light" | "dark" | "text" | "text-inverse" | "success";
59
- size?: "custom" | "md" | "sm" | "lg" | "xl";
57
+ roundedSize?: "md" | "sm" | "lg" | "xl" | "none" | "2xl" | "3xl" | "full";
58
+ color?: "primary" | "secondary" | "destructive" | "neutral" | "light" | "dark" | "text" | "text-inverse" | "error" | "success" | "custom";
59
+ size?: "md" | "sm" | "lg" | "xl" | "custom";
60
60
  underlined?: boolean | LinkUnderlined.DEFAULT;
61
61
  } & class_variance_authority_types0.ClassProp) => string;
62
62
  type LinkProps = DetailedHTMLProps<AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement> & VariantProps<typeof linkVariants> & {
@@ -5,7 +5,7 @@ import { VariantProps } from "class-variance-authority";
5
5
  //#region src/components/Pagination/Pagination.d.ts
6
6
  declare const paginationVariants: (props?: {
7
7
  size?: "sm" | "md" | "lg";
8
- color?: "text" | "primary" | "secondary" | "destructive" | "neutral";
8
+ color?: "primary" | "secondary" | "destructive" | "neutral" | "text";
9
9
  variant?: "default" | "ghost" | "bordered";
10
10
  } & class_variance_authority_types0.ClassProp) => string;
11
11
  declare enum PaginationSize {
@@ -15,7 +15,7 @@ declare enum TabSelectorColor {
15
15
  TEXT = "text"
16
16
  }
17
17
  declare const tabSelectorVariant: (props?: {
18
- color?: "text" | "primary" | "secondary" | "destructive" | "neutral" | "light" | "dark";
18
+ color?: "primary" | "secondary" | "destructive" | "neutral" | "light" | "dark" | "text";
19
19
  } & class_variance_authority_types0.ClassProp) => string;
20
20
  type TabSelectorItemProps = HTMLAttributes<HTMLElement> & {
21
21
  key: string | number;
@@ -185,8 +185,8 @@ declare enum TagBackground {
185
185
  WITH = "with"
186
186
  }
187
187
  declare const containerVariants: (props?: {
188
- roundedSize?: "none" | "md" | "sm" | "lg" | "xl" | "2xl" | "3xl" | "full";
189
- color?: "error" | "primary" | "neutral" | "text" | "success" | "warning" | "blue" | "yellow" | "green" | "red" | "orange" | "purple" | "pink" | "brown" | "gray" | "black" | "white";
188
+ roundedSize?: "md" | "sm" | "lg" | "xl" | "none" | "2xl" | "3xl" | "full";
189
+ color?: "primary" | "neutral" | "text" | "error" | "success" | "warning" | "blue" | "yellow" | "green" | "red" | "orange" | "purple" | "pink" | "brown" | "gray" | "black" | "white";
190
190
  size?: "md" | "sm" | "lg" | "xl" | "xs";
191
191
  border?: "none" | "with";
192
192
  background?: "none" | "with";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@intlayer/design-system",
3
- "version": "8.0.5",
3
+ "version": "8.1.0",
4
4
  "private": false,
5
5
  "description": "Intlayer design system, including UI components used in the Intlayer editor, website, and visual editor/CMS.",
6
6
  "keywords": [
@@ -105,12 +105,12 @@
105
105
  "dependencies": {
106
106
  "@better-auth/passkey": "1.4.18",
107
107
  "@better-auth/sso": "1.4.18",
108
- "@intlayer/api": "8.0.5",
109
- "@intlayer/config": "8.0.5",
110
- "@intlayer/core": "8.0.5",
111
- "@intlayer/dictionaries-entry": "8.0.5",
112
- "@intlayer/editor-react": "8.0.5",
113
- "@intlayer/types": "8.0.5",
108
+ "@intlayer/api": "8.1.0",
109
+ "@intlayer/config": "8.1.0",
110
+ "@intlayer/core": "8.1.0",
111
+ "@intlayer/dictionaries-entry": "8.1.0",
112
+ "@intlayer/editor-react": "8.1.0",
113
+ "@intlayer/types": "8.1.0",
114
114
  "@radix-ui/react-dialog": "1.1.15",
115
115
  "@radix-ui/react-select": "2.2.6",
116
116
  "@radix-ui/react-slot": "1.2.4",
@@ -119,12 +119,12 @@
119
119
  "bun": "1.3.2",
120
120
  "class-variance-authority": "0.7.1",
121
121
  "cmdk": "1.1.1",
122
- "react-intlayer": "8.0.5",
122
+ "react-intlayer": "8.1.0",
123
123
  "rollup-preserve-directives": "1.1.3",
124
124
  "zod": "4.3.6"
125
125
  },
126
126
  "devDependencies": {
127
- "@intlayer/backend": "8.0.5",
127
+ "@intlayer/backend": "8.1.0",
128
128
  "@shikijs/transformers": "3.22.0",
129
129
  "@storybook/addon-a11y": "8.6.14",
130
130
  "@storybook/addon-essentials": "8.6.14",
@@ -148,41 +148,41 @@
148
148
  "@testing-library/react": "16.3.1",
149
149
  "@testing-library/user-event": "14.6.1",
150
150
  "@types/espree": "10.1.0",
151
- "@types/node": "25.2.2",
152
- "@types/react": "19.2.13",
151
+ "@types/node": "25.2.3",
152
+ "@types/react": "19.2.14",
153
153
  "@types/react-dom": "19.2.3",
154
154
  "@utils/ts-config": "1.0.4",
155
155
  "@utils/ts-config-types": "1.0.4",
156
156
  "fast-glob": "3.3.3",
157
- "intlayer": "8.0.5",
157
+ "intlayer": "8.1.0",
158
158
  "rimraf": "6.1.2",
159
159
  "shiki": "3.22.0",
160
160
  "storybook": "8.6.14",
161
161
  "tsdown": "0.20.3",
162
162
  "typescript": "5.9.3",
163
163
  "vite": "7.3.1",
164
- "vite-intlayer": "8.0.5",
164
+ "vite-intlayer": "8.1.0",
165
165
  "vite-plugin-dts": "4.5.4",
166
- "vite-tsconfig-paths": "6.0.5",
166
+ "vite-tsconfig-paths": "6.1.1",
167
167
  "vitest": "4.0.18"
168
168
  },
169
169
  "peerDependencies": {
170
170
  "@better-fetch/fetch": "1.1.21",
171
171
  "@hookform/resolvers": "5.2.2",
172
- "@intlayer/backend": "8.0.5",
172
+ "@intlayer/backend": "8.1.0",
173
173
  "@monaco-editor/react": "4.7.0",
174
174
  "@shikijs/transformers": "3.22.0",
175
- "@tanstack/react-query": "5.90.20",
175
+ "@tanstack/react-query": "5.90.21",
176
176
  "@tanstack/react-query-devtools": "5.91.3",
177
177
  "clsx": "2.1.1",
178
178
  "framer-motion": "12.34.0",
179
179
  "fuse.js": "7.1.0",
180
- "intlayer": "8.0.5",
180
+ "intlayer": "8.1.0",
181
181
  "lucide-react": "0.563.0",
182
182
  "react": ">=16.0.0",
183
183
  "react-dom": ">=16.0.0",
184
184
  "react-hook-form": "7.71.1",
185
- "react-intlayer": "8.0.5",
185
+ "react-intlayer": "8.1.0",
186
186
  "shiki": "3.22.0",
187
187
  "tailwind-merge": "3.4.0",
188
188
  "tailwindcss": "4.1.18"