sonance-brand-mcp 1.1.4 → 1.1.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/dist/assets/components/accordion.stories.tsx +310 -0
- package/dist/assets/components/accordion.tsx +56 -30
- package/dist/assets/components/alert.stories.tsx +199 -0
- package/dist/assets/components/autocomplete.stories.tsx +307 -0
- package/dist/assets/components/autocomplete.tsx +28 -4
- package/dist/assets/components/avatar.stories.tsx +175 -0
- package/dist/assets/components/badge.stories.tsx +258 -0
- package/dist/assets/components/breadcrumbs.stories.tsx +175 -0
- package/dist/assets/components/button.stories.tsx +362 -0
- package/dist/assets/components/button.tsx +48 -3
- package/dist/assets/components/calendar.stories.tsx +247 -0
- package/dist/assets/components/card.stories.tsx +275 -0
- package/dist/assets/components/card.tsx +26 -1
- package/dist/assets/components/checkbox-group.stories.tsx +281 -0
- package/dist/assets/components/checkbox.stories.tsx +160 -0
- package/dist/assets/components/checkbox.tsx +32 -4
- package/dist/assets/components/code.stories.tsx +265 -0
- package/dist/assets/components/date-input.stories.tsx +278 -0
- package/dist/assets/components/date-input.tsx +24 -2
- package/dist/assets/components/date-picker.stories.tsx +337 -0
- package/dist/assets/components/date-picker.tsx +28 -4
- package/dist/assets/components/date-range-picker.stories.tsx +340 -0
- package/dist/assets/components/dialog.stories.tsx +285 -0
- package/dist/assets/components/divider.stories.tsx +176 -0
- package/dist/assets/components/drawer.stories.tsx +216 -0
- package/dist/assets/components/dropdown.stories.tsx +342 -0
- package/dist/assets/components/dropdown.tsx +55 -10
- package/dist/assets/components/form.stories.tsx +372 -0
- package/dist/assets/components/image.stories.tsx +348 -0
- package/dist/assets/components/input-otp.stories.tsx +336 -0
- package/dist/assets/components/input-otp.tsx +24 -2
- package/dist/assets/components/input.stories.tsx +223 -0
- package/dist/assets/components/input.tsx +27 -2
- package/dist/assets/components/kbd.stories.tsx +272 -0
- package/dist/assets/components/link.stories.tsx +199 -0
- package/dist/assets/components/link.tsx +50 -1
- package/dist/assets/components/listbox.stories.tsx +287 -0
- package/dist/assets/components/listbox.tsx +30 -7
- package/dist/assets/components/navbar.stories.tsx +218 -0
- package/dist/assets/components/number-input.stories.tsx +295 -0
- package/dist/assets/components/number-input.tsx +30 -8
- package/dist/assets/components/pagination.stories.tsx +280 -0
- package/dist/assets/components/pagination.tsx +45 -21
- package/dist/assets/components/popover.stories.tsx +219 -0
- package/dist/assets/components/progress.stories.tsx +153 -0
- package/dist/assets/components/radio-group.stories.tsx +187 -0
- package/dist/assets/components/radio-group.tsx +30 -6
- package/dist/assets/components/range-calendar.stories.tsx +334 -0
- package/dist/assets/components/scroll-shadow.stories.tsx +335 -0
- package/dist/assets/components/select.stories.tsx +192 -0
- package/dist/assets/components/select.tsx +54 -7
- package/dist/assets/components/skeleton.stories.tsx +166 -0
- package/dist/assets/components/slider.stories.tsx +145 -0
- package/dist/assets/components/slider.tsx +43 -8
- package/dist/assets/components/spacer.stories.tsx +216 -0
- package/dist/assets/components/spinner.stories.tsx +149 -0
- package/dist/assets/components/switch.stories.tsx +170 -0
- package/dist/assets/components/switch.tsx +29 -4
- package/dist/assets/components/table.stories.tsx +322 -0
- package/dist/assets/components/tabs.stories.tsx +306 -0
- package/dist/assets/components/tabs.tsx +25 -4
- package/dist/assets/components/textarea.stories.tsx +103 -0
- package/dist/assets/components/textarea.tsx +27 -3
- package/dist/assets/components/theme-toggle.stories.tsx +248 -0
- package/dist/assets/components/time-input.stories.tsx +365 -0
- package/dist/assets/components/time-input.tsx +25 -3
- package/dist/assets/components/toast.stories.tsx +195 -0
- package/dist/assets/components/tooltip.stories.tsx +226 -0
- package/dist/assets/components/user.stories.tsx +274 -0
- package/dist/index.js +1649 -13
- package/package.json +1 -1
|
@@ -0,0 +1,258 @@
|
|
|
1
|
+
import type { Meta, StoryObj } from '@storybook/nextjs-vite';
|
|
2
|
+
import { Badge, Chip } from './badge';
|
|
3
|
+
|
|
4
|
+
const meta: Meta<typeof Badge> = {
|
|
5
|
+
title: 'Components/Feedback/Badge',
|
|
6
|
+
component: Badge,
|
|
7
|
+
tags: ['autodocs'],
|
|
8
|
+
parameters: {
|
|
9
|
+
docs: {
|
|
10
|
+
description: {
|
|
11
|
+
component: 'A small status indicator component. Use for labels, counts, or status indicators.',
|
|
12
|
+
},
|
|
13
|
+
},
|
|
14
|
+
},
|
|
15
|
+
argTypes: {
|
|
16
|
+
variant: {
|
|
17
|
+
control: 'select',
|
|
18
|
+
options: ['default', 'primary', 'secondary', 'success', 'error', 'warning', 'info', 'outline'],
|
|
19
|
+
description: 'Visual style variant',
|
|
20
|
+
table: {
|
|
21
|
+
defaultValue: { summary: 'default' },
|
|
22
|
+
},
|
|
23
|
+
},
|
|
24
|
+
size: {
|
|
25
|
+
control: 'select',
|
|
26
|
+
options: ['sm', 'md', 'lg'],
|
|
27
|
+
description: 'Badge size',
|
|
28
|
+
table: {
|
|
29
|
+
defaultValue: { summary: 'md' },
|
|
30
|
+
},
|
|
31
|
+
},
|
|
32
|
+
children: {
|
|
33
|
+
control: 'text',
|
|
34
|
+
description: 'Badge content',
|
|
35
|
+
},
|
|
36
|
+
},
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
export default meta;
|
|
40
|
+
type Story = StoryObj<typeof meta>;
|
|
41
|
+
|
|
42
|
+
// Default story
|
|
43
|
+
export const Default: Story = {
|
|
44
|
+
args: {
|
|
45
|
+
children: 'Badge',
|
|
46
|
+
},
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
// Variants
|
|
50
|
+
export const Primary: Story = {
|
|
51
|
+
args: {
|
|
52
|
+
children: 'Primary',
|
|
53
|
+
variant: 'primary',
|
|
54
|
+
},
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
export const Secondary: Story = {
|
|
58
|
+
args: {
|
|
59
|
+
children: 'Secondary',
|
|
60
|
+
variant: 'secondary',
|
|
61
|
+
},
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
export const Success: Story = {
|
|
65
|
+
args: {
|
|
66
|
+
children: 'Success',
|
|
67
|
+
variant: 'success',
|
|
68
|
+
},
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
export const Error: Story = {
|
|
72
|
+
args: {
|
|
73
|
+
children: 'Error',
|
|
74
|
+
variant: 'error',
|
|
75
|
+
},
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
export const Warning: Story = {
|
|
79
|
+
args: {
|
|
80
|
+
children: 'Warning',
|
|
81
|
+
variant: 'warning',
|
|
82
|
+
},
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
export const Info: Story = {
|
|
86
|
+
args: {
|
|
87
|
+
children: 'Info',
|
|
88
|
+
variant: 'info',
|
|
89
|
+
},
|
|
90
|
+
};
|
|
91
|
+
|
|
92
|
+
export const Outline: Story = {
|
|
93
|
+
args: {
|
|
94
|
+
children: 'Outline',
|
|
95
|
+
variant: 'outline',
|
|
96
|
+
},
|
|
97
|
+
};
|
|
98
|
+
|
|
99
|
+
// All Variants
|
|
100
|
+
export const AllVariants: Story = {
|
|
101
|
+
render: () => (
|
|
102
|
+
<div className="flex flex-wrap gap-2">
|
|
103
|
+
<Badge variant="default">Default</Badge>
|
|
104
|
+
<Badge variant="primary">Primary</Badge>
|
|
105
|
+
<Badge variant="secondary">Secondary</Badge>
|
|
106
|
+
<Badge variant="success">Success</Badge>
|
|
107
|
+
<Badge variant="error">Error</Badge>
|
|
108
|
+
<Badge variant="warning">Warning</Badge>
|
|
109
|
+
<Badge variant="info">Info</Badge>
|
|
110
|
+
<Badge variant="outline">Outline</Badge>
|
|
111
|
+
</div>
|
|
112
|
+
),
|
|
113
|
+
};
|
|
114
|
+
|
|
115
|
+
// All Sizes
|
|
116
|
+
export const AllSizes: Story = {
|
|
117
|
+
render: () => (
|
|
118
|
+
<div className="flex items-center gap-2">
|
|
119
|
+
<Badge size="sm">Small</Badge>
|
|
120
|
+
<Badge size="md">Medium</Badge>
|
|
121
|
+
<Badge size="lg">Large</Badge>
|
|
122
|
+
</div>
|
|
123
|
+
),
|
|
124
|
+
};
|
|
125
|
+
|
|
126
|
+
// Status Examples
|
|
127
|
+
export const StatusExamples: Story = {
|
|
128
|
+
render: () => (
|
|
129
|
+
<div className="space-y-4">
|
|
130
|
+
<div className="flex items-center gap-2">
|
|
131
|
+
<Badge variant="success">Active</Badge>
|
|
132
|
+
<span className="text-foreground-secondary">User account is active</span>
|
|
133
|
+
</div>
|
|
134
|
+
<div className="flex items-center gap-2">
|
|
135
|
+
<Badge variant="warning">Pending</Badge>
|
|
136
|
+
<span className="text-foreground-secondary">Awaiting approval</span>
|
|
137
|
+
</div>
|
|
138
|
+
<div className="flex items-center gap-2">
|
|
139
|
+
<Badge variant="error">Suspended</Badge>
|
|
140
|
+
<span className="text-foreground-secondary">Account suspended</span>
|
|
141
|
+
</div>
|
|
142
|
+
<div className="flex items-center gap-2">
|
|
143
|
+
<Badge variant="info">New</Badge>
|
|
144
|
+
<span className="text-foreground-secondary">Recently added</span>
|
|
145
|
+
</div>
|
|
146
|
+
</div>
|
|
147
|
+
),
|
|
148
|
+
};
|
|
149
|
+
|
|
150
|
+
// Chip Component
|
|
151
|
+
export const ChipDefault: StoryObj<typeof Chip> = {
|
|
152
|
+
render: () => (
|
|
153
|
+
<Chip>Removable Chip</Chip>
|
|
154
|
+
),
|
|
155
|
+
};
|
|
156
|
+
|
|
157
|
+
export const ChipWithClose: StoryObj<typeof Chip> = {
|
|
158
|
+
render: () => (
|
|
159
|
+
<Chip onClose={() => console.log('Closed!')}>
|
|
160
|
+
Click X to Remove
|
|
161
|
+
</Chip>
|
|
162
|
+
),
|
|
163
|
+
};
|
|
164
|
+
|
|
165
|
+
// Chips Example
|
|
166
|
+
export const ChipsExample: Story = {
|
|
167
|
+
render: () => (
|
|
168
|
+
<div className="flex flex-wrap gap-2">
|
|
169
|
+
<Chip variant="primary" onClose={() => {}}>React</Chip>
|
|
170
|
+
<Chip variant="primary" onClose={() => {}}>TypeScript</Chip>
|
|
171
|
+
<Chip variant="primary" onClose={() => {}}>Tailwind</Chip>
|
|
172
|
+
<Chip variant="secondary" onClose={() => {}}>Next.js</Chip>
|
|
173
|
+
<Chip variant="secondary" onClose={() => {}}>Storybook</Chip>
|
|
174
|
+
</div>
|
|
175
|
+
),
|
|
176
|
+
};
|
|
177
|
+
|
|
178
|
+
// Count Badges
|
|
179
|
+
export const CountBadges: Story = {
|
|
180
|
+
render: () => (
|
|
181
|
+
<div className="flex items-center gap-6">
|
|
182
|
+
<div className="relative">
|
|
183
|
+
<span className="text-foreground">Notifications</span>
|
|
184
|
+
<Badge variant="error" size="sm" className="absolute -top-2 -right-6">3</Badge>
|
|
185
|
+
</div>
|
|
186
|
+
<div className="relative">
|
|
187
|
+
<span className="text-foreground">Messages</span>
|
|
188
|
+
<Badge variant="primary" size="sm" className="absolute -top-2 -right-6">12</Badge>
|
|
189
|
+
</div>
|
|
190
|
+
<div className="relative">
|
|
191
|
+
<span className="text-foreground">Cart</span>
|
|
192
|
+
<Badge variant="info" size="sm" className="absolute -top-2 -right-4">5</Badge>
|
|
193
|
+
</div>
|
|
194
|
+
</div>
|
|
195
|
+
),
|
|
196
|
+
};
|
|
197
|
+
|
|
198
|
+
// Responsive Matrix - Mobile, Tablet, Desktop
|
|
199
|
+
export const ResponsiveMatrix: Story = {
|
|
200
|
+
render: () => (
|
|
201
|
+
<div className="space-y-8">
|
|
202
|
+
{/* Mobile */}
|
|
203
|
+
<div>
|
|
204
|
+
<h4 className="text-xs uppercase text-foreground-muted mb-2">Mobile (375px)</h4>
|
|
205
|
+
<div className="w-[375px] border border-dashed border-border p-4">
|
|
206
|
+
<div className="flex flex-wrap gap-2">
|
|
207
|
+
<Badge variant="primary">Primary</Badge>
|
|
208
|
+
<Badge variant="success">Success</Badge>
|
|
209
|
+
<Badge variant="error">Error</Badge>
|
|
210
|
+
<Badge variant="warning">Warning</Badge>
|
|
211
|
+
<Badge variant="info">Info</Badge>
|
|
212
|
+
</div>
|
|
213
|
+
</div>
|
|
214
|
+
</div>
|
|
215
|
+
{/* Tablet */}
|
|
216
|
+
<div>
|
|
217
|
+
<h4 className="text-xs uppercase text-foreground-muted mb-2">Tablet (768px)</h4>
|
|
218
|
+
<div className="w-[768px] border border-dashed border-border p-4">
|
|
219
|
+
<div className="flex items-center gap-4">
|
|
220
|
+
<div className="flex gap-2">
|
|
221
|
+
<Badge variant="primary" size="sm">Small</Badge>
|
|
222
|
+
<Badge variant="primary" size="md">Medium</Badge>
|
|
223
|
+
<Badge variant="primary" size="lg">Large</Badge>
|
|
224
|
+
</div>
|
|
225
|
+
<div className="flex gap-2">
|
|
226
|
+
<Badge variant="success">Active</Badge>
|
|
227
|
+
<Badge variant="warning">Pending</Badge>
|
|
228
|
+
<Badge variant="error">Inactive</Badge>
|
|
229
|
+
</div>
|
|
230
|
+
</div>
|
|
231
|
+
</div>
|
|
232
|
+
</div>
|
|
233
|
+
{/* Desktop */}
|
|
234
|
+
<div>
|
|
235
|
+
<h4 className="text-xs uppercase text-foreground-muted mb-2">Desktop (1280px)</h4>
|
|
236
|
+
<div className="w-[1280px] border border-dashed border-border p-4">
|
|
237
|
+
<div className="flex items-center justify-between">
|
|
238
|
+
<div className="flex gap-2">
|
|
239
|
+
<Badge variant="default">Default</Badge>
|
|
240
|
+
<Badge variant="primary">Primary</Badge>
|
|
241
|
+
<Badge variant="secondary">Secondary</Badge>
|
|
242
|
+
<Badge variant="success">Success</Badge>
|
|
243
|
+
<Badge variant="error">Error</Badge>
|
|
244
|
+
<Badge variant="warning">Warning</Badge>
|
|
245
|
+
<Badge variant="info">Info</Badge>
|
|
246
|
+
<Badge variant="outline">Outline</Badge>
|
|
247
|
+
</div>
|
|
248
|
+
<div className="flex gap-2">
|
|
249
|
+
<Chip variant="primary" onClose={() => {}}>React</Chip>
|
|
250
|
+
<Chip variant="primary" onClose={() => {}}>TypeScript</Chip>
|
|
251
|
+
<Chip variant="secondary" onClose={() => {}}>Tailwind</Chip>
|
|
252
|
+
</div>
|
|
253
|
+
</div>
|
|
254
|
+
</div>
|
|
255
|
+
</div>
|
|
256
|
+
</div>
|
|
257
|
+
),
|
|
258
|
+
};
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
import type { Meta, StoryObj } from '@storybook/nextjs-vite';
|
|
2
|
+
import { Breadcrumbs } from './breadcrumbs';
|
|
3
|
+
import { Folder } from 'lucide-react';
|
|
4
|
+
|
|
5
|
+
const meta: Meta<typeof Breadcrumbs> = {
|
|
6
|
+
title: 'Components/Navigation/Breadcrumbs',
|
|
7
|
+
component: Breadcrumbs,
|
|
8
|
+
tags: ['autodocs'],
|
|
9
|
+
parameters: {
|
|
10
|
+
docs: {
|
|
11
|
+
description: {
|
|
12
|
+
component: 'A breadcrumb navigation component for showing the current page location.',
|
|
13
|
+
},
|
|
14
|
+
},
|
|
15
|
+
},
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
export default meta;
|
|
19
|
+
type Story = StoryObj<typeof meta>;
|
|
20
|
+
|
|
21
|
+
export const Default: Story = {
|
|
22
|
+
args: {
|
|
23
|
+
items: [
|
|
24
|
+
{ label: 'Products', href: '#' },
|
|
25
|
+
{ label: 'Speakers', href: '#' },
|
|
26
|
+
{ label: 'In-Wall', href: '#' },
|
|
27
|
+
{ label: 'VP66 TL' },
|
|
28
|
+
],
|
|
29
|
+
},
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
export const WithHome: Story = {
|
|
33
|
+
args: {
|
|
34
|
+
showHome: true,
|
|
35
|
+
items: [
|
|
36
|
+
{ label: 'Products', href: '#' },
|
|
37
|
+
{ label: 'Speakers', href: '#' },
|
|
38
|
+
{ label: 'VP66 TL' },
|
|
39
|
+
],
|
|
40
|
+
},
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
export const TwoLevels: Story = {
|
|
44
|
+
args: {
|
|
45
|
+
items: [
|
|
46
|
+
{ label: 'Dashboard', href: '#' },
|
|
47
|
+
{ label: 'Settings' },
|
|
48
|
+
],
|
|
49
|
+
},
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
export const WithIcons: Story = {
|
|
53
|
+
args: {
|
|
54
|
+
items: [
|
|
55
|
+
{ label: 'Documents', href: '#', icon: <Folder className="h-4 w-4" /> },
|
|
56
|
+
{ label: 'Projects', href: '#', icon: <Folder className="h-4 w-4" /> },
|
|
57
|
+
{ label: 'Report.pdf' },
|
|
58
|
+
],
|
|
59
|
+
},
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
export const CustomSeparator: Story = {
|
|
63
|
+
args: {
|
|
64
|
+
separator: <span className="text-foreground-muted">/</span>,
|
|
65
|
+
items: [
|
|
66
|
+
{ label: 'Home', href: '#' },
|
|
67
|
+
{ label: 'Category', href: '#' },
|
|
68
|
+
{ label: 'Subcategory', href: '#' },
|
|
69
|
+
{ label: 'Current Page' },
|
|
70
|
+
],
|
|
71
|
+
},
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
export const LongPath: Story = {
|
|
75
|
+
args: {
|
|
76
|
+
showHome: true,
|
|
77
|
+
items: [
|
|
78
|
+
{ label: 'Electronics', href: '#' },
|
|
79
|
+
{ label: 'Audio', href: '#' },
|
|
80
|
+
{ label: 'Speakers', href: '#' },
|
|
81
|
+
{ label: 'In-Wall Speakers', href: '#' },
|
|
82
|
+
{ label: 'Premium Series', href: '#' },
|
|
83
|
+
{ label: 'VP66 TL' },
|
|
84
|
+
],
|
|
85
|
+
},
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
export const AllExamples: Story = {
|
|
89
|
+
render: () => (
|
|
90
|
+
<div className="space-y-6">
|
|
91
|
+
<div>
|
|
92
|
+
<p className="text-xs text-foreground-muted mb-2">Simple</p>
|
|
93
|
+
<Breadcrumbs
|
|
94
|
+
items={[
|
|
95
|
+
{ label: 'Home', href: '#' },
|
|
96
|
+
{ label: 'Current Page' },
|
|
97
|
+
]}
|
|
98
|
+
/>
|
|
99
|
+
</div>
|
|
100
|
+
<div>
|
|
101
|
+
<p className="text-xs text-foreground-muted mb-2">With Home Icon</p>
|
|
102
|
+
<Breadcrumbs
|
|
103
|
+
showHome
|
|
104
|
+
items={[
|
|
105
|
+
{ label: 'Products', href: '#' },
|
|
106
|
+
{ label: 'Details' },
|
|
107
|
+
]}
|
|
108
|
+
/>
|
|
109
|
+
</div>
|
|
110
|
+
<div>
|
|
111
|
+
<p className="text-xs text-foreground-muted mb-2">Deep Navigation</p>
|
|
112
|
+
<Breadcrumbs
|
|
113
|
+
items={[
|
|
114
|
+
{ label: 'Level 1', href: '#' },
|
|
115
|
+
{ label: 'Level 2', href: '#' },
|
|
116
|
+
{ label: 'Level 3', href: '#' },
|
|
117
|
+
{ label: 'Level 4' },
|
|
118
|
+
]}
|
|
119
|
+
/>
|
|
120
|
+
</div>
|
|
121
|
+
</div>
|
|
122
|
+
),
|
|
123
|
+
};
|
|
124
|
+
|
|
125
|
+
// Responsive Matrix - Mobile, Tablet, Desktop
|
|
126
|
+
export const ResponsiveMatrix: Story = {
|
|
127
|
+
render: () => (
|
|
128
|
+
<div className="space-y-8">
|
|
129
|
+
{/* Mobile */}
|
|
130
|
+
<div>
|
|
131
|
+
<h4 className="text-xs uppercase text-foreground-muted mb-2">Mobile (375px)</h4>
|
|
132
|
+
<div className="w-[375px] border border-dashed border-border p-4">
|
|
133
|
+
<Breadcrumbs
|
|
134
|
+
items={[
|
|
135
|
+
{ label: 'Products', href: '#' },
|
|
136
|
+
{ label: 'VP66 TL' },
|
|
137
|
+
]}
|
|
138
|
+
/>
|
|
139
|
+
</div>
|
|
140
|
+
</div>
|
|
141
|
+
{/* Tablet */}
|
|
142
|
+
<div>
|
|
143
|
+
<h4 className="text-xs uppercase text-foreground-muted mb-2">Tablet (768px)</h4>
|
|
144
|
+
<div className="w-[768px] border border-dashed border-border p-4">
|
|
145
|
+
<Breadcrumbs
|
|
146
|
+
showHome
|
|
147
|
+
items={[
|
|
148
|
+
{ label: 'Products', href: '#' },
|
|
149
|
+
{ label: 'Speakers', href: '#' },
|
|
150
|
+
{ label: 'In-Wall', href: '#' },
|
|
151
|
+
{ label: 'VP66 TL' },
|
|
152
|
+
]}
|
|
153
|
+
/>
|
|
154
|
+
</div>
|
|
155
|
+
</div>
|
|
156
|
+
{/* Desktop */}
|
|
157
|
+
<div>
|
|
158
|
+
<h4 className="text-xs uppercase text-foreground-muted mb-2">Desktop (1280px)</h4>
|
|
159
|
+
<div className="w-[1280px] border border-dashed border-border p-4">
|
|
160
|
+
<Breadcrumbs
|
|
161
|
+
showHome
|
|
162
|
+
items={[
|
|
163
|
+
{ label: 'Electronics', href: '#' },
|
|
164
|
+
{ label: 'Audio', href: '#' },
|
|
165
|
+
{ label: 'Speakers', href: '#' },
|
|
166
|
+
{ label: 'In-Wall Speakers', href: '#' },
|
|
167
|
+
{ label: 'Premium Series', href: '#' },
|
|
168
|
+
{ label: 'VP66 TL' },
|
|
169
|
+
]}
|
|
170
|
+
/>
|
|
171
|
+
</div>
|
|
172
|
+
</div>
|
|
173
|
+
</div>
|
|
174
|
+
),
|
|
175
|
+
};
|