@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
@@ -0,0 +1,175 @@
1
+ import { ReactNode } from 'react';
2
+ import { BaseComponentProps, ExtendedComponentSize } from '../../../types/component.types';
3
+ import { IconName } from '../Icon/icons';
4
+ import { SpinnerProps } from '../Spinner';
5
+ import { ButtonProps } from '../../buttons/Button';
6
+ /**
7
+ * Available page message state types
8
+ */
9
+ export type PageMessageState = 'loading' | 'error' | 'forbidden' | 'not-found' | 'empty' | 'maintenance' | 'offline' | 'unauthorized' | 'timeout';
10
+ /**
11
+ * Action button configuration for page messages
12
+ */
13
+ export interface PageMessageAction {
14
+ /** Button label */
15
+ label: string;
16
+ /** Click handler */
17
+ onClick: () => void;
18
+ /** Button variant */
19
+ variant?: ButtonProps['variant'];
20
+ /** Loading state for the button */
21
+ loading?: boolean;
22
+ /** Icon to display */
23
+ icon?: IconName | ReactNode;
24
+ }
25
+ /**
26
+ * Configuration for a single page message state
27
+ */
28
+ export interface PageMessageStateConfig {
29
+ /** Title text displayed prominently */
30
+ title?: string;
31
+ /** Description or subtitle text */
32
+ description?: string;
33
+ /** Icon name from registry or custom ReactNode */
34
+ icon?: IconName | ReactNode;
35
+ /** Primary action button */
36
+ primaryAction?: PageMessageAction;
37
+ /** Secondary action button */
38
+ secondaryAction?: PageMessageAction;
39
+ /** Custom render function for complete control */
40
+ render?: () => ReactNode;
41
+ }
42
+ /**
43
+ * Props for loading state specifically
44
+ */
45
+ export interface LoadingStateConfig extends Omit<PageMessageStateConfig, 'icon'> {
46
+ /** Spinner props passthrough */
47
+ spinnerProps?: Partial<SpinnerProps>;
48
+ /** Whether to show text alongside spinner */
49
+ showText?: boolean;
50
+ }
51
+ /**
52
+ * Props for the PageMessages component
53
+ */
54
+ export interface PageMessagesProps extends BaseComponentProps {
55
+ /**
56
+ * Whether the page is in loading state
57
+ * Priority: 1 (highest)
58
+ */
59
+ loading?: boolean;
60
+ /**
61
+ * Whether the page has an error
62
+ * Priority: 2
63
+ */
64
+ error?: boolean | Error | string;
65
+ /**
66
+ * Whether access is forbidden (403)
67
+ * Priority: 3
68
+ */
69
+ forbidden?: boolean;
70
+ /**
71
+ * Whether the resource is not found (404)
72
+ * Priority: 4
73
+ */
74
+ notFound?: boolean;
75
+ /**
76
+ * Whether the user is unauthorized (401)
77
+ * Priority: 5
78
+ */
79
+ unauthorized?: boolean;
80
+ /**
81
+ * Whether the page is in maintenance mode
82
+ * Priority: 6
83
+ */
84
+ maintenance?: boolean;
85
+ /**
86
+ * Whether the user is offline
87
+ * Priority: 7
88
+ */
89
+ offline?: boolean;
90
+ /**
91
+ * Whether there was a timeout
92
+ * Priority: 8
93
+ */
94
+ timeout?: boolean;
95
+ /**
96
+ * Whether the data is empty
97
+ * Priority: 9 (lowest)
98
+ */
99
+ empty?: boolean;
100
+ /**
101
+ * Custom loading state configuration
102
+ */
103
+ loadingConfig?: LoadingStateConfig;
104
+ /**
105
+ * Custom error state configuration
106
+ */
107
+ errorConfig?: PageMessageStateConfig;
108
+ /**
109
+ * Custom forbidden state configuration
110
+ */
111
+ forbiddenConfig?: PageMessageStateConfig;
112
+ /**
113
+ * Custom not-found state configuration
114
+ */
115
+ notFoundConfig?: PageMessageStateConfig;
116
+ /**
117
+ * Custom unauthorized state configuration
118
+ */
119
+ unauthorizedConfig?: PageMessageStateConfig;
120
+ /**
121
+ * Custom maintenance state configuration
122
+ */
123
+ maintenanceConfig?: PageMessageStateConfig;
124
+ /**
125
+ * Custom offline state configuration
126
+ */
127
+ offlineConfig?: PageMessageStateConfig;
128
+ /**
129
+ * Custom timeout state configuration
130
+ */
131
+ timeoutConfig?: PageMessageStateConfig;
132
+ /**
133
+ * Custom empty state configuration
134
+ */
135
+ emptyConfig?: PageMessageStateConfig;
136
+ /**
137
+ * Size variant affecting icon and text sizes
138
+ * @default 'md'
139
+ */
140
+ size?: ExtendedComponentSize;
141
+ /**
142
+ * Callback when retry action is triggered (for error/timeout states)
143
+ */
144
+ onRetry?: () => void;
145
+ /**
146
+ * Callback when go back action is triggered
147
+ */
148
+ onGoBack?: () => void;
149
+ /**
150
+ * Callback when go home action is triggered
151
+ */
152
+ onGoHome?: () => void;
153
+ /**
154
+ * Callback when login action is triggered (for unauthorized/forbidden)
155
+ */
156
+ onLogin?: () => void;
157
+ /**
158
+ * Whether to use fullscreen mode
159
+ * @default false
160
+ */
161
+ fullScreen?: boolean;
162
+ /**
163
+ * Whether to center the message vertically
164
+ * @default true
165
+ */
166
+ centerVertically?: boolean;
167
+ /**
168
+ * Minimum height when not fullscreen
169
+ */
170
+ minHeight?: string | number;
171
+ }
172
+ /**
173
+ * Determines which state to display based on priority
174
+ */
175
+ export declare function getActiveState(props: PageMessagesProps): PageMessageState | null;
@@ -47,6 +47,17 @@ export interface ProgressBarProps extends Omit<BaseComponentProps, 'children'> {
47
47
  * Custom format function for the value display
48
48
  */
49
49
  formatValue?: (value: number, max: number) => string;
50
+ /**
51
+ * Indeterminate mode - shows infinite loading animation
52
+ * When true, value prop is ignored
53
+ * @default false
54
+ */
55
+ indeterminate?: boolean;
56
+ /**
57
+ * Buffer/secondary progress value (0-100)
58
+ * Shows a secondary progress track for buffering states
59
+ */
60
+ bufferValue?: number;
50
61
  }
51
62
  /**
52
63
  * ProgressBar - Linear progress indicator for showing task completion or loading states
@@ -0,0 +1,109 @@
1
+ import { default as React } from 'react';
2
+ import { BaseComponentProps } from '../../../types/component.types';
3
+ /**
4
+ * Animation types available for reveal
5
+ */
6
+ export type RevealAnimation = 'fade' | 'slideUp' | 'slideDown' | 'slideLeft' | 'slideRight' | 'zoom' | 'zoomIn' | 'zoomOut';
7
+ /**
8
+ * Props for the Reveal component
9
+ */
10
+ export interface RevealProps extends BaseComponentProps {
11
+ /**
12
+ * Animation type
13
+ * @default 'fade'
14
+ */
15
+ animation?: RevealAnimation;
16
+ /**
17
+ * Animation duration in milliseconds
18
+ * @default 500
19
+ */
20
+ duration?: number;
21
+ /**
22
+ * Delay before animation starts (ms)
23
+ * @default 0
24
+ */
25
+ delay?: number;
26
+ /**
27
+ * CSS easing function
28
+ * @default 'ease-out'
29
+ */
30
+ easing?: string;
31
+ /**
32
+ * Visibility threshold (0-1) for Intersection Observer
33
+ * @default 0.1
34
+ */
35
+ threshold?: number;
36
+ /**
37
+ * Whether to animate only once
38
+ * @default true
39
+ */
40
+ triggerOnce?: boolean;
41
+ /**
42
+ * Distance for slide animations
43
+ * @default '20px'
44
+ */
45
+ distance?: string;
46
+ /**
47
+ * Whether to stagger children animations
48
+ * @default false
49
+ */
50
+ cascade?: boolean;
51
+ /**
52
+ * Delay between staggered children (ms)
53
+ * @default 100
54
+ */
55
+ cascadeDelay?: number;
56
+ /**
57
+ * Callback when element is revealed
58
+ */
59
+ onReveal?: () => void;
60
+ /**
61
+ * Whether the component is initially visible (skips animation)
62
+ * @default false
63
+ */
64
+ initiallyVisible?: boolean;
65
+ /**
66
+ * Root margin for Intersection Observer
67
+ * @default '0px'
68
+ */
69
+ rootMargin?: string;
70
+ /**
71
+ * Play animation immediately on mount without requiring scroll
72
+ * Useful for hero sections or elements visible on initial page load
73
+ * @default false
74
+ */
75
+ playOnMount?: boolean;
76
+ }
77
+ /**
78
+ * Reveal - Intersection Observer-based reveal animation component
79
+ *
80
+ * @example
81
+ * ```tsx
82
+ * <Reveal animation="slideUp">
83
+ * <div>Content that animates in when scrolled into view</div>
84
+ * </Reveal>
85
+ * ```
86
+ *
87
+ * @example
88
+ * ```tsx
89
+ * <Reveal animation="fade" cascade cascadeDelay={100}>
90
+ * <div>First item</div>
91
+ * <div>Second item</div>
92
+ * <div>Third item</div>
93
+ * </Reveal>
94
+ * ```
95
+ *
96
+ * @example
97
+ * ```tsx
98
+ * <Reveal
99
+ * animation="zoom"
100
+ * duration={800}
101
+ * delay={200}
102
+ * onReveal={() => console.log('Revealed!')}
103
+ * >
104
+ * <Card>Animated card</Card>
105
+ * </Reveal>
106
+ * ```
107
+ */
108
+ export declare const Reveal: React.ForwardRefExoticComponent<RevealProps & React.RefAttributes<HTMLDivElement>>;
109
+ export default Reveal;
@@ -0,0 +1,3 @@
1
+ export { Reveal } from './Reveal';
2
+ export type { RevealProps, RevealAnimation } from './Reveal';
3
+ export { default } from './Reveal';
@@ -0,0 +1,79 @@
1
+ import { default as React } from 'react';
2
+ import { BaseComponentProps, ExtendedComponentSize } from '../../../types/component.types';
3
+ /**
4
+ * Visual style of the spinner animation
5
+ */
6
+ export type SpinnerStyle = 'circular' | 'dots' | 'bars' | 'pulse';
7
+ /**
8
+ * Color variant of the spinner
9
+ */
10
+ export type SpinnerVariant = 'primary' | 'secondary' | 'success' | 'warning' | 'danger' | 'info' | 'neutral' | 'currentColor';
11
+ /**
12
+ * Animation speed of the spinner
13
+ */
14
+ export type SpinnerSpeed = 'slow' | 'normal' | 'fast';
15
+ /**
16
+ * Props for the Spinner component
17
+ */
18
+ export interface SpinnerProps extends Omit<BaseComponentProps, 'children'> {
19
+ /**
20
+ * Visual style of the spinner animation
21
+ * @default 'circular'
22
+ */
23
+ spinnerStyle?: SpinnerStyle;
24
+ /**
25
+ * Size of the spinner
26
+ * @default 'md'
27
+ */
28
+ size?: ExtendedComponentSize;
29
+ /**
30
+ * Color variant of the spinner
31
+ * @default 'primary'
32
+ */
33
+ variant?: SpinnerVariant;
34
+ /**
35
+ * Animation speed
36
+ * @default 'normal'
37
+ */
38
+ speed?: SpinnerSpeed;
39
+ /**
40
+ * Stroke width for circular spinner style
41
+ * @default 3
42
+ */
43
+ strokeWidth?: number;
44
+ /**
45
+ * Screen reader text
46
+ * @default 'Loading...'
47
+ */
48
+ srText?: string;
49
+ /**
50
+ * Whether to show the screen reader text visually
51
+ * @default false
52
+ */
53
+ showSrText?: boolean;
54
+ }
55
+ /**
56
+ * Spinner - Animated loading indicator with multiple configurable styles
57
+ *
58
+ * @example
59
+ * ```tsx
60
+ * <Spinner />
61
+ * ```
62
+ *
63
+ * @example
64
+ * ```tsx
65
+ * <Spinner spinnerStyle="dots" size="lg" variant="primary" />
66
+ * ```
67
+ *
68
+ * @example
69
+ * ```tsx
70
+ * <Spinner spinnerStyle="bars" speed="fast" variant="success" />
71
+ * ```
72
+ *
73
+ * @example
74
+ * ```tsx
75
+ * <Spinner spinnerStyle="pulse" size="xl" />
76
+ * ```
77
+ */
78
+ export declare const Spinner: React.ForwardRefExoticComponent<SpinnerProps & React.RefAttributes<HTMLDivElement>>;
79
+ export default Spinner;
@@ -0,0 +1,3 @@
1
+ export { Spinner } from './Spinner';
2
+ export type { SpinnerProps, SpinnerStyle, SpinnerVariant, SpinnerSpeed } from './Spinner';
3
+ export { default } from './Spinner';
@@ -8,7 +8,7 @@ export interface StatusIndicatorProps extends BaseComponentProps {
8
8
  * Status variant of the indicator
9
9
  * @default 'neutral'
10
10
  */
11
- status?: 'success' | 'warning' | 'error' | 'info' | 'neutral' | 'processing';
11
+ status?: 'online' | 'offline' | 'away' | 'busy' | 'success' | 'warning' | 'error' | 'info' | 'neutral' | 'processing';
12
12
  /**
13
13
  * Size of the indicator
14
14
  * @default 'md'
@@ -22,6 +22,25 @@ export { KPI } from './display/KPI';
22
22
  export type { KPIProps } from './display/KPI';
23
23
  export { Skeleton } from './display/Skeleton';
24
24
  export type { SkeletonProps } from './display/Skeleton';
25
+ export { Spinner } from './display/Spinner';
26
+ export type { SpinnerProps, SpinnerStyle, SpinnerVariant, SpinnerSpeed } from './display/Spinner';
27
+ export { Collapse } from './display/Collapse';
28
+ export type { CollapseProps } from './display/Collapse';
29
+ export { Accordion, AccordionContainer, AccordionContext, useAccordionContext, useAccordionContextStrict, } from './display/Accordion';
30
+ export type { AccordionProps, AccordionIconPosition, AccordionContainerProps, AccordionControlsPosition, AccordionContextValue, AccordionMode, } from './display/Accordion';
31
+ export { Card } from './display/Card';
32
+ export type { CardProps, CardVariant, CardPadding } from './display/Card';
33
+ export { FlipCard } from './display/FlipCard';
34
+ export type { FlipCardProps, FlipDirection, FlipTrigger } from './display/FlipCard';
35
+ export { CountUp } from './display/CountUp';
36
+ export type { CountUpProps, EasingFunction } from './display/CountUp';
37
+ export { Reveal } from './display/Reveal';
38
+ export type { RevealProps, RevealAnimation } from './display/Reveal';
39
+ export { Carousel } from './display/Carousel';
40
+ export type { CarouselProps } from './display/Carousel';
41
+ export { PageMessages } from './display/PageMessages';
42
+ export type { PageMessagesProps, PageMessageState, PageMessageStateConfig, PageMessageAction, LoadingStateConfig, } from './display/PageMessages';
43
+ export { getActiveState } from './display/PageMessages';
25
44
  export { Portal } from './overlays/Portal';
26
45
  export type { PortalProps } from './overlays/Portal';
27
46
  export { Popover } from './overlays/Popover';
@@ -32,6 +51,8 @@ export { Menu, MenuList, MenuItem, MenuDivider, MenuGroup, MenuContext, useMenuC
32
51
  export type { MenuProps, MenuListProps, MenuItemProps, MenuDividerProps, MenuGroupProps, MenuContextValue, SelectionMode, } from './overlays/Menu';
33
52
  export { Dropdown } from './overlays/Dropdown';
34
53
  export type { DropdownProps } from './overlays/Dropdown';
54
+ export { LoadingOverlay } from './overlays/LoadingOverlay';
55
+ export type { LoadingOverlayProps, LoadingOverlayMode } from './overlays/LoadingOverlay';
35
56
  export { Input } from './inputs/Input';
36
57
  export type { InputProps, ValidationResult, FormatMask, ValidationTiming, InputType, } from './inputs/Input';
37
58
  export { Autocomplete } from './inputs/Autocomplete';
@@ -1,5 +1,5 @@
1
1
  import { ReactNode } from 'react';
2
- import { IconName } from '../../../assets/icons';
2
+ import { IconName } from '../../display/Icon/icons';
3
3
  import { ComponentVariant, ComponentSize, BaseComponentProps } from '../../../types';
4
4
  /**
5
5
  * Autocomplete option
@@ -1,6 +1,6 @@
1
1
  import { default as React } from 'react';
2
2
  import { ComponentSize, ComponentVariant, InputBaseProps } from '../../../types';
3
- import { IconName } from '../../../assets/icons';
3
+ import { IconName } from '../../display/Icon/icons';
4
4
  export interface CheckboxProps extends Omit<InputBaseProps, 'value' | 'onChange' | 'placeholder'> {
5
5
  /**
6
6
  * Checkbox variant style
@@ -1,6 +1,6 @@
1
1
  import { default as React } from 'react';
2
2
  import { BaseComponentProps } from '../../../types/component.types';
3
- import { IconName } from '../../../assets/icons';
3
+ import { IconName } from '../../display/Icon/icons';
4
4
  export interface DatePickerProps extends Omit<BaseComponentProps, 'children'> {
5
5
  /**
6
6
  * Controlled date value
@@ -1,6 +1,6 @@
1
1
  import { default as React } from 'react';
2
2
  import { InputBaseProps } from '../../../types';
3
- import { IconName } from '../../../assets/icons';
3
+ import { IconName } from '../../display/Icon/icons';
4
4
  /**
5
5
  * Validation timing options
6
6
  */
@@ -1,5 +1,5 @@
1
1
  import { default as React } from 'react';
2
- import { IconName } from '../../../assets/icons';
2
+ import { IconName } from '../../display/Icon/icons';
3
3
  export interface RadioProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'onChange' | 'size' | 'type'> {
4
4
  /**
5
5
  * The value of this radio button
@@ -1,6 +1,6 @@
1
1
  import { default as React } from 'react';
2
2
  import { ComponentSize } from '../../../types';
3
- import { IconName } from '../../../assets/icons';
3
+ import { IconName } from '../../display/Icon/icons';
4
4
  export interface RatingProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange' | 'onBlur'> {
5
5
  size?: ComponentSize;
6
6
  value?: number;
@@ -1,5 +1,5 @@
1
1
  import { default as React } from 'react';
2
- import { IconName } from '../../../assets/icons';
2
+ import { IconName } from '../../display/Icon/icons';
3
3
  export interface SelectOption {
4
4
  /**
5
5
  * Option value
@@ -11,6 +11,11 @@ export interface ToggleProps extends Omit<InputBaseProps, 'value' | 'onChange' |
11
11
  * @default 'md'
12
12
  */
13
13
  size?: ComponentSize;
14
+ /**
15
+ * Whether the toggle is in loading state
16
+ * @default false
17
+ */
18
+ loading?: boolean;
14
19
  /**
15
20
  * Whether the toggle is checked
16
21
  */
@@ -1,6 +1,6 @@
1
1
  import { ReactNode } from 'react';
2
2
  import { MenuProps } from '../Menu';
3
- import { IconName } from '../../../assets/icons';
3
+ import { IconName } from '../../display/Icon/icons';
4
4
  import { ComponentVariant, ComponentSize } from '../../../types';
5
5
  /**
6
6
  * Dropdown item definition
@@ -0,0 +1,101 @@
1
+ import { default as React, ReactNode } from 'react';
2
+ import { BaseComponentProps, ExtendedComponentSize } from '../../../types/component.types';
3
+ import { SpinnerSpeed, SpinnerStyle, SpinnerVariant } from '../../display/Spinner';
4
+ /**
5
+ * Loading overlay mode
6
+ */
7
+ export type LoadingOverlayMode = 'container' | 'fullscreen';
8
+ /**
9
+ * Props for the LoadingOverlay component
10
+ */
11
+ export interface LoadingOverlayProps extends BaseComponentProps {
12
+ /**
13
+ * Whether the overlay is visible
14
+ * @default true
15
+ */
16
+ visible?: boolean;
17
+ /**
18
+ * Mode: cover parent container or full screen
19
+ * @default 'container'
20
+ */
21
+ mode?: LoadingOverlayMode;
22
+ /**
23
+ * Spinner style to use
24
+ * @default 'circular'
25
+ */
26
+ spinnerStyle?: SpinnerStyle;
27
+ /**
28
+ * Spinner size
29
+ * @default 'lg'
30
+ */
31
+ spinnerSize?: ExtendedComponentSize;
32
+ /**
33
+ * Spinner color variant
34
+ * @default 'primary'
35
+ */
36
+ spinnerVariant?: SpinnerVariant;
37
+ /**
38
+ * Spinner animation speed
39
+ * @default 'normal'
40
+ */
41
+ spinnerSpeed?: SpinnerSpeed;
42
+ /**
43
+ * Optional message to display below spinner
44
+ */
45
+ message?: ReactNode;
46
+ /**
47
+ * Enable backdrop blur effect
48
+ * @default false
49
+ */
50
+ blur?: boolean;
51
+ /**
52
+ * Backdrop opacity (0-1)
53
+ * @default 0.7
54
+ */
55
+ backdropOpacity?: number;
56
+ /**
57
+ * Custom z-index for the overlay
58
+ */
59
+ zIndex?: number;
60
+ /**
61
+ * Transition duration in milliseconds
62
+ * @default 200
63
+ */
64
+ transitionDuration?: number;
65
+ /**
66
+ * Custom spinner element (overrides spinnerStyle, spinnerSize, spinnerVariant)
67
+ */
68
+ customSpinner?: ReactNode;
69
+ /**
70
+ * Border radius for the overlay to match child content
71
+ * Accepts any valid CSS border-radius value
72
+ */
73
+ borderRadius?: string | number;
74
+ }
75
+ /**
76
+ * LoadingOverlay - Overlay component for showing loading state over content
77
+ *
78
+ * @example
79
+ * ```tsx
80
+ * // Container mode - wraps content
81
+ * <LoadingOverlay visible={isLoading}>
82
+ * <div>Content to overlay</div>
83
+ * </LoadingOverlay>
84
+ * ```
85
+ *
86
+ * @example
87
+ * ```tsx
88
+ * // Fullscreen mode
89
+ * <LoadingOverlay visible={isLoading} mode="fullscreen" message="Loading..." />
90
+ * ```
91
+ *
92
+ * @example
93
+ * ```tsx
94
+ * // With blur effect
95
+ * <LoadingOverlay visible={isLoading} blur backdropOpacity={0.5}>
96
+ * <div>Blurred content</div>
97
+ * </LoadingOverlay>
98
+ * ```
99
+ */
100
+ export declare const LoadingOverlay: React.ForwardRefExoticComponent<LoadingOverlayProps & React.RefAttributes<HTMLDivElement>>;
101
+ export default LoadingOverlay;
@@ -0,0 +1,3 @@
1
+ export { LoadingOverlay } from './LoadingOverlay';
2
+ export type { LoadingOverlayProps, LoadingOverlayMode } from './LoadingOverlay';
3
+ export { default } from './LoadingOverlay';
@@ -1,6 +1,6 @@
1
1
  import { ReactNode } from 'react';
2
2
  import { BaseComponentProps } from '../../../types';
3
- import { IconName } from '../../../assets/icons';
3
+ import { IconName } from '../../display/Icon/icons';
4
4
  /**
5
5
  * MenuItem component props
6
6
  */