@true-tech-team/react-components 0.0.2 → 0.0.4

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 (237) hide show
  1. package/index.css +1 -1
  2. package/index.d.ts +4 -2
  3. package/index.js +1 -1
  4. package/index.mjs +5944 -3658
  5. package/lib/components/buttons/Button/Button.d.ts +15 -4
  6. package/lib/components/buttons/IconButton/IconButton.d.ts +1 -1
  7. package/lib/components/display/Accordion/Accordion.d.ts +112 -0
  8. package/lib/components/display/Accordion/AccordionContainer.d.ts +101 -0
  9. package/lib/components/display/Accordion/AccordionContext.d.ts +57 -0
  10. package/lib/components/display/Accordion/index.d.ts +6 -0
  11. package/lib/components/display/Avatar/Avatar.d.ts +1 -1
  12. package/lib/components/display/Card/Card.d.ts +101 -0
  13. package/lib/components/display/Card/index.d.ts +3 -0
  14. package/lib/components/display/Carousel/Carousel.d.ts +125 -0
  15. package/lib/components/display/Carousel/index.d.ts +3 -0
  16. package/lib/components/display/Collapse/Collapse.d.ts +57 -0
  17. package/lib/components/display/Collapse/index.d.ts +2 -0
  18. package/lib/components/display/CountUp/CountUp.d.ts +119 -0
  19. package/lib/components/display/CountUp/index.d.ts +3 -0
  20. package/lib/components/display/FlipCard/FlipCard.d.ts +125 -0
  21. package/lib/components/display/FlipCard/index.d.ts +3 -0
  22. package/lib/components/display/Icon/Icon.d.ts +1 -1
  23. package/lib/components/display/Icon/icons/Account.d.ts +3 -0
  24. package/lib/components/display/Icon/icons/Activity.d.ts +3 -0
  25. package/lib/components/display/Icon/icons/AlignCenter.d.ts +3 -0
  26. package/lib/components/display/Icon/icons/AlignJustify.d.ts +3 -0
  27. package/lib/components/display/Icon/icons/AlignLeft.d.ts +3 -0
  28. package/lib/components/display/Icon/icons/AlignRight.d.ts +3 -0
  29. package/lib/components/display/Icon/icons/ArrowDown.d.ts +3 -0
  30. package/lib/components/display/Icon/icons/ArrowDownLeft.d.ts +3 -0
  31. package/lib/components/display/Icon/icons/ArrowDownRight.d.ts +3 -0
  32. package/lib/components/display/Icon/icons/ArrowLeft.d.ts +3 -0
  33. package/lib/components/display/Icon/icons/ArrowRight.d.ts +3 -0
  34. package/lib/components/display/Icon/icons/ArrowUp.d.ts +3 -0
  35. package/lib/components/display/Icon/icons/ArrowUpLeft.d.ts +3 -0
  36. package/lib/components/display/Icon/icons/ArrowUpRight.d.ts +3 -0
  37. package/lib/components/display/Icon/icons/AtSign.d.ts +3 -0
  38. package/lib/components/display/Icon/icons/BarChart2.d.ts +3 -0
  39. package/lib/components/display/Icon/icons/Battery.d.ts +3 -0
  40. package/lib/components/display/Icon/icons/BatteryCharging.d.ts +3 -0
  41. package/lib/components/display/Icon/icons/Bell.d.ts +3 -0
  42. package/lib/components/display/Icon/icons/BellOff.d.ts +3 -0
  43. package/lib/components/display/Icon/icons/Bluetooth.d.ts +3 -0
  44. package/lib/components/display/Icon/icons/Bold.d.ts +3 -0
  45. package/lib/components/display/Icon/icons/Bookmark.d.ts +3 -0
  46. package/lib/components/display/Icon/icons/BookmarkPlus.d.ts +3 -0
  47. package/lib/components/display/Icon/icons/Building.d.ts +3 -0
  48. package/lib/components/display/Icon/icons/Calendar.d.ts +3 -0
  49. package/lib/components/display/Icon/icons/Camera.d.ts +3 -0
  50. package/lib/components/display/Icon/icons/ChartBar.d.ts +3 -0
  51. package/lib/components/display/Icon/icons/ChartLine.d.ts +3 -0
  52. package/lib/components/display/Icon/icons/Check.d.ts +3 -0
  53. package/lib/components/display/Icon/icons/ChevronDown.d.ts +3 -0
  54. package/lib/components/display/Icon/icons/ChevronLeft.d.ts +3 -0
  55. package/lib/components/display/Icon/icons/ChevronRight.d.ts +3 -0
  56. package/lib/components/display/Icon/icons/ChevronUp.d.ts +3 -0
  57. package/lib/components/display/Icon/icons/Clock.d.ts +3 -0
  58. package/lib/components/display/Icon/icons/Close.d.ts +3 -0
  59. package/lib/components/display/Icon/icons/Cloud.d.ts +3 -0
  60. package/lib/components/display/Icon/icons/CloudDownload.d.ts +3 -0
  61. package/lib/components/display/Icon/icons/CloudOff.d.ts +3 -0
  62. package/lib/components/display/Icon/icons/CloudUpload.d.ts +3 -0
  63. package/lib/components/display/Icon/icons/Code.d.ts +3 -0
  64. package/lib/components/display/Icon/icons/Compass.d.ts +3 -0
  65. package/lib/components/display/Icon/icons/Copy.d.ts +3 -0
  66. package/lib/components/display/Icon/icons/CornerDownLeft.d.ts +3 -0
  67. package/lib/components/display/Icon/icons/CornerDownRight.d.ts +3 -0
  68. package/lib/components/display/Icon/icons/CornerUpLeft.d.ts +3 -0
  69. package/lib/components/display/Icon/icons/CornerUpRight.d.ts +3 -0
  70. package/lib/components/display/Icon/icons/Cpu.d.ts +3 -0
  71. package/lib/components/display/Icon/icons/CreditCard.d.ts +3 -0
  72. package/lib/components/display/Icon/icons/Crosshair.d.ts +3 -0
  73. package/lib/components/display/Icon/icons/Database.d.ts +3 -0
  74. package/lib/components/display/Icon/icons/Delete.d.ts +3 -0
  75. package/lib/components/display/Icon/icons/Dollar.d.ts +3 -0
  76. package/lib/components/display/Icon/icons/Download.d.ts +3 -0
  77. package/lib/components/display/Icon/icons/Edit.d.ts +3 -0
  78. package/lib/components/display/Icon/icons/Error.d.ts +3 -0
  79. package/lib/components/display/Icon/icons/ExternalLink.d.ts +3 -0
  80. package/lib/components/display/Icon/icons/Eye.d.ts +3 -0
  81. package/lib/components/display/Icon/icons/EyeOff.d.ts +3 -0
  82. package/lib/components/display/Icon/icons/File.d.ts +3 -0
  83. package/lib/components/display/Icon/icons/FileCheck.d.ts +3 -0
  84. package/lib/components/display/Icon/icons/FileMinus.d.ts +3 -0
  85. package/lib/components/display/Icon/icons/FilePlus.d.ts +3 -0
  86. package/lib/components/display/Icon/icons/FileText.d.ts +3 -0
  87. package/lib/components/display/Icon/icons/Filter.d.ts +3 -0
  88. package/lib/components/display/Icon/icons/Folder.d.ts +3 -0
  89. package/lib/components/display/Icon/icons/FolderMinus.d.ts +3 -0
  90. package/lib/components/display/Icon/icons/FolderOpen.d.ts +3 -0
  91. package/lib/components/display/Icon/icons/FolderPlus.d.ts +3 -0
  92. package/lib/components/display/Icon/icons/Gift.d.ts +3 -0
  93. package/lib/components/display/Icon/icons/Globe.d.ts +3 -0
  94. package/lib/components/display/Icon/icons/Grid.d.ts +3 -0
  95. package/lib/components/display/Icon/icons/HardDrive.d.ts +3 -0
  96. package/lib/components/display/Icon/icons/Hash.d.ts +3 -0
  97. package/lib/components/display/Icon/icons/Heart.d.ts +3 -0
  98. package/lib/components/display/Icon/icons/Help.d.ts +3 -0
  99. package/lib/components/display/Icon/icons/Home.d.ts +3 -0
  100. package/lib/components/display/Icon/icons/Hourglass.d.ts +3 -0
  101. package/lib/components/display/Icon/icons/Image.d.ts +3 -0
  102. package/lib/components/display/Icon/icons/Inbox.d.ts +3 -0
  103. package/lib/components/display/Icon/icons/Info.d.ts +3 -0
  104. package/lib/components/display/Icon/icons/Italic.d.ts +3 -0
  105. package/lib/components/display/Icon/icons/Key.d.ts +3 -0
  106. package/lib/components/display/Icon/icons/Laptop.d.ts +3 -0
  107. package/lib/components/display/Icon/icons/Link.d.ts +3 -0
  108. package/lib/components/display/Icon/icons/Link2.d.ts +3 -0
  109. package/lib/components/display/Icon/icons/List.d.ts +3 -0
  110. package/lib/components/display/Icon/icons/ListOrdered.d.ts +3 -0
  111. package/lib/components/display/Icon/icons/ListUnordered.d.ts +3 -0
  112. package/lib/components/display/Icon/icons/Lock.d.ts +3 -0
  113. package/lib/components/display/Icon/icons/Logout.d.ts +3 -0
  114. package/lib/components/display/Icon/icons/Mail.d.ts +3 -0
  115. package/lib/components/display/Icon/icons/MailOpen.d.ts +3 -0
  116. package/lib/components/display/Icon/icons/Map.d.ts +3 -0
  117. package/lib/components/display/Icon/icons/MapPin.d.ts +3 -0
  118. package/lib/components/display/Icon/icons/Maximize.d.ts +3 -0
  119. package/lib/components/display/Icon/icons/Menu.d.ts +3 -0
  120. package/lib/components/display/Icon/icons/MessageCircle.d.ts +3 -0
  121. package/lib/components/display/Icon/icons/MessageSquare.d.ts +3 -0
  122. package/lib/components/display/Icon/icons/Messages.d.ts +3 -0
  123. package/lib/components/display/Icon/icons/Mic.d.ts +3 -0
  124. package/lib/components/display/Icon/icons/MicOff.d.ts +3 -0
  125. package/lib/components/display/Icon/icons/Minimize.d.ts +3 -0
  126. package/lib/components/display/Icon/icons/Minus.d.ts +3 -0
  127. package/lib/components/display/Icon/icons/Monitor.d.ts +3 -0
  128. package/lib/components/display/Icon/icons/Music.d.ts +3 -0
  129. package/lib/components/display/Icon/icons/Navigation.d.ts +3 -0
  130. package/lib/components/display/Icon/icons/Navigation2.d.ts +3 -0
  131. package/lib/components/display/Icon/icons/Outbox.d.ts +3 -0
  132. package/lib/components/display/Icon/icons/Paperclip.d.ts +3 -0
  133. package/lib/components/display/Icon/icons/Pause.d.ts +3 -0
  134. package/lib/components/display/Icon/icons/Percent.d.ts +3 -0
  135. package/lib/components/display/Icon/icons/PercentCircle.d.ts +3 -0
  136. package/lib/components/display/Icon/icons/Phone.d.ts +3 -0
  137. package/lib/components/display/Icon/icons/PhoneCall.d.ts +3 -0
  138. package/lib/components/display/Icon/icons/PhoneIncoming.d.ts +3 -0
  139. package/lib/components/display/Icon/icons/PhoneMissed.d.ts +3 -0
  140. package/lib/components/display/Icon/icons/PhoneOutgoing.d.ts +3 -0
  141. package/lib/components/display/Icon/icons/PieChart.d.ts +3 -0
  142. package/lib/components/display/Icon/icons/Play.d.ts +3 -0
  143. package/lib/components/display/Icon/icons/Plus.d.ts +3 -0
  144. package/lib/components/display/Icon/icons/Power.d.ts +3 -0
  145. package/lib/components/display/Icon/icons/Preferences.d.ts +3 -0
  146. package/lib/components/display/Icon/icons/Printer.d.ts +3 -0
  147. package/lib/components/display/Icon/icons/Profile.d.ts +3 -0
  148. package/lib/components/display/Icon/icons/Redo.d.ts +3 -0
  149. package/lib/components/display/Icon/icons/Refresh.d.ts +3 -0
  150. package/lib/components/display/Icon/icons/Repeat.d.ts +3 -0
  151. package/lib/components/display/Icon/icons/RotateCcw.d.ts +3 -0
  152. package/lib/components/display/Icon/icons/RotateCw.d.ts +3 -0
  153. package/lib/components/display/Icon/icons/Route.d.ts +3 -0
  154. package/lib/components/display/Icon/icons/Rss.d.ts +3 -0
  155. package/lib/components/display/Icon/icons/Save.d.ts +3 -0
  156. package/lib/components/display/Icon/icons/Search.d.ts +3 -0
  157. package/lib/components/display/Icon/icons/Send.d.ts +3 -0
  158. package/lib/components/display/Icon/icons/Server.d.ts +3 -0
  159. package/lib/components/display/Icon/icons/Settings.d.ts +3 -0
  160. package/lib/components/display/Icon/icons/Share.d.ts +3 -0
  161. package/lib/components/display/Icon/icons/Share2.d.ts +3 -0
  162. package/lib/components/display/Icon/icons/Shield.d.ts +3 -0
  163. package/lib/components/display/Icon/icons/ShieldAlert.d.ts +3 -0
  164. package/lib/components/display/Icon/icons/ShieldCheck.d.ts +3 -0
  165. package/lib/components/display/Icon/icons/ShieldOff.d.ts +3 -0
  166. package/lib/components/display/Icon/icons/ShoppingBag.d.ts +3 -0
  167. package/lib/components/display/Icon/icons/ShoppingCart.d.ts +3 -0
  168. package/lib/components/display/Icon/icons/Shuffle.d.ts +3 -0
  169. package/lib/components/display/Icon/icons/SkipBack.d.ts +3 -0
  170. package/lib/components/display/Icon/icons/SkipForward.d.ts +3 -0
  171. package/lib/components/display/Icon/icons/Smartphone.d.ts +3 -0
  172. package/lib/components/display/Icon/icons/Star.d.ts +3 -0
  173. package/lib/components/display/Icon/icons/Stop.d.ts +3 -0
  174. package/lib/components/display/Icon/icons/Stopwatch.d.ts +3 -0
  175. package/lib/components/display/Icon/icons/Sunrise.d.ts +3 -0
  176. package/lib/components/display/Icon/icons/Sunset.d.ts +3 -0
  177. package/lib/components/display/Icon/icons/Tablet.d.ts +3 -0
  178. package/lib/components/display/Icon/icons/Tag.d.ts +3 -0
  179. package/lib/components/display/Icon/icons/Target.d.ts +3 -0
  180. package/lib/components/display/Icon/icons/Terminal.d.ts +3 -0
  181. package/lib/components/display/Icon/icons/ThumbsUp.d.ts +3 -0
  182. package/lib/components/display/Icon/icons/TrendingDown.d.ts +3 -0
  183. package/lib/components/display/Icon/icons/TrendingUp.d.ts +3 -0
  184. package/lib/components/display/Icon/icons/Type.d.ts +3 -0
  185. package/lib/components/display/Icon/icons/Underline.d.ts +3 -0
  186. package/lib/components/display/Icon/icons/Undo.d.ts +3 -0
  187. package/lib/components/display/Icon/icons/Unlink.d.ts +3 -0
  188. package/lib/components/display/Icon/icons/Unlock.d.ts +3 -0
  189. package/lib/components/display/Icon/icons/Upload.d.ts +3 -0
  190. package/lib/components/display/Icon/icons/User.d.ts +3 -0
  191. package/lib/components/display/Icon/icons/UserCheck.d.ts +3 -0
  192. package/lib/components/display/Icon/icons/UserMinus.d.ts +3 -0
  193. package/lib/components/display/Icon/icons/UserPlus.d.ts +3 -0
  194. package/lib/components/display/Icon/icons/UserX.d.ts +3 -0
  195. package/lib/components/display/Icon/icons/Users.d.ts +3 -0
  196. package/lib/components/display/Icon/icons/Video.d.ts +3 -0
  197. package/lib/components/display/Icon/icons/Volume.d.ts +3 -0
  198. package/lib/components/display/Icon/icons/Volume1.d.ts +3 -0
  199. package/lib/components/display/Icon/icons/Volume2.d.ts +3 -0
  200. package/lib/components/display/Icon/icons/VolumeX.d.ts +3 -0
  201. package/lib/components/display/Icon/icons/Warning.d.ts +3 -0
  202. package/lib/components/display/Icon/icons/Watch.d.ts +3 -0
  203. package/lib/components/display/Icon/icons/Wifi.d.ts +3 -0
  204. package/lib/components/display/Icon/icons/WifiOff.d.ts +3 -0
  205. package/lib/components/display/Icon/icons/Zap.d.ts +3 -0
  206. package/lib/components/display/Icon/icons/index.d.ts +379 -0
  207. package/lib/components/display/Icon/index.d.ts +1 -0
  208. package/lib/components/display/PageMessages/PageMessageContent.d.ts +19 -0
  209. package/lib/components/display/PageMessages/PageMessages.d.ts +49 -0
  210. package/lib/components/display/PageMessages/defaultConfigs.d.ts +5 -0
  211. package/lib/components/display/PageMessages/index.d.ts +3 -0
  212. package/lib/components/display/PageMessages/types.d.ts +175 -0
  213. package/lib/components/display/ProgressBar/ProgressBar.d.ts +11 -0
  214. package/lib/components/display/Reveal/Reveal.d.ts +109 -0
  215. package/lib/components/display/Reveal/index.d.ts +3 -0
  216. package/lib/components/display/Spinner/Spinner.d.ts +79 -0
  217. package/lib/components/display/Spinner/index.d.ts +3 -0
  218. package/lib/components/display/StatusIndicator/StatusIndicator.d.ts +1 -1
  219. package/lib/components/index.d.ts +21 -0
  220. package/lib/components/inputs/Autocomplete/Autocomplete.d.ts +1 -1
  221. package/lib/components/inputs/Checkbox/Checkbox.d.ts +1 -1
  222. package/lib/components/inputs/DatePicker/DatePicker.d.ts +1 -1
  223. package/lib/components/inputs/Input/Input.d.ts +1 -1
  224. package/lib/components/inputs/Radio/Radio.d.ts +1 -1
  225. package/lib/components/inputs/Rating/Rating.d.ts +1 -1
  226. package/lib/components/inputs/Select/Select.d.ts +1 -1
  227. package/lib/components/inputs/Toggle/Toggle.d.ts +5 -0
  228. package/lib/components/overlays/Dropdown/Dropdown.d.ts +1 -1
  229. package/lib/components/overlays/LoadingOverlay/LoadingOverlay.d.ts +101 -0
  230. package/lib/components/overlays/LoadingOverlay/index.d.ts +3 -0
  231. package/lib/components/overlays/Menu/MenuItem.d.ts +1 -1
  232. package/lib/contexts/PageMessagesContext/PageMessagesContext.d.ts +91 -0
  233. package/lib/contexts/PageMessagesContext/index.d.ts +2 -0
  234. package/lib/contexts/index.d.ts +2 -0
  235. package/lib/providers/GlobalProvider/GlobalProvider.d.ts +6 -1
  236. package/package.json +1 -1
  237. package/lib/assets/icons/index.d.ts +0 -133
@@ -1,6 +1,6 @@
1
1
  import { default as React } from 'react';
2
2
  import { ExtendedComponentSize, ComponentVariant, BaseComponentProps } from '../../../types';
3
- import { IconName } from '../../../assets/icons';
3
+ import { IconName } from '../../display/Icon/icons';
4
4
  export interface ButtonProps extends BaseComponentProps {
5
5
  /**
6
6
  * Button variant
@@ -41,9 +41,20 @@ export interface ButtonProps extends BaseComponentProps {
41
41
  * Can be an icon name or a React component
42
42
  */
43
43
  endIcon?: React.ReactNode | IconName;
44
+ /**
45
+ * Whether the button is in loading state
46
+ * @default false
47
+ */
48
+ loading?: boolean;
49
+ /**
50
+ * Text to display while loading (replaces children)
51
+ */
52
+ loadingText?: string;
53
+ /**
54
+ * Position of the loading spinner
55
+ * @default 'start'
56
+ */
57
+ loadingPosition?: 'start' | 'end' | 'center';
44
58
  }
45
- /**
46
- * Button component with multiple variants and sizes
47
- */
48
59
  export declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
49
60
  export default Button;
@@ -1,6 +1,6 @@
1
1
  import { default as React } from 'react';
2
2
  import { ComponentVariant, BaseComponentProps, ExtendedComponentSize } from '../../../types';
3
- import { IconName } from '../../../assets/icons';
3
+ import { IconName } from '../../display/Icon/icons';
4
4
  export interface IconButtonProps extends BaseComponentProps {
5
5
  /**
6
6
  * Icon to display (required)
@@ -0,0 +1,112 @@
1
+ import { ReactNode } from 'react';
2
+ import { BaseComponentProps, ComponentSize } from '../../../types';
3
+ import { IconName } from '../../display/Icon/icons';
4
+ /**
5
+ * Position of the expand/collapse icon
6
+ */
7
+ export type AccordionIconPosition = 'left' | 'right';
8
+ export interface AccordionProps extends BaseComponentProps {
9
+ /**
10
+ * Unique identifier for the accordion
11
+ * Required when used within AccordionContainer
12
+ */
13
+ id?: string;
14
+ /**
15
+ * Header content (can be string or ReactNode)
16
+ */
17
+ header: ReactNode;
18
+ /**
19
+ * Accordion body content
20
+ */
21
+ children: ReactNode;
22
+ /**
23
+ * Whether the accordion is expanded (controlled)
24
+ */
25
+ isOpen?: boolean;
26
+ /**
27
+ * Default expanded state (uncontrolled)
28
+ * @default false
29
+ */
30
+ defaultOpen?: boolean;
31
+ /**
32
+ * Callback when open state changes
33
+ * @param isOpen - The new open state
34
+ */
35
+ onOpenChange?: (isOpen: boolean) => void;
36
+ /**
37
+ * Position of the expand/collapse icon
38
+ * @default 'right'
39
+ */
40
+ iconPosition?: AccordionIconPosition;
41
+ /**
42
+ * Custom expand icon (icon name or ReactNode)
43
+ * @default 'chevron-down'
44
+ */
45
+ expandIcon?: IconName | ReactNode;
46
+ /**
47
+ * Custom collapse icon (icon name or ReactNode)
48
+ * If not provided, expandIcon will rotate 180deg
49
+ */
50
+ collapseIcon?: IconName | ReactNode;
51
+ /**
52
+ * Whether to disable the accordion
53
+ * @default false
54
+ */
55
+ disabled?: boolean;
56
+ /**
57
+ * Accordion size variant
58
+ * @default 'md'
59
+ */
60
+ size?: ComponentSize;
61
+ /**
62
+ * Whether to show border around the accordion
63
+ * @default true
64
+ */
65
+ bordered?: boolean;
66
+ /**
67
+ * Animation duration in milliseconds
68
+ * @default 250
69
+ */
70
+ animationDuration?: number;
71
+ /**
72
+ * Whether to unmount body content when collapsed
73
+ * @default false
74
+ */
75
+ unmountOnCollapse?: boolean;
76
+ /**
77
+ * Additional header icon (shown before header text)
78
+ */
79
+ headerIcon?: IconName | ReactNode;
80
+ /**
81
+ * Callback when header is clicked
82
+ */
83
+ onHeaderClick?: () => void;
84
+ }
85
+ /**
86
+ * Accordion component
87
+ * A collapsible panel with a clickable header and expandable body
88
+ *
89
+ * @example
90
+ * ```tsx
91
+ * // Standalone usage
92
+ * <Accordion header="Section Title">
93
+ * <p>Section content here</p>
94
+ * </Accordion>
95
+ *
96
+ * // With custom icon position
97
+ * <Accordion header="Settings" iconPosition="left">
98
+ * <p>Settings content</p>
99
+ * </Accordion>
100
+ *
101
+ * // Controlled
102
+ * <Accordion
103
+ * header="Details"
104
+ * isOpen={isExpanded}
105
+ * onOpenChange={setIsExpanded}
106
+ * >
107
+ * <p>Details content</p>
108
+ * </Accordion>
109
+ * ```
110
+ */
111
+ export declare const Accordion: import('react').ForwardRefExoticComponent<AccordionProps & import('react').RefAttributes<HTMLDivElement>>;
112
+ export default Accordion;
@@ -0,0 +1,101 @@
1
+ import { ReactNode } from 'react';
2
+ import { BaseComponentProps, ComponentSize } from '../../../types';
3
+ import { AccordionMode } from './AccordionContext';
4
+ /**
5
+ * Position of the expand/collapse all controls
6
+ */
7
+ export type AccordionControlsPosition = 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
8
+ export interface AccordionContainerProps extends Omit<BaseComponentProps, 'children'> {
9
+ /**
10
+ * Accordion children
11
+ */
12
+ children: ReactNode;
13
+ /**
14
+ * Mode for accordion expansion
15
+ * - 'single': Only one accordion can be open at a time
16
+ * - 'multiple': Multiple accordions can be open simultaneously
17
+ * @default 'multiple'
18
+ */
19
+ mode?: AccordionMode;
20
+ /**
21
+ * Array of expanded accordion IDs (controlled)
22
+ */
23
+ expandedIds?: string[];
24
+ /**
25
+ * Default expanded accordion IDs (uncontrolled)
26
+ * @default []
27
+ */
28
+ defaultExpandedIds?: string[];
29
+ /**
30
+ * Callback when expanded IDs change
31
+ * @param expandedIds - Array of currently expanded accordion IDs
32
+ */
33
+ onExpandedChange?: (expandedIds: string[]) => void;
34
+ /**
35
+ * Whether to show expand all / collapse all controls
36
+ * @default false
37
+ */
38
+ showExpandAllControls?: boolean;
39
+ /**
40
+ * Label for "Expand All" button
41
+ * @default 'Expand All'
42
+ */
43
+ expandAllLabel?: ReactNode;
44
+ /**
45
+ * Label for "Collapse All" button
46
+ * @default 'Collapse All'
47
+ */
48
+ collapseAllLabel?: ReactNode;
49
+ /**
50
+ * Position of expand/collapse all controls
51
+ * @default 'top-right'
52
+ */
53
+ controlsPosition?: AccordionControlsPosition;
54
+ /**
55
+ * Size variant for all accordions (can be overridden per accordion)
56
+ * @default 'md'
57
+ */
58
+ size?: ComponentSize;
59
+ /**
60
+ * Gap between accordions in pixels
61
+ * @default 8
62
+ */
63
+ gap?: number;
64
+ /**
65
+ * Whether accordions should be bordered
66
+ * @default true
67
+ */
68
+ bordered?: boolean;
69
+ /**
70
+ * Whether to disable all accordions
71
+ * @default false
72
+ */
73
+ disabled?: boolean;
74
+ }
75
+ /**
76
+ * AccordionContainer component
77
+ * Manages multiple accordions with optional expand/collapse all functionality
78
+ *
79
+ * @example
80
+ * ```tsx
81
+ * // Basic usage
82
+ * <AccordionContainer>
83
+ * <Accordion id="section1" header="Section 1">Content 1</Accordion>
84
+ * <Accordion id="section2" header="Section 2">Content 2</Accordion>
85
+ * </AccordionContainer>
86
+ *
87
+ * // With expand/collapse all
88
+ * <AccordionContainer showExpandAllControls>
89
+ * <Accordion id="section1" header="Section 1">Content 1</Accordion>
90
+ * <Accordion id="section2" header="Section 2">Content 2</Accordion>
91
+ * </AccordionContainer>
92
+ *
93
+ * // Single mode (only one open at a time)
94
+ * <AccordionContainer mode="single">
95
+ * <Accordion id="section1" header="Section 1">Content 1</Accordion>
96
+ * <Accordion id="section2" header="Section 2">Content 2</Accordion>
97
+ * </AccordionContainer>
98
+ * ```
99
+ */
100
+ export declare const AccordionContainer: React.FC<AccordionContainerProps>;
101
+ export default AccordionContainer;
@@ -0,0 +1,57 @@
1
+ import { ComponentSize } from '../../../types';
2
+ /**
3
+ * Accordion expansion mode
4
+ * - 'single': Only one accordion can be open at a time
5
+ * - 'multiple': Multiple accordions can be open simultaneously
6
+ */
7
+ export type AccordionMode = 'single' | 'multiple';
8
+ /**
9
+ * Context value for AccordionContainer
10
+ */
11
+ export interface AccordionContextValue {
12
+ /**
13
+ * Set of expanded accordion IDs
14
+ */
15
+ expandedIds: Set<string>;
16
+ /**
17
+ * Toggle expansion state of an accordion
18
+ * @param id - The accordion ID to toggle
19
+ */
20
+ toggleAccordion: (id: string) => void;
21
+ /**
22
+ * Expansion mode
23
+ */
24
+ mode: AccordionMode;
25
+ /**
26
+ * Whether all accordions in the container are disabled
27
+ */
28
+ disabled: boolean;
29
+ /**
30
+ * Size variant from container (can be overridden per accordion)
31
+ */
32
+ size?: ComponentSize;
33
+ /**
34
+ * Whether accordions should show borders
35
+ */
36
+ bordered?: boolean;
37
+ }
38
+ /**
39
+ * Accordion context
40
+ * Provides state coordination for AccordionContainer
41
+ */
42
+ export declare const AccordionContext: import('react').Context<AccordionContextValue | null>;
43
+ /**
44
+ * Hook to access accordion container context
45
+ * Returns null if not within AccordionContainer (allowing standalone usage)
46
+ *
47
+ * @returns AccordionContextValue or null if outside container
48
+ */
49
+ export declare function useAccordionContext(): AccordionContextValue | null;
50
+ /**
51
+ * Hook that throws if not within AccordionContainer
52
+ * Use this when accordion must be within a container
53
+ *
54
+ * @throws Error if used outside AccordionContainer
55
+ * @returns AccordionContextValue
56
+ */
57
+ export declare function useAccordionContextStrict(): AccordionContextValue;
@@ -0,0 +1,6 @@
1
+ export { Accordion, default } from './Accordion';
2
+ export type { AccordionProps, AccordionIconPosition } from './Accordion';
3
+ export { AccordionContainer } from './AccordionContainer';
4
+ export type { AccordionContainerProps, AccordionControlsPosition } from './AccordionContainer';
5
+ export { AccordionContext, useAccordionContext, useAccordionContextStrict } from './AccordionContext';
6
+ export type { AccordionContextValue, AccordionMode } from './AccordionContext';
@@ -35,7 +35,7 @@ export interface AvatarProps extends Omit<BaseComponentProps, 'children'> {
35
35
  /**
36
36
  * Status indicator
37
37
  */
38
- status?: 'success' | 'warning' | 'error' | 'info' | 'neutral' | 'processing';
38
+ status?: 'online' | 'offline' | 'away' | 'busy' | 'success' | 'warning' | 'error' | 'info' | 'neutral' | 'processing';
39
39
  }
40
40
  /**
41
41
  * Avatar - User profile picture or placeholder with initials/fallback
@@ -0,0 +1,101 @@
1
+ import { default as React, ReactNode, MouseEvent } from 'react';
2
+ import { BaseComponentProps, ComponentSize } from '../../../types/component.types';
3
+ /**
4
+ * Card visual variants
5
+ */
6
+ export type CardVariant = 'outlined' | 'elevated' | 'filled';
7
+ /**
8
+ * Card padding options
9
+ */
10
+ export type CardPadding = 'none' | 'sm' | 'md' | 'lg';
11
+ /**
12
+ * Props for the Card component
13
+ */
14
+ export interface CardProps extends BaseComponentProps {
15
+ /**
16
+ * Visual variant of the card
17
+ * @default 'outlined'
18
+ */
19
+ variant?: CardVariant;
20
+ /**
21
+ * Size of the card (affects border-radius)
22
+ * @default 'md'
23
+ */
24
+ size?: ComponentSize;
25
+ /**
26
+ * Padding inside the card
27
+ * @default 'md'
28
+ */
29
+ padding?: CardPadding;
30
+ /**
31
+ * Whether the card is interactive (clickable)
32
+ * @default false
33
+ */
34
+ interactive?: boolean;
35
+ /**
36
+ * Whether the card is disabled
37
+ * @default false
38
+ */
39
+ disabled?: boolean;
40
+ /**
41
+ * Click handler (when interactive)
42
+ */
43
+ onClick?: (event: MouseEvent<HTMLDivElement>) => void;
44
+ /**
45
+ * Optional header content
46
+ */
47
+ header?: ReactNode;
48
+ /**
49
+ * Optional footer content
50
+ */
51
+ footer?: ReactNode;
52
+ /**
53
+ * Whether the header has a bottom divider
54
+ * @default true (when header is provided)
55
+ */
56
+ headerDivider?: boolean;
57
+ /**
58
+ * Whether the footer has a top divider
59
+ * @default true (when footer is provided)
60
+ */
61
+ footerDivider?: boolean;
62
+ /**
63
+ * Whether to show hover effect (auto-enabled when interactive)
64
+ * @default false
65
+ */
66
+ hoverable?: boolean;
67
+ /**
68
+ * Whether the card takes full width
69
+ * @default false
70
+ */
71
+ fullWidth?: boolean;
72
+ }
73
+ /**
74
+ * Card - A flexible container component for grouping related content
75
+ *
76
+ * @example
77
+ * ```tsx
78
+ * <Card variant="outlined" padding="md">
79
+ * Card content goes here
80
+ * </Card>
81
+ * ```
82
+ *
83
+ * @example
84
+ * ```tsx
85
+ * <Card
86
+ * header={<h3>Card Title</h3>}
87
+ * footer={<Button>Action</Button>}
88
+ * >
89
+ * Main content
90
+ * </Card>
91
+ * ```
92
+ *
93
+ * @example
94
+ * ```tsx
95
+ * <Card interactive onClick={() => console.log('clicked')}>
96
+ * Clickable card
97
+ * </Card>
98
+ * ```
99
+ */
100
+ export declare const Card: React.ForwardRefExoticComponent<CardProps & React.RefAttributes<HTMLDivElement>>;
101
+ export default Card;
@@ -0,0 +1,3 @@
1
+ export { Card } from './Card';
2
+ export type { CardProps, CardVariant, CardPadding } from './Card';
3
+ export { default } from './Card';
@@ -0,0 +1,125 @@
1
+ import { default as React, ReactNode } from 'react';
2
+ import { BaseComponentProps } from '../../../types/component.types';
3
+ import { IconName } from '../Icon';
4
+ /**
5
+ * Props for the Carousel component
6
+ */
7
+ export interface CarouselProps extends Omit<BaseComponentProps, 'children'> {
8
+ /**
9
+ * Slides to display
10
+ */
11
+ children: ReactNode;
12
+ /**
13
+ * Whether to auto-play the carousel
14
+ * @default false
15
+ */
16
+ autoPlay?: boolean;
17
+ /**
18
+ * Auto-play interval in milliseconds
19
+ * @default 5000
20
+ */
21
+ autoPlayInterval?: number;
22
+ /**
23
+ * Whether to pause auto-play on hover
24
+ * @default true
25
+ */
26
+ pauseOnHover?: boolean;
27
+ /**
28
+ * Whether to show navigation dots
29
+ * @default true
30
+ */
31
+ showDots?: boolean;
32
+ /**
33
+ * Whether to show navigation arrows
34
+ * @default true
35
+ */
36
+ showArrows?: boolean;
37
+ /**
38
+ * Whether to loop infinitely
39
+ * @default true
40
+ */
41
+ infinite?: boolean;
42
+ /**
43
+ * Number of slides to show at once
44
+ * @default 1
45
+ */
46
+ slidesToShow?: number;
47
+ /**
48
+ * Number of slides to scroll at once
49
+ * @default 1
50
+ */
51
+ slidesToScroll?: number;
52
+ /**
53
+ * Gap between slides
54
+ * @default '16px'
55
+ */
56
+ gap?: string;
57
+ /**
58
+ * Transition duration in milliseconds
59
+ * @default 300
60
+ */
61
+ transitionDuration?: number;
62
+ /**
63
+ * Active slide index (controlled mode)
64
+ */
65
+ activeIndex?: number;
66
+ /**
67
+ * Default active slide index (uncontrolled mode)
68
+ * @default 0
69
+ */
70
+ defaultIndex?: number;
71
+ /**
72
+ * Callback when slide changes
73
+ */
74
+ onChange?: (index: number) => void;
75
+ /**
76
+ * Icon for previous arrow
77
+ * @default 'chevron-left'
78
+ */
79
+ prevIcon?: ReactNode | IconName;
80
+ /**
81
+ * Icon for next arrow
82
+ * @default 'chevron-right'
83
+ */
84
+ nextIcon?: ReactNode | IconName;
85
+ /**
86
+ * Whether arrows should be outside the carousel
87
+ * @default false
88
+ */
89
+ arrowsOutside?: boolean;
90
+ /**
91
+ * Dot position
92
+ * @default 'bottom'
93
+ */
94
+ dotsPosition?: 'bottom' | 'top';
95
+ }
96
+ /**
97
+ * Carousel - A sliding carousel component for displaying multiple items
98
+ *
99
+ * @example
100
+ * ```tsx
101
+ * <Carousel>
102
+ * <div>Slide 1</div>
103
+ * <div>Slide 2</div>
104
+ * <div>Slide 3</div>
105
+ * </Carousel>
106
+ * ```
107
+ *
108
+ * @example
109
+ * ```tsx
110
+ * <Carousel autoPlay autoPlayInterval={3000} showDots>
111
+ * <img src="image1.jpg" alt="Slide 1" />
112
+ * <img src="image2.jpg" alt="Slide 2" />
113
+ * </Carousel>
114
+ * ```
115
+ *
116
+ * @example
117
+ * ```tsx
118
+ * // Multiple slides visible
119
+ * <Carousel slidesToShow={3} gap="24px">
120
+ * {items.map(item => <Card key={item.id}>{item.content}</Card>)}
121
+ * </Carousel>
122
+ * ```
123
+ */
124
+ export declare const Carousel: React.ForwardRefExoticComponent<CarouselProps & React.RefAttributes<HTMLDivElement>>;
125
+ export default Carousel;
@@ -0,0 +1,3 @@
1
+ export { Carousel } from './Carousel';
2
+ export type { CarouselProps } from './Carousel';
3
+ export { default } from './Carousel';
@@ -0,0 +1,57 @@
1
+ import { ReactNode } from 'react';
2
+ import { BaseComponentProps } from '../../../types';
3
+ export interface CollapseProps extends BaseComponentProps {
4
+ /**
5
+ * Whether the content is expanded
6
+ * @default false
7
+ */
8
+ isOpen?: boolean;
9
+ /**
10
+ * Content to show/hide
11
+ */
12
+ children: ReactNode;
13
+ /**
14
+ * Animation duration in milliseconds
15
+ * @default 250
16
+ */
17
+ duration?: number;
18
+ /**
19
+ * Easing function for animation
20
+ * @default 'ease-in-out'
21
+ */
22
+ easing?: 'linear' | 'ease' | 'ease-in' | 'ease-out' | 'ease-in-out' | string;
23
+ /**
24
+ * Callback when expand animation starts
25
+ */
26
+ onExpandStart?: () => void;
27
+ /**
28
+ * Callback when expand animation ends
29
+ */
30
+ onExpandEnd?: () => void;
31
+ /**
32
+ * Callback when collapse animation starts
33
+ */
34
+ onCollapseStart?: () => void;
35
+ /**
36
+ * Callback when collapse animation ends
37
+ */
38
+ onCollapseEnd?: () => void;
39
+ /**
40
+ * Whether to unmount children when collapsed
41
+ * @default false
42
+ */
43
+ unmountOnCollapse?: boolean;
44
+ }
45
+ /**
46
+ * Collapse component
47
+ * A container that provides smooth expand/collapse animation for its children
48
+ *
49
+ * @example
50
+ * ```tsx
51
+ * <Collapse isOpen={isExpanded}>
52
+ * <div>Content to show/hide</div>
53
+ * </Collapse>
54
+ * ```
55
+ */
56
+ export declare const Collapse: import('react').ForwardRefExoticComponent<CollapseProps & import('react').RefAttributes<HTMLDivElement>>;
57
+ export default Collapse;
@@ -0,0 +1,2 @@
1
+ export { Collapse, default } from './Collapse';
2
+ export type { CollapseProps } from './Collapse';