@beyondcorp/beyond-ui 1.0.14 → 1.0.15

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.
@@ -1,6 +1,6 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import * as React from 'react';
3
- import { Root as Slot } from '../../node_modules/@radix-ui/react-slot/dist/index.js';
3
+ import { Slot } from '@radix-ui/react-slot';
4
4
  import { cva } from 'class-variance-authority';
5
5
  import { cn } from '../../utils/cn.js';
6
6
 
@@ -1,8 +1,8 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import * as React from 'react';
3
+ import { Check } from 'lucide-react';
3
4
  import { cva } from 'class-variance-authority';
4
5
  import { cn } from '../../utils/cn.js';
5
- import Check from '../../node_modules/lucide-react/dist/esm/icons/check.js';
6
6
 
7
7
  const checkboxVariants = cva("peer h-4 w-4 shrink-0 rounded-sm border border-gray-300 ring-offset-white focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary-600 data-[state=checked]:text-white data-[state=checked]:border-primary-600", {
8
8
  variants: {
@@ -1,6 +1,7 @@
1
1
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
2
  import * as React from 'react';
3
3
  import { useState } from 'react';
4
+ import { Layout, AlertCircle, BarChart3, MousePointer, User, Settings, Palette, ChevronRight, Search, ChevronDown, Monitor, Tablet, Smartphone, Sun, Moon, Eye, Code, Check, Copy, Book } from 'lucide-react';
4
5
  import { cn } from '../../utils/cn.js';
5
6
  import { Button } from '../Button/Button.js';
6
7
  import { Input } from '../Input/Input.js';
@@ -22,26 +23,6 @@ import { Switch } from '../Switch/Switch.js';
22
23
  import { Spinner } from '../Spinner/Spinner.js';
23
24
  import { Skeleton } from '../Skeleton/Skeleton.js';
24
25
  import { DataTableShowcase } from '../DataTable/DataTableShowcase.js';
25
- import PanelsTopLeft from '../../node_modules/lucide-react/dist/esm/icons/panels-top-left.js';
26
- import AlertCircle from '../../node_modules/lucide-react/dist/esm/icons/alert-circle.js';
27
- import BarChart3 from '../../node_modules/lucide-react/dist/esm/icons/bar-chart-3.js';
28
- import MousePointer from '../../node_modules/lucide-react/dist/esm/icons/mouse-pointer.js';
29
- import User from '../../node_modules/lucide-react/dist/esm/icons/user.js';
30
- import Settings from '../../node_modules/lucide-react/dist/esm/icons/settings.js';
31
- import Palette from '../../node_modules/lucide-react/dist/esm/icons/palette.js';
32
- import ChevronRight from '../../node_modules/lucide-react/dist/esm/icons/chevron-right.js';
33
- import Search from '../../node_modules/lucide-react/dist/esm/icons/search.js';
34
- import ChevronDown from '../../node_modules/lucide-react/dist/esm/icons/chevron-down.js';
35
- import Monitor from '../../node_modules/lucide-react/dist/esm/icons/monitor.js';
36
- import Tablet from '../../node_modules/lucide-react/dist/esm/icons/tablet.js';
37
- import Smartphone from '../../node_modules/lucide-react/dist/esm/icons/smartphone.js';
38
- import Sun from '../../node_modules/lucide-react/dist/esm/icons/sun.js';
39
- import Moon from '../../node_modules/lucide-react/dist/esm/icons/moon.js';
40
- import Eye from '../../node_modules/lucide-react/dist/esm/icons/eye.js';
41
- import Code from '../../node_modules/lucide-react/dist/esm/icons/code.js';
42
- import Check from '../../node_modules/lucide-react/dist/esm/icons/check.js';
43
- import Copy from '../../node_modules/lucide-react/dist/esm/icons/copy.js';
44
- import Book from '../../node_modules/lucide-react/dist/esm/icons/book.js';
45
26
 
46
27
  // STORY INSPIRED DEMOS:
47
28
  function ShowcaseButtonDemo() {
@@ -186,7 +167,7 @@ const componentCategories = {
186
167
  ]
187
168
  },
188
169
  "Layout": {
189
- icon: jsx(PanelsTopLeft, { className: "h-4 w-4" }),
170
+ icon: jsx(Layout, { className: "h-4 w-4" }),
190
171
  components: [
191
172
  { name: "DashboardLayout", id: "dashboard-layout" },
192
173
  { name: "DashboardGrid", id: "dashboard-grid" },
@@ -1 +1 @@
1
- {"version":3,"file":"ComponentShowcase.js","sources":["../../../src/components/ComponentShowcase/ComponentShowcase.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport { useState } from \"react\";\r\nimport { \r\n Search, \r\n Copy, \r\n Check, \r\n Monitor, \r\n Tablet, \r\n Smartphone, \r\n Sun, \r\n Moon,\r\n ChevronRight,\r\n ChevronDown,\r\n Code,\r\n Eye,\r\n Book,\r\n Palette,\r\n Layout,\r\n MousePointer,\r\n AlertCircle,\r\n BarChart3,\r\n Settings\r\n} from \"lucide-react\";\r\nimport { cn } from \"../../utils/cn\";\r\nimport { Button } from \"../Button\";\r\nimport { Input } from \"../Input\";\r\nimport { Textarea } from \"../Textarea\";\r\nimport { Checkbox } from \"../Checkbox\";\r\nimport { Navbar } from \"../Navbar\";\r\nimport { Sidebar } from \"../Sidebar\";\r\nimport { DashboardGrid } from \"../DashboardGrid\";\r\nimport { DashboardLayout } from \"../DashboardLayout\";\r\nimport { User } from \"lucide-react\";\r\n\r\n// STORY INSPIRED DEMOS:\r\nfunction ShowcaseButtonDemo() {\r\n return (\r\n <div className=\"flex flex-wrap items-center gap-4\">\r\n <Button variant=\"primary\">Primary</Button>\r\n <Button variant=\"secondary\">Secondary</Button>\r\n <Button variant=\"danger\">Danger</Button>\r\n <Button variant=\"success\">Success</Button>\r\n <Button variant=\"warning\">Warning</Button>\r\n <Button variant=\"outline\">Outline</Button>\r\n <Button variant=\"ghost\">Ghost</Button>\r\n <Button variant=\"link\">Link</Button>\r\n </div>\r\n );\r\n}\r\n\r\nfunction ShowcaseInputDemo() {\r\n const [v, setV] = React.useState(\"\");\r\n return (\r\n <div className=\"space-y-4 max-w-md\">\r\n <Input placeholder=\"Default input\" value={v} onChange={e => setV(e.target.value)} />\r\n <Input placeholder=\"Success state\" variant=\"success\" />\r\n <Input placeholder=\"Error state\" variant=\"error\" />\r\n <div className=\"space-y-2\">\r\n <Input placeholder=\"Small\" inputSize=\"sm\" />\r\n <Input placeholder=\"Medium\" inputSize=\"md\" />\r\n <Input placeholder=\"Large\" inputSize=\"lg\" />\r\n </div>\r\n </div>\r\n );\r\n}\r\n\r\nfunction ShowcaseTextareaDemo() {\r\n const [tv, setTv] = React.useState(\"\");\r\n return (\r\n <div className=\"space-y-4 max-w-md\">\r\n <Textarea placeholder=\"Default textarea\" value={tv} onChange={e => setTv(e.target.value)} />\r\n <Textarea placeholder=\"Success state\" variant=\"success\" />\r\n <Textarea placeholder=\"Error state\" variant=\"error\" />\r\n <div className=\"space-y-2\">\r\n <Textarea placeholder=\"Small (default)\" />\r\n <Textarea placeholder=\"Disabled\" disabled />\r\n </div>\r\n </div>\r\n );\r\n}\r\n\r\nfunction ShowcaseSwitchDemo() {\r\n const [checked, setChecked] = React.useState(false);\r\n return (\r\n <div className=\"space-y-2\">\r\n <label className=\"flex items-center gap-2\">\r\n <Switch checked={checked} onCheckedChange={setChecked} />\r\n <span>Default</span>\r\n </label>\r\n <label className=\"flex items-center gap-2\">\r\n <Switch checked />\r\n <span>Checked</span>\r\n </label>\r\n <label className=\"flex items-center gap-2\">\r\n <Switch disabled />\r\n <span>Disabled</span>\r\n </label>\r\n <label className=\"flex items-center gap-2\">\r\n <Switch size=\"sm\" />\r\n <span>Small</span>\r\n </label>\r\n <label className=\"flex items-center gap-2\">\r\n <Switch size=\"lg\" />\r\n <span>Large</span>\r\n </label>\r\n </div>\r\n );\r\n}\r\n\r\nfunction ShowcaseCheckboxDemo() {\r\n const [checked, setChecked] = React.useState(false);\r\n return (\r\n <div className=\"space-y-2\">\r\n <label className=\"flex items-center gap-2\">\r\n <Checkbox checked={checked} onChange={() => setChecked(!checked)} /> <span>Default</span>\r\n </label>\r\n <label className=\"flex items-center gap-2\">\r\n <Checkbox checked /> <span>Checked</span>\r\n </label>\r\n <label className=\"flex items-center gap-2\">\r\n <Checkbox disabled /> <span>Disabled</span>\r\n </label>\r\n <label className=\"flex items-center gap-2\">\r\n <Checkbox size=\"sm\" /> <span>Small</span>\r\n </label>\r\n <label className=\"flex items-center gap-2\">\r\n <Checkbox size=\"lg\" /> <span>Large</span>\r\n </label>\r\n </div>\r\n );\r\n}\r\n\r\nfunction ShowcaseCardDemo() {\r\n return (\r\n <div className=\"grid grid-cols-1 md:grid-cols-2 gap-4\">\r\n <Card>\r\n <CardHeader>\r\n <CardTitle>Default Card</CardTitle>\r\n </CardHeader>\r\n <CardContent>\r\n <p className=\"text-gray-600\">This is a default card with standard styling.</p>\r\n </CardContent>\r\n </Card>\r\n <Card variant=\"elevated\">\r\n <CardHeader>\r\n <CardTitle>Elevated Card</CardTitle>\r\n </CardHeader>\r\n <CardContent>\r\n <p className=\"text-gray-600\">This card has elevated shadow styling.</p>\r\n </CardContent>\r\n </Card>\r\n </div>\r\n );\r\n}\r\nfunction ShowcaseBadgeDemo() {\r\n return (\r\n <div className=\"flex flex-wrap gap-2\">\r\n <Badge>Default</Badge>\r\n <Badge variant=\"secondary\">Secondary</Badge>\r\n <Badge variant=\"success\">Success</Badge>\r\n <Badge variant=\"danger\">Danger</Badge>\r\n <Badge variant=\"warning\">Warning</Badge>\r\n <Badge variant=\"outline\">Outline</Badge>\r\n </div>\r\n );\r\n}\r\nfunction ShowcaseAvatarDemo() {\r\n return (\r\n <div className=\"flex gap-4\">\r\n <Avatar>\r\n <AvatarImage src=\"https://randomuser.me/api/portraits/men/32.jpg\" />\r\n <AvatarFallback>AB</AvatarFallback>\r\n </Avatar>\r\n <Avatar>\r\n <AvatarImage src=\"\" />\r\n <AvatarFallback>CD</AvatarFallback>\r\n </Avatar>\r\n <Avatar>\r\n <AvatarImage src=\"https://randomuser.me/api/portraits/women/44.jpg\" />\r\n <AvatarFallback>EF</AvatarFallback>\r\n </Avatar>\r\n </div>\r\n );\r\n}\r\nfunction ShowcaseModalDemo() {\r\n const [open, setOpen] = React.useState(false);\r\n return (\r\n <div>\r\n <Button onClick={() => setOpen(true)}>Show Modal</Button>\r\n <Modal open={open} onOpenChange={setOpen}>\r\n <ModalHeader>\r\n <ModalTitle>Demo Modal</ModalTitle>\r\n </ModalHeader>\r\n <ModalContent>\r\n <p>This is a basic modal dialog.</p>\r\n </ModalContent>\r\n <ModalFooter>\r\n <Button variant=\"primary\" onClick={() => setOpen(false)}>Close</Button>\r\n </ModalFooter>\r\n </Modal>\r\n </div>\r\n );\r\n}\r\nfunction ShowcaseToastDemo() {\r\n return (\r\n <>\r\n <Button onClick={() => showToast.success(\"This is a toast notification!\")}>\r\n Show Toast\r\n </Button>\r\n <Toast />\r\n </>\r\n );\r\n}\r\nfunction ShowcaseSpinnerDemo() {\r\n return (\r\n <div className=\"space-y-4\">\r\n <Spinner />\r\n <div className=\"flex gap-2 items-center\">\r\n <Spinner /> <span>Loading data...</span>\r\n </div>\r\n <Button variant=\"primary\" disabled>\r\n <Spinner className=\"mr-2 h-4 w-4\" /> Processing\r\n </Button>\r\n </div>\r\n );\r\n}\r\n\r\nconst showcasePreviewMap: Record<string, React.FC> = {\r\n button: ShowcaseButtonDemo,\r\n input: ShowcaseInputDemo,\r\n textarea: ShowcaseTextareaDemo,\r\n checkbox: ShowcaseCheckboxDemo,\r\n switch: ShowcaseSwitchDemo,\r\n card: ShowcaseCardDemo,\r\n badge: ShowcaseBadgeDemo,\r\n avatar: ShowcaseAvatarDemo,\r\n alert: ShowcaseAlertDemo,\r\n statscard: ShowcaseStatsCardDemo,\r\n tabs: ShowcaseTabsDemo,\r\n modal: ShowcaseModalDemo,\r\n toast: ShowcaseToastDemo,\r\n spinner: ShowcaseSpinnerDemo,\r\n skeleton: function ShowcaseSkeletonDemo() {\r\n return (\r\n <div className=\"space-y-4 max-w-md\">\r\n <Skeleton className=\"h-8 w-1/2\" />\r\n <Skeleton className=\"h-4 w-3/4\" />\r\n <div className=\"flex gap-2\">\r\n <Skeleton className=\"h-8 w-8 rounded-full\" />\r\n <Skeleton className=\"h-8 w-32\" />\r\n </div>\r\n <Skeleton className=\"h-24 w-full\" />\r\n </div>\r\n );\r\n },\r\n navbar: function ShowcaseNavbarDemo() {\r\n return (\r\n <Navbar>\r\n <div className=\"flex w-full items-center justify-between px-4\">\r\n <span className=\"font-semibold text-lg\">Beyond UI</span>\r\n <nav className=\"flex gap-4 ml-auto\">\r\n <a href=\"#\" className=\"text-blue-500\">Home</a>\r\n <a href=\"#\" className=\"text-blue-500\">Features</a>\r\n <a href=\"#\" className=\"text-blue-500\">Pricing</a>\r\n </nav>\r\n <div className=\"ml-6\">\r\n <button className=\"rounded bg-primary-600 text-white px-3 py-1 text-sm\">Profile</button>\r\n </div>\r\n </div>\r\n </Navbar>\r\n );\r\n },\r\n sidebar: function ShowcaseSidebarDemo() {\r\n const menuItems = [\r\n { id: \"dashboard\", label: \"Dashboard\", icon: <BarChart3 className=\"h-5 w-5\" /> },\r\n { id: \"settings\", label: \"Settings\", icon: <Settings className=\"h-5 w-5\" /> },\r\n { id: \"profile\", label: \"Profile\", icon: <User className=\"h-5 w-5\" /> }\r\n ];\r\n // Override Sidebar's fixed class for preview\r\n return (\r\n <div className=\"w-[260px] h-[480px] bg-white border rounded overflow-auto flex items-stretch\">\r\n <Sidebar\r\n menuItems={menuItems}\r\n className=\"static relative w-full h-full border-none shadow-none\"\r\n />\r\n </div>\r\n );\r\n },\r\n \"dashboard-grid\": function ShowcaseDashboardGridDemo() {\r\n return (\r\n <DashboardGrid>\r\n <div className=\"p-4 bg-white rounded shadow\">Widget 1</div>\r\n <div className=\"p-4 bg-white rounded shadow\">Widget 2</div>\r\n <div className=\"p-4 bg-white rounded shadow\">Widget 3</div>\r\n <div className=\"p-4 bg-white rounded shadow\">Widget 4</div>\r\n </DashboardGrid>\r\n );\r\n },\r\n \"dashboard-header\": function ShowcaseDashboardHeaderDemo() {\r\n return (\r\n <div className=\"flex justify-between items-center py-4 border-b\">\r\n <div>\r\n <h2 className=\"text-xl font-semibold\">Dashboard</h2>\r\n <span className=\"text-gray-500 text-sm\">Insights & analytics</span>\r\n </div>\r\n <Button variant=\"outline\">Settings</Button>\r\n </div>\r\n );\r\n },\r\n \"dashboard-layout\": function ShowcaseDashboardLayoutDemo() {\r\n const sidebarMenuItems = [\r\n { id: \"dashboard\", label: \"Dashboard\", icon: <BarChart3 className=\"h-4 w-4\" /> },\r\n { id: \"users\", label: \"Users\", icon: <User className=\"h-4 w-4\" /> },\r\n { id: \"settings\", label: \"Settings\", icon: <Settings className=\"h-4 w-4\" /> },\r\n ];\r\n // Contain DashboardLayout for preview: override min-h-screen, sizing\r\n return (\r\n <div className=\"w-[600px] h-[480px] bg-white border rounded overflow-auto flex items-stretch\">\r\n <DashboardLayout\r\n sidebarMenuItems={sidebarMenuItems}\r\n className=\"relative w-full min-h-0 h-full\"\r\n sidebarClassName=\"static relative w-full h-full border-none shadow-none\"\r\n disableSidebarMargin={true}\r\n >\r\n <div className=\"p-6 h-full\">\r\n <h2 className=\"text-lg font-semibold mb-2\">Welcome to DashboardLayout</h2>\r\n <p className=\"mb-4 text-gray-600\">Main content appears here. The sidebar and header are real reusable components.</p>\r\n <Button variant=\"primary\">Dashboard Action</Button>\r\n </div>\r\n </DashboardLayout>\r\n </div>\r\n );\r\n },\r\n datatable: DataTableShowcase,\r\n};\r\nfunction ShowcaseAlertDemo() {\r\n return (\r\n <div className=\"space-y-4\">\r\n <Alert variant=\"info\">\r\n <AlertTitle>Information</AlertTitle>\r\n <AlertDescription>This is an informational alert message.</AlertDescription>\r\n </Alert>\r\n <Alert variant=\"success\">\r\n <AlertTitle>Success</AlertTitle>\r\n <AlertDescription>Operation completed successfully!</AlertDescription>\r\n </Alert>\r\n <Alert variant=\"warning\">\r\n <AlertTitle>Warning</AlertTitle>\r\n <AlertDescription>Please review your input before proceeding.</AlertDescription>\r\n </Alert>\r\n <Alert variant=\"danger\">\r\n <AlertTitle>Error</AlertTitle>\r\n <AlertDescription>Something went wrong. Please try again.</AlertDescription>\r\n </Alert>\r\n </div>\r\n );\r\n}\r\nfunction ShowcaseStatsCardDemo() {\r\n return (\r\n <div className=\"grid grid-cols-1 md:grid-cols-2 gap-4\">\r\n <StatsCard\r\n title=\"Total Users\"\r\n value=\"2,543\"\r\n trend={{\r\n direction: \"up\",\r\n value: \"+12%\",\r\n label: \"from last month\"\r\n }}\r\n icon={<BarChart3 className=\"h-6 w-6 text-primary-600\" />}\r\n />\r\n <StatsCard\r\n variant=\"gradient\"\r\n color=\"success\"\r\n title=\"Revenue\"\r\n value=\"$45,231\"\r\n trend={{\r\n direction: \"up\",\r\n value: \"+8.2%\",\r\n label: \"from last month\"\r\n }}\r\n icon={<BarChart3 className=\"h-6 w-6\" />}\r\n />\r\n </div>\r\n );\r\n}\r\nfunction ShowcaseTabsDemo() {\r\n const [activeTab, setActiveTab] = React.useState(\"tab-1\");\r\n return (\r\n <Tabs value={activeTab} onValueChange={setActiveTab}>\r\n <TabsList>\r\n <TabsTrigger value=\"tab-1\">Tab One</TabsTrigger>\r\n <TabsTrigger value=\"tab-2\">Tab Two</TabsTrigger>\r\n <TabsTrigger value=\"tab-3\">Tab Three</TabsTrigger>\r\n </TabsList>\r\n <TabsContent value=\"tab-1\">\r\n <span className=\"block p-4\">Content for Tab One</span>\r\n </TabsContent>\r\n <TabsContent value=\"tab-2\">\r\n <span className=\"block p-4\">Content for Tab Two</span>\r\n </TabsContent>\r\n <TabsContent value=\"tab-3\">\r\n <span className=\"block p-4\">Content for Tab Three</span>\r\n </TabsContent>\r\n </Tabs>\r\n );\r\n}\r\n\r\nObject.assign(showcasePreviewMap, {\r\n alert: ShowcaseAlertDemo,\r\n statscard: ShowcaseStatsCardDemo,\r\n tabs: ShowcaseTabsDemo,\r\n});\r\n\r\n// Helper component to render a Storybook story in JSX\r\nimport { Card, CardHeader, CardTitle, CardContent } from \"../Card\";\r\nimport { Badge } from \"../Badge\";\r\nimport { Alert, AlertTitle, AlertDescription } from \"../Alert\";\r\nimport { Avatar, AvatarImage, AvatarFallback } from \"../Avatar\";\r\nimport { Modal, ModalHeader, ModalTitle, ModalContent, ModalFooter } from \"../Modal\";\r\nimport { Toast, showToast } from \"../Toast\";\r\nimport { Tabs, TabsList, TabsTrigger, TabsContent } from \"../Tabs\";\r\nimport { StatsCard } from \"../StatsCard\";\r\nimport { Switch } from \"../Switch\";\r\nimport { Spinner } from \"../Spinner\";\r\nimport { Skeleton } from \"../Skeleton\";\r\nimport { DataTableShowcase } from \"../DataTable/DataTableShowcase\";\r\n\r\n// Component categories and their items\r\nconst componentCategories = {\r\n \"Forms\": {\r\n icon: <MousePointer className=\"h-4 w-4\" />,\r\n components: [\r\n { name: \"Button\", id: \"button\" },\r\n { name: \"Input\", id: \"input\" },\r\n { name: \"Textarea\", id: \"textarea\" },\r\n { name: \"Checkbox\", id: \"checkbox\" },\r\n { name: \"Switch\", id: \"switch\" },\r\n ]\r\n },\r\n \"Data Display\": {\r\n icon: <BarChart3 className=\"h-4 w-4\" />,\r\n components: [\r\n { name: \"Card\", id: \"card\" },\r\n { name: \"Badge\", id: \"badge\" },\r\n { name: \"Avatar\", id: \"avatar\" },\r\n { name: \"StatsCard\", id: \"statscard\" },\r\n { name: \"Tabs\", id: \"tabs\" },\r\n { name: \"DataTable\", id: \"datatable\" },\r\n ]\r\n },\r\n \"Feedback\": {\r\n icon: <AlertCircle className=\"h-4 w-4\" />,\r\n components: [\r\n { name: \"Alert\", id: \"alert\" },\r\n { name: \"Toast\", id: \"toast\" },\r\n { name: \"Modal\", id: \"modal\" },\r\n { name: \"Spinner\", id: \"spinner\" },\r\n { name: \"Skeleton\", id: \"skeleton\" },\r\n ]\r\n },\r\n \"Layout\": {\r\n icon: <Layout className=\"h-4 w-4\" />,\r\n components: [\r\n { name: \"DashboardLayout\", id: \"dashboard-layout\" },\r\n { name: \"DashboardGrid\", id: \"dashboard-grid\" },\r\n { name: \"Sidebar\", id: \"sidebar\" },\r\n { name: \"Navbar\", id: \"navbar\" },\r\n { name: \"DataTable\", id: \"datatable\" },\r\n ]\r\n }\r\n};\r\n\r\n// Component examples and documentation\r\nconst componentDocs = {\r\n button: {\r\n name: \"Button\",\r\n description: \"A versatile button component with multiple variants and sizes.\",\r\n example: `<Button variant=\"primary\" size=\"md\">\r\n Click me\r\n</Button>`,\r\n props: [\r\n { name: \"variant\", type: \"string\", default: \"primary\", description: \"Button style variant\" },\r\n { name: \"size\", type: \"string\", default: \"md\", description: \"Button size\" },\r\n { name: \"disabled\", type: \"boolean\", default: \"false\", description: \"Disable the button\" },\r\n ],\r\n component: null\r\n },\r\n input: {\r\n name: \"Input\",\r\n description: \"A flexible input component with validation states and different sizes.\",\r\n example: `<Input\r\n placeholder=\"Enter your email\"\r\n variant=\"default\"\r\n inputSize=\"md\"\r\n/>`,\r\n props: [\r\n { name: \"variant\", type: \"string\", default: \"default\", description: \"Input validation state\" },\r\n { name: \"inputSize\", type: \"string\", default: \"md\", description: \"Input size\" },\r\n { name: \"placeholder\", type: \"string\", default: \"\", description: \"Placeholder text\" },\r\n ],\r\n component: null\r\n },\r\n checkbox: {\r\n name: \"Checkbox\",\r\n description: \"A standard checkbox component for forms. Supports checked, unchecked, disabled, and size variants.\",\r\n example: `<Checkbox checked={true} onChange={() => {}} />`,\r\n props: [\r\n { name: \"checked\", type: \"boolean\", default: \"false\", description: \"Whether the checkbox is checked\" },\r\n { name: \"onChange\", type: \"(event) => void\", description: \"Callback when checkbox changes\" },\r\n { name: \"disabled\", type: \"boolean\", default: \"false\", description: \"Disable the checkbox\" },\r\n { name: \"size\", type: `\"sm\" | \"md\" | \"lg\"`, default: \"md\", description: \"Size of the checkbox\" },\r\n ],\r\n component: showcasePreviewMap[\"checkbox\"]\r\n },\r\n switch: {\r\n name: \"Switch\",\r\n description: \"A toggle switch component for representing boolean states. Supports size variants and disabled state.\",\r\n example: `<Switch checked={true} onCheckedChange={() => {}} />`,\r\n props: [\r\n { name: \"checked\", type: \"boolean\", default: \"false\", description: \"Whether the switch is on\" },\r\n { name: \"onCheckedChange\", type: \"(checked: boolean) => void\", description: \"Callback when switch state changes\" },\r\n { name: \"disabled\", type: \"boolean\", default: \"false\", description: \"Disable the switch\" },\r\n { name: \"size\", type: `\"sm\" | \"md\" | \"lg\"`, default: \"md\", description: \"Size of the switch\" },\r\n ],\r\n component: showcasePreviewMap[\"switch\"]\r\n },\r\n textarea: {\r\n name: \"Textarea\",\r\n description: \"A multi-line input control suitable for entering longer blocks of text. Supports success/error states and various sizes.\",\r\n example: `<Textarea placeholder=\"Enter your message...\" variant=\"default\" />`,\r\n props: [\r\n { name: \"variant\", type: \"string\", default: \"default\", description: \"Textarea validation state\" },\r\n { name: \"rows\", type: \"number\", default: \"3\", description: \"Number of visible text lines\" },\r\n { name: \"disabled\", type: \"boolean\", default: \"false\", description: \"Disabled state\" },\r\n { name: \"placeholder\", type: \"string\", default: \"\", description: \"Placeholder text\" },\r\n ],\r\n component: showcasePreviewMap[\"textarea\"]\r\n },\r\n card: {\r\n name: \"Card\",\r\n description: \"A flexible container component for grouping related content.\",\r\n example: `<Card>\r\n <CardHeader>\r\n <CardTitle>Card Title</CardTitle>\r\n </CardHeader>\r\n <CardContent>\r\n Card content goes here.\r\n </CardContent>\r\n </Card>`,\r\n props: [\r\n { name: \"variant\", type: \"string\", default: \"default\", description: \"Card style variant\" },\r\n { name: \"padding\", type: \"string\", default: \"md\", description: \"Card padding size\" },\r\n ],\r\n component: null\r\n },\r\n avatar: {\r\n name: \"Avatar\",\r\n description: \"Displays a user's profile image or initials, with customizable size and fallback.\",\r\n example: '<Avatar size=\"sm\"><AvatarImage src=\"https://randomuser.me/api/portraits/men/32.jpg\" alt=\"User\"/><AvatarFallback>AB</AvatarFallback></Avatar>',\r\n props: [\r\n { name: \"size\", type: '\"sm\" | \"md\" | \"lg\"', default: \"md\", description: \"Avatar size\" },\r\n { name: \"children\", type: \"ReactNode\", required: true, description: \"Avatar image and fallback\" }\r\n ],\r\n component: showcasePreviewMap[\"avatar\"]\r\n },\r\n badge: {\r\n name: \"Badge\",\r\n description: \"A small, customizable tag for displaying statuses or labels.\",\r\n example: `<Badge variant=\"default\">Default</Badge>`,\r\n props: [\r\n { name: \"variant\", type: `\"default\" | \"secondary\" | \"success\" | \"danger\" | \"warning\" | \"outline\"`, default: \"default\", description: \"Badge color or style variant\" },\r\n { name: \"children\", type: \"ReactNode\", required: true, description: \"Badge label content\" }\r\n ],\r\n component: showcasePreviewMap[\"badge\"]\r\n },\r\n tabs: {\r\n name: \"Tabs\",\r\n description: \"A flexible tabbed navigation component. Allows users to switch between views.\",\r\n example: `<Tabs value=\"tab-1\" onValueChange={() => {}}>\r\n <TabsList>\r\n <TabsTrigger value=\"tab-1\">Tab 1</TabsTrigger>\r\n <TabsTrigger value=\"tab-2\">Tab 2</TabsTrigger>\r\n </TabsList>\r\n <TabsContent value=\"tab-1\">Content 1</TabsContent>\r\n <TabsContent value=\"tab-2\">Content 2</TabsContent>\r\n</Tabs>`,\r\n props: [\r\n { name: \"value\", type: \"string\", required: true, description: \"The value of the currently selected tab\" },\r\n { name: \"onValueChange\", type: \"(value: string) => void\", description: \"Called when a different tab is selected\" },\r\n { name: \"children\", type: \"ReactNode\", required: true, description: \"Tab triggers and contents\" }\r\n ],\r\n component: showcasePreviewMap[\"tabs\"]\r\n },\r\n toast: {\r\n name: \"Toast\",\r\n description: \"A notification/toast component to display feedback messages over the UI.\",\r\n example: `<Button onClick={() => showToast.success(\"Saved successfully!\")}>Show Toast</Button>\r\n<Toast />`,\r\n props: [\r\n { name: \"children\", type: \"ReactNode\", description: \"Toast content (commonly used internally)\" }\r\n ],\r\n component: showcasePreviewMap[\"toast\"]\r\n },\r\n modal: {\r\n name: \"Modal\",\r\n description: \"A dialog/modal overlay component for displaying actions, forms, or confirmation content.\",\r\n example: `<Modal open={open} onOpenChange={setOpen}>\r\n <ModalHeader>Modal Title</ModalHeader>\r\n <ModalContent>Modal body</ModalContent>\r\n <ModalFooter>\r\n <Button onClick={() => setOpen(false)}>Close</Button>\r\n </ModalFooter>\r\n</Modal>`,\r\n props: [\r\n { name: \"open\", type: \"boolean\", required: true, description: \"Whether the modal is open\" },\r\n { name: \"onOpenChange\", type: \"(open: boolean) => void\", required: true, description: \"Called with new open state when modal is toggled\" },\r\n { name: \"children\", type: \"ReactNode\", required: true, description: \"Content of the modal dialog\" }\r\n ],\r\n component: showcasePreviewMap[\"modal\"]\r\n },\r\n spinner: {\r\n name: \"Spinner\",\r\n description: \"A loading spinner to indicate ongoing processing or loading state.\",\r\n example: `<Spinner size=\"md\" />`,\r\n props: [\r\n { name: \"size\", type: `\"sm\" | \"md\" | \"lg\"`, default: \"md\", description: \"Spinner size\" },\r\n { name: \"color\", type: \"string\", default: \"primary\", description: \"Spinner color (optional)\" },\r\n { name: \"className\", type: \"string\", description: \"Custom CSS class for the spinner\" }\r\n ],\r\n component: showcasePreviewMap[\"spinner\"]\r\n },\r\n skeleton: {\r\n name: \"Skeleton\",\r\n description: \"A placeholder skeleton component for loading states. Use to display a placeholder UI while content loads.\",\r\n example: `<Skeleton className=\"h-6 w-32\" />`,\r\n props: [\r\n { name: \"className\", type: \"string\", description: \"Custom class for size and style\" }\r\n ],\r\n component: showcasePreviewMap[\"skeleton\"]\r\n },\r\n alert: {\r\n name: \"Alert\",\r\n description: \"Display important messages and notifications to users.\",\r\n example: `<Alert variant=\"info\">\r\n <AlertTitle>Information</AlertTitle>\r\n <AlertDescription>\r\n This is an informational alert.\r\n </AlertDescription>\r\n</Alert>`,\r\n props: [\r\n { name: \"variant\", type: \"string\", default: \"default\", description: \"Alert type variant\" },\r\n ],\r\n component: (\r\n <div className=\"space-y-4\">\r\n <Alert variant=\"info\">\r\n <AlertTitle>Information</AlertTitle>\r\n <AlertDescription>This is an informational alert message.</AlertDescription>\r\n </Alert>\r\n <Alert variant=\"success\">\r\n <AlertTitle>Success</AlertTitle>\r\n <AlertDescription>Operation completed successfully!</AlertDescription>\r\n </Alert>\r\n <Alert variant=\"warning\">\r\n <AlertTitle>Warning</AlertTitle>\r\n <AlertDescription>Please review your input before proceeding.</AlertDescription>\r\n </Alert>\r\n <Alert variant=\"danger\">\r\n <AlertTitle>Error</AlertTitle>\r\n <AlertDescription>Something went wrong. Please try again.</AlertDescription>\r\n </Alert>\r\n </div>\r\n )\r\n },\r\n statscard: {\r\n name: \"StatsCard\",\r\n description: \"Display key metrics and statistics with trend indicators.\",\r\n example: `<StatsCard\r\n title=\"Total Users\"\r\n value=\"2,543\"\r\n trend={{\r\n direction: \"up\",\r\n value: \"+12%\",\r\n label: \"from last month\"\r\n }}\r\n icon={<Users className=\"h-6 w-6\" />}\r\n/>`,\r\n props: [\r\n { name: \"title\", type: \"string\", required: true, description: \"Card title\" },\r\n { name: \"value\", type: \"string | number\", required: true, description: \"Main value to display\" },\r\n { name: \"trend\", type: \"object\", description: \"Trend information\" },\r\n { name: \"icon\", type: \"ReactNode\", description: \"Icon to display\" },\r\n ],\r\n component: (\r\n <div className=\"grid grid-cols-1 md:grid-cols-2 gap-4\">\r\n <StatsCard\r\n title=\"Total Users\"\r\n value=\"2,543\"\r\n trend={{\r\n direction: \"up\",\r\n value: \"+12%\",\r\n label: \"from last month\"\r\n }}\r\n icon={<BarChart3 className=\"h-6 w-6 text-primary-600\" />}\r\n />\r\n <StatsCard\r\n variant=\"gradient\"\r\n color=\"success\"\r\n title=\"Revenue\"\r\n value=\"$45,231\"\r\n trend={{\r\n direction: \"up\",\r\n value: \"+8.2%\",\r\n label: \"from last month\"\r\n }}\r\n icon={<BarChart3 className=\"h-6 w-6\" />}\r\n />\r\n </div>\r\n )\r\n },\r\n \"dashboard-layout\": {\r\n name: \"DashboardLayout\",\r\n description: \"Layout component for admin dashboards and analytics panels. Useful for wrapping dashboard structure with sidebars and content.\",\r\n example: `<DashboardLayout>\r\n <Sidebar />\r\n <main>\r\n Dashboard content here\r\n </main>\r\n</DashboardLayout>`,\r\n props: [\r\n { name: \"children\", type: \"ReactNode\", required: true, description: \"Dashboard page content\" }\r\n ],\r\n component: showcasePreviewMap[\"dashboard-layout\"]\r\n },\r\n datatable: {\r\n name: \"DataTable\",\r\n description: \"A comprehensive table component with filtering, sorting, pagination, and row selection capabilities.\",\r\n example: `<DataTable\r\n columns={columns}\r\n dataSource={data}\r\n rowKey=\"id\"\r\n pagination={{\r\n current: 1,\r\n pageSize: 10,\r\n total: data.length,\r\n }}\r\n rowSelection={{\r\n type: 'checkbox',\r\n onChange: (keys, rows) => console.log('Selected:', keys, rows),\r\n }}\r\n/>`,\r\n props: [\r\n { name: \"columns\", type: \"Column[]\", required: true, description: \"Table column configuration\" },\r\n { name: \"dataSource\", type: \"T[]\", required: true, description: \"Data to display in the table\" },\r\n { name: \"rowKey\", type: \"string | function\", default: \"id\", description: \"Unique key for each row\" },\r\n { name: \"pagination\", type: \"PaginationConfig | false\", description: \"Pagination configuration\" },\r\n { name: \"rowSelection\", type: \"RowSelection\", description: \"Row selection configuration\" },\r\n { name: \"loading\", type: \"boolean\", default: \"false\", description: \"Loading state\" },\r\n { name: \"size\", type: `\"small\" | \"middle\" | \"large\"`, default: \"middle\", description: \"Table size\" },\r\n { name: \"bordered\", type: \"boolean\", default: \"false\", description: \"Show borders\" },\r\n ],\r\n component: <DataTableShowcase />\r\n },\r\n \"dashboard-grid\": {\r\n name: \"DashboardGrid\",\r\n description: \"Grid container for dashboard widgets.\",\r\n example: `<DashboardGrid>\r\n <Widget />\r\n <Widget />\r\n</DashboardGrid>`,\r\n props: [\r\n { name: \"children\", type: \"ReactNode\", required: true, description: \"Widgets to show in the grid\" },\r\n ],\r\n component: showcasePreviewMap[\"dashboard-grid\"]\r\n },\r\n \"sidebar\": {\r\n name: \"Sidebar\",\r\n description: \"Navigation sidebar for layouts. Supports menu items and responsive display.\",\r\n example: `<Sidebar menuItems={menuItems} />`,\r\n props: [\r\n { name: \"menuItems\", type: \"Array\", required: true, description: \"Sidebar navigation items\" },\r\n ],\r\n component: showcasePreviewMap[\"sidebar\"]\r\n },\r\n \"navbar\": {\r\n name: \"Navbar\",\r\n description: \"Navigation bar for app layout. Add links, branding, user actions etc.\",\r\n example: `<Navbar>\r\n <NavbarBrand>My App</NavbarBrand>\r\n <NavbarLinks>\r\n <a href=\"#\">Home</a>\r\n <a href=\"#\">About</a>\r\n </NavbarLinks>\r\n</Navbar>`,\r\n props: [\r\n { name: \"children\", type: \"ReactNode\", required: true, description: \"Navbar content (branding, links, actions)\" },\r\n ],\r\n component: showcasePreviewMap[\"navbar\"]\r\n },\r\n};\r\n\r\ninterface ComponentShowcaseProps {\r\n className?: string;\r\n}\r\n\r\nexport const ComponentShowcase: React.FC<ComponentShowcaseProps> = ({ className }) => {\r\n const [selectedComponent, setSelectedComponent] = useState(\"button\");\r\n const [searchQuery, setSearchQuery] = useState(\"\");\r\n const [sidebarCollapsed, setSidebarCollapsed] = useState(false);\r\n const [expandedCategories, setExpandedCategories] = useState<string[]>([\"Forms\"]);\r\n const [viewMode, setViewMode] = useState<\"desktop\" | \"tablet\" | \"mobile\">(\"desktop\");\r\n const [darkMode, setDarkMode] = useState(false);\r\n const [copiedCode, setCopiedCode] = useState<string | null>(null);\r\n\r\n const toggleCategory = (category: string) => {\r\n setExpandedCategories(prev =>\r\n prev.includes(category)\r\n ? prev.filter(c => c !== category)\r\n : [...prev, category]\r\n );\r\n };\r\n\r\n const copyToClipboard = async (code: string) => {\r\n try {\r\n await navigator.clipboard.writeText(code);\r\n setCopiedCode(code);\r\n showToast.success(\"Code copied to clipboard!\");\r\n setTimeout(() => setCopiedCode(null), 2000);\r\n } catch (err) {\r\n showToast.error(\"Failed to copy code\");\r\n }\r\n };\r\n\r\n const filteredCategories = Object.entries(componentCategories).reduce((acc, [categoryName, categoryData]) => {\r\n const filteredComponents = categoryData.components.filter(component =>\r\n component.name.toLowerCase().includes(searchQuery.toLowerCase())\r\n );\r\n\r\n if (filteredComponents.length > 0) {\r\n acc[categoryName as keyof typeof componentCategories] = {\r\n ...categoryData,\r\n components: filteredComponents\r\n };\r\n }\r\n\r\n return acc;\r\n }, {} as Partial<typeof componentCategories>);\r\n\r\n const currentDoc = componentDocs[selectedComponent as keyof typeof componentDocs];\r\n\r\n const getViewportClass = () => {\r\n switch (viewMode) {\r\n case \"tablet\": return \"max-w-2xl\";\r\n case \"mobile\": return \"max-w-sm\";\r\n default: return \"w-full\";\r\n }\r\n };\r\n\r\n return (\r\n <div className={cn(\"flex h-screen bg-gray-50\", className)}>\r\n <Toast />\r\n \r\n {/* Sidebar */}\r\n <div className={cn(\r\n \"bg-white border-r border-gray-200 transition-all duration-300 flex flex-col\",\r\n sidebarCollapsed ? \"w-16\" : \"w-80\"\r\n )}>\r\n {/* Sidebar Header */}\r\n <div className=\"p-4 border-b border-gray-200\">\r\n {!sidebarCollapsed && (\r\n <div className=\"flex items-center justify-between mb-4\">\r\n <div className=\"flex items-center space-x-2\">\r\n <div className=\"w-8 h-8 bg-primary-600 rounded-lg flex items-center justify-center\">\r\n <Palette className=\"h-4 w-4 text-white\" />\r\n </div>\r\n <span className=\"font-bold text-lg text-gray-900\">Beyond UI</span>\r\n </div>\r\n <Button\r\n variant=\"ghost\"\r\n size=\"sm\"\r\n onClick={() => setSidebarCollapsed(true)}\r\n >\r\n <ChevronRight className=\"h-4 w-4\" />\r\n </Button>\r\n </div>\r\n )}\r\n \r\n {sidebarCollapsed && (\r\n <div className=\"flex justify-center\">\r\n <Button\r\n variant=\"ghost\"\r\n size=\"sm\"\r\n onClick={() => setSidebarCollapsed(false)}\r\n >\r\n <Palette className=\"h-4 w-4\" />\r\n </Button>\r\n </div>\r\n )}\r\n\r\n {!sidebarCollapsed && (\r\n <div className=\"relative\">\r\n <Search className=\"absolute left-3 top-1/2 transform -translate-y-1/2 h-4 w-4 text-gray-400\" />\r\n <Input\r\n placeholder=\"Search components...\"\r\n value={searchQuery}\r\n onChange={(e) => setSearchQuery(e.target.value)}\r\n className=\"pl-10\"\r\n />\r\n </div>\r\n )}\r\n </div>\r\n\r\n {/* Navigation */}\r\n <nav className=\"flex-1 p-4 overflow-y-auto\">\r\n {Object.entries(filteredCategories).map(([categoryName, categoryData]) => (\r\n <div key={categoryName} className=\"mb-4\">\r\n <button\r\n onClick={() => !sidebarCollapsed && toggleCategory(categoryName)}\r\n className={cn(\r\n \"flex items-center w-full p-2 text-sm font-medium rounded-lg transition-colors\",\r\n \"hover:bg-gray-100 text-gray-700\",\r\n sidebarCollapsed ? \"justify-center\" : \"justify-between\"\r\n )}\r\n >\r\n <div className=\"flex items-center space-x-2\">\r\n {categoryData.icon}\r\n {!sidebarCollapsed && <span>{categoryName}</span>}\r\n </div>\r\n {!sidebarCollapsed && (\r\n <ChevronDown className={cn(\r\n \"h-4 w-4 transition-transform\",\r\n expandedCategories.includes(categoryName) && \"rotate-180\"\r\n )} />\r\n )}\r\n </button>\r\n\r\n {!sidebarCollapsed && expandedCategories.includes(categoryName) && (\r\n <div className=\"mt-2 ml-6 space-y-1\">\r\n {categoryData.components.map((component) => (\r\n <button\r\n key={component.id}\r\n onClick={() => setSelectedComponent(component.id)}\r\n className={cn(\r\n \"flex items-center w-full p-2 text-sm rounded-lg transition-colors\",\r\n selectedComponent === component.id\r\n ? \"bg-primary-50 text-primary-700 border-r-2 border-primary-600\"\r\n : \"text-gray-600 hover:bg-gray-50 hover:text-gray-900\"\r\n )}\r\n >\r\n {component.name}\r\n </button>\r\n ))}\r\n </div>\r\n )}\r\n </div>\r\n ))}\r\n </nav>\r\n </div>\r\n\r\n {/* Main Content */}\r\n <div className=\"flex-1 flex flex-col overflow-hidden\">\r\n {/* Header */}\r\n <header className=\"bg-white border-b border-gray-200 p-4\">\r\n <div className=\"flex items-center justify-between\">\r\n <div className=\"flex items-center space-x-4\">\r\n <h1 className=\"text-2xl font-bold text-gray-900\">\r\n {currentDoc?.name || \"Component Showcase\"}\r\n </h1>\r\n {currentDoc && (\r\n <Badge variant=\"outline\">{currentDoc.name}</Badge>\r\n )}\r\n </div>\r\n\r\n <div className=\"flex items-center space-x-2\">\r\n {/* Viewport Controls */}\r\n <div className=\"flex items-center bg-gray-100 rounded-lg p-1\">\r\n <Button\r\n variant={viewMode === \"desktop\" ? \"primary\" : \"ghost\"}\r\n size=\"sm\"\r\n onClick={() => setViewMode(\"desktop\")}\r\n >\r\n <Monitor className=\"h-4 w-4\" />\r\n </Button>\r\n <Button\r\n variant={viewMode === \"tablet\" ? \"primary\" : \"ghost\"}\r\n size=\"sm\"\r\n onClick={() => setViewMode(\"tablet\")}\r\n >\r\n <Tablet className=\"h-4 w-4\" />\r\n </Button>\r\n <Button\r\n variant={viewMode === \"mobile\" ? \"primary\" : \"ghost\"}\r\n size=\"sm\"\r\n onClick={() => setViewMode(\"mobile\")}\r\n >\r\n <Smartphone className=\"h-4 w-4\" />\r\n </Button>\r\n </div>\r\n\r\n {/* Dark Mode Toggle */}\r\n <Button\r\n variant=\"ghost\"\r\n size=\"sm\"\r\n onClick={() => setDarkMode(!darkMode)}\r\n >\r\n {darkMode ? <Sun className=\"h-4 w-4\" /> : <Moon className=\"h-4 w-4\" />}\r\n </Button>\r\n </div>\r\n </div>\r\n </header>\r\n\r\n {/* Content */}\r\n <main className=\"flex-1 overflow-auto p-6\">\r\n {currentDoc ? (\r\n <div className=\"max-w-6xl mx-auto space-y-8\">\r\n {/* Description */}\r\n <div>\r\n <p className=\"text-lg text-gray-600\">{currentDoc.description}</p>\r\n </div>\r\n\r\n {/* Tabs */}\r\n <Tabs value=\"preview\" onValueChange={() => {}}>\r\n <TabsList>\r\n <TabsTrigger value=\"preview\">\r\n <Eye className=\"h-4 w-4 mr-2\" />\r\n Preview\r\n </TabsTrigger>\r\n <TabsTrigger value=\"code\">\r\n <Code className=\"h-4 w-4 mr-2\" />\r\n Code\r\n </TabsTrigger>\r\n <TabsTrigger value=\"props\">\r\n <Settings className=\"h-4 w-4 mr-2\" />\r\n Props\r\n </TabsTrigger>\r\n </TabsList>\r\n\r\n <TabsContent value=\"preview\" className=\"mt-6\">\r\n <Card>\r\n <CardContent className=\"p-8\">\r\n <div className={cn(\"mx-auto transition-all duration-300\", getViewportClass())}>\r\n <div className={cn(darkMode && \"dark\")}>\r\n {showcasePreviewMap[selectedComponent]\r\n ? React.createElement(showcasePreviewMap[selectedComponent])\r\n : null}\r\n </div>\r\n </div>\r\n </CardContent>\r\n </Card>\r\n </TabsContent>\r\n\r\n <TabsContent value=\"code\" className=\"mt-6\">\r\n <Card>\r\n <CardHeader className=\"flex flex-row items-center justify-between\">\r\n <CardTitle className=\"text-lg\">Usage Example</CardTitle>\r\n <Button\r\n variant=\"outline\"\r\n size=\"sm\"\r\n onClick={() => copyToClipboard(currentDoc.example)}\r\n >\r\n {copiedCode === currentDoc.example ? (\r\n <Check className=\"h-4 w-4 mr-2\" />\r\n ) : (\r\n <Copy className=\"h-4 w-4 mr-2\" />\r\n )}\r\n Copy\r\n </Button>\r\n </CardHeader>\r\n <CardContent>\r\n <pre className=\"bg-gray-900 text-gray-100 p-4 rounded-lg overflow-x-auto\">\r\n <code>{currentDoc.example}</code>\r\n </pre>\r\n </CardContent>\r\n </Card>\r\n </TabsContent>\r\n\r\n <TabsContent value=\"props\" className=\"mt-6\">\r\n <Card>\r\n <CardHeader>\r\n <CardTitle className=\"text-lg\">Component Props</CardTitle>\r\n </CardHeader>\r\n <CardContent>\r\n <div className=\"overflow-x-auto\">\r\n <table className=\"w-full border-collapse\">\r\n <thead>\r\n <tr className=\"border-b border-gray-200\">\r\n <th className=\"text-left p-3 font-medium text-gray-900\">Prop</th>\r\n <th className=\"text-left p-3 font-medium text-gray-900\">Type</th>\r\n <th className=\"text-left p-3 font-medium text-gray-900\">Default</th>\r\n <th className=\"text-left p-3 font-medium text-gray-900\">Description</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n {currentDoc.props?.map((prop, index) => (\r\n <tr key={index} className=\"border-b border-gray-100\">\r\n <td className=\"p-3\">\r\n <code className=\"bg-gray-100 px-2 py-1 rounded text-sm\">\r\n {prop.name}\r\n </code>\r\n {(\"required\" in prop && prop.required) && (\r\n <Badge variant=\"danger\" className=\"ml-2 text-xs\">Required</Badge>\r\n )}\r\n </td>\r\n <td className=\"p-3 text-gray-600\">{prop.type}</td>\r\n <td className=\"p-3 text-gray-600\">\r\n {(\"default\" in prop && prop.default) ? (\r\n <code className=\"bg-gray-100 px-2 py-1 rounded text-sm\">\r\n {prop.default}\r\n </code>\r\n ) : null}\r\n </td>\r\n <td className=\"p-3 text-gray-600\">{prop.description}</td>\r\n </tr>\r\n ))}\r\n </tbody>\r\n </table>\r\n </div>\r\n </CardContent>\r\n </Card>\r\n </TabsContent>\r\n </Tabs>\r\n </div>\r\n ) : (\r\n <div className=\"flex items-center justify-center h-full\">\r\n <div className=\"text-center\">\r\n <Book className=\"h-16 w-16 text-gray-400 mx-auto mb-4\" />\r\n <h2 className=\"text-xl font-semibold text-gray-900 mb-2\">\r\n Select a Component\r\n </h2>\r\n <p className=\"text-gray-600\">\r\n Choose a component from the sidebar to view its documentation and examples.\r\n </p>\r\n </div>\r\n </div>\r\n )}\r\n </main>\r\n </div>\r\n </div>\r\n );\r\n};"],"names":["_jsxs","_jsx","Layout"],"mappings":"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"}
1
+ {"version":3,"file":"ComponentShowcase.js","sources":["../../../src/components/ComponentShowcase/ComponentShowcase.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport { useState } from \"react\";\r\nimport { \r\n Search, \r\n Copy, \r\n Check, \r\n Monitor, \r\n Tablet, \r\n Smartphone, \r\n Sun, \r\n Moon,\r\n ChevronRight,\r\n ChevronDown,\r\n Code,\r\n Eye,\r\n Book,\r\n Palette,\r\n Layout,\r\n MousePointer,\r\n AlertCircle,\r\n BarChart3,\r\n Settings\r\n} from \"lucide-react\";\r\nimport { cn } from \"../../utils/cn\";\r\nimport { Button } from \"../Button\";\r\nimport { Input } from \"../Input\";\r\nimport { Textarea } from \"../Textarea\";\r\nimport { Checkbox } from \"../Checkbox\";\r\nimport { Navbar } from \"../Navbar\";\r\nimport { Sidebar } from \"../Sidebar\";\r\nimport { DashboardGrid } from \"../DashboardGrid\";\r\nimport { DashboardLayout } from \"../DashboardLayout\";\r\nimport { User } from \"lucide-react\";\r\n\r\n// STORY INSPIRED DEMOS:\r\nfunction ShowcaseButtonDemo() {\r\n return (\r\n <div className=\"flex flex-wrap items-center gap-4\">\r\n <Button variant=\"primary\">Primary</Button>\r\n <Button variant=\"secondary\">Secondary</Button>\r\n <Button variant=\"danger\">Danger</Button>\r\n <Button variant=\"success\">Success</Button>\r\n <Button variant=\"warning\">Warning</Button>\r\n <Button variant=\"outline\">Outline</Button>\r\n <Button variant=\"ghost\">Ghost</Button>\r\n <Button variant=\"link\">Link</Button>\r\n </div>\r\n );\r\n}\r\n\r\nfunction ShowcaseInputDemo() {\r\n const [v, setV] = React.useState(\"\");\r\n return (\r\n <div className=\"space-y-4 max-w-md\">\r\n <Input placeholder=\"Default input\" value={v} onChange={e => setV(e.target.value)} />\r\n <Input placeholder=\"Success state\" variant=\"success\" />\r\n <Input placeholder=\"Error state\" variant=\"error\" />\r\n <div className=\"space-y-2\">\r\n <Input placeholder=\"Small\" inputSize=\"sm\" />\r\n <Input placeholder=\"Medium\" inputSize=\"md\" />\r\n <Input placeholder=\"Large\" inputSize=\"lg\" />\r\n </div>\r\n </div>\r\n );\r\n}\r\n\r\nfunction ShowcaseTextareaDemo() {\r\n const [tv, setTv] = React.useState(\"\");\r\n return (\r\n <div className=\"space-y-4 max-w-md\">\r\n <Textarea placeholder=\"Default textarea\" value={tv} onChange={e => setTv(e.target.value)} />\r\n <Textarea placeholder=\"Success state\" variant=\"success\" />\r\n <Textarea placeholder=\"Error state\" variant=\"error\" />\r\n <div className=\"space-y-2\">\r\n <Textarea placeholder=\"Small (default)\" />\r\n <Textarea placeholder=\"Disabled\" disabled />\r\n </div>\r\n </div>\r\n );\r\n}\r\n\r\nfunction ShowcaseSwitchDemo() {\r\n const [checked, setChecked] = React.useState(false);\r\n return (\r\n <div className=\"space-y-2\">\r\n <label className=\"flex items-center gap-2\">\r\n <Switch checked={checked} onCheckedChange={setChecked} />\r\n <span>Default</span>\r\n </label>\r\n <label className=\"flex items-center gap-2\">\r\n <Switch checked />\r\n <span>Checked</span>\r\n </label>\r\n <label className=\"flex items-center gap-2\">\r\n <Switch disabled />\r\n <span>Disabled</span>\r\n </label>\r\n <label className=\"flex items-center gap-2\">\r\n <Switch size=\"sm\" />\r\n <span>Small</span>\r\n </label>\r\n <label className=\"flex items-center gap-2\">\r\n <Switch size=\"lg\" />\r\n <span>Large</span>\r\n </label>\r\n </div>\r\n );\r\n}\r\n\r\nfunction ShowcaseCheckboxDemo() {\r\n const [checked, setChecked] = React.useState(false);\r\n return (\r\n <div className=\"space-y-2\">\r\n <label className=\"flex items-center gap-2\">\r\n <Checkbox checked={checked} onChange={() => setChecked(!checked)} /> <span>Default</span>\r\n </label>\r\n <label className=\"flex items-center gap-2\">\r\n <Checkbox checked /> <span>Checked</span>\r\n </label>\r\n <label className=\"flex items-center gap-2\">\r\n <Checkbox disabled /> <span>Disabled</span>\r\n </label>\r\n <label className=\"flex items-center gap-2\">\r\n <Checkbox size=\"sm\" /> <span>Small</span>\r\n </label>\r\n <label className=\"flex items-center gap-2\">\r\n <Checkbox size=\"lg\" /> <span>Large</span>\r\n </label>\r\n </div>\r\n );\r\n}\r\n\r\nfunction ShowcaseCardDemo() {\r\n return (\r\n <div className=\"grid grid-cols-1 md:grid-cols-2 gap-4\">\r\n <Card>\r\n <CardHeader>\r\n <CardTitle>Default Card</CardTitle>\r\n </CardHeader>\r\n <CardContent>\r\n <p className=\"text-gray-600\">This is a default card with standard styling.</p>\r\n </CardContent>\r\n </Card>\r\n <Card variant=\"elevated\">\r\n <CardHeader>\r\n <CardTitle>Elevated Card</CardTitle>\r\n </CardHeader>\r\n <CardContent>\r\n <p className=\"text-gray-600\">This card has elevated shadow styling.</p>\r\n </CardContent>\r\n </Card>\r\n </div>\r\n );\r\n}\r\nfunction ShowcaseBadgeDemo() {\r\n return (\r\n <div className=\"flex flex-wrap gap-2\">\r\n <Badge>Default</Badge>\r\n <Badge variant=\"secondary\">Secondary</Badge>\r\n <Badge variant=\"success\">Success</Badge>\r\n <Badge variant=\"danger\">Danger</Badge>\r\n <Badge variant=\"warning\">Warning</Badge>\r\n <Badge variant=\"outline\">Outline</Badge>\r\n </div>\r\n );\r\n}\r\nfunction ShowcaseAvatarDemo() {\r\n return (\r\n <div className=\"flex gap-4\">\r\n <Avatar>\r\n <AvatarImage src=\"https://randomuser.me/api/portraits/men/32.jpg\" />\r\n <AvatarFallback>AB</AvatarFallback>\r\n </Avatar>\r\n <Avatar>\r\n <AvatarImage src=\"\" />\r\n <AvatarFallback>CD</AvatarFallback>\r\n </Avatar>\r\n <Avatar>\r\n <AvatarImage src=\"https://randomuser.me/api/portraits/women/44.jpg\" />\r\n <AvatarFallback>EF</AvatarFallback>\r\n </Avatar>\r\n </div>\r\n );\r\n}\r\nfunction ShowcaseModalDemo() {\r\n const [open, setOpen] = React.useState(false);\r\n return (\r\n <div>\r\n <Button onClick={() => setOpen(true)}>Show Modal</Button>\r\n <Modal open={open} onOpenChange={setOpen}>\r\n <ModalHeader>\r\n <ModalTitle>Demo Modal</ModalTitle>\r\n </ModalHeader>\r\n <ModalContent>\r\n <p>This is a basic modal dialog.</p>\r\n </ModalContent>\r\n <ModalFooter>\r\n <Button variant=\"primary\" onClick={() => setOpen(false)}>Close</Button>\r\n </ModalFooter>\r\n </Modal>\r\n </div>\r\n );\r\n}\r\nfunction ShowcaseToastDemo() {\r\n return (\r\n <>\r\n <Button onClick={() => showToast.success(\"This is a toast notification!\")}>\r\n Show Toast\r\n </Button>\r\n <Toast />\r\n </>\r\n );\r\n}\r\nfunction ShowcaseSpinnerDemo() {\r\n return (\r\n <div className=\"space-y-4\">\r\n <Spinner />\r\n <div className=\"flex gap-2 items-center\">\r\n <Spinner /> <span>Loading data...</span>\r\n </div>\r\n <Button variant=\"primary\" disabled>\r\n <Spinner className=\"mr-2 h-4 w-4\" /> Processing\r\n </Button>\r\n </div>\r\n );\r\n}\r\n\r\nconst showcasePreviewMap: Record<string, React.FC> = {\r\n button: ShowcaseButtonDemo,\r\n input: ShowcaseInputDemo,\r\n textarea: ShowcaseTextareaDemo,\r\n checkbox: ShowcaseCheckboxDemo,\r\n switch: ShowcaseSwitchDemo,\r\n card: ShowcaseCardDemo,\r\n badge: ShowcaseBadgeDemo,\r\n avatar: ShowcaseAvatarDemo,\r\n alert: ShowcaseAlertDemo,\r\n statscard: ShowcaseStatsCardDemo,\r\n tabs: ShowcaseTabsDemo,\r\n modal: ShowcaseModalDemo,\r\n toast: ShowcaseToastDemo,\r\n spinner: ShowcaseSpinnerDemo,\r\n skeleton: function ShowcaseSkeletonDemo() {\r\n return (\r\n <div className=\"space-y-4 max-w-md\">\r\n <Skeleton className=\"h-8 w-1/2\" />\r\n <Skeleton className=\"h-4 w-3/4\" />\r\n <div className=\"flex gap-2\">\r\n <Skeleton className=\"h-8 w-8 rounded-full\" />\r\n <Skeleton className=\"h-8 w-32\" />\r\n </div>\r\n <Skeleton className=\"h-24 w-full\" />\r\n </div>\r\n );\r\n },\r\n navbar: function ShowcaseNavbarDemo() {\r\n return (\r\n <Navbar>\r\n <div className=\"flex w-full items-center justify-between px-4\">\r\n <span className=\"font-semibold text-lg\">Beyond UI</span>\r\n <nav className=\"flex gap-4 ml-auto\">\r\n <a href=\"#\" className=\"text-blue-500\">Home</a>\r\n <a href=\"#\" className=\"text-blue-500\">Features</a>\r\n <a href=\"#\" className=\"text-blue-500\">Pricing</a>\r\n </nav>\r\n <div className=\"ml-6\">\r\n <button className=\"rounded bg-primary-600 text-white px-3 py-1 text-sm\">Profile</button>\r\n </div>\r\n </div>\r\n </Navbar>\r\n );\r\n },\r\n sidebar: function ShowcaseSidebarDemo() {\r\n const menuItems = [\r\n { id: \"dashboard\", label: \"Dashboard\", icon: <BarChart3 className=\"h-5 w-5\" /> },\r\n { id: \"settings\", label: \"Settings\", icon: <Settings className=\"h-5 w-5\" /> },\r\n { id: \"profile\", label: \"Profile\", icon: <User className=\"h-5 w-5\" /> }\r\n ];\r\n // Override Sidebar's fixed class for preview\r\n return (\r\n <div className=\"w-[260px] h-[480px] bg-white border rounded overflow-auto flex items-stretch\">\r\n <Sidebar\r\n menuItems={menuItems}\r\n className=\"static relative w-full h-full border-none shadow-none\"\r\n />\r\n </div>\r\n );\r\n },\r\n \"dashboard-grid\": function ShowcaseDashboardGridDemo() {\r\n return (\r\n <DashboardGrid>\r\n <div className=\"p-4 bg-white rounded shadow\">Widget 1</div>\r\n <div className=\"p-4 bg-white rounded shadow\">Widget 2</div>\r\n <div className=\"p-4 bg-white rounded shadow\">Widget 3</div>\r\n <div className=\"p-4 bg-white rounded shadow\">Widget 4</div>\r\n </DashboardGrid>\r\n );\r\n },\r\n \"dashboard-header\": function ShowcaseDashboardHeaderDemo() {\r\n return (\r\n <div className=\"flex justify-between items-center py-4 border-b\">\r\n <div>\r\n <h2 className=\"text-xl font-semibold\">Dashboard</h2>\r\n <span className=\"text-gray-500 text-sm\">Insights & analytics</span>\r\n </div>\r\n <Button variant=\"outline\">Settings</Button>\r\n </div>\r\n );\r\n },\r\n \"dashboard-layout\": function ShowcaseDashboardLayoutDemo() {\r\n const sidebarMenuItems = [\r\n { id: \"dashboard\", label: \"Dashboard\", icon: <BarChart3 className=\"h-4 w-4\" /> },\r\n { id: \"users\", label: \"Users\", icon: <User className=\"h-4 w-4\" /> },\r\n { id: \"settings\", label: \"Settings\", icon: <Settings className=\"h-4 w-4\" /> },\r\n ];\r\n // Contain DashboardLayout for preview: override min-h-screen, sizing\r\n return (\r\n <div className=\"w-[600px] h-[480px] bg-white border rounded overflow-auto flex items-stretch\">\r\n <DashboardLayout\r\n sidebarMenuItems={sidebarMenuItems}\r\n className=\"relative w-full min-h-0 h-full\"\r\n sidebarClassName=\"static relative w-full h-full border-none shadow-none\"\r\n disableSidebarMargin={true}\r\n >\r\n <div className=\"p-6 h-full\">\r\n <h2 className=\"text-lg font-semibold mb-2\">Welcome to DashboardLayout</h2>\r\n <p className=\"mb-4 text-gray-600\">Main content appears here. The sidebar and header are real reusable components.</p>\r\n <Button variant=\"primary\">Dashboard Action</Button>\r\n </div>\r\n </DashboardLayout>\r\n </div>\r\n );\r\n },\r\n datatable: DataTableShowcase,\r\n};\r\nfunction ShowcaseAlertDemo() {\r\n return (\r\n <div className=\"space-y-4\">\r\n <Alert variant=\"info\">\r\n <AlertTitle>Information</AlertTitle>\r\n <AlertDescription>This is an informational alert message.</AlertDescription>\r\n </Alert>\r\n <Alert variant=\"success\">\r\n <AlertTitle>Success</AlertTitle>\r\n <AlertDescription>Operation completed successfully!</AlertDescription>\r\n </Alert>\r\n <Alert variant=\"warning\">\r\n <AlertTitle>Warning</AlertTitle>\r\n <AlertDescription>Please review your input before proceeding.</AlertDescription>\r\n </Alert>\r\n <Alert variant=\"danger\">\r\n <AlertTitle>Error</AlertTitle>\r\n <AlertDescription>Something went wrong. Please try again.</AlertDescription>\r\n </Alert>\r\n </div>\r\n );\r\n}\r\nfunction ShowcaseStatsCardDemo() {\r\n return (\r\n <div className=\"grid grid-cols-1 md:grid-cols-2 gap-4\">\r\n <StatsCard\r\n title=\"Total Users\"\r\n value=\"2,543\"\r\n trend={{\r\n direction: \"up\",\r\n value: \"+12%\",\r\n label: \"from last month\"\r\n }}\r\n icon={<BarChart3 className=\"h-6 w-6 text-primary-600\" />}\r\n />\r\n <StatsCard\r\n variant=\"gradient\"\r\n color=\"success\"\r\n title=\"Revenue\"\r\n value=\"$45,231\"\r\n trend={{\r\n direction: \"up\",\r\n value: \"+8.2%\",\r\n label: \"from last month\"\r\n }}\r\n icon={<BarChart3 className=\"h-6 w-6\" />}\r\n />\r\n </div>\r\n );\r\n}\r\nfunction ShowcaseTabsDemo() {\r\n const [activeTab, setActiveTab] = React.useState(\"tab-1\");\r\n return (\r\n <Tabs value={activeTab} onValueChange={setActiveTab}>\r\n <TabsList>\r\n <TabsTrigger value=\"tab-1\">Tab One</TabsTrigger>\r\n <TabsTrigger value=\"tab-2\">Tab Two</TabsTrigger>\r\n <TabsTrigger value=\"tab-3\">Tab Three</TabsTrigger>\r\n </TabsList>\r\n <TabsContent value=\"tab-1\">\r\n <span className=\"block p-4\">Content for Tab One</span>\r\n </TabsContent>\r\n <TabsContent value=\"tab-2\">\r\n <span className=\"block p-4\">Content for Tab Two</span>\r\n </TabsContent>\r\n <TabsContent value=\"tab-3\">\r\n <span className=\"block p-4\">Content for Tab Three</span>\r\n </TabsContent>\r\n </Tabs>\r\n );\r\n}\r\n\r\nObject.assign(showcasePreviewMap, {\r\n alert: ShowcaseAlertDemo,\r\n statscard: ShowcaseStatsCardDemo,\r\n tabs: ShowcaseTabsDemo,\r\n});\r\n\r\n// Helper component to render a Storybook story in JSX\r\nimport { Card, CardHeader, CardTitle, CardContent } from \"../Card\";\r\nimport { Badge } from \"../Badge\";\r\nimport { Alert, AlertTitle, AlertDescription } from \"../Alert\";\r\nimport { Avatar, AvatarImage, AvatarFallback } from \"../Avatar\";\r\nimport { Modal, ModalHeader, ModalTitle, ModalContent, ModalFooter } from \"../Modal\";\r\nimport { Toast, showToast } from \"../Toast\";\r\nimport { Tabs, TabsList, TabsTrigger, TabsContent } from \"../Tabs\";\r\nimport { StatsCard } from \"../StatsCard\";\r\nimport { Switch } from \"../Switch\";\r\nimport { Spinner } from \"../Spinner\";\r\nimport { Skeleton } from \"../Skeleton\";\r\nimport { DataTableShowcase } from \"../DataTable/DataTableShowcase\";\r\n\r\n// Component categories and their items\r\nconst componentCategories = {\r\n \"Forms\": {\r\n icon: <MousePointer className=\"h-4 w-4\" />,\r\n components: [\r\n { name: \"Button\", id: \"button\" },\r\n { name: \"Input\", id: \"input\" },\r\n { name: \"Textarea\", id: \"textarea\" },\r\n { name: \"Checkbox\", id: \"checkbox\" },\r\n { name: \"Switch\", id: \"switch\" },\r\n ]\r\n },\r\n \"Data Display\": {\r\n icon: <BarChart3 className=\"h-4 w-4\" />,\r\n components: [\r\n { name: \"Card\", id: \"card\" },\r\n { name: \"Badge\", id: \"badge\" },\r\n { name: \"Avatar\", id: \"avatar\" },\r\n { name: \"StatsCard\", id: \"statscard\" },\r\n { name: \"Tabs\", id: \"tabs\" },\r\n { name: \"DataTable\", id: \"datatable\" },\r\n ]\r\n },\r\n \"Feedback\": {\r\n icon: <AlertCircle className=\"h-4 w-4\" />,\r\n components: [\r\n { name: \"Alert\", id: \"alert\" },\r\n { name: \"Toast\", id: \"toast\" },\r\n { name: \"Modal\", id: \"modal\" },\r\n { name: \"Spinner\", id: \"spinner\" },\r\n { name: \"Skeleton\", id: \"skeleton\" },\r\n ]\r\n },\r\n \"Layout\": {\r\n icon: <Layout className=\"h-4 w-4\" />,\r\n components: [\r\n { name: \"DashboardLayout\", id: \"dashboard-layout\" },\r\n { name: \"DashboardGrid\", id: \"dashboard-grid\" },\r\n { name: \"Sidebar\", id: \"sidebar\" },\r\n { name: \"Navbar\", id: \"navbar\" },\r\n { name: \"DataTable\", id: \"datatable\" },\r\n ]\r\n }\r\n};\r\n\r\n// Component examples and documentation\r\nconst componentDocs = {\r\n button: {\r\n name: \"Button\",\r\n description: \"A versatile button component with multiple variants and sizes.\",\r\n example: `<Button variant=\"primary\" size=\"md\">\r\n Click me\r\n</Button>`,\r\n props: [\r\n { name: \"variant\", type: \"string\", default: \"primary\", description: \"Button style variant\" },\r\n { name: \"size\", type: \"string\", default: \"md\", description: \"Button size\" },\r\n { name: \"disabled\", type: \"boolean\", default: \"false\", description: \"Disable the button\" },\r\n ],\r\n component: null\r\n },\r\n input: {\r\n name: \"Input\",\r\n description: \"A flexible input component with validation states and different sizes.\",\r\n example: `<Input\r\n placeholder=\"Enter your email\"\r\n variant=\"default\"\r\n inputSize=\"md\"\r\n/>`,\r\n props: [\r\n { name: \"variant\", type: \"string\", default: \"default\", description: \"Input validation state\" },\r\n { name: \"inputSize\", type: \"string\", default: \"md\", description: \"Input size\" },\r\n { name: \"placeholder\", type: \"string\", default: \"\", description: \"Placeholder text\" },\r\n ],\r\n component: null\r\n },\r\n checkbox: {\r\n name: \"Checkbox\",\r\n description: \"A standard checkbox component for forms. Supports checked, unchecked, disabled, and size variants.\",\r\n example: `<Checkbox checked={true} onChange={() => {}} />`,\r\n props: [\r\n { name: \"checked\", type: \"boolean\", default: \"false\", description: \"Whether the checkbox is checked\" },\r\n { name: \"onChange\", type: \"(event) => void\", description: \"Callback when checkbox changes\" },\r\n { name: \"disabled\", type: \"boolean\", default: \"false\", description: \"Disable the checkbox\" },\r\n { name: \"size\", type: `\"sm\" | \"md\" | \"lg\"`, default: \"md\", description: \"Size of the checkbox\" },\r\n ],\r\n component: showcasePreviewMap[\"checkbox\"]\r\n },\r\n switch: {\r\n name: \"Switch\",\r\n description: \"A toggle switch component for representing boolean states. Supports size variants and disabled state.\",\r\n example: `<Switch checked={true} onCheckedChange={() => {}} />`,\r\n props: [\r\n { name: \"checked\", type: \"boolean\", default: \"false\", description: \"Whether the switch is on\" },\r\n { name: \"onCheckedChange\", type: \"(checked: boolean) => void\", description: \"Callback when switch state changes\" },\r\n { name: \"disabled\", type: \"boolean\", default: \"false\", description: \"Disable the switch\" },\r\n { name: \"size\", type: `\"sm\" | \"md\" | \"lg\"`, default: \"md\", description: \"Size of the switch\" },\r\n ],\r\n component: showcasePreviewMap[\"switch\"]\r\n },\r\n textarea: {\r\n name: \"Textarea\",\r\n description: \"A multi-line input control suitable for entering longer blocks of text. Supports success/error states and various sizes.\",\r\n example: `<Textarea placeholder=\"Enter your message...\" variant=\"default\" />`,\r\n props: [\r\n { name: \"variant\", type: \"string\", default: \"default\", description: \"Textarea validation state\" },\r\n { name: \"rows\", type: \"number\", default: \"3\", description: \"Number of visible text lines\" },\r\n { name: \"disabled\", type: \"boolean\", default: \"false\", description: \"Disabled state\" },\r\n { name: \"placeholder\", type: \"string\", default: \"\", description: \"Placeholder text\" },\r\n ],\r\n component: showcasePreviewMap[\"textarea\"]\r\n },\r\n card: {\r\n name: \"Card\",\r\n description: \"A flexible container component for grouping related content.\",\r\n example: `<Card>\r\n <CardHeader>\r\n <CardTitle>Card Title</CardTitle>\r\n </CardHeader>\r\n <CardContent>\r\n Card content goes here.\r\n </CardContent>\r\n </Card>`,\r\n props: [\r\n { name: \"variant\", type: \"string\", default: \"default\", description: \"Card style variant\" },\r\n { name: \"padding\", type: \"string\", default: \"md\", description: \"Card padding size\" },\r\n ],\r\n component: null\r\n },\r\n avatar: {\r\n name: \"Avatar\",\r\n description: \"Displays a user's profile image or initials, with customizable size and fallback.\",\r\n example: '<Avatar size=\"sm\"><AvatarImage src=\"https://randomuser.me/api/portraits/men/32.jpg\" alt=\"User\"/><AvatarFallback>AB</AvatarFallback></Avatar>',\r\n props: [\r\n { name: \"size\", type: '\"sm\" | \"md\" | \"lg\"', default: \"md\", description: \"Avatar size\" },\r\n { name: \"children\", type: \"ReactNode\", required: true, description: \"Avatar image and fallback\" }\r\n ],\r\n component: showcasePreviewMap[\"avatar\"]\r\n },\r\n badge: {\r\n name: \"Badge\",\r\n description: \"A small, customizable tag for displaying statuses or labels.\",\r\n example: `<Badge variant=\"default\">Default</Badge>`,\r\n props: [\r\n { name: \"variant\", type: `\"default\" | \"secondary\" | \"success\" | \"danger\" | \"warning\" | \"outline\"`, default: \"default\", description: \"Badge color or style variant\" },\r\n { name: \"children\", type: \"ReactNode\", required: true, description: \"Badge label content\" }\r\n ],\r\n component: showcasePreviewMap[\"badge\"]\r\n },\r\n tabs: {\r\n name: \"Tabs\",\r\n description: \"A flexible tabbed navigation component. Allows users to switch between views.\",\r\n example: `<Tabs value=\"tab-1\" onValueChange={() => {}}>\r\n <TabsList>\r\n <TabsTrigger value=\"tab-1\">Tab 1</TabsTrigger>\r\n <TabsTrigger value=\"tab-2\">Tab 2</TabsTrigger>\r\n </TabsList>\r\n <TabsContent value=\"tab-1\">Content 1</TabsContent>\r\n <TabsContent value=\"tab-2\">Content 2</TabsContent>\r\n</Tabs>`,\r\n props: [\r\n { name: \"value\", type: \"string\", required: true, description: \"The value of the currently selected tab\" },\r\n { name: \"onValueChange\", type: \"(value: string) => void\", description: \"Called when a different tab is selected\" },\r\n { name: \"children\", type: \"ReactNode\", required: true, description: \"Tab triggers and contents\" }\r\n ],\r\n component: showcasePreviewMap[\"tabs\"]\r\n },\r\n toast: {\r\n name: \"Toast\",\r\n description: \"A notification/toast component to display feedback messages over the UI.\",\r\n example: `<Button onClick={() => showToast.success(\"Saved successfully!\")}>Show Toast</Button>\r\n<Toast />`,\r\n props: [\r\n { name: \"children\", type: \"ReactNode\", description: \"Toast content (commonly used internally)\" }\r\n ],\r\n component: showcasePreviewMap[\"toast\"]\r\n },\r\n modal: {\r\n name: \"Modal\",\r\n description: \"A dialog/modal overlay component for displaying actions, forms, or confirmation content.\",\r\n example: `<Modal open={open} onOpenChange={setOpen}>\r\n <ModalHeader>Modal Title</ModalHeader>\r\n <ModalContent>Modal body</ModalContent>\r\n <ModalFooter>\r\n <Button onClick={() => setOpen(false)}>Close</Button>\r\n </ModalFooter>\r\n</Modal>`,\r\n props: [\r\n { name: \"open\", type: \"boolean\", required: true, description: \"Whether the modal is open\" },\r\n { name: \"onOpenChange\", type: \"(open: boolean) => void\", required: true, description: \"Called with new open state when modal is toggled\" },\r\n { name: \"children\", type: \"ReactNode\", required: true, description: \"Content of the modal dialog\" }\r\n ],\r\n component: showcasePreviewMap[\"modal\"]\r\n },\r\n spinner: {\r\n name: \"Spinner\",\r\n description: \"A loading spinner to indicate ongoing processing or loading state.\",\r\n example: `<Spinner size=\"md\" />`,\r\n props: [\r\n { name: \"size\", type: `\"sm\" | \"md\" | \"lg\"`, default: \"md\", description: \"Spinner size\" },\r\n { name: \"color\", type: \"string\", default: \"primary\", description: \"Spinner color (optional)\" },\r\n { name: \"className\", type: \"string\", description: \"Custom CSS class for the spinner\" }\r\n ],\r\n component: showcasePreviewMap[\"spinner\"]\r\n },\r\n skeleton: {\r\n name: \"Skeleton\",\r\n description: \"A placeholder skeleton component for loading states. Use to display a placeholder UI while content loads.\",\r\n example: `<Skeleton className=\"h-6 w-32\" />`,\r\n props: [\r\n { name: \"className\", type: \"string\", description: \"Custom class for size and style\" }\r\n ],\r\n component: showcasePreviewMap[\"skeleton\"]\r\n },\r\n alert: {\r\n name: \"Alert\",\r\n description: \"Display important messages and notifications to users.\",\r\n example: `<Alert variant=\"info\">\r\n <AlertTitle>Information</AlertTitle>\r\n <AlertDescription>\r\n This is an informational alert.\r\n </AlertDescription>\r\n</Alert>`,\r\n props: [\r\n { name: \"variant\", type: \"string\", default: \"default\", description: \"Alert type variant\" },\r\n ],\r\n component: (\r\n <div className=\"space-y-4\">\r\n <Alert variant=\"info\">\r\n <AlertTitle>Information</AlertTitle>\r\n <AlertDescription>This is an informational alert message.</AlertDescription>\r\n </Alert>\r\n <Alert variant=\"success\">\r\n <AlertTitle>Success</AlertTitle>\r\n <AlertDescription>Operation completed successfully!</AlertDescription>\r\n </Alert>\r\n <Alert variant=\"warning\">\r\n <AlertTitle>Warning</AlertTitle>\r\n <AlertDescription>Please review your input before proceeding.</AlertDescription>\r\n </Alert>\r\n <Alert variant=\"danger\">\r\n <AlertTitle>Error</AlertTitle>\r\n <AlertDescription>Something went wrong. Please try again.</AlertDescription>\r\n </Alert>\r\n </div>\r\n )\r\n },\r\n statscard: {\r\n name: \"StatsCard\",\r\n description: \"Display key metrics and statistics with trend indicators.\",\r\n example: `<StatsCard\r\n title=\"Total Users\"\r\n value=\"2,543\"\r\n trend={{\r\n direction: \"up\",\r\n value: \"+12%\",\r\n label: \"from last month\"\r\n }}\r\n icon={<Users className=\"h-6 w-6\" />}\r\n/>`,\r\n props: [\r\n { name: \"title\", type: \"string\", required: true, description: \"Card title\" },\r\n { name: \"value\", type: \"string | number\", required: true, description: \"Main value to display\" },\r\n { name: \"trend\", type: \"object\", description: \"Trend information\" },\r\n { name: \"icon\", type: \"ReactNode\", description: \"Icon to display\" },\r\n ],\r\n component: (\r\n <div className=\"grid grid-cols-1 md:grid-cols-2 gap-4\">\r\n <StatsCard\r\n title=\"Total Users\"\r\n value=\"2,543\"\r\n trend={{\r\n direction: \"up\",\r\n value: \"+12%\",\r\n label: \"from last month\"\r\n }}\r\n icon={<BarChart3 className=\"h-6 w-6 text-primary-600\" />}\r\n />\r\n <StatsCard\r\n variant=\"gradient\"\r\n color=\"success\"\r\n title=\"Revenue\"\r\n value=\"$45,231\"\r\n trend={{\r\n direction: \"up\",\r\n value: \"+8.2%\",\r\n label: \"from last month\"\r\n }}\r\n icon={<BarChart3 className=\"h-6 w-6\" />}\r\n />\r\n </div>\r\n )\r\n },\r\n \"dashboard-layout\": {\r\n name: \"DashboardLayout\",\r\n description: \"Layout component for admin dashboards and analytics panels. Useful for wrapping dashboard structure with sidebars and content.\",\r\n example: `<DashboardLayout>\r\n <Sidebar />\r\n <main>\r\n Dashboard content here\r\n </main>\r\n</DashboardLayout>`,\r\n props: [\r\n { name: \"children\", type: \"ReactNode\", required: true, description: \"Dashboard page content\" }\r\n ],\r\n component: showcasePreviewMap[\"dashboard-layout\"]\r\n },\r\n datatable: {\r\n name: \"DataTable\",\r\n description: \"A comprehensive table component with filtering, sorting, pagination, and row selection capabilities.\",\r\n example: `<DataTable\r\n columns={columns}\r\n dataSource={data}\r\n rowKey=\"id\"\r\n pagination={{\r\n current: 1,\r\n pageSize: 10,\r\n total: data.length,\r\n }}\r\n rowSelection={{\r\n type: 'checkbox',\r\n onChange: (keys, rows) => console.log('Selected:', keys, rows),\r\n }}\r\n/>`,\r\n props: [\r\n { name: \"columns\", type: \"Column[]\", required: true, description: \"Table column configuration\" },\r\n { name: \"dataSource\", type: \"T[]\", required: true, description: \"Data to display in the table\" },\r\n { name: \"rowKey\", type: \"string | function\", default: \"id\", description: \"Unique key for each row\" },\r\n { name: \"pagination\", type: \"PaginationConfig | false\", description: \"Pagination configuration\" },\r\n { name: \"rowSelection\", type: \"RowSelection\", description: \"Row selection configuration\" },\r\n { name: \"loading\", type: \"boolean\", default: \"false\", description: \"Loading state\" },\r\n { name: \"size\", type: `\"small\" | \"middle\" | \"large\"`, default: \"middle\", description: \"Table size\" },\r\n { name: \"bordered\", type: \"boolean\", default: \"false\", description: \"Show borders\" },\r\n ],\r\n component: <DataTableShowcase />\r\n },\r\n \"dashboard-grid\": {\r\n name: \"DashboardGrid\",\r\n description: \"Grid container for dashboard widgets.\",\r\n example: `<DashboardGrid>\r\n <Widget />\r\n <Widget />\r\n</DashboardGrid>`,\r\n props: [\r\n { name: \"children\", type: \"ReactNode\", required: true, description: \"Widgets to show in the grid\" },\r\n ],\r\n component: showcasePreviewMap[\"dashboard-grid\"]\r\n },\r\n \"sidebar\": {\r\n name: \"Sidebar\",\r\n description: \"Navigation sidebar for layouts. Supports menu items and responsive display.\",\r\n example: `<Sidebar menuItems={menuItems} />`,\r\n props: [\r\n { name: \"menuItems\", type: \"Array\", required: true, description: \"Sidebar navigation items\" },\r\n ],\r\n component: showcasePreviewMap[\"sidebar\"]\r\n },\r\n \"navbar\": {\r\n name: \"Navbar\",\r\n description: \"Navigation bar for app layout. Add links, branding, user actions etc.\",\r\n example: `<Navbar>\r\n <NavbarBrand>My App</NavbarBrand>\r\n <NavbarLinks>\r\n <a href=\"#\">Home</a>\r\n <a href=\"#\">About</a>\r\n </NavbarLinks>\r\n</Navbar>`,\r\n props: [\r\n { name: \"children\", type: \"ReactNode\", required: true, description: \"Navbar content (branding, links, actions)\" },\r\n ],\r\n component: showcasePreviewMap[\"navbar\"]\r\n },\r\n};\r\n\r\ninterface ComponentShowcaseProps {\r\n className?: string;\r\n}\r\n\r\nexport const ComponentShowcase: React.FC<ComponentShowcaseProps> = ({ className }) => {\r\n const [selectedComponent, setSelectedComponent] = useState(\"button\");\r\n const [searchQuery, setSearchQuery] = useState(\"\");\r\n const [sidebarCollapsed, setSidebarCollapsed] = useState(false);\r\n const [expandedCategories, setExpandedCategories] = useState<string[]>([\"Forms\"]);\r\n const [viewMode, setViewMode] = useState<\"desktop\" | \"tablet\" | \"mobile\">(\"desktop\");\r\n const [darkMode, setDarkMode] = useState(false);\r\n const [copiedCode, setCopiedCode] = useState<string | null>(null);\r\n\r\n const toggleCategory = (category: string) => {\r\n setExpandedCategories(prev =>\r\n prev.includes(category)\r\n ? prev.filter(c => c !== category)\r\n : [...prev, category]\r\n );\r\n };\r\n\r\n const copyToClipboard = async (code: string) => {\r\n try {\r\n await navigator.clipboard.writeText(code);\r\n setCopiedCode(code);\r\n showToast.success(\"Code copied to clipboard!\");\r\n setTimeout(() => setCopiedCode(null), 2000);\r\n } catch (err) {\r\n showToast.error(\"Failed to copy code\");\r\n }\r\n };\r\n\r\n const filteredCategories = Object.entries(componentCategories).reduce((acc, [categoryName, categoryData]) => {\r\n const filteredComponents = categoryData.components.filter(component =>\r\n component.name.toLowerCase().includes(searchQuery.toLowerCase())\r\n );\r\n\r\n if (filteredComponents.length > 0) {\r\n acc[categoryName as keyof typeof componentCategories] = {\r\n ...categoryData,\r\n components: filteredComponents\r\n };\r\n }\r\n\r\n return acc;\r\n }, {} as Partial<typeof componentCategories>);\r\n\r\n const currentDoc = componentDocs[selectedComponent as keyof typeof componentDocs];\r\n\r\n const getViewportClass = () => {\r\n switch (viewMode) {\r\n case \"tablet\": return \"max-w-2xl\";\r\n case \"mobile\": return \"max-w-sm\";\r\n default: return \"w-full\";\r\n }\r\n };\r\n\r\n return (\r\n <div className={cn(\"flex h-screen bg-gray-50\", className)}>\r\n <Toast />\r\n \r\n {/* Sidebar */}\r\n <div className={cn(\r\n \"bg-white border-r border-gray-200 transition-all duration-300 flex flex-col\",\r\n sidebarCollapsed ? \"w-16\" : \"w-80\"\r\n )}>\r\n {/* Sidebar Header */}\r\n <div className=\"p-4 border-b border-gray-200\">\r\n {!sidebarCollapsed && (\r\n <div className=\"flex items-center justify-between mb-4\">\r\n <div className=\"flex items-center space-x-2\">\r\n <div className=\"w-8 h-8 bg-primary-600 rounded-lg flex items-center justify-center\">\r\n <Palette className=\"h-4 w-4 text-white\" />\r\n </div>\r\n <span className=\"font-bold text-lg text-gray-900\">Beyond UI</span>\r\n </div>\r\n <Button\r\n variant=\"ghost\"\r\n size=\"sm\"\r\n onClick={() => setSidebarCollapsed(true)}\r\n >\r\n <ChevronRight className=\"h-4 w-4\" />\r\n </Button>\r\n </div>\r\n )}\r\n \r\n {sidebarCollapsed && (\r\n <div className=\"flex justify-center\">\r\n <Button\r\n variant=\"ghost\"\r\n size=\"sm\"\r\n onClick={() => setSidebarCollapsed(false)}\r\n >\r\n <Palette className=\"h-4 w-4\" />\r\n </Button>\r\n </div>\r\n )}\r\n\r\n {!sidebarCollapsed && (\r\n <div className=\"relative\">\r\n <Search className=\"absolute left-3 top-1/2 transform -translate-y-1/2 h-4 w-4 text-gray-400\" />\r\n <Input\r\n placeholder=\"Search components...\"\r\n value={searchQuery}\r\n onChange={(e) => setSearchQuery(e.target.value)}\r\n className=\"pl-10\"\r\n />\r\n </div>\r\n )}\r\n </div>\r\n\r\n {/* Navigation */}\r\n <nav className=\"flex-1 p-4 overflow-y-auto\">\r\n {Object.entries(filteredCategories).map(([categoryName, categoryData]) => (\r\n <div key={categoryName} className=\"mb-4\">\r\n <button\r\n onClick={() => !sidebarCollapsed && toggleCategory(categoryName)}\r\n className={cn(\r\n \"flex items-center w-full p-2 text-sm font-medium rounded-lg transition-colors\",\r\n \"hover:bg-gray-100 text-gray-700\",\r\n sidebarCollapsed ? \"justify-center\" : \"justify-between\"\r\n )}\r\n >\r\n <div className=\"flex items-center space-x-2\">\r\n {categoryData.icon}\r\n {!sidebarCollapsed && <span>{categoryName}</span>}\r\n </div>\r\n {!sidebarCollapsed && (\r\n <ChevronDown className={cn(\r\n \"h-4 w-4 transition-transform\",\r\n expandedCategories.includes(categoryName) && \"rotate-180\"\r\n )} />\r\n )}\r\n </button>\r\n\r\n {!sidebarCollapsed && expandedCategories.includes(categoryName) && (\r\n <div className=\"mt-2 ml-6 space-y-1\">\r\n {categoryData.components.map((component) => (\r\n <button\r\n key={component.id}\r\n onClick={() => setSelectedComponent(component.id)}\r\n className={cn(\r\n \"flex items-center w-full p-2 text-sm rounded-lg transition-colors\",\r\n selectedComponent === component.id\r\n ? \"bg-primary-50 text-primary-700 border-r-2 border-primary-600\"\r\n : \"text-gray-600 hover:bg-gray-50 hover:text-gray-900\"\r\n )}\r\n >\r\n {component.name}\r\n </button>\r\n ))}\r\n </div>\r\n )}\r\n </div>\r\n ))}\r\n </nav>\r\n </div>\r\n\r\n {/* Main Content */}\r\n <div className=\"flex-1 flex flex-col overflow-hidden\">\r\n {/* Header */}\r\n <header className=\"bg-white border-b border-gray-200 p-4\">\r\n <div className=\"flex items-center justify-between\">\r\n <div className=\"flex items-center space-x-4\">\r\n <h1 className=\"text-2xl font-bold text-gray-900\">\r\n {currentDoc?.name || \"Component Showcase\"}\r\n </h1>\r\n {currentDoc && (\r\n <Badge variant=\"outline\">{currentDoc.name}</Badge>\r\n )}\r\n </div>\r\n\r\n <div className=\"flex items-center space-x-2\">\r\n {/* Viewport Controls */}\r\n <div className=\"flex items-center bg-gray-100 rounded-lg p-1\">\r\n <Button\r\n variant={viewMode === \"desktop\" ? \"primary\" : \"ghost\"}\r\n size=\"sm\"\r\n onClick={() => setViewMode(\"desktop\")}\r\n >\r\n <Monitor className=\"h-4 w-4\" />\r\n </Button>\r\n <Button\r\n variant={viewMode === \"tablet\" ? \"primary\" : \"ghost\"}\r\n size=\"sm\"\r\n onClick={() => setViewMode(\"tablet\")}\r\n >\r\n <Tablet className=\"h-4 w-4\" />\r\n </Button>\r\n <Button\r\n variant={viewMode === \"mobile\" ? \"primary\" : \"ghost\"}\r\n size=\"sm\"\r\n onClick={() => setViewMode(\"mobile\")}\r\n >\r\n <Smartphone className=\"h-4 w-4\" />\r\n </Button>\r\n </div>\r\n\r\n {/* Dark Mode Toggle */}\r\n <Button\r\n variant=\"ghost\"\r\n size=\"sm\"\r\n onClick={() => setDarkMode(!darkMode)}\r\n >\r\n {darkMode ? <Sun className=\"h-4 w-4\" /> : <Moon className=\"h-4 w-4\" />}\r\n </Button>\r\n </div>\r\n </div>\r\n </header>\r\n\r\n {/* Content */}\r\n <main className=\"flex-1 overflow-auto p-6\">\r\n {currentDoc ? (\r\n <div className=\"max-w-6xl mx-auto space-y-8\">\r\n {/* Description */}\r\n <div>\r\n <p className=\"text-lg text-gray-600\">{currentDoc.description}</p>\r\n </div>\r\n\r\n {/* Tabs */}\r\n <Tabs value=\"preview\" onValueChange={() => {}}>\r\n <TabsList>\r\n <TabsTrigger value=\"preview\">\r\n <Eye className=\"h-4 w-4 mr-2\" />\r\n Preview\r\n </TabsTrigger>\r\n <TabsTrigger value=\"code\">\r\n <Code className=\"h-4 w-4 mr-2\" />\r\n Code\r\n </TabsTrigger>\r\n <TabsTrigger value=\"props\">\r\n <Settings className=\"h-4 w-4 mr-2\" />\r\n Props\r\n </TabsTrigger>\r\n </TabsList>\r\n\r\n <TabsContent value=\"preview\" className=\"mt-6\">\r\n <Card>\r\n <CardContent className=\"p-8\">\r\n <div className={cn(\"mx-auto transition-all duration-300\", getViewportClass())}>\r\n <div className={cn(darkMode && \"dark\")}>\r\n {showcasePreviewMap[selectedComponent]\r\n ? React.createElement(showcasePreviewMap[selectedComponent])\r\n : null}\r\n </div>\r\n </div>\r\n </CardContent>\r\n </Card>\r\n </TabsContent>\r\n\r\n <TabsContent value=\"code\" className=\"mt-6\">\r\n <Card>\r\n <CardHeader className=\"flex flex-row items-center justify-between\">\r\n <CardTitle className=\"text-lg\">Usage Example</CardTitle>\r\n <Button\r\n variant=\"outline\"\r\n size=\"sm\"\r\n onClick={() => copyToClipboard(currentDoc.example)}\r\n >\r\n {copiedCode === currentDoc.example ? (\r\n <Check className=\"h-4 w-4 mr-2\" />\r\n ) : (\r\n <Copy className=\"h-4 w-4 mr-2\" />\r\n )}\r\n Copy\r\n </Button>\r\n </CardHeader>\r\n <CardContent>\r\n <pre className=\"bg-gray-900 text-gray-100 p-4 rounded-lg overflow-x-auto\">\r\n <code>{currentDoc.example}</code>\r\n </pre>\r\n </CardContent>\r\n </Card>\r\n </TabsContent>\r\n\r\n <TabsContent value=\"props\" className=\"mt-6\">\r\n <Card>\r\n <CardHeader>\r\n <CardTitle className=\"text-lg\">Component Props</CardTitle>\r\n </CardHeader>\r\n <CardContent>\r\n <div className=\"overflow-x-auto\">\r\n <table className=\"w-full border-collapse\">\r\n <thead>\r\n <tr className=\"border-b border-gray-200\">\r\n <th className=\"text-left p-3 font-medium text-gray-900\">Prop</th>\r\n <th className=\"text-left p-3 font-medium text-gray-900\">Type</th>\r\n <th className=\"text-left p-3 font-medium text-gray-900\">Default</th>\r\n <th className=\"text-left p-3 font-medium text-gray-900\">Description</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n {currentDoc.props?.map((prop, index) => (\r\n <tr key={index} className=\"border-b border-gray-100\">\r\n <td className=\"p-3\">\r\n <code className=\"bg-gray-100 px-2 py-1 rounded text-sm\">\r\n {prop.name}\r\n </code>\r\n {(\"required\" in prop && prop.required) && (\r\n <Badge variant=\"danger\" className=\"ml-2 text-xs\">Required</Badge>\r\n )}\r\n </td>\r\n <td className=\"p-3 text-gray-600\">{prop.type}</td>\r\n <td className=\"p-3 text-gray-600\">\r\n {(\"default\" in prop && prop.default) ? (\r\n <code className=\"bg-gray-100 px-2 py-1 rounded text-sm\">\r\n {prop.default}\r\n </code>\r\n ) : null}\r\n </td>\r\n <td className=\"p-3 text-gray-600\">{prop.description}</td>\r\n </tr>\r\n ))}\r\n </tbody>\r\n </table>\r\n </div>\r\n </CardContent>\r\n </Card>\r\n </TabsContent>\r\n </Tabs>\r\n </div>\r\n ) : (\r\n <div className=\"flex items-center justify-center h-full\">\r\n <div className=\"text-center\">\r\n <Book className=\"h-16 w-16 text-gray-400 mx-auto mb-4\" />\r\n <h2 className=\"text-xl font-semibold text-gray-900 mb-2\">\r\n Select a Component\r\n </h2>\r\n <p className=\"text-gray-600\">\r\n Choose a component from the sidebar to view its documentation and examples.\r\n </p>\r\n </div>\r\n </div>\r\n )}\r\n </main>\r\n </div>\r\n </div>\r\n );\r\n};"],"names":["_jsxs","_jsx"],"mappings":"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"}
@@ -1,14 +1,11 @@
1
1
  import { jsx, jsxs } from 'react/jsx-runtime';
2
2
  import * as React from 'react';
3
+ import { Menu, Search, Bell, Settings } from 'lucide-react';
3
4
  import { cn } from '../../utils/cn.js';
4
5
  import { Input } from '../Input/Input.js';
5
6
  import { Button } from '../Button/Button.js';
6
7
  import { Avatar, AvatarImage, AvatarFallback } from '../Avatar/Avatar.js';
7
8
  import { Badge } from '../Badge/Badge.js';
8
- import Menu from '../../node_modules/lucide-react/dist/esm/icons/menu.js';
9
- import Search from '../../node_modules/lucide-react/dist/esm/icons/search.js';
10
- import Bell from '../../node_modules/lucide-react/dist/esm/icons/bell.js';
11
- import Settings from '../../node_modules/lucide-react/dist/esm/icons/settings.js';
12
9
 
13
10
  const DashboardHeader = React.forwardRef(({ className, breadcrumbs = [{ label: "Dashboard" }], onMenuToggle, sidebarCollapsed = false, showSearch = true, searchPlaceholder = "Search...", onSearchChange, ...props }, ref) => {
14
11
  const [searchValue, setSearchValue] = React.useState("");
@@ -1 +1 @@
1
- {"version":3,"file":"DashboardHeader.js","sources":["../../../src/components/DashboardHeader/DashboardHeader.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { Search, Bell, Settings, Menu } from \"lucide-react\";\nimport { cn } from \"../../utils/cn\";\nimport { Input } from \"../Input\";\nimport { Button } from \"../Button\";\nimport { Avatar, AvatarImage, AvatarFallback } from \"../Avatar\";\nimport { Badge } from \"../Badge\";\n\ninterface BreadcrumbItem {\n label: string;\n href?: string;\n}\n\ninterface DashboardHeaderProps {\n className?: string;\n breadcrumbs?: BreadcrumbItem[];\n onMenuToggle?: () => void;\n sidebarCollapsed?: boolean;\n showSearch?: boolean;\n searchPlaceholder?: string;\n onSearchChange?: (value: string) => void;\n}\n\nconst DashboardHeader = React.forwardRef<HTMLDivElement, DashboardHeaderProps>(\n ({ \n className,\n breadcrumbs = [{ label: \"Dashboard\" }],\n onMenuToggle,\n sidebarCollapsed = false,\n showSearch = true,\n searchPlaceholder = \"Search...\",\n onSearchChange,\n ...props \n }, ref) => {\n const [searchValue, setSearchValue] = React.useState(\"\");\n\n const handleSearchChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const value = e.target.value;\n setSearchValue(value);\n onSearchChange?.(value);\n };\n\n return (\n <header\n ref={ref}\n className={cn(\n \"sticky top-0 z-30 bg-white border-b border-gray-200 transition-all duration-300\",\n sidebarCollapsed ? \"ml-16\" : \"ml-72\",\n className\n )}\n {...props}\n >\n <div className=\"flex items-center justify-between px-6 py-4\">\n {/* Left Section */}\n <div className=\"flex items-center space-x-4\">\n {/* Mobile Menu Button */}\n <Button\n variant=\"ghost\"\n size=\"sm\"\n onClick={onMenuToggle}\n className=\"md:hidden\"\n >\n <Menu className=\"h-5 w-5\" />\n </Button>\n\n {/* Breadcrumbs */}\n <nav className=\"flex items-center space-x-2 text-sm\">\n {breadcrumbs.map((item, index) => (\n <React.Fragment key={index}>\n {index > 0 && (\n <span className=\"text-gray-400\">/</span>\n )}\n {item.href ? (\n <a\n href={item.href}\n className=\"text-gray-600 hover:text-gray-900 transition-colors\"\n >\n {item.label}\n </a>\n ) : (\n <span className=\"text-gray-900 font-medium\">\n {item.label}\n </span>\n )}\n </React.Fragment>\n ))}\n </nav>\n </div>\n\n {/* Center Section - Search */}\n {showSearch && (\n <div className=\"flex-1 max-w-md mx-8\">\n <div className=\"relative\">\n <Search className=\"absolute left-3 top-1/2 transform -translate-y-1/2 h-4 w-4 text-gray-400\" />\n <Input\n type=\"text\"\n placeholder={searchPlaceholder}\n value={searchValue}\n onChange={handleSearchChange}\n className=\"pl-10 bg-gray-50 border-gray-200 focus:bg-white\"\n />\n </div>\n </div>\n )}\n\n {/* Right Section */}\n <div className=\"flex items-center space-x-3\">\n {/* Notifications */}\n <div className=\"relative\">\n <Button variant=\"ghost\" size=\"sm\" className=\"relative\">\n <Bell className=\"h-5 w-5\" />\n <Badge \n variant=\"danger\" \n className=\"absolute -top-1 -right-1 h-5 w-5 text-xs p-0 flex items-center justify-center\"\n >\n 3\n </Badge>\n </Button>\n </div>\n\n {/* Settings */}\n <Button variant=\"ghost\" size=\"sm\">\n <Settings className=\"h-5 w-5\" />\n </Button>\n\n {/* User Profile */}\n <div className=\"flex items-center space-x-3 pl-3 border-l border-gray-200\">\n <div className=\"hidden sm:block text-right\">\n <p className=\"text-sm font-medium text-gray-900\">John Doe</p>\n <p className=\"text-xs text-gray-500\">Administrator</p>\n </div>\n <Avatar size=\"sm\">\n <AvatarImage src=\"https://images.pexels.com/photos/774909/pexels-photo-774909.jpeg?auto=compress&cs=tinysrgb&w=64\" />\n <AvatarFallback>JD</AvatarFallback>\n </Avatar>\n </div>\n </div>\n </div>\n </header>\n );\n }\n);\n\nDashboardHeader.displayName = \"DashboardHeader\";\n\nexport { DashboardHeader, type BreadcrumbItem };"],"names":["_jsx","_jsxs"],"mappings":";;;;;;;;;;;;AAuBA,MAAM,eAAe,GAAG,KAAK,CAAC,UAAU,CACtC,CAAC,EACC,SAAS,EACT,WAAW,GAAG,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,EACtC,YAAY,EACZ,gBAAgB,GAAG,KAAK,EACxB,UAAU,GAAG,IAAI,EACjB,iBAAiB,GAAG,WAAW,EAC/B,cAAc,EACd,GAAG,KAAK,EACT,EAAE,GAAG,KAAI;AACR,IAAA,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;AAExD,IAAA,MAAM,kBAAkB,GAAG,CAAC,CAAsC,KAAI;AACpE,QAAA,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK;QAC5B,cAAc,CAAC,KAAK,CAAC;AACrB,QAAA,cAAc,GAAG,KAAK,CAAC;AACzB,IAAA,CAAC;AAED,IAAA,QACEA,GAAA,CAAA,QAAA,EAAA,EACE,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACX,iFAAiF,EACjF,gBAAgB,GAAG,OAAO,GAAG,OAAO,EACpC,SAAS,CACV,EAAA,GACG,KAAK,EAAA,QAAA,EAETC,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,6CAA6C,EAAA,QAAA,EAAA,CAE1DA,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,6BAA6B,EAAA,QAAA,EAAA,CAE1CD,GAAA,CAAC,MAAM,EAAA,EACL,OAAO,EAAC,OAAO,EACf,IAAI,EAAC,IAAI,EACT,OAAO,EAAE,YAAY,EACrB,SAAS,EAAC,WAAW,EAAA,QAAA,EAErBA,GAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,SAAS,GAAG,EAAA,CACrB,EAGTA,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,qCAAqC,EAAA,QAAA,EACjD,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,MAC3BC,IAAA,CAAC,KAAK,CAAC,QAAQ,eACZ,KAAK,GAAG,CAAC,KACRD,GAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,eAAe,kBAAS,CACzC,EACA,IAAI,CAAC,IAAI,IACRA,WACE,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,SAAS,EAAC,qDAAqD,EAAA,QAAA,EAE9D,IAAI,CAAC,KAAK,GACT,KAEJA,GAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,2BAA2B,YACxC,IAAI,CAAC,KAAK,EAAA,CACN,CACR,CAAA,EAAA,EAfkB,KAAK,CAgBT,CAClB,CAAC,EAAA,CACE,CAAA,EAAA,CACF,EAGL,UAAU,KACTA,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,sBAAsB,EAAA,QAAA,EACnCC,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,UAAU,EAAA,QAAA,EAAA,CACvBD,GAAA,CAAC,MAAM,IAAC,SAAS,EAAC,0EAA0E,EAAA,CAAG,EAC/FA,GAAA,CAAC,KAAK,EAAA,EACJ,IAAI,EAAC,MAAM,EACX,WAAW,EAAE,iBAAiB,EAC9B,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,kBAAkB,EAC5B,SAAS,EAAC,iDAAiD,EAAA,CAC3D,IACE,EAAA,CACF,CACP,EAGDC,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,6BAA6B,EAAA,QAAA,EAAA,CAE1CD,aAAK,SAAS,EAAC,UAAU,EAAA,QAAA,EACvBC,KAAC,MAAM,EAAA,EAAC,OAAO,EAAC,OAAO,EAAC,IAAI,EAAC,IAAI,EAAC,SAAS,EAAC,UAAU,EAAA,QAAA,EAAA,CACpDD,IAAC,IAAI,EAAA,EAAC,SAAS,EAAC,SAAS,EAAA,CAAG,EAC5BA,GAAA,CAAC,KAAK,IACJ,OAAO,EAAC,QAAQ,EAChB,SAAS,EAAC,+EAA+E,EAAA,QAAA,EAAA,GAAA,EAAA,CAGnF,IACD,EAAA,CACL,EAGNA,GAAA,CAAC,MAAM,IAAC,OAAO,EAAC,OAAO,EAAC,IAAI,EAAC,IAAI,EAAA,QAAA,EAC/BA,GAAA,CAAC,QAAQ,EAAA,EAAC,SAAS,EAAC,SAAS,GAAG,EAAA,CACzB,EAGTC,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,2DAA2D,EAAA,QAAA,EAAA,CACxEA,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,4BAA4B,EAAA,QAAA,EAAA,CACzCD,GAAA,CAAA,GAAA,EAAA,EAAG,SAAS,EAAC,mCAAmC,EAAA,QAAA,EAAA,UAAA,EAAA,CAAa,EAC7DA,WAAG,SAAS,EAAC,uBAAuB,EAAA,QAAA,EAAA,eAAA,EAAA,CAAkB,IAClD,EACNC,IAAA,CAAC,MAAM,EAAA,EAAC,IAAI,EAAC,IAAI,EAAA,QAAA,EAAA,CACfD,GAAA,CAAC,WAAW,EAAA,EAAC,GAAG,EAAC,iGAAiG,GAAG,EACrHA,GAAA,CAAC,cAAc,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAoB,IAC5B,CAAA,EAAA,CACL,CAAA,EAAA,CACF,CAAA,EAAA,CACF,EAAA,CACC;AAEb,CAAC;AAGH,eAAe,CAAC,WAAW,GAAG,iBAAiB;;;;"}
1
+ {"version":3,"file":"DashboardHeader.js","sources":["../../../src/components/DashboardHeader/DashboardHeader.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { Search, Bell, Settings, Menu } from \"lucide-react\";\nimport { cn } from \"../../utils/cn\";\nimport { Input } from \"../Input\";\nimport { Button } from \"../Button\";\nimport { Avatar, AvatarImage, AvatarFallback } from \"../Avatar\";\nimport { Badge } from \"../Badge\";\n\ninterface BreadcrumbItem {\n label: string;\n href?: string;\n}\n\ninterface DashboardHeaderProps {\n className?: string;\n breadcrumbs?: BreadcrumbItem[];\n onMenuToggle?: () => void;\n sidebarCollapsed?: boolean;\n showSearch?: boolean;\n searchPlaceholder?: string;\n onSearchChange?: (value: string) => void;\n}\n\nconst DashboardHeader = React.forwardRef<HTMLDivElement, DashboardHeaderProps>(\n ({ \n className,\n breadcrumbs = [{ label: \"Dashboard\" }],\n onMenuToggle,\n sidebarCollapsed = false,\n showSearch = true,\n searchPlaceholder = \"Search...\",\n onSearchChange,\n ...props \n }, ref) => {\n const [searchValue, setSearchValue] = React.useState(\"\");\n\n const handleSearchChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const value = e.target.value;\n setSearchValue(value);\n onSearchChange?.(value);\n };\n\n return (\n <header\n ref={ref}\n className={cn(\n \"sticky top-0 z-30 bg-white border-b border-gray-200 transition-all duration-300\",\n sidebarCollapsed ? \"ml-16\" : \"ml-72\",\n className\n )}\n {...props}\n >\n <div className=\"flex items-center justify-between px-6 py-4\">\n {/* Left Section */}\n <div className=\"flex items-center space-x-4\">\n {/* Mobile Menu Button */}\n <Button\n variant=\"ghost\"\n size=\"sm\"\n onClick={onMenuToggle}\n className=\"md:hidden\"\n >\n <Menu className=\"h-5 w-5\" />\n </Button>\n\n {/* Breadcrumbs */}\n <nav className=\"flex items-center space-x-2 text-sm\">\n {breadcrumbs.map((item, index) => (\n <React.Fragment key={index}>\n {index > 0 && (\n <span className=\"text-gray-400\">/</span>\n )}\n {item.href ? (\n <a\n href={item.href}\n className=\"text-gray-600 hover:text-gray-900 transition-colors\"\n >\n {item.label}\n </a>\n ) : (\n <span className=\"text-gray-900 font-medium\">\n {item.label}\n </span>\n )}\n </React.Fragment>\n ))}\n </nav>\n </div>\n\n {/* Center Section - Search */}\n {showSearch && (\n <div className=\"flex-1 max-w-md mx-8\">\n <div className=\"relative\">\n <Search className=\"absolute left-3 top-1/2 transform -translate-y-1/2 h-4 w-4 text-gray-400\" />\n <Input\n type=\"text\"\n placeholder={searchPlaceholder}\n value={searchValue}\n onChange={handleSearchChange}\n className=\"pl-10 bg-gray-50 border-gray-200 focus:bg-white\"\n />\n </div>\n </div>\n )}\n\n {/* Right Section */}\n <div className=\"flex items-center space-x-3\">\n {/* Notifications */}\n <div className=\"relative\">\n <Button variant=\"ghost\" size=\"sm\" className=\"relative\">\n <Bell className=\"h-5 w-5\" />\n <Badge \n variant=\"danger\" \n className=\"absolute -top-1 -right-1 h-5 w-5 text-xs p-0 flex items-center justify-center\"\n >\n 3\n </Badge>\n </Button>\n </div>\n\n {/* Settings */}\n <Button variant=\"ghost\" size=\"sm\">\n <Settings className=\"h-5 w-5\" />\n </Button>\n\n {/* User Profile */}\n <div className=\"flex items-center space-x-3 pl-3 border-l border-gray-200\">\n <div className=\"hidden sm:block text-right\">\n <p className=\"text-sm font-medium text-gray-900\">John Doe</p>\n <p className=\"text-xs text-gray-500\">Administrator</p>\n </div>\n <Avatar size=\"sm\">\n <AvatarImage src=\"https://images.pexels.com/photos/774909/pexels-photo-774909.jpeg?auto=compress&cs=tinysrgb&w=64\" />\n <AvatarFallback>JD</AvatarFallback>\n </Avatar>\n </div>\n </div>\n </div>\n </header>\n );\n }\n);\n\nDashboardHeader.displayName = \"DashboardHeader\";\n\nexport { DashboardHeader, type BreadcrumbItem };"],"names":["_jsx","_jsxs"],"mappings":"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"}
@@ -1,18 +1,12 @@
1
1
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
2
2
  import { useState, useCallback, useMemo } from 'react';
3
+ import { ChevronUp, ChevronDown, Filter, ChevronsLeft, ChevronLeft, ChevronRight, ChevronsRight } from 'lucide-react';
3
4
  import { cva } from 'class-variance-authority';
4
5
  import { cn } from '../../utils/cn.js';
5
6
  import { Button } from '../Button/Button.js';
6
7
  import { Input } from '../Input/Input.js';
7
8
  import { Checkbox } from '../Checkbox/Checkbox.js';
8
9
  import { Skeleton } from '../Skeleton/Skeleton.js';
9
- import ChevronUp from '../../node_modules/lucide-react/dist/esm/icons/chevron-up.js';
10
- import ChevronDown from '../../node_modules/lucide-react/dist/esm/icons/chevron-down.js';
11
- import Filter from '../../node_modules/lucide-react/dist/esm/icons/filter.js';
12
- import ChevronsLeft from '../../node_modules/lucide-react/dist/esm/icons/chevrons-left.js';
13
- import ChevronLeft from '../../node_modules/lucide-react/dist/esm/icons/chevron-left.js';
14
- import ChevronRight from '../../node_modules/lucide-react/dist/esm/icons/chevron-right.js';
15
- import ChevronsRight from '../../node_modules/lucide-react/dist/esm/icons/chevrons-right.js';
16
10
 
17
11
  const tableVariants = cva("w-full border-collapse bg-white", {
18
12
  variants: {