@vtx-ui/react 0.0.1-beta.1 → 0.0.1-beta.10

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 (164) hide show
  1. package/dist/index.cjs.js +1 -1
  2. package/dist/index.cjs.js.map +1 -1
  3. package/dist/index.esm.js +1 -1
  4. package/dist/index.esm.js.map +1 -1
  5. package/dist/types/components/AdminHeader/AdminHeader.d.ts +179 -0
  6. package/dist/types/components/AdminHeader/AdminHeader.examples.d.ts +44 -0
  7. package/dist/types/components/AdminHeader/AdminHeader.stories.d.ts +53 -0
  8. package/dist/types/components/AdminHeader/AdminHeader.widgets.stories.d.ts +86 -0
  9. package/dist/types/components/AdminHeader/index.d.ts +2 -0
  10. package/dist/types/components/Alert/Alert.d.ts +7 -54
  11. package/dist/types/components/Avatar/Avatar.d.ts +5 -2
  12. package/dist/types/components/Badge/Badge.d.ts +8 -34
  13. package/dist/types/components/Button/Button.d.ts +7 -43
  14. package/dist/types/components/Card/Card.d.ts +7 -64
  15. package/dist/types/components/Checkbox/Checkbox.d.ts +5 -59
  16. package/dist/types/components/CheckboxGroup/CheckboxGroup.d.ts +5 -53
  17. package/dist/types/components/Chip/Chip.d.ts +7 -33
  18. package/dist/types/components/DataGrid/DataGrid.d.ts +97 -0
  19. package/dist/types/components/DataGrid/index.d.ts +2 -0
  20. package/dist/types/components/Divider/Divider.d.ts +5 -72
  21. package/dist/types/components/Flex/Flex.d.ts +5 -26
  22. package/dist/types/components/Grid/Grid.d.ts +5 -77
  23. package/dist/types/components/Header/Header.d.ts +5 -33
  24. package/dist/types/components/Input/Input.d.ts +8 -54
  25. package/dist/types/components/Menu/Menu.d.ts +5 -32
  26. package/dist/types/components/Modal/Modal.d.ts +7 -73
  27. package/dist/types/components/MultiSelect/MultiSelect.d.ts +5 -41
  28. package/dist/types/components/Radio/Radio.d.ts +8 -57
  29. package/dist/types/components/RadioGroup/RadioGroup.d.ts +8 -59
  30. package/dist/types/components/Select/Select.d.ts +8 -60
  31. package/dist/types/components/SideMenu/SideMenu.d.ts +15 -34
  32. package/dist/types/components/SideMenu/SideMenu.examples.d.ts +18 -0
  33. package/dist/types/components/SideMenu/index.d.ts +1 -3
  34. package/dist/types/components/Table/Table.d.ts +108 -60
  35. package/dist/types/components/Text/Text.d.ts +5 -51
  36. package/dist/types/components/Timeline/Timeline.d.ts +34 -0
  37. package/dist/types/components/Timeline/index.d.ts +2 -0
  38. package/dist/types/components/Toast/Toast.d.ts +5 -51
  39. package/dist/types/hoc/withParsedClasses.d.ts +7 -0
  40. package/dist/types/hooks/useTheme.d.ts +1 -244
  41. package/dist/types/icons/IconComponents.d.ts +55 -0
  42. package/dist/types/icons/index.d.ts +1 -0
  43. package/dist/types/index.d.ts +28 -5
  44. package/dist/types/stories/components/Accordion.stories.d.ts +11 -0
  45. package/dist/types/stories/components/Alert.stories.d.ts +9 -0
  46. package/dist/types/stories/components/Avatar.stories.d.ts +13 -0
  47. package/dist/types/stories/components/Badge.stories.d.ts +8 -0
  48. package/dist/types/stories/components/Button.stories.d.ts +9 -0
  49. package/dist/types/stories/components/Card.stories.d.ts +8 -0
  50. package/dist/types/stories/components/Checkbox.stories.d.ts +17 -0
  51. package/dist/types/stories/components/CheckboxGroup.stories.d.ts +13 -0
  52. package/dist/types/stories/components/Chip.stories.d.ts +22 -0
  53. package/dist/types/stories/components/DataGrid.stories.d.ts +20 -0
  54. package/dist/types/stories/components/Divider.stories.d.ts +15 -0
  55. package/dist/types/stories/components/Flex.stories.d.ts +14 -0
  56. package/dist/types/stories/components/Grid.stories.d.ts +11 -0
  57. package/dist/types/stories/components/Header.stories.d.ts +14 -0
  58. package/dist/types/stories/components/Input.stories.d.ts +9 -0
  59. package/dist/types/stories/components/Menu.stories.d.ts +13 -0
  60. package/dist/types/stories/components/Modal.stories.d.ts +12 -0
  61. package/dist/types/stories/components/MultiSelect.stories.d.ts +19 -0
  62. package/dist/types/stories/components/Radio.stories.d.ts +16 -0
  63. package/dist/types/stories/components/RadioGroup.stories.d.ts +15 -0
  64. package/dist/types/stories/components/Select.stories.d.ts +17 -0
  65. package/dist/types/stories/components/SideMenu.stories.d.ts +62 -0
  66. package/dist/types/stories/components/Table.stories.d.ts +25 -0
  67. package/dist/types/stories/components/Text.stories.d.ts +18 -0
  68. package/dist/types/stories/components/Timeline.stories.d.ts +20 -0
  69. package/dist/types/stories/components/Toast.stories.d.ts +17 -0
  70. package/dist/types/stories/components/Tooltip.stories.d.ts +20 -0
  71. package/dist/types/stories/widgets/InfoCard.stories.d.ts +12 -0
  72. package/dist/types/stories/widgets/InfoListCard.stories.d.ts +19 -0
  73. package/dist/types/stories/widgets/InfoText.stories.d.ts +30 -0
  74. package/dist/types/stories/widgets/OrderCard.stories.d.ts +13 -0
  75. package/dist/types/stories/widgets/OrderConfirmation.stories.d.ts +36 -0
  76. package/dist/types/stories/widgets/OrderDetails.stories.d.ts +11 -0
  77. package/dist/types/stories/widgets/ProductCard.stories.d.ts +25 -0
  78. package/dist/types/theme/ThemeProvider.d.ts +2 -2
  79. package/dist/types/theme/cssVariables.d.ts +5 -2
  80. package/dist/types/theme/index.d.ts +3 -3
  81. package/dist/types/theme/tokens.d.ts +271 -216
  82. package/dist/types/utils/parseClass.d.ts +1 -0
  83. package/dist/types/widgets/Header/Header.d.ts +252 -0
  84. package/dist/types/widgets/Header/Header.stories.d.ts +30 -0
  85. package/dist/types/widgets/Header/index.d.ts +2 -0
  86. package/dist/types/widgets/InfoCard/InfoCard.d.ts +40 -0
  87. package/dist/types/widgets/InfoCard/index.d.ts +1 -0
  88. package/dist/types/widgets/InfoListCard/InfoListCard.d.ts +43 -0
  89. package/dist/types/widgets/InfoListCard/index.d.ts +2 -0
  90. package/dist/types/widgets/InfoText/InfoText.d.ts +144 -0
  91. package/dist/types/widgets/InfoText/InfoText.examples.d.ts +33 -0
  92. package/dist/types/widgets/InfoText/index.d.ts +1 -0
  93. package/dist/types/widgets/OrderCard/OrderCard.d.ts +71 -0
  94. package/dist/types/widgets/OrderCard/index.d.ts +2 -0
  95. package/dist/types/widgets/OrderConfirmation/OrderConfirmation.d.ts +85 -0
  96. package/dist/types/widgets/OrderConfirmation/index.d.ts +3 -0
  97. package/dist/types/widgets/OrderDetails/OrderDetails.d.ts +91 -0
  98. package/dist/types/widgets/OrderDetails/index.d.ts +3 -0
  99. package/dist/types/widgets/ProductCard/ProductCard.d.ts +42 -0
  100. package/dist/types/widgets/ProductCard/index.d.ts +1 -0
  101. package/package.json +113 -59
  102. package/dist/components/Accordion/Accordion.d.ts +0 -31
  103. package/dist/components/Accordion/Accordion.examples.d.ts +0 -3
  104. package/dist/components/Accordion/AccordionItem.d.ts +0 -5
  105. package/dist/components/Accordion/index.d.ts +0 -4
  106. package/dist/components/Accordion/types.d.ts +0 -98
  107. package/dist/components/Alert/Alert.d.ts +0 -119
  108. package/dist/components/Alert/index.d.ts +0 -3
  109. package/dist/components/Avatar/Avatar.d.ts +0 -63
  110. package/dist/components/Avatar/index.d.ts +0 -3
  111. package/dist/components/Badge/Badge.d.ts +0 -81
  112. package/dist/components/Badge/index.d.ts +0 -3
  113. package/dist/components/Button/Button.d.ts +0 -117
  114. package/dist/components/Button/index.d.ts +0 -3
  115. package/dist/components/Card/Card.d.ts +0 -120
  116. package/dist/components/Card/index.d.ts +0 -3
  117. package/dist/components/Checkbox/Checkbox.d.ts +0 -114
  118. package/dist/components/Checkbox/index.d.ts +0 -3
  119. package/dist/components/CheckboxGroup/CheckboxGroup.d.ts +0 -121
  120. package/dist/components/CheckboxGroup/index.d.ts +0 -3
  121. package/dist/components/Chip/Chip.d.ts +0 -91
  122. package/dist/components/Chip/index.d.ts +0 -3
  123. package/dist/components/Divider/Divider.d.ts +0 -118
  124. package/dist/components/Divider/index.d.ts +0 -3
  125. package/dist/components/Flex/Flex.d.ts +0 -66
  126. package/dist/components/Flex/index.d.ts +0 -3
  127. package/dist/components/Grid/Grid.d.ts +0 -156
  128. package/dist/components/Grid/index.d.ts +0 -3
  129. package/dist/components/Header/Header.d.ts +0 -138
  130. package/dist/components/Header/index.d.ts +0 -3
  131. package/dist/components/Input/Input.d.ts +0 -129
  132. package/dist/components/Input/index.d.ts +0 -3
  133. package/dist/components/Menu/Menu.d.ts +0 -114
  134. package/dist/components/Menu/index.d.ts +0 -4
  135. package/dist/components/Modal/Modal.d.ts +0 -201
  136. package/dist/components/Modal/index.d.ts +0 -3
  137. package/dist/components/MultiSelect/MultiSelect.d.ts +0 -190
  138. package/dist/components/MultiSelect/index.d.ts +0 -3
  139. package/dist/components/Radio/Radio.d.ts +0 -105
  140. package/dist/components/Radio/index.d.ts +0 -3
  141. package/dist/components/RadioGroup/RadioGroup.d.ts +0 -134
  142. package/dist/components/RadioGroup/index.d.ts +0 -3
  143. package/dist/components/Select/Select.d.ts +0 -169
  144. package/dist/components/Select/index.d.ts +0 -3
  145. package/dist/components/SideMenu/SideMenu.d.ts +0 -118
  146. package/dist/components/SideMenu/index.d.ts +0 -4
  147. package/dist/components/Table/Table.d.ts +0 -211
  148. package/dist/components/Table/index.d.ts +0 -3
  149. package/dist/components/Text/Text.d.ts +0 -160
  150. package/dist/components/Text/index.d.ts +0 -3
  151. package/dist/components/Toast/Toast.d.ts +0 -56
  152. package/dist/components/Toast/ToastContainer.d.ts +0 -6
  153. package/dist/components/Toast/index.d.ts +0 -5
  154. package/dist/components/Toast/types.d.ts +0 -148
  155. package/dist/components/Toast/useToast.d.ts +0 -34
  156. package/dist/components/Tooltip/Tooltip.d.ts +0 -108
  157. package/dist/components/Tooltip/index.d.ts +0 -3
  158. package/dist/hooks/index.d.ts +0 -85
  159. package/dist/hooks/useTheme.d.ts +0 -268
  160. package/dist/index.d.ts +0 -55
  161. package/dist/theme/ThemeProvider.d.ts +0 -39
  162. package/dist/theme/cssVariables.d.ts +0 -9
  163. package/dist/theme/index.d.ts +0 -6
  164. package/dist/theme/tokens.d.ts +0 -258
@@ -1,129 +0,0 @@
1
- import React, { InputHTMLAttributes } from 'react';
2
- import './Input.css';
3
- export interface InputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size'> {
4
- /**
5
- * Label text displayed above the input
6
- */
7
- label?: string;
8
- /**
9
- * Helper text displayed below the input
10
- * Provides additional context or instructions
11
- */
12
- helperText?: string;
13
- /**
14
- * Error message - when provided, input is shown in error state
15
- * Takes precedence over helperText when both are present
16
- */
17
- error?: string;
18
- /**
19
- * Success message - when provided, input is shown in success state
20
- */
21
- success?: string;
22
- /**
23
- * Size of the input
24
- * @default 'medium'
25
- */
26
- size?: 'small' | 'medium' | 'large';
27
- /**
28
- * If true, input will take full width of its container
29
- * @default false
30
- */
31
- fullWidth?: boolean;
32
- /**
33
- * Icon or element to display at the start of the input
34
- */
35
- leftIcon?: React.ReactNode;
36
- /**
37
- * Icon or element to display at the end of the input
38
- */
39
- rightIcon?: React.ReactNode;
40
- /**
41
- * If true, shows a clear button when input has value
42
- * @default false
43
- */
44
- clearable?: boolean;
45
- /**
46
- * Callback fired when clear button is clicked
47
- */
48
- onClear?: () => void;
49
- /**
50
- * If true, adds a character counter below the input
51
- * Requires maxLength prop to be set
52
- * @default false
53
- */
54
- showCount?: boolean;
55
- /**
56
- * Custom class name for the wrapper element
57
- */
58
- wrapperClassName?: string;
59
- /**
60
- * Custom class name for the label element
61
- */
62
- labelClassName?: string;
63
- /**
64
- * Custom class name for the input element itself
65
- */
66
- inputClassName?: string;
67
- /**
68
- * Prefix text to display before input value
69
- */
70
- prefix?: string;
71
- /**
72
- * Suffix text to display after input value
73
- */
74
- suffix?: string;
75
- }
76
- /**
77
- * Input component - Text input field with label, helper text, validation states, and rich features
78
- *
79
- * A comprehensive input component with support for icons, prefixes, suffixes, character counting,
80
- * clear functionality, and various validation states.
81
- *
82
- * @example
83
- * Basic usage
84
- * ```tsx
85
- * <Input
86
- * label="Email"
87
- * type="email"
88
- * placeholder="Enter your email"
89
- * helperText="We'll never share your email"
90
- * />
91
- * ```
92
- *
93
- * @example
94
- * With error state
95
- * ```tsx
96
- * <Input
97
- * label="Username"
98
- * error="Username is already taken"
99
- * value={username}
100
- * onChange={(e) => setUsername(e.target.value)}
101
- * />
102
- * ```
103
- *
104
- * @example
105
- * With icons and clear button
106
- * ```tsx
107
- * <Input
108
- * label="Search"
109
- * leftIcon={<SearchIcon />}
110
- * clearable
111
- * onClear={() => setSearch('')}
112
- * />
113
- * ```
114
- *
115
- * @example
116
- * With character counter
117
- * ```tsx
118
- * <Input
119
- * label="Bio"
120
- * maxLength={100}
121
- * showCount
122
- * value={bio}
123
- * onChange={(e) => setBio(e.target.value)}
124
- * />
125
- * ```
126
- */
127
- export declare const Input: React.ForwardRefExoticComponent<InputProps & React.RefAttributes<HTMLInputElement>>;
128
- declare const _default: React.FC<InputProps & React.RefAttributes<HTMLInputElement>>;
129
- export default _default;
@@ -1,3 +0,0 @@
1
- export { default as Input } from './Input';
2
- export type { InputProps } from './Input';
3
- export { Input as InputComponent } from './Input';
@@ -1,114 +0,0 @@
1
- import React from 'react';
2
- import './Menu.css';
3
- export interface MenuItemProps {
4
- /**
5
- * Menu item label
6
- */
7
- label: string;
8
- /**
9
- * Click handler
10
- */
11
- onClick?: () => void;
12
- /**
13
- * Icon to display before label
14
- */
15
- icon?: React.ReactNode;
16
- /**
17
- * Icon to display after label
18
- */
19
- rightIcon?: React.ReactNode;
20
- /**
21
- * Whether the item is disabled
22
- * @default false
23
- */
24
- disabled?: boolean;
25
- /**
26
- * Whether the item is active/selected
27
- * @default false
28
- */
29
- active?: boolean;
30
- /**
31
- * Item variant
32
- * @default 'default'
33
- */
34
- variant?: 'default' | 'danger';
35
- /**
36
- * Keyboard shortcut to display
37
- */
38
- shortcut?: string;
39
- /**
40
- * Divider after this item
41
- * @default false
42
- */
43
- divider?: boolean;
44
- /**
45
- * Submenu items for multi-level menus
46
- */
47
- items?: MenuItemProps[];
48
- }
49
- export interface MenuProps {
50
- /**
51
- * Menu items configuration
52
- */
53
- items?: MenuItemProps[];
54
- /**
55
- * Custom children (MenuItem components)
56
- */
57
- children?: React.ReactNode;
58
- /**
59
- * Menu orientation
60
- * @default 'vertical'
61
- */
62
- orientation?: 'vertical' | 'horizontal';
63
- /**
64
- * Whether menu is responsive (converts to hamburger on mobile)
65
- * @default true
66
- */
67
- responsive?: boolean;
68
- /**
69
- * Custom className
70
- */
71
- className?: string;
72
- /**
73
- * Menu width (for vertical menus)
74
- */
75
- width?: string | number;
76
- }
77
- /**
78
- * MenuItem component - Individual menu item with submenu support
79
- */
80
- export declare const MenuItem: React.ForwardRefExoticComponent<MenuItemProps & React.RefAttributes<HTMLDivElement>>;
81
- /**
82
- * Menu component - Navigation or action menu with responsive support
83
- *
84
- * @example
85
- * Basic menu with items array
86
- * ```tsx
87
- * <Menu
88
- * items={[
89
- * { label: 'Profile', icon: <UserIcon />, onClick: () => {} },
90
- * { label: 'Settings', icon: <SettingsIcon />, onClick: () => {} },
91
- * { label: 'Logout', icon: <LogoutIcon />, onClick: () => {}, variant: 'danger' }
92
- * ]}
93
- * />
94
- * ```
95
- *
96
- * @example
97
- * Horizontal menu with custom children
98
- * ```tsx
99
- * <Menu orientation="horizontal">
100
- * <MenuItem label="Home" active />
101
- * <MenuItem label="Products" />
102
- * <MenuItem label="About" />
103
- * </Menu>
104
- * ```
105
- *
106
- * @example
107
- * Responsive menu (hamburger on mobile)
108
- * ```tsx
109
- * <Menu responsive items={menuItems} />
110
- * ```
111
- */
112
- export declare const Menu: React.ForwardRefExoticComponent<MenuProps & React.RefAttributes<HTMLDivElement>>;
113
- declare const _default: React.FC<MenuProps & React.RefAttributes<HTMLDivElement>>;
114
- export default _default;
@@ -1,4 +0,0 @@
1
- export { default as Menu } from './Menu';
2
- export type { MenuProps, MenuItemProps } from './Menu';
3
- export { Menu as MenuComponent } from './Menu';
4
- export { MenuItem } from './Menu';
@@ -1,201 +0,0 @@
1
- import React from 'react';
2
- import './Modal.css';
3
- export interface ModalFooterButton {
4
- /**
5
- * Button label text
6
- */
7
- label: string;
8
- /**
9
- * Click handler for the button
10
- */
11
- onClick: () => void;
12
- /**
13
- * Button variant
14
- * @default 'secondary'
15
- */
16
- variant?: 'primary' | 'secondary' | 'outline' | 'ghost' | 'danger' | 'success' | 'warning';
17
- /**
18
- * Button size
19
- * @default 'medium'
20
- */
21
- size?: 'sm' | 'md' | 'lg';
22
- /**
23
- * Loading state
24
- * @default false
25
- */
26
- loading?: boolean;
27
- /**
28
- * Disabled state
29
- * @default false
30
- */
31
- disabled?: boolean;
32
- }
33
- export interface ModalProps {
34
- /**
35
- * Whether the modal is open
36
- */
37
- isOpen: boolean;
38
- /**
39
- * Callback fired when the modal requests to be closed
40
- * Called on backdrop click, escape key, or close button click
41
- */
42
- onClose: () => void;
43
- /**
44
- * Modal title displayed in header
45
- */
46
- title?: string;
47
- /**
48
- * Optional subtitle or description below the title
49
- */
50
- description?: string;
51
- /**
52
- * Modal content
53
- */
54
- children: React.ReactNode;
55
- /**
56
- * Optional header content to replace the default title area
57
- * When provided, title and description are ignored
58
- */
59
- header?: React.ReactNode;
60
- /**
61
- * Optional footer content (typically action buttons)
62
- * Can be a ReactNode or an array of button configurations
63
- */
64
- footer?: React.ReactNode;
65
- /**
66
- * Array of footer buttons to auto-generate footer
67
- * If provided, footer prop is ignored
68
- */
69
- footerButtons?: ModalFooterButton[];
70
- /** Size of the modal ('sm', 'md', 'lg', 'fullscreen', 'auto'). Defaults to theme defaultSize */
71
- size?: 'sm' | 'md' | 'lg' | 'fullscreen' | 'auto';
72
- /**
73
- * If false, clicking the backdrop won't close the modal
74
- * @default true
75
- */
76
- closeOnBackdropClick?: boolean;
77
- /**
78
- * If false, pressing Escape won't close the modal
79
- * @default true
80
- */
81
- closeOnEscape?: boolean;
82
- /**
83
- * If false, hides the close button in the header
84
- * @default true
85
- */
86
- showCloseButton?: boolean;
87
- /**
88
- * If true, modal backdrop will be transparent
89
- * @default false
90
- */
91
- transparentBackdrop?: boolean;
92
- /**
93
- * Custom class name for the modal content
94
- */
95
- className?: string;
96
- /**
97
- * Custom class name for the modal backdrop
98
- */
99
- backdropClassName?: string;
100
- /**
101
- * Prevents body scroll when modal is open
102
- * @default true
103
- */
104
- preventScroll?: boolean;
105
- /**
106
- * Animation variant for modal entrance
107
- * @default 'fade'
108
- */
109
- animation?: 'fade' | 'slide-up' | 'slide-down' | 'zoom' | 'none';
110
- /**
111
- * Callback fired after modal opens (after animation completes)
112
- */
113
- onAfterOpen?: () => void;
114
- /**
115
- * Callback fired after modal closes (after animation completes)
116
- */
117
- onAfterClose?: () => void;
118
- /**
119
- * If true, modal will be scrollable inside
120
- * @default false
121
- */
122
- scrollable?: boolean;
123
- /**
124
- * If true, centers the modal vertically
125
- * @default true
126
- */
127
- centered?: boolean;
128
- }
129
- /**
130
- * Modal component - Overlay dialog for focused user interactions
131
- *
132
- * A feature-rich modal component with accessibility features including focus trap,
133
- * body scroll lock, keyboard navigation, and customizable animations.
134
- *
135
- * @example
136
- * Basic confirmation modal with footerButtons array
137
- * ```tsx
138
- * const [isOpen, setIsOpen] = useState(false);
139
- *
140
- * <Modal
141
- * isOpen={isOpen}
142
- * onClose={() => setIsOpen(false)}
143
- * title="Confirm Action"
144
- * description="Are you sure you want to proceed with this action?"
145
- * footerButtons={[
146
- * { label: 'Cancel', onClick: () => setIsOpen(false), variant: 'outline' },
147
- * { label: 'Confirm', onClick: handleConfirm, variant: 'primary' }
148
- * ]}
149
- * >
150
- * <p>This action cannot be undone.</p>
151
- * </Modal>
152
- * ```
153
- *
154
- * @example
155
- * Custom footer with ReactNode
156
- * ```tsx
157
- * <Modal
158
- * isOpen={isOpen}
159
- * onClose={() => setIsOpen(false)}
160
- * title="Custom Footer"
161
- * footer={
162
- * <>
163
- * <Button onClick={() => setIsOpen(false)}>Cancel</Button>
164
- * <Button variant="primary">Save</Button>
165
- * </>
166
- * }
167
- * >
168
- * <p>Custom content here.</p>
169
- * </Modal>
170
- * ```
171
- *
172
- * @example
173
- * Form modal with custom header
174
- * ```tsx
175
- * <Modal
176
- * isOpen={isOpen}
177
- * onClose={() => setIsOpen(false)}
178
- * size="large"
179
- * header={<CustomHeader />}
180
- * scrollable
181
- * >
182
- * <FormContent />
183
- * </Modal>
184
- * ```
185
- *
186
- * @example
187
- * Fullscreen modal without backdrop close
188
- * ```tsx
189
- * <Modal
190
- * isOpen={isOpen}
191
- * onClose={() => setIsOpen(false)}
192
- * size="fullscreen"
193
- * closeOnBackdropClick={false}
194
- * animation="slide-up"
195
- * >
196
- * <FullscreenContent />
197
- * </Modal>
198
- * ```
199
- */
200
- export declare const Modal: React.ForwardRefExoticComponent<ModalProps & React.RefAttributes<HTMLDivElement>>;
201
- export default Modal;
@@ -1,3 +0,0 @@
1
- export { default as Modal } from './Modal';
2
- export type { ModalProps } from './Modal';
3
- export { Modal as ModalComponent } from './Modal';
@@ -1,190 +0,0 @@
1
- import React from 'react';
2
- import './MultiSelect.css';
3
- export interface MultiSelectOption {
4
- /**
5
- * Value of the option
6
- */
7
- value: string | number;
8
- /**
9
- * Display label for the option
10
- */
11
- label: string;
12
- /**
13
- * If true, option cannot be selected
14
- * @default false
15
- */
16
- disabled?: boolean;
17
- /**
18
- * Optional group this option belongs to
19
- */
20
- group?: string;
21
- }
22
- export interface MultiSelectProps {
23
- /**
24
- * Label text displayed above the select
25
- */
26
- label?: string;
27
- /**
28
- * Helper text displayed below the select
29
- */
30
- helperText?: string;
31
- /**
32
- * Error message - when provided, select is shown in error state
33
- */
34
- error?: string;
35
- /**
36
- * Success message - when provided, select is shown in success state
37
- */
38
- success?: string;
39
- /**
40
- * Size of the select
41
- * @default 'medium'
42
- */
43
- size?: 'sm' | 'md' | 'lg';
44
- /**
45
- * If true, select will take full width of its container
46
- * @default false
47
- */
48
- fullWidth?: boolean;
49
- /**
50
- * Options to display in the select dropdown
51
- */
52
- options: MultiSelectOption[];
53
- /**
54
- * Selected values
55
- */
56
- value?: (string | number)[];
57
- /**
58
- * Default selected values for uncontrolled component
59
- */
60
- defaultValue?: (string | number)[];
61
- /**
62
- * Placeholder text shown when no option is selected
63
- */
64
- placeholder?: string;
65
- /**
66
- * Custom class name for the wrapper element
67
- */
68
- className?: string;
69
- /**
70
- * If true, options will be grouped
71
- * @default false
72
- */
73
- grouped?: boolean;
74
- /**
75
- * Property name or function to extract the display label from each option
76
- */
77
- getOptionLabel?: string | ((option: any) => string);
78
- /**
79
- * Property name or function to extract the value from each option
80
- */
81
- getOptionValue?: string | ((option: any) => string | number);
82
- /**
83
- * Property name or function to determine if an option is disabled
84
- */
85
- getOptionDisabled?: string | ((option: any) => boolean);
86
- /**
87
- * Property name or function to extract the group from each option
88
- */
89
- getOptionGroup?: string | ((option: any) => string);
90
- /**
91
- * Callback fired when selection changes
92
- */
93
- onChange?: (values: (string | number)[], selectedOptions: MultiSelectOption[]) => void;
94
- /**
95
- * If true, component is disabled
96
- * @default false
97
- */
98
- disabled?: boolean;
99
- /**
100
- * If true, field is required
101
- * @default false
102
- */
103
- required?: boolean;
104
- /**
105
- * Unique identifier
106
- */
107
- id?: string;
108
- /**
109
- * Name attribute for form integration
110
- */
111
- name?: string;
112
- /**
113
- * Selection style
114
- * @default 'checkbox'
115
- */
116
- selectionStyle?: 'checkbox' | 'checkmark';
117
- /**
118
- * If true, shows a searchable input in the dropdown
119
- * @default false
120
- */
121
- searchable?: boolean;
122
- /**
123
- * If true, shows Select All / Clear All actions
124
- * @default false
125
- */
126
- showSelectAll?: boolean;
127
- /**
128
- * Maximum number of chips to display before showing "+N more"
129
- * @default undefined (shows all)
130
- */
131
- maxChipsDisplay?: number;
132
- /**
133
- * Custom chip color
134
- * @default 'primary'
135
- */
136
- chipColor?: 'default' | 'primary' | 'success' | 'error' | 'warning' | 'info';
137
- /**
138
- * Custom chip variant
139
- * @default 'light'
140
- */
141
- chipVariant?: 'filled' | 'outlined' | 'light';
142
- /**
143
- * If true, shows a loading spinner in the dropdown
144
- * @default false
145
- */
146
- loading?: boolean;
147
- }
148
- /**
149
- * MultiSelect component - Multi-selection dropdown with chips display
150
- *
151
- * A professional multi-select component supporting checkbox or checkmark styles,
152
- * with chips display, search functionality, and group support.
153
- *
154
- * @example
155
- * Basic usage with checkbox style
156
- * ```tsx
157
- * <MultiSelect
158
- * label="Select Technologies"
159
- * placeholder="Choose technologies"
160
- * options={technologies}
161
- * onChange={(values) => console.log(values)}
162
- * />
163
- * ```
164
- *
165
- * @example
166
- * With checkmark style
167
- * ```tsx
168
- * <MultiSelect
169
- * label="Select Skills"
170
- * options={skills}
171
- * selectionStyle="checkmark"
172
- * searchable
173
- * showSelectAll
174
- * />
175
- * ```
176
- *
177
- * @example
178
- * Customize loading spinner via CSS
179
- * ```css
180
- * .vtx-multiselect-icon-spinner {
181
- * --vtx-multiselect-loader-color: #10b981;
182
- * --vtx-multiselect-loader-speed: 1.2s;
183
- * --vtx-multiselect-loader-track-opacity: 0.15;
184
- * --vtx-multiselect-loader-path-opacity: 0.85;
185
- * }
186
- * ```
187
- */
188
- export declare const MultiSelect: React.ForwardRefExoticComponent<MultiSelectProps & React.RefAttributes<HTMLDivElement>>;
189
- declare const _default: React.FC<MultiSelectProps & React.RefAttributes<HTMLDivElement>>;
190
- export default _default;
@@ -1,3 +0,0 @@
1
- export { default as MultiSelect } from './MultiSelect';
2
- export type { MultiSelectProps, MultiSelectOption } from './MultiSelect';
3
- export { MultiSelect as MultiSelectComponent } from './MultiSelect';