@vtx-ui/react 0.0.1-beta.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 (133) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +228 -0
  3. package/dist/components/Accordion/Accordion.d.ts +31 -0
  4. package/dist/components/Accordion/Accordion.examples.d.ts +3 -0
  5. package/dist/components/Accordion/AccordionItem.d.ts +5 -0
  6. package/dist/components/Accordion/index.d.ts +4 -0
  7. package/dist/components/Accordion/types.d.ts +98 -0
  8. package/dist/components/Alert/Alert.d.ts +119 -0
  9. package/dist/components/Alert/index.d.ts +3 -0
  10. package/dist/components/Avatar/Avatar.d.ts +63 -0
  11. package/dist/components/Avatar/index.d.ts +3 -0
  12. package/dist/components/Badge/Badge.d.ts +81 -0
  13. package/dist/components/Badge/index.d.ts +3 -0
  14. package/dist/components/Button/Button.d.ts +117 -0
  15. package/dist/components/Button/index.d.ts +3 -0
  16. package/dist/components/Card/Card.d.ts +120 -0
  17. package/dist/components/Card/index.d.ts +3 -0
  18. package/dist/components/Checkbox/Checkbox.d.ts +114 -0
  19. package/dist/components/Checkbox/index.d.ts +3 -0
  20. package/dist/components/CheckboxGroup/CheckboxGroup.d.ts +121 -0
  21. package/dist/components/CheckboxGroup/index.d.ts +3 -0
  22. package/dist/components/Chip/Chip.d.ts +91 -0
  23. package/dist/components/Chip/index.d.ts +3 -0
  24. package/dist/components/Divider/Divider.d.ts +118 -0
  25. package/dist/components/Divider/index.d.ts +3 -0
  26. package/dist/components/Flex/Flex.d.ts +66 -0
  27. package/dist/components/Flex/index.d.ts +3 -0
  28. package/dist/components/Grid/Grid.d.ts +156 -0
  29. package/dist/components/Grid/index.d.ts +3 -0
  30. package/dist/components/Header/Header.d.ts +138 -0
  31. package/dist/components/Header/index.d.ts +3 -0
  32. package/dist/components/Input/Input.d.ts +129 -0
  33. package/dist/components/Input/index.d.ts +3 -0
  34. package/dist/components/Menu/Menu.d.ts +114 -0
  35. package/dist/components/Menu/index.d.ts +4 -0
  36. package/dist/components/Modal/Modal.d.ts +201 -0
  37. package/dist/components/Modal/index.d.ts +3 -0
  38. package/dist/components/MultiSelect/MultiSelect.d.ts +190 -0
  39. package/dist/components/MultiSelect/index.d.ts +3 -0
  40. package/dist/components/Radio/Radio.d.ts +105 -0
  41. package/dist/components/Radio/index.d.ts +3 -0
  42. package/dist/components/RadioGroup/RadioGroup.d.ts +134 -0
  43. package/dist/components/RadioGroup/index.d.ts +3 -0
  44. package/dist/components/Select/Select.d.ts +169 -0
  45. package/dist/components/Select/index.d.ts +3 -0
  46. package/dist/components/SideMenu/SideMenu.d.ts +118 -0
  47. package/dist/components/SideMenu/index.d.ts +4 -0
  48. package/dist/components/Table/Table.d.ts +211 -0
  49. package/dist/components/Table/index.d.ts +3 -0
  50. package/dist/components/Text/Text.d.ts +160 -0
  51. package/dist/components/Text/index.d.ts +3 -0
  52. package/dist/components/Toast/Toast.d.ts +56 -0
  53. package/dist/components/Toast/ToastContainer.d.ts +6 -0
  54. package/dist/components/Toast/index.d.ts +5 -0
  55. package/dist/components/Toast/types.d.ts +148 -0
  56. package/dist/components/Toast/useToast.d.ts +34 -0
  57. package/dist/components/Tooltip/Tooltip.d.ts +108 -0
  58. package/dist/components/Tooltip/index.d.ts +3 -0
  59. package/dist/hooks/index.d.ts +85 -0
  60. package/dist/hooks/useTheme.d.ts +268 -0
  61. package/dist/index.cjs.js +2 -0
  62. package/dist/index.cjs.js.map +1 -0
  63. package/dist/index.d.ts +55 -0
  64. package/dist/index.esm.js +2 -0
  65. package/dist/index.esm.js.map +1 -0
  66. package/dist/theme/ThemeProvider.d.ts +39 -0
  67. package/dist/theme/cssVariables.d.ts +9 -0
  68. package/dist/theme/index.d.ts +6 -0
  69. package/dist/theme/tokens.d.ts +258 -0
  70. package/dist/types/components/Accordion/Accordion.d.ts +31 -0
  71. package/dist/types/components/Accordion/Accordion.examples.d.ts +3 -0
  72. package/dist/types/components/Accordion/AccordionItem.d.ts +5 -0
  73. package/dist/types/components/Accordion/index.d.ts +4 -0
  74. package/dist/types/components/Accordion/types.d.ts +98 -0
  75. package/dist/types/components/Alert/Alert.d.ts +119 -0
  76. package/dist/types/components/Alert/index.d.ts +3 -0
  77. package/dist/types/components/Avatar/Avatar.d.ts +63 -0
  78. package/dist/types/components/Avatar/index.d.ts +3 -0
  79. package/dist/types/components/Badge/Badge.d.ts +81 -0
  80. package/dist/types/components/Badge/index.d.ts +3 -0
  81. package/dist/types/components/Button/Button.d.ts +117 -0
  82. package/dist/types/components/Button/index.d.ts +3 -0
  83. package/dist/types/components/Card/Card.d.ts +120 -0
  84. package/dist/types/components/Card/index.d.ts +3 -0
  85. package/dist/types/components/Checkbox/Checkbox.d.ts +114 -0
  86. package/dist/types/components/Checkbox/index.d.ts +3 -0
  87. package/dist/types/components/CheckboxGroup/CheckboxGroup.d.ts +121 -0
  88. package/dist/types/components/CheckboxGroup/index.d.ts +3 -0
  89. package/dist/types/components/Chip/Chip.d.ts +91 -0
  90. package/dist/types/components/Chip/index.d.ts +3 -0
  91. package/dist/types/components/Divider/Divider.d.ts +118 -0
  92. package/dist/types/components/Divider/index.d.ts +3 -0
  93. package/dist/types/components/Flex/Flex.d.ts +66 -0
  94. package/dist/types/components/Flex/index.d.ts +3 -0
  95. package/dist/types/components/Grid/Grid.d.ts +156 -0
  96. package/dist/types/components/Grid/index.d.ts +3 -0
  97. package/dist/types/components/Header/Header.d.ts +138 -0
  98. package/dist/types/components/Header/index.d.ts +3 -0
  99. package/dist/types/components/Input/Input.d.ts +129 -0
  100. package/dist/types/components/Input/index.d.ts +3 -0
  101. package/dist/types/components/Menu/Menu.d.ts +114 -0
  102. package/dist/types/components/Menu/index.d.ts +4 -0
  103. package/dist/types/components/Modal/Modal.d.ts +201 -0
  104. package/dist/types/components/Modal/index.d.ts +3 -0
  105. package/dist/types/components/MultiSelect/MultiSelect.d.ts +190 -0
  106. package/dist/types/components/MultiSelect/index.d.ts +3 -0
  107. package/dist/types/components/Radio/Radio.d.ts +105 -0
  108. package/dist/types/components/Radio/index.d.ts +3 -0
  109. package/dist/types/components/RadioGroup/RadioGroup.d.ts +134 -0
  110. package/dist/types/components/RadioGroup/index.d.ts +3 -0
  111. package/dist/types/components/Select/Select.d.ts +169 -0
  112. package/dist/types/components/Select/index.d.ts +3 -0
  113. package/dist/types/components/SideMenu/SideMenu.d.ts +118 -0
  114. package/dist/types/components/SideMenu/index.d.ts +4 -0
  115. package/dist/types/components/Table/Table.d.ts +211 -0
  116. package/dist/types/components/Table/index.d.ts +3 -0
  117. package/dist/types/components/Text/Text.d.ts +160 -0
  118. package/dist/types/components/Text/index.d.ts +3 -0
  119. package/dist/types/components/Toast/Toast.d.ts +56 -0
  120. package/dist/types/components/Toast/ToastContainer.d.ts +6 -0
  121. package/dist/types/components/Toast/index.d.ts +5 -0
  122. package/dist/types/components/Toast/types.d.ts +148 -0
  123. package/dist/types/components/Toast/useToast.d.ts +34 -0
  124. package/dist/types/components/Tooltip/Tooltip.d.ts +108 -0
  125. package/dist/types/components/Tooltip/index.d.ts +3 -0
  126. package/dist/types/hooks/index.d.ts +85 -0
  127. package/dist/types/hooks/useTheme.d.ts +268 -0
  128. package/dist/types/index.d.ts +55 -0
  129. package/dist/types/theme/ThemeProvider.d.ts +39 -0
  130. package/dist/types/theme/cssVariables.d.ts +9 -0
  131. package/dist/types/theme/index.d.ts +6 -0
  132. package/dist/types/theme/tokens.d.ts +258 -0
  133. package/package.json +59 -0
@@ -0,0 +1,117 @@
1
+ import React, { ButtonHTMLAttributes } from 'react';
2
+ import './Button.css';
3
+ export interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
4
+ /**
5
+ * Visual style variant of the button
6
+ * @default 'primary'
7
+ */
8
+ variant?: 'primary' | 'secondary' | 'outline' | 'ghost' | 'danger' | 'success' | 'warning';
9
+ /**
10
+ * Size of the button
11
+ * @default 'md'
12
+ */
13
+ size?: 'sm' | 'md' | 'lg';
14
+ /**
15
+ * If true, button will take full width of its container
16
+ * @default false
17
+ */
18
+ fullWidth?: boolean;
19
+ /**
20
+ * Loading state - shows loading indicator and disables interaction
21
+ * When true, the button becomes unclickable and shows a spinner
22
+ * @default false
23
+ */
24
+ loading?: boolean;
25
+ /**
26
+ * Icon to display before button text
27
+ * Pass any React node (icon component, emoji, etc.)
28
+ */
29
+ leftIcon?: React.ReactNode;
30
+ /**
31
+ * Icon to display after button text
32
+ * Pass any React node (icon component, emoji, etc.)
33
+ */
34
+ rightIcon?: React.ReactNode;
35
+ /**
36
+ * If true, renders the button as an icon-only button (no text padding)
37
+ * Content should be an icon element
38
+ * @default false
39
+ */
40
+ iconOnly?: boolean;
41
+ /**
42
+ * Custom loading text to display when loading is true
43
+ * @default undefined (uses children content)
44
+ */
45
+ loadingText?: string;
46
+ /**
47
+ * If true, renders button as a link element with button styling
48
+ * Requires href prop when true
49
+ * @default false
50
+ */
51
+ asLink?: boolean;
52
+ /**
53
+ * URL when rendering as link (requires asLink=true)
54
+ */
55
+ href?: string;
56
+ /**
57
+ * Target attribute when rendering as link
58
+ */
59
+ target?: string;
60
+ /**
61
+ * Rel attribute when rendering as link
62
+ */
63
+ rel?: string;
64
+ /**
65
+ * Optional text color for the button
66
+ */
67
+ textColor?: string;
68
+ /**
69
+ * If true/false, applies dark or light text color class
70
+ */
71
+ darkText?: boolean;
72
+ children?: React.ReactNode;
73
+ }
74
+ /**
75
+ * Button component - Primary interactive element for user actions
76
+ *
77
+ * A comprehensive button component with multiple variants, sizes, loading states,
78
+ * and icon support. Can also render as a link with button styling.
79
+ *
80
+ * @example
81
+ * Basic usage
82
+ * ```tsx
83
+ * <Button variant="primary" size="medium" onClick={() => console.log('clicked')}>
84
+ * Click me
85
+ * </Button>
86
+ * ```
87
+ *
88
+ * @example
89
+ * With icons
90
+ * ```tsx
91
+ * <Button variant="primary" leftIcon={<SaveIcon />}>
92
+ * Save Changes
93
+ * </Button>
94
+ * <Button variant="secondary" rightIcon={<ArrowIcon />}>
95
+ * Next
96
+ * </Button>
97
+ * ```
98
+ *
99
+ * @example
100
+ * Loading state
101
+ * ```tsx
102
+ * <Button loading loadingText="Saving...">
103
+ * Save
104
+ * </Button>
105
+ * ```
106
+ *
107
+ * @example
108
+ * As link
109
+ * ```tsx
110
+ * <Button asLink href="/dashboard" variant="primary">
111
+ * Go to Dashboard
112
+ * </Button>
113
+ * ```
114
+ */
115
+ export declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement | HTMLAnchorElement>>;
116
+ declare const _default: React.FC<ButtonProps & React.RefAttributes<HTMLButtonElement | HTMLAnchorElement>>;
117
+ export default _default;
@@ -0,0 +1,3 @@
1
+ export { default as Button } from './Button';
2
+ export type { ButtonProps } from './Button';
3
+ export { Button as ButtonComponent } from './Button';
@@ -0,0 +1,120 @@
1
+ import React from 'react';
2
+ import './Card.css';
3
+ export interface CardProps extends React.HTMLAttributes<HTMLDivElement> {
4
+ /**
5
+ * The content of the card
6
+ */
7
+ children: React.ReactNode;
8
+ /**
9
+ * The variant of the card
10
+ * @default 'elevated'
11
+ */
12
+ variant?: 'elevated' | 'outlined' | 'filled';
13
+ /**
14
+ * Size of the card
15
+ * @default 'md'
16
+ */
17
+ size?: 'sm' | 'md' | 'lg';
18
+ /**
19
+ * If true, removes padding from the card
20
+ * @default false
21
+ */
22
+ noPadding?: boolean;
23
+ /**
24
+ * Custom padding value (e.g., '16px', '1rem', '0')
25
+ * Overrides noPadding when provided
26
+ */
27
+ padding?: string;
28
+ /**
29
+ * If true, makes the card hoverable with interaction effects
30
+ * @default false
31
+ */
32
+ hoverable?: boolean;
33
+ /**
34
+ * If true, makes the card clickable (adds cursor pointer)
35
+ * @default false
36
+ */
37
+ clickable?: boolean;
38
+ /**
39
+ * Additional CSS class name
40
+ */
41
+ className?: string;
42
+ /**
43
+ * Header content for the card
44
+ */
45
+ header?: React.ReactNode;
46
+ /**
47
+ * Footer content for the card
48
+ */
49
+ footer?: React.ReactNode;
50
+ /**
51
+ * If true, adds dividers between header, content, and footer
52
+ * @default false
53
+ */
54
+ divider?: boolean;
55
+ }
56
+ /**
57
+ * Card component - Container for grouping related content
58
+ *
59
+ * A versatile card component with support for variants, padding control,
60
+ * headers, footers, and interactive states.
61
+ *
62
+ * @example
63
+ * Basic card
64
+ * ```tsx
65
+ * <Card>
66
+ * <h3>Card Title</h3>
67
+ * <p>Card content goes here</p>
68
+ * </Card>
69
+ * ```
70
+ *
71
+ * @example
72
+ * Card without padding
73
+ * ```tsx
74
+ * <Card noPadding>
75
+ * <img src="image.jpg" alt="Full bleed image" />
76
+ * </Card>
77
+ * ```
78
+ *
79
+ * @example
80
+ * Card with custom padding
81
+ * ```tsx
82
+ * <Card padding="32px">
83
+ * <p>Card with custom padding</p>
84
+ * </Card>
85
+ * ```
86
+ *
87
+ * @example
88
+ * Card with header and footer
89
+ * ```tsx
90
+ * <Card
91
+ * header={<h3>Card Header</h3>}
92
+ * footer={<button>Action</button>}
93
+ * divider
94
+ * >
95
+ * <p>Card content</p>
96
+ * </Card>
97
+ * ```
98
+ *
99
+ * @example
100
+ * Interactive card
101
+ * ```tsx
102
+ * <Card hoverable clickable onClick={() => console.log('clicked')}>
103
+ * <p>Click me!</p>
104
+ * </Card>
105
+ * ```
106
+ *
107
+ * @example
108
+ * Customize appearance with CSS
109
+ * ```css
110
+ * .vtx-card {
111
+ * --vtx-card-bg: #ffffff;
112
+ * --vtx-card-border-radius: 8px;
113
+ * --vtx-card-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
114
+ * --vtx-card-padding: 16px;
115
+ * }
116
+ * ```
117
+ */
118
+ export declare const Card: React.ForwardRefExoticComponent<CardProps & React.RefAttributes<HTMLDivElement>>;
119
+ declare const _default: React.FC<CardProps & React.RefAttributes<HTMLDivElement>>;
120
+ export default _default;
@@ -0,0 +1,3 @@
1
+ export { default as Card } from './Card';
2
+ export type { CardProps } from './Card';
3
+ export { Card as CardComponent } from './Card';
@@ -0,0 +1,114 @@
1
+ import React from 'react';
2
+ import './Checkbox.css';
3
+ export interface CheckboxProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'size'> {
4
+ /**
5
+ * If true, the checkbox is checked
6
+ */
7
+ checked?: boolean;
8
+ /**
9
+ * If true, the checkbox appears indeterminate
10
+ * @default false
11
+ */
12
+ indeterminate?: boolean;
13
+ /**
14
+ * If true, the checkbox is disabled
15
+ * @default false
16
+ */
17
+ disabled?: boolean;
18
+ /**
19
+ * The label for the checkbox
20
+ */
21
+ label?: React.ReactNode;
22
+ /**
23
+ * The size of the checkbox
24
+ * @default 'md'
25
+ */
26
+ size?: 'sm' | 'md' | 'lg';
27
+ /**
28
+ * The variant of the checkbox
29
+ * @default 'primary'
30
+ */
31
+ variant?: 'primary' | 'secondary' | 'success' | 'error' | 'warning' | 'info';
32
+ /**
33
+ * If true, displays error styling
34
+ * @default false
35
+ */
36
+ error?: boolean;
37
+ /**
38
+ * Helper text displayed below the checkbox
39
+ */
40
+ helperText?: React.ReactNode;
41
+ /**
42
+ * Callback fired when the state is changed
43
+ */
44
+ onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;
45
+ /**
46
+ * Additional CSS class name for the container
47
+ */
48
+ className?: string;
49
+ /**
50
+ * Additional CSS class name for the input element
51
+ */
52
+ inputClassName?: string;
53
+ }
54
+ /**
55
+ * Checkbox component - Allows users to select one or more items from a set
56
+ *
57
+ * The Checkbox component provides a customizable checkbox input with support
58
+ * for labels, error states, indeterminate state, and three sizes.
59
+ *
60
+ * ## CSS Customization
61
+ *
62
+ * You can customize the checkbox appearance using CSS custom properties:
63
+ *
64
+ * ```css
65
+ * :root {
66
+ * --vtx-checkbox-color: #1976d2;
67
+ * --vtx-checkbox-size: 20px;
68
+ * --vtx-checkbox-border-width: 2px;
69
+ * --vtx-checkbox-border-radius: 4px;
70
+ * }
71
+ * ```
72
+ *
73
+ * @example
74
+ * Basic checkbox
75
+ * ```tsx
76
+ * <Checkbox label="Accept terms and conditions" />
77
+ * ```
78
+ *
79
+ * @example
80
+ * Controlled checkbox with size
81
+ * ```tsx
82
+ * const [checked, setChecked] = useState(false);
83
+ * <Checkbox
84
+ * checked={checked}
85
+ * onChange={(e) => setChecked(e.target.checked)}
86
+ * label="Subscribe to newsletter"
87
+ * size="lg"
88
+ * variant="secondary"
89
+ * />
90
+ * ```
91
+ *
92
+ * @example
93
+ * With error state
94
+ * ```tsx
95
+ * <Checkbox
96
+ * label="I agree"
97
+ * error
98
+ * helperText="You must agree to continue"
99
+ * />
100
+ * ```
101
+ *
102
+ * @example
103
+ * Indeterminate state
104
+ * ```tsx
105
+ * <Checkbox
106
+ * label="Select all"
107
+ * indeterminate
108
+ * />
109
+ * ```
110
+ */
111
+ declare const Checkbox: React.ForwardRefExoticComponent<CheckboxProps & React.RefAttributes<HTMLInputElement>>;
112
+ declare const _default: React.FC<CheckboxProps & React.RefAttributes<HTMLInputElement>>;
113
+ export default _default;
114
+ export { Checkbox };
@@ -0,0 +1,3 @@
1
+ export { default as Checkbox } from './Checkbox';
2
+ export type { CheckboxProps } from './Checkbox';
3
+ export { Checkbox as CheckboxComponent } from './Checkbox';
@@ -0,0 +1,121 @@
1
+ import React from 'react';
2
+ import './CheckboxGroup.css';
3
+ export interface CheckboxOption {
4
+ /**
5
+ * The value of the checkbox
6
+ */
7
+ value: string;
8
+ /**
9
+ * The label for the checkbox
10
+ */
11
+ label: React.ReactNode;
12
+ /**
13
+ * If true, the checkbox is disabled
14
+ */
15
+ disabled?: boolean;
16
+ }
17
+ export interface CheckboxGroupProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {
18
+ /**
19
+ * The label for the checkbox group
20
+ */
21
+ label?: React.ReactNode;
22
+ /**
23
+ * Array of checkbox options
24
+ */
25
+ options: CheckboxOption[];
26
+ /**
27
+ * Array of selected values
28
+ */
29
+ value?: string[];
30
+ /**
31
+ * Default selected values for uncontrolled mode
32
+ */
33
+ defaultValue?: string[];
34
+ /**
35
+ * Callback fired when the selection changes
36
+ */
37
+ onChange?: (value: string[]) => void;
38
+ /**
39
+ * If true, all checkboxes are disabled
40
+ * @default false
41
+ */
42
+ disabled?: boolean;
43
+ /**
44
+ * If true, displays error styling
45
+ * @default false
46
+ */
47
+ error?: boolean;
48
+ /**
49
+ * Helper text displayed below the group
50
+ */
51
+ helperText?: React.ReactNode;
52
+ /**
53
+ * The layout orientation of the checkboxes
54
+ * @default 'vertical'
55
+ */
56
+ orientation?: 'horizontal' | 'vertical';
57
+ /**
58
+ * The size of the checkboxes
59
+ * @default 'md'
60
+ */
61
+ size?: 'sm' | 'md' | 'lg';
62
+ /**
63
+ * Additional CSS class name
64
+ */
65
+ className?: string;
66
+ }
67
+ /**
68
+ * CheckboxGroup component - Manages a group of related checkboxes
69
+ *
70
+ * The CheckboxGroup component provides a convenient way to manage multiple
71
+ * checkboxes with shared state, labels, and error handling.
72
+ *
73
+ * @example
74
+ * Basic usage
75
+ * ```tsx
76
+ * <CheckboxGroup
77
+ * label="Select your interests"
78
+ * options={[
79
+ * { value: 'sports', label: 'Sports' },
80
+ * { value: 'music', label: 'Music' },
81
+ * { value: 'travel', label: 'Travel' },
82
+ * ]}
83
+ * />
84
+ * ```
85
+ *
86
+ * @example
87
+ * Controlled mode
88
+ * ```tsx
89
+ * const [selected, setSelected] = useState(['sports']);
90
+ * <CheckboxGroup
91
+ * label="Interests"
92
+ * options={options}
93
+ * value={selected}
94
+ * onChange={setSelected}
95
+ * />
96
+ * ```
97
+ *
98
+ * @example
99
+ * Horizontal layout
100
+ * ```tsx
101
+ * <CheckboxGroup
102
+ * label="Preferences"
103
+ * options={options}
104
+ * orientation="horizontal"
105
+ * />
106
+ * ```
107
+ *
108
+ * @example
109
+ * With error state
110
+ * ```tsx
111
+ * <CheckboxGroup
112
+ * label="Required selection"
113
+ * options={options}
114
+ * error
115
+ * helperText="Please select at least one option"
116
+ * />
117
+ * ```
118
+ */
119
+ export declare const CheckboxGroup: React.ForwardRefExoticComponent<CheckboxGroupProps & React.RefAttributes<HTMLDivElement>>;
120
+ declare const _default: React.FC<CheckboxGroupProps & React.RefAttributes<HTMLDivElement>>;
121
+ export default _default;
@@ -0,0 +1,3 @@
1
+ export { default as CheckboxGroup } from './CheckboxGroup';
2
+ export type { CheckboxGroupProps, CheckboxOption } from './CheckboxGroup';
3
+ export { CheckboxGroup as CheckboxGroupComponent } from './CheckboxGroup';
@@ -0,0 +1,91 @@
1
+ import React, { ReactNode, MouseEvent } from 'react';
2
+ import './Chip.css';
3
+ export interface ChipProps {
4
+ /**
5
+ * The label text to display inside the chip
6
+ */
7
+ label: string;
8
+ /**
9
+ * Size of the chip
10
+ * @default 'md'
11
+ */
12
+ size?: 'sm' | 'md' | 'lg';
13
+ /**
14
+ * Visual style variant
15
+ * @default 'filled'
16
+ */
17
+ variant?: 'filled' | 'outlined' | 'light';
18
+ /**
19
+ * Color theme of the chip
20
+ * @default 'default'
21
+ */
22
+ color?: 'default' | 'primary' | 'success' | 'error' | 'warning' | 'info';
23
+ /**
24
+ * Icon to display at the start of the chip
25
+ */
26
+ icon?: ReactNode;
27
+ /**
28
+ * Avatar image URL to display at the start
29
+ */
30
+ avatar?: string;
31
+ /**
32
+ * If true, shows a delete/close button
33
+ * @default false
34
+ */
35
+ onDelete?: (event: MouseEvent<HTMLButtonElement>) => void;
36
+ /**
37
+ * Callback when chip is clicked
38
+ */
39
+ onClick?: (event: MouseEvent<HTMLDivElement>) => void;
40
+ /**
41
+ * If true, chip cannot be interacted with
42
+ * @default false
43
+ */
44
+ disabled?: boolean;
45
+ /**
46
+ * Additional CSS class names
47
+ */
48
+ className?: string;
49
+ /**
50
+ * Custom aria-label for accessibility
51
+ */
52
+ 'aria-label'?: string;
53
+ /**
54
+ * Data attribute for testing
55
+ */
56
+ 'data-testid'?: string;
57
+ }
58
+ /**
59
+ * Chip component - Compact element for displaying tags, labels, or selections
60
+ *
61
+ * A versatile chip component for representing small pieces of information like tags,
62
+ * filters, selections, or categories with optional delete functionality.
63
+ *
64
+ * @example
65
+ * Basic usage
66
+ * ```tsx
67
+ * <Chip label="React" />
68
+ * ```
69
+ *
70
+ * @example
71
+ * With delete functionality
72
+ * ```tsx
73
+ * <Chip
74
+ * label="JavaScript"
75
+ * onDelete={() => handleRemove('js')}
76
+ * />
77
+ * ```
78
+ *
79
+ * @example
80
+ * With avatar
81
+ * ```tsx
82
+ * <Chip
83
+ * label="John Doe"
84
+ * avatar="https://avatar.url/john.jpg"
85
+ * variant="outlined"
86
+ * />
87
+ * ```
88
+ */
89
+ export declare const Chip: React.ForwardRefExoticComponent<ChipProps & React.RefAttributes<HTMLDivElement>>;
90
+ declare const _default: React.FC<ChipProps & React.RefAttributes<HTMLDivElement>>;
91
+ export default _default;
@@ -0,0 +1,3 @@
1
+ export { default as Chip } from './Chip';
2
+ export type { ChipProps } from './Chip';
3
+ export { Chip as ChipComponent } from './Chip';
@@ -0,0 +1,118 @@
1
+ import React from 'react';
2
+ import './Divider.css';
3
+ export interface DividerProps extends React.HTMLAttributes<HTMLHRElement | HTMLDivElement> {
4
+ /**
5
+ * Align the content within the divider
6
+ * Only works when children are provided
7
+ * @default 'center'
8
+ */
9
+ textAlign?: 'left' | 'center' | 'right';
10
+ /**
11
+ * The component orientation
12
+ * @default 'horizontal'
13
+ */
14
+ orientation?: 'horizontal' | 'vertical';
15
+ /**
16
+ * The variant to use
17
+ * @default 'fullWidth'
18
+ */
19
+ variant?: 'fullWidth' | 'inset' | 'middle';
20
+ /**
21
+ * If true, the divider will have a lighter color
22
+ * @default false
23
+ */
24
+ light?: boolean;
25
+ /**
26
+ * If true, the divider will be optimized for use in flex containers
27
+ * @default false
28
+ */
29
+ flexItem?: boolean;
30
+ /**
31
+ * The content of the divider
32
+ */
33
+ children?: React.ReactNode;
34
+ /**
35
+ * The component used for the root node
36
+ * Either a string to use a HTML element or a component
37
+ * @default 'hr'
38
+ */
39
+ component?: React.ElementType;
40
+ /**
41
+ * Additional CSS class name
42
+ */
43
+ className?: string;
44
+ }
45
+ /**
46
+ * Divider component - A thin line that groups content in lists and layouts
47
+ *
48
+ * The Divider component provides a thin, unobtrusive line for grouping elements
49
+ * to reinforce visual hierarchy. It supports horizontal and vertical orientations,
50
+ * multiple variants, and can wrap content like text or chips.
51
+ *
52
+ * ## CSS Customization
53
+ *
54
+ * You can customize the divider appearance using CSS custom properties:
55
+ *
56
+ * ```css
57
+ * .custom-divider {
58
+ * --vtx-divider-color: #e91e63;
59
+ * --vtx-divider-color-light: #fce4ec;
60
+ * --vtx-divider-text-color: #c2185b;
61
+ * --vtx-divider-text-color-light: #f48fb1;
62
+ * --vtx-divider-text-size: 14px;
63
+ * --vtx-divider-text-weight: 600;
64
+ * }
65
+ * ```
66
+ *
67
+ * Or set them globally on :root:
68
+ *
69
+ * ```css
70
+ * :root {
71
+ * --vtx-divider-color: #1976d2;
72
+ * --vtx-divider-text-color: #0d47a1;
73
+ * }
74
+ * ```
75
+ *
76
+ * @example
77
+ * Basic horizontal divider
78
+ * ```tsx
79
+ * <Divider />
80
+ * ```
81
+ *
82
+ * @example
83
+ * Vertical divider in flex container
84
+ * ```tsx
85
+ * <Box display="flex" alignItems="center">
86
+ * <Chip label="Item 1" />
87
+ * <Divider orientation="vertical" flexItem />
88
+ * <Chip label="Item 2" />
89
+ * </Box>
90
+ * ```
91
+ *
92
+ * @example
93
+ * With text content
94
+ * ```tsx
95
+ * <div>
96
+ * <p>Content above</p>
97
+ * <Divider>OR</Divider>
98
+ * <p>Content below</p>
99
+ * </div>
100
+ * ```
101
+ *
102
+ * @example
103
+ * With chip and custom alignment
104
+ * ```tsx
105
+ * <Divider textAlign="left">
106
+ * <Chip label="Section" size="small" />
107
+ * </Divider>
108
+ * ```
109
+ *
110
+ * @example
111
+ * Custom colored divider
112
+ * ```tsx
113
+ * <Divider className="custom-divider">Custom</Divider>
114
+ * ```
115
+ */
116
+ export declare const Divider: React.ForwardRefExoticComponent<DividerProps & React.RefAttributes<HTMLDivElement | HTMLHRElement>>;
117
+ declare const _default: React.FC<DividerProps & React.RefAttributes<HTMLHRElement | HTMLDivElement>>;
118
+ export default _default;