@e-burgos/tucu-ui 1.0.0

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 (248) hide show
  1. package/README.md +1113 -0
  2. package/components/auth/forget-password-form.d.ts +16 -0
  3. package/components/auth/index.d.ts +4 -0
  4. package/components/auth/reset-pin-form.d.ts +18 -0
  5. package/components/auth/sign-in-form.d.ts +18 -0
  6. package/components/auth/sign-up-form.d.ts +21 -0
  7. package/components/blockchain/coin-card.d.ts +17 -0
  8. package/components/blockchain/coin-info-card.d.ts +15 -0
  9. package/components/blockchain/coin-listbox.d.ts +14 -0
  10. package/components/blockchain/collection-card.d.ts +19 -0
  11. package/components/blockchain/collection-select-list.d.ts +11 -0
  12. package/components/blockchain/currency-swap-icons.d.ts +7 -0
  13. package/components/blockchain/index.d.ts +9 -0
  14. package/components/blockchain/live-price-feed.d.ts +24 -0
  15. package/components/blockchain/nft-grid.d.ts +11 -0
  16. package/components/blockchain/transaction-info.d.ts +7 -0
  17. package/components/buttons/button/button-drip.d.ts +12 -0
  18. package/components/buttons/button/button-loader.d.ts +9 -0
  19. package/components/buttons/button/index.d.ts +23 -0
  20. package/components/buttons/hamburger.d.ts +6 -0
  21. package/components/buttons/index.d.ts +6 -0
  22. package/components/buttons/topup-button.d.ts +8 -0
  23. package/components/cards/author-card.d.ts +7 -0
  24. package/components/cards/card-container.d.ts +7 -0
  25. package/components/cards/card-title.d.ts +9 -0
  26. package/components/cards/index.d.ts +5 -0
  27. package/components/cards/panel-action-card.d.ts +16 -0
  28. package/components/cards/panel-card.d.ts +8 -0
  29. package/components/carousel/carousel-cards.d.ts +19 -0
  30. package/components/carousel/carousel-component.d.ts +41 -0
  31. package/components/carousel/carousel-image.d.ts +18 -0
  32. package/components/carousel/index.d.ts +3 -0
  33. package/components/common/avatar.d.ts +12 -0
  34. package/components/common/badge.d.ts +8 -0
  35. package/components/common/collapse.d.ts +7 -0
  36. package/components/common/index.d.ts +7 -0
  37. package/components/common/menu-item.d.ts +21 -0
  38. package/components/common/scrollbar-native.d.ts +14 -0
  39. package/components/common/scrollbar.d.ts +14 -0
  40. package/components/common/skeleton.d.ts +6 -0
  41. package/components/dialog/drawer-container.d.ts +8 -0
  42. package/components/dialog/drawer.d.ts +19 -0
  43. package/components/dialog/index.d.ts +5 -0
  44. package/components/dialog/modal.d.ts +21 -0
  45. package/components/dialog/sidebar-menu.d.ts +13 -0
  46. package/components/dialog/sidebar.d.ts +12 -0
  47. package/components/forms/checkbox.d.ts +38 -0
  48. package/components/forms/field-error-text.d.ts +19 -0
  49. package/components/forms/field-helper-text.d.ts +18 -0
  50. package/components/forms/file-input.d.ts +8 -0
  51. package/components/forms/form-system/example/error-container-example.d.ts +3 -0
  52. package/components/forms/form-system/example/form-example.d.ts +3 -0
  53. package/components/forms/form-system/example/form-methods-example.d.ts +3 -0
  54. package/components/forms/form-system/example/validations.d.ts +14 -0
  55. package/components/forms/form-system/form-field.d.ts +14 -0
  56. package/components/forms/form-system/form.d.ts +13 -0
  57. package/components/forms/form-system/hook-form.d.ts +3 -0
  58. package/components/forms/form-system/index.d.ts +10 -0
  59. package/components/forms/form-system/types/dependencies.type.d.ts +11 -0
  60. package/components/forms/form-system/types/extend-react-hook-form.type.d.ts +16 -0
  61. package/components/forms/form-system/types/index.d.ts +3 -0
  62. package/components/forms/form-system/types/validations.type.d.ts +9 -0
  63. package/components/forms/index.d.ts +17 -0
  64. package/components/forms/input-label.d.ts +9 -0
  65. package/components/forms/input-searcher.d.ts +7 -0
  66. package/components/forms/input-select.d.ts +24 -0
  67. package/components/forms/input-switch.d.ts +13 -0
  68. package/components/forms/input.d.ts +14 -0
  69. package/components/forms/pin-code.d.ts +97 -0
  70. package/components/forms/radio-group.d.ts +56 -0
  71. package/components/forms/radio.d.ts +87 -0
  72. package/components/forms/textarea.d.ts +10 -0
  73. package/components/forms/toggle-bar.d.ts +9 -0
  74. package/components/forms/uploader-two.d.ts +44 -0
  75. package/components/forms/uploader.d.ts +2 -0
  76. package/components/icons/arrow-link-icon.d.ts +1 -0
  77. package/components/icons/arrow-right.d.ts +1 -0
  78. package/components/icons/arrow-up.d.ts +1 -0
  79. package/components/icons/bitcoin.d.ts +1 -0
  80. package/components/icons/bnb.d.ts +1 -0
  81. package/components/icons/book.d.ts +1 -0
  82. package/components/icons/brands/facebook.d.ts +1 -0
  83. package/components/icons/brands/github.d.ts +1 -0
  84. package/components/icons/brands/instagram.d.ts +1 -0
  85. package/components/icons/brands/telegram.d.ts +1 -0
  86. package/components/icons/brands/twitter.d.ts +1 -0
  87. package/components/icons/calendar-icon.d.ts +1 -0
  88. package/components/icons/cardano.d.ts +1 -0
  89. package/components/icons/check.d.ts +1 -0
  90. package/components/icons/checkmark.d.ts +1 -0
  91. package/components/icons/chevron-down.d.ts +1 -0
  92. package/components/icons/chevron-forward.d.ts +1 -0
  93. package/components/icons/chevron-right.d.ts +1 -0
  94. package/components/icons/classic-layout-icon.d.ts +1 -0
  95. package/components/icons/close.d.ts +1 -0
  96. package/components/icons/compact-grid.d.ts +1 -0
  97. package/components/icons/compass.d.ts +1 -0
  98. package/components/icons/copy.d.ts +1 -0
  99. package/components/icons/disk.d.ts +1 -0
  100. package/components/icons/document.d.ts +1 -0
  101. package/components/icons/doge.d.ts +1 -0
  102. package/components/icons/dots-icon.d.ts +1 -0
  103. package/components/icons/ethereum-dark.d.ts +1 -0
  104. package/components/icons/ethereum.d.ts +1 -0
  105. package/components/icons/exchange.d.ts +1 -0
  106. package/components/icons/export-icon.d.ts +1 -0
  107. package/components/icons/external-link.d.ts +1 -0
  108. package/components/icons/eye.d.ts +1 -0
  109. package/components/icons/eyeslash.d.ts +1 -0
  110. package/components/icons/farm.d.ts +1 -0
  111. package/components/icons/flash.d.ts +1 -0
  112. package/components/icons/flow.d.ts +1 -0
  113. package/components/icons/gas-icon.d.ts +1 -0
  114. package/components/icons/guide-icon.d.ts +1 -0
  115. package/components/icons/history.d.ts +1 -0
  116. package/components/icons/home.d.ts +1 -0
  117. package/components/icons/horizontal-three-dots.d.ts +1 -0
  118. package/components/icons/icon-us-flag.d.ts +1 -0
  119. package/components/icons/index.d.ts +97 -0
  120. package/components/icons/info-circle.d.ts +1 -0
  121. package/components/icons/info-icon.d.ts +1 -0
  122. package/components/icons/left-align.d.ts +1 -0
  123. package/components/icons/level-icon.d.ts +1 -0
  124. package/components/icons/link-icon.d.ts +1 -0
  125. package/components/icons/live-pricing.d.ts +1 -0
  126. package/components/icons/lock-icon.d.ts +1 -0
  127. package/components/icons/long-arrow-left.d.ts +1 -0
  128. package/components/icons/long-arrow-right.d.ts +1 -0
  129. package/components/icons/long-arrow-up.d.ts +1 -0
  130. package/components/icons/loop-icon.d.ts +1 -0
  131. package/components/icons/lucide-react/index.d.ts +1 -0
  132. package/components/icons/media-play-icon.d.ts +1 -0
  133. package/components/icons/menu-icon.d.ts +2 -0
  134. package/components/icons/minimal-layout-icon.d.ts +1 -0
  135. package/components/icons/modern-layout-icon.d.ts +1 -0
  136. package/components/icons/moon.d.ts +1 -0
  137. package/components/icons/more-icon.d.ts +1 -0
  138. package/components/icons/normal-grid.d.ts +1 -0
  139. package/components/icons/option.d.ts +1 -0
  140. package/components/icons/play-icon.d.ts +1 -0
  141. package/components/icons/plus-circle.d.ts +1 -0
  142. package/components/icons/plus.d.ts +1 -0
  143. package/components/icons/pool.d.ts +1 -0
  144. package/components/icons/power.d.ts +1 -0
  145. package/components/icons/profile.d.ts +1 -0
  146. package/components/icons/question-icon.d.ts +1 -0
  147. package/components/icons/question-solid-icon.d.ts +1 -0
  148. package/components/icons/range-icon.d.ts +1 -0
  149. package/components/icons/refresh.d.ts +1 -0
  150. package/components/icons/retro-layout-icon.d.ts +1 -0
  151. package/components/icons/right-align.d.ts +1 -0
  152. package/components/icons/sand-clock.d.ts +1 -0
  153. package/components/icons/search.d.ts +1 -0
  154. package/components/icons/shut-down-icon.d.ts +1 -0
  155. package/components/icons/spike-bar.d.ts +1 -0
  156. package/components/icons/star-fill.d.ts +1 -0
  157. package/components/icons/star.d.ts +1 -0
  158. package/components/icons/sun.d.ts +1 -0
  159. package/components/icons/swap-icon.d.ts +1 -0
  160. package/components/icons/tag-icon.d.ts +1 -0
  161. package/components/icons/tag.d.ts +1 -0
  162. package/components/icons/tether.d.ts +1 -0
  163. package/components/icons/trading-bot-icon.d.ts +1 -0
  164. package/components/icons/trend-arrow-down-icon.d.ts +1 -0
  165. package/components/icons/trend-arrow-up-icon.d.ts +1 -0
  166. package/components/icons/tucu.d.ts +1 -0
  167. package/components/icons/unlocked.d.ts +1 -0
  168. package/components/icons/upload.d.ts +1 -0
  169. package/components/icons/usdc.d.ts +1 -0
  170. package/components/icons/verified-icon.d.ts +1 -0
  171. package/components/icons/verified.d.ts +1 -0
  172. package/components/icons/vertical-three-dots.d.ts +1 -0
  173. package/components/icons/vote-icon.d.ts +1 -0
  174. package/components/icons/warning.d.ts +1 -0
  175. package/components/index.d.ts +16 -0
  176. package/components/layouts/authentication/layout.d.ts +5 -0
  177. package/components/layouts/classic/layout.d.ts +16 -0
  178. package/components/layouts/header/header.d.ts +16 -0
  179. package/components/layouts/menus/collapsible-menu.d.ts +3 -0
  180. package/components/layouts/menus/expandable-sidebar.d.ts +8 -0
  181. package/components/layouts/menus/minimal-nav-menu.d.ts +5 -0
  182. package/components/layouts/minimal/layout.d.ts +24 -0
  183. package/components/layouts/root-layout.d.ts +18 -0
  184. package/components/links/active-link.d.ts +7 -0
  185. package/components/links/anchor-link.d.ts +3 -0
  186. package/components/links/index.d.ts +2 -0
  187. package/components/loaders/index.d.ts +3 -0
  188. package/components/loaders/loader.d.ts +20 -0
  189. package/components/loaders/progressbar.d.ts +64 -0
  190. package/components/loaders/spinner.d.ts +15 -0
  191. package/components/logos/index.d.ts +2 -0
  192. package/components/logos/logo-theme.d.ts +5 -0
  193. package/components/logos/logo.d.ts +13 -0
  194. package/components/notifications/alert.d.ts +12 -0
  195. package/components/notifications/index.d.ts +3 -0
  196. package/components/notifications/notification-card.d.ts +14 -0
  197. package/components/notifications/toast.d.ts +3 -0
  198. package/components/tabs/index.d.ts +3 -0
  199. package/components/tabs/param-tab.d.ts +13 -0
  200. package/components/tabs/tab-select.d.ts +10 -0
  201. package/components/tabs/tab.d.ts +20 -0
  202. package/components/typography/index.d.ts +39 -0
  203. package/components/utils/code-block.d.ts +8 -0
  204. package/components/utils/image.d.ts +16 -0
  205. package/components/utils/index.d.ts +5 -0
  206. package/components/utils/reveal-content.d.ts +6 -0
  207. package/components/utils/scroll-to-top.d.ts +5 -0
  208. package/components/utils/test-brand-classes.d.ts +1 -0
  209. package/hooks/index.d.ts +13 -0
  210. package/hooks/use-breakpoint.d.ts +1 -0
  211. package/hooks/use-click-away.d.ts +1 -0
  212. package/hooks/use-copy-to-clipboard.d.ts +1 -0
  213. package/hooks/use-element-size.d.ts +9 -0
  214. package/hooks/use-event-listener.d.ts +7 -0
  215. package/hooks/use-grid-switcher.d.ts +6 -0
  216. package/hooks/use-is-mobile.d.ts +4 -0
  217. package/hooks/use-is-mounted.d.ts +1 -0
  218. package/hooks/use-lock-body-scroll.d.ts +1 -0
  219. package/hooks/use-measure.d.ts +1 -0
  220. package/hooks/use-scrollable-slider.d.ts +7 -0
  221. package/hooks/use-toast-store.d.ts +17 -0
  222. package/hooks/use-window-scroll.d.ts +1 -0
  223. package/index.css +1 -0
  224. package/index.d.ts +10 -0
  225. package/index.js +133 -0
  226. package/index.mjs +44201 -0
  227. package/libs/framer-motion/fade-in-bottom.d.ts +18 -0
  228. package/libs/index.d.ts +3 -0
  229. package/libs/local-storage/index.d.ts +7 -0
  230. package/libs/range-map.d.ts +1 -0
  231. package/lucide-react/index.d.ts +1 -0
  232. package/package.json +76 -0
  233. package/react-router-dom/index.d.ts +1 -0
  234. package/storybook/components/StoryContainer.d.ts +6 -0
  235. package/storybook/components/pages/Accessibility.d.ts +1 -0
  236. package/storybook/components/pages/Introduction.d.ts +1 -0
  237. package/storybook/hooks/useDummy.d.ts +34 -0
  238. package/swiper-react/index.d.ts +2 -0
  239. package/themes/components/pages/not-found.d.ts +2 -0
  240. package/themes/components/theme-provider/app-routes.d.ts +17 -0
  241. package/themes/components/theme-provider/index.d.ts +26 -0
  242. package/themes/components/theme-provider/settings-button.d.ts +2 -0
  243. package/themes/components/theme-provider/settings-drawer.d.ts +3 -0
  244. package/themes/config.d.ts +106 -0
  245. package/themes/index.d.ts +9 -0
  246. package/themes/use-direction.d.ts +1 -0
  247. package/themes/use-theme-color.d.ts +10 -0
  248. package/themes/use-theme.d.ts +83 -0
package/README.md ADDED
@@ -0,0 +1,1113 @@
1
+ # Tucu UI
2
+
3
+ A modern, comprehensive React component library built with TypeScript, Tailwind CSS, and designed for creating production-ready web applications with **automatic layout generation**, **powerful form systems**, and **specialized blockchain components**.
4
+
5
+ ## 🌟 Storybook & Documentation
6
+
7
+ - **📚 [Live Documentation](https://main--683712ba90eaad206f988c65.chromatic.com/?path=/docs/1-documentation-1-introduction--documentation)** - Complete component documentation
8
+ - **🎨 [Interactive Storybook](https://main--683712ba90eaad206f988c65.chromatic.com/)** - Explore components in action
9
+ - **🔧 [Component Examples](https://main--683712ba90eaad206f988c65.chromatic.com/?path=/story/ui-components-buttons-button--default)** - See all variations and use cases
10
+
11
+ ## 🚀 Key Features
12
+
13
+ ### **🎨 Automatic Layout Generation**
14
+
15
+ Complete application layouts with minimal configuration via ThemeProvider - no manual layout coding required.
16
+
17
+ ### **📝 Advanced Form System**
18
+
19
+ Centralized validation powered by React Hook Form with built-in error handling and accessibility.
20
+
21
+ ### **🪙 Blockchain-Ready Components**
22
+
23
+ Specialized components for DeFi applications, NFT marketplaces, and crypto wallets.
24
+
25
+ ### **🎭 Advanced Theming System**
26
+
27
+ 26+ color presets including modern colors (Bufus Blue, Coral, Mint, Lavender), secondary/accent color support, dark/light mode, RTL support, and persistent user preferences. Dynamic color system with CSS variables for brand, secondary, accent, and semantic colors.
28
+
29
+ ### **🎯 5000+ Icons Integrated**
30
+
31
+ Complete Lucide React integration + 97+ custom-designed icons including blockchain/crypto icons, layout controls, social brands, and specialized UI elements.
32
+
33
+ ### **♿ Accessibility First**
34
+
35
+ WCAG 2.1 AA compliant components with proper ARIA attributes and keyboard navigation.
36
+
37
+ ### **📱 Mobile-First Responsive**
38
+
39
+ Responsive design across all components with support for ultra-wide displays (up to 4K).
40
+
41
+ ### **🌐 Integrated Routing**
42
+
43
+ Built-in React Router integration for seamless SPA development.
44
+
45
+ ### **🎨 Tailwind CSS v4 Complete Integration**
46
+
47
+ Full Tailwind CSS v4 implementation with 15 comprehensive utility categories automatically available:
48
+
49
+ - **Layout & Positioning**: Aspect ratio, display, position, z-index, overflow
50
+ - **Sizing**: Width, height, max/min dimensions with arbitrary values
51
+ - **Spacing**: Padding, margin, gap with responsive breakpoints
52
+ - **Typography**: Font families, sizes, weights, spacing, colors, decoration
53
+ - **Flexbox & Grid**: Complete layout system with all properties
54
+ - **Background**: Colors, gradients, images, positioning, attachment, repeat, size
55
+ - **Borders**: Radius, width, colors, styles, outlines, offsets
56
+ - **Effects**: Shadows, opacity, blend modes, box-shadow utilities
57
+ - **Filters**: Blur, brightness, contrast, grayscale, hue-rotate, invert, saturate, sepia
58
+ - **Tables**: Layout, border spacing, border collapse, caption side
59
+ - **Transitions & Animation**: Properties, duration, timing, delay, animation classes
60
+ - **Transforms**: Backface visibility, perspective, rotate, scale, skew, translate
61
+ - **Interactivity**: Cursors, scroll behavior, snap, touch actions, user select, will-change
62
+ - **SVG**: Fill, stroke, stroke-width utilities
63
+ - **Accessibility**: Forced-color-adjust utilities
64
+
65
+ All utilities are configured through optimized `@source inline()` directives for maximum performance.
66
+
67
+ ## 🔧 Core Technology Stack
68
+
69
+ Built on industry-leading libraries for maximum reliability:
70
+
71
+ - **[React 18+](https://react.dev/)** - Modern React with hooks and concurrent features
72
+ - **[TypeScript](https://www.typescriptlang.org/)** - Full type safety and excellent DX
73
+ - **[Tailwind CSS v4](https://tailwindcss.com/)** - Complete Tailwind v4 integration included with all utilities pre-configured
74
+ - **[React Hook Form](https://react-hook-form.com/)** - Performant form handling and validation
75
+ - **[Zustand](https://zustand-demo.pmnd.rs/)** - Lightweight state management for theming
76
+ - **[Lucide React](https://lucide.dev/)** - Beautiful, consistent icon library
77
+ - **[Framer Motion](https://www.framer.com/motion/)** - Smooth animations and transitions
78
+ - **[Recharts](https://recharts.org/)** - Composable charting library for data visualization
79
+ - **[Swiper](https://swiperjs.com/)** - Modern mobile touch slider
80
+ - **[React Dropzone](https://react-dropzone.js.org/)** - Simple HTML5 drag-drop zone
81
+
82
+ ## 📦 Installation
83
+
84
+ ```bash
85
+ npm install @e-burgos/tucu-ui
86
+
87
+ // or with pnpm
88
+
89
+ pnpm install @e-burgos/tucu-ui
90
+ ```
91
+
92
+ ### Import Tucu UI Styles
93
+
94
+ Add the following import to your main CSS file (usually `index.css` or `main.css`) to include all Tucu UI styles and Tailwind CSS utilities:
95
+
96
+ ```css
97
+ @import '@e-burgos/tucu-ui/styles';
98
+ ```
99
+
100
+ **Note:** Tucu UI includes a complete Tailwind CSS v4 setup with all utilities pre-configured. No additional Tailwind CSS installation or configuration is required.
101
+
102
+ ### Advanced Color Customization
103
+
104
+ Tucu UI supports advanced color theming with multiple color layers:
105
+
106
+ ```css
107
+ :root {
108
+ --color-brand: #0184bf; /* Primary brand color */
109
+ --color-secondary: #00d6f2; /* Secondary color */
110
+ --color-accent: #f26522; /* Accent color */
111
+ --color-dark: #0d1321; /* Dark theme background */
112
+ --color-light: #fcfcfc; /* Light theme background */
113
+ }
114
+ ```
115
+
116
+ Available color presets include: Green, Black, Blue, Red, Purple, Orange, Rose, Pink, Yellow, Lime, Teal, Cyan, Navy, Maroon, Brown, Gray, Silver, Gold, Coral, Salmon, Chocolate, Tan, Beige, Mint, Lavender, Violet, Bufus, BufusBlue, BufusDark, BufusAccent, ThemeLight, ThemeDark.
117
+
118
+ ## 🎯 Quick Start
119
+
120
+ ### 1. **Basic Component Usage**
121
+
122
+ ```tsx
123
+ import { Button, Card, Input, Alert } from '@e-burgos/tucu-ui';
124
+
125
+ function App() {
126
+ return (
127
+ <Card className="p-6">
128
+ <h2 className="text-2xl font-bold mb-4">Welcome to Tucu UI</h2>
129
+ <Input placeholder="Enter your name" className="mb-4" />
130
+ <Button size="large" className="w-full">
131
+ Get Started
132
+ </Button>
133
+ <Alert variant="success" className="mt-4">
134
+ You're ready to build amazing UIs!
135
+ </Alert>
136
+ </Card>
137
+ );
138
+ }
139
+ ```
140
+
141
+ ### 2. **Complete App with Auto-Generated Layout**
142
+
143
+ ```tsx
144
+ import { ThemeProvider, LucideIcons } from '@e-burgos/tucu-ui';
145
+
146
+ const menuItems = [
147
+ {
148
+ name: 'Dashboard',
149
+ href: '/',
150
+ icon: <LucideIcons.Home />,
151
+ component: <DashboardPage />,
152
+ },
153
+ {
154
+ name: 'Analytics',
155
+ href: '/analytics',
156
+ icon: <LucideIcons.BarChart3 />,
157
+ component: <AnalyticsPage />,
158
+ dropdownItems: [
159
+ {
160
+ name: 'Reports',
161
+ href: '/analytics/reports',
162
+ component: <ReportsPage />,
163
+ },
164
+ {
165
+ name: 'Insights',
166
+ href: '/analytics/insights',
167
+ component: <InsightsPage />,
168
+ },
169
+ ],
170
+ },
171
+ {
172
+ name: 'Settings',
173
+ href: '/settings',
174
+ icon: <LucideIcons.Settings />,
175
+ component: <SettingsPage />,
176
+ },
177
+ {
178
+ name: 'Profile',
179
+ href: '/profile',
180
+ icon: <LucideIcons.User />,
181
+ component: <ProfilePage />,
182
+ hide: true,
183
+ },
184
+ ];
185
+
186
+ function App() {
187
+ return (
188
+ <ThemeProvider
189
+ // Layout Configuration
190
+ layout="minimal" // 'classic' | 'minimal' | 'none'
191
+ menuItems={menuItems}
192
+ logo={{ name: 'My', secondName: 'App' }}
193
+ // Theme Configuration
194
+ brandColor="Blue" // Available: 'Green' | 'Black' | 'Blue' | 'Red' | 'Purple' | 'Orange' | 'Rose' | 'Pink' | 'Yellow' | 'Lime' | 'Teal' | 'Cyan' | 'Navy' | 'Maroon' | 'Brown' | 'Gray' | 'Silver' | 'Gold' | 'Coral' | 'Salmon'
195
+ mode="light" // 'light' | 'dark'
196
+ // Advanced Color Customization
197
+ customPaletteColor={{
198
+ primary: '#0184bf', // Custom hex color for brand
199
+ secondary: '#00d6f2', // Custom hex color for secondary
200
+ accent: '#f26522', // Custom hex color for accent
201
+ dark: '#0d1321', // Custom hex color for dark mode background
202
+ light: '#fcfcfc', // Custom hex color for light mode background
203
+ }}
204
+ // UI Customization
205
+ showSettings={true} // Show/hide settings panel button
206
+ rightButton={<UserMenu />} // Custom component for top-right area
207
+ headerClassName="custom-header" // Custom CSS classes for header
208
+ contentClassName="custom-content" // Custom CSS classes for content area
209
+ className="custom-layout" // Custom CSS classes for entire layout
210
+ fullWidth={false} // Enable/disable full width layout
211
+ // Advanced Configuration
212
+ withRouterProvider={true} // Enable/disable automatic React Router setup
213
+ customRoutes={<CustomRoutes />} // Custom React Router Routes element
214
+ settingActions={{
215
+ disabledPreset: false, // Disable color preset selector
216
+ disabledLayout: false, // Disable layout selector
217
+ disabledMode: false, // Disable dark/light mode toggle
218
+ disabledDirection: false, // Disable RTL/LTR direction toggle
219
+ }}
220
+ />
221
+ );
222
+ }
223
+ ```
224
+
225
+ ### **ThemeProvider Props Reference**
226
+
227
+ | Prop | Type | Default | Description |
228
+ | ------------------------------ | ------------------------------------- | ----------- | --------------------------------------------------------------------------------- |
229
+ | `layout` | `'classic' \| 'minimal' \| 'none'` | `'minimal'` | Layout type: Classic (sidebar), Minimal (horizontal nav), None (no layout) |
230
+ | `menuItems` | `AppRoutesMenuItem[]` | Required | Navigation menu items with routing configuration |
231
+ | `logo` | `{name: string, secondName?: string}` | - | Application logo configuration |
232
+ | `brandColor` | `PresetColorType` | - | Primary brand color preset (auto-disabled if `customPaletteColor.primary` is set) |
233
+ | `mode` | `'light' \| 'dark'` | `'light'` | Initial theme mode |
234
+ | `customPaletteColor` | `object` | - | Advanced color customization |
235
+ | `customPaletteColor.primary` | `string \| PresetColorType` | - | Custom primary/brand color (hex or preset) |
236
+ | `customPaletteColor.secondary` | `string \| PresetColorType` | - | Custom secondary color (hex or preset) |
237
+ | `customPaletteColor.accent` | `string \| PresetColorType` | - | Custom accent color (hex or preset) |
238
+ | `customPaletteColor.dark` | `string \| PresetColorType` | - | Custom dark mode background color |
239
+ | `customPaletteColor.light` | `string \| PresetColorType` | - | Custom light mode background color |
240
+ | `showSettings` | `boolean` | `false` | Display settings panel toggle button |
241
+ | `rightButton` | `React.ReactNode` | - | Custom component for top-right header area |
242
+ | `headerClassName` | `string` | - | Custom CSS classes for header container |
243
+ | `contentClassName` | `string` | - | Custom CSS classes for main content area |
244
+ | `className` | `string` | - | Custom CSS classes for entire layout |
245
+ | `fullWidth` | `boolean` | `false` | Enable full-width layout (removes max-width constraints) |
246
+ | `withRouterProvider` | `boolean` | `true` | Enable automatic React Router setup |
247
+ | `customRoutes` | `ReactElement<typeof Routes>` | - | Custom React Router Routes element |
248
+ | `settingActions` | `ISettingAction` | - | Control which settings are disabled in the settings panel |
249
+
250
+ ### **useTheme Hook - Complete API**
251
+
252
+ The `useTheme` hook provides full programmatic control over the theme system:
253
+
254
+ ```tsx
255
+ import { useTheme } from '@e-burgos/tucu-ui';
256
+
257
+ function ThemeControls() {
258
+ const {
259
+ // Current State
260
+ mode, // 'light' | 'dark'
261
+ layout, // 'classic' | 'minimal' | 'none'
262
+ direction, // 'ltr' | 'rtl'
263
+ preset, // Current primary color preset
264
+ secondaryPreset, // Current secondary color preset
265
+ accentPreset, // Current accent color preset
266
+ darkPreset, // Current dark theme preset
267
+ lightPreset, // Current light theme preset
268
+ logo, // Current logo configuration
269
+ isSettingsOpen, // Settings panel open state
270
+ showSettings, // Settings button visibility
271
+ settingActions, // Current settings configuration
272
+
273
+ // State Setters
274
+ setMode, // (mode: 'light' | 'dark') => void
275
+ setLayout, // (layout: 'classic' | 'minimal' | 'none') => void
276
+ setDirection, // (direction: 'ltr' | 'rtl') => void
277
+ setPreset, // (preset: IThemeItem) => void
278
+ setSecondaryPreset, // (secondaryPreset: IThemeItem) => void
279
+ setAccentPreset, // (accentPreset: IThemeItem) => void
280
+ setDarkPreset, // (darkPreset: IThemeItem) => void
281
+ setLightPreset, // (lightPreset: IThemeItem) => void
282
+ setLogo, // (logo: LogoType) => void
283
+ setIsSettingsOpen, // (isOpen: boolean) => void
284
+ setShowSettings, // (show: boolean) => void
285
+ setSettingActions, // (actions: ISettingAction) => void
286
+ restoreDefaultColors, // () => void - Reset all colors to defaults
287
+ } = useTheme();
288
+
289
+ return (
290
+ <div>
291
+ {/* Theme Mode Controls */}
292
+ <button onClick={() => setMode(mode === 'light' ? 'dark' : 'light')}>Toggle to {mode === 'light' ? 'Dark' : 'Light'} Mode</button>
293
+
294
+ {/* Layout Controls */}
295
+ <button onClick={() => setLayout('classic')}>Classic Layout</button>
296
+ <button onClick={() => setLayout('minimal')}>Minimal Layout</button>
297
+ <button onClick={() => setLayout('none')}>No Layout</button>
298
+
299
+ {/* Direction Controls */}
300
+ <button onClick={() => setDirection(direction === 'ltr' ? 'rtl' : 'ltr')}>Switch to {direction === 'ltr' ? 'RTL' : 'LTR'}</button>
301
+
302
+ {/* Color Controls */}
303
+ <button onClick={() => setPreset({ label: 'Purple', value: '#9370DB' })}>Purple Theme</button>
304
+
305
+ <button onClick={() => setSecondaryPreset({ label: 'Blue', value: '#3B82F6' })}>Blue Secondary</button>
306
+
307
+ {/* Settings Panel Controls */}
308
+ <button onClick={() => setIsSettingsOpen(!isSettingsOpen)}>{isSettingsOpen ? 'Close' : 'Open'} Settings</button>
309
+
310
+ <button onClick={() => setShowSettings(!showSettings)}>{showSettings ? 'Hide' : 'Show'} Settings Button</button>
311
+
312
+ {/* Reset Colors */}
313
+ <button onClick={restoreDefaultColors}>Reset to Default Colors</button>
314
+ </div>
315
+ );
316
+ }
317
+ ```
318
+
319
+ ### **Menu Items Structure**
320
+
321
+ ```tsx
322
+ interface AppRoutesMenuItem {
323
+ name: string; // Display name
324
+ href: string; // Navigation URL path
325
+ icon?: React.ReactNode; // Optional icon component
326
+ component: JSX.Element; // Page component to render
327
+ dropdownItems?: AppRoutesMenuItem[]; // Nested submenu items
328
+ hide?: boolean; // Hide from navigation (default: false)
329
+ onClick?: () => void; // Optional click handler
330
+ }
331
+ ```
332
+
333
+ ### **Available Color Presets**
334
+
335
+ Tucu UI includes 26+ built-in color presets:
336
+
337
+ **Basic Colors:** Green, Black, Blue, Red, Purple, Orange, Rose, Pink, Yellow, Lime, Teal, Cyan
338
+
339
+ **Extended Colors:** Navy, Maroon, Brown, Gray, Silver, Gold, Coral, Salmon
340
+
341
+ **Advanced Colors:** BufusBlue, Bufus, BufusAccent, BufusDark, ThemeLight, ThemeDark
342
+
343
+ ### **Theme Persistence**
344
+
345
+ All theme settings (colors, layout, mode, direction) are automatically persisted to localStorage and restored on app reload.
346
+
347
+ **That's it!** Your complete application with routing, navigation, theming, and responsive design is ready.
348
+
349
+ ## 🎨 Layout System
350
+
351
+ ### **Three Layout Types**
352
+
353
+ #### **1. Classic Layout** - Traditional Dashboard
354
+
355
+ - Fixed sidebar with expandable navigation
356
+ - Header with logo and actions
357
+ - Perfect for admin panels and complex applications
358
+
359
+ #### **2. Minimal Layout** - Modern & Clean
360
+
361
+ - Horizontal navigation bar
362
+ - Backdrop blur effects
363
+ - Ideal for content-focused applications
364
+
365
+ #### **3. None Layout** - Maximum Flexibility
366
+
367
+ - No predefined layout structure
368
+ - Perfect for auth pages and custom designs
369
+
370
+ ### **Automatic Features**
371
+
372
+ - ✅ **Responsive Design** - Mobile drawer, tablet adaptations
373
+ - ✅ **Dark/Light Mode** - Automatic theme switching
374
+ - ✅ **RTL Support** - Full right-to-left language support
375
+ - ✅ **Brand Colors** - 6 predefined color presets
376
+ - ✅ **Settings Panel** - Built-in user customization
377
+ - ✅ **Routing Integration** - Automatic route generation
378
+
379
+ ### **Theme Management**
380
+
381
+ ```tsx
382
+ import { useTheme } from '@e-burgos/tucu-ui';
383
+
384
+ function ThemeControls() {
385
+ const {
386
+ mode, // 'light' | 'dark'
387
+ layout, // 'classic' | 'minimal' | 'none'
388
+ direction, // 'ltr' | 'rtl'
389
+ preset, // Current color preset
390
+ setMode,
391
+ setLayout,
392
+ setPreset,
393
+ } = useTheme();
394
+
395
+ return (
396
+ <div>
397
+ <button onClick={() => setMode(mode === 'light' ? 'dark' : 'light')}>Toggle {mode === 'light' ? 'Dark' : 'Light'} Mode</button>
398
+
399
+ <button onClick={() => setLayout('classic')}>Switch to Classic Layout</button>
400
+
401
+ <button onClick={() => setPreset({ label: 'Purple', value: '#9370DB' })}>Purple Theme</button>
402
+ </div>
403
+ );
404
+ }
405
+ ```
406
+
407
+ ## 📝 Advanced Form System
408
+
409
+ ### **Comprehensive Form Components**
410
+
411
+ ```tsx
412
+ import { Form, FormField, Input, Textarea, Checkbox, RadioGroup, InputSelect, PinCode, FileInput, Button } from '@e-burgos/tucu-ui';
413
+ ```
414
+
415
+ ### **Centralized Validation**
416
+
417
+ ```tsx
418
+ interface UserFormData {
419
+ email: string;
420
+ password: string;
421
+ country: string;
422
+ newsletter: boolean;
423
+ }
424
+
425
+ function UserRegistrationForm() {
426
+ const handleSubmit = (data: UserFormData) => {
427
+ console.log('Form submitted:', data);
428
+ };
429
+
430
+ return (
431
+ <Form<UserFormData>
432
+ onSubmit={handleSubmit}
433
+ useFormProps={{
434
+ defaultValues: {
435
+ email: '',
436
+ password: '',
437
+ country: '',
438
+ newsletter: false,
439
+ },
440
+ mode: 'onChange',
441
+ }}
442
+ >
443
+ <FormField<UserFormData>
444
+ name="email"
445
+ label="Email Address"
446
+ rules={{
447
+ required: 'Email is required',
448
+ pattern: {
449
+ value: /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}$/i,
450
+ message: 'Invalid email address',
451
+ },
452
+ }}
453
+ >
454
+ <Input type="email" placeholder="Enter your email" />
455
+ </FormField>
456
+
457
+ <FormField<UserFormData>
458
+ name="password"
459
+ label="Password"
460
+ rules={{
461
+ required: 'Password is required',
462
+ minLength: {
463
+ value: 8,
464
+ message: 'Password must be at least 8 characters',
465
+ },
466
+ }}
467
+ >
468
+ <Input type="password" placeholder="Enter your password" />
469
+ </FormField>
470
+
471
+ <FormField<UserFormData> name="country" label="Country">
472
+ <InputSelect
473
+ options={[
474
+ { name: 'United States', value: 'us' },
475
+ { name: 'Canada', value: 'ca' },
476
+ { name: 'Mexico', value: 'mx' },
477
+ ]}
478
+ />
479
+ </FormField>
480
+
481
+ <FormField<UserFormData> name="newsletter" label="Newsletter Subscription">
482
+ <Checkbox>Subscribe to our newsletter</Checkbox>
483
+ </FormField>
484
+
485
+ <Button type="submit" size="large" className="w-full">
486
+ Create Account
487
+ </Button>
488
+ </Form>
489
+ );
490
+ }
491
+ ```
492
+
493
+ ### **Specialized Form Components**
494
+
495
+ ```tsx
496
+ // PIN Code Input
497
+ <FormField name="verificationCode" label="Verification Code">
498
+ <PinCode length={6} type="number" placeholder="-" />
499
+ </FormField>
500
+
501
+ // File Upload with Drag & Drop
502
+ <FormField name="documents" label="Upload Documents">
503
+ <FileInput
504
+ multiple
505
+ accept="imgAndPdf"
506
+ placeholderText="Drop files here or click to upload"
507
+ />
508
+ </FormField>
509
+
510
+ // Radio Button Groups
511
+ <FormField name="subscription" label="Choose Plan">
512
+ <RadioGroup
513
+ options={[
514
+ { value: 'basic', label: 'Basic - $9/month' },
515
+ { value: 'pro', label: 'Pro - $29/month' },
516
+ { value: 'enterprise', label: 'Enterprise - $99/month' },
517
+ ]}
518
+ direction="vertical"
519
+ />
520
+ </FormField>
521
+ ```
522
+
523
+ ## 🪙 Blockchain & DeFi Components
524
+
525
+ ### **Cryptocurrency Components**
526
+
527
+ ```tsx
528
+ import { CoinCard, CoinInfoCard, LivePriceFeed, TransactionInfo, CurrencySwapIcons } from '@e-burgos/tucu-ui';
529
+
530
+ function CryptoPortfolio() {
531
+ return (
532
+ <div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6">
533
+ {/* Portfolio Balance Cards */}
534
+ <CoinCard name="Bitcoin" symbol="BTC" logo="/icons/bitcoin.svg" balance="1.25" usdBalance="45,000" change="+5.2%" isChangePositive={true} color="#FDEDD4" />
535
+
536
+ {/* Live Price Feed with Chart */}
537
+ <LivePriceFeed name="Ethereum" symbol="ETH" icon={<EthereumIcon />} balance="10.5" usdBalance="33,600" change="+2.8%" isChangePositive={true} prices={priceHistory} />
538
+
539
+ {/* Transaction Details */}
540
+ <div className="space-y-3">
541
+ <TransactionInfo label="Gas Fee" value="0.002 ETH" />
542
+ <TransactionInfo label="Network" value="Ethereum Mainnet" />
543
+ <TransactionInfo label="Status" value="Confirmed" />
544
+ </div>
545
+ </div>
546
+ );
547
+ }
548
+ ```
549
+
550
+ ### **NFT Components**
551
+
552
+ ```tsx
553
+ import { NFTGrid, CollectionCard } from '@e-burgos/tucu-ui';
554
+
555
+ function NFTGallery() {
556
+ return (
557
+ <div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6">
558
+ <NFTGrid author="CryptoArtist" authorImage="/avatars/artist.jpg" image="/nfts/artwork-123.jpg" name="Digital Masterpiece #123" collection="Abstract Collection" price="2.5 ETH" />
559
+
560
+ <CollectionCard
561
+ item={{
562
+ name: 'BAYC',
563
+ title: 'Bored Ape Yacht Club',
564
+ cover_image: '/collections/bayc.jpg',
565
+ number_of_artwork: 10000,
566
+ user: { name: 'Yuga Labs', avatar: '/avatars/yuga.jpg' },
567
+ }}
568
+ />
569
+ </div>
570
+ );
571
+ }
572
+ ```
573
+
574
+ ## 🎯 Complete Icon System
575
+
576
+ ### **5000+ Lucide Icons**
577
+
578
+ ```tsx
579
+ import { LucideIcons } from '@e-burgos/tucu-ui';
580
+
581
+ function IconShowcase() {
582
+ return (
583
+ <div className="flex gap-4">
584
+ {/* Navigation Icons */}
585
+ <LucideIcons.Home className="w-6 h-6" />
586
+ <LucideIcons.Settings className="w-6 h-6" />
587
+ <LucideIcons.User className="w-6 h-6" />
588
+
589
+ {/* Action Icons */}
590
+ <LucideIcons.Plus className="w-6 h-6 text-green-500" />
591
+ <LucideIcons.Trash2 className="w-6 h-6 text-red-500" />
592
+ <LucideIcons.Edit className="w-6 h-6 text-blue-500" />
593
+
594
+ {/* Communication Icons */}
595
+ <LucideIcons.Mail className="w-6 h-6" />
596
+ <LucideIcons.Phone className="w-6 h-6" />
597
+ <LucideIcons.MessageCircle className="w-6 h-6" />
598
+ </div>
599
+ );
600
+ }
601
+ ```
602
+
603
+ ### **97+ Custom Icons**
604
+
605
+ ```tsx
606
+ import {
607
+ // Blockchain/Crypto
608
+ Bitcoin,
609
+ Ethereum,
610
+ Cardano,
611
+ Bnb,
612
+ Doge,
613
+ Tether,
614
+ Usdc,
615
+
616
+ // Layout Controls
617
+ ClassicLayoutIcon,
618
+ MinimalLayoutIcon,
619
+ ModernLayoutIcon,
620
+ RetroLayoutIcon,
621
+
622
+ // Navigation & UI
623
+ HomeIcon,
624
+ SearchIcon,
625
+ MenuIcon,
626
+ Close,
627
+ ArrowRight,
628
+ ArrowUp,
629
+ ArrowLinkIcon,
630
+
631
+ // Social Brands
632
+ Facebook,
633
+ Twitter,
634
+ Instagram,
635
+ Github,
636
+ Telegram,
637
+
638
+ // DeFi & Trading
639
+ SwapIcon,
640
+ ExchangeIcon,
641
+ TradingBotIcon,
642
+ Farm,
643
+ Pool,
644
+ VoteIcon,
645
+ GasIcon,
646
+ LivePricing,
647
+
648
+ // Status & Feedback
649
+ Check,
650
+ Checkmark,
651
+ Warning,
652
+ InfoIcon,
653
+ InfoCircle,
654
+ QuestionIcon,
655
+ VerifiedIcon,
656
+ Verified,
657
+
658
+ // Actions & Controls
659
+ Plus,
660
+ PlusCircle,
661
+ Edit,
662
+ Trash2,
663
+ Copy,
664
+ Upload,
665
+ Download,
666
+ ExportIcon,
667
+ Refresh,
668
+ Power,
669
+ ShutDownIcon,
670
+ Unlock,
671
+ LockIcon,
672
+
673
+ // Media & Content
674
+ PlayIcon,
675
+ MediaPlayIcon,
676
+ Book,
677
+ Document,
678
+ CalendarIcon,
679
+ Tag,
680
+ TagIcon,
681
+
682
+ // Data Visualization
683
+ SpikeBar,
684
+ TrendArrowUpIcon,
685
+ TrendArrowDownIcon,
686
+ BarChart3,
687
+
688
+ // Layout & Design
689
+ Grid3X3,
690
+ CompactGrid,
691
+ NormalGrid,
692
+ LeftAlign,
693
+ RightAlign,
694
+ DotsIcon,
695
+ HorizontalThreeDots,
696
+ VerticalThreeDots,
697
+
698
+ // Specialty
699
+ Tucu,
700
+ Compass,
701
+ Flash,
702
+ Flow,
703
+ LevelIcon,
704
+ SandClock,
705
+ Star,
706
+ StarFill,
707
+ } from '@e-burgos/tucu-ui';
708
+ ```
709
+
710
+ ## 🔧 UI Components Library
711
+
712
+ ### **Layout & Navigation**
713
+
714
+ ```tsx
715
+ import { Modal, Drawer, CardContainer, PanelActionCard } from '@e-burgos/tucu-ui';
716
+
717
+ // Modal with Accessibility
718
+ <Modal
719
+ isOpen={isOpen}
720
+ setIsOpen={setIsOpen}
721
+ text={{
722
+ title: 'Confirm Action',
723
+ content: 'Are you sure you want to proceed?',
724
+ button: 'Confirm',
725
+ backButton: 'Cancel',
726
+ }}
727
+ onSubmit={handleConfirm}
728
+ />
729
+
730
+ // Responsive Drawer
731
+ <Drawer
732
+ type="sidebar-menu"
733
+ isOpen={isDrawerOpen}
734
+ setIsOpen={setIsDrawerOpen}
735
+ menuItems={menuItems}
736
+ position="left"
737
+ />
738
+
739
+ // Action Cards
740
+ <PanelActionCard
741
+ title="User Settings"
742
+ actions={[
743
+ { label: 'Save', onClick: handleSave },
744
+ { label: 'Cancel', variant: 'ghost', onClick: handleCancel },
745
+ ]}
746
+ >
747
+ <UserSettingsForm />
748
+ </PanelActionCard>
749
+ ```
750
+
751
+ ### **Feedback Components**
752
+
753
+ ```tsx
754
+ import { Alert, Toast, useToast } from '@e-burgos/tucu-ui';
755
+
756
+ // Alert Messages
757
+ <Alert variant="success" dismissible>
758
+ Your changes have been saved successfully!
759
+ </Alert>
760
+
761
+ <Alert variant="warning">
762
+ Your session will expire in 5 minutes.
763
+ </Alert>
764
+
765
+ // Toast Notifications
766
+ function ToastExample() {
767
+ const { toast } = useToast();
768
+
769
+ const showToast = () => {
770
+ toast({
771
+ title: 'Success!',
772
+ message: 'Your profile has been updated',
773
+ variant: 'success',
774
+ });
775
+ };
776
+
777
+ return <Button onClick={showToast}>Show Toast</Button>;
778
+ }
779
+ ```
780
+
781
+ ## 🎣 Utility Hooks
782
+
783
+ ```tsx
784
+ import { useBreakpoint, useIsMobile, useCopyToClipboard, useClickAway, useElementSize, useLockBodyScroll } from '@e-burgos/tucu-ui';
785
+
786
+ function UtilityExample() {
787
+ const breakpoint = useBreakpoint();
788
+ const isMobile = useIsMobile();
789
+ const [copiedText, copy] = useCopyToClipboard();
790
+
791
+ return (
792
+ <div>
793
+ <p>Current breakpoint: {breakpoint}</p>
794
+ {isMobile && <MobileOnlyComponent />}
795
+
796
+ <button onClick={() => copy('Hello World!')}>{copiedText ? 'Copied!' : 'Copy Text'}</button>
797
+ </div>
798
+ );
799
+ }
800
+ ```
801
+
802
+ ## 🚀 Ready-to-Use Authentication
803
+
804
+ ```tsx
805
+ import { SignInForm, SignUpForm, ForgetPasswordForm, ResetPinForm } from '@e-burgos/tucu-ui';
806
+
807
+ // Complete authentication flow
808
+ function AuthPages() {
809
+ return (
810
+ <ThemeProvider layout="none" menuItems={[]}>
811
+ <div className="min-h-screen flex items-center justify-center">
812
+ {/* Sign In with validation */}
813
+ <SignInForm forgetPasswordPath="/forgot-password" />
814
+
815
+ {/* Sign Up with terms */}
816
+ <SignUpForm />
817
+
818
+ {/* Password Reset */}
819
+ <ForgetPasswordForm onSubmit={handlePasswordReset} resetPinPath="/reset-pin" />
820
+ </div>
821
+ </ThemeProvider>
822
+ );
823
+ }
824
+ ```
825
+
826
+ ## 📚 Complete Examples
827
+
828
+ ### **Introduction & Documentation Pages**
829
+
830
+ Tucu UI includes comprehensive documentation pages to help you get started:
831
+
832
+ - **Introduction** - Overview and getting started guide
833
+ - **TailwindV4** - Complete Tailwind CSS v4 integration guide with 15 utility categories
834
+ - **Features** - Explore all available features and utilities
835
+ - **Components** - Component library overview and usage patterns
836
+ - **Theming Guide** - Advanced theming and customization options
837
+ - **Design System** - Visual design principles and guidelines
838
+ - **Colors** - Complete color palette and theming system
839
+ - **Layout System** - Responsive layout patterns and techniques
840
+ - **Icons System** - Icon library and usage guidelines
841
+ - **Accessibility** - Accessibility features and WCAG compliance
842
+ - **Hooks Utilities** - Custom React hooks for common patterns
843
+
844
+ ### **15 Tailwind CSS v4 Utility Documentation Pages**
845
+
846
+ Comprehensive documentation for all Tailwind utilities:
847
+
848
+ - **Layout Utilities** - Aspect ratio, display, position, z-index, overflow
849
+ - **Flexbox & Grid Utilities** - Complete layout system documentation
850
+ - **Background Utilities** - Colors, gradients, images, positioning
851
+ - **Borders Utilities** - Radius, width, colors, styles, outlines
852
+ - **Typography Utilities** - Fonts, sizes, weights, spacing, colors
853
+ - **Effects Utilities** - Shadows, opacity, blend modes
854
+ - **Filters Utilities** - Blur, brightness, contrast, and more
855
+ - **Tables Utilities** - Layout, spacing, display properties
856
+ - **Transitions & Animations** - Smooth animations and transitions
857
+ - **Transforms Utilities** - Rotate, scale, skew, translate
858
+ - **Interactivity Utilities** - Cursors, scroll, touch actions
859
+ - **SVG Utilities** - Fill, stroke, stroke-width
860
+ - **Accessibility Utilities** - Screen reader and focus utilities
861
+
862
+ ### **Modern Dashboard**
863
+
864
+ ```tsx
865
+ import { ThemeProvider, LucideIcons, useTheme } from '@e-burgos/tucu-ui';
866
+
867
+ const dashboardMenuItems = [
868
+ {
869
+ name: 'Overview',
870
+ href: '/',
871
+ icon: <LucideIcons.LayoutDashboard />,
872
+ component: <OverviewPage />,
873
+ },
874
+ {
875
+ name: 'Analytics',
876
+ href: '/analytics',
877
+ icon: <LucideIcons.BarChart3 />,
878
+ component: <AnalyticsPage />,
879
+ dropdownItems: [
880
+ {
881
+ name: 'Reports',
882
+ href: '/analytics/reports',
883
+ component: <ReportsPage />,
884
+ },
885
+ {
886
+ name: 'Real-time',
887
+ href: '/analytics/realtime',
888
+ component: <RealtimePage />,
889
+ },
890
+ ],
891
+ },
892
+ {
893
+ name: 'Users',
894
+ href: '/users',
895
+ icon: <LucideIcons.Users />,
896
+ component: <UsersPage />,
897
+ },
898
+ ];
899
+
900
+ function Dashboard() {
901
+ return (
902
+ <ThemeProvider
903
+ layout="classic"
904
+ menuItems={dashboardMenuItems}
905
+ logo={{ name: 'Admin', secondName: 'Panel' }}
906
+ brandColor="BufusBlue" // New advanced color preset
907
+ showSettings={true}
908
+ rightButton={<UserProfileMenu />}
909
+ />
910
+ );
911
+ }
912
+ ```
913
+
914
+ ### **DeFi Application**
915
+
916
+ ```tsx
917
+ import { ThemeProvider, CoinCard, LivePriceFeed, LucideIcons } from '@e-burgos/tucu-ui';
918
+
919
+ const defiMenuItems = [
920
+ {
921
+ name: 'Portfolio',
922
+ href: '/',
923
+ icon: <LucideIcons.Wallet />,
924
+ component: <PortfolioPage />,
925
+ },
926
+ {
927
+ name: 'Swap',
928
+ href: '/swap',
929
+ icon: <LucideIcons.ArrowLeftRight />,
930
+ component: <SwapPage />,
931
+ },
932
+ {
933
+ name: 'Staking',
934
+ href: '/staking',
935
+ icon: <LucideIcons.Coins />,
936
+ component: <StakingPage />,
937
+ },
938
+ ];
939
+
940
+ function DeFiApp() {
941
+ return <ThemeProvider layout="minimal" menuItems={defiMenuItems} logo={{ name: 'DeFi', secondName: 'Portfolio' }} brandColor="Green" rightButton={<WalletConnector />} />;
942
+ }
943
+ ```
944
+
945
+ ### **E-commerce Platform**
946
+
947
+ ```tsx
948
+ import { ThemeProvider, LucideIcons, Form, FormField, Input } from '@e-burgos/tucu-ui';
949
+
950
+ const ecommerceMenuItems = [
951
+ {
952
+ name: 'Products',
953
+ href: '/products',
954
+ icon: <LucideIcons.Package />,
955
+ component: <ProductsPage />,
956
+ },
957
+ {
958
+ name: 'Orders',
959
+ href: '/orders',
960
+ icon: <LucideIcons.ShoppingCart />,
961
+ component: <OrdersPage />,
962
+ },
963
+ {
964
+ name: 'Customers',
965
+ href: '/customers',
966
+ icon: <LucideIcons.Users />,
967
+ component: <CustomersPage />,
968
+ },
969
+ ];
970
+
971
+ function EcommerceAdmin() {
972
+ return <ThemeProvider layout="classic" menuItems={ecommerceMenuItems} logo={{ name: 'Shop', secondName: 'Admin' }} brandColor="Purple" showSettings={true} />;
973
+ }
974
+ ```
975
+
976
+ ## 🎨 Customization & Theming
977
+
978
+ ### **Advanced Color System**
979
+
980
+ Tucu UI supports a multi-layered color system with 26+ presets:
981
+
982
+ ```tsx
983
+ <ThemeProvider
984
+ brandColor="BufusBlue" // Primary brand color
985
+ secondaryColor="Bufus" // Secondary color for accents
986
+ accentColor="BufusAccent" // Accent color for highlights
987
+ darkColor="ThemeDark" // Dark theme base color
988
+ lightColor="ThemeLight" // Light theme base color
989
+ // ... other options
990
+ />
991
+ ```
992
+
993
+ ### **CSS Custom Properties**
994
+
995
+ ```css
996
+ :root {
997
+ --color-brand: #0184bf; /* Primary brand color */
998
+ --color-secondary: #00d6f2; /* Secondary color */
999
+ --color-accent: #f26522; /* Accent color */
1000
+ --color-dark: #0d1321; /* Dark theme background */
1001
+ --color-light: #fcfcfc; /* Light theme background */
1002
+ --color-body: var(--color-light);
1003
+ --color-sidebar-body: #f8fafc;
1004
+ --color-light-dark: #171e2e;
1005
+ --color-dark-light: #f8fafc;
1006
+
1007
+ /* Dynamic color mixing */
1008
+ --color-muted: color-mix(in oklab, var(--color-brand) 50%, transparent);
1009
+ --color-success: var(--color-emerald-500);
1010
+ --color-warning: var(--color-orange-500);
1011
+ --color-error: var(--color-red-500);
1012
+ --color-info: var(--color-blue-500);
1013
+ }
1014
+ ```
1015
+
1016
+ ### **Extending Tailwind Configuration**
1017
+
1018
+ ```js
1019
+ // tailwind.config.js
1020
+ module.exports = {
1021
+ content: ['./src/**/*.{js,ts,jsx,tsx}', './node_modules/@e-burgos/tucu-ui/**/*.{js,ts,jsx,tsx}'],
1022
+ theme: {
1023
+ extend: {
1024
+ colors: {
1025
+ brand: {
1026
+ DEFAULT: 'rgb(var(--color-brand) / <alpha-value>)',
1027
+ 50: '#eff6ff',
1028
+ // ... more shades
1029
+ },
1030
+ },
1031
+ spacing: {
1032
+ 13: '3.375rem', // Custom spacing used by Tucu UI
1033
+ },
1034
+ },
1035
+ },
1036
+ };
1037
+ ```
1038
+
1039
+ ## ♿ Accessibility Features
1040
+
1041
+ Tucu UI is built with accessibility in mind:
1042
+
1043
+ - ✅ **WCAG 2.1 AA Compliance** - Meeting accessibility standards
1044
+ - ✅ **Keyboard Navigation** - Full keyboard support across components
1045
+ - ✅ **Screen Reader Support** - Proper ARIA attributes and semantic HTML
1046
+ - ✅ **Focus Management** - Visible focus indicators and logical tab order
1047
+ - ✅ **Color Contrast** - Sufficient contrast ratios in all themes
1048
+ - ✅ **Motion Preferences** - Respects user's motion preferences
1049
+
1050
+ ## 🔧 Development & Contributing
1051
+
1052
+ ### **Development Setup**
1053
+
1054
+ ```bash
1055
+ # Clone the repository
1056
+ git clone <repository-url>
1057
+
1058
+ # Install dependencies
1059
+ npm install
1060
+
1061
+ # Run Storybook for development
1062
+ npm run @e-burgos/tucu-ui
1063
+
1064
+ # Build the library
1065
+ npm run @e-burgos/tucu-ui:build
1066
+
1067
+ # Run tests
1068
+ npm test
1069
+ ```
1070
+
1071
+ ### **Nx Monorepo Structure**
1072
+
1073
+ ```
1074
+ @e-burgos/tucu-ui/
1075
+ ├── apps/
1076
+ │ └── demo/ # Demo application
1077
+ ├── ui/
1078
+ │ └── tucu-ui/ # Main library
1079
+ │ ├── src/
1080
+ │ │ ├── components/ # All UI components
1081
+ │ │ ├── hooks/ # Utility hooks
1082
+ │ │ ├── themes/ # Theme system
1083
+ │ │ └── storybook/ # Documentation
1084
+ │ └── package.json
1085
+ └── nx.json # Nx configuration
1086
+ ```
1087
+
1088
+ ## 📄 License
1089
+
1090
+ MIT License - feel free to use in your projects!
1091
+
1092
+ ## 🤝 Contributing
1093
+
1094
+ Contributions are welcome! Please:
1095
+
1096
+ 1. **Fork the repository**
1097
+ 2. **Create a feature branch**
1098
+ 3. **Add tests for new features**
1099
+ 4. **Update documentation**
1100
+ 5. **Submit a pull request**
1101
+
1102
+ ## 🌐 Community & Support
1103
+
1104
+ - **📚 [Documentation](https://main--683712ba90eaad206f988c65.chromatic.com/?path=/docs/1-documentation-1-introduction--documentation)** - Complete guides and examples
1105
+ - **🎨 [Storybook](https://main--683712ba90eaad206f988c65.chromatic.com/)** - Interactive component explorer
1106
+ - **🐛 [Issues](https://github.com/e-burgos/tucu-ui/issues)** - Report bugs and request features
1107
+ - **💬 [Discussions](https://github.com/e-burgos/tucu-ui/discussions)** - Community support and ideas
1108
+
1109
+ ---
1110
+
1111
+ **Tucu UI** - Build beautiful, accessible, and production-ready React applications with confidence.
1112
+
1113
+ _Perfect for dashboards, e-commerce platforms, DeFi applications, and any modern web application that demands quality and consistency._