@vaneui/ui 0.2.1-alpha.20250810113755.26a118a → 0.2.1-alpha.20250812182914.4e44540

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 (34) hide show
  1. package/dist/components/examples/ref-usage-examples.d.ts +29 -0
  2. package/dist/components/examples/theme-types-strictness-compile-check.d.ts +5 -0
  3. package/dist/components/tests/grid2.test.d.ts +1 -0
  4. package/dist/components/tests/ref-support-comprehensive.test.d.ts +1 -0
  5. package/dist/components/tests/ref-support.test.d.ts +1 -0
  6. package/dist/components/tests/theme-types-strictness.test.d.ts +1 -0
  7. package/dist/components/themeContext.d.ts +70 -50
  8. package/dist/components/themedComponent.d.ts +1 -1
  9. package/dist/components/ui/badge.d.ts +2 -2
  10. package/dist/components/ui/button.d.ts +2 -2
  11. package/dist/components/ui/card.d.ts +2 -2
  12. package/dist/components/ui/checkbox.d.ts +83 -3
  13. package/dist/components/ui/chip.d.ts +2 -2
  14. package/dist/components/ui/code.d.ts +121 -3
  15. package/dist/components/ui/col.d.ts +2 -2
  16. package/dist/components/ui/container.d.ts +2 -2
  17. package/dist/components/ui/divider.d.ts +74 -3
  18. package/dist/components/ui/grid.d.ts +4 -3
  19. package/dist/components/ui/img.d.ts +81 -3
  20. package/dist/components/ui/label.d.ts +109 -3
  21. package/dist/components/ui/layout.d.ts +1 -1
  22. package/dist/components/ui/props/keys.d.ts +1 -1
  23. package/dist/components/ui/row.d.ts +2 -2
  24. package/dist/components/ui/section.d.ts +2 -2
  25. package/dist/components/ui/stack.d.ts +2 -2
  26. package/dist/components/ui/theme/gridTheme.d.ts +1 -0
  27. package/dist/components/ui/typography.d.ts +110 -9
  28. package/dist/index.d.ts +1 -1
  29. package/dist/index.esm.js +84 -75
  30. package/dist/index.esm.js.map +1 -1
  31. package/dist/index.js +83 -73
  32. package/dist/index.js.map +1 -1
  33. package/dist/ui.css +11 -0
  34. package/package.json +1 -1
@@ -1,3 +1,109 @@
1
- import { JSX } from 'react';
2
- import { LabelProps } from './props';
3
- export declare const Label: (props: LabelProps) => JSX.Element;
1
+ import React from 'react';
2
+ export declare const Label: React.ForwardRefExoticComponent<{
3
+ className?: string;
4
+ children?: React.ReactNode;
5
+ } & React.LabelHTMLAttributes<HTMLLabelElement> & {
6
+ transparent?: boolean | undefined;
7
+ gap?: boolean | undefined;
8
+ reverse?: boolean | undefined;
9
+ link?: boolean | undefined;
10
+ default?: boolean | undefined;
11
+ accent?: boolean | undefined;
12
+ primary?: boolean | undefined;
13
+ secondary?: boolean | undefined;
14
+ tertiary?: boolean | undefined;
15
+ success?: boolean | undefined;
16
+ danger?: boolean | undefined;
17
+ warning?: boolean | undefined;
18
+ info?: boolean | undefined;
19
+ inline?: boolean | undefined;
20
+ block?: boolean | undefined;
21
+ inlineBlock?: boolean | undefined;
22
+ flex?: boolean | undefined;
23
+ inlineFlex?: boolean | undefined;
24
+ grid?: boolean | undefined;
25
+ inlineGrid?: boolean | undefined;
26
+ contents?: boolean | undefined;
27
+ table?: boolean | undefined;
28
+ tableCell?: boolean | undefined;
29
+ hidden?: boolean | undefined;
30
+ row?: boolean | undefined;
31
+ column?: boolean | undefined;
32
+ rowReverse?: boolean | undefined;
33
+ columnReverse?: boolean | undefined;
34
+ sans?: boolean | undefined;
35
+ serif?: boolean | undefined;
36
+ mono?: boolean | undefined;
37
+ italic?: boolean | undefined;
38
+ notItalic?: boolean | undefined;
39
+ thin?: boolean | undefined;
40
+ extralight?: boolean | undefined;
41
+ light?: boolean | undefined;
42
+ normal?: boolean | undefined;
43
+ medium?: boolean | undefined;
44
+ semibold?: boolean | undefined;
45
+ bold?: boolean | undefined;
46
+ extrabold?: boolean | undefined;
47
+ black?: boolean | undefined;
48
+ noGap?: boolean | undefined;
49
+ xsHide?: boolean | undefined;
50
+ smHide?: boolean | undefined;
51
+ mdHide?: boolean | undefined;
52
+ lgHide?: boolean | undefined;
53
+ xlHide?: boolean | undefined;
54
+ itemsStart?: boolean | undefined;
55
+ itemsEnd?: boolean | undefined;
56
+ itemsCenter?: boolean | undefined;
57
+ itemsBaseline?: boolean | undefined;
58
+ itemsStretch?: boolean | undefined;
59
+ justifyStart?: boolean | undefined;
60
+ justifyEnd?: boolean | undefined;
61
+ justifyCenter?: boolean | undefined;
62
+ justifyBetween?: boolean | undefined;
63
+ justifyAround?: boolean | undefined;
64
+ justifyEvenly?: boolean | undefined;
65
+ justifyStretch?: boolean | undefined;
66
+ justifyBaseline?: boolean | undefined;
67
+ overflowAuto?: boolean | undefined;
68
+ overflowHidden?: boolean | undefined;
69
+ overflowClip?: boolean | undefined;
70
+ overflowVisible?: boolean | undefined;
71
+ overflowScroll?: boolean | undefined;
72
+ overflowXAuto?: boolean | undefined;
73
+ overflowYAuto?: boolean | undefined;
74
+ overflowXHidden?: boolean | undefined;
75
+ overflowYHidden?: boolean | undefined;
76
+ overflowXClip?: boolean | undefined;
77
+ overflowYClip?: boolean | undefined;
78
+ overflowXVisible?: boolean | undefined;
79
+ overflowYVisible?: boolean | undefined;
80
+ overflowXScroll?: boolean | undefined;
81
+ overflowYScroll?: boolean | undefined;
82
+ relative?: boolean | undefined;
83
+ absolute?: boolean | undefined;
84
+ fixed?: boolean | undefined;
85
+ sticky?: boolean | undefined;
86
+ static?: boolean | undefined;
87
+ xs?: boolean | undefined;
88
+ sm?: boolean | undefined;
89
+ md?: boolean | undefined;
90
+ lg?: boolean | undefined;
91
+ xl?: boolean | undefined;
92
+ textLeft?: boolean | undefined;
93
+ textCenter?: boolean | undefined;
94
+ textRight?: boolean | undefined;
95
+ textJustify?: boolean | undefined;
96
+ underline?: boolean | undefined;
97
+ lineThrough?: boolean | undefined;
98
+ noUnderline?: boolean | undefined;
99
+ overline?: boolean | undefined;
100
+ uppercase?: boolean | undefined;
101
+ lowercase?: boolean | undefined;
102
+ capitalize?: boolean | undefined;
103
+ normalCase?: boolean | undefined;
104
+ flexWrap?: boolean | undefined;
105
+ flexNoWrap?: boolean | undefined;
106
+ flexWrapReverse?: boolean | undefined;
107
+ } & {
108
+ tag?: React.ElementType;
109
+ } & React.RefAttributes<HTMLLabelElement>>;
@@ -2,6 +2,6 @@ export { Section } from './section';
2
2
  export { Container } from './container';
3
3
  export { Col } from './col';
4
4
  export { Row } from './row';
5
- export { Grid3, Grid4 } from './grid';
5
+ export { Grid2, Grid3, Grid4 } from './grid';
6
6
  export { Card } from './card';
7
7
  export { Stack } from './stack';
@@ -93,6 +93,6 @@ export declare const IMG_CATEGORIES: readonly ["size", "hide", "items", "justify
93
93
  export type CategoryProps = {
94
94
  [K in ComponentCategoryKey]?: (typeof ComponentKeys)[K][number];
95
95
  };
96
- export declare const COMPONENT: readonly ["button", "badge", "chip", "code", "card", "divider", "container", "row", "col", "stack", "section", "grid3", "grid4", "pageTitle", "sectionTitle", "title", "text", "link", "list", "listItem", "checkbox", "label", "img"];
96
+ export declare const COMPONENT: readonly ["button", "badge", "chip", "code", "card", "divider", "container", "row", "col", "stack", "section", "grid2", "grid3", "grid4", "pageTitle", "sectionTitle", "title", "text", "link", "list", "listItem", "checkbox", "label", "img"];
97
97
  export type ComponentKey = typeof COMPONENT[number];
98
98
  export declare const ComponentCategories: Record<ComponentKey, readonly string[]>;
@@ -1,3 +1,3 @@
1
- import { JSX } from 'react';
1
+ import React from 'react';
2
2
  import { RowProps } from './props/props';
3
- export declare const Row: (props: RowProps) => JSX.Element;
3
+ export declare const Row: React.ForwardRefExoticComponent<RowProps & React.RefAttributes<HTMLDivElement>>;
@@ -1,3 +1,3 @@
1
- import { JSX } from 'react';
1
+ import React from 'react';
2
2
  import { SectionProps } from './props/props';
3
- export declare const Section: (props: SectionProps) => JSX.Element;
3
+ export declare const Section: React.ForwardRefExoticComponent<SectionProps & React.RefAttributes<HTMLDivElement>>;
@@ -1,3 +1,3 @@
1
- import { JSX } from 'react';
1
+ import React from 'react';
2
2
  import { StackProps } from './props/props';
3
- export declare const Stack: (props: StackProps) => JSX.Element;
3
+ export declare const Stack: React.ForwardRefExoticComponent<StackProps & React.RefAttributes<HTMLDivElement>>;
@@ -16,5 +16,6 @@ export interface GridTheme extends BaseComponentTheme {
16
16
  flexDirection: DirectionTheme;
17
17
  };
18
18
  }
19
+ export declare const defaultGrid2Theme: ComponentTheme<GridProps, GridTheme>;
19
20
  export declare const defaultGrid3Theme: ComponentTheme<GridProps, GridTheme>;
20
21
  export declare const defaultGrid4Theme: ComponentTheme<GridProps, GridTheme>;
@@ -1,9 +1,110 @@
1
- import { JSX } from 'react';
2
- import { TypographyProps, ListProps } from './props/props';
3
- export declare const PageTitle: (props: TypographyProps) => JSX.Element;
4
- export declare const SectionTitle: (props: TypographyProps) => JSX.Element;
5
- export declare const Title: (props: TypographyProps) => JSX.Element;
6
- export declare const Text: (props: TypographyProps) => JSX.Element;
7
- export declare const Link: (props: TypographyProps) => JSX.Element;
8
- export declare const ListItem: (props: TypographyProps) => JSX.Element;
9
- export declare const List: (props: ListProps) => JSX.Element;
1
+ import React from 'react';
2
+ import { TypographyProps } from './props/props';
3
+ export declare const PageTitle: React.ForwardRefExoticComponent<TypographyProps & React.RefAttributes<HTMLHeadingElement>>;
4
+ export declare const SectionTitle: React.ForwardRefExoticComponent<TypographyProps & React.RefAttributes<HTMLHeadingElement>>;
5
+ export declare const Title: React.ForwardRefExoticComponent<TypographyProps & React.RefAttributes<HTMLHeadingElement>>;
6
+ export declare const Text: React.ForwardRefExoticComponent<TypographyProps & React.RefAttributes<HTMLParagraphElement>>;
7
+ export declare const Link: React.ForwardRefExoticComponent<TypographyProps & React.RefAttributes<HTMLAnchorElement>>;
8
+ export declare const ListItem: React.ForwardRefExoticComponent<TypographyProps & React.RefAttributes<HTMLLIElement>>;
9
+ export declare const List: React.ForwardRefExoticComponent<{
10
+ className?: string;
11
+ children?: React.ReactNode;
12
+ } & React.HTMLAttributes<HTMLElement> & {
13
+ link?: boolean | undefined;
14
+ table?: boolean | undefined;
15
+ hidden?: boolean | undefined;
16
+ transparent?: boolean | undefined;
17
+ padding?: boolean | undefined;
18
+ default?: boolean | undefined;
19
+ accent?: boolean | undefined;
20
+ primary?: boolean | undefined;
21
+ secondary?: boolean | undefined;
22
+ tertiary?: boolean | undefined;
23
+ success?: boolean | undefined;
24
+ danger?: boolean | undefined;
25
+ warning?: boolean | undefined;
26
+ info?: boolean | undefined;
27
+ inline?: boolean | undefined;
28
+ block?: boolean | undefined;
29
+ inlineBlock?: boolean | undefined;
30
+ flex?: boolean | undefined;
31
+ inlineFlex?: boolean | undefined;
32
+ grid?: boolean | undefined;
33
+ inlineGrid?: boolean | undefined;
34
+ contents?: boolean | undefined;
35
+ tableCell?: boolean | undefined;
36
+ sans?: boolean | undefined;
37
+ serif?: boolean | undefined;
38
+ mono?: boolean | undefined;
39
+ italic?: boolean | undefined;
40
+ notItalic?: boolean | undefined;
41
+ thin?: boolean | undefined;
42
+ extralight?: boolean | undefined;
43
+ light?: boolean | undefined;
44
+ normal?: boolean | undefined;
45
+ medium?: boolean | undefined;
46
+ semibold?: boolean | undefined;
47
+ bold?: boolean | undefined;
48
+ extrabold?: boolean | undefined;
49
+ black?: boolean | undefined;
50
+ xsHide?: boolean | undefined;
51
+ smHide?: boolean | undefined;
52
+ mdHide?: boolean | undefined;
53
+ lgHide?: boolean | undefined;
54
+ xlHide?: boolean | undefined;
55
+ itemsStart?: boolean | undefined;
56
+ itemsEnd?: boolean | undefined;
57
+ itemsCenter?: boolean | undefined;
58
+ itemsBaseline?: boolean | undefined;
59
+ itemsStretch?: boolean | undefined;
60
+ justifyStart?: boolean | undefined;
61
+ justifyEnd?: boolean | undefined;
62
+ justifyCenter?: boolean | undefined;
63
+ justifyBetween?: boolean | undefined;
64
+ justifyAround?: boolean | undefined;
65
+ justifyEvenly?: boolean | undefined;
66
+ justifyStretch?: boolean | undefined;
67
+ justifyBaseline?: boolean | undefined;
68
+ disc?: boolean | undefined;
69
+ decimal?: boolean | undefined;
70
+ overflowAuto?: boolean | undefined;
71
+ overflowHidden?: boolean | undefined;
72
+ overflowClip?: boolean | undefined;
73
+ overflowVisible?: boolean | undefined;
74
+ overflowScroll?: boolean | undefined;
75
+ overflowXAuto?: boolean | undefined;
76
+ overflowYAuto?: boolean | undefined;
77
+ overflowXHidden?: boolean | undefined;
78
+ overflowYHidden?: boolean | undefined;
79
+ overflowXClip?: boolean | undefined;
80
+ overflowYClip?: boolean | undefined;
81
+ overflowXVisible?: boolean | undefined;
82
+ overflowYVisible?: boolean | undefined;
83
+ overflowXScroll?: boolean | undefined;
84
+ overflowYScroll?: boolean | undefined;
85
+ noPadding?: boolean | undefined;
86
+ relative?: boolean | undefined;
87
+ absolute?: boolean | undefined;
88
+ fixed?: boolean | undefined;
89
+ sticky?: boolean | undefined;
90
+ static?: boolean | undefined;
91
+ xs?: boolean | undefined;
92
+ sm?: boolean | undefined;
93
+ md?: boolean | undefined;
94
+ lg?: boolean | undefined;
95
+ xl?: boolean | undefined;
96
+ textLeft?: boolean | undefined;
97
+ textCenter?: boolean | undefined;
98
+ textRight?: boolean | undefined;
99
+ textJustify?: boolean | undefined;
100
+ underline?: boolean | undefined;
101
+ lineThrough?: boolean | undefined;
102
+ noUnderline?: boolean | undefined;
103
+ overline?: boolean | undefined;
104
+ uppercase?: boolean | undefined;
105
+ lowercase?: boolean | undefined;
106
+ capitalize?: boolean | undefined;
107
+ normalCase?: boolean | undefined;
108
+ } & {
109
+ tag?: React.ElementType;
110
+ } & React.RefAttributes<HTMLUListElement>>;
package/dist/index.d.ts CHANGED
@@ -6,7 +6,7 @@ export { Code } from "./components/ui/code";
6
6
  export { Checkbox } from "./components/ui/checkbox";
7
7
  export { Label } from "./components/ui/label";
8
8
  export { Img } from "./components/ui/img";
9
- export { Section, Container, Col, Row, Stack, Grid3, Grid4, Card } from "./components/ui/layout";
9
+ export { Section, Container, Col, Row, Stack, Grid2, Grid3, Grid4, Card } from "./components/ui/layout";
10
10
  export { Text, Title, Link, List, ListItem, SectionTitle, PageTitle } from "./components/ui/typography";
11
11
  export { COMPONENT, ComponentKeys, ComponentCategories, type ComponentKey, } from "./components/ui/props/keys";
12
12
  export { ThemeProvider, useTheme, defaultTheme, type ThemeProps, type ThemeDefaults, type ThemeExtraClasses, type ThemeProviderProps, type PartialTheme, } from './components/themeContext';
package/dist/index.esm.js CHANGED
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
 
3
3
  import { jsx, jsxs } from 'react/jsx-runtime';
4
- import { createContext, useMemo, useContext } from 'react';
4
+ import { createContext, useContext, useMemo, forwardRef } from 'react';
5
5
 
6
6
  /**
7
7
  * Base Theme class that all theme types will extend
@@ -92,7 +92,7 @@ const LABEL_CATEGORIES = [...TYPOGRAPHY_FULL, ...LAYOUT_FULL, ...VISUAL_CORE];
92
92
  // Media component categories
93
93
  const IMG_CATEGORIES = [...LAYOUT_CORE, ...VISUAL_CORE, ...VISUAL_DECORATION, ...SHAPE];
94
94
  const COMPONENT = ['button', 'badge', 'chip', 'code', 'card', 'divider', 'container', 'row', 'col', 'stack', 'section',
95
- 'grid3', 'grid4', 'pageTitle', 'sectionTitle', 'title', 'text', 'link', 'list', 'listItem', 'checkbox', 'label', 'img'];
95
+ 'grid2', 'grid3', 'grid4', 'pageTitle', 'sectionTitle', 'title', 'text', 'link', 'list', 'listItem', 'checkbox', 'label', 'img'];
96
96
  const ComponentCategories = {
97
97
  badge: BADGE_CATEGORIES,
98
98
  button: BUTTON_CATEGORIES,
@@ -103,6 +103,7 @@ const ComponentCategories = {
103
103
  col: COL_CATEGORIES,
104
104
  container: CONTAINER_CATEGORIES,
105
105
  divider: DIVIDER_CATEGORIES,
106
+ grid2: GRID_CATEGORIES,
106
107
  grid3: GRID_CATEGORIES,
107
108
  grid4: GRID_CATEGORIES,
108
109
  img: IMG_CATEGORIES,
@@ -4641,6 +4642,9 @@ const gridSubThemes = {
4641
4642
  flexDirection: new DirectionTheme(),
4642
4643
  },
4643
4644
  };
4645
+ const defaultGrid2Theme = new ComponentTheme("div", "grid-cols-1 md:grid-cols-2", gridSubThemes, gridDefaults, GRID_CATEGORIES, (props, defaults) => {
4646
+ return props.href ? "a" : "div";
4647
+ });
4644
4648
  const defaultGrid3Theme = new ComponentTheme("div", "grid-cols-1 md:grid-cols-3", gridSubThemes, gridDefaults, GRID_CATEGORIES, (props, defaults) => {
4645
4649
  return props.href ? "a" : "div";
4646
4650
  });
@@ -4771,6 +4775,7 @@ const defaultTheme = {
4771
4775
  col: defaultColTheme,
4772
4776
  stack: defaultStackTheme,
4773
4777
  section: defaultSectionTheme,
4778
+ grid2: defaultGrid2Theme,
4774
4779
  grid3: defaultGrid3Theme,
4775
4780
  grid4: defaultGrid4Theme,
4776
4781
  pageTitle: pageTitleTheme,
@@ -4880,41 +4885,41 @@ function useTheme() {
4880
4885
  return useContext(ThemeContext);
4881
4886
  }
4882
4887
 
4883
- function ThemedComponent(allProps) {
4888
+ const ThemedComponent = forwardRef(function ThemedComponent(allProps, ref) {
4884
4889
  const { theme, ...props } = allProps;
4885
4890
  const { Tag, finalClasses, finalProps } = useMemo(() => {
4886
4891
  // Pass the full allProps and let getComponentConfig handle filtering
4887
4892
  return theme.getComponentConfig(allProps);
4888
4893
  }, [theme, allProps]);
4889
- return (jsx(Tag, { className: finalClasses, ...finalProps, children: props.children }));
4890
- }
4894
+ return (jsx(Tag, { ref: ref, className: finalClasses, ...finalProps, children: props.children }));
4895
+ });
4891
4896
 
4892
- const Button = (props) => {
4897
+ const Button = forwardRef(function Button(props, ref) {
4893
4898
  const theme = useTheme();
4894
- return jsx(ThemedComponent, { theme: theme.button, ...props });
4895
- };
4899
+ return jsx(ThemedComponent, { ref: ref, theme: theme.button, ...props });
4900
+ });
4896
4901
 
4897
- const Badge = (props) => {
4902
+ const Badge = forwardRef(function Badge(props, ref) {
4898
4903
  const theme = useTheme();
4899
- return jsx(ThemedComponent, { theme: theme.badge, ...props });
4900
- };
4904
+ return jsx(ThemedComponent, { theme: theme.badge, ref: ref, ...props });
4905
+ });
4901
4906
 
4902
- const Divider = (props) => {
4907
+ const Divider = forwardRef(function Divider(props, ref) {
4903
4908
  const theme = useTheme();
4904
- return jsx(ThemedComponent, { theme: theme.divider, ...props });
4905
- };
4909
+ return jsx(ThemedComponent, { theme: theme.divider, ref: ref, ...props });
4910
+ });
4906
4911
 
4907
- const Chip = (props) => {
4912
+ const Chip = forwardRef(function Chip(props, ref) {
4908
4913
  const theme = useTheme();
4909
- return jsx(ThemedComponent, { theme: theme.chip, ...props });
4910
- };
4914
+ return jsx(ThemedComponent, { theme: theme.chip, ref: ref, ...props });
4915
+ });
4911
4916
 
4912
- const Code = (props) => {
4917
+ const Code = forwardRef(function Code(props, ref) {
4913
4918
  const theme = useTheme();
4914
- return jsx(ThemedComponent, { theme: theme.code, ...props });
4915
- };
4919
+ return jsx(ThemedComponent, { theme: theme.code, ref: ref, ...props });
4920
+ });
4916
4921
 
4917
- const Checkbox = (props) => {
4922
+ const Checkbox = forwardRef(function Checkbox(props, ref) {
4918
4923
  const theme = useTheme();
4919
4924
  // Extract only theme-relevant props for wrapper and check components
4920
4925
  const {
@@ -4934,87 +4939,91 @@ const Checkbox = (props) => {
4934
4939
  filled, outline,
4935
4940
  pill, sharp, rounded
4936
4941
  };
4937
- return (jsxs(ThemedComponent, { theme: theme.checkbox.wrapper, ...themeProps, children: [jsx(ThemedComponent, { theme: theme.checkbox.input, ...props, type: "checkbox" }), jsx(ThemedComponent, { theme: theme.checkbox.check, ...themeProps, children: theme.checkbox.check.themes.checkElement() })] }));
4938
- };
4942
+ return (jsxs(ThemedComponent, { theme: theme.checkbox.wrapper, ref: ref, ...themeProps, children: [jsx(ThemedComponent, { theme: theme.checkbox.input, ...props, type: "checkbox" }), jsx(ThemedComponent, { theme: theme.checkbox.check, ...themeProps, children: theme.checkbox.check.themes.checkElement() })] }));
4943
+ });
4939
4944
 
4940
- const Label = (props) => {
4945
+ const Label = forwardRef(function Label(props, ref) {
4941
4946
  const theme = useTheme();
4942
- return jsx(ThemedComponent, { theme: theme.label, ...props });
4943
- };
4947
+ return jsx(ThemedComponent, { theme: theme.label, ref: ref, ...props });
4948
+ });
4944
4949
 
4945
- const Img = (props) => {
4950
+ const Img = forwardRef(function Img(props, ref) {
4946
4951
  const theme = useTheme();
4947
- return (jsx(ThemedComponent, { theme: theme.img, ...props }));
4948
- };
4952
+ return (jsx(ThemedComponent, { theme: theme.img, ref: ref, ...props }));
4953
+ });
4949
4954
 
4950
- const Section = (props) => {
4955
+ const Section = forwardRef(function Section(props, ref) {
4951
4956
  const theme = useTheme();
4952
- return jsx(ThemedComponent, { theme: theme.section, ...props });
4953
- };
4957
+ return jsx(ThemedComponent, { theme: theme.section, ref: ref, ...props });
4958
+ });
4954
4959
 
4955
- const Container = (props) => {
4960
+ const Container = forwardRef(function Container(props, ref) {
4956
4961
  const theme = useTheme();
4957
- return jsx(ThemedComponent, { theme: theme.container, ...props });
4958
- };
4962
+ return jsx(ThemedComponent, { theme: theme.container, ref: ref, ...props });
4963
+ });
4959
4964
 
4960
- const Col = (props) => {
4965
+ const Col = forwardRef(function Col(props, ref) {
4961
4966
  const theme = useTheme();
4962
- return jsx(ThemedComponent, { theme: theme.col, ...props });
4963
- };
4967
+ return jsx(ThemedComponent, { theme: theme.col, ref: ref, ...props });
4968
+ });
4964
4969
 
4965
- const Row = (props) => {
4970
+ const Row = forwardRef(function Row(props, ref) {
4966
4971
  const theme = useTheme();
4967
- return jsx(ThemedComponent, { theme: theme.row, ...props });
4968
- };
4972
+ return jsx(ThemedComponent, { theme: theme.row, ref: ref, ...props });
4973
+ });
4969
4974
 
4970
- const Grid3 = (props) => {
4975
+ const Grid2 = forwardRef(function Grid2(props, ref) {
4971
4976
  const theme = useTheme();
4972
- return jsx(ThemedComponent, { theme: theme.grid3, ...props });
4973
- };
4974
- const Grid4 = (props) => {
4977
+ return jsx(ThemedComponent, { theme: theme.grid2, ref: ref, ...props });
4978
+ });
4979
+ const Grid3 = forwardRef(function Grid3(props, ref) {
4975
4980
  const theme = useTheme();
4976
- return jsx(ThemedComponent, { theme: theme.grid4, ...props });
4977
- };
4981
+ return jsx(ThemedComponent, { theme: theme.grid3, ref: ref, ...props });
4982
+ });
4983
+ const Grid4 = forwardRef(function Grid4(props, ref) {
4984
+ const theme = useTheme();
4985
+ return jsx(ThemedComponent, { theme: theme.grid4, ref: ref, ...props });
4986
+ });
4978
4987
 
4979
- const Card = (props) => {
4988
+ const Card = forwardRef(function Card(props, ref) {
4980
4989
  const theme = useTheme();
4981
- return jsx(ThemedComponent, { theme: theme.card, ...props });
4982
- };
4990
+ return jsx(ThemedComponent, { ref: ref, theme: theme.card, ...props });
4991
+ });
4983
4992
 
4984
- const Stack = (props) => {
4993
+ const Stack = forwardRef(function Stack(props, ref) {
4985
4994
  const theme = useTheme();
4986
4995
  const stackTheme = theme.stack;
4987
- return jsx(ThemedComponent, { theme: stackTheme, ...props });
4988
- };
4996
+ return jsx(ThemedComponent, { theme: stackTheme, ref: ref, ...props });
4997
+ });
4989
4998
 
4990
- const PageTitle = (props) => {
4999
+ const PageTitle = forwardRef(function PageTitle(props, ref) {
4991
5000
  const theme = useTheme();
4992
- return jsx(ThemedComponent, { theme: theme.pageTitle, ...props });
4993
- };
4994
- const SectionTitle = (props) => {
5001
+ return jsx(ThemedComponent, { ref: ref, theme: theme.pageTitle, ...props });
5002
+ });
5003
+ const SectionTitle = forwardRef(function SectionTitle(props, ref) {
4995
5004
  const theme = useTheme();
4996
- return jsx(ThemedComponent, { theme: theme.sectionTitle, ...props });
4997
- };
4998
- const Title = (props) => {
5005
+ return jsx(ThemedComponent, { ref: ref, theme: theme.sectionTitle, ...props });
5006
+ });
5007
+ const Title = forwardRef(function Title(props, ref) {
4999
5008
  const theme = useTheme();
5000
- return jsx(ThemedComponent, { theme: theme.title, ...props });
5001
- };
5002
- const Text = (props) => {
5009
+ return jsx(ThemedComponent, { ref: ref, theme: theme.title, ...props });
5010
+ });
5011
+ const Text = forwardRef(function Text(props, ref) {
5003
5012
  const theme = useTheme();
5004
- return jsx(ThemedComponent, { theme: theme.text, ...props });
5005
- };
5006
- const Link = (props) => {
5013
+ return jsx(ThemedComponent, { ref: ref, theme: theme.text, ...props });
5014
+ });
5015
+ const Link = forwardRef(function Link(props, ref) {
5007
5016
  const theme = useTheme();
5008
- return jsx(ThemedComponent, { theme: theme.link, ...props });
5009
- };
5010
- const ListItem = (props) => {
5017
+ return jsx(ThemedComponent, { ref: ref, theme: theme.link, ...props });
5018
+ });
5019
+ const ListItem = forwardRef(function ListItem(props, ref) {
5011
5020
  const theme = useTheme();
5012
- return jsx(ThemedComponent, { theme: theme.listItem, ...props });
5013
- };
5014
- const List = (props) => {
5021
+ return jsx(ThemedComponent, { ref: ref, theme: theme.listItem, ...props });
5022
+ });
5023
+ const List = forwardRef(function List(props, ref) {
5015
5024
  const theme = useTheme();
5016
- return jsx(ThemedComponent, { theme: theme.list, ...props });
5017
- };
5025
+ return jsx(ThemedComponent, { ref: ref, theme: theme.list, ...props });
5026
+ });
5018
5027
 
5019
- export { BADGE_CATEGORIES, BREAKPOINT, BUTTON_CATEGORIES, Badge, Button, CARD_CATEGORIES, CHECKBOX_CATEGORIES, CHIP_CATEGORIES, CODE_CATEGORIES, COL_CATEGORIES, COMPONENT, COMPONENT_PROPS_CATEGORY, CONTAINER_CATEGORIES, Card, Checkbox, Chip, Code, Col, ComponentCategories, ComponentKeys, Container, DIVIDER_CATEGORIES, Divider, GRID_CATEGORIES, Grid3, Grid4, IMG_CATEGORIES, INTERACTIVE_CATEGORIES, Img, LABEL_CATEGORIES, LAYOUT_CORE, LAYOUT_FLEX, LAYOUT_FULL, LINK, LIST_CATEGORIES, LIST_STYLE, Label, Link, List, ListItem, PADDING, PageTitle, ROW_CATEGORIES, Row, SECTION_CATEGORIES, SHAPE, STACK_CATEGORIES, Section, SectionTitle, Stack, TYPOGRAPHY_CATEGORIES, TYPOGRAPHY_FULL, TYPOGRAPHY_STYLE, Text, ThemeProvider, Title, VARIANT, VISUAL_CORE, VISUAL_DECORATION, VISUAL_FULL, defaultTheme, useTheme };
5028
+ export { BADGE_CATEGORIES, BREAKPOINT, BUTTON_CATEGORIES, Badge, Button, CARD_CATEGORIES, CHECKBOX_CATEGORIES, CHIP_CATEGORIES, CODE_CATEGORIES, COL_CATEGORIES, COMPONENT, COMPONENT_PROPS_CATEGORY, CONTAINER_CATEGORIES, Card, Checkbox, Chip, Code, Col, ComponentCategories, ComponentKeys, Container, DIVIDER_CATEGORIES, Divider, GRID_CATEGORIES, Grid2, Grid3, Grid4, IMG_CATEGORIES, INTERACTIVE_CATEGORIES, Img, LABEL_CATEGORIES, LAYOUT_CORE, LAYOUT_FLEX, LAYOUT_FULL, LINK, LIST_CATEGORIES, LIST_STYLE, Label, Link, List, ListItem, PADDING, PageTitle, ROW_CATEGORIES, Row, SECTION_CATEGORIES, SHAPE, STACK_CATEGORIES, Section, SectionTitle, Stack, TYPOGRAPHY_CATEGORIES, TYPOGRAPHY_FULL, TYPOGRAPHY_STYLE, Text, ThemeProvider, Title, VARIANT, VISUAL_CORE, VISUAL_DECORATION, VISUAL_FULL, defaultTheme, useTheme };
5020
5029
  //# sourceMappingURL=index.esm.js.map