@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 @@
|
|
|
1
|
+
{"version":3,"file":"breadcrumb.d.ts","sourceRoot":"","sources":["../../../src/components/ui/breadcrumb.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8GG;AACH,iBAAS,UAAU,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAE5D;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,iBAAS,cAAc,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,2CAW1E;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,iBAAS,cAAc,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,2CAQ1E;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,iBAAS,cAAc,CAAC,EACtB,OAAO,EACP,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,2CAUA;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,iBAAS,cAAc,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,2CAW5E;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,iBAAS,mBAAmB,CAAC,EAC3B,QAAQ,EACR,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,2CAY5B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,iBAAS,kBAAkB,CAAC,EAC1B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,2CAa9B;AAED,OAAO,EACL,UAAU,EACV,cAAc,EACd,cAAc,EACd,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,kBAAkB,GACnB,CAAC"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { type VariantProps } from "class-variance-authority";
|
|
3
|
+
/**
|
|
4
|
+
* Button variant configuration using class-variance-authority
|
|
5
|
+
*
|
|
6
|
+
* Defines all possible visual variants and sizes for the Button component.
|
|
7
|
+
* Uses Tailwind CSS 4 with custom CSS properties for theming.
|
|
8
|
+
*
|
|
9
|
+
* @see {@link https://cva.style/docs} - CVA documentation
|
|
10
|
+
* @since 1.0.0
|
|
11
|
+
*/
|
|
12
|
+
declare const buttonVariants: (props?: ({
|
|
13
|
+
variant?: "default" | "destructive" | "outline" | "secondary" | "ghost" | "link" | null | undefined;
|
|
14
|
+
size?: "default" | "sm" | "lg" | "icon" | null | undefined;
|
|
15
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
16
|
+
/**
|
|
17
|
+
* Button - A versatile button component with multiple style variants and sizes
|
|
18
|
+
*
|
|
19
|
+
* The Button component is a fundamental UI element used to trigger actions or navigate
|
|
20
|
+
* through the application. Built on Radix UI's Slot primitive, it supports multiple
|
|
21
|
+
* visual variants, sizes, and can be composed with other components using the asChild
|
|
22
|
+
* prop for maximum flexibility. Icons placed within the button are automatically
|
|
23
|
+
* styled with proper spacing and sizing.
|
|
24
|
+
*
|
|
25
|
+
* @component
|
|
26
|
+
* @example
|
|
27
|
+
* ```tsx
|
|
28
|
+
* // Basic usage
|
|
29
|
+
* <Button>Click me</Button>
|
|
30
|
+
* ```
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* ```tsx
|
|
34
|
+
* // With variants and sizes
|
|
35
|
+
* <Button variant="outline" size="lg">Large Outline Button</Button>
|
|
36
|
+
* <Button variant="destructive" size="sm">Delete</Button>
|
|
37
|
+
* <Button variant="ghost">Ghost Button</Button>
|
|
38
|
+
* ```
|
|
39
|
+
*
|
|
40
|
+
* @example
|
|
41
|
+
* ```tsx
|
|
42
|
+
* // With icons (automatically styled)
|
|
43
|
+
* import { Download, ArrowRight, Plus } from "lucide-react";
|
|
44
|
+
*
|
|
45
|
+
* <Button>
|
|
46
|
+
* <Download /> Download File
|
|
47
|
+
* </Button>
|
|
48
|
+
*
|
|
49
|
+
* <Button>
|
|
50
|
+
* Continue <ArrowRight />
|
|
51
|
+
* </Button>
|
|
52
|
+
*
|
|
53
|
+
* // Icon-only button
|
|
54
|
+
* <Button size="icon" aria-label="Add item">
|
|
55
|
+
* <Plus />
|
|
56
|
+
* </Button>
|
|
57
|
+
* ```
|
|
58
|
+
*
|
|
59
|
+
* @example
|
|
60
|
+
* ```tsx
|
|
61
|
+
* // As other elements using asChild (composition pattern)
|
|
62
|
+
* import Link from "next/link";
|
|
63
|
+
*
|
|
64
|
+
* <Button asChild>
|
|
65
|
+
* <Link href="/dashboard">Go to Dashboard</Link>
|
|
66
|
+
* </Button>
|
|
67
|
+
*
|
|
68
|
+
* <Button asChild variant="outline">
|
|
69
|
+
* <a href="https://example.com" target="_blank" rel="noopener">
|
|
70
|
+
* External Link
|
|
71
|
+
* </a>
|
|
72
|
+
* </Button>
|
|
73
|
+
* ```
|
|
74
|
+
*
|
|
75
|
+
* @example
|
|
76
|
+
* ```tsx
|
|
77
|
+
* // Form integration and states
|
|
78
|
+
* <Button disabled>Loading...</Button>
|
|
79
|
+
* <Button type="submit">Submit Form</Button>
|
|
80
|
+
* <Button aria-invalid={hasError}>Validate</Button>
|
|
81
|
+
*
|
|
82
|
+
* // Loading state with spinner
|
|
83
|
+
* <Button disabled>
|
|
84
|
+
* <LoadingSpinner className="size-4" />
|
|
85
|
+
* Processing...
|
|
86
|
+
* </Button>
|
|
87
|
+
* ```
|
|
88
|
+
*
|
|
89
|
+
* @accessibility
|
|
90
|
+
* - Supports keyboard navigation (Enter/Space to activate)
|
|
91
|
+
* - Properly handles disabled state with pointer-events-none and opacity
|
|
92
|
+
* - Focus visible ring (3px ring-ring/50) for keyboard navigation
|
|
93
|
+
* - Supports aria-invalid for form validation states with destructive ring
|
|
94
|
+
* - Icons are automatically marked as non-interactive (pointer-events-none)
|
|
95
|
+
* - Screen reader friendly with proper semantic button element
|
|
96
|
+
* - When used with asChild, preserves accessibility of child element
|
|
97
|
+
* - Icon-only buttons should include aria-label for screen readers
|
|
98
|
+
*
|
|
99
|
+
* @see {@link buttonVariants} - For all available style variants and sizes
|
|
100
|
+
* @see {@link https://ui.shadcn.com/docs/components/button} - shadcn/ui button documentation
|
|
101
|
+
* @since 1.0.0
|
|
102
|
+
*/
|
|
103
|
+
/**
|
|
104
|
+
* Button component props type
|
|
105
|
+
*
|
|
106
|
+
* Extends all standard HTML button attributes with additional variant and composition props.
|
|
107
|
+
*/
|
|
108
|
+
type ButtonProps = React.ComponentProps<"button"> & VariantProps<typeof buttonVariants> & {
|
|
109
|
+
/**
|
|
110
|
+
* If true, the button will render its child element instead of a button element.
|
|
111
|
+
* This enables composition patterns like turning links into buttons.
|
|
112
|
+
*
|
|
113
|
+
* @example
|
|
114
|
+
* ```tsx
|
|
115
|
+
* <Button asChild>
|
|
116
|
+
* <Link href="/dashboard">Dashboard</Link>
|
|
117
|
+
* </Button>
|
|
118
|
+
* ```
|
|
119
|
+
*
|
|
120
|
+
* @default false
|
|
121
|
+
*/
|
|
122
|
+
asChild?: boolean;
|
|
123
|
+
};
|
|
124
|
+
declare function Button({ className, variant, size, asChild, ...props }: ButtonProps): import("react/jsx-runtime").JSX.Element;
|
|
125
|
+
declare namespace Button {
|
|
126
|
+
var displayName: string;
|
|
127
|
+
}
|
|
128
|
+
export { Button, buttonVariants, type ButtonProps };
|
|
129
|
+
//# sourceMappingURL=button.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../../src/components/ui/button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAIlE;;;;;;;;GAQG;AACH,QAAA,MAAM,cAAc;;;8EA+CnB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsFG;AACH;;;;GAIG;AACH,KAAK,WAAW,GAAG,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,GAC/C,YAAY,CAAC,OAAO,cAAc,CAAC,GAAG;IACpC;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEJ,iBAAS,MAAM,CAAC,EACd,SAAS,EACT,OAAO,EACP,IAAI,EACJ,OAAe,EACf,GAAG,KAAK,EACT,EAAE,WAAW,2CAUb;kBAhBQ,MAAM;;;AAoBf,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,WAAW,EAAE,CAAC"}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { DayButton, DayPicker } from "react-day-picker";
|
|
3
|
+
import { Button } from "@/components/ui/button";
|
|
4
|
+
/**
|
|
5
|
+
* Calendar - A comprehensive date selection calendar component
|
|
6
|
+
*
|
|
7
|
+
* A fully-featured calendar component built on react-day-picker that provides intuitive
|
|
8
|
+
* date selection with extensive customization options. Supports single dates, date ranges,
|
|
9
|
+
* multiple dates, and custom validation rules with built-in accessibility features.
|
|
10
|
+
*
|
|
11
|
+
* @component
|
|
12
|
+
*
|
|
13
|
+
* @example Basic single date selection
|
|
14
|
+
* ```tsx
|
|
15
|
+
* const [date, setDate] = useState<Date | undefined>()
|
|
16
|
+
*
|
|
17
|
+
* <Calendar
|
|
18
|
+
* mode="single"
|
|
19
|
+
* selected={date}
|
|
20
|
+
* onSelect={setDate}
|
|
21
|
+
* className="rounded-md border"
|
|
22
|
+
* />
|
|
23
|
+
* ```
|
|
24
|
+
*
|
|
25
|
+
* @example Date range selection with two months
|
|
26
|
+
* ```tsx
|
|
27
|
+
* const [dateRange, setDateRange] = useState<DateRange | undefined>()
|
|
28
|
+
*
|
|
29
|
+
* <Calendar
|
|
30
|
+
* mode="range"
|
|
31
|
+
* selected={dateRange}
|
|
32
|
+
* onSelect={setDateRange}
|
|
33
|
+
* numberOfMonths={2}
|
|
34
|
+
* className="rounded-md border"
|
|
35
|
+
* />
|
|
36
|
+
* ```
|
|
37
|
+
*
|
|
38
|
+
* @example Multiple date selection
|
|
39
|
+
* ```tsx
|
|
40
|
+
* const [dates, setDates] = useState<Date[] | undefined>()
|
|
41
|
+
*
|
|
42
|
+
* <Calendar
|
|
43
|
+
* mode="multiple"
|
|
44
|
+
* selected={dates}
|
|
45
|
+
* onSelect={setDates}
|
|
46
|
+
* className="rounded-md border"
|
|
47
|
+
* />
|
|
48
|
+
* ```
|
|
49
|
+
*
|
|
50
|
+
* @example Calendar with disabled dates and custom validation
|
|
51
|
+
* ```tsx
|
|
52
|
+
* <Calendar
|
|
53
|
+
* mode="single"
|
|
54
|
+
* selected={date}
|
|
55
|
+
* onSelect={setDate}
|
|
56
|
+
* disabled={[
|
|
57
|
+
* { before: new Date() }, // Disable past dates
|
|
58
|
+
* { dayOfWeek: [0, 6] }, // Disable weekends
|
|
59
|
+
* { from: new Date(2024, 0, 15), to: new Date(2024, 0, 20) } // Disable range
|
|
60
|
+
* ]}
|
|
61
|
+
* className="rounded-md border"
|
|
62
|
+
* />
|
|
63
|
+
* ```
|
|
64
|
+
*
|
|
65
|
+
* @example Calendar with month/year dropdowns
|
|
66
|
+
* ```tsx
|
|
67
|
+
* <Calendar
|
|
68
|
+
* mode="single"
|
|
69
|
+
* captionLayout="dropdown"
|
|
70
|
+
* selected={date}
|
|
71
|
+
* onSelect={setDate}
|
|
72
|
+
* fromYear={2020}
|
|
73
|
+
* toYear={2030}
|
|
74
|
+
* className="rounded-md border"
|
|
75
|
+
* />
|
|
76
|
+
* ```
|
|
77
|
+
*
|
|
78
|
+
* @features
|
|
79
|
+
* - **Selection modes**: Single date, date ranges, multiple dates
|
|
80
|
+
* - **Navigation**: Month/year navigation with keyboard support
|
|
81
|
+
* - **Validation**: Flexible date disabling and validation rules
|
|
82
|
+
* - **Customization**: Multiple caption layouts, button variants, styling
|
|
83
|
+
* - **Internationalization**: Built-in locale support via react-day-picker
|
|
84
|
+
* - **Accessibility**: Full WCAG compliance with keyboard navigation
|
|
85
|
+
*
|
|
86
|
+
* @accessibility
|
|
87
|
+
* - **Keyboard Navigation**: Arrow keys for date navigation, Page Up/Down for months
|
|
88
|
+
* - **Screen Reader Support**: Comprehensive ARIA labels and announcements
|
|
89
|
+
* - **Focus Management**: Proper focus handling and restoration
|
|
90
|
+
* - **Standards Compliance**: WCAG 2.1 AA compliant
|
|
91
|
+
* - **RTL Support**: Right-to-left language support
|
|
92
|
+
*
|
|
93
|
+
* @performance
|
|
94
|
+
* The component is optimized for performance with minimal re-renders and efficient
|
|
95
|
+
* DOM updates. Large date ranges and multiple months are handled efficiently.
|
|
96
|
+
*
|
|
97
|
+
* @styling
|
|
98
|
+
* Fully customizable with Tailwind CSS classes. Supports CSS custom properties
|
|
99
|
+
* for cell sizing (`--cell-size`) and integrates with the design system theme.
|
|
100
|
+
*
|
|
101
|
+
* @see {@link CalendarDayButton} Individual day button component
|
|
102
|
+
* @see [react-day-picker docs](https://react-day-picker.js.org/) for advanced configuration
|
|
103
|
+
* @see {@link https://ui.shadcn.com/docs/components/calendar} - shadcn/ui Calendar documentation
|
|
104
|
+
* @since 1.0.0
|
|
105
|
+
*/
|
|
106
|
+
declare function Calendar({ className, classNames, showOutsideDays, captionLayout, buttonVariant, formatters, components, ...props }: React.ComponentProps<typeof DayPicker> & {
|
|
107
|
+
/**
|
|
108
|
+
* Button variant for navigation arrows and interactive elements
|
|
109
|
+
*
|
|
110
|
+
* Controls the visual style of the previous/next month navigation buttons.
|
|
111
|
+
* Choose from shadcn/ui button variants to match your design system.
|
|
112
|
+
*
|
|
113
|
+
* @default "ghost"
|
|
114
|
+
* @example
|
|
115
|
+
* ```tsx
|
|
116
|
+
* // Outline style navigation buttons
|
|
117
|
+
* <Calendar buttonVariant="outline" />
|
|
118
|
+
*
|
|
119
|
+
* // Secondary style for subtle navigation
|
|
120
|
+
* <Calendar buttonVariant="secondary" />
|
|
121
|
+
* ```
|
|
122
|
+
*/
|
|
123
|
+
buttonVariant?: React.ComponentProps<typeof Button>["variant"];
|
|
124
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
125
|
+
/**
|
|
126
|
+
* CalendarDayButton - Individual day button component for calendar dates
|
|
127
|
+
*
|
|
128
|
+
* Renders a single interactive day button with appropriate styling for different states
|
|
129
|
+
* including selected, today, disabled, and range selection indicators. This component
|
|
130
|
+
* is used internally by the Calendar component but can be customized if needed.
|
|
131
|
+
*
|
|
132
|
+
* @component
|
|
133
|
+
* @example
|
|
134
|
+
* ```tsx
|
|
135
|
+
* // Used internally by Calendar component
|
|
136
|
+
* <CalendarDayButton
|
|
137
|
+
* day={dayObject}
|
|
138
|
+
* modifiers={{
|
|
139
|
+
* selected: true,
|
|
140
|
+
* today: false,
|
|
141
|
+
* disabled: false,
|
|
142
|
+
* range_start: false,
|
|
143
|
+
* range_end: false,
|
|
144
|
+
* range_middle: false
|
|
145
|
+
* }}
|
|
146
|
+
* />
|
|
147
|
+
* ```
|
|
148
|
+
*
|
|
149
|
+
* @param day - The day object containing date information from react-day-picker
|
|
150
|
+
* @param modifiers - State modifiers object controlling appearance and behavior
|
|
151
|
+
* @param modifiers.selected - Whether this day is currently selected
|
|
152
|
+
* @param modifiers.today - Whether this day represents today's date
|
|
153
|
+
* @param modifiers.disabled - Whether this day is disabled for selection
|
|
154
|
+
* @param modifiers.range_start - Whether this day is the start of a date range
|
|
155
|
+
* @param modifiers.range_end - Whether this day is the end of a date range
|
|
156
|
+
* @param modifiers.range_middle - Whether this day is in the middle of a date range
|
|
157
|
+
* @param modifiers.focused - Whether this day currently has keyboard focus
|
|
158
|
+
*
|
|
159
|
+
* @accessibility
|
|
160
|
+
* - **Keyboard Navigation**: Fully keyboard accessible with arrow key support
|
|
161
|
+
* - **Screen Reader Support**: Announces date and selection state to assistive technology
|
|
162
|
+
* - **Focus Management**: Proper focus indicators and focus restoration
|
|
163
|
+
* - **State Announcement**: Clear visual and auditory feedback for selection states
|
|
164
|
+
*
|
|
165
|
+
* @since 1.0.0
|
|
166
|
+
*/
|
|
167
|
+
declare function CalendarDayButton({ className, day, modifiers, ...props }: React.ComponentProps<typeof DayButton>): import("react/jsx-runtime").JSX.Element;
|
|
168
|
+
export { Calendar, CalendarDayButton };
|
|
169
|
+
//# sourceMappingURL=calendar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calendar.d.ts","sourceRoot":"","sources":["../../../src/components/ui/calendar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,OAAO,EAAE,SAAS,EAAE,SAAS,EAAwB,MAAM,kBAAkB,CAAC;AAG9E,OAAO,EAAE,MAAM,EAAkB,MAAM,wBAAwB,CAAC;AAEhE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqGG;AACH,iBAAS,QAAQ,CAAC,EAChB,SAAS,EACT,UAAU,EACV,eAAsB,EACtB,aAAuB,EACvB,aAAuB,EACvB,UAAU,EACV,UAAU,EACV,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,SAAS,CAAC,GAAG;IAC1C;;;;;;;;;;;;;;;OAeG;IACH,aAAa,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC;CAChE,2CAoJA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,iBAAS,iBAAiB,CAAC,EACzB,SAAS,EACT,GAAG,EACH,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,SAAS,CAAC,2CA+BxC;AAED,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC"}
|
|
@@ -0,0 +1,365 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
/**
|
|
3
|
+
* Card - A flexible container component for grouping related content
|
|
4
|
+
*
|
|
5
|
+
* Cards are surfaces that display content and actions on a single topic.
|
|
6
|
+
* They should be easy to scan for relevant and actionable information.
|
|
7
|
+
* Cards support composition through multiple sub-components and can be
|
|
8
|
+
* customized with various layouts and styling patterns.
|
|
9
|
+
*
|
|
10
|
+
* Based on the shadcn/ui Card component, this implementation provides:
|
|
11
|
+
* - Flexible composition through sub-components
|
|
12
|
+
* - Semantic HTML structure for accessibility
|
|
13
|
+
* - Consistent spacing and visual hierarchy
|
|
14
|
+
* - Support for interactive elements and actions
|
|
15
|
+
*
|
|
16
|
+
* @component
|
|
17
|
+
* @example
|
|
18
|
+
* ```tsx
|
|
19
|
+
* // Basic card with header and content
|
|
20
|
+
* <Card>
|
|
21
|
+
* <CardHeader>
|
|
22
|
+
* <CardTitle>Card Title</CardTitle>
|
|
23
|
+
* <CardDescription>Card description goes here</CardDescription>
|
|
24
|
+
* </CardHeader>
|
|
25
|
+
* <CardContent>
|
|
26
|
+
* <p>Card content goes here</p>
|
|
27
|
+
* </CardContent>
|
|
28
|
+
* </Card>
|
|
29
|
+
* ```
|
|
30
|
+
*
|
|
31
|
+
* @example
|
|
32
|
+
* ```tsx
|
|
33
|
+
* // Card with action button in header
|
|
34
|
+
* <Card>
|
|
35
|
+
* <CardHeader>
|
|
36
|
+
* <CardTitle>Settings</CardTitle>
|
|
37
|
+
* <CardAction>
|
|
38
|
+
* <Button variant="ghost" size="icon">
|
|
39
|
+
* <Settings />
|
|
40
|
+
* </Button>
|
|
41
|
+
* </CardAction>
|
|
42
|
+
* </CardHeader>
|
|
43
|
+
* <CardContent>
|
|
44
|
+
* <p>Manage your settings</p>
|
|
45
|
+
* </CardContent>
|
|
46
|
+
* <CardFooter>
|
|
47
|
+
* <Button>Save Changes</Button>
|
|
48
|
+
* </CardFooter>
|
|
49
|
+
* </Card>
|
|
50
|
+
* ```
|
|
51
|
+
*
|
|
52
|
+
* @example
|
|
53
|
+
* ```tsx
|
|
54
|
+
* // Minimal card with only content
|
|
55
|
+
* <Card>
|
|
56
|
+
* <CardContent>
|
|
57
|
+
* <p>Simple card content without header or footer</p>
|
|
58
|
+
* </CardContent>
|
|
59
|
+
* </Card>
|
|
60
|
+
* ```
|
|
61
|
+
*
|
|
62
|
+
* @example
|
|
63
|
+
* ```tsx
|
|
64
|
+
* // Product card with custom styling
|
|
65
|
+
* <Card className="w-80 hover:shadow-lg transition-shadow">
|
|
66
|
+
* <CardHeader>
|
|
67
|
+
* <div className="aspect-video bg-muted rounded-lg mb-4" />
|
|
68
|
+
* <CardTitle>Product Name</CardTitle>
|
|
69
|
+
* <CardDescription>Product description</CardDescription>
|
|
70
|
+
* <CardAction>
|
|
71
|
+
* <Badge variant="secondary">New</Badge>
|
|
72
|
+
* </CardAction>
|
|
73
|
+
* </CardHeader>
|
|
74
|
+
* <CardContent>
|
|
75
|
+
* <div className="flex items-center justify-between">
|
|
76
|
+
* <span className="text-2xl font-bold">$299</span>
|
|
77
|
+
* <span className="text-sm text-muted-foreground line-through">$399</span>
|
|
78
|
+
* </div>
|
|
79
|
+
* </CardContent>
|
|
80
|
+
* <CardFooter className="gap-2">
|
|
81
|
+
* <Button className="flex-1">Add to Cart</Button>
|
|
82
|
+
* <Button size="icon" variant="outline">
|
|
83
|
+
* <Heart className="size-4" />
|
|
84
|
+
* </Button>
|
|
85
|
+
* </CardFooter>
|
|
86
|
+
* </Card>
|
|
87
|
+
* ```
|
|
88
|
+
*
|
|
89
|
+
* @accessibility
|
|
90
|
+
* - Uses semantic HTML structure with proper div elements
|
|
91
|
+
* - Supports keyboard navigation for interactive elements within
|
|
92
|
+
* - Proper heading hierarchy when using CardTitle
|
|
93
|
+
* - Screen reader friendly with clear content structure
|
|
94
|
+
* - Focus management handled by interactive child components
|
|
95
|
+
*
|
|
96
|
+
* @param {string} [className] - Additional CSS classes to apply to the card
|
|
97
|
+
* @param {React.HTMLAttributes<HTMLDivElement>} props - Standard HTML div attributes
|
|
98
|
+
*
|
|
99
|
+
* @see {@link CardHeader} - Card header container with grid layout support
|
|
100
|
+
* @see {@link CardTitle} - Card title component for main headings
|
|
101
|
+
* @see {@link CardDescription} - Card description component for supplementary text
|
|
102
|
+
* @see {@link CardAction} - Card action container for header buttons/controls
|
|
103
|
+
* @see {@link CardContent} - Card content container for main body content
|
|
104
|
+
* @see {@link CardFooter} - Card footer container for actions and supplementary info
|
|
105
|
+
* @see {@link https://ui.shadcn.com/docs/components/card} - shadcn/ui Card documentation
|
|
106
|
+
* @since 1.0.0
|
|
107
|
+
*/
|
|
108
|
+
declare function Card({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
|
|
109
|
+
/**
|
|
110
|
+
* CardHeader - Container for card header content
|
|
111
|
+
*
|
|
112
|
+
* Groups the card title, description, and optional action button.
|
|
113
|
+
* Automatically handles grid layout when CardAction is present, positioning
|
|
114
|
+
* the action to the right while allowing title and description to span
|
|
115
|
+
* the remaining space.
|
|
116
|
+
*
|
|
117
|
+
* Uses CSS Grid with container queries for responsive behavior:
|
|
118
|
+
* - Default: Single column layout for title and description
|
|
119
|
+
* - With CardAction: Two-column grid with action positioned top-right
|
|
120
|
+
* - Auto-adjusts spacing with gap utilities
|
|
121
|
+
*
|
|
122
|
+
* @component
|
|
123
|
+
* @example
|
|
124
|
+
* ```tsx
|
|
125
|
+
* // Basic header with title and description
|
|
126
|
+
* <CardHeader>
|
|
127
|
+
* <CardTitle>Dashboard Overview</CardTitle>
|
|
128
|
+
* <CardDescription>View your analytics and metrics</CardDescription>
|
|
129
|
+
* </CardHeader>
|
|
130
|
+
* ```
|
|
131
|
+
*
|
|
132
|
+
* @example
|
|
133
|
+
* ```tsx
|
|
134
|
+
* // Header with action button
|
|
135
|
+
* <CardHeader>
|
|
136
|
+
* <CardTitle>Settings</CardTitle>
|
|
137
|
+
* <CardDescription>Manage your preferences</CardDescription>
|
|
138
|
+
* <CardAction>
|
|
139
|
+
* <Button variant="ghost" size="icon">
|
|
140
|
+
* <MoreHorizontal className="size-4" />
|
|
141
|
+
* </Button>
|
|
142
|
+
* </CardAction>
|
|
143
|
+
* </CardHeader>
|
|
144
|
+
* ```
|
|
145
|
+
*
|
|
146
|
+
* @accessibility
|
|
147
|
+
* - Maintains proper heading structure with CardTitle
|
|
148
|
+
* - Supports responsive layout with container queries
|
|
149
|
+
* - Grid layout preserves reading order for screen readers
|
|
150
|
+
* - Action buttons maintain focus order
|
|
151
|
+
*
|
|
152
|
+
* @param {string} [className] - Additional CSS classes to apply
|
|
153
|
+
* @param {React.HTMLAttributes<HTMLDivElement>} props - Standard HTML div attributes
|
|
154
|
+
* @since 1.0.0
|
|
155
|
+
*/
|
|
156
|
+
declare function CardHeader({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
|
|
157
|
+
/**
|
|
158
|
+
* CardTitle - The main title of a card
|
|
159
|
+
*
|
|
160
|
+
* Renders the primary heading for a card. Should be used within CardHeader
|
|
161
|
+
* to maintain proper semantic structure and visual hierarchy. Uses semibold
|
|
162
|
+
* font weight and leading-none for compact appearance.
|
|
163
|
+
*
|
|
164
|
+
* @component
|
|
165
|
+
* @example
|
|
166
|
+
* ```tsx
|
|
167
|
+
* <CardTitle>Dashboard Overview</CardTitle>
|
|
168
|
+
* ```
|
|
169
|
+
*
|
|
170
|
+
* @example
|
|
171
|
+
* ```tsx
|
|
172
|
+
* // With custom styling
|
|
173
|
+
* <CardTitle className="text-lg text-primary">
|
|
174
|
+
* Featured Product
|
|
175
|
+
* </CardTitle>
|
|
176
|
+
* ```
|
|
177
|
+
*
|
|
178
|
+
* @accessibility
|
|
179
|
+
* - Acts as the primary heading for the card content
|
|
180
|
+
* - Should maintain logical heading hierarchy in the document
|
|
181
|
+
* - Screen readers will identify this as the card's main topic
|
|
182
|
+
*
|
|
183
|
+
* @param {string} [className] - Additional CSS classes to apply
|
|
184
|
+
* @param {React.HTMLAttributes<HTMLDivElement>} props - Standard HTML div attributes
|
|
185
|
+
* @since 1.0.0
|
|
186
|
+
*/
|
|
187
|
+
declare function CardTitle({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
|
|
188
|
+
/**
|
|
189
|
+
* CardDescription - Supplementary description text for a card
|
|
190
|
+
*
|
|
191
|
+
* Provides additional context or details about the card content.
|
|
192
|
+
* Styled with muted foreground color and smaller text size to create
|
|
193
|
+
* visual hierarchy below the CardTitle.
|
|
194
|
+
*
|
|
195
|
+
* @component
|
|
196
|
+
* @example
|
|
197
|
+
* ```tsx
|
|
198
|
+
* <CardDescription>
|
|
199
|
+
* View and manage your dashboard settings
|
|
200
|
+
* </CardDescription>
|
|
201
|
+
* ```
|
|
202
|
+
*
|
|
203
|
+
* @example
|
|
204
|
+
* ```tsx
|
|
205
|
+
* // Multi-line description
|
|
206
|
+
* <CardDescription>
|
|
207
|
+
* This card contains important information about your account.
|
|
208
|
+
* Review the details and take action if needed.
|
|
209
|
+
* </CardDescription>
|
|
210
|
+
* ```
|
|
211
|
+
*
|
|
212
|
+
* @accessibility
|
|
213
|
+
* - Provides context for screen readers
|
|
214
|
+
* - Uses muted color that maintains sufficient contrast
|
|
215
|
+
* - Should be descriptive and concise
|
|
216
|
+
*
|
|
217
|
+
* @param {string} [className] - Additional CSS classes to apply
|
|
218
|
+
* @param {React.HTMLAttributes<HTMLDivElement>} props - Standard HTML div attributes
|
|
219
|
+
* @since 1.0.0
|
|
220
|
+
*/
|
|
221
|
+
declare function CardDescription({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
|
|
222
|
+
/**
|
|
223
|
+
* CardAction - Container for card header actions
|
|
224
|
+
*
|
|
225
|
+
* Positioned to the right of the card header using CSS Grid positioning.
|
|
226
|
+
* Typically contains icon buttons, badges, or dropdown menus for card-specific
|
|
227
|
+
* actions. Automatically positioned when used within CardHeader.
|
|
228
|
+
*
|
|
229
|
+
* Grid positioning:
|
|
230
|
+
* - `col-start-2`: Places in second column
|
|
231
|
+
* - `row-span-2`: Spans both title and description rows
|
|
232
|
+
* - `row-start-1`: Starts from first row
|
|
233
|
+
* - `self-start justify-self-end`: Aligns to top-right
|
|
234
|
+
*
|
|
235
|
+
* @component
|
|
236
|
+
* @example
|
|
237
|
+
* ```tsx
|
|
238
|
+
* <CardAction>
|
|
239
|
+
* <Button variant="ghost" size="icon">
|
|
240
|
+
* <MoreHorizontal className="size-4" />
|
|
241
|
+
* </Button>
|
|
242
|
+
* </CardAction>
|
|
243
|
+
* ```
|
|
244
|
+
*
|
|
245
|
+
* @example
|
|
246
|
+
* ```tsx
|
|
247
|
+
* // With badge
|
|
248
|
+
* <CardAction>
|
|
249
|
+
* <Badge variant="secondary">New</Badge>
|
|
250
|
+
* </CardAction>
|
|
251
|
+
* ```
|
|
252
|
+
*
|
|
253
|
+
* @example
|
|
254
|
+
* ```tsx
|
|
255
|
+
* // With dropdown menu
|
|
256
|
+
* <CardAction>
|
|
257
|
+
* <DropdownMenu>
|
|
258
|
+
* <DropdownMenuTrigger asChild>
|
|
259
|
+
* <Button variant="ghost" size="icon">
|
|
260
|
+
* <MoreHorizontal className="size-4" />
|
|
261
|
+
* </Button>
|
|
262
|
+
* </DropdownMenuTrigger>
|
|
263
|
+
* <DropdownMenuContent>
|
|
264
|
+
* <DropdownMenuItem>Edit</DropdownMenuItem>
|
|
265
|
+
* <DropdownMenuItem>Delete</DropdownMenuItem>
|
|
266
|
+
* </DropdownMenuContent>
|
|
267
|
+
* </DropdownMenu>
|
|
268
|
+
* </CardAction>
|
|
269
|
+
* ```
|
|
270
|
+
*
|
|
271
|
+
* @accessibility
|
|
272
|
+
* - Interactive elements should have appropriate labels
|
|
273
|
+
* - Maintains logical tab order
|
|
274
|
+
* - Icon-only buttons should include aria-label
|
|
275
|
+
*
|
|
276
|
+
* @param {string} [className] - Additional CSS classes to apply
|
|
277
|
+
* @param {React.HTMLAttributes<HTMLDivElement>} props - Standard HTML div attributes
|
|
278
|
+
* @since 1.0.0
|
|
279
|
+
*/
|
|
280
|
+
declare function CardAction({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
|
|
281
|
+
/**
|
|
282
|
+
* CardContent - Main content area of a card
|
|
283
|
+
*
|
|
284
|
+
* Contains the primary content for the card. Automatically applies
|
|
285
|
+
* horizontal padding to maintain consistent spacing with other card sections.
|
|
286
|
+
* Can contain any type of content including text, images, forms, or other
|
|
287
|
+
* components.
|
|
288
|
+
*
|
|
289
|
+
* @component
|
|
290
|
+
* @example
|
|
291
|
+
* ```tsx
|
|
292
|
+
* <CardContent>
|
|
293
|
+
* <p>Your main content goes here.</p>
|
|
294
|
+
* </CardContent>
|
|
295
|
+
* ```
|
|
296
|
+
*
|
|
297
|
+
* @example
|
|
298
|
+
* ```tsx
|
|
299
|
+
* // With custom spacing
|
|
300
|
+
* <CardContent className="py-4">
|
|
301
|
+
* <div className="space-y-4">
|
|
302
|
+
* <p>Multiple content elements</p>
|
|
303
|
+
* <Button>Action button</Button>
|
|
304
|
+
* </div>
|
|
305
|
+
* </CardContent>
|
|
306
|
+
* ```
|
|
307
|
+
*
|
|
308
|
+
* @accessibility
|
|
309
|
+
* - Contains the main content that screen readers will focus on
|
|
310
|
+
* - Should maintain logical content structure
|
|
311
|
+
* - Interactive elements should have proper focus management
|
|
312
|
+
*
|
|
313
|
+
* @param {string} [className] - Additional CSS classes to apply
|
|
314
|
+
* @param {React.HTMLAttributes<HTMLDivElement>} props - Standard HTML div attributes
|
|
315
|
+
* @since 1.0.0
|
|
316
|
+
*/
|
|
317
|
+
declare function CardContent({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
|
|
318
|
+
/**
|
|
319
|
+
* CardFooter - Footer area of a card, typically for actions
|
|
320
|
+
*
|
|
321
|
+
* Positioned at the bottom of the card and commonly used for action buttons,
|
|
322
|
+
* supplementary information, or navigation elements. Uses flexbox layout
|
|
323
|
+
* with automatic alignment of items. Can be styled with border-top when
|
|
324
|
+
* visual separation from content is needed.
|
|
325
|
+
*
|
|
326
|
+
* @component
|
|
327
|
+
* @example
|
|
328
|
+
* ```tsx
|
|
329
|
+
* // Basic footer with actions
|
|
330
|
+
* <CardFooter>
|
|
331
|
+
* <Button variant="outline">Cancel</Button>
|
|
332
|
+
* <Button>Save</Button>
|
|
333
|
+
* </CardFooter>
|
|
334
|
+
* ```
|
|
335
|
+
*
|
|
336
|
+
* @example
|
|
337
|
+
* ```tsx
|
|
338
|
+
* // Footer with gap for better spacing
|
|
339
|
+
* <CardFooter className="gap-2">
|
|
340
|
+
* <Button variant="outline" className="flex-1">Cancel</Button>
|
|
341
|
+
* <Button className="flex-1">Confirm</Button>
|
|
342
|
+
* </CardFooter>
|
|
343
|
+
* ```
|
|
344
|
+
*
|
|
345
|
+
* @example
|
|
346
|
+
* ```tsx
|
|
347
|
+
* // Footer with supplementary info
|
|
348
|
+
* <CardFooter className="justify-between">
|
|
349
|
+
* <span className="text-sm text-muted-foreground">Last updated 2 days ago</span>
|
|
350
|
+
* <Button size="sm">Edit</Button>
|
|
351
|
+
* </CardFooter>
|
|
352
|
+
* ```
|
|
353
|
+
*
|
|
354
|
+
* @accessibility
|
|
355
|
+
* - Action buttons should have descriptive labels
|
|
356
|
+
* - Maintains logical tab order for interactive elements
|
|
357
|
+
* - Consider aria-label for icon-only buttons
|
|
358
|
+
*
|
|
359
|
+
* @param {string} [className] - Additional CSS classes to apply
|
|
360
|
+
* @param {React.HTMLAttributes<HTMLDivElement>} props - Standard HTML div attributes
|
|
361
|
+
* @since 1.0.0
|
|
362
|
+
*/
|
|
363
|
+
declare function CardFooter({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
|
|
364
|
+
export { Card, CardHeader, CardFooter, CardTitle, CardAction, CardDescription, CardContent, };
|
|
365
|
+
//# sourceMappingURL=card.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"card.d.ts","sourceRoot":"","sources":["../../../src/components/ui/card.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyGG;AACH,iBAAS,IAAI,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAWjE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,iBAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAWvE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,iBAAS,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAQtE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,iBAAS,eAAe,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAQ5E;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyDG;AACH,iBAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAWvE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAQxE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,iBAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAQvE;AAED,OAAO,EACL,IAAI,EACJ,UAAU,EACV,UAAU,EACV,SAAS,EACT,UAAU,EACV,eAAe,EACf,WAAW,GACZ,CAAC"}
|