@vkzstudio/muza-ui 1.0.3 → 1.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.
- package/CLAUDE_CONSUMER.md +238 -238
- package/README.md +168 -168
- package/dist/components/DatePicker/DatePicker.d.ts.map +1 -1
- package/dist/components/DatePicker/DatePicker.js +53 -53
- package/dist/components/Lightbox/LightboxOverrides.css +5 -5
- package/dist/fonts/Objectivity/OFL.txt +92 -92
- package/dist/globals.css +12 -12
- package/dist/muza-ui.css +1 -1
- package/dist/styles/3rd-parties.css +5 -5
- package/dist/styles/animations.css +41 -41
- package/dist/styles/breakpoints.css +4 -4
- package/dist/styles/primitives.css +155 -155
- package/dist/styles/token-colors.css +1201 -1201
- package/dist/styles/token-sizes.css +676 -676
- package/dist/styles/typography.css +84 -84
- package/dist/styles/utilities.css +66 -66
- package/dist/styles/white-label.css +25 -25
- package/package.json +1 -1
package/CLAUDE_CONSUMER.md
CHANGED
|
@@ -1,238 +1,238 @@
|
|
|
1
|
-
# Muza UI Library Integration
|
|
2
|
-
|
|
3
|
-
This project uses the `@vkzstudio/muza-ui` component library. Follow these guidelines when working with Muza UI components.
|
|
4
|
-
|
|
5
|
-
## Quick Reference
|
|
6
|
-
|
|
7
|
-
```tsx
|
|
8
|
-
// Import styles (required - should already be in main entry file)
|
|
9
|
-
// Alternative: import '@vkzstudio/muza-ui/dist/muza-ui.css'
|
|
10
|
-
// Import components
|
|
11
|
-
import { Alert, Button, Input, Select } from '@vkzstudio/muza-ui'
|
|
12
|
-
import '@vkzstudio/muza-ui/styles'
|
|
13
|
-
```
|
|
14
|
-
|
|
15
|
-
## Component Usage Rules
|
|
16
|
-
|
|
17
|
-
### 1. Always Use Library Components
|
|
18
|
-
|
|
19
|
-
NEVER create new UI components that duplicate Muza UI functionality. Check available components first:
|
|
20
|
-
|
|
21
|
-
**Complete Component List (42 components)**
|
|
22
|
-
|
|
23
|
-
**Form & Input Components (13)**:
|
|
24
|
-
Button, Input, PasswordInput, Textarea, Checkbox, Radio, Switch, Toggle, ToggleGroup, Select, MultiSelect, Searchbar, FileUpload
|
|
25
|
-
|
|
26
|
-
**Layout & Structure (5)**:
|
|
27
|
-
Accordion, Flex, Typography, Dialog, ExpandableTable
|
|
28
|
-
|
|
29
|
-
**Feedback & Status (7)**:
|
|
30
|
-
Alert, Tag, Loader, EmptyState, Snackbar, PinIndicator, SliderIndicators
|
|
31
|
-
|
|
32
|
-
**Navigation (8)**:
|
|
33
|
-
Breadcrumb, DropdownMenu, SegmentedControl, SegmentedIconControl, Stepper, SwipeButton, EdgeButton, LanguageSwitcher
|
|
34
|
-
|
|
35
|
-
**Media & Display (3)**:
|
|
36
|
-
Avatar, Lightbox, Tooltip
|
|
37
|
-
|
|
38
|
-
**Date & Time (3)**:
|
|
39
|
-
Calendar, DatePicker, TimePicker
|
|
40
|
-
|
|
41
|
-
**Specialized (3)**:
|
|
42
|
-
Popover, LoginScreen, Icons
|
|
43
|
-
|
|
44
|
-
### 2. Component Variants
|
|
45
|
-
|
|
46
|
-
Use consistent variants across the app:
|
|
47
|
-
|
|
48
|
-
```tsx
|
|
49
|
-
// Button variants
|
|
50
|
-
variant: "primary" | "secondary" | "tertiary" | "invert" | "dashed" | "link" | "linkInvert"
|
|
51
|
-
size: "xs" | "sm" | "md" | "lg"
|
|
52
|
-
|
|
53
|
-
// Button modifiers (can combine with any variant)
|
|
54
|
-
ghost: boolean // Ghost styling overlay
|
|
55
|
-
danger: boolean // Danger styling overlay
|
|
56
|
-
|
|
57
|
-
// Examples of combinations
|
|
58
|
-
<Button variant="primary" ghost>Ghost Primary</Button>
|
|
59
|
-
<Button variant="secondary" danger>Danger Secondary</Button>
|
|
60
|
-
<Button variant="tertiary" ghost danger>Ghost Danger Tertiary</Button>
|
|
61
|
-
|
|
62
|
-
// Other Button props
|
|
63
|
-
loading, fullWidth, icon, iconPosition
|
|
64
|
-
|
|
65
|
-
// Input states
|
|
66
|
-
<Input error={hasError} disabled={isDisabled} />
|
|
67
|
-
<Input mask="(000) 000-0000" placeholder="Phone" /> // With masking
|
|
68
|
-
|
|
69
|
-
// Alert types (use 'type' not 'variant')
|
|
70
|
-
<Alert type="info" | "success" | "warning" | "error" />
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
### 3. Styling Guidelines
|
|
74
|
-
|
|
75
|
-
- **DO NOT** recreate Muza UI components with custom CSS
|
|
76
|
-
- **DO** use the `className` prop to add utility classes when needed
|
|
77
|
-
- **DO** use design tokens for custom components that extend Muza UI
|
|
78
|
-
|
|
79
|
-
```tsx
|
|
80
|
-
// Good - extending with utilities
|
|
81
|
-
<Button className="w-full mt-4" variant="primary">
|
|
82
|
-
Submit
|
|
83
|
-
</Button>
|
|
84
|
-
|
|
85
|
-
// Bad - recreating component styles
|
|
86
|
-
<button className="bg-purple-500 hover:bg-purple-600 px-4 py-2 rounded">
|
|
87
|
-
Submit
|
|
88
|
-
</button>
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
### 4. Form Patterns
|
|
92
|
-
|
|
93
|
-
Always use Muza UI form components:
|
|
94
|
-
|
|
95
|
-
```tsx
|
|
96
|
-
// Good - using library components
|
|
97
|
-
import { Input, Button, Checkbox, Radio } from '@vkzstudio/muza-ui'
|
|
98
|
-
|
|
99
|
-
function Form() {
|
|
100
|
-
return (
|
|
101
|
-
<form>
|
|
102
|
-
<Input name="email" type="email" required />
|
|
103
|
-
<Checkbox id="terms" label="I agree to terms" />
|
|
104
|
-
<Radio value="option1" label="Option 1" />
|
|
105
|
-
<Button type="submit" variant="primary">
|
|
106
|
-
Submit
|
|
107
|
-
</Button>
|
|
108
|
-
</form>
|
|
109
|
-
)
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
// Bad - using native HTML elements
|
|
113
|
-
function Form() {
|
|
114
|
-
return (
|
|
115
|
-
<form>
|
|
116
|
-
<input type="email" />
|
|
117
|
-
<input type="checkbox" />
|
|
118
|
-
<button>Submit</button>
|
|
119
|
-
</form>
|
|
120
|
-
)
|
|
121
|
-
}
|
|
122
|
-
```
|
|
123
|
-
|
|
124
|
-
### 5. Icons
|
|
125
|
-
|
|
126
|
-
Use Muza UI icons from the Solar Icons integration:
|
|
127
|
-
|
|
128
|
-
```tsx
|
|
129
|
-
import { Button } from '@vkzstudio/muza-ui'
|
|
130
|
-
|
|
131
|
-
// Icons are integrated with @solar-icons/react-perf
|
|
132
|
-
// Import from Solar Icons directly in your project
|
|
133
|
-
// Muza UI components support icon props where applicable
|
|
134
|
-
|
|
135
|
-
;<Button icon={<SearchIcon />} iconPosition="start">
|
|
136
|
-
Search
|
|
137
|
-
</Button>
|
|
138
|
-
```
|
|
139
|
-
|
|
140
|
-
### 7. Accessibility
|
|
141
|
-
|
|
142
|
-
All Muza UI components include proper ARIA attributes. Maintain accessibility when extending:
|
|
143
|
-
|
|
144
|
-
```tsx
|
|
145
|
-
<Button aria-label="Save document" aria-busy={isLoading} disabled={isLoading}>
|
|
146
|
-
{isLoading ? 'Saving...' : 'Save'}
|
|
147
|
-
</Button>
|
|
148
|
-
```
|
|
149
|
-
|
|
150
|
-
## TypeScript Integration
|
|
151
|
-
|
|
152
|
-
The library is fully typed. Use the exported types:
|
|
153
|
-
|
|
154
|
-
```tsx
|
|
155
|
-
import type { ButtonProps, InputProps } from '@vkzstudio/muza-ui'
|
|
156
|
-
|
|
157
|
-
interface CustomButtonProps extends ButtonProps {
|
|
158
|
-
customProp?: boolean
|
|
159
|
-
}
|
|
160
|
-
```
|
|
161
|
-
|
|
162
|
-
## Performance Guidelines
|
|
163
|
-
|
|
164
|
-
1. **Import only needed components** - Tree shaking is supported
|
|
165
|
-
2. **Use lazy loading for large components** like Calendar or DatePicker
|
|
166
|
-
3. **Memoize complex forms** when using many Muza UI inputs
|
|
167
|
-
|
|
168
|
-
## DO NOT
|
|
169
|
-
|
|
170
|
-
- Create custom Button, Input, or other basic components
|
|
171
|
-
- Use native HTML form elements when Muza UI equivalents exist
|
|
172
|
-
- Override core component styles with !important
|
|
173
|
-
- Mix different UI libraries (Material-UI, Ant Design, etc.) with Muza UI
|
|
174
|
-
- Create custom toast/notification systems
|
|
175
|
-
|
|
176
|
-
## DO
|
|
177
|
-
|
|
178
|
-
- Use Muza UI components consistently throughout the app
|
|
179
|
-
- Extend components with className for spacing/layout
|
|
180
|
-
- Follow the established variant patterns
|
|
181
|
-
- Maintain accessibility standards
|
|
182
|
-
- Report any missing components or features needed
|
|
183
|
-
|
|
184
|
-
## Package Exports
|
|
185
|
-
|
|
186
|
-
The library supports multiple export paths for flexibility:
|
|
187
|
-
|
|
188
|
-
```tsx
|
|
189
|
-
// Main components export
|
|
190
|
-
import { Button, Input } from '@vkzstudio/muza-ui'
|
|
191
|
-
|
|
192
|
-
// Styles
|
|
193
|
-
import '@vkzstudio/muza-ui/styles'
|
|
194
|
-
|
|
195
|
-
// Individual component exports (tree-shaking friendly)
|
|
196
|
-
import { Button } from '@vkzstudio/muza-ui/components/Button'
|
|
197
|
-
|
|
198
|
-
// Utilities
|
|
199
|
-
import { cn } from '@vkzstudio/muza-ui/utils'
|
|
200
|
-
|
|
201
|
-
// Global styles
|
|
202
|
-
import '@vkzstudio/muza-ui/globals.css'
|
|
203
|
-
|
|
204
|
-
// Third-party library styles (required for components like Lightbox)
|
|
205
|
-
import '@vkzstudio/muza-ui/3rd-parties.css'
|
|
206
|
-
|
|
207
|
-
// 3D Models (for LoginScreen)
|
|
208
|
-
import modelPath from '@vkzstudio/muza-ui/models/Login3D.glb'
|
|
209
|
-
|
|
210
|
-
// Individual style tokens (granular imports)
|
|
211
|
-
import '@vkzstudio/muza-ui/styles/token-colors.css'
|
|
212
|
-
import '@vkzstudio/muza-ui/styles/typography.css'
|
|
213
|
-
```
|
|
214
|
-
|
|
215
|
-
## Troubleshooting
|
|
216
|
-
|
|
217
|
-
If a component isn't rendering:
|
|
218
|
-
|
|
219
|
-
1. Check that `@vkzstudio/muza-ui/styles` is imported in your entry file
|
|
220
|
-
2. Verify React 18+ is installed
|
|
221
|
-
3. Ensure all required peer dependencies are installed (see package.json)
|
|
222
|
-
4. Verify the component is properly imported
|
|
223
|
-
5. Check browser console for errors
|
|
224
|
-
6. Ensure Tailwind CSS is properly configured if using custom utilities
|
|
225
|
-
|
|
226
|
-
**For LoginScreen 3D issues:**
|
|
227
|
-
|
|
228
|
-
- Ensure the GLB file is copied to `public/models/Login3D.glb`
|
|
229
|
-
- Check that `@react-three/fiber`, `@react-three/drei`, and `three` are installed
|
|
230
|
-
- The 3D scene only renders on desktop (screen width > 1024px)
|
|
231
|
-
|
|
232
|
-
**For Lightbox image gallery issues:**
|
|
233
|
-
|
|
234
|
-
- **REQUIRED:** Import third-party styles: `import '@vkzstudio/muza-ui/3rd-parties.css'` in your entry file
|
|
235
|
-
- Check that `photoswipe` and `react-photoswipe-gallery` peer dependencies are installed
|
|
236
|
-
- Ensure images have proper `width` and `height` props for the lightbox to display correctly
|
|
237
|
-
|
|
238
|
-
Remember: The goal is consistency. Use Muza UI components as designed to maintain a unified design system across the application.
|
|
1
|
+
# Muza UI Library Integration
|
|
2
|
+
|
|
3
|
+
This project uses the `@vkzstudio/muza-ui` component library. Follow these guidelines when working with Muza UI components.
|
|
4
|
+
|
|
5
|
+
## Quick Reference
|
|
6
|
+
|
|
7
|
+
```tsx
|
|
8
|
+
// Import styles (required - should already be in main entry file)
|
|
9
|
+
// Alternative: import '@vkzstudio/muza-ui/dist/muza-ui.css'
|
|
10
|
+
// Import components
|
|
11
|
+
import { Alert, Button, Input, Select } from '@vkzstudio/muza-ui'
|
|
12
|
+
import '@vkzstudio/muza-ui/styles'
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Component Usage Rules
|
|
16
|
+
|
|
17
|
+
### 1. Always Use Library Components
|
|
18
|
+
|
|
19
|
+
NEVER create new UI components that duplicate Muza UI functionality. Check available components first:
|
|
20
|
+
|
|
21
|
+
**Complete Component List (42 components)**
|
|
22
|
+
|
|
23
|
+
**Form & Input Components (13)**:
|
|
24
|
+
Button, Input, PasswordInput, Textarea, Checkbox, Radio, Switch, Toggle, ToggleGroup, Select, MultiSelect, Searchbar, FileUpload
|
|
25
|
+
|
|
26
|
+
**Layout & Structure (5)**:
|
|
27
|
+
Accordion, Flex, Typography, Dialog, ExpandableTable
|
|
28
|
+
|
|
29
|
+
**Feedback & Status (7)**:
|
|
30
|
+
Alert, Tag, Loader, EmptyState, Snackbar, PinIndicator, SliderIndicators
|
|
31
|
+
|
|
32
|
+
**Navigation (8)**:
|
|
33
|
+
Breadcrumb, DropdownMenu, SegmentedControl, SegmentedIconControl, Stepper, SwipeButton, EdgeButton, LanguageSwitcher
|
|
34
|
+
|
|
35
|
+
**Media & Display (3)**:
|
|
36
|
+
Avatar, Lightbox, Tooltip
|
|
37
|
+
|
|
38
|
+
**Date & Time (3)**:
|
|
39
|
+
Calendar, DatePicker, TimePicker
|
|
40
|
+
|
|
41
|
+
**Specialized (3)**:
|
|
42
|
+
Popover, LoginScreen, Icons
|
|
43
|
+
|
|
44
|
+
### 2. Component Variants
|
|
45
|
+
|
|
46
|
+
Use consistent variants across the app:
|
|
47
|
+
|
|
48
|
+
```tsx
|
|
49
|
+
// Button variants
|
|
50
|
+
variant: "primary" | "secondary" | "tertiary" | "invert" | "dashed" | "link" | "linkInvert"
|
|
51
|
+
size: "xs" | "sm" | "md" | "lg"
|
|
52
|
+
|
|
53
|
+
// Button modifiers (can combine with any variant)
|
|
54
|
+
ghost: boolean // Ghost styling overlay
|
|
55
|
+
danger: boolean // Danger styling overlay
|
|
56
|
+
|
|
57
|
+
// Examples of combinations
|
|
58
|
+
<Button variant="primary" ghost>Ghost Primary</Button>
|
|
59
|
+
<Button variant="secondary" danger>Danger Secondary</Button>
|
|
60
|
+
<Button variant="tertiary" ghost danger>Ghost Danger Tertiary</Button>
|
|
61
|
+
|
|
62
|
+
// Other Button props
|
|
63
|
+
loading, fullWidth, icon, iconPosition
|
|
64
|
+
|
|
65
|
+
// Input states
|
|
66
|
+
<Input error={hasError} disabled={isDisabled} />
|
|
67
|
+
<Input mask="(000) 000-0000" placeholder="Phone" /> // With masking
|
|
68
|
+
|
|
69
|
+
// Alert types (use 'type' not 'variant')
|
|
70
|
+
<Alert type="info" | "success" | "warning" | "error" />
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### 3. Styling Guidelines
|
|
74
|
+
|
|
75
|
+
- **DO NOT** recreate Muza UI components with custom CSS
|
|
76
|
+
- **DO** use the `className` prop to add utility classes when needed
|
|
77
|
+
- **DO** use design tokens for custom components that extend Muza UI
|
|
78
|
+
|
|
79
|
+
```tsx
|
|
80
|
+
// Good - extending with utilities
|
|
81
|
+
<Button className="w-full mt-4" variant="primary">
|
|
82
|
+
Submit
|
|
83
|
+
</Button>
|
|
84
|
+
|
|
85
|
+
// Bad - recreating component styles
|
|
86
|
+
<button className="bg-purple-500 hover:bg-purple-600 px-4 py-2 rounded">
|
|
87
|
+
Submit
|
|
88
|
+
</button>
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
### 4. Form Patterns
|
|
92
|
+
|
|
93
|
+
Always use Muza UI form components:
|
|
94
|
+
|
|
95
|
+
```tsx
|
|
96
|
+
// Good - using library components
|
|
97
|
+
import { Input, Button, Checkbox, Radio } from '@vkzstudio/muza-ui'
|
|
98
|
+
|
|
99
|
+
function Form() {
|
|
100
|
+
return (
|
|
101
|
+
<form>
|
|
102
|
+
<Input name="email" type="email" required />
|
|
103
|
+
<Checkbox id="terms" label="I agree to terms" />
|
|
104
|
+
<Radio value="option1" label="Option 1" />
|
|
105
|
+
<Button type="submit" variant="primary">
|
|
106
|
+
Submit
|
|
107
|
+
</Button>
|
|
108
|
+
</form>
|
|
109
|
+
)
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
// Bad - using native HTML elements
|
|
113
|
+
function Form() {
|
|
114
|
+
return (
|
|
115
|
+
<form>
|
|
116
|
+
<input type="email" />
|
|
117
|
+
<input type="checkbox" />
|
|
118
|
+
<button>Submit</button>
|
|
119
|
+
</form>
|
|
120
|
+
)
|
|
121
|
+
}
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
### 5. Icons
|
|
125
|
+
|
|
126
|
+
Use Muza UI icons from the Solar Icons integration:
|
|
127
|
+
|
|
128
|
+
```tsx
|
|
129
|
+
import { Button } from '@vkzstudio/muza-ui'
|
|
130
|
+
|
|
131
|
+
// Icons are integrated with @solar-icons/react-perf
|
|
132
|
+
// Import from Solar Icons directly in your project
|
|
133
|
+
// Muza UI components support icon props where applicable
|
|
134
|
+
|
|
135
|
+
;<Button icon={<SearchIcon />} iconPosition="start">
|
|
136
|
+
Search
|
|
137
|
+
</Button>
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
### 7. Accessibility
|
|
141
|
+
|
|
142
|
+
All Muza UI components include proper ARIA attributes. Maintain accessibility when extending:
|
|
143
|
+
|
|
144
|
+
```tsx
|
|
145
|
+
<Button aria-label="Save document" aria-busy={isLoading} disabled={isLoading}>
|
|
146
|
+
{isLoading ? 'Saving...' : 'Save'}
|
|
147
|
+
</Button>
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
## TypeScript Integration
|
|
151
|
+
|
|
152
|
+
The library is fully typed. Use the exported types:
|
|
153
|
+
|
|
154
|
+
```tsx
|
|
155
|
+
import type { ButtonProps, InputProps } from '@vkzstudio/muza-ui'
|
|
156
|
+
|
|
157
|
+
interface CustomButtonProps extends ButtonProps {
|
|
158
|
+
customProp?: boolean
|
|
159
|
+
}
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
## Performance Guidelines
|
|
163
|
+
|
|
164
|
+
1. **Import only needed components** - Tree shaking is supported
|
|
165
|
+
2. **Use lazy loading for large components** like Calendar or DatePicker
|
|
166
|
+
3. **Memoize complex forms** when using many Muza UI inputs
|
|
167
|
+
|
|
168
|
+
## DO NOT
|
|
169
|
+
|
|
170
|
+
- Create custom Button, Input, or other basic components
|
|
171
|
+
- Use native HTML form elements when Muza UI equivalents exist
|
|
172
|
+
- Override core component styles with !important
|
|
173
|
+
- Mix different UI libraries (Material-UI, Ant Design, etc.) with Muza UI
|
|
174
|
+
- Create custom toast/notification systems
|
|
175
|
+
|
|
176
|
+
## DO
|
|
177
|
+
|
|
178
|
+
- Use Muza UI components consistently throughout the app
|
|
179
|
+
- Extend components with className for spacing/layout
|
|
180
|
+
- Follow the established variant patterns
|
|
181
|
+
- Maintain accessibility standards
|
|
182
|
+
- Report any missing components or features needed
|
|
183
|
+
|
|
184
|
+
## Package Exports
|
|
185
|
+
|
|
186
|
+
The library supports multiple export paths for flexibility:
|
|
187
|
+
|
|
188
|
+
```tsx
|
|
189
|
+
// Main components export
|
|
190
|
+
import { Button, Input } from '@vkzstudio/muza-ui'
|
|
191
|
+
|
|
192
|
+
// Styles
|
|
193
|
+
import '@vkzstudio/muza-ui/styles'
|
|
194
|
+
|
|
195
|
+
// Individual component exports (tree-shaking friendly)
|
|
196
|
+
import { Button } from '@vkzstudio/muza-ui/components/Button'
|
|
197
|
+
|
|
198
|
+
// Utilities
|
|
199
|
+
import { cn } from '@vkzstudio/muza-ui/utils'
|
|
200
|
+
|
|
201
|
+
// Global styles
|
|
202
|
+
import '@vkzstudio/muza-ui/globals.css'
|
|
203
|
+
|
|
204
|
+
// Third-party library styles (required for components like Lightbox)
|
|
205
|
+
import '@vkzstudio/muza-ui/3rd-parties.css'
|
|
206
|
+
|
|
207
|
+
// 3D Models (for LoginScreen)
|
|
208
|
+
import modelPath from '@vkzstudio/muza-ui/models/Login3D.glb'
|
|
209
|
+
|
|
210
|
+
// Individual style tokens (granular imports)
|
|
211
|
+
import '@vkzstudio/muza-ui/styles/token-colors.css'
|
|
212
|
+
import '@vkzstudio/muza-ui/styles/typography.css'
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
## Troubleshooting
|
|
216
|
+
|
|
217
|
+
If a component isn't rendering:
|
|
218
|
+
|
|
219
|
+
1. Check that `@vkzstudio/muza-ui/styles` is imported in your entry file
|
|
220
|
+
2. Verify React 18+ is installed
|
|
221
|
+
3. Ensure all required peer dependencies are installed (see package.json)
|
|
222
|
+
4. Verify the component is properly imported
|
|
223
|
+
5. Check browser console for errors
|
|
224
|
+
6. Ensure Tailwind CSS is properly configured if using custom utilities
|
|
225
|
+
|
|
226
|
+
**For LoginScreen 3D issues:**
|
|
227
|
+
|
|
228
|
+
- Ensure the GLB file is copied to `public/models/Login3D.glb`
|
|
229
|
+
- Check that `@react-three/fiber`, `@react-three/drei`, and `three` are installed
|
|
230
|
+
- The 3D scene only renders on desktop (screen width > 1024px)
|
|
231
|
+
|
|
232
|
+
**For Lightbox image gallery issues:**
|
|
233
|
+
|
|
234
|
+
- **REQUIRED:** Import third-party styles: `import '@vkzstudio/muza-ui/3rd-parties.css'` in your entry file
|
|
235
|
+
- Check that `photoswipe` and `react-photoswipe-gallery` peer dependencies are installed
|
|
236
|
+
- Ensure images have proper `width` and `height` props for the lightbox to display correctly
|
|
237
|
+
|
|
238
|
+
Remember: The goal is consistency. Use Muza UI components as designed to maintain a unified design system across the application.
|