@b3-crow/ui-kit 0.0.37 → 0.0.39

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 (142) hide show
  1. package/dist/components/backgrounds/Globe.d.ts.map +1 -1
  2. package/dist/components/backgrounds/Globe.js +17 -276
  3. package/dist/components/backgrounds/Globe.js.map +1 -1
  4. package/dist/components/backgrounds/GlobeRenderer.d.ts +3 -0
  5. package/dist/components/backgrounds/GlobeRenderer.d.ts.map +1 -0
  6. package/dist/components/backgrounds/GlobeRenderer.js +191 -0
  7. package/dist/components/backgrounds/GlobeRenderer.js.map +1 -0
  8. package/dist/components/cards/Card.d.ts +2 -2
  9. package/dist/components/cards/Card.d.ts.map +1 -1
  10. package/dist/components/cards/Card.js +2 -2
  11. package/dist/components/cards/Card.js.map +1 -1
  12. package/dist/components/dashboard/ChatHistorySection.d.ts +4 -0
  13. package/dist/components/dashboard/ChatHistorySection.d.ts.map +1 -0
  14. package/dist/components/dashboard/ChatHistorySection.js +121 -0
  15. package/dist/components/dashboard/ChatHistorySection.js.map +1 -0
  16. package/dist/components/dashboard/DashboardBackground.d.ts +4 -0
  17. package/dist/components/dashboard/DashboardBackground.d.ts.map +1 -0
  18. package/dist/components/dashboard/DashboardBackground.js +16 -0
  19. package/dist/components/dashboard/DashboardBackground.js.map +1 -0
  20. package/dist/components/dashboard/FilterDropdown.d.ts +14 -0
  21. package/dist/components/dashboard/FilterDropdown.d.ts.map +1 -0
  22. package/dist/components/dashboard/FilterDropdown.js +114 -0
  23. package/dist/components/dashboard/FilterDropdown.js.map +1 -0
  24. package/dist/components/dashboard/GlassPanel.d.ts +13 -0
  25. package/dist/components/dashboard/GlassPanel.d.ts.map +1 -0
  26. package/dist/components/dashboard/GlassPanel.js +20 -0
  27. package/dist/components/dashboard/GlassPanel.js.map +1 -0
  28. package/dist/components/dashboard/Header.d.ts +4 -0
  29. package/dist/components/dashboard/Header.d.ts.map +1 -0
  30. package/dist/components/dashboard/Header.js +123 -0
  31. package/dist/components/dashboard/Header.js.map +1 -0
  32. package/dist/components/dashboard/IconBadge.d.ts +22 -0
  33. package/dist/components/dashboard/IconBadge.d.ts.map +1 -0
  34. package/dist/components/dashboard/IconBadge.js +44 -0
  35. package/dist/components/dashboard/IconBadge.js.map +1 -0
  36. package/dist/components/dashboard/ListItem.d.ts +22 -0
  37. package/dist/components/dashboard/ListItem.d.ts.map +1 -0
  38. package/dist/components/dashboard/ListItem.js +25 -0
  39. package/dist/components/dashboard/ListItem.js.map +1 -0
  40. package/dist/components/dashboard/MetricsCard.d.ts +10 -0
  41. package/dist/components/dashboard/MetricsCard.d.ts.map +1 -0
  42. package/dist/components/dashboard/MetricsCard.js +41 -0
  43. package/dist/components/dashboard/MetricsCard.js.map +1 -0
  44. package/dist/components/dashboard/MobileSidebar.d.ts +4 -0
  45. package/dist/components/dashboard/MobileSidebar.d.ts.map +1 -0
  46. package/dist/components/dashboard/MobileSidebar.js +57 -0
  47. package/dist/components/dashboard/MobileSidebar.js.map +1 -0
  48. package/dist/components/dashboard/NavMenu.d.ts +8 -0
  49. package/dist/components/dashboard/NavMenu.d.ts.map +1 -0
  50. package/dist/components/dashboard/NavMenu.js +66 -0
  51. package/dist/components/dashboard/NavMenu.js.map +1 -0
  52. package/dist/components/dashboard/PatternCard.d.ts +15 -0
  53. package/dist/components/dashboard/PatternCard.d.ts.map +1 -0
  54. package/dist/components/dashboard/PatternCard.js +36 -0
  55. package/dist/components/dashboard/PatternCard.js.map +1 -0
  56. package/dist/components/dashboard/SearchInput.d.ts +30 -0
  57. package/dist/components/dashboard/SearchInput.d.ts.map +1 -0
  58. package/dist/components/dashboard/SearchInput.js +52 -0
  59. package/dist/components/dashboard/SearchInput.js.map +1 -0
  60. package/dist/components/dashboard/SectionHeader.d.ts +13 -0
  61. package/dist/components/dashboard/SectionHeader.d.ts.map +1 -0
  62. package/dist/components/dashboard/SectionHeader.js +19 -0
  63. package/dist/components/dashboard/SectionHeader.js.map +1 -0
  64. package/dist/components/dashboard/SettingsDropup.d.ts +9 -0
  65. package/dist/components/dashboard/SettingsDropup.d.ts.map +1 -0
  66. package/dist/components/dashboard/SettingsDropup.js +97 -0
  67. package/dist/components/dashboard/SettingsDropup.js.map +1 -0
  68. package/dist/components/dashboard/SettingsModal.d.ts +4 -0
  69. package/dist/components/dashboard/SettingsModal.d.ts.map +1 -0
  70. package/dist/components/dashboard/SettingsModal.js +56 -0
  71. package/dist/components/dashboard/SettingsModal.js.map +1 -0
  72. package/dist/components/dashboard/SidePanel.d.ts +12 -0
  73. package/dist/components/dashboard/SidePanel.d.ts.map +1 -0
  74. package/dist/components/dashboard/SidePanel.js +79 -0
  75. package/dist/components/dashboard/SidePanel.js.map +1 -0
  76. package/dist/components/dashboard/Sidebar.d.ts +4 -0
  77. package/dist/components/dashboard/Sidebar.d.ts.map +1 -0
  78. package/dist/components/dashboard/Sidebar.js +28 -0
  79. package/dist/components/dashboard/Sidebar.js.map +1 -0
  80. package/dist/components/dashboard/SidebarLogo.d.ts +7 -0
  81. package/dist/components/dashboard/SidebarLogo.d.ts.map +1 -0
  82. package/dist/components/dashboard/SidebarLogo.js +6 -0
  83. package/dist/components/dashboard/SidebarLogo.js.map +1 -0
  84. package/dist/components/dashboard/SourceIcon.d.ts +15 -0
  85. package/dist/components/dashboard/SourceIcon.d.ts.map +1 -0
  86. package/dist/components/dashboard/SourceIcon.js +28 -0
  87. package/dist/components/dashboard/SourceIcon.js.map +1 -0
  88. package/dist/components/dashboard/StatusBadge.d.ts +26 -0
  89. package/dist/components/dashboard/StatusBadge.d.ts.map +1 -0
  90. package/dist/components/dashboard/StatusBadge.js +42 -0
  91. package/dist/components/dashboard/StatusBadge.js.map +1 -0
  92. package/dist/components/dashboard/StatusIndicator.d.ts +16 -0
  93. package/dist/components/dashboard/StatusIndicator.d.ts.map +1 -0
  94. package/dist/components/dashboard/StatusIndicator.js +35 -0
  95. package/dist/components/dashboard/StatusIndicator.js.map +1 -0
  96. package/dist/components/dashboard/Tag.d.ts +16 -0
  97. package/dist/components/dashboard/Tag.d.ts.map +1 -0
  98. package/dist/components/dashboard/Tag.js +18 -0
  99. package/dist/components/dashboard/Tag.js.map +1 -0
  100. package/dist/components/dashboard/TipCard.d.ts +12 -0
  101. package/dist/components/dashboard/TipCard.d.ts.map +1 -0
  102. package/dist/components/dashboard/TipCard.js +17 -0
  103. package/dist/components/dashboard/TipCard.js.map +1 -0
  104. package/dist/components/dashboard/ToggleSwitch.d.ts +17 -0
  105. package/dist/components/dashboard/ToggleSwitch.d.ts.map +1 -0
  106. package/dist/components/dashboard/ToggleSwitch.js +27 -0
  107. package/dist/components/dashboard/ToggleSwitch.js.map +1 -0
  108. package/dist/components/dashboard/constants.d.ts +28 -0
  109. package/dist/components/dashboard/constants.d.ts.map +1 -0
  110. package/dist/components/dashboard/constants.js +104 -0
  111. package/dist/components/dashboard/constants.js.map +1 -0
  112. package/dist/components/dashboard/index.d.ts +27 -0
  113. package/dist/components/dashboard/index.d.ts.map +1 -0
  114. package/dist/components/dashboard/index.js +27 -0
  115. package/dist/components/dashboard/index.js.map +1 -0
  116. package/dist/components/dashboard/types.d.ts +115 -0
  117. package/dist/components/dashboard/types.d.ts.map +1 -0
  118. package/dist/components/dashboard/types.js +2 -0
  119. package/dist/components/dashboard/types.js.map +1 -0
  120. package/dist/components/index.d.ts +11 -11
  121. package/dist/components/index.d.ts.map +1 -1
  122. package/dist/components/index.js +12 -12
  123. package/dist/components/index.js.map +1 -1
  124. package/dist/components/inputs/InputField.d.ts +1 -1
  125. package/dist/components/layout/MobileSidebar.d.ts.map +1 -1
  126. package/dist/components/layout/MobileSidebar.js +4 -4
  127. package/dist/components/layout/MobileSidebar.js.map +1 -1
  128. package/dist/lib/constants.d.ts.map +1 -1
  129. package/dist/lib/constants.js +6 -0
  130. package/dist/lib/constants.js.map +1 -1
  131. package/dist/lib/types.d.ts +1 -1
  132. package/dist/lib/types.d.ts.map +1 -1
  133. package/dist/styles.css +1 -1
  134. package/package.json +44 -9
  135. package/.prettierignore +0 -28
  136. package/.templatesyncignore +0 -2
  137. package/.whitesource +0 -14
  138. package/docs/components.md +0 -265
  139. package/docs/development.md +0 -291
  140. package/docs/examples.md +0 -333
  141. package/docs/screenshot.svg +0 -57
  142. package/docs/setup.md +0 -73
package/docs/examples.md DELETED
@@ -1,333 +0,0 @@
1
- # Usage Examples
2
-
3
- ## Complete Coming Soon Page
4
-
5
- Here's a complete example of a Coming Soon page using all hero components:
6
-
7
- ```tsx
8
- import {
9
- AnimatedBackground,
10
- HeroText,
11
- Logo,
12
- TypewriterText,
13
- Subtitle,
14
- } from '@b3-crow/ui-kit';
15
-
16
- function App() {
17
- return (
18
- <>
19
- {/* Hero Section - must have position: relative and min-height */}
20
- <section
21
- style={{
22
- position: 'relative',
23
- minHeight: '100vh',
24
- display: 'flex',
25
- flexDirection: 'column',
26
- justifyContent: 'center',
27
- alignItems: 'center',
28
- }}
29
- >
30
- <AnimatedBackground />
31
- <Logo src="/your-logo.png" alt="Your Logo" />
32
- <HeroText text="Your Brand" />
33
- <TypewriterText text="COMING SOON" />
34
- <Subtitle>
35
- Your subtitle text here
36
- <br />
37
- Can be multi-line with custom formatting
38
- </Subtitle>
39
- </section>
40
-
41
- {/* Other sections - add your own background */}
42
- <section
43
- style={{ background: 'white', padding: '4rem 2rem', minHeight: '50vh' }}
44
- >
45
- <h2>Your Content Here</h2>
46
- <p>Additional sections will scroll normally</p>
47
- </section>
48
- </>
49
- );
50
- }
51
- ```
52
-
53
- **Important:** The parent container of `AnimatedBackground` must have `position: relative` to properly contain the absolutely positioned background. Use `minHeight: '100vh'` for full-screen hero sections.
54
-
55
- ---
56
-
57
- ## Button Examples
58
-
59
- ```tsx
60
- import { Button } from '@b3-crow/ui-kit'
61
-
62
- // Outline button (default)
63
- <Button variant="outline">Try Now</Button>
64
-
65
- // Solid button
66
- <Button variant="solid">Get Started</Button>
67
-
68
- // Button as link
69
- <Button href="/docs">View Docs</Button>
70
-
71
- // Button with click handler
72
- <Button onClick={() => console.log('clicked')}>Click Me</Button>
73
-
74
- // Button without arrow
75
- <Button showArrow={false}>No Arrow</Button>
76
- ```
77
-
78
- ---
79
-
80
- ## Card Examples
81
-
82
- ```tsx
83
- import { Card, Button } from '@b3-crow/ui-kit'
84
- import { FiCode, FiBook } from 'react-icons/fi'
85
-
86
- // Feature card
87
- <Card
88
- title="Feature Title"
89
- description="Feature description text goes here"
90
- icon={<FiCode />}
91
- index={0}
92
- layout="feature"
93
- button={<Button variant="outline">Try Now</Button>}
94
- />
95
-
96
- // Documentation card with center alignment
97
- <Card
98
- title="Documentation"
99
- description="Read our comprehensive guides"
100
- icon={<FiBook />}
101
- index={1}
102
- layout="documentation"
103
- contentAlign="center"
104
- button={<Button href="/docs">View Docs</Button>}
105
- />
106
-
107
- // Simple card without button
108
- <Card
109
- title="Simple Card"
110
- description="Just text, no button needed"
111
- icon={<FiCode />}
112
- />
113
- ```
114
-
115
- ---
116
-
117
- ## Globe Examples
118
-
119
- ```tsx
120
- import { Globe } from '@b3-crow/ui-kit'
121
- import { BsGlobe2, BsDatabase } from 'react-icons/bs'
122
-
123
- // Default globe with preset points
124
- <Globe size={500} />
125
-
126
- // Custom globe with custom data points
127
- <Globe
128
- size={600}
129
- points={[
130
- {
131
- label: 'Data Source',
132
- icon: <BsGlobe2 />,
133
- position: { x: 50, y: 30 }
134
- },
135
- {
136
- label: 'Database',
137
- icon: <BsDatabase />,
138
- position: { x: -30, y: -20 }
139
- }
140
- ]}
141
- />
142
- ```
143
-
144
- ---
145
-
146
- ## GradientBackground Examples
147
-
148
- ```tsx
149
- import { GradientBackground } from '@b3-crow/ui-kit'
150
-
151
- // Top gradient (default)
152
- <section style={{ position: 'relative' }}>
153
- <GradientBackground position="top" />
154
- <div>Your content here</div>
155
- </section>
156
-
157
- // Bottom gradient with custom height
158
- <section style={{ position: 'relative' }}>
159
- <GradientBackground position="bottom" height="50vh" />
160
- <div>Your content here</div>
161
- </section>
162
-
163
- // Custom colors
164
- <GradientBackground
165
- position="top"
166
- colors={{
167
- start: 'rgba(100, 50, 150, 0.9)',
168
- middle1: 'rgba(80, 40, 120, 0.7)',
169
- middle2: 'rgba(60, 30, 100, 0.6)',
170
- middle3: 'rgba(40, 20, 80, 0.4)',
171
- }}
172
- blur="200px"
173
- />
174
- ```
175
-
176
- ---
177
-
178
- ## InputField Examples
179
-
180
- ```tsx
181
- import { InputField } from '@b3-crow/ui-kit'
182
- import { useState } from 'react'
183
-
184
- // Default input with submit button
185
- <InputField
186
- placeholder="Ask CROW Anything..."
187
- onSubmit={(value) => console.log('Submitted:', value)}
188
- />
189
-
190
- // Controlled input
191
- function ControlledExample() {
192
- const [inputValue, setInputValue] = useState('')
193
-
194
- return (
195
- <InputField
196
- value={inputValue}
197
- onChange={(value) => setInputValue(value)}
198
- onSubmit={(value) => {
199
- console.log('Submitted:', value)
200
- setInputValue('')
201
- }}
202
- />
203
- )
204
- }
205
-
206
- // Different sizes and variants
207
- <InputField size="sm" variant="transparent" placeholder="Small input" />
208
- <InputField size="md" variant="filled" placeholder="Medium filled" />
209
- <InputField size="lg" variant="transparent" placeholder="Large input" />
210
-
211
- // Without button
212
- <InputField showButton={false} placeholder="No submit button" />
213
-
214
- // Button on left
215
- <InputField buttonPosition="left" placeholder="Button on left" />
216
- ```
217
-
218
- ---
219
-
220
- ## SectionLabel Examples
221
-
222
- ```tsx
223
- import { SectionLabel } from '@b3-crow/ui-kit'
224
-
225
- // Animated label
226
- <SectionLabel label="FEATURES" className="mb-16" />
227
-
228
- // Static label (no animation)
229
- <SectionLabel label="ABOUT" animate={false} />
230
-
231
- // With custom styling
232
- <SectionLabel label="TEAM" className="mb-8 opacity-80" />
233
- ```
234
-
235
- ---
236
-
237
- ## Full Page Example
238
-
239
- Here's a complete landing page example using multiple components:
240
-
241
- ```tsx
242
- import {
243
- AnimatedBackground,
244
- HeroText,
245
- Logo,
246
- TypewriterText,
247
- Subtitle,
248
- SectionLabel,
249
- Card,
250
- Button,
251
- Globe,
252
- InputField,
253
- } from '@b3-crow/ui-kit';
254
- import { FiCode, FiBook, FiZap } from 'react-icons/fi';
255
-
256
- export default function LandingPage() {
257
- return (
258
- <div className="min-h-screen bg-black text-white">
259
- {/* Hero Section */}
260
- <section className="relative flex min-h-screen flex-col items-center justify-center">
261
- <AnimatedBackground />
262
- <Logo src="/logo.png" alt="CROW Logo" />
263
- <HeroText text="CROW-B3" />
264
- <TypewriterText text="COMING SOON" />
265
- <Subtitle>
266
- The future of development is here
267
- <br />
268
- Built for modern web applications
269
- </Subtitle>
270
- </section>
271
-
272
- {/* Features Section */}
273
- <section className="relative px-8 py-24">
274
- <SectionLabel label="FEATURES" className="mb-16" />
275
- <div className="mx-auto grid max-w-6xl gap-8 md:grid-cols-3">
276
- <Card
277
- title="Fast Development"
278
- description="Build faster with pre-built components"
279
- icon={<FiZap />}
280
- layout="feature"
281
- button={<Button variant="outline">Learn More</Button>}
282
- />
283
- <Card
284
- title="Documentation"
285
- description="Comprehensive guides and examples"
286
- icon={<FiBook />}
287
- layout="feature"
288
- button={<Button href="/docs">View Docs</Button>}
289
- />
290
- <Card
291
- title="Open Source"
292
- description="Free and open source forever"
293
- icon={<FiCode />}
294
- layout="feature"
295
- button={<Button href="/github">GitHub</Button>}
296
- />
297
- </div>
298
- </section>
299
-
300
- {/* Globe Section */}
301
- <section className="relative flex items-center justify-center py-24">
302
- <Globe size={600} />
303
- </section>
304
-
305
- {/* CTA Section */}
306
- <section className="relative px-8 py-24 text-center">
307
- <h2 className="mb-8 text-4xl font-bold">Get Early Access</h2>
308
- <div className="mx-auto max-w-md">
309
- <InputField
310
- placeholder="Enter your email..."
311
- size="lg"
312
- onSubmit={email => console.log('Email:', email)}
313
- />
314
- </div>
315
- </section>
316
- </div>
317
- );
318
- }
319
- ```
320
-
321
- ---
322
-
323
- ## Important Notes
324
-
325
- 1. **Scrolling Requirements**: The parent container of `AnimatedBackground` MUST have `position: relative` and a defined height (e.g., `minHeight: '100vh'`) to enable proper scrolling
326
-
327
- 2. **Tailwind CSS**: Most components use Tailwind CSS classes, ensure Tailwind is configured in your project
328
-
329
- 3. **Dark Theme**: Components are designed for dark backgrounds, using white text with opacity variants
330
-
331
- 4. **Animations**: All animated components use Framer Motion with scroll-triggered animations
332
-
333
- 5. **TypeScript**: All components are fully typed with exported TypeScript interfaces
@@ -1,57 +0,0 @@
1
- <svg width="1200" height="800" xmlns="http://www.w3.org/2000/svg">
2
- <!-- Black background -->
3
- <rect width="1200" height="800" fill="#000000"/>
4
-
5
- <!-- Purple gradient circles (background effect) -->
6
- <defs>
7
- <radialGradient id="purpleGrad">
8
- <stop offset="0%" style="stop-color:#854ED2;stop-opacity:0.5" />
9
- <stop offset="70%" style="stop-color:#854ED2;stop-opacity:0" />
10
- </radialGradient>
11
- <radialGradient id="whiteGrad">
12
- <stop offset="0%" style="stop-color:#ffffff;stop-opacity:0.7" />
13
- <stop offset="40%" style="stop-color:#e0c8ff;stop-opacity:0.7" />
14
- <stop offset="65%" style="stop-color:#e0c8ff;stop-opacity:0" />
15
- </radialGradient>
16
- <linearGradient id="textGrad" x1="0%" y1="0%" x2="100%" y2="0%">
17
- <stop offset="0%" style="stop-color:#1B0637" />
18
- <stop offset="35%" style="stop-color:#2E1A4B" />
19
- <stop offset="65%" style="stop-color:#563F77" />
20
- <stop offset="100%" style="stop-color:#765F97" />
21
- </linearGradient>
22
- </defs>
23
-
24
- <!-- Background gradients -->
25
- <ellipse cx="1100" cy="480" rx="850" ry="450" fill="url(#purpleGrad)" filter="blur(40px)"/>
26
- <ellipse cx="1100" cy="480" rx="250" ry="200" fill="url(#whiteGrad)" filter="blur(80px)"/>
27
-
28
- <!-- CROW text -->
29
- <text x="600" y="360" font-family="-apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif"
30
- font-size="280" font-weight="650" text-anchor="middle" fill="url(#textGrad)"
31
- letter-spacing="0.01em" filter="drop-shadow(0 0 80px rgba(87, 84, 96, 0.3))">
32
- CROW
33
- </text>
34
-
35
- <!-- COMING SOON text -->
36
- <text x="600" y="520" font-family="'Courier New', Courier, monospace"
37
- font-size="24" font-weight="600" text-anchor="middle" fill="#8b7fb8"
38
- letter-spacing="0.3em" filter="drop-shadow(0 0 10px rgba(139, 127, 184, 0.5))">
39
- COMING SOON_
40
- </text>
41
-
42
- <!-- Subtitle -->
43
- <text x="600" y="750" font-family="-apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif"
44
- font-size="14" text-anchor="middle" fill="rgba(255, 255, 255, 0.52)">
45
- We are thrilled to unveil CROW, our most advanced product yet,
46
- </text>
47
- <text x="600" y="770" font-family="-apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif"
48
- font-size="14" text-anchor="middle" fill="rgba(255, 255, 255, 0.52)">
49
- blending superior reasoning with extensive pretraining knowledge.
50
- </text>
51
-
52
- <!-- Note -->
53
- <text x="600" y="50" font-family="sans-serif" font-size="12" text-anchor="middle"
54
- fill="rgba(255, 255, 255, 0.3)" font-style="italic">
55
- Screenshot Placeholder - Replace with actual screenshot
56
- </text>
57
- </svg>
package/docs/setup.md DELETED
@@ -1,73 +0,0 @@
1
- # Setup Guide
2
-
3
- ## Installation
4
-
5
- Install the UI kit using your preferred package manager:
6
-
7
- ```bash
8
- bun add @b3-crow/ui-kit
9
- ```
10
-
11
- ## Local Development
12
-
13
- For local development, you can link the package directly:
14
-
15
- ```json
16
- {
17
- "dependencies": {
18
- "@b3-crow/ui-kit": "file:../ui-kit"
19
- }
20
- }
21
- ```
22
-
23
- ## Peer Dependencies
24
-
25
- Install the required peer dependencies:
26
-
27
- ```bash
28
- bun add react react-dom framer-motion react-icons cobe
29
- ```
30
-
31
- ### Required Versions
32
-
33
- - `react`: ^19.2.0
34
- - `react-dom`: ^19.2.0
35
- - `framer-motion`: Latest
36
- - `react-icons`: Latest
37
- - `cobe`: Latest
38
-
39
- ## Tailwind CSS Configuration
40
-
41
- Most components use Tailwind CSS classes. Ensure Tailwind v4 is configured in your project:
42
-
43
- ```bash
44
- bun add -D tailwindcss @tailwindcss/postcss
45
- ```
46
-
47
- ### PostCSS Configuration
48
-
49
- Create or update `postcss.config.mjs`:
50
-
51
- ```js
52
- export default {
53
- plugins: {
54
- '@tailwindcss/postcss': {},
55
- },
56
- };
57
- ```
58
-
59
- ### Next.js Configuration
60
-
61
- If using with Next.js and local packages, add to `next.config.ts`:
62
-
63
- ```ts
64
- const nextConfig = {
65
- transpilePackages: ['@b3-crow/ui-kit'],
66
- };
67
-
68
- export default nextConfig;
69
- ```
70
-
71
- ## Dark Theme
72
-
73
- All components are designed for dark backgrounds with white text and opacity variants. Ensure your app has a dark theme configured.