@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,519 @@
|
|
|
1
|
+
import type { Meta, StoryObj } from "@storybook/react-vite";
|
|
2
|
+
import {
|
|
3
|
+
AlertTriangle,
|
|
4
|
+
Trash2,
|
|
5
|
+
LogOut,
|
|
6
|
+
Download,
|
|
7
|
+
Settings,
|
|
8
|
+
FileText,
|
|
9
|
+
} from "lucide-react";
|
|
10
|
+
import {
|
|
11
|
+
AlertDialog,
|
|
12
|
+
AlertDialogAction,
|
|
13
|
+
AlertDialogCancel,
|
|
14
|
+
AlertDialogContent,
|
|
15
|
+
AlertDialogDescription,
|
|
16
|
+
AlertDialogFooter,
|
|
17
|
+
AlertDialogHeader,
|
|
18
|
+
AlertDialogTitle,
|
|
19
|
+
AlertDialogTrigger,
|
|
20
|
+
} from "../alert-dialog";
|
|
21
|
+
import { Button } from "../button";
|
|
22
|
+
|
|
23
|
+
const meta = {
|
|
24
|
+
title: "Overlays/AlertDialog",
|
|
25
|
+
component: AlertDialog,
|
|
26
|
+
parameters: {
|
|
27
|
+
layout: "centered",
|
|
28
|
+
docs: {
|
|
29
|
+
description: {
|
|
30
|
+
component:
|
|
31
|
+
"A specialized modal dialog for critical confirmations and destructive actions. Unlike regular dialogs, alert dialogs cannot be dismissed by clicking outside and focus the action button by default. Built with Radix UI Alert Dialog primitives and styled with Tailwind CSS.",
|
|
32
|
+
},
|
|
33
|
+
},
|
|
34
|
+
},
|
|
35
|
+
tags: ["autodocs"],
|
|
36
|
+
} satisfies Meta<typeof AlertDialog>;
|
|
37
|
+
|
|
38
|
+
export default meta;
|
|
39
|
+
type Story = StoryObj<typeof meta>;
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Interactive playground for testing all AlertDialog features
|
|
43
|
+
*
|
|
44
|
+
* This story provides controls for testing different configurations and
|
|
45
|
+
* interaction patterns with the AlertDialog component.
|
|
46
|
+
*/
|
|
47
|
+
export const Interactive: Story = {
|
|
48
|
+
render: () => (
|
|
49
|
+
<div className="flex gap-4 flex-wrap">
|
|
50
|
+
{/* Basic confirmation */}
|
|
51
|
+
<AlertDialog>
|
|
52
|
+
<AlertDialogTrigger asChild>
|
|
53
|
+
<Button variant="outline">Basic Dialog</Button>
|
|
54
|
+
</AlertDialogTrigger>
|
|
55
|
+
<AlertDialogContent>
|
|
56
|
+
<AlertDialogHeader>
|
|
57
|
+
<AlertDialogTitle>Are you absolutely sure?</AlertDialogTitle>
|
|
58
|
+
<AlertDialogDescription>
|
|
59
|
+
This action cannot be undone. This will permanently delete your
|
|
60
|
+
account and remove your data from our servers.
|
|
61
|
+
</AlertDialogDescription>
|
|
62
|
+
</AlertDialogHeader>
|
|
63
|
+
<AlertDialogFooter>
|
|
64
|
+
<AlertDialogCancel onClick={() => console.log("Dialog cancelled")}>
|
|
65
|
+
Cancel
|
|
66
|
+
</AlertDialogCancel>
|
|
67
|
+
<AlertDialogAction onClick={() => console.log("Dialog confirmed")}>
|
|
68
|
+
Continue
|
|
69
|
+
</AlertDialogAction>
|
|
70
|
+
</AlertDialogFooter>
|
|
71
|
+
</AlertDialogContent>
|
|
72
|
+
</AlertDialog>
|
|
73
|
+
|
|
74
|
+
{/* Destructive action */}
|
|
75
|
+
<AlertDialog>
|
|
76
|
+
<AlertDialogTrigger asChild>
|
|
77
|
+
<Button variant="destructive">
|
|
78
|
+
<Trash2 className="size-4" />
|
|
79
|
+
Delete
|
|
80
|
+
</Button>
|
|
81
|
+
</AlertDialogTrigger>
|
|
82
|
+
<AlertDialogContent>
|
|
83
|
+
<AlertDialogHeader>
|
|
84
|
+
<AlertDialogTitle className="flex items-center gap-2">
|
|
85
|
+
<AlertTriangle className="size-5 text-red-500" />
|
|
86
|
+
Delete Account
|
|
87
|
+
</AlertDialogTitle>
|
|
88
|
+
<AlertDialogDescription>
|
|
89
|
+
This action cannot be undone. This will permanently delete your
|
|
90
|
+
account, remove your data from our servers, and cancel any active
|
|
91
|
+
subscriptions.
|
|
92
|
+
</AlertDialogDescription>
|
|
93
|
+
</AlertDialogHeader>
|
|
94
|
+
<AlertDialogFooter>
|
|
95
|
+
<AlertDialogCancel>Cancel</AlertDialogCancel>
|
|
96
|
+
<AlertDialogAction className="bg-red-600 hover:bg-red-700 focus:ring-red-600">
|
|
97
|
+
Delete Account
|
|
98
|
+
</AlertDialogAction>
|
|
99
|
+
</AlertDialogFooter>
|
|
100
|
+
</AlertDialogContent>
|
|
101
|
+
</AlertDialog>
|
|
102
|
+
|
|
103
|
+
{/* Simple confirmation */}
|
|
104
|
+
<AlertDialog>
|
|
105
|
+
<AlertDialogTrigger asChild>
|
|
106
|
+
<Button variant="outline">
|
|
107
|
+
<LogOut className="size-4" />
|
|
108
|
+
Sign Out
|
|
109
|
+
</Button>
|
|
110
|
+
</AlertDialogTrigger>
|
|
111
|
+
<AlertDialogContent>
|
|
112
|
+
<AlertDialogHeader>
|
|
113
|
+
<AlertDialogTitle>Sign Out</AlertDialogTitle>
|
|
114
|
+
<AlertDialogDescription>
|
|
115
|
+
Are you sure you want to sign out of your account?
|
|
116
|
+
</AlertDialogDescription>
|
|
117
|
+
</AlertDialogHeader>
|
|
118
|
+
<AlertDialogFooter>
|
|
119
|
+
<AlertDialogCancel>Cancel</AlertDialogCancel>
|
|
120
|
+
<AlertDialogAction>Sign Out</AlertDialogAction>
|
|
121
|
+
</AlertDialogFooter>
|
|
122
|
+
</AlertDialogContent>
|
|
123
|
+
</AlertDialog>
|
|
124
|
+
</div>
|
|
125
|
+
),
|
|
126
|
+
parameters: {
|
|
127
|
+
docs: {
|
|
128
|
+
description: {
|
|
129
|
+
story:
|
|
130
|
+
"Interactive examples showing common AlertDialog patterns. Check the Actions panel to see onClick events for the basic dialog.",
|
|
131
|
+
},
|
|
132
|
+
},
|
|
133
|
+
},
|
|
134
|
+
};
|
|
135
|
+
|
|
136
|
+
/**
|
|
137
|
+
* Showcase of different AlertDialog variants and styling options
|
|
138
|
+
*
|
|
139
|
+
* Demonstrates various visual treatments and content patterns for different
|
|
140
|
+
* use cases including destructive actions, confirmations, and custom styling.
|
|
141
|
+
*/
|
|
142
|
+
export const Variants: Story = {
|
|
143
|
+
render: () => (
|
|
144
|
+
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4">
|
|
145
|
+
{/* Standard confirmation */}
|
|
146
|
+
<div className="space-y-2">
|
|
147
|
+
<h3 className="text-sm font-medium">Standard Confirmation</h3>
|
|
148
|
+
<AlertDialog>
|
|
149
|
+
<AlertDialogTrigger asChild>
|
|
150
|
+
<Button variant="outline" className="w-full">
|
|
151
|
+
Show Dialog
|
|
152
|
+
</Button>
|
|
153
|
+
</AlertDialogTrigger>
|
|
154
|
+
<AlertDialogContent>
|
|
155
|
+
<AlertDialogHeader>
|
|
156
|
+
<AlertDialogTitle>Confirm Action</AlertDialogTitle>
|
|
157
|
+
<AlertDialogDescription>
|
|
158
|
+
Are you sure you want to proceed with this action?
|
|
159
|
+
</AlertDialogDescription>
|
|
160
|
+
</AlertDialogHeader>
|
|
161
|
+
<AlertDialogFooter>
|
|
162
|
+
<AlertDialogCancel>Cancel</AlertDialogCancel>
|
|
163
|
+
<AlertDialogAction>Continue</AlertDialogAction>
|
|
164
|
+
</AlertDialogFooter>
|
|
165
|
+
</AlertDialogContent>
|
|
166
|
+
</AlertDialog>
|
|
167
|
+
</div>
|
|
168
|
+
|
|
169
|
+
{/* Destructive action */}
|
|
170
|
+
<div className="space-y-2">
|
|
171
|
+
<h3 className="text-sm font-medium">Destructive Action</h3>
|
|
172
|
+
<AlertDialog>
|
|
173
|
+
<AlertDialogTrigger asChild>
|
|
174
|
+
<Button variant="destructive" className="w-full">
|
|
175
|
+
<Trash2 className="size-4" />
|
|
176
|
+
Delete
|
|
177
|
+
</Button>
|
|
178
|
+
</AlertDialogTrigger>
|
|
179
|
+
<AlertDialogContent>
|
|
180
|
+
<AlertDialogHeader>
|
|
181
|
+
<AlertDialogTitle className="flex items-center gap-2">
|
|
182
|
+
<AlertTriangle className="size-5 text-red-500" />
|
|
183
|
+
Delete Item
|
|
184
|
+
</AlertDialogTitle>
|
|
185
|
+
<AlertDialogDescription>
|
|
186
|
+
This action cannot be undone. The item will be permanently
|
|
187
|
+
removed.
|
|
188
|
+
</AlertDialogDescription>
|
|
189
|
+
</AlertDialogHeader>
|
|
190
|
+
<AlertDialogFooter>
|
|
191
|
+
<AlertDialogCancel>Cancel</AlertDialogCancel>
|
|
192
|
+
<AlertDialogAction className="bg-red-600 hover:bg-red-700">
|
|
193
|
+
Delete
|
|
194
|
+
</AlertDialogAction>
|
|
195
|
+
</AlertDialogFooter>
|
|
196
|
+
</AlertDialogContent>
|
|
197
|
+
</AlertDialog>
|
|
198
|
+
</div>
|
|
199
|
+
|
|
200
|
+
{/* Without description */}
|
|
201
|
+
<div className="space-y-2">
|
|
202
|
+
<h3 className="text-sm font-medium">Title Only</h3>
|
|
203
|
+
<AlertDialog>
|
|
204
|
+
<AlertDialogTrigger asChild>
|
|
205
|
+
<Button variant="outline" className="w-full">
|
|
206
|
+
Quick Confirm
|
|
207
|
+
</Button>
|
|
208
|
+
</AlertDialogTrigger>
|
|
209
|
+
<AlertDialogContent>
|
|
210
|
+
<AlertDialogHeader>
|
|
211
|
+
<AlertDialogTitle>Quick Confirmation</AlertDialogTitle>
|
|
212
|
+
</AlertDialogHeader>
|
|
213
|
+
<AlertDialogFooter>
|
|
214
|
+
<AlertDialogCancel>Cancel</AlertDialogCancel>
|
|
215
|
+
<AlertDialogAction>Confirm</AlertDialogAction>
|
|
216
|
+
</AlertDialogFooter>
|
|
217
|
+
</AlertDialogContent>
|
|
218
|
+
</AlertDialog>
|
|
219
|
+
</div>
|
|
220
|
+
|
|
221
|
+
{/* Custom button styling */}
|
|
222
|
+
<div className="space-y-2">
|
|
223
|
+
<h3 className="text-sm font-medium">Custom Styling</h3>
|
|
224
|
+
<AlertDialog>
|
|
225
|
+
<AlertDialogTrigger asChild>
|
|
226
|
+
<Button variant="outline" className="w-full">
|
|
227
|
+
Save Changes
|
|
228
|
+
</Button>
|
|
229
|
+
</AlertDialogTrigger>
|
|
230
|
+
<AlertDialogContent>
|
|
231
|
+
<AlertDialogHeader>
|
|
232
|
+
<AlertDialogTitle>Save Changes?</AlertDialogTitle>
|
|
233
|
+
<AlertDialogDescription>
|
|
234
|
+
You have unsaved changes. Save before leaving?
|
|
235
|
+
</AlertDialogDescription>
|
|
236
|
+
</AlertDialogHeader>
|
|
237
|
+
<AlertDialogFooter>
|
|
238
|
+
<AlertDialogCancel>Don't Save</AlertDialogCancel>
|
|
239
|
+
<AlertDialogAction className="bg-blue-600 hover:bg-blue-700">
|
|
240
|
+
Save Changes
|
|
241
|
+
</AlertDialogAction>
|
|
242
|
+
</AlertDialogFooter>
|
|
243
|
+
</AlertDialogContent>
|
|
244
|
+
</AlertDialog>
|
|
245
|
+
</div>
|
|
246
|
+
|
|
247
|
+
{/* Long content */}
|
|
248
|
+
<div className="space-y-2">
|
|
249
|
+
<h3 className="text-sm font-medium">Detailed Explanation</h3>
|
|
250
|
+
<AlertDialog>
|
|
251
|
+
<AlertDialogTrigger asChild>
|
|
252
|
+
<Button variant="outline" className="w-full">
|
|
253
|
+
<Settings className="size-4" />
|
|
254
|
+
Reset Settings
|
|
255
|
+
</Button>
|
|
256
|
+
</AlertDialogTrigger>
|
|
257
|
+
<AlertDialogContent>
|
|
258
|
+
<AlertDialogHeader>
|
|
259
|
+
<AlertDialogTitle>Reset All Settings</AlertDialogTitle>
|
|
260
|
+
<AlertDialogDescription>
|
|
261
|
+
This will reset all application settings to defaults including:
|
|
262
|
+
• Theme preferences • Notification settings • Privacy
|
|
263
|
+
preferences • Display options Your data will not be affected.
|
|
264
|
+
</AlertDialogDescription>
|
|
265
|
+
</AlertDialogHeader>
|
|
266
|
+
<AlertDialogFooter>
|
|
267
|
+
<AlertDialogCancel>Cancel</AlertDialogCancel>
|
|
268
|
+
<AlertDialogAction>Reset Settings</AlertDialogAction>
|
|
269
|
+
</AlertDialogFooter>
|
|
270
|
+
</AlertDialogContent>
|
|
271
|
+
</AlertDialog>
|
|
272
|
+
</div>
|
|
273
|
+
|
|
274
|
+
{/* Information/Download */}
|
|
275
|
+
<div className="space-y-2">
|
|
276
|
+
<h3 className="text-sm font-medium">Information Action</h3>
|
|
277
|
+
<AlertDialog>
|
|
278
|
+
<AlertDialogTrigger asChild>
|
|
279
|
+
<Button className="w-full">
|
|
280
|
+
<Download className="size-4" />
|
|
281
|
+
Download
|
|
282
|
+
</Button>
|
|
283
|
+
</AlertDialogTrigger>
|
|
284
|
+
<AlertDialogContent>
|
|
285
|
+
<AlertDialogHeader>
|
|
286
|
+
<AlertDialogTitle>Download Your Data</AlertDialogTitle>
|
|
287
|
+
<AlertDialogDescription>
|
|
288
|
+
This will prepare a ZIP file with all your data. You'll
|
|
289
|
+
receive an email when it's ready.
|
|
290
|
+
</AlertDialogDescription>
|
|
291
|
+
</AlertDialogHeader>
|
|
292
|
+
<AlertDialogFooter>
|
|
293
|
+
<AlertDialogCancel>Cancel</AlertDialogCancel>
|
|
294
|
+
<AlertDialogAction>Start Download</AlertDialogAction>
|
|
295
|
+
</AlertDialogFooter>
|
|
296
|
+
</AlertDialogContent>
|
|
297
|
+
</AlertDialog>
|
|
298
|
+
</div>
|
|
299
|
+
</div>
|
|
300
|
+
),
|
|
301
|
+
parameters: {
|
|
302
|
+
docs: {
|
|
303
|
+
description: {
|
|
304
|
+
story:
|
|
305
|
+
"Collection of AlertDialog variants showing different styling patterns, content lengths, and use cases for various scenarios.",
|
|
306
|
+
},
|
|
307
|
+
},
|
|
308
|
+
},
|
|
309
|
+
};
|
|
310
|
+
|
|
311
|
+
/**
|
|
312
|
+
* Real-world usage example in a realistic application context
|
|
313
|
+
*
|
|
314
|
+
* Shows how AlertDialog integrates within a typical application interface
|
|
315
|
+
* with realistic content and multiple interaction points.
|
|
316
|
+
*/
|
|
317
|
+
export const InContext: Story = {
|
|
318
|
+
render: () => (
|
|
319
|
+
<div className="max-w-2xl mx-auto p-6 space-y-6">
|
|
320
|
+
{/* Simulated application header */}
|
|
321
|
+
<div className="border-b pb-4">
|
|
322
|
+
<h1 className="text-2xl font-bold">Account Settings</h1>
|
|
323
|
+
<p className="text-muted-foreground">
|
|
324
|
+
Manage your account preferences and data
|
|
325
|
+
</p>
|
|
326
|
+
</div>
|
|
327
|
+
|
|
328
|
+
{/* Simulated settings sections */}
|
|
329
|
+
<div className="space-y-6">
|
|
330
|
+
{/* Profile section */}
|
|
331
|
+
<div className="border rounded-lg p-4">
|
|
332
|
+
<h2 className="text-lg font-semibold mb-3">Profile Information</h2>
|
|
333
|
+
<div className="space-y-3">
|
|
334
|
+
<div className="flex items-center justify-between">
|
|
335
|
+
<div>
|
|
336
|
+
<p className="font-medium">Export Account Data</p>
|
|
337
|
+
<p className="text-sm text-muted-foreground">
|
|
338
|
+
Download all your account information
|
|
339
|
+
</p>
|
|
340
|
+
</div>
|
|
341
|
+
<AlertDialog>
|
|
342
|
+
<AlertDialogTrigger asChild>
|
|
343
|
+
<Button variant="outline">
|
|
344
|
+
<Download className="size-4" />
|
|
345
|
+
Export Data
|
|
346
|
+
</Button>
|
|
347
|
+
</AlertDialogTrigger>
|
|
348
|
+
<AlertDialogContent>
|
|
349
|
+
<AlertDialogHeader>
|
|
350
|
+
<AlertDialogTitle>Export Account Data</AlertDialogTitle>
|
|
351
|
+
<AlertDialogDescription>
|
|
352
|
+
We'll prepare a comprehensive export of your account
|
|
353
|
+
data including profile information, preferences, and
|
|
354
|
+
activity history. This may take a few minutes to process.
|
|
355
|
+
You'll receive an email notification when your export
|
|
356
|
+
is ready for download.
|
|
357
|
+
</AlertDialogDescription>
|
|
358
|
+
</AlertDialogHeader>
|
|
359
|
+
<AlertDialogFooter>
|
|
360
|
+
<AlertDialogCancel>Cancel</AlertDialogCancel>
|
|
361
|
+
<AlertDialogAction>Start Export</AlertDialogAction>
|
|
362
|
+
</AlertDialogFooter>
|
|
363
|
+
</AlertDialogContent>
|
|
364
|
+
</AlertDialog>
|
|
365
|
+
</div>
|
|
366
|
+
</div>
|
|
367
|
+
</div>
|
|
368
|
+
|
|
369
|
+
{/* Danger zone */}
|
|
370
|
+
<div className="bg-card text-card-foreground border border-destructive/20 rounded-lg p-4">
|
|
371
|
+
<h2 className="text-lg font-semibold mb-3 text-destructive">
|
|
372
|
+
Danger Zone
|
|
373
|
+
</h2>
|
|
374
|
+
<div className="space-y-4">
|
|
375
|
+
<div className="flex items-center justify-between">
|
|
376
|
+
<div>
|
|
377
|
+
<p className="font-medium text-destructive">
|
|
378
|
+
Reset All Settings
|
|
379
|
+
</p>
|
|
380
|
+
<p className="text-sm text-muted-foreground">
|
|
381
|
+
Return all preferences to default values
|
|
382
|
+
</p>
|
|
383
|
+
</div>
|
|
384
|
+
<AlertDialog>
|
|
385
|
+
<AlertDialogTrigger asChild>
|
|
386
|
+
<Button
|
|
387
|
+
variant="outline"
|
|
388
|
+
className="border-destructive/30 text-destructive hover:bg-destructive/10"
|
|
389
|
+
>
|
|
390
|
+
<Settings className="size-4" />
|
|
391
|
+
Reset Settings
|
|
392
|
+
</Button>
|
|
393
|
+
</AlertDialogTrigger>
|
|
394
|
+
<AlertDialogContent>
|
|
395
|
+
<AlertDialogHeader>
|
|
396
|
+
<AlertDialogTitle>Reset All Settings</AlertDialogTitle>
|
|
397
|
+
<AlertDialogDescription>
|
|
398
|
+
This will reset all your application settings to their
|
|
399
|
+
default values, including: • Theme and display preferences
|
|
400
|
+
• Notification settings • Privacy and security preferences
|
|
401
|
+
• Language and region settings Your account data, saved
|
|
402
|
+
content, and personal information will not be affected.
|
|
403
|
+
You can reconfigure these settings at any time.
|
|
404
|
+
</AlertDialogDescription>
|
|
405
|
+
</AlertDialogHeader>
|
|
406
|
+
<AlertDialogFooter>
|
|
407
|
+
<AlertDialogCancel>Keep Current Settings</AlertDialogCancel>
|
|
408
|
+
<AlertDialogAction className="bg-orange-600 hover:bg-orange-700">
|
|
409
|
+
Reset All Settings
|
|
410
|
+
</AlertDialogAction>
|
|
411
|
+
</AlertDialogFooter>
|
|
412
|
+
</AlertDialogContent>
|
|
413
|
+
</AlertDialog>
|
|
414
|
+
</div>
|
|
415
|
+
|
|
416
|
+
<div className="flex items-center justify-between pt-4 border-t border-border">
|
|
417
|
+
<div>
|
|
418
|
+
<p className="font-medium text-destructive">Delete Account</p>
|
|
419
|
+
<p className="text-sm text-muted-foreground">
|
|
420
|
+
Permanently delete your account and all data
|
|
421
|
+
</p>
|
|
422
|
+
</div>
|
|
423
|
+
<AlertDialog>
|
|
424
|
+
<AlertDialogTrigger asChild>
|
|
425
|
+
<Button variant="destructive">
|
|
426
|
+
<Trash2 className="size-4" />
|
|
427
|
+
Delete Account
|
|
428
|
+
</Button>
|
|
429
|
+
</AlertDialogTrigger>
|
|
430
|
+
<AlertDialogContent>
|
|
431
|
+
<AlertDialogHeader>
|
|
432
|
+
<AlertDialogTitle className="flex items-center gap-2">
|
|
433
|
+
<AlertTriangle className="size-5 text-red-500" />
|
|
434
|
+
Delete Account Permanently
|
|
435
|
+
</AlertDialogTitle>
|
|
436
|
+
<AlertDialogDescription>
|
|
437
|
+
This action cannot be undone. This will permanently delete
|
|
438
|
+
your account, remove all your data from our servers, and
|
|
439
|
+
cancel any active subscriptions. All of your projects,
|
|
440
|
+
files, and account information will be permanently lost.
|
|
441
|
+
If you're sure you want to proceed, type
|
|
442
|
+
"DELETE" in the confirmation field that will
|
|
443
|
+
appear.
|
|
444
|
+
</AlertDialogDescription>
|
|
445
|
+
</AlertDialogHeader>
|
|
446
|
+
<AlertDialogFooter>
|
|
447
|
+
<AlertDialogCancel>Keep My Account</AlertDialogCancel>
|
|
448
|
+
<AlertDialogAction className="bg-red-600 hover:bg-red-700 focus:ring-red-600">
|
|
449
|
+
Yes, Delete My Account
|
|
450
|
+
</AlertDialogAction>
|
|
451
|
+
</AlertDialogFooter>
|
|
452
|
+
</AlertDialogContent>
|
|
453
|
+
</AlertDialog>
|
|
454
|
+
</div>
|
|
455
|
+
</div>
|
|
456
|
+
</div>
|
|
457
|
+
|
|
458
|
+
{/* Quick actions */}
|
|
459
|
+
<div className="border rounded-lg p-4">
|
|
460
|
+
<h2 className="text-lg font-semibold mb-3">Quick Actions</h2>
|
|
461
|
+
<div className="flex gap-3 flex-wrap">
|
|
462
|
+
<AlertDialog>
|
|
463
|
+
<AlertDialogTrigger asChild>
|
|
464
|
+
<Button variant="outline">
|
|
465
|
+
<LogOut className="size-4" />
|
|
466
|
+
Sign Out
|
|
467
|
+
</Button>
|
|
468
|
+
</AlertDialogTrigger>
|
|
469
|
+
<AlertDialogContent>
|
|
470
|
+
<AlertDialogHeader>
|
|
471
|
+
<AlertDialogTitle>Sign Out</AlertDialogTitle>
|
|
472
|
+
<AlertDialogDescription>
|
|
473
|
+
Are you sure you want to sign out of your account?
|
|
474
|
+
You'll need to sign in again to access your data.
|
|
475
|
+
</AlertDialogDescription>
|
|
476
|
+
</AlertDialogHeader>
|
|
477
|
+
<AlertDialogFooter>
|
|
478
|
+
<AlertDialogCancel>Stay Signed In</AlertDialogCancel>
|
|
479
|
+
<AlertDialogAction>Sign Out</AlertDialogAction>
|
|
480
|
+
</AlertDialogFooter>
|
|
481
|
+
</AlertDialogContent>
|
|
482
|
+
</AlertDialog>
|
|
483
|
+
|
|
484
|
+
<AlertDialog>
|
|
485
|
+
<AlertDialogTrigger asChild>
|
|
486
|
+
<Button variant="outline">
|
|
487
|
+
<FileText className="size-4" />
|
|
488
|
+
Clear Cache
|
|
489
|
+
</Button>
|
|
490
|
+
</AlertDialogTrigger>
|
|
491
|
+
<AlertDialogContent>
|
|
492
|
+
<AlertDialogHeader>
|
|
493
|
+
<AlertDialogTitle>Clear Application Cache</AlertDialogTitle>
|
|
494
|
+
<AlertDialogDescription>
|
|
495
|
+
This will clear all cached data and temporary files. You may
|
|
496
|
+
need to reload some content, but this can help resolve
|
|
497
|
+
performance issues.
|
|
498
|
+
</AlertDialogDescription>
|
|
499
|
+
</AlertDialogHeader>
|
|
500
|
+
<AlertDialogFooter>
|
|
501
|
+
<AlertDialogCancel>Cancel</AlertDialogCancel>
|
|
502
|
+
<AlertDialogAction>Clear Cache</AlertDialogAction>
|
|
503
|
+
</AlertDialogFooter>
|
|
504
|
+
</AlertDialogContent>
|
|
505
|
+
</AlertDialog>
|
|
506
|
+
</div>
|
|
507
|
+
</div>
|
|
508
|
+
</div>
|
|
509
|
+
</div>
|
|
510
|
+
),
|
|
511
|
+
parameters: {
|
|
512
|
+
docs: {
|
|
513
|
+
description: {
|
|
514
|
+
story:
|
|
515
|
+
"Realistic application context showing AlertDialog integration within a settings page. Demonstrates proper usage patterns for different types of confirmations including data exports, settings resets, account deletion, and quick actions.",
|
|
516
|
+
},
|
|
517
|
+
},
|
|
518
|
+
},
|
|
519
|
+
};
|