@datawire-ai/busyfile-design-library 1.0.6 โ†’ 1.0.7

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.
package/README.md CHANGED
@@ -1,223 +1,23 @@
1
1
  # BusyFile Design System
2
2
 
3
- A modern, accessible React component library built with TypeScript, Tailwind CSS, and Vite. Designed for building beautiful, consistent user interfaces with minimal setup.
3
+ Design system library for Busyfile Applications
4
4
 
5
- ## โœจ Features
6
-
7
- - **Modern Stack**: Built with React 19, TypeScript, and Tailwind CSS
8
- - **Beautiful Design**: Clean, modern components with consistent styling
9
- - **Accessible**: Built with accessibility in mind using Radix UI primitives
10
- - **Responsive**: Mobile-first design that works on all screen sizes
11
- - **TypeScript**: Full TypeScript support with excellent IntelliSense
12
- - **Customizable**: Easy to customize with Tailwind CSS classes
13
- - **Storybook**: Interactive component documentation and playground
14
- - **Tested**: Built with testing in mind using Vitest
15
-
16
- ## ๐Ÿ“ฆ Installation
5
+ ## Installation
17
6
 
18
7
  ```bash
19
8
  # Using npm
20
9
  npm install busyfile-design-system
21
10
 
22
- # Using yarn
23
- yarn add busyfile-design-system
24
-
25
11
  # Using pnpm
26
12
  pnpm add busyfile-design-system
27
13
  ```
28
14
 
29
- ## ๐ŸŽฏ Quick Start
30
-
31
- ```tsx
32
- import { Button } from 'busyfile-design-system';
33
-
34
- function App() {
35
- return (
36
- <Button variant="default" onClick={() => alert('Hello!')}>
37
- Click me
38
- </Button>
39
- );
40
- }
41
- ```
42
-
43
- ## ๐ŸŽจ Components
44
-
45
- ### Button
46
-
47
- A versatile button component with multiple variants, sizes, and states.
48
-
49
- #### Basic Usage
50
-
51
- ```tsx
52
- import { Button } from 'busyfile-design-system';
53
-
54
- // Default button
55
- <Button>Click me</Button>
56
-
57
- // With variant
58
- <Button variant="destructive">Delete</Button>
59
-
60
- // With size
61
- <Button size="lg">Large Button</Button>
62
-
63
- // With custom styling
64
- <Button className="bg-gradient-to-r from-purple-500 to-pink-500">
65
- Gradient Button
66
- </Button>
67
- ```
68
-
69
- #### Props
70
-
71
- | Prop | Type | Default | Description |
72
- |------|------|---------|-------------|
73
- | `variant` | `'default' \| 'destructive' \| 'outline' \| 'secondary' \| 'ghost' \| 'link'` | `'default'` | The visual style variant of the button |
74
- | `size` | `'default' \| 'sm' \| 'lg' \| 'icon'` | `'default'` | The size of the button |
75
- | `asChild` | `boolean` | `false` | Whether to render as a different element using Radix UI Slot |
76
- | `className` | `string` | `undefined` | Additional CSS classes to apply |
77
- | `onClick` | `(event: React.MouseEvent<HTMLButtonElement>) => void` | `undefined` | Click event handler |
78
- | `disabled` | `boolean` | `false` | Whether the button is disabled |
79
- | `type` | `'button' \| 'submit' \| 'reset'` | `'button'` | The type of button |
80
-
81
- #### Variants
82
-
83
- ```tsx
84
- // Default - Blue button with white text
85
- <Button variant="default">Default</Button>
86
-
87
- // Destructive - Red button for dangerous actions
88
- <Button variant="destructive">Delete</Button>
89
-
90
- // Outline - Bordered button with transparent background
91
- <Button variant="outline">Outline</Button>
92
-
93
- // Secondary - Gray button for secondary actions
94
- <Button variant="secondary">Cancel</Button>
95
-
96
- // Ghost - Transparent button with hover effects
97
- <Button variant="ghost">Ghost</Button>
98
-
99
- // Link - Styled like a link
100
- <Button variant="link">Learn More</Button>
101
- ```
102
-
103
- #### Sizes
104
-
105
- ```tsx
106
- // Small - Compact button
107
- <Button size="sm">Small</Button>
108
-
109
- // Default - Standard size
110
- <Button size="default">Default</Button>
111
-
112
- // Large - Prominent button
113
- <Button size="lg">Large</Button>
114
-
115
- // Icon - Square button for icons
116
- <Button size="icon">
117
- <PlusIcon />
118
- </Button>
119
- ```
120
-
121
- #### Custom Styling
122
-
123
- ```tsx
124
- // Override default styles with Tailwind classes
125
- <Button
126
- variant="outline"
127
- className="bg-gradient-to-r from-blue-500 to-purple-600 text-white border-0 rounded-full px-8 py-3 shadow-lg hover:shadow-xl transform hover:scale-105 transition-all duration-200"
128
- >
129
- Custom Styled
130
- </Button>
131
-
132
- // Common customizations
133
- <Button className="bg-red-500 hover:bg-red-600 text-white rounded-full">
134
- Rounded Red
135
- </Button>
136
-
137
- <Button className="border-2 border-dashed border-gray-400 bg-transparent text-gray-700">
138
- Dashed Border
139
- </Button>
140
-
141
- <Button className="bg-green-500 hover:bg-green-600 text-white shadow-[0_0_20px_rgba(34,197,94,0.5)]">
142
- Glow Effect
143
- </Button>
144
- ```
145
-
146
- #### Advanced Usage
147
-
148
- ```tsx
149
- import { Button } from 'busyfile-design-system';
150
- import { Heart, Download, Settings } from 'lucide-react';
151
-
152
- // Button with icon
153
- <Button>
154
- <Heart className="mr-2" />
155
- Like
156
- </Button>
157
-
158
- // Button as link
159
- <Button asChild>
160
- <a href="/download" download>
161
- <Download className="mr-2" />
162
- Download
163
- </a>
164
- </Button>
165
-
166
- // Disabled state
167
- <Button disabled variant="outline">
168
- Processing...
169
- </Button>
170
-
171
- // Loading state with custom styling
172
- <Button
173
- disabled
174
- className="bg-blue-600 text-white opacity-75 cursor-not-allowed"
175
- >
176
- <div className="animate-spin mr-2">โณ</div>
177
- Loading...
178
- </Button>
179
- ```
180
-
181
- ## ๐ŸŽจ Styling & Theming
182
-
183
- ### Tailwind CSS Integration
184
-
185
- The design system is built on top of Tailwind CSS, making it easy to customize:
186
-
187
- ```tsx
188
- // Use any Tailwind utility classes
189
- <Button className="bg-gradient-to-r from-pink-500 via-red-500 to-yellow-500 text-white font-bold text-lg px-10 py-4 rounded-full shadow-2xl hover:shadow-3xl transform hover:scale-110 transition-all duration-300">
190
- Fancy Button
191
- </Button>
192
- ```
193
-
194
- ### CSS Custom Properties
195
-
196
- You can also use CSS custom properties for consistent theming:
197
-
198
- ```css
199
- :root {
200
- --button-primary: #3b82f6;
201
- --button-primary-hover: #2563eb;
202
- --button-text: #ffffff;
203
- }
204
-
205
- .custom-button {
206
- background-color: var(--button-primary);
207
- color: var(--button-text);
208
- }
209
-
210
- .custom-button:hover {
211
- background-color: var(--button-primary-hover);
212
- }
213
- ```
214
-
215
- ## ๐Ÿš€ Development
15
+ ## Development
216
16
 
217
17
  ### Prerequisites
218
18
 
219
- - Node.js 18+
220
- - pnpm (recommended) or npm
19
+ - Node.js - v22.19
20
+ - pnpm - v10.15
221
21
 
222
22
  ### Setup
223
23
 
@@ -242,6 +42,14 @@ pnpm build
242
42
  pnpm test
243
43
  ```
244
44
 
45
+ ### Development Workflow
46
+
47
+ 1. Fork the repository
48
+ 2. Create a feature branch
49
+ 3. Make your changes
50
+ 4. Create changeset `pnpm changeset:add && changeset:release`
51
+ 5. Submit a pull request
52
+
245
53
  ### Project Structure
246
54
 
247
55
  ```
@@ -258,7 +66,7 @@ src/
258
66
  โ””โ”€โ”€ index.ts # Main package exports
259
67
  ```
260
68
 
261
- ## ๐Ÿงช Testing
69
+ ## Testing
262
70
 
263
71
  ```bash
264
72
  # Run all tests
@@ -274,7 +82,7 @@ pnpm test:coverage
274
82
  pnpm test:browser
275
83
  ```
276
84
 
277
- ## ๐Ÿ“š Storybook
85
+ ## Storybook
278
86
 
279
87
  Storybook provides an interactive playground for all components:
280
88
 
@@ -288,7 +96,7 @@ pnpm build-storybook
288
96
 
289
97
  Visit http://localhost:6006 to explore components, test props, and see examples.
290
98
 
291
- ## ๐Ÿ”ง Configuration
99
+ ## Configuration
292
100
 
293
101
  ### Tailwind CSS
294
102
 
@@ -298,23 +106,23 @@ The design system includes a pre-configured Tailwind CSS setup. You can extend i
298
106
  // tailwind.config.js
299
107
  module.exports = {
300
108
  content: [
301
- "./src/**/*.{js,ts,jsx,tsx}",
302
- "./node_modules/busyfile-design-system/**/*.{js,ts,jsx,tsx}"
109
+ './src/**/*.{js,ts,jsx,tsx}',
110
+ './node_modules/busyfile-design-system/**/*.{js,ts,jsx,tsx}',
303
111
  ],
304
112
  theme: {
305
113
  extend: {
306
114
  // Your custom theme extensions
307
- }
115
+ },
308
116
  },
309
- plugins: []
310
- }
117
+ plugins: [],
118
+ };
311
119
  ```
312
120
 
313
121
  ### TypeScript
314
122
 
315
123
  Full TypeScript support is included. No additional types package needed.
316
124
 
317
- ## ๐Ÿ“ฆ Building
125
+ ## Building
318
126
 
319
127
  ```bash
320
128
  # Build for production
@@ -327,26 +135,4 @@ pnpm build:types
327
135
  pnpm build-storybook
328
136
  ```
329
137
 
330
- ## ๐Ÿค Contributing
331
-
332
- We welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details.
333
-
334
- ### Development Workflow
335
-
336
- 1. Fork the repository
337
- 2. Create a feature branch
338
- 3. Make your changes
339
- 4. Add tests
340
- 5. Update documentation
341
- 6. Submit a pull request
342
-
343
-
344
- ## ๐Ÿ™ Acknowledgments
345
-
346
- - [Radix UI](https://www.radix-ui.com/) for accessible primitives
347
- - [Tailwind CSS](https://tailwindcss.com/) for utility-first CSS
348
- - [Lucide React](https://lucide.dev/) for beautiful icons
349
- - [Storybook](https://storybook.js.org/) for component documentation
350
-
351
-
352
138
  Made with โค๏ธ by the BusyFile team