@neynar/ui 0.1.1
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/LICENSE +21 -0
- package/README.md +195 -0
- package/dist/components/ui/accordion.d.ts +229 -0
- package/dist/components/ui/accordion.d.ts.map +1 -0
- package/dist/components/ui/alert-dialog.d.ts +247 -0
- package/dist/components/ui/alert-dialog.d.ts.map +1 -0
- package/dist/components/ui/alert.d.ts +187 -0
- package/dist/components/ui/alert.d.ts.map +1 -0
- package/dist/components/ui/aspect-ratio.d.ts +94 -0
- package/dist/components/ui/aspect-ratio.d.ts.map +1 -0
- package/dist/components/ui/avatar.d.ts +244 -0
- package/dist/components/ui/avatar.d.ts.map +1 -0
- package/dist/components/ui/badge.d.ts +163 -0
- package/dist/components/ui/badge.d.ts.map +1 -0
- package/dist/components/ui/breadcrumb.d.ts +281 -0
- package/dist/components/ui/breadcrumb.d.ts.map +1 -0
- package/dist/components/ui/button.d.ts +129 -0
- package/dist/components/ui/button.d.ts.map +1 -0
- package/dist/components/ui/calendar.d.ts +169 -0
- package/dist/components/ui/calendar.d.ts.map +1 -0
- package/dist/components/ui/card.d.ts +365 -0
- package/dist/components/ui/card.d.ts.map +1 -0
- package/dist/components/ui/carousel.d.ts +369 -0
- package/dist/components/ui/carousel.d.ts.map +1 -0
- package/dist/components/ui/chart.d.ts +442 -0
- package/dist/components/ui/chart.d.ts.map +1 -0
- package/dist/components/ui/checkbox.d.ts +88 -0
- package/dist/components/ui/checkbox.d.ts.map +1 -0
- package/dist/components/ui/collapsible.d.ts +182 -0
- package/dist/components/ui/collapsible.d.ts.map +1 -0
- package/dist/components/ui/combobox.d.ts +270 -0
- package/dist/components/ui/combobox.d.ts.map +1 -0
- package/dist/components/ui/command.d.ts +355 -0
- package/dist/components/ui/command.d.ts.map +1 -0
- package/dist/components/ui/container.d.ts +102 -0
- package/dist/components/ui/container.d.ts.map +1 -0
- package/dist/components/ui/context-menu.d.ts +339 -0
- package/dist/components/ui/context-menu.d.ts.map +1 -0
- package/dist/components/ui/date-picker.d.ts +145 -0
- package/dist/components/ui/date-picker.d.ts.map +1 -0
- package/dist/components/ui/dialog.d.ts +322 -0
- package/dist/components/ui/dialog.d.ts.map +1 -0
- package/dist/components/ui/drawer.d.ts +154 -0
- package/dist/components/ui/drawer.d.ts.map +1 -0
- package/dist/components/ui/dropdown-menu.d.ts +349 -0
- package/dist/components/ui/dropdown-menu.d.ts.map +1 -0
- package/dist/components/ui/empty-state.d.ts +133 -0
- package/dist/components/ui/empty-state.d.ts.map +1 -0
- package/dist/components/ui/hover-card.d.ts +109 -0
- package/dist/components/ui/hover-card.d.ts.map +1 -0
- package/dist/components/ui/input.d.ts +89 -0
- package/dist/components/ui/input.d.ts.map +1 -0
- package/dist/components/ui/label.d.ts +93 -0
- package/dist/components/ui/label.d.ts.map +1 -0
- package/dist/components/ui/menubar.d.ts +306 -0
- package/dist/components/ui/menubar.d.ts.map +1 -0
- package/dist/components/ui/navigation-menu.d.ts +318 -0
- package/dist/components/ui/navigation-menu.d.ts.map +1 -0
- package/dist/components/ui/pagination.d.ts +343 -0
- package/dist/components/ui/pagination.d.ts.map +1 -0
- package/dist/components/ui/popover.d.ts +178 -0
- package/dist/components/ui/popover.d.ts.map +1 -0
- package/dist/components/ui/progress.d.ts +64 -0
- package/dist/components/ui/progress.d.ts.map +1 -0
- package/dist/components/ui/radio-group.d.ts +144 -0
- package/dist/components/ui/radio-group.d.ts.map +1 -0
- package/dist/components/ui/resizable.d.ts +164 -0
- package/dist/components/ui/resizable.d.ts.map +1 -0
- package/dist/components/ui/scroll-area.d.ts +82 -0
- package/dist/components/ui/scroll-area.d.ts.map +1 -0
- package/dist/components/ui/select.d.ts +316 -0
- package/dist/components/ui/select.d.ts.map +1 -0
- package/dist/components/ui/separator.d.ts +80 -0
- package/dist/components/ui/separator.d.ts.map +1 -0
- package/dist/components/ui/sheet.d.ts +346 -0
- package/dist/components/ui/sheet.d.ts.map +1 -0
- package/dist/components/ui/sidebar.d.ts +1561 -0
- package/dist/components/ui/sidebar.d.ts.map +1 -0
- package/dist/components/ui/skeleton.d.ts +66 -0
- package/dist/components/ui/skeleton.d.ts.map +1 -0
- package/dist/components/ui/slider.d.ts +95 -0
- package/dist/components/ui/slider.d.ts.map +1 -0
- package/dist/components/ui/sonner.d.ts +101 -0
- package/dist/components/ui/sonner.d.ts.map +1 -0
- package/dist/components/ui/stack.d.ts +192 -0
- package/dist/components/ui/stack.d.ts.map +1 -0
- package/dist/components/ui/stories/accordion.stories.d.ts +71 -0
- package/dist/components/ui/stories/accordion.stories.d.ts.map +1 -0
- package/dist/components/ui/stories/alert-dialog.stories.d.ts +39 -0
- package/dist/components/ui/stories/alert-dialog.stories.d.ts.map +1 -0
- package/dist/components/ui/stories/alert.stories.d.ts +48 -0
- package/dist/components/ui/stories/alert.stories.d.ts.map +1 -0
- package/dist/components/ui/stories/aspect-ratio.stories.d.ts +53 -0
- package/dist/components/ui/stories/aspect-ratio.stories.d.ts.map +1 -0
- package/dist/components/ui/stories/avatar.stories.d.ts +49 -0
- package/dist/components/ui/stories/avatar.stories.d.ts.map +1 -0
- package/dist/components/ui/stories/badge.stories.d.ts +64 -0
- package/dist/components/ui/stories/badge.stories.d.ts.map +1 -0
- package/dist/components/ui/stories/breadcrumb.stories.d.ts +27 -0
- package/dist/components/ui/stories/breadcrumb.stories.d.ts.map +1 -0
- package/dist/components/ui/stories/button.stories.d.ts +92 -0
- package/dist/components/ui/stories/button.stories.d.ts.map +1 -0
- package/dist/components/ui/stories/calendar.stories.d.ts +94 -0
- package/dist/components/ui/stories/calendar.stories.d.ts.map +1 -0
- package/dist/components/ui/stories/card.stories.d.ts +29 -0
- package/dist/components/ui/stories/card.stories.d.ts.map +1 -0
- package/dist/components/ui/stories/carousel.stories.d.ts +42 -0
- package/dist/components/ui/stories/carousel.stories.d.ts.map +1 -0
- package/dist/components/ui/stories/chart.stories.d.ts +51 -0
- package/dist/components/ui/stories/chart.stories.d.ts.map +1 -0
- package/dist/components/ui/stories/checkbox.stories.d.ts +72 -0
- package/dist/components/ui/stories/checkbox.stories.d.ts.map +1 -0
- package/dist/components/ui/stories/cn.stories.d.ts +19 -0
- package/dist/components/ui/stories/cn.stories.d.ts.map +1 -0
- package/dist/components/ui/stories/collapsible.stories.d.ts +51 -0
- package/dist/components/ui/stories/collapsible.stories.d.ts.map +1 -0
- package/dist/components/ui/stories/colors.stories.d.ts +31 -0
- package/dist/components/ui/stories/colors.stories.d.ts.map +1 -0
- package/dist/components/ui/stories/combobox.stories.d.ts +89 -0
- package/dist/components/ui/stories/combobox.stories.d.ts.map +1 -0
- package/dist/components/ui/stories/command.stories.d.ts +69 -0
- package/dist/components/ui/stories/command.stories.d.ts.map +1 -0
- package/dist/components/ui/stories/container.stories.d.ts +42 -0
- package/dist/components/ui/stories/container.stories.d.ts.map +1 -0
- package/dist/components/ui/stories/context-menu.stories.d.ts +32 -0
- package/dist/components/ui/stories/context-menu.stories.d.ts.map +1 -0
- package/dist/components/ui/stories/date-picker.stories.d.ts +67 -0
- package/dist/components/ui/stories/date-picker.stories.d.ts.map +1 -0
- package/dist/components/ui/stories/dialog.stories.d.ts +48 -0
- package/dist/components/ui/stories/dialog.stories.d.ts.map +1 -0
- package/dist/components/ui/stories/drawer.stories.d.ts +33 -0
- package/dist/components/ui/stories/drawer.stories.d.ts.map +1 -0
- package/dist/components/ui/stories/dropdown-menu.stories.d.ts +31 -0
- package/dist/components/ui/stories/dropdown-menu.stories.d.ts.map +1 -0
- package/dist/components/ui/stories/empty-state.stories.d.ts +74 -0
- package/dist/components/ui/stories/empty-state.stories.d.ts.map +1 -0
- package/dist/components/ui/stories/hover-card.stories.d.ts +35 -0
- package/dist/components/ui/stories/hover-card.stories.d.ts.map +1 -0
- package/dist/components/ui/stories/input.stories.d.ts +69 -0
- package/dist/components/ui/stories/input.stories.d.ts.map +1 -0
- package/dist/components/ui/stories/label.stories.d.ts +47 -0
- package/dist/components/ui/stories/label.stories.d.ts.map +1 -0
- package/dist/components/ui/stories/menubar.stories.d.ts +39 -0
- package/dist/components/ui/stories/menubar.stories.d.ts.map +1 -0
- package/dist/components/ui/stories/navigation-menu.stories.d.ts +44 -0
- package/dist/components/ui/stories/navigation-menu.stories.d.ts.map +1 -0
- package/dist/components/ui/stories/pagination.stories.d.ts +33 -0
- package/dist/components/ui/stories/pagination.stories.d.ts.map +1 -0
- package/dist/components/ui/stories/popover.stories.d.ts +36 -0
- package/dist/components/ui/stories/popover.stories.d.ts.map +1 -0
- package/dist/components/ui/stories/progress.stories.d.ts +38 -0
- package/dist/components/ui/stories/progress.stories.d.ts.map +1 -0
- package/dist/components/ui/stories/radio-group.stories.d.ts +76 -0
- package/dist/components/ui/stories/radio-group.stories.d.ts.map +1 -0
- package/dist/components/ui/stories/resizable.stories.d.ts +49 -0
- package/dist/components/ui/stories/resizable.stories.d.ts.map +1 -0
- package/dist/components/ui/stories/scroll-area.stories.d.ts +35 -0
- package/dist/components/ui/stories/scroll-area.stories.d.ts.map +1 -0
- package/dist/components/ui/stories/select.stories.d.ts +51 -0
- package/dist/components/ui/stories/select.stories.d.ts.map +1 -0
- package/dist/components/ui/stories/separator.stories.d.ts +58 -0
- package/dist/components/ui/stories/separator.stories.d.ts.map +1 -0
- package/dist/components/ui/stories/sheet.stories.d.ts +43 -0
- package/dist/components/ui/stories/sheet.stories.d.ts.map +1 -0
- package/dist/components/ui/stories/sidebar.stories.d.ts +60 -0
- package/dist/components/ui/stories/sidebar.stories.d.ts.map +1 -0
- package/dist/components/ui/stories/skeleton.stories.d.ts +42 -0
- package/dist/components/ui/stories/skeleton.stories.d.ts.map +1 -0
- package/dist/components/ui/stories/slider.stories.d.ts +99 -0
- package/dist/components/ui/stories/slider.stories.d.ts.map +1 -0
- package/dist/components/ui/stories/sonner.stories.d.ts +9 -0
- package/dist/components/ui/stories/sonner.stories.d.ts.map +1 -0
- package/dist/components/ui/stories/stack.stories.d.ts +39 -0
- package/dist/components/ui/stories/stack.stories.d.ts.map +1 -0
- package/dist/components/ui/stories/switch.stories.d.ts +71 -0
- package/dist/components/ui/stories/switch.stories.d.ts.map +1 -0
- package/dist/components/ui/stories/table.stories.d.ts +40 -0
- package/dist/components/ui/stories/table.stories.d.ts.map +1 -0
- package/dist/components/ui/stories/tabs.stories.d.ts +62 -0
- package/dist/components/ui/stories/tabs.stories.d.ts.map +1 -0
- package/dist/components/ui/stories/text-field.stories.d.ts +78 -0
- package/dist/components/ui/stories/text-field.stories.d.ts.map +1 -0
- package/dist/components/ui/stories/textarea.stories.d.ts +57 -0
- package/dist/components/ui/stories/textarea.stories.d.ts.map +1 -0
- package/dist/components/ui/stories/theme-toggle.stories.d.ts +71 -0
- package/dist/components/ui/stories/theme-toggle.stories.d.ts.map +1 -0
- package/dist/components/ui/stories/theme.stories.d.ts +51 -0
- package/dist/components/ui/stories/theme.stories.d.ts.map +1 -0
- package/dist/components/ui/stories/toggle-group.stories.d.ts +71 -0
- package/dist/components/ui/stories/toggle-group.stories.d.ts.map +1 -0
- package/dist/components/ui/stories/toggle.stories.d.ts +78 -0
- package/dist/components/ui/stories/toggle.stories.d.ts.map +1 -0
- package/dist/components/ui/stories/tooltip.stories.d.ts +37 -0
- package/dist/components/ui/stories/tooltip.stories.d.ts.map +1 -0
- package/dist/components/ui/stories/typography.stories.d.ts +137 -0
- package/dist/components/ui/stories/typography.stories.d.ts.map +1 -0
- package/dist/components/ui/stories/use-mobile.stories.d.ts +20 -0
- package/dist/components/ui/stories/use-mobile.stories.d.ts.map +1 -0
- package/dist/components/ui/stories/use-theme.stories.d.ts +23 -0
- package/dist/components/ui/stories/use-theme.stories.d.ts.map +1 -0
- package/dist/components/ui/switch.d.ts +84 -0
- package/dist/components/ui/switch.d.ts.map +1 -0
- package/dist/components/ui/table.d.ts +321 -0
- package/dist/components/ui/table.d.ts.map +1 -0
- package/dist/components/ui/tabs.d.ts +260 -0
- package/dist/components/ui/tabs.d.ts.map +1 -0
- package/dist/components/ui/text-field.d.ts +157 -0
- package/dist/components/ui/text-field.d.ts.map +1 -0
- package/dist/components/ui/textarea.d.ts +84 -0
- package/dist/components/ui/textarea.d.ts.map +1 -0
- package/dist/components/ui/theme-toggle.d.ts +105 -0
- package/dist/components/ui/theme-toggle.d.ts.map +1 -0
- package/dist/components/ui/theme.d.ts +110 -0
- package/dist/components/ui/theme.d.ts.map +1 -0
- package/dist/components/ui/toggle-group.d.ts +133 -0
- package/dist/components/ui/toggle-group.d.ts.map +1 -0
- package/dist/components/ui/toggle.d.ts +84 -0
- package/dist/components/ui/toggle.d.ts.map +1 -0
- package/dist/components/ui/tooltip.d.ts +202 -0
- package/dist/components/ui/tooltip.d.ts.map +1 -0
- package/dist/components/ui/typography.d.ts +287 -0
- package/dist/components/ui/typography.d.ts.map +1 -0
- package/dist/hooks/use-mobile.d.ts +74 -0
- package/dist/hooks/use-mobile.d.ts.map +1 -0
- package/dist/hooks/use-theme.d.ts +142 -0
- package/dist/hooks/use-theme.d.ts.map +1 -0
- package/dist/index.d.ts +57 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +27498 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/utils.d.ts +43 -0
- package/dist/lib/utils.d.ts.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/docs/llm/colors.md +273 -0
- package/docs/llm/components/buttons.md +68 -0
- package/docs/llm/components/cards.md +53 -0
- package/docs/llm/components/display.md +134 -0
- package/docs/llm/components/feedback.md +96 -0
- package/docs/llm/components/forms.md +90 -0
- package/docs/llm/components/layout.md +59 -0
- package/docs/llm/components/menus.md +70 -0
- package/docs/llm/components/navigation.md +80 -0
- package/docs/llm/components/overlays.md +83 -0
- package/docs/llm/components/tables.md +73 -0
- package/docs/llm/components/typography.md +199 -0
- package/docs/llm/components/utilities.md +114 -0
- package/docs/llm/guide.md +165 -0
- package/llms.txt +122 -0
- package/package.json +104 -0
- package/src/components/ui/accordion.tsx +285 -0
- package/src/components/ui/alert-dialog.tsx +387 -0
- package/src/components/ui/alert.tsx +243 -0
- package/src/components/ui/aspect-ratio.tsx +99 -0
- package/src/components/ui/avatar.tsx +288 -0
- package/src/components/ui/badge.tsx +205 -0
- package/src/components/ui/breadcrumb.tsx +378 -0
- package/src/components/ui/button.tsx +195 -0
- package/src/components/ui/calendar.tsx +371 -0
- package/src/components/ui/card.tsx +447 -0
- package/src/components/ui/carousel.tsx +624 -0
- package/src/components/ui/chart.tsx +802 -0
- package/src/components/ui/checkbox.tsx +113 -0
- package/src/components/ui/collapsible.tsx +207 -0
- package/src/components/ui/combobox.tsx +373 -0
- package/src/components/ui/command.tsx +518 -0
- package/src/components/ui/container.tsx +114 -0
- package/src/components/ui/context-menu.tsx +563 -0
- package/src/components/ui/date-picker.tsx +213 -0
- package/src/components/ui/dialog.tsx +447 -0
- package/src/components/ui/drawer.tsx +273 -0
- package/src/components/ui/dropdown-menu.tsx +578 -0
- package/src/components/ui/empty-state.tsx +145 -0
- package/src/components/ui/hover-card.tsx +144 -0
- package/src/components/ui/input.tsx +106 -0
- package/src/components/ui/label.tsx +110 -0
- package/src/components/ui/menubar.tsx +553 -0
- package/src/components/ui/navigation-menu.tsx +471 -0
- package/src/components/ui/pagination.tsx +456 -0
- package/src/components/ui/popover.tsx +216 -0
- package/src/components/ui/progress.tsx +88 -0
- package/src/components/ui/radio-group.tsx +183 -0
- package/src/components/ui/resizable.tsx +209 -0
- package/src/components/ui/scroll-area.tsx +132 -0
- package/src/components/ui/select.tsx +485 -0
- package/src/components/ui/separator.tsx +101 -0
- package/src/components/ui/sheet.tsx +495 -0
- package/src/components/ui/sidebar.tsx +2211 -0
- package/src/components/ui/skeleton.tsx +76 -0
- package/src/components/ui/slider.tsx +147 -0
- package/src/components/ui/sonner.tsx +120 -0
- package/src/components/ui/stack.tsx +180 -0
- package/src/components/ui/stories/accordion.stories.tsx +429 -0
- package/src/components/ui/stories/alert-dialog.stories.tsx +519 -0
- package/src/components/ui/stories/alert.stories.tsx +228 -0
- package/src/components/ui/stories/aspect-ratio.stories.tsx +200 -0
- package/src/components/ui/stories/avatar.stories.tsx +317 -0
- package/src/components/ui/stories/badge.stories.tsx +260 -0
- package/src/components/ui/stories/breadcrumb.stories.tsx +482 -0
- package/src/components/ui/stories/button.stories.tsx +266 -0
- package/src/components/ui/stories/calendar.stories.tsx +375 -0
- package/src/components/ui/stories/card.stories.tsx +308 -0
- package/src/components/ui/stories/carousel.stories.tsx +328 -0
- package/src/components/ui/stories/chart.stories.tsx +430 -0
- package/src/components/ui/stories/checkbox.stories.tsx +297 -0
- package/src/components/ui/stories/cn.stories.tsx +433 -0
- package/src/components/ui/stories/collapsible.stories.tsx +256 -0
- package/src/components/ui/stories/colors.stories.tsx +502 -0
- package/src/components/ui/stories/combobox.stories.tsx +301 -0
- package/src/components/ui/stories/command.stories.tsx +632 -0
- package/src/components/ui/stories/container.stories.tsx +250 -0
- package/src/components/ui/stories/context-menu.stories.tsx +446 -0
- package/src/components/ui/stories/date-picker.stories.tsx +378 -0
- package/src/components/ui/stories/dialog.stories.tsx +535 -0
- package/src/components/ui/stories/drawer.stories.tsx +364 -0
- package/src/components/ui/stories/dropdown-menu.stories.tsx +374 -0
- package/src/components/ui/stories/empty-state.stories.tsx +244 -0
- package/src/components/ui/stories/hover-card.stories.tsx +355 -0
- package/src/components/ui/stories/input.stories.tsx +289 -0
- package/src/components/ui/stories/label.stories.tsx +294 -0
- package/src/components/ui/stories/menubar.stories.tsx +764 -0
- package/src/components/ui/stories/navigation-menu.stories.tsx +539 -0
- package/src/components/ui/stories/pagination.stories.tsx +604 -0
- package/src/components/ui/stories/popover.stories.tsx +392 -0
- package/src/components/ui/stories/progress.stories.tsx +218 -0
- package/src/components/ui/stories/radio-group.stories.tsx +400 -0
- package/src/components/ui/stories/resizable.stories.tsx +417 -0
- package/src/components/ui/stories/scroll-area.stories.tsx +180 -0
- package/src/components/ui/stories/select.stories.tsx +389 -0
- package/src/components/ui/stories/separator.stories.tsx +192 -0
- package/src/components/ui/stories/sheet.stories.tsx +468 -0
- package/src/components/ui/stories/sidebar.stories.tsx +731 -0
- package/src/components/ui/stories/skeleton.stories.tsx +216 -0
- package/src/components/ui/stories/slider.stories.tsx +321 -0
- package/src/components/ui/stories/sonner.stories.tsx +373 -0
- package/src/components/ui/stories/stack.stories.tsx +222 -0
- package/src/components/ui/stories/switch.stories.tsx +202 -0
- package/src/components/ui/stories/table.stories.tsx +541 -0
- package/src/components/ui/stories/tabs.stories.tsx +544 -0
- package/src/components/ui/stories/text-field.stories.tsx +280 -0
- package/src/components/ui/stories/textarea.stories.tsx +245 -0
- package/src/components/ui/stories/theme-toggle.stories.tsx +275 -0
- package/src/components/ui/stories/theme.stories.tsx +412 -0
- package/src/components/ui/stories/toggle-group.stories.tsx +337 -0
- package/src/components/ui/stories/toggle.stories.tsx +325 -0
- package/src/components/ui/stories/tooltip.stories.tsx +444 -0
- package/src/components/ui/stories/typography.stories.tsx +1586 -0
- package/src/components/ui/stories/use-mobile.stories.tsx +420 -0
- package/src/components/ui/stories/use-theme.stories.tsx +531 -0
- package/src/components/ui/switch.tsx +106 -0
- package/src/components/ui/table.tsx +424 -0
- package/src/components/ui/tabs.tsx +316 -0
- package/src/components/ui/text-field.tsx +206 -0
- package/src/components/ui/textarea.tsx +98 -0
- package/src/components/ui/theme-toggle.tsx +185 -0
- package/src/components/ui/theme.tsx +148 -0
- package/src/components/ui/toggle-group.tsx +196 -0
- package/src/components/ui/toggle.tsx +115 -0
- package/src/components/ui/tooltip.tsx +253 -0
- package/src/components/ui/typography.tsx +468 -0
- package/src/hooks/use-mobile.ts +91 -0
- package/src/hooks/use-theme.ts +319 -0
- package/src/index.ts +77 -0
- package/src/lib/utils.ts +57 -0
- package/src/styles/globals.css +160 -0
|
@@ -0,0 +1,482 @@
|
|
|
1
|
+
import type { Meta, StoryObj } from "@storybook/react-vite";
|
|
2
|
+
import { Home, Slash, ChevronDown } from "lucide-react";
|
|
3
|
+
import {
|
|
4
|
+
Breadcrumb,
|
|
5
|
+
BreadcrumbEllipsis,
|
|
6
|
+
BreadcrumbItem,
|
|
7
|
+
BreadcrumbLink,
|
|
8
|
+
BreadcrumbList,
|
|
9
|
+
BreadcrumbPage,
|
|
10
|
+
BreadcrumbSeparator,
|
|
11
|
+
} from "../breadcrumb";
|
|
12
|
+
import {
|
|
13
|
+
DropdownMenu,
|
|
14
|
+
DropdownMenuContent,
|
|
15
|
+
DropdownMenuItem,
|
|
16
|
+
DropdownMenuTrigger,
|
|
17
|
+
} from "../dropdown-menu";
|
|
18
|
+
|
|
19
|
+
const meta = {
|
|
20
|
+
title: "Navigation & Menus/Breadcrumb",
|
|
21
|
+
component: Breadcrumb,
|
|
22
|
+
parameters: {
|
|
23
|
+
layout: "padded",
|
|
24
|
+
docs: {
|
|
25
|
+
description: {
|
|
26
|
+
component:
|
|
27
|
+
"A breadcrumb navigation component that shows the current page location within a navigational hierarchy. Built with accessibility in mind and supports custom separators, ellipsis for long paths, and composition patterns.",
|
|
28
|
+
},
|
|
29
|
+
},
|
|
30
|
+
},
|
|
31
|
+
tags: ["autodocs"],
|
|
32
|
+
argTypes: {
|
|
33
|
+
// No direct props on Breadcrumb component, but we can show composition options
|
|
34
|
+
children: {
|
|
35
|
+
description: "BreadcrumbList containing breadcrumb items",
|
|
36
|
+
control: false,
|
|
37
|
+
},
|
|
38
|
+
},
|
|
39
|
+
} satisfies Meta<typeof Breadcrumb>;
|
|
40
|
+
|
|
41
|
+
export default meta;
|
|
42
|
+
type Story = StoryObj<typeof meta>;
|
|
43
|
+
|
|
44
|
+
export const Interactive: Story = {
|
|
45
|
+
args: {},
|
|
46
|
+
render: (args) => (
|
|
47
|
+
<div className="space-y-8">
|
|
48
|
+
<div>
|
|
49
|
+
<h3 className="text-lg font-semibold mb-4">Basic Breadcrumb</h3>
|
|
50
|
+
<Breadcrumb {...args}>
|
|
51
|
+
<BreadcrumbList>
|
|
52
|
+
<BreadcrumbItem>
|
|
53
|
+
<BreadcrumbLink href="/">Home</BreadcrumbLink>
|
|
54
|
+
</BreadcrumbItem>
|
|
55
|
+
<BreadcrumbSeparator />
|
|
56
|
+
<BreadcrumbItem>
|
|
57
|
+
<BreadcrumbLink href="/components">Components</BreadcrumbLink>
|
|
58
|
+
</BreadcrumbItem>
|
|
59
|
+
<BreadcrumbSeparator />
|
|
60
|
+
<BreadcrumbItem>
|
|
61
|
+
<BreadcrumbPage>Breadcrumb</BreadcrumbPage>
|
|
62
|
+
</BreadcrumbItem>
|
|
63
|
+
</BreadcrumbList>
|
|
64
|
+
</Breadcrumb>
|
|
65
|
+
</div>
|
|
66
|
+
|
|
67
|
+
<div>
|
|
68
|
+
<h3 className="text-lg font-semibold mb-4">With Icons</h3>
|
|
69
|
+
<Breadcrumb {...args}>
|
|
70
|
+
<BreadcrumbList>
|
|
71
|
+
<BreadcrumbItem>
|
|
72
|
+
<BreadcrumbLink href="/">
|
|
73
|
+
<Home className="h-4 w-4" />
|
|
74
|
+
Home
|
|
75
|
+
</BreadcrumbLink>
|
|
76
|
+
</BreadcrumbItem>
|
|
77
|
+
<BreadcrumbSeparator />
|
|
78
|
+
<BreadcrumbItem>
|
|
79
|
+
<BreadcrumbLink href="/documents">Documents</BreadcrumbLink>
|
|
80
|
+
</BreadcrumbItem>
|
|
81
|
+
<BreadcrumbSeparator />
|
|
82
|
+
<BreadcrumbItem>
|
|
83
|
+
<BreadcrumbPage>Design System</BreadcrumbPage>
|
|
84
|
+
</BreadcrumbItem>
|
|
85
|
+
</BreadcrumbList>
|
|
86
|
+
</Breadcrumb>
|
|
87
|
+
</div>
|
|
88
|
+
|
|
89
|
+
<div>
|
|
90
|
+
<h3 className="text-lg font-semibold mb-4">With Custom Separator</h3>
|
|
91
|
+
<Breadcrumb {...args}>
|
|
92
|
+
<BreadcrumbList>
|
|
93
|
+
<BreadcrumbItem>
|
|
94
|
+
<BreadcrumbLink href="/">Home</BreadcrumbLink>
|
|
95
|
+
</BreadcrumbItem>
|
|
96
|
+
<BreadcrumbSeparator>
|
|
97
|
+
<Slash className="h-3 w-3" />
|
|
98
|
+
</BreadcrumbSeparator>
|
|
99
|
+
<BreadcrumbItem>
|
|
100
|
+
<BreadcrumbLink href="/products">Products</BreadcrumbLink>
|
|
101
|
+
</BreadcrumbItem>
|
|
102
|
+
<BreadcrumbSeparator>
|
|
103
|
+
<Slash className="h-3 w-3" />
|
|
104
|
+
</BreadcrumbSeparator>
|
|
105
|
+
<BreadcrumbItem>
|
|
106
|
+
<BreadcrumbPage>Shoes</BreadcrumbPage>
|
|
107
|
+
</BreadcrumbItem>
|
|
108
|
+
</BreadcrumbList>
|
|
109
|
+
</Breadcrumb>
|
|
110
|
+
</div>
|
|
111
|
+
|
|
112
|
+
<div>
|
|
113
|
+
<h3 className="text-lg font-semibold mb-4">With Ellipsis</h3>
|
|
114
|
+
<Breadcrumb {...args}>
|
|
115
|
+
<BreadcrumbList>
|
|
116
|
+
<BreadcrumbItem>
|
|
117
|
+
<BreadcrumbLink href="/">Home</BreadcrumbLink>
|
|
118
|
+
</BreadcrumbItem>
|
|
119
|
+
<BreadcrumbSeparator />
|
|
120
|
+
<BreadcrumbItem>
|
|
121
|
+
<BreadcrumbEllipsis />
|
|
122
|
+
</BreadcrumbItem>
|
|
123
|
+
<BreadcrumbSeparator />
|
|
124
|
+
<BreadcrumbItem>
|
|
125
|
+
<BreadcrumbLink href="/components">Components</BreadcrumbLink>
|
|
126
|
+
</BreadcrumbItem>
|
|
127
|
+
<BreadcrumbSeparator />
|
|
128
|
+
<BreadcrumbItem>
|
|
129
|
+
<BreadcrumbPage>Breadcrumb</BreadcrumbPage>
|
|
130
|
+
</BreadcrumbItem>
|
|
131
|
+
</BreadcrumbList>
|
|
132
|
+
</Breadcrumb>
|
|
133
|
+
</div>
|
|
134
|
+
|
|
135
|
+
<div>
|
|
136
|
+
<h3 className="text-lg font-semibold mb-4">With Dropdown</h3>
|
|
137
|
+
<Breadcrumb {...args}>
|
|
138
|
+
<BreadcrumbList>
|
|
139
|
+
<BreadcrumbItem>
|
|
140
|
+
<BreadcrumbLink href="/">Home</BreadcrumbLink>
|
|
141
|
+
</BreadcrumbItem>
|
|
142
|
+
<BreadcrumbSeparator />
|
|
143
|
+
<BreadcrumbItem>
|
|
144
|
+
<DropdownMenu>
|
|
145
|
+
<DropdownMenuTrigger className="flex items-center gap-1 hover:text-foreground transition-colors">
|
|
146
|
+
<BreadcrumbEllipsis className="h-4 w-4" />
|
|
147
|
+
<ChevronDown className="h-3 w-3" />
|
|
148
|
+
</DropdownMenuTrigger>
|
|
149
|
+
<DropdownMenuContent align="start">
|
|
150
|
+
<DropdownMenuItem>Documentation</DropdownMenuItem>
|
|
151
|
+
<DropdownMenuItem>Components</DropdownMenuItem>
|
|
152
|
+
<DropdownMenuItem>Navigation</DropdownMenuItem>
|
|
153
|
+
</DropdownMenuContent>
|
|
154
|
+
</DropdownMenu>
|
|
155
|
+
</BreadcrumbItem>
|
|
156
|
+
<BreadcrumbSeparator />
|
|
157
|
+
<BreadcrumbItem>
|
|
158
|
+
<BreadcrumbPage>Breadcrumb</BreadcrumbPage>
|
|
159
|
+
</BreadcrumbItem>
|
|
160
|
+
</BreadcrumbList>
|
|
161
|
+
</Breadcrumb>
|
|
162
|
+
</div>
|
|
163
|
+
|
|
164
|
+
<div>
|
|
165
|
+
<h3 className="text-lg font-semibold mb-4">AsChild Pattern</h3>
|
|
166
|
+
<Breadcrumb {...args}>
|
|
167
|
+
<BreadcrumbList>
|
|
168
|
+
<BreadcrumbItem>
|
|
169
|
+
<BreadcrumbLink asChild>
|
|
170
|
+
<a href="/">Home</a>
|
|
171
|
+
</BreadcrumbLink>
|
|
172
|
+
</BreadcrumbItem>
|
|
173
|
+
<BreadcrumbSeparator />
|
|
174
|
+
<BreadcrumbItem>
|
|
175
|
+
<BreadcrumbLink asChild>
|
|
176
|
+
<button
|
|
177
|
+
onClick={() => console.log("Navigate to docs")}
|
|
178
|
+
className="text-left"
|
|
179
|
+
>
|
|
180
|
+
Documentation
|
|
181
|
+
</button>
|
|
182
|
+
</BreadcrumbLink>
|
|
183
|
+
</BreadcrumbItem>
|
|
184
|
+
<BreadcrumbSeparator />
|
|
185
|
+
<BreadcrumbItem>
|
|
186
|
+
<BreadcrumbPage>Getting Started</BreadcrumbPage>
|
|
187
|
+
</BreadcrumbItem>
|
|
188
|
+
</BreadcrumbList>
|
|
189
|
+
</Breadcrumb>
|
|
190
|
+
</div>
|
|
191
|
+
</div>
|
|
192
|
+
),
|
|
193
|
+
parameters: {
|
|
194
|
+
docs: {
|
|
195
|
+
description: {
|
|
196
|
+
story:
|
|
197
|
+
"Interactive playground showcasing all breadcrumb variations including basic usage, icons, custom separators, ellipsis, dropdown menus, and the asChild composition pattern.",
|
|
198
|
+
},
|
|
199
|
+
},
|
|
200
|
+
},
|
|
201
|
+
};
|
|
202
|
+
|
|
203
|
+
export const Variants: Story = {
|
|
204
|
+
render: () => (
|
|
205
|
+
<div className="space-y-6">
|
|
206
|
+
<div>
|
|
207
|
+
<h4 className="text-sm font-medium text-muted-foreground mb-2">
|
|
208
|
+
Default Separator (ChevronRight)
|
|
209
|
+
</h4>
|
|
210
|
+
<Breadcrumb>
|
|
211
|
+
<BreadcrumbList>
|
|
212
|
+
<BreadcrumbItem>
|
|
213
|
+
<BreadcrumbLink href="/">Home</BreadcrumbLink>
|
|
214
|
+
</BreadcrumbItem>
|
|
215
|
+
<BreadcrumbSeparator />
|
|
216
|
+
<BreadcrumbItem>
|
|
217
|
+
<BreadcrumbLink href="/products">Products</BreadcrumbLink>
|
|
218
|
+
</BreadcrumbItem>
|
|
219
|
+
<BreadcrumbSeparator />
|
|
220
|
+
<BreadcrumbItem>
|
|
221
|
+
<BreadcrumbPage>Current Page</BreadcrumbPage>
|
|
222
|
+
</BreadcrumbItem>
|
|
223
|
+
</BreadcrumbList>
|
|
224
|
+
</Breadcrumb>
|
|
225
|
+
</div>
|
|
226
|
+
|
|
227
|
+
<div>
|
|
228
|
+
<h4 className="text-sm font-medium text-muted-foreground mb-2">
|
|
229
|
+
Slash Separator
|
|
230
|
+
</h4>
|
|
231
|
+
<Breadcrumb>
|
|
232
|
+
<BreadcrumbList>
|
|
233
|
+
<BreadcrumbItem>
|
|
234
|
+
<BreadcrumbLink href="/">Home</BreadcrumbLink>
|
|
235
|
+
</BreadcrumbItem>
|
|
236
|
+
<BreadcrumbSeparator>
|
|
237
|
+
<Slash className="h-3 w-3" />
|
|
238
|
+
</BreadcrumbSeparator>
|
|
239
|
+
<BreadcrumbItem>
|
|
240
|
+
<BreadcrumbLink href="/products">Products</BreadcrumbLink>
|
|
241
|
+
</BreadcrumbItem>
|
|
242
|
+
<BreadcrumbSeparator>
|
|
243
|
+
<Slash className="h-3 w-3" />
|
|
244
|
+
</BreadcrumbSeparator>
|
|
245
|
+
<BreadcrumbItem>
|
|
246
|
+
<BreadcrumbPage>Current Page</BreadcrumbPage>
|
|
247
|
+
</BreadcrumbItem>
|
|
248
|
+
</BreadcrumbList>
|
|
249
|
+
</Breadcrumb>
|
|
250
|
+
</div>
|
|
251
|
+
|
|
252
|
+
<div>
|
|
253
|
+
<h4 className="text-sm font-medium text-muted-foreground mb-2">
|
|
254
|
+
With Home Icon
|
|
255
|
+
</h4>
|
|
256
|
+
<Breadcrumb>
|
|
257
|
+
<BreadcrumbList>
|
|
258
|
+
<BreadcrumbItem>
|
|
259
|
+
<BreadcrumbLink href="/">
|
|
260
|
+
<Home className="h-4 w-4" />
|
|
261
|
+
Home
|
|
262
|
+
</BreadcrumbLink>
|
|
263
|
+
</BreadcrumbItem>
|
|
264
|
+
<BreadcrumbSeparator />
|
|
265
|
+
<BreadcrumbItem>
|
|
266
|
+
<BreadcrumbLink href="/products">Products</BreadcrumbLink>
|
|
267
|
+
</BreadcrumbItem>
|
|
268
|
+
<BreadcrumbSeparator />
|
|
269
|
+
<BreadcrumbItem>
|
|
270
|
+
<BreadcrumbPage>Current Page</BreadcrumbPage>
|
|
271
|
+
</BreadcrumbItem>
|
|
272
|
+
</BreadcrumbList>
|
|
273
|
+
</Breadcrumb>
|
|
274
|
+
</div>
|
|
275
|
+
|
|
276
|
+
<div>
|
|
277
|
+
<h4 className="text-sm font-medium text-muted-foreground mb-2">
|
|
278
|
+
With Ellipsis (Collapsed Items)
|
|
279
|
+
</h4>
|
|
280
|
+
<Breadcrumb>
|
|
281
|
+
<BreadcrumbList>
|
|
282
|
+
<BreadcrumbItem>
|
|
283
|
+
<BreadcrumbLink href="/">Home</BreadcrumbLink>
|
|
284
|
+
</BreadcrumbItem>
|
|
285
|
+
<BreadcrumbSeparator />
|
|
286
|
+
<BreadcrumbItem>
|
|
287
|
+
<BreadcrumbEllipsis />
|
|
288
|
+
</BreadcrumbItem>
|
|
289
|
+
<BreadcrumbSeparator />
|
|
290
|
+
<BreadcrumbItem>
|
|
291
|
+
<BreadcrumbLink href="/category">Category</BreadcrumbLink>
|
|
292
|
+
</BreadcrumbItem>
|
|
293
|
+
<BreadcrumbSeparator />
|
|
294
|
+
<BreadcrumbItem>
|
|
295
|
+
<BreadcrumbPage>Current Page</BreadcrumbPage>
|
|
296
|
+
</BreadcrumbItem>
|
|
297
|
+
</BreadcrumbList>
|
|
298
|
+
</Breadcrumb>
|
|
299
|
+
</div>
|
|
300
|
+
|
|
301
|
+
<div>
|
|
302
|
+
<h4 className="text-sm font-medium text-muted-foreground mb-2">
|
|
303
|
+
Interactive Dropdown
|
|
304
|
+
</h4>
|
|
305
|
+
<Breadcrumb>
|
|
306
|
+
<BreadcrumbList>
|
|
307
|
+
<BreadcrumbItem>
|
|
308
|
+
<BreadcrumbLink href="/">Home</BreadcrumbLink>
|
|
309
|
+
</BreadcrumbItem>
|
|
310
|
+
<BreadcrumbSeparator />
|
|
311
|
+
<BreadcrumbItem>
|
|
312
|
+
<DropdownMenu>
|
|
313
|
+
<DropdownMenuTrigger className="flex items-center gap-1 hover:text-foreground transition-colors">
|
|
314
|
+
Categories
|
|
315
|
+
<ChevronDown className="h-3 w-3" />
|
|
316
|
+
</DropdownMenuTrigger>
|
|
317
|
+
<DropdownMenuContent align="start">
|
|
318
|
+
<DropdownMenuItem>Electronics</DropdownMenuItem>
|
|
319
|
+
<DropdownMenuItem>Clothing</DropdownMenuItem>
|
|
320
|
+
<DropdownMenuItem>Books</DropdownMenuItem>
|
|
321
|
+
</DropdownMenuContent>
|
|
322
|
+
</DropdownMenu>
|
|
323
|
+
</BreadcrumbItem>
|
|
324
|
+
<BreadcrumbSeparator />
|
|
325
|
+
<BreadcrumbItem>
|
|
326
|
+
<BreadcrumbPage>Current Page</BreadcrumbPage>
|
|
327
|
+
</BreadcrumbItem>
|
|
328
|
+
</BreadcrumbList>
|
|
329
|
+
</Breadcrumb>
|
|
330
|
+
</div>
|
|
331
|
+
</div>
|
|
332
|
+
),
|
|
333
|
+
parameters: {
|
|
334
|
+
docs: {
|
|
335
|
+
description: {
|
|
336
|
+
story:
|
|
337
|
+
"Systematic display of all breadcrumb variants including different separators, icons, ellipsis states, and interactive dropdowns.",
|
|
338
|
+
},
|
|
339
|
+
},
|
|
340
|
+
},
|
|
341
|
+
};
|
|
342
|
+
|
|
343
|
+
export const InContext: Story = {
|
|
344
|
+
render: () => (
|
|
345
|
+
<div className="min-h-[400px] bg-background">
|
|
346
|
+
{/* Header */}
|
|
347
|
+
<header className="border-b bg-background/95 backdrop-blur supports-[backdrop-filter]:bg-background/60">
|
|
348
|
+
<div className="container mx-auto px-4 py-3">
|
|
349
|
+
<div className="flex items-center justify-between">
|
|
350
|
+
<div className="flex items-center space-x-4">
|
|
351
|
+
<h1 className="text-lg font-semibold">E-Commerce Store</h1>
|
|
352
|
+
</div>
|
|
353
|
+
<nav className="flex items-center space-x-4">
|
|
354
|
+
<a
|
|
355
|
+
href="#"
|
|
356
|
+
className="text-sm text-muted-foreground hover:text-foreground"
|
|
357
|
+
>
|
|
358
|
+
Account
|
|
359
|
+
</a>
|
|
360
|
+
<a
|
|
361
|
+
href="#"
|
|
362
|
+
className="text-sm text-muted-foreground hover:text-foreground"
|
|
363
|
+
>
|
|
364
|
+
Cart (0)
|
|
365
|
+
</a>
|
|
366
|
+
</nav>
|
|
367
|
+
</div>
|
|
368
|
+
</div>
|
|
369
|
+
</header>
|
|
370
|
+
|
|
371
|
+
{/* Main Content */}
|
|
372
|
+
<main className="container mx-auto px-4 py-6">
|
|
373
|
+
{/* Breadcrumb Navigation */}
|
|
374
|
+
<div className="mb-6">
|
|
375
|
+
<Breadcrumb>
|
|
376
|
+
<BreadcrumbList>
|
|
377
|
+
<BreadcrumbItem>
|
|
378
|
+
<BreadcrumbLink href="/">
|
|
379
|
+
<Home className="h-4 w-4" />
|
|
380
|
+
Home
|
|
381
|
+
</BreadcrumbLink>
|
|
382
|
+
</BreadcrumbItem>
|
|
383
|
+
<BreadcrumbSeparator />
|
|
384
|
+
<BreadcrumbItem>
|
|
385
|
+
<BreadcrumbLink href="/categories">Categories</BreadcrumbLink>
|
|
386
|
+
</BreadcrumbItem>
|
|
387
|
+
<BreadcrumbSeparator />
|
|
388
|
+
<BreadcrumbItem>
|
|
389
|
+
<DropdownMenu>
|
|
390
|
+
<DropdownMenuTrigger className="flex items-center gap-1 hover:text-foreground transition-colors">
|
|
391
|
+
<BreadcrumbEllipsis className="h-4 w-4" />
|
|
392
|
+
<ChevronDown className="h-3 w-3" />
|
|
393
|
+
</DropdownMenuTrigger>
|
|
394
|
+
<DropdownMenuContent align="start">
|
|
395
|
+
<DropdownMenuItem>Electronics</DropdownMenuItem>
|
|
396
|
+
<DropdownMenuItem>Computers & Tablets</DropdownMenuItem>
|
|
397
|
+
<DropdownMenuItem>Laptops</DropdownMenuItem>
|
|
398
|
+
</DropdownMenuContent>
|
|
399
|
+
</DropdownMenu>
|
|
400
|
+
</BreadcrumbItem>
|
|
401
|
+
<BreadcrumbSeparator />
|
|
402
|
+
<BreadcrumbItem>
|
|
403
|
+
<BreadcrumbLink href="/categories/electronics/laptops/gaming">
|
|
404
|
+
Gaming Laptops
|
|
405
|
+
</BreadcrumbLink>
|
|
406
|
+
</BreadcrumbItem>
|
|
407
|
+
<BreadcrumbSeparator />
|
|
408
|
+
<BreadcrumbItem>
|
|
409
|
+
<BreadcrumbPage>ASUS ROG Strix G15</BreadcrumbPage>
|
|
410
|
+
</BreadcrumbItem>
|
|
411
|
+
</BreadcrumbList>
|
|
412
|
+
</Breadcrumb>
|
|
413
|
+
</div>
|
|
414
|
+
|
|
415
|
+
{/* Page Content */}
|
|
416
|
+
<div className="grid grid-cols-1 lg:grid-cols-2 gap-8">
|
|
417
|
+
<div className="space-y-4">
|
|
418
|
+
<div className="aspect-square bg-muted rounded-lg flex items-center justify-center">
|
|
419
|
+
<span className="text-muted-foreground">Product Image</span>
|
|
420
|
+
</div>
|
|
421
|
+
<div className="grid grid-cols-4 gap-2">
|
|
422
|
+
{[1, 2, 3, 4].map((i) => (
|
|
423
|
+
<div
|
|
424
|
+
key={i}
|
|
425
|
+
className="aspect-square bg-muted rounded-md flex items-center justify-center"
|
|
426
|
+
>
|
|
427
|
+
<span className="text-xs text-muted-foreground">{i}</span>
|
|
428
|
+
</div>
|
|
429
|
+
))}
|
|
430
|
+
</div>
|
|
431
|
+
</div>
|
|
432
|
+
|
|
433
|
+
<div className="space-y-6">
|
|
434
|
+
<div>
|
|
435
|
+
<h1 className="text-3xl font-bold">
|
|
436
|
+
ASUS ROG Strix G15 Gaming Laptop
|
|
437
|
+
</h1>
|
|
438
|
+
<p className="text-xl text-muted-foreground mt-2">$1,299.99</p>
|
|
439
|
+
</div>
|
|
440
|
+
|
|
441
|
+
<div className="space-y-4">
|
|
442
|
+
<p className="text-muted-foreground">
|
|
443
|
+
Experience ultimate gaming performance with the ASUS ROG Strix
|
|
444
|
+
G15. Featuring the latest AMD Ryzen processor and NVIDIA GeForce
|
|
445
|
+
RTX graphics, this laptop delivers exceptional power for gaming
|
|
446
|
+
and content creation.
|
|
447
|
+
</p>
|
|
448
|
+
|
|
449
|
+
<div className="flex space-x-4">
|
|
450
|
+
<button className="px-6 py-2 bg-primary text-primary-foreground rounded-md hover:bg-primary/90">
|
|
451
|
+
Add to Cart
|
|
452
|
+
</button>
|
|
453
|
+
<button className="px-6 py-2 border border-input rounded-md hover:bg-accent">
|
|
454
|
+
Add to Wishlist
|
|
455
|
+
</button>
|
|
456
|
+
</div>
|
|
457
|
+
</div>
|
|
458
|
+
|
|
459
|
+
<div className="border-t pt-6">
|
|
460
|
+
<h3 className="font-semibold mb-2">Product Features</h3>
|
|
461
|
+
<ul className="space-y-1 text-sm text-muted-foreground">
|
|
462
|
+
<li>• AMD Ryzen 7 5800H Processor</li>
|
|
463
|
+
<li>• NVIDIA GeForce RTX 3060 Graphics</li>
|
|
464
|
+
<li>• 16GB DDR4 RAM</li>
|
|
465
|
+
<li>• 512GB NVMe SSD Storage</li>
|
|
466
|
+
<li>• 15.6" Full HD 144Hz Display</li>
|
|
467
|
+
</ul>
|
|
468
|
+
</div>
|
|
469
|
+
</div>
|
|
470
|
+
</div>
|
|
471
|
+
</main>
|
|
472
|
+
</div>
|
|
473
|
+
),
|
|
474
|
+
parameters: {
|
|
475
|
+
docs: {
|
|
476
|
+
description: {
|
|
477
|
+
story:
|
|
478
|
+
"Real-world example showing breadcrumb navigation in an e-commerce product page context. Demonstrates how breadcrumbs help users understand their location in a deep category hierarchy and provide easy navigation back to parent categories.",
|
|
479
|
+
},
|
|
480
|
+
},
|
|
481
|
+
},
|
|
482
|
+
};
|