@beyondcorp/beyond-ui 1.0.9 → 1.0.11

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.
Files changed (164) hide show
  1. package/dist/components/Alert/Alert.js +4 -4
  2. package/dist/components/Alert/Alert.js.map +1 -1
  3. package/dist/components/Avatar/Avatar.js +4 -4
  4. package/dist/components/Avatar/Avatar.js.map +1 -1
  5. package/dist/components/Badge/Badge.js +2 -2
  6. package/dist/components/Badge/Badge.js.map +1 -1
  7. package/dist/components/Button/Button.js +2 -2
  8. package/dist/components/Button/Button.js.map +1 -1
  9. package/dist/components/Card/Card.js +7 -7
  10. package/dist/components/Card/Card.js.map +1 -1
  11. package/dist/components/Checkbox/Checkbox.js +2 -2
  12. package/dist/components/Checkbox/Checkbox.js.map +1 -1
  13. package/dist/components/ComponentShowcase/ComponentShowcase.js +41 -41
  14. package/dist/components/ComponentShowcase/ComponentShowcase.js.map +1 -1
  15. package/dist/components/DashboardGrid/DashboardGrid.js +3 -3
  16. package/dist/components/DashboardGrid/DashboardGrid.js.map +1 -1
  17. package/dist/components/DashboardHeader/DashboardHeader.js +2 -2
  18. package/dist/components/DashboardHeader/DashboardHeader.js.map +1 -1
  19. package/dist/components/DashboardLayout/DashboardLayout.js +3 -3
  20. package/dist/components/DashboardLayout/DashboardLayout.js.map +1 -1
  21. package/dist/components/DataTable/DataTable.js +11 -11
  22. package/dist/components/DataTable/DataTable.js.map +1 -1
  23. package/dist/components/DataTable/DataTableShowcase.js +20 -20
  24. package/dist/components/DataTable/DataTableShowcase.js.map +1 -1
  25. package/dist/components/Input/Input.js +2 -2
  26. package/dist/components/Input/Input.js.map +1 -1
  27. package/dist/components/Modal/Modal.js +7 -7
  28. package/dist/components/Modal/Modal.js.map +1 -1
  29. package/dist/components/Navbar/Navbar.js +3 -3
  30. package/dist/components/Navbar/Navbar.js.map +1 -1
  31. package/dist/components/Sidebar/Sidebar.js +13 -13
  32. package/dist/components/Sidebar/Sidebar.js.map +1 -1
  33. package/dist/components/Skeleton/Skeleton.js +2 -2
  34. package/dist/components/Skeleton/Skeleton.js.map +1 -1
  35. package/dist/components/Spinner/Spinner.js +2 -2
  36. package/dist/components/Spinner/Spinner.js.map +1 -1
  37. package/dist/components/StatsCard/StatsCard.js +5 -5
  38. package/dist/components/StatsCard/StatsCard.js.map +1 -1
  39. package/dist/components/Switch/Switch.js +2 -2
  40. package/dist/components/Switch/Switch.js.map +1 -1
  41. package/dist/components/Tabs/Tabs.js +5 -5
  42. package/dist/components/Tabs/Tabs.js.map +1 -1
  43. package/dist/components/Textarea/Textarea.js +2 -2
  44. package/dist/components/Textarea/Textarea.js.map +1 -1
  45. package/dist/components/Toast/Toast.js +8 -8
  46. package/dist/components/Toast/Toast.js.map +1 -1
  47. package/package.json +7 -2
  48. package/dist/_virtual/jsx-runtime.js +0 -6
  49. package/dist/_virtual/jsx-runtime.js.map +0 -1
  50. package/dist/_virtual/jsx-runtime2.js +0 -4
  51. package/dist/_virtual/jsx-runtime2.js.map +0 -1
  52. package/dist/_virtual/react-jsx-runtime.development.js +0 -4
  53. package/dist/_virtual/react-jsx-runtime.development.js.map +0 -1
  54. package/dist/_virtual/react-jsx-runtime.production.min.js +0 -4
  55. package/dist/_virtual/react-jsx-runtime.production.min.js.map +0 -1
  56. package/dist/index.js.map +0 -1
  57. package/dist/node_modules/@radix-ui/react-compose-refs/dist/index.js +0 -37
  58. package/dist/node_modules/@radix-ui/react-compose-refs/dist/index.js.map +0 -1
  59. package/dist/node_modules/@radix-ui/react-slot/dist/index.js +0 -91
  60. package/dist/node_modules/@radix-ui/react-slot/dist/index.js.map +0 -1
  61. package/dist/node_modules/goober/dist/goober.modern.js +0 -4
  62. package/dist/node_modules/goober/dist/goober.modern.js.map +0 -1
  63. package/dist/node_modules/lucide-react/dist/esm/createLucideIcon.js +0 -48
  64. package/dist/node_modules/lucide-react/dist/esm/createLucideIcon.js.map +0 -1
  65. package/dist/node_modules/lucide-react/dist/esm/defaultAttributes.js +0 -21
  66. package/dist/node_modules/lucide-react/dist/esm/defaultAttributes.js.map +0 -1
  67. package/dist/node_modules/lucide-react/dist/esm/icons/alert-circle.js +0 -18
  68. package/dist/node_modules/lucide-react/dist/esm/icons/alert-circle.js.map +0 -1
  69. package/dist/node_modules/lucide-react/dist/esm/icons/alert-triangle.js +0 -24
  70. package/dist/node_modules/lucide-react/dist/esm/icons/alert-triangle.js.map +0 -1
  71. package/dist/node_modules/lucide-react/dist/esm/icons/bar-chart-3.js +0 -19
  72. package/dist/node_modules/lucide-react/dist/esm/icons/bar-chart-3.js.map +0 -1
  73. package/dist/node_modules/lucide-react/dist/esm/icons/bell.js +0 -17
  74. package/dist/node_modules/lucide-react/dist/esm/icons/bell.js.map +0 -1
  75. package/dist/node_modules/lucide-react/dist/esm/icons/book.js +0 -16
  76. package/dist/node_modules/lucide-react/dist/esm/icons/book.js.map +0 -1
  77. package/dist/node_modules/lucide-react/dist/esm/icons/calendar.js +0 -19
  78. package/dist/node_modules/lucide-react/dist/esm/icons/calendar.js.map +0 -1
  79. package/dist/node_modules/lucide-react/dist/esm/icons/check-circle.js +0 -17
  80. package/dist/node_modules/lucide-react/dist/esm/icons/check-circle.js.map +0 -1
  81. package/dist/node_modules/lucide-react/dist/esm/icons/check.js +0 -14
  82. package/dist/node_modules/lucide-react/dist/esm/icons/check.js.map +0 -1
  83. package/dist/node_modules/lucide-react/dist/esm/icons/chevron-down.js +0 -16
  84. package/dist/node_modules/lucide-react/dist/esm/icons/chevron-down.js.map +0 -1
  85. package/dist/node_modules/lucide-react/dist/esm/icons/chevron-left.js +0 -16
  86. package/dist/node_modules/lucide-react/dist/esm/icons/chevron-left.js.map +0 -1
  87. package/dist/node_modules/lucide-react/dist/esm/icons/chevron-right.js +0 -16
  88. package/dist/node_modules/lucide-react/dist/esm/icons/chevron-right.js.map +0 -1
  89. package/dist/node_modules/lucide-react/dist/esm/icons/chevron-up.js +0 -14
  90. package/dist/node_modules/lucide-react/dist/esm/icons/chevron-up.js.map +0 -1
  91. package/dist/node_modules/lucide-react/dist/esm/icons/chevrons-left.js +0 -17
  92. package/dist/node_modules/lucide-react/dist/esm/icons/chevrons-left.js.map +0 -1
  93. package/dist/node_modules/lucide-react/dist/esm/icons/chevrons-right.js +0 -17
  94. package/dist/node_modules/lucide-react/dist/esm/icons/chevrons-right.js.map +0 -1
  95. package/dist/node_modules/lucide-react/dist/esm/icons/code.js +0 -17
  96. package/dist/node_modules/lucide-react/dist/esm/icons/code.js.map +0 -1
  97. package/dist/node_modules/lucide-react/dist/esm/icons/copy.js +0 -17
  98. package/dist/node_modules/lucide-react/dist/esm/icons/copy.js.map +0 -1
  99. package/dist/node_modules/lucide-react/dist/esm/icons/dollar-sign.js +0 -17
  100. package/dist/node_modules/lucide-react/dist/esm/icons/dollar-sign.js.map +0 -1
  101. package/dist/node_modules/lucide-react/dist/esm/icons/download.js +0 -18
  102. package/dist/node_modules/lucide-react/dist/esm/icons/download.js.map +0 -1
  103. package/dist/node_modules/lucide-react/dist/esm/icons/eye.js +0 -17
  104. package/dist/node_modules/lucide-react/dist/esm/icons/eye.js.map +0 -1
  105. package/dist/node_modules/lucide-react/dist/esm/icons/file-text.js +0 -20
  106. package/dist/node_modules/lucide-react/dist/esm/icons/file-text.js.map +0 -1
  107. package/dist/node_modules/lucide-react/dist/esm/icons/filter.js +0 -16
  108. package/dist/node_modules/lucide-react/dist/esm/icons/filter.js.map +0 -1
  109. package/dist/node_modules/lucide-react/dist/esm/icons/home.js +0 -17
  110. package/dist/node_modules/lucide-react/dist/esm/icons/home.js.map +0 -1
  111. package/dist/node_modules/lucide-react/dist/esm/icons/info.js +0 -18
  112. package/dist/node_modules/lucide-react/dist/esm/icons/info.js.map +0 -1
  113. package/dist/node_modules/lucide-react/dist/esm/icons/log-out.js +0 -18
  114. package/dist/node_modules/lucide-react/dist/esm/icons/log-out.js.map +0 -1
  115. package/dist/node_modules/lucide-react/dist/esm/icons/mail.js +0 -17
  116. package/dist/node_modules/lucide-react/dist/esm/icons/mail.js.map +0 -1
  117. package/dist/node_modules/lucide-react/dist/esm/icons/menu.js +0 -18
  118. package/dist/node_modules/lucide-react/dist/esm/icons/menu.js.map +0 -1
  119. package/dist/node_modules/lucide-react/dist/esm/icons/minus.js +0 -14
  120. package/dist/node_modules/lucide-react/dist/esm/icons/minus.js.map +0 -1
  121. package/dist/node_modules/lucide-react/dist/esm/icons/monitor.js +0 -18
  122. package/dist/node_modules/lucide-react/dist/esm/icons/monitor.js.map +0 -1
  123. package/dist/node_modules/lucide-react/dist/esm/icons/moon.js +0 -16
  124. package/dist/node_modules/lucide-react/dist/esm/icons/moon.js.map +0 -1
  125. package/dist/node_modules/lucide-react/dist/esm/icons/mouse-pointer.js +0 -17
  126. package/dist/node_modules/lucide-react/dist/esm/icons/mouse-pointer.js.map +0 -1
  127. package/dist/node_modules/lucide-react/dist/esm/icons/palette.js +0 -26
  128. package/dist/node_modules/lucide-react/dist/esm/icons/palette.js.map +0 -1
  129. package/dist/node_modules/lucide-react/dist/esm/icons/panels-top-left.js +0 -18
  130. package/dist/node_modules/lucide-react/dist/esm/icons/panels-top-left.js.map +0 -1
  131. package/dist/node_modules/lucide-react/dist/esm/icons/plus.js +0 -17
  132. package/dist/node_modules/lucide-react/dist/esm/icons/plus.js.map +0 -1
  133. package/dist/node_modules/lucide-react/dist/esm/icons/search.js +0 -17
  134. package/dist/node_modules/lucide-react/dist/esm/icons/search.js.map +0 -1
  135. package/dist/node_modules/lucide-react/dist/esm/icons/settings.js +0 -23
  136. package/dist/node_modules/lucide-react/dist/esm/icons/settings.js.map +0 -1
  137. package/dist/node_modules/lucide-react/dist/esm/icons/smartphone.js +0 -17
  138. package/dist/node_modules/lucide-react/dist/esm/icons/smartphone.js.map +0 -1
  139. package/dist/node_modules/lucide-react/dist/esm/icons/square-pen.js +0 -17
  140. package/dist/node_modules/lucide-react/dist/esm/icons/square-pen.js.map +0 -1
  141. package/dist/node_modules/lucide-react/dist/esm/icons/sun.js +0 -24
  142. package/dist/node_modules/lucide-react/dist/esm/icons/sun.js.map +0 -1
  143. package/dist/node_modules/lucide-react/dist/esm/icons/tablet.js +0 -17
  144. package/dist/node_modules/lucide-react/dist/esm/icons/tablet.js.map +0 -1
  145. package/dist/node_modules/lucide-react/dist/esm/icons/trash-2.js +0 -20
  146. package/dist/node_modules/lucide-react/dist/esm/icons/trash-2.js.map +0 -1
  147. package/dist/node_modules/lucide-react/dist/esm/icons/trending-down.js +0 -17
  148. package/dist/node_modules/lucide-react/dist/esm/icons/trending-down.js.map +0 -1
  149. package/dist/node_modules/lucide-react/dist/esm/icons/trending-up.js +0 -17
  150. package/dist/node_modules/lucide-react/dist/esm/icons/trending-up.js.map +0 -1
  151. package/dist/node_modules/lucide-react/dist/esm/icons/user.js +0 -17
  152. package/dist/node_modules/lucide-react/dist/esm/icons/user.js.map +0 -1
  153. package/dist/node_modules/lucide-react/dist/esm/icons/users.js +0 -19
  154. package/dist/node_modules/lucide-react/dist/esm/icons/users.js.map +0 -1
  155. package/dist/node_modules/lucide-react/dist/esm/icons/x.js +0 -17
  156. package/dist/node_modules/lucide-react/dist/esm/icons/x.js.map +0 -1
  157. package/dist/node_modules/react/cjs/react-jsx-runtime.development.js +0 -1326
  158. package/dist/node_modules/react/cjs/react-jsx-runtime.development.js.map +0 -1
  159. package/dist/node_modules/react/cjs/react-jsx-runtime.production.min.js +0 -25
  160. package/dist/node_modules/react/cjs/react-jsx-runtime.production.min.js.map +0 -1
  161. package/dist/node_modules/react/jsx-runtime.js +0 -20
  162. package/dist/node_modules/react/jsx-runtime.js.map +0 -1
  163. package/dist/node_modules/react-hot-toast/dist/index.js +0 -184
  164. package/dist/node_modules/react-hot-toast/dist/index.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"DataTableShowcase.js","sources":["../../../src/components/DataTable/DataTableShowcase.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { useState } from \"react\";\nimport { \n Users, \n Mail, \n Phone, \n MapPin, \n Calendar,\n DollarSign,\n TrendingUp,\n TrendingDown,\n Eye,\n Edit,\n Trash2,\n Download,\n Filter,\n Plus\n} from \"lucide-react\";\nimport { DataTable } from \"./DataTable\";\nimport { Button } from \"../Button\";\nimport { Badge } from \"../Badge\";\nimport { Avatar, AvatarImage, AvatarFallback } from \"../Avatar\";\nimport { Card, CardHeader, CardTitle, CardContent } from \"../Card\";\nimport { showToast } from \"../Toast\";\nimport type { Column, FilterValue, SortConfig, PaginationConfig } from \"./DataTable.types\";\n\n// Sample data types\ninterface User {\n id: number;\n name: string;\n email: string;\n role: string;\n status: 'active' | 'inactive' | 'pending';\n avatar: string;\n joinDate: string;\n lastLogin: string;\n department: string;\n}\n\ninterface Sale {\n id: number;\n product: string;\n customer: string;\n amount: number;\n status: 'completed' | 'pending' | 'cancelled';\n date: string;\n region: string;\n salesperson: string;\n}\n\ninterface Task {\n id: number;\n title: string;\n assignee: string;\n priority: 'low' | 'medium' | 'high' | 'urgent';\n status: 'todo' | 'in-progress' | 'review' | 'completed';\n dueDate: string;\n project: string;\n tags: string[];\n}\n\n// Generate sample data\nconst generateUsers = (): User[] => {\n const roles = ['Admin', 'Manager', 'Developer', 'Designer', 'Analyst'];\n const departments = ['Engineering', 'Design', 'Marketing', 'Sales', 'HR'];\n const statuses: User['status'][] = ['active', 'inactive', 'pending'];\n \n return Array.from({ length: 50 }, (_, i) => ({\n id: i + 1,\n name: `User ${i + 1}`,\n email: `user${i + 1}@company.com`,\n role: roles[Math.floor(Math.random() * roles.length)],\n status: statuses[Math.floor(Math.random() * statuses.length)],\n avatar: `https://images.pexels.com/photos/${774909 + i}/pexels-photo-${774909 + i}.jpeg?auto=compress&cs=tinysrgb&w=64`,\n joinDate: new Date(2020 + Math.floor(Math.random() * 4), Math.floor(Math.random() * 12), Math.floor(Math.random() * 28) + 1).toISOString().split('T')[0],\n lastLogin: new Date(Date.now() - Math.floor(Math.random() * 30) * 24 * 60 * 60 * 1000).toISOString().split('T')[0],\n department: departments[Math.floor(Math.random() * departments.length)],\n }));\n};\n\nconst generateSales = (): Sale[] => {\n const products = ['Pro Plan', 'Basic Plan', 'Enterprise', 'Starter', 'Premium'];\n const regions = ['North America', 'Europe', 'Asia Pacific', 'Latin America'];\n const statuses: Sale['status'][] = ['completed', 'pending', 'cancelled'];\n \n return Array.from({ length: 75 }, (_, i) => ({\n id: i + 1,\n product: products[Math.floor(Math.random() * products.length)],\n customer: `Customer ${i + 1}`,\n amount: Math.floor(Math.random() * 10000) + 100,\n status: statuses[Math.floor(Math.random() * statuses.length)],\n date: new Date(2024, Math.floor(Math.random() * 12), Math.floor(Math.random() * 28) + 1).toISOString().split('T')[0],\n region: regions[Math.floor(Math.random() * regions.length)],\n salesperson: `Sales Rep ${Math.floor(Math.random() * 10) + 1}`,\n }));\n};\n\nconst generateTasks = (): Task[] => {\n const priorities: Task['priority'][] = ['low', 'medium', 'high', 'urgent'];\n const statuses: Task['status'][] = ['todo', 'in-progress', 'review', 'completed'];\n const projects = ['Website Redesign', 'Mobile App', 'API Integration', 'Dashboard', 'Marketing Campaign'];\n const tagOptions = ['frontend', 'backend', 'design', 'testing', 'documentation', 'bug', 'feature'];\n \n return Array.from({ length: 60 }, (_, i) => ({\n id: i + 1,\n title: `Task ${i + 1}: Implement feature`,\n assignee: `Developer ${Math.floor(Math.random() * 8) + 1}`,\n priority: priorities[Math.floor(Math.random() * priorities.length)],\n status: statuses[Math.floor(Math.random() * statuses.length)],\n dueDate: new Date(Date.now() + Math.floor(Math.random() * 60) * 24 * 60 * 60 * 1000).toISOString().split('T')[0],\n project: projects[Math.floor(Math.random() * projects.length)],\n tags: Array.from({ length: Math.floor(Math.random() * 3) + 1 }, () => \n tagOptions[Math.floor(Math.random() * tagOptions.length)]\n ).filter((tag, index, arr) => arr.indexOf(tag) === index),\n }));\n};\n\n// Sample data\nconst usersData = generateUsers();\nconst salesData = generateSales();\nconst tasksData = generateTasks();\n\nexport const DataTableShowcase: React.FC = () => {\n const [selectedTab, setSelectedTab] = useState<'users' | 'sales' | 'tasks'>('users');\n const [selectedRows, setSelectedRows] = useState<React.Key[]>([]);\n\n // User table columns\n const userColumns: Column<User>[] = [\n {\n key: 'user',\n title: 'User',\n dataIndex: 'name',\n sortable: true,\n filterable: true,\n filterType: 'text',\n render: (_, record) => (\n <div className=\"flex items-center space-x-3\">\n <Avatar size=\"sm\">\n <AvatarImage src={record.avatar} />\n <AvatarFallback>{record.name.split(' ').map(n => n[0]).join('')}</AvatarFallback>\n </Avatar>\n <div>\n <div className=\"font-medium text-gray-900\">{record.name}</div>\n <div className=\"text-sm text-gray-500\">{record.email}</div>\n </div>\n </div>\n ),\n },\n {\n key: 'role',\n title: 'Role',\n dataIndex: 'role',\n sortable: true,\n filterable: true,\n filterType: 'select',\n filterOptions: [\n { label: 'Admin', value: 'Admin' },\n { label: 'Manager', value: 'Manager' },\n { label: 'Developer', value: 'Developer' },\n { label: 'Designer', value: 'Designer' },\n { label: 'Analyst', value: 'Analyst' },\n ],\n },\n {\n key: 'department',\n title: 'Department',\n dataIndex: 'department',\n sortable: true,\n filterable: true,\n filterType: 'select',\n filterOptions: [\n { label: 'Engineering', value: 'Engineering' },\n { label: 'Design', value: 'Design' },\n { label: 'Marketing', value: 'Marketing' },\n { label: 'Sales', value: 'Sales' },\n { label: 'HR', value: 'HR' },\n ],\n },\n {\n key: 'status',\n title: 'Status',\n dataIndex: 'status',\n sortable: true,\n filterable: true,\n filterType: 'select',\n filterOptions: [\n { label: 'Active', value: 'active' },\n { label: 'Inactive', value: 'inactive' },\n { label: 'Pending', value: 'pending' },\n ],\n render: (status: User['status']) => (\n <Badge \n variant={\n status === 'active' ? 'success' : \n status === 'inactive' ? 'secondary' : 'warning'\n }\n >\n {status.charAt(0).toUpperCase() + status.slice(1)}\n </Badge>\n ),\n },\n {\n key: 'joinDate',\n title: 'Join Date',\n dataIndex: 'joinDate',\n sortable: true,\n filterable: true,\n filterType: 'date',\n },\n {\n key: 'actions',\n title: 'Actions',\n dataIndex: 'id',\n align: 'center',\n render: (_, record) => (\n <div className=\"flex items-center justify-center space-x-1\">\n <Button variant=\"ghost\" size=\"sm\" onClick={() => showToast.info(`View user ${record.name}`)}>\n <Eye className=\"h-4 w-4\" />\n </Button>\n <Button variant=\"ghost\" size=\"sm\" onClick={() => showToast.info(`Edit user ${record.name}`)}>\n <Edit className=\"h-4 w-4\" />\n </Button>\n <Button variant=\"ghost\" size=\"sm\" onClick={() => showToast.warning(`Delete user ${record.name}`)}>\n <Trash2 className=\"h-4 w-4 text-danger-600\" />\n </Button>\n </div>\n ),\n },\n ];\n\n // Sales table columns\n const salesColumns: Column<Sale>[] = [\n {\n key: 'product',\n title: 'Product',\n dataIndex: 'product',\n sortable: true,\n filterable: true,\n filterType: 'text',\n render: (product) => (\n <div className=\"font-medium text-gray-900\">{product}</div>\n ),\n },\n {\n key: 'customer',\n title: 'Customer',\n dataIndex: 'customer',\n sortable: true,\n filterable: true,\n filterType: 'text',\n },\n {\n key: 'amount',\n title: 'Amount',\n dataIndex: 'amount',\n sortable: true,\n filterable: true,\n filterType: 'number',\n align: 'right',\n render: (amount: number) => (\n <div className=\"flex items-center justify-end space-x-1\">\n <DollarSign className=\"h-4 w-4 text-gray-400\" />\n <span className=\"font-medium\">{amount.toLocaleString()}</span>\n </div>\n ),\n },\n {\n key: 'status',\n title: 'Status',\n dataIndex: 'status',\n sortable: true,\n filterable: true,\n filterType: 'select',\n filterOptions: [\n { label: 'Completed', value: 'completed' },\n { label: 'Pending', value: 'pending' },\n { label: 'Cancelled', value: 'cancelled' },\n ],\n render: (status: Sale['status']) => (\n <Badge \n variant={\n status === 'completed' ? 'success' : \n status === 'pending' ? 'warning' : 'danger'\n }\n >\n {status.charAt(0).toUpperCase() + status.slice(1)}\n </Badge>\n ),\n },\n {\n key: 'region',\n title: 'Region',\n dataIndex: 'region',\n sortable: true,\n filterable: true,\n filterType: 'select',\n filterOptions: [\n { label: 'North America', value: 'North America' },\n { label: 'Europe', value: 'Europe' },\n { label: 'Asia Pacific', value: 'Asia Pacific' },\n { label: 'Latin America', value: 'Latin America' },\n ],\n },\n {\n key: 'date',\n title: 'Date',\n dataIndex: 'date',\n sortable: true,\n filterable: true,\n filterType: 'date',\n },\n ];\n\n // Tasks table columns\n const taskColumns: Column<Task>[] = [\n {\n key: 'title',\n title: 'Task',\n dataIndex: 'title',\n sortable: true,\n filterable: true,\n filterType: 'text',\n render: (title, record) => (\n <div>\n <div className=\"font-medium text-gray-900\">{title}</div>\n <div className=\"text-sm text-gray-500\">{record.project}</div>\n </div>\n ),\n },\n {\n key: 'assignee',\n title: 'Assignee',\n dataIndex: 'assignee',\n sortable: true,\n filterable: true,\n filterType: 'text',\n },\n {\n key: 'priority',\n title: 'Priority',\n dataIndex: 'priority',\n sortable: true,\n filterable: true,\n filterType: 'select',\n filterOptions: [\n { label: 'Low', value: 'low' },\n { label: 'Medium', value: 'medium' },\n { label: 'High', value: 'high' },\n { label: 'Urgent', value: 'urgent' },\n ],\n render: (priority: Task['priority']) => (\n <Badge \n variant={\n priority === 'urgent' ? 'danger' :\n priority === 'high' ? 'warning' :\n priority === 'medium' ? 'secondary' : 'outline'\n }\n >\n {priority.charAt(0).toUpperCase() + priority.slice(1)}\n </Badge>\n ),\n },\n {\n key: 'status',\n title: 'Status',\n dataIndex: 'status',\n sortable: true,\n filterable: true,\n filterType: 'select',\n filterOptions: [\n { label: 'To Do', value: 'todo' },\n { label: 'In Progress', value: 'in-progress' },\n { label: 'Review', value: 'review' },\n { label: 'Completed', value: 'completed' },\n ],\n render: (status: Task['status']) => (\n <Badge \n variant={\n status === 'completed' ? 'success' :\n status === 'in-progress' ? 'warning' :\n status === 'review' ? 'secondary' : 'outline'\n }\n >\n {status.replace('-', ' ').replace(/\\b\\w/g, l => l.toUpperCase())}\n </Badge>\n ),\n },\n {\n key: 'dueDate',\n title: 'Due Date',\n dataIndex: 'dueDate',\n sortable: true,\n filterable: true,\n filterType: 'date',\n },\n {\n key: 'tags',\n title: 'Tags',\n dataIndex: 'tags',\n render: (tags: string[]) => (\n <div className=\"flex flex-wrap gap-1\">\n {tags.slice(0, 2).map(tag => (\n <Badge key={tag} variant=\"outline\" className=\"text-xs\">\n {tag}\n </Badge>\n ))}\n {tags.length > 2 && (\n <Badge variant=\"outline\" className=\"text-xs\">\n +{tags.length - 2}\n </Badge>\n )}\n </div>\n ),\n },\n ];\n\n const getCurrentData = () => {\n switch (selectedTab) {\n case 'users': return usersData;\n case 'sales': return salesData;\n case 'tasks': return tasksData;\n default: return [];\n }\n };\n\n const getCurrentColumns = () => {\n switch (selectedTab) {\n case 'users': return userColumns;\n case 'sales': return salesColumns;\n case 'tasks': return taskColumns;\n default: return [];\n }\n };\n\n return (\n <div className=\"space-y-6\">\n {/* Header */}\n <div className=\"flex items-center justify-between\">\n <div>\n <h1 className=\"text-2xl font-bold text-gray-900\">DataTable Component</h1>\n <p className=\"text-gray-600 mt-1\">\n A comprehensive table component with filtering, sorting, and pagination\n </p>\n </div>\n <div className=\"flex items-center space-x-2\">\n <Button variant=\"outline\" onClick={() => showToast.info('Export functionality')}>\n <Download className=\"h-4 w-4 mr-2\" />\n Export\n </Button>\n <Button variant=\"primary\" onClick={() => showToast.success('Add new item')}>\n <Plus className=\"h-4 w-4 mr-2\" />\n Add New\n </Button>\n </div>\n </div>\n\n {/* Tabs */}\n <div className=\"border-b border-gray-200\">\n <nav className=\"-mb-px flex space-x-8\">\n {[\n { key: 'users', label: 'Users', icon: Users },\n { key: 'sales', label: 'Sales', icon: DollarSign },\n { key: 'tasks', label: 'Tasks', icon: Calendar },\n ].map(({ key, label, icon: Icon }) => (\n <button\n key={key}\n onClick={() => setSelectedTab(key as any)}\n className={`\n flex items-center space-x-2 py-2 px-1 border-b-2 font-medium text-sm\n ${selectedTab === key\n ? 'border-primary-500 text-primary-600'\n : 'border-transparent text-gray-500 hover:text-gray-700 hover:border-gray-300'\n }\n `}\n >\n <Icon className=\"h-4 w-4\" />\n <span>{label}</span>\n </button>\n ))}\n </nav>\n </div>\n\n {/* Stats Cards */}\n <div className=\"grid grid-cols-1 md:grid-cols-4 gap-4\">\n <Card>\n <CardContent className=\"p-4\">\n <div className=\"flex items-center justify-between\">\n <div>\n <p className=\"text-sm font-medium text-gray-600\">Total Records</p>\n <p className=\"text-2xl font-bold text-gray-900\">{getCurrentData().length}</p>\n </div>\n <div className=\"p-2 bg-primary-100 rounded-lg\">\n <Users className=\"h-6 w-6 text-primary-600\" />\n </div>\n </div>\n </CardContent>\n </Card>\n \n <Card>\n <CardContent className=\"p-4\">\n <div className=\"flex items-center justify-between\">\n <div>\n <p className=\"text-sm font-medium text-gray-600\">Selected</p>\n <p className=\"text-2xl font-bold text-gray-900\">{selectedRows.length}</p>\n </div>\n <div className=\"p-2 bg-success-100 rounded-lg\">\n <Filter className=\"h-6 w-6 text-success-600\" />\n </div>\n </div>\n </CardContent>\n </Card>\n\n <Card>\n <CardContent className=\"p-4\">\n <div className=\"flex items-center justify-between\">\n <div>\n <p className=\"text-sm font-medium text-gray-600\">Active Filters</p>\n <p className=\"text-2xl font-bold text-gray-900\">0</p>\n </div>\n <div className=\"p-2 bg-warning-100 rounded-lg\">\n <Filter className=\"h-6 w-6 text-warning-600\" />\n </div>\n </div>\n </CardContent>\n </Card>\n\n <Card>\n <CardContent className=\"p-4\">\n <div className=\"flex items-center justify-between\">\n <div>\n <p className=\"text-sm font-medium text-gray-600\">Performance</p>\n <div className=\"flex items-center space-x-1\">\n <TrendingUp className=\"h-4 w-4 text-success-600\" />\n <p className=\"text-2xl font-bold text-gray-900\">Fast</p>\n </div>\n </div>\n <div className=\"p-2 bg-success-100 rounded-lg\">\n <TrendingUp className=\"h-6 w-6 text-success-600\" />\n </div>\n </div>\n </CardContent>\n </Card>\n </div>\n\n {/* DataTable */}\n <Card>\n <CardContent className=\"p-0\">\n {selectedTab === \"users\" && (\n <DataTable<User>\n columns={userColumns}\n dataSource={usersData}\n rowKey=\"id\"\n pagination={{\n current: 1,\n pageSize: 10,\n total: usersData.length,\n showSizeChanger: true,\n pageSizeOptions: [5, 10, 20, 50],\n }}\n rowSelection={{\n type: 'checkbox',\n selectedRowKeys: selectedRows,\n onChange: (keys) => {\n setSelectedRows(keys);\n showToast.info(`Selected ${keys.length} items`);\n },\n }}\n size=\"middle\"\n bordered={false}\n title={() => (\n <div className=\"flex items-center justify-between p-4 border-b border-gray-200\">\n <h3 className=\"text-lg font-semibold text-gray-900\">\n Users Data\n </h3>\n <div className=\"flex items-center space-x-2\">\n <Badge variant=\"outline\">\n {usersData.length} total\n </Badge>\n {selectedRows.length > 0 && (\n <Badge variant=\"secondary\">\n {selectedRows.length} selected\n </Badge>\n )}\n </div>\n </div>\n )}\n onChange={(pagination, filters, sorter) => {\n console.log('Table changed:', { pagination, filters, sorter });\n }}\n />\n )}\n\n {selectedTab === \"sales\" && (\n <DataTable<Sale>\n columns={salesColumns}\n dataSource={salesData}\n rowKey=\"id\"\n pagination={{\n current: 1,\n pageSize: 10,\n total: salesData.length,\n showSizeChanger: true,\n pageSizeOptions: [5, 10, 20, 50],\n }}\n rowSelection={{\n type: 'checkbox',\n selectedRowKeys: selectedRows,\n onChange: (keys) => {\n setSelectedRows(keys);\n showToast.info(`Selected ${keys.length} items`);\n },\n }}\n size=\"middle\"\n bordered={false}\n title={() => (\n <div className=\"flex items-center justify-between p-4 border-b border-gray-200\">\n <h3 className=\"text-lg font-semibold text-gray-900\">\n Sales Data\n </h3>\n <div className=\"flex items-center space-x-2\">\n <Badge variant=\"outline\">\n {salesData.length} total\n </Badge>\n {selectedRows.length > 0 && (\n <Badge variant=\"secondary\">\n {selectedRows.length} selected\n </Badge>\n )}\n </div>\n </div>\n )}\n onChange={(pagination, filters, sorter) => {\n console.log('Table changed:', { pagination, filters, sorter });\n }}\n />\n )}\n\n {selectedTab === \"tasks\" && (\n <DataTable<Task>\n columns={taskColumns}\n dataSource={tasksData}\n rowKey=\"id\"\n pagination={{\n current: 1,\n pageSize: 10,\n total: tasksData.length,\n showSizeChanger: true,\n pageSizeOptions: [5, 10, 20, 50],\n }}\n rowSelection={{\n type: 'checkbox',\n selectedRowKeys: selectedRows,\n onChange: (keys) => {\n setSelectedRows(keys);\n showToast.info(`Selected ${keys.length} items`);\n },\n }}\n size=\"middle\"\n bordered={false}\n title={() => (\n <div className=\"flex items-center justify-between p-4 border-b border-gray-200\">\n <h3 className=\"text-lg font-semibold text-gray-900\">\n Tasks Data\n </h3>\n <div className=\"flex items-center space-x-2\">\n <Badge variant=\"outline\">\n {tasksData.length} total\n </Badge>\n {selectedRows.length > 0 && (\n <Badge variant=\"secondary\">\n {selectedRows.length} selected\n </Badge>\n )}\n </div>\n </div>\n )}\n onChange={(pagination, filters, sorter) => {\n console.log('Table changed:', { pagination, filters, sorter });\n }}\n />\n )}\n </CardContent>\n </Card>\n\n {/* Documentation */}\n <Card>\n <CardHeader>\n <CardTitle>Component Features</CardTitle>\n </CardHeader>\n <CardContent className=\"space-y-4\">\n <div className=\"grid grid-cols-1 md:grid-cols-2 gap-4\">\n <div>\n <h4 className=\"font-semibold text-gray-900 mb-2\">Core Features</h4>\n <ul className=\"space-y-1 text-sm text-gray-600\">\n <li>• Sortable columns with visual indicators</li>\n <li>• Advanced filtering (text, select, date)</li>\n <li>• Pagination with configurable page sizes</li>\n <li>• Row selection (single/multiple)</li>\n <li>• Responsive design for all screen sizes</li>\n <li>• Loading and empty states</li>\n </ul>\n </div>\n <div>\n <h4 className=\"font-semibold text-gray-900 mb-2\">Advanced Features</h4>\n <ul className=\"space-y-1 text-sm text-gray-600\">\n <li>• Custom cell renderers</li>\n <li>• TypeScript support with full typing</li>\n <li>• Accessibility features (ARIA labels)</li>\n <li>• Performance optimizations</li>\n <li>• Customizable styling and themes</li>\n <li>• Export and bulk actions support</li>\n </ul>\n </div>\n </div>\n </CardContent>\n </Card>\n </div>\n );\n};"],"names":["_jsxs","_jsx","Edit"],"mappings":"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"}
1
+ {"version":3,"file":"DataTableShowcase.js","sources":["../../../src/components/DataTable/DataTableShowcase.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { useState } from \"react\";\nimport { \n Users, \n Mail, \n Phone, \n MapPin, \n Calendar,\n DollarSign,\n TrendingUp,\n TrendingDown,\n Eye,\n Edit,\n Trash2,\n Download,\n Filter,\n Plus\n} from \"lucide-react\";\nimport { DataTable } from \"./DataTable\";\nimport { Button } from \"../Button\";\nimport { Badge } from \"../Badge\";\nimport { Avatar, AvatarImage, AvatarFallback } from \"../Avatar\";\nimport { Card, CardHeader, CardTitle, CardContent } from \"../Card\";\nimport { showToast } from \"../Toast\";\nimport type { Column, FilterValue, SortConfig, PaginationConfig } from \"./DataTable.types\";\n\n// Sample data types\ninterface User {\n id: number;\n name: string;\n email: string;\n role: string;\n status: 'active' | 'inactive' | 'pending';\n avatar: string;\n joinDate: string;\n lastLogin: string;\n department: string;\n}\n\ninterface Sale {\n id: number;\n product: string;\n customer: string;\n amount: number;\n status: 'completed' | 'pending' | 'cancelled';\n date: string;\n region: string;\n salesperson: string;\n}\n\ninterface Task {\n id: number;\n title: string;\n assignee: string;\n priority: 'low' | 'medium' | 'high' | 'urgent';\n status: 'todo' | 'in-progress' | 'review' | 'completed';\n dueDate: string;\n project: string;\n tags: string[];\n}\n\n// Generate sample data\nconst generateUsers = (): User[] => {\n const roles = ['Admin', 'Manager', 'Developer', 'Designer', 'Analyst'];\n const departments = ['Engineering', 'Design', 'Marketing', 'Sales', 'HR'];\n const statuses: User['status'][] = ['active', 'inactive', 'pending'];\n \n return Array.from({ length: 50 }, (_, i) => ({\n id: i + 1,\n name: `User ${i + 1}`,\n email: `user${i + 1}@company.com`,\n role: roles[Math.floor(Math.random() * roles.length)],\n status: statuses[Math.floor(Math.random() * statuses.length)],\n avatar: `https://images.pexels.com/photos/${774909 + i}/pexels-photo-${774909 + i}.jpeg?auto=compress&cs=tinysrgb&w=64`,\n joinDate: new Date(2020 + Math.floor(Math.random() * 4), Math.floor(Math.random() * 12), Math.floor(Math.random() * 28) + 1).toISOString().split('T')[0],\n lastLogin: new Date(Date.now() - Math.floor(Math.random() * 30) * 24 * 60 * 60 * 1000).toISOString().split('T')[0],\n department: departments[Math.floor(Math.random() * departments.length)],\n }));\n};\n\nconst generateSales = (): Sale[] => {\n const products = ['Pro Plan', 'Basic Plan', 'Enterprise', 'Starter', 'Premium'];\n const regions = ['North America', 'Europe', 'Asia Pacific', 'Latin America'];\n const statuses: Sale['status'][] = ['completed', 'pending', 'cancelled'];\n \n return Array.from({ length: 75 }, (_, i) => ({\n id: i + 1,\n product: products[Math.floor(Math.random() * products.length)],\n customer: `Customer ${i + 1}`,\n amount: Math.floor(Math.random() * 10000) + 100,\n status: statuses[Math.floor(Math.random() * statuses.length)],\n date: new Date(2024, Math.floor(Math.random() * 12), Math.floor(Math.random() * 28) + 1).toISOString().split('T')[0],\n region: regions[Math.floor(Math.random() * regions.length)],\n salesperson: `Sales Rep ${Math.floor(Math.random() * 10) + 1}`,\n }));\n};\n\nconst generateTasks = (): Task[] => {\n const priorities: Task['priority'][] = ['low', 'medium', 'high', 'urgent'];\n const statuses: Task['status'][] = ['todo', 'in-progress', 'review', 'completed'];\n const projects = ['Website Redesign', 'Mobile App', 'API Integration', 'Dashboard', 'Marketing Campaign'];\n const tagOptions = ['frontend', 'backend', 'design', 'testing', 'documentation', 'bug', 'feature'];\n \n return Array.from({ length: 60 }, (_, i) => ({\n id: i + 1,\n title: `Task ${i + 1}: Implement feature`,\n assignee: `Developer ${Math.floor(Math.random() * 8) + 1}`,\n priority: priorities[Math.floor(Math.random() * priorities.length)],\n status: statuses[Math.floor(Math.random() * statuses.length)],\n dueDate: new Date(Date.now() + Math.floor(Math.random() * 60) * 24 * 60 * 60 * 1000).toISOString().split('T')[0],\n project: projects[Math.floor(Math.random() * projects.length)],\n tags: Array.from({ length: Math.floor(Math.random() * 3) + 1 }, () => \n tagOptions[Math.floor(Math.random() * tagOptions.length)]\n ).filter((tag, index, arr) => arr.indexOf(tag) === index),\n }));\n};\n\n// Sample data\nconst usersData = generateUsers();\nconst salesData = generateSales();\nconst tasksData = generateTasks();\n\nexport const DataTableShowcase: React.FC = () => {\n const [selectedTab, setSelectedTab] = useState<'users' | 'sales' | 'tasks'>('users');\n const [selectedRows, setSelectedRows] = useState<React.Key[]>([]);\n\n // User table columns\n const userColumns: Column<User>[] = [\n {\n key: 'user',\n title: 'User',\n dataIndex: 'name',\n sortable: true,\n filterable: true,\n filterType: 'text',\n render: (_, record) => (\n <div className=\"flex items-center space-x-3\">\n <Avatar size=\"sm\">\n <AvatarImage src={record.avatar} />\n <AvatarFallback>{record.name.split(' ').map(n => n[0]).join('')}</AvatarFallback>\n </Avatar>\n <div>\n <div className=\"font-medium text-gray-900\">{record.name}</div>\n <div className=\"text-sm text-gray-500\">{record.email}</div>\n </div>\n </div>\n ),\n },\n {\n key: 'role',\n title: 'Role',\n dataIndex: 'role',\n sortable: true,\n filterable: true,\n filterType: 'select',\n filterOptions: [\n { label: 'Admin', value: 'Admin' },\n { label: 'Manager', value: 'Manager' },\n { label: 'Developer', value: 'Developer' },\n { label: 'Designer', value: 'Designer' },\n { label: 'Analyst', value: 'Analyst' },\n ],\n },\n {\n key: 'department',\n title: 'Department',\n dataIndex: 'department',\n sortable: true,\n filterable: true,\n filterType: 'select',\n filterOptions: [\n { label: 'Engineering', value: 'Engineering' },\n { label: 'Design', value: 'Design' },\n { label: 'Marketing', value: 'Marketing' },\n { label: 'Sales', value: 'Sales' },\n { label: 'HR', value: 'HR' },\n ],\n },\n {\n key: 'status',\n title: 'Status',\n dataIndex: 'status',\n sortable: true,\n filterable: true,\n filterType: 'select',\n filterOptions: [\n { label: 'Active', value: 'active' },\n { label: 'Inactive', value: 'inactive' },\n { label: 'Pending', value: 'pending' },\n ],\n render: (status: User['status']) => (\n <Badge \n variant={\n status === 'active' ? 'success' : \n status === 'inactive' ? 'secondary' : 'warning'\n }\n >\n {status.charAt(0).toUpperCase() + status.slice(1)}\n </Badge>\n ),\n },\n {\n key: 'joinDate',\n title: 'Join Date',\n dataIndex: 'joinDate',\n sortable: true,\n filterable: true,\n filterType: 'date',\n },\n {\n key: 'actions',\n title: 'Actions',\n dataIndex: 'id',\n align: 'center',\n render: (_, record) => (\n <div className=\"flex items-center justify-center space-x-1\">\n <Button variant=\"ghost\" size=\"sm\" onClick={() => showToast.info(`View user ${record.name}`)}>\n <Eye className=\"h-4 w-4\" />\n </Button>\n <Button variant=\"ghost\" size=\"sm\" onClick={() => showToast.info(`Edit user ${record.name}`)}>\n <Edit className=\"h-4 w-4\" />\n </Button>\n <Button variant=\"ghost\" size=\"sm\" onClick={() => showToast.warning(`Delete user ${record.name}`)}>\n <Trash2 className=\"h-4 w-4 text-danger-600\" />\n </Button>\n </div>\n ),\n },\n ];\n\n // Sales table columns\n const salesColumns: Column<Sale>[] = [\n {\n key: 'product',\n title: 'Product',\n dataIndex: 'product',\n sortable: true,\n filterable: true,\n filterType: 'text',\n render: (product) => (\n <div className=\"font-medium text-gray-900\">{product}</div>\n ),\n },\n {\n key: 'customer',\n title: 'Customer',\n dataIndex: 'customer',\n sortable: true,\n filterable: true,\n filterType: 'text',\n },\n {\n key: 'amount',\n title: 'Amount',\n dataIndex: 'amount',\n sortable: true,\n filterable: true,\n filterType: 'number',\n align: 'right',\n render: (amount: number) => (\n <div className=\"flex items-center justify-end space-x-1\">\n <DollarSign className=\"h-4 w-4 text-gray-400\" />\n <span className=\"font-medium\">{amount.toLocaleString()}</span>\n </div>\n ),\n },\n {\n key: 'status',\n title: 'Status',\n dataIndex: 'status',\n sortable: true,\n filterable: true,\n filterType: 'select',\n filterOptions: [\n { label: 'Completed', value: 'completed' },\n { label: 'Pending', value: 'pending' },\n { label: 'Cancelled', value: 'cancelled' },\n ],\n render: (status: Sale['status']) => (\n <Badge \n variant={\n status === 'completed' ? 'success' : \n status === 'pending' ? 'warning' : 'danger'\n }\n >\n {status.charAt(0).toUpperCase() + status.slice(1)}\n </Badge>\n ),\n },\n {\n key: 'region',\n title: 'Region',\n dataIndex: 'region',\n sortable: true,\n filterable: true,\n filterType: 'select',\n filterOptions: [\n { label: 'North America', value: 'North America' },\n { label: 'Europe', value: 'Europe' },\n { label: 'Asia Pacific', value: 'Asia Pacific' },\n { label: 'Latin America', value: 'Latin America' },\n ],\n },\n {\n key: 'date',\n title: 'Date',\n dataIndex: 'date',\n sortable: true,\n filterable: true,\n filterType: 'date',\n },\n ];\n\n // Tasks table columns\n const taskColumns: Column<Task>[] = [\n {\n key: 'title',\n title: 'Task',\n dataIndex: 'title',\n sortable: true,\n filterable: true,\n filterType: 'text',\n render: (title, record) => (\n <div>\n <div className=\"font-medium text-gray-900\">{title}</div>\n <div className=\"text-sm text-gray-500\">{record.project}</div>\n </div>\n ),\n },\n {\n key: 'assignee',\n title: 'Assignee',\n dataIndex: 'assignee',\n sortable: true,\n filterable: true,\n filterType: 'text',\n },\n {\n key: 'priority',\n title: 'Priority',\n dataIndex: 'priority',\n sortable: true,\n filterable: true,\n filterType: 'select',\n filterOptions: [\n { label: 'Low', value: 'low' },\n { label: 'Medium', value: 'medium' },\n { label: 'High', value: 'high' },\n { label: 'Urgent', value: 'urgent' },\n ],\n render: (priority: Task['priority']) => (\n <Badge \n variant={\n priority === 'urgent' ? 'danger' :\n priority === 'high' ? 'warning' :\n priority === 'medium' ? 'secondary' : 'outline'\n }\n >\n {priority.charAt(0).toUpperCase() + priority.slice(1)}\n </Badge>\n ),\n },\n {\n key: 'status',\n title: 'Status',\n dataIndex: 'status',\n sortable: true,\n filterable: true,\n filterType: 'select',\n filterOptions: [\n { label: 'To Do', value: 'todo' },\n { label: 'In Progress', value: 'in-progress' },\n { label: 'Review', value: 'review' },\n { label: 'Completed', value: 'completed' },\n ],\n render: (status: Task['status']) => (\n <Badge \n variant={\n status === 'completed' ? 'success' :\n status === 'in-progress' ? 'warning' :\n status === 'review' ? 'secondary' : 'outline'\n }\n >\n {status.replace('-', ' ').replace(/\\b\\w/g, l => l.toUpperCase())}\n </Badge>\n ),\n },\n {\n key: 'dueDate',\n title: 'Due Date',\n dataIndex: 'dueDate',\n sortable: true,\n filterable: true,\n filterType: 'date',\n },\n {\n key: 'tags',\n title: 'Tags',\n dataIndex: 'tags',\n render: (tags: string[]) => (\n <div className=\"flex flex-wrap gap-1\">\n {tags.slice(0, 2).map(tag => (\n <Badge key={tag} variant=\"outline\" className=\"text-xs\">\n {tag}\n </Badge>\n ))}\n {tags.length > 2 && (\n <Badge variant=\"outline\" className=\"text-xs\">\n +{tags.length - 2}\n </Badge>\n )}\n </div>\n ),\n },\n ];\n\n const getCurrentData = () => {\n switch (selectedTab) {\n case 'users': return usersData;\n case 'sales': return salesData;\n case 'tasks': return tasksData;\n default: return [];\n }\n };\n\n const getCurrentColumns = () => {\n switch (selectedTab) {\n case 'users': return userColumns;\n case 'sales': return salesColumns;\n case 'tasks': return taskColumns;\n default: return [];\n }\n };\n\n return (\n <div className=\"space-y-6\">\n {/* Header */}\n <div className=\"flex items-center justify-between\">\n <div>\n <h1 className=\"text-2xl font-bold text-gray-900\">DataTable Component</h1>\n <p className=\"text-gray-600 mt-1\">\n A comprehensive table component with filtering, sorting, and pagination\n </p>\n </div>\n <div className=\"flex items-center space-x-2\">\n <Button variant=\"outline\" onClick={() => showToast.info('Export functionality')}>\n <Download className=\"h-4 w-4 mr-2\" />\n Export\n </Button>\n <Button variant=\"primary\" onClick={() => showToast.success('Add new item')}>\n <Plus className=\"h-4 w-4 mr-2\" />\n Add New\n </Button>\n </div>\n </div>\n\n {/* Tabs */}\n <div className=\"border-b border-gray-200\">\n <nav className=\"-mb-px flex space-x-8\">\n {[\n { key: 'users', label: 'Users', icon: Users },\n { key: 'sales', label: 'Sales', icon: DollarSign },\n { key: 'tasks', label: 'Tasks', icon: Calendar },\n ].map(({ key, label, icon: Icon }) => (\n <button\n key={key}\n onClick={() => setSelectedTab(key as any)}\n className={`\n flex items-center space-x-2 py-2 px-1 border-b-2 font-medium text-sm\n ${selectedTab === key\n ? 'border-primary-500 text-primary-600'\n : 'border-transparent text-gray-500 hover:text-gray-700 hover:border-gray-300'\n }\n `}\n >\n <Icon className=\"h-4 w-4\" />\n <span>{label}</span>\n </button>\n ))}\n </nav>\n </div>\n\n {/* Stats Cards */}\n <div className=\"grid grid-cols-1 md:grid-cols-4 gap-4\">\n <Card>\n <CardContent className=\"p-4\">\n <div className=\"flex items-center justify-between\">\n <div>\n <p className=\"text-sm font-medium text-gray-600\">Total Records</p>\n <p className=\"text-2xl font-bold text-gray-900\">{getCurrentData().length}</p>\n </div>\n <div className=\"p-2 bg-primary-100 rounded-lg\">\n <Users className=\"h-6 w-6 text-primary-600\" />\n </div>\n </div>\n </CardContent>\n </Card>\n \n <Card>\n <CardContent className=\"p-4\">\n <div className=\"flex items-center justify-between\">\n <div>\n <p className=\"text-sm font-medium text-gray-600\">Selected</p>\n <p className=\"text-2xl font-bold text-gray-900\">{selectedRows.length}</p>\n </div>\n <div className=\"p-2 bg-success-100 rounded-lg\">\n <Filter className=\"h-6 w-6 text-success-600\" />\n </div>\n </div>\n </CardContent>\n </Card>\n\n <Card>\n <CardContent className=\"p-4\">\n <div className=\"flex items-center justify-between\">\n <div>\n <p className=\"text-sm font-medium text-gray-600\">Active Filters</p>\n <p className=\"text-2xl font-bold text-gray-900\">0</p>\n </div>\n <div className=\"p-2 bg-warning-100 rounded-lg\">\n <Filter className=\"h-6 w-6 text-warning-600\" />\n </div>\n </div>\n </CardContent>\n </Card>\n\n <Card>\n <CardContent className=\"p-4\">\n <div className=\"flex items-center justify-between\">\n <div>\n <p className=\"text-sm font-medium text-gray-600\">Performance</p>\n <div className=\"flex items-center space-x-1\">\n <TrendingUp className=\"h-4 w-4 text-success-600\" />\n <p className=\"text-2xl font-bold text-gray-900\">Fast</p>\n </div>\n </div>\n <div className=\"p-2 bg-success-100 rounded-lg\">\n <TrendingUp className=\"h-6 w-6 text-success-600\" />\n </div>\n </div>\n </CardContent>\n </Card>\n </div>\n\n {/* DataTable */}\n <Card>\n <CardContent className=\"p-0\">\n {selectedTab === \"users\" && (\n <DataTable<User>\n columns={userColumns}\n dataSource={usersData}\n rowKey=\"id\"\n pagination={{\n current: 1,\n pageSize: 10,\n total: usersData.length,\n showSizeChanger: true,\n pageSizeOptions: [5, 10, 20, 50],\n }}\n rowSelection={{\n type: 'checkbox',\n selectedRowKeys: selectedRows,\n onChange: (keys) => {\n setSelectedRows(keys);\n showToast.info(`Selected ${keys.length} items`);\n },\n }}\n size=\"middle\"\n bordered={false}\n title={() => (\n <div className=\"flex items-center justify-between p-4 border-b border-gray-200\">\n <h3 className=\"text-lg font-semibold text-gray-900\">\n Users Data\n </h3>\n <div className=\"flex items-center space-x-2\">\n <Badge variant=\"outline\">\n {usersData.length} total\n </Badge>\n {selectedRows.length > 0 && (\n <Badge variant=\"secondary\">\n {selectedRows.length} selected\n </Badge>\n )}\n </div>\n </div>\n )}\n onChange={(pagination, filters, sorter) => {\n console.log('Table changed:', { pagination, filters, sorter });\n }}\n />\n )}\n\n {selectedTab === \"sales\" && (\n <DataTable<Sale>\n columns={salesColumns}\n dataSource={salesData}\n rowKey=\"id\"\n pagination={{\n current: 1,\n pageSize: 10,\n total: salesData.length,\n showSizeChanger: true,\n pageSizeOptions: [5, 10, 20, 50],\n }}\n rowSelection={{\n type: 'checkbox',\n selectedRowKeys: selectedRows,\n onChange: (keys) => {\n setSelectedRows(keys);\n showToast.info(`Selected ${keys.length} items`);\n },\n }}\n size=\"middle\"\n bordered={false}\n title={() => (\n <div className=\"flex items-center justify-between p-4 border-b border-gray-200\">\n <h3 className=\"text-lg font-semibold text-gray-900\">\n Sales Data\n </h3>\n <div className=\"flex items-center space-x-2\">\n <Badge variant=\"outline\">\n {salesData.length} total\n </Badge>\n {selectedRows.length > 0 && (\n <Badge variant=\"secondary\">\n {selectedRows.length} selected\n </Badge>\n )}\n </div>\n </div>\n )}\n onChange={(pagination, filters, sorter) => {\n console.log('Table changed:', { pagination, filters, sorter });\n }}\n />\n )}\n\n {selectedTab === \"tasks\" && (\n <DataTable<Task>\n columns={taskColumns}\n dataSource={tasksData}\n rowKey=\"id\"\n pagination={{\n current: 1,\n pageSize: 10,\n total: tasksData.length,\n showSizeChanger: true,\n pageSizeOptions: [5, 10, 20, 50],\n }}\n rowSelection={{\n type: 'checkbox',\n selectedRowKeys: selectedRows,\n onChange: (keys) => {\n setSelectedRows(keys);\n showToast.info(`Selected ${keys.length} items`);\n },\n }}\n size=\"middle\"\n bordered={false}\n title={() => (\n <div className=\"flex items-center justify-between p-4 border-b border-gray-200\">\n <h3 className=\"text-lg font-semibold text-gray-900\">\n Tasks Data\n </h3>\n <div className=\"flex items-center space-x-2\">\n <Badge variant=\"outline\">\n {tasksData.length} total\n </Badge>\n {selectedRows.length > 0 && (\n <Badge variant=\"secondary\">\n {selectedRows.length} selected\n </Badge>\n )}\n </div>\n </div>\n )}\n onChange={(pagination, filters, sorter) => {\n console.log('Table changed:', { pagination, filters, sorter });\n }}\n />\n )}\n </CardContent>\n </Card>\n\n {/* Documentation */}\n <Card>\n <CardHeader>\n <CardTitle>Component Features</CardTitle>\n </CardHeader>\n <CardContent className=\"space-y-4\">\n <div className=\"grid grid-cols-1 md:grid-cols-2 gap-4\">\n <div>\n <h4 className=\"font-semibold text-gray-900 mb-2\">Core Features</h4>\n <ul className=\"space-y-1 text-sm text-gray-600\">\n <li>• Sortable columns with visual indicators</li>\n <li>• Advanced filtering (text, select, date)</li>\n <li>• Pagination with configurable page sizes</li>\n <li>• Row selection (single/multiple)</li>\n <li>• Responsive design for all screen sizes</li>\n <li>• Loading and empty states</li>\n </ul>\n </div>\n <div>\n <h4 className=\"font-semibold text-gray-900 mb-2\">Advanced Features</h4>\n <ul className=\"space-y-1 text-sm text-gray-600\">\n <li>• Custom cell renderers</li>\n <li>• TypeScript support with full typing</li>\n <li>• Accessibility features (ARIA labels)</li>\n <li>• Performance optimizations</li>\n <li>• Customizable styling and themes</li>\n <li>• Export and bulk actions support</li>\n </ul>\n </div>\n </div>\n </CardContent>\n </Card>\n </div>\n );\n};"],"names":["_jsxs","_jsx","Edit"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { j as jsxRuntimeExports } from '../../_virtual/jsx-runtime.js';
1
+ import { jsx } from 'react/jsx-runtime';
2
2
  import * as React from 'react';
3
3
  import { cva } from 'class-variance-authority';
4
4
  import { cn } from '../../utils/cn.js';
@@ -22,7 +22,7 @@ const inputVariants = cva("flex w-full rounded-md border bg-white px-3 py-2 text
22
22
  },
23
23
  });
24
24
  const Input = React.forwardRef(({ className, variant, inputSize, type, ...props }, ref) => {
25
- return (jsxRuntimeExports.jsx("input", { type: type, className: cn(inputVariants({ variant, inputSize, className })), ref: ref, ...props }));
25
+ return (jsx("input", { type: type, className: cn(inputVariants({ variant, inputSize, className })), ref: ref, ...props }));
26
26
  });
27
27
  Input.displayName = "Input";
28
28
 
@@ -1 +1 @@
1
- {"version":3,"file":"Input.js","sources":["../../../src/components/Input/Input.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../../utils/cn\";\n\nconst inputVariants = cva(\n \"flex w-full rounded-md border bg-white px-3 py-2 text-sm ring-offset-white file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-gray-500 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\",\n {\n variants: {\n variant: {\n default: \"border-gray-300\",\n error: \"border-danger-500 focus-visible:ring-danger-500\",\n success: \"border-success-500 focus-visible:ring-success-500\",\n },\n inputSize: {\n sm: \"h-8 px-2 text-xs\",\n md: \"h-10 px-3\",\n lg: \"h-12 px-4 text-base\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n inputSize: \"md\",\n },\n }\n);\n\nexport interface InputProps\n extends React.InputHTMLAttributes<HTMLInputElement>,\n VariantProps<typeof inputVariants> {}\n\nconst Input = React.forwardRef<HTMLInputElement, InputProps>(\n ({ className, variant, inputSize, type, ...props }, ref) => {\n return (\n <input\n type={type}\n className={cn(inputVariants({ variant, inputSize, className }))}\n ref={ref}\n {...props}\n />\n );\n }\n);\nInput.displayName = \"Input\";\n\nexport { Input, inputVariants };"],"names":["_jsx"],"mappings":";;;;;AAIA,MAAM,aAAa,GAAG,GAAG,CACvB,iUAAiU,EACjU;AACE,IAAA,QAAQ,EAAE;AACR,QAAA,OAAO,EAAE;AACP,YAAA,OAAO,EAAE,iBAAiB;AAC1B,YAAA,KAAK,EAAE,iDAAiD;AACxD,YAAA,OAAO,EAAE,mDAAmD;AAC7D,SAAA;AACD,QAAA,SAAS,EAAE;AACT,YAAA,EAAE,EAAE,kBAAkB;AACtB,YAAA,EAAE,EAAE,WAAW;AACf,YAAA,EAAE,EAAE,qBAAqB;AAC1B,SAAA;AACF,KAAA;AACD,IAAA,eAAe,EAAE;AACf,QAAA,OAAO,EAAE,SAAS;AAClB,QAAA,SAAS,EAAE,IAAI;AAChB,KAAA;AACF,CAAA;AAOH,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAC5B,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,KAAI;AACzD,IAAA,QACEA,qBAAA,CAAA,OAAA,EAAA,EACE,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,EAC/D,GAAG,EAAE,GAAG,EAAA,GACJ,KAAK,EAAA,CACT;AAEN,CAAC;AAEH,KAAK,CAAC,WAAW,GAAG,OAAO;;;;"}
1
+ {"version":3,"file":"Input.js","sources":["../../../src/components/Input/Input.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../../utils/cn\";\n\nconst inputVariants = cva(\n \"flex w-full rounded-md border bg-white px-3 py-2 text-sm ring-offset-white file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-gray-500 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\",\n {\n variants: {\n variant: {\n default: \"border-gray-300\",\n error: \"border-danger-500 focus-visible:ring-danger-500\",\n success: \"border-success-500 focus-visible:ring-success-500\",\n },\n inputSize: {\n sm: \"h-8 px-2 text-xs\",\n md: \"h-10 px-3\",\n lg: \"h-12 px-4 text-base\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n inputSize: \"md\",\n },\n }\n);\n\nexport interface InputProps\n extends React.InputHTMLAttributes<HTMLInputElement>,\n VariantProps<typeof inputVariants> {}\n\nconst Input = React.forwardRef<HTMLInputElement, InputProps>(\n ({ className, variant, inputSize, type, ...props }, ref) => {\n return (\n <input\n type={type}\n className={cn(inputVariants({ variant, inputSize, className }))}\n ref={ref}\n {...props}\n />\n );\n }\n);\nInput.displayName = \"Input\";\n\nexport { Input, inputVariants };"],"names":["_jsx"],"mappings":";;;;;AAIA,MAAM,aAAa,GAAG,GAAG,CACvB,iUAAiU,EACjU;AACE,IAAA,QAAQ,EAAE;AACR,QAAA,OAAO,EAAE;AACP,YAAA,OAAO,EAAE,iBAAiB;AAC1B,YAAA,KAAK,EAAE,iDAAiD;AACxD,YAAA,OAAO,EAAE,mDAAmD;AAC7D,SAAA;AACD,QAAA,SAAS,EAAE;AACT,YAAA,EAAE,EAAE,kBAAkB;AACtB,YAAA,EAAE,EAAE,WAAW;AACf,YAAA,EAAE,EAAE,qBAAqB;AAC1B,SAAA;AACF,KAAA;AACD,IAAA,eAAe,EAAE;AACf,QAAA,OAAO,EAAE,SAAS;AAClB,QAAA,SAAS,EAAE,IAAI;AAChB,KAAA;AACF,CAAA;AAOH,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAC5B,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,KAAI;AACzD,IAAA,QACEA,GAAA,CAAA,OAAA,EAAA,EACE,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,EAC/D,GAAG,EAAE,GAAG,EAAA,GACJ,KAAK,EAAA,CACT;AAEN,CAAC;AAEH,KAAK,CAAC,WAAW,GAAG,OAAO;;;;"}
@@ -1,4 +1,4 @@
1
- import { j as jsxRuntimeExports } from '../../_virtual/jsx-runtime.js';
1
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
2
  import { cva } from 'class-variance-authority';
3
3
  import { cn } from '../../utils/cn.js';
4
4
  import X from '../../node_modules/lucide-react/dist/esm/icons/x.js';
@@ -23,13 +23,13 @@ const Modal = ({ open, onOpenChange, children, size, }) => {
23
23
  };
24
24
  if (!open)
25
25
  return null;
26
- return (jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [jsxRuntimeExports.jsx("div", { className: "fixed inset-0 z-50 bg-black/50 backdrop-blur-sm", onClick: handleClose }), jsxRuntimeExports.jsxs("div", { className: cn(modalVariants({ size })), children: [jsxRuntimeExports.jsxs("button", { onClick: handleClose, className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-white transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-2 disabled:pointer-events-none", children: [jsxRuntimeExports.jsx(X, { className: "h-4 w-4" }), jsxRuntimeExports.jsx("span", { className: "sr-only", children: "Close" })] }), children] })] }));
26
+ return (jsxs(Fragment, { children: [jsx("div", { className: "fixed inset-0 z-50 bg-black/50 backdrop-blur-sm", onClick: handleClose }), jsxs("div", { className: cn(modalVariants({ size })), children: [jsxs("button", { onClick: handleClose, className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-white transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-2 disabled:pointer-events-none", children: [jsx(X, { className: "h-4 w-4" }), jsx("span", { className: "sr-only", children: "Close" })] }), children] })] }));
27
27
  };
28
- const ModalHeader = ({ className, ...props }) => (jsxRuntimeExports.jsx("div", { className: cn("flex flex-col space-y-1.5 text-center sm:text-left", className), ...props }));
29
- const ModalTitle = ({ className, ...props }) => (jsxRuntimeExports.jsx("h2", { className: cn("text-lg font-semibold leading-none tracking-tight", className), ...props }));
30
- const ModalDescription = ({ className, ...props }) => (jsxRuntimeExports.jsx("p", { className: cn("text-sm text-gray-500", className), ...props }));
31
- const ModalContent = ({ className, ...props }) => (jsxRuntimeExports.jsx("div", { className: cn("grid gap-4 py-4", className), ...props }));
32
- const ModalFooter = ({ className, ...props }) => (jsxRuntimeExports.jsx("div", { className: cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", className), ...props }));
28
+ const ModalHeader = ({ className, ...props }) => (jsx("div", { className: cn("flex flex-col space-y-1.5 text-center sm:text-left", className), ...props }));
29
+ const ModalTitle = ({ className, ...props }) => (jsx("h2", { className: cn("text-lg font-semibold leading-none tracking-tight", className), ...props }));
30
+ const ModalDescription = ({ className, ...props }) => (jsx("p", { className: cn("text-sm text-gray-500", className), ...props }));
31
+ const ModalContent = ({ className, ...props }) => (jsx("div", { className: cn("grid gap-4 py-4", className), ...props }));
32
+ const ModalFooter = ({ className, ...props }) => (jsx("div", { className: cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", className), ...props }));
33
33
 
34
34
  export { Modal, ModalContent, ModalDescription, ModalFooter, ModalHeader, ModalTitle, modalVariants };
35
35
  //# sourceMappingURL=Modal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Modal.js","sources":["../../../src/components/Modal/Modal.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { X } from \"lucide-react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../../utils/cn\";\n\nconst modalVariants = cva(\n \"fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-white p-6 shadow-lg duration-200 sm:rounded-lg\",\n {\n variants: {\n size: {\n sm: \"max-w-sm\",\n md: \"max-w-lg\",\n lg: \"max-w-2xl\",\n xl: \"max-w-4xl\",\n full: \"max-w-[95vw] max-h-[95vh]\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n }\n);\n\ninterface ModalProps extends VariantProps<typeof modalVariants> {\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n children: React.ReactNode;\n}\n\nconst Modal: React.FC<ModalProps> = ({ \n open, \n onOpenChange, \n children, \n size,\n}) => {\n const handleClose = () => {\n onOpenChange?.(false);\n };\n\n if (!open) return null;\n\n return (\n <>\n {/* Backdrop */}\n <div\n className=\"fixed inset-0 z-50 bg-black/50 backdrop-blur-sm\"\n onClick={handleClose}\n />\n \n {/* Modal Content */}\n <div className={cn(modalVariants({ size }))}>\n <button\n onClick={handleClose}\n className=\"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-white transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-2 disabled:pointer-events-none\"\n >\n <X className=\"h-4 w-4\" />\n <span className=\"sr-only\">Close</span>\n </button>\n {children}\n </div>\n </>\n );\n};\n\nconst ModalHeader: React.FC<React.HTMLAttributes<HTMLDivElement>> = ({\n className,\n ...props\n}) => (\n <div\n className={cn(\n \"flex flex-col space-y-1.5 text-center sm:text-left\",\n className\n )}\n {...props}\n />\n);\n\nconst ModalTitle: React.FC<React.HTMLAttributes<HTMLHeadingElement>> = ({\n className,\n ...props\n}) => (\n <h2\n className={cn(\n \"text-lg font-semibold leading-none tracking-tight\",\n className\n )}\n {...props}\n />\n);\n\nconst ModalDescription: React.FC<React.HTMLAttributes<HTMLParagraphElement>> = ({\n className,\n ...props\n}) => (\n <p\n className={cn(\"text-sm text-gray-500\", className)}\n {...props}\n />\n);\n\nconst ModalContent: React.FC<React.HTMLAttributes<HTMLDivElement>> = ({\n className,\n ...props\n}) => (\n <div className={cn(\"grid gap-4 py-4\", className)} {...props} />\n);\n\nconst ModalFooter: React.FC<React.HTMLAttributes<HTMLDivElement>> = ({\n className,\n ...props\n}) => (\n <div\n className={cn(\n \"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2\",\n className\n )}\n {...props}\n />\n);\n\nexport {\n Modal,\n ModalHeader,\n ModalTitle,\n ModalDescription,\n ModalContent,\n ModalFooter,\n modalVariants,\n};"],"names":["_jsxs","_Fragment","_jsx"],"mappings":";;;;;AAKA,MAAM,aAAa,GAAG,GAAG,CACvB,2JAA2J,EAC3J;AACE,IAAA,QAAQ,EAAE;AACR,QAAA,IAAI,EAAE;AACJ,YAAA,EAAE,EAAE,UAAU;AACd,YAAA,EAAE,EAAE,UAAU;AACd,YAAA,EAAE,EAAE,WAAW;AACf,YAAA,EAAE,EAAE,WAAW;AACf,YAAA,IAAI,EAAE,2BAA2B;AAClC,SAAA;AACF,KAAA;AACD,IAAA,eAAe,EAAE;AACf,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACF,CAAA;AASH,MAAM,KAAK,GAAyB,CAAC,EACnC,IAAI,EACJ,YAAY,EACZ,QAAQ,EACR,IAAI,GACL,KAAI;IACH,MAAM,WAAW,GAAG,MAAK;AACvB,QAAA,YAAY,GAAG,KAAK,CAAC;AACvB,IAAA,CAAC;AAED,IAAA,IAAI,CAAC,IAAI;AAAE,QAAA,OAAO,IAAI;IAEtB,QACEA,sBAAA,CAAAC,0BAAA,EAAA,EAAA,QAAA,EAAA,CAEEC,qBAAA,CAAA,KAAA,EAAA,EACE,SAAS,EAAC,iDAAiD,EAC3D,OAAO,EAAE,WAAW,EAAA,CACpB,EAGFF,gCAAK,SAAS,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAA,QAAA,EAAA,CACzCA,sBAAA,CAAA,QAAA,EAAA,EACE,OAAO,EAAE,WAAW,EACpB,SAAS,EAAC,6MAA6M,aAEvNE,qBAAA,CAAC,CAAC,EAAA,EAAC,SAAS,EAAC,SAAS,GAAG,EACzBA,qBAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,SAAS,EAAA,QAAA,EAAA,OAAA,EAAA,CAAa,CAAA,EAAA,CAC/B,EACR,QAAQ,CAAA,EAAA,CACL,CAAA,EAAA,CACL;AAEP;AAEA,MAAM,WAAW,GAAmD,CAAC,EACnE,SAAS,EACT,GAAG,KAAK,EACT,MACCA,+BACE,SAAS,EAAE,EAAE,CACX,oDAAoD,EACpD,SAAS,CACV,EAAA,GACG,KAAK,EAAA,CACT;AAGJ,MAAM,UAAU,GAAuD,CAAC,EACtE,SAAS,EACT,GAAG,KAAK,EACT,MACCA,8BACE,SAAS,EAAE,EAAE,CACX,mDAAmD,EACnD,SAAS,CACV,EAAA,GACG,KAAK,EAAA,CACT;AAGJ,MAAM,gBAAgB,GAAyD,CAAC,EAC9E,SAAS,EACT,GAAG,KAAK,EACT,MACCA,6BACE,SAAS,EAAE,EAAE,CAAC,uBAAuB,EAAE,SAAS,CAAC,EAAA,GAC7C,KAAK,EAAA,CACT;AAGJ,MAAM,YAAY,GAAmD,CAAC,EACpE,SAAS,EACT,GAAG,KAAK,EACT,MACCA,+BAAK,SAAS,EAAE,EAAE,CAAC,iBAAiB,EAAE,SAAS,CAAC,EAAA,GAAM,KAAK,EAAA,CAAI;AAGjE,MAAM,WAAW,GAAmD,CAAC,EACnE,SAAS,EACT,GAAG,KAAK,EACT,MACCA,+BACE,SAAS,EAAE,EAAE,CACX,+DAA+D,EAC/D,SAAS,CACV,EAAA,GACG,KAAK,EAAA,CACT;;;;"}
1
+ {"version":3,"file":"Modal.js","sources":["../../../src/components/Modal/Modal.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { X } from \"lucide-react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../../utils/cn\";\n\nconst modalVariants = cva(\n \"fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-white p-6 shadow-lg duration-200 sm:rounded-lg\",\n {\n variants: {\n size: {\n sm: \"max-w-sm\",\n md: \"max-w-lg\",\n lg: \"max-w-2xl\",\n xl: \"max-w-4xl\",\n full: \"max-w-[95vw] max-h-[95vh]\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n }\n);\n\ninterface ModalProps extends VariantProps<typeof modalVariants> {\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n children: React.ReactNode;\n}\n\nconst Modal: React.FC<ModalProps> = ({ \n open, \n onOpenChange, \n children, \n size,\n}) => {\n const handleClose = () => {\n onOpenChange?.(false);\n };\n\n if (!open) return null;\n\n return (\n <>\n {/* Backdrop */}\n <div\n className=\"fixed inset-0 z-50 bg-black/50 backdrop-blur-sm\"\n onClick={handleClose}\n />\n \n {/* Modal Content */}\n <div className={cn(modalVariants({ size }))}>\n <button\n onClick={handleClose}\n className=\"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-white transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-2 disabled:pointer-events-none\"\n >\n <X className=\"h-4 w-4\" />\n <span className=\"sr-only\">Close</span>\n </button>\n {children}\n </div>\n </>\n );\n};\n\nconst ModalHeader: React.FC<React.HTMLAttributes<HTMLDivElement>> = ({\n className,\n ...props\n}) => (\n <div\n className={cn(\n \"flex flex-col space-y-1.5 text-center sm:text-left\",\n className\n )}\n {...props}\n />\n);\n\nconst ModalTitle: React.FC<React.HTMLAttributes<HTMLHeadingElement>> = ({\n className,\n ...props\n}) => (\n <h2\n className={cn(\n \"text-lg font-semibold leading-none tracking-tight\",\n className\n )}\n {...props}\n />\n);\n\nconst ModalDescription: React.FC<React.HTMLAttributes<HTMLParagraphElement>> = ({\n className,\n ...props\n}) => (\n <p\n className={cn(\"text-sm text-gray-500\", className)}\n {...props}\n />\n);\n\nconst ModalContent: React.FC<React.HTMLAttributes<HTMLDivElement>> = ({\n className,\n ...props\n}) => (\n <div className={cn(\"grid gap-4 py-4\", className)} {...props} />\n);\n\nconst ModalFooter: React.FC<React.HTMLAttributes<HTMLDivElement>> = ({\n className,\n ...props\n}) => (\n <div\n className={cn(\n \"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2\",\n className\n )}\n {...props}\n />\n);\n\nexport {\n Modal,\n ModalHeader,\n ModalTitle,\n ModalDescription,\n ModalContent,\n ModalFooter,\n modalVariants,\n};"],"names":["_jsxs","_Fragment","_jsx"],"mappings":";;;;;AAKA,MAAM,aAAa,GAAG,GAAG,CACvB,2JAA2J,EAC3J;AACE,IAAA,QAAQ,EAAE;AACR,QAAA,IAAI,EAAE;AACJ,YAAA,EAAE,EAAE,UAAU;AACd,YAAA,EAAE,EAAE,UAAU;AACd,YAAA,EAAE,EAAE,WAAW;AACf,YAAA,EAAE,EAAE,WAAW;AACf,YAAA,IAAI,EAAE,2BAA2B;AAClC,SAAA;AACF,KAAA;AACD,IAAA,eAAe,EAAE;AACf,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACF,CAAA;AASH,MAAM,KAAK,GAAyB,CAAC,EACnC,IAAI,EACJ,YAAY,EACZ,QAAQ,EACR,IAAI,GACL,KAAI;IACH,MAAM,WAAW,GAAG,MAAK;AACvB,QAAA,YAAY,GAAG,KAAK,CAAC;AACvB,IAAA,CAAC;AAED,IAAA,IAAI,CAAC,IAAI;AAAE,QAAA,OAAO,IAAI;IAEtB,QACEA,IAAA,CAAAC,QAAA,EAAA,EAAA,QAAA,EAAA,CAEEC,GAAA,CAAA,KAAA,EAAA,EACE,SAAS,EAAC,iDAAiD,EAC3D,OAAO,EAAE,WAAW,EAAA,CACpB,EAGFF,cAAK,SAAS,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAA,QAAA,EAAA,CACzCA,IAAA,CAAA,QAAA,EAAA,EACE,OAAO,EAAE,WAAW,EACpB,SAAS,EAAC,6MAA6M,aAEvNE,GAAA,CAAC,CAAC,EAAA,EAAC,SAAS,EAAC,SAAS,GAAG,EACzBA,GAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,SAAS,EAAA,QAAA,EAAA,OAAA,EAAA,CAAa,CAAA,EAAA,CAC/B,EACR,QAAQ,CAAA,EAAA,CACL,CAAA,EAAA,CACL;AAEP;AAEA,MAAM,WAAW,GAAmD,CAAC,EACnE,SAAS,EACT,GAAG,KAAK,EACT,MACCA,aACE,SAAS,EAAE,EAAE,CACX,oDAAoD,EACpD,SAAS,CACV,EAAA,GACG,KAAK,EAAA,CACT;AAGJ,MAAM,UAAU,GAAuD,CAAC,EACtE,SAAS,EACT,GAAG,KAAK,EACT,MACCA,YACE,SAAS,EAAE,EAAE,CACX,mDAAmD,EACnD,SAAS,CACV,EAAA,GACG,KAAK,EAAA,CACT;AAGJ,MAAM,gBAAgB,GAAyD,CAAC,EAC9E,SAAS,EACT,GAAG,KAAK,EACT,MACCA,WACE,SAAS,EAAE,EAAE,CAAC,uBAAuB,EAAE,SAAS,CAAC,EAAA,GAC7C,KAAK,EAAA,CACT;AAGJ,MAAM,YAAY,GAAmD,CAAC,EACpE,SAAS,EACT,GAAG,KAAK,EACT,MACCA,aAAK,SAAS,EAAE,EAAE,CAAC,iBAAiB,EAAE,SAAS,CAAC,EAAA,GAAM,KAAK,EAAA,CAAI;AAGjE,MAAM,WAAW,GAAmD,CAAC,EACnE,SAAS,EACT,GAAG,KAAK,EACT,MACCA,aACE,SAAS,EAAE,EAAE,CACX,+DAA+D,EAC/D,SAAS,CACV,EAAA,GACG,KAAK,EAAA,CACT;;;;"}
@@ -1,4 +1,4 @@
1
- import { j as jsxRuntimeExports } from '../../_virtual/jsx-runtime.js';
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import * as React from 'react';
3
3
  import { cva } from 'class-variance-authority';
4
4
  import { cn } from '../../utils/cn.js';
@@ -25,10 +25,10 @@ const navbarVariants = cva("flex items-center justify-between w-full px-4 py-3 b
25
25
  });
26
26
  const Navbar = React.forwardRef(({ className, variant, size, logo, children, ...props }, ref) => {
27
27
  const [isOpen, setIsOpen] = React.useState(false);
28
- return (jsxRuntimeExports.jsxs("nav", { ref: ref, className: cn(navbarVariants({ variant, size }), className), ...props, children: [jsxRuntimeExports.jsxs("div", { className: "flex items-center justify-between w-full", children: [logo && jsxRuntimeExports.jsx("div", { className: "flex-shrink-0", children: logo }), jsxRuntimeExports.jsx("div", { className: "hidden md:flex items-center space-x-4 ml-auto", children: children }), jsxRuntimeExports.jsx("button", { className: "md:hidden p-2 rounded-md hover:bg-gray-100", onClick: () => setIsOpen(!isOpen), children: isOpen ? jsxRuntimeExports.jsx(X, { className: "h-6 w-6" }) : jsxRuntimeExports.jsx(Menu, { className: "h-6 w-6" }) })] }), isOpen && (jsxRuntimeExports.jsx("div", { className: "md:hidden absolute top-full left-0 right-0 bg-white border-b border-gray-200 shadow-lg z-50", children: jsxRuntimeExports.jsx("div", { className: "px-4 py-2 space-y-2", children: children }) }))] }));
28
+ return (jsxs("nav", { ref: ref, className: cn(navbarVariants({ variant, size }), className), ...props, children: [jsxs("div", { className: "flex items-center justify-between w-full", children: [logo && jsx("div", { className: "flex-shrink-0", children: logo }), jsx("div", { className: "hidden md:flex items-center space-x-4 ml-auto", children: children }), jsx("button", { className: "md:hidden p-2 rounded-md hover:bg-gray-100", onClick: () => setIsOpen(!isOpen), children: isOpen ? jsx(X, { className: "h-6 w-6" }) : jsx(Menu, { className: "h-6 w-6" }) })] }), isOpen && (jsx("div", { className: "md:hidden absolute top-full left-0 right-0 bg-white border-b border-gray-200 shadow-lg z-50", children: jsx("div", { className: "px-4 py-2 space-y-2", children: children }) }))] }));
29
29
  });
30
30
  Navbar.displayName = "Navbar";
31
- const NavItem = React.forwardRef(({ className, ...props }, ref) => (jsxRuntimeExports.jsx("a", { ref: ref, className: cn("text-gray-700 hover:text-primary-600 px-3 py-2 rounded-md text-sm font-medium transition-colors", className), ...props })));
31
+ const NavItem = React.forwardRef(({ className, ...props }, ref) => (jsx("a", { ref: ref, className: cn("text-gray-700 hover:text-primary-600 px-3 py-2 rounded-md text-sm font-medium transition-colors", className), ...props })));
32
32
  NavItem.displayName = "NavItem";
33
33
 
34
34
  export { NavItem, Navbar, navbarVariants };
@@ -1 +1 @@
1
- {"version":3,"file":"Navbar.js","sources":["../../../src/components/Navbar/Navbar.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { Menu, X } from \"lucide-react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../../utils/cn\";\n\nconst navbarVariants = cva(\n \"flex items-center justify-between w-full px-4 py-3 bg-white border-b border-gray-200\",\n {\n variants: {\n variant: {\n default: \"bg-white border-gray-200\",\n dark: \"bg-gray-900 border-gray-700 text-white\",\n transparent: \"bg-transparent border-transparent\",\n },\n size: {\n sm: \"px-4 py-2\",\n md: \"px-6 py-3\",\n lg: \"px-8 py-4\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"md\",\n },\n }\n);\n\nexport interface NavbarProps\n extends React.HTMLAttributes<HTMLElement>,\n VariantProps<typeof navbarVariants> {\n logo?: React.ReactNode;\n children?: React.ReactNode;\n}\n\nconst Navbar = React.forwardRef<HTMLElement, NavbarProps>(\n ({ className, variant, size, logo, children, ...props }, ref) => {\n const [isOpen, setIsOpen] = React.useState(false);\n\n return (\n <nav\n ref={ref}\n className={cn(navbarVariants({ variant, size }), className)}\n {...props}\n >\n <div className=\"flex items-center justify-between w-full\">\n {/* Logo */}\n {logo && <div className=\"flex-shrink-0\">{logo}</div>}\n\n {/* Desktop Navigation */}\n <div className=\"hidden md:flex items-center space-x-4 ml-auto\">\n {children}\n </div>\n\n {/* Mobile Menu Button */}\n <button\n className=\"md:hidden p-2 rounded-md hover:bg-gray-100\"\n onClick={() => setIsOpen(!isOpen)}\n >\n {isOpen ? <X className=\"h-6 w-6\" /> : <Menu className=\"h-6 w-6\" />}\n </button>\n </div>\n\n {/* Mobile Navigation */}\n {isOpen && (\n <div className=\"md:hidden absolute top-full left-0 right-0 bg-white border-b border-gray-200 shadow-lg z-50\">\n <div className=\"px-4 py-2 space-y-2\">\n {children}\n </div>\n </div>\n )}\n </nav>\n );\n }\n);\nNavbar.displayName = \"Navbar\";\n\nconst NavItem = React.forwardRef<\n HTMLAnchorElement,\n React.AnchorHTMLAttributes<HTMLAnchorElement>\n>(({ className, ...props }, ref) => (\n <a\n ref={ref}\n className={cn(\n \"text-gray-700 hover:text-primary-600 px-3 py-2 rounded-md text-sm font-medium transition-colors\",\n className\n )}\n {...props}\n />\n));\nNavItem.displayName = \"NavItem\";\n\nexport { Navbar, NavItem, navbarVariants };"],"names":["_jsxs","_jsx"],"mappings":";;;;;;;AAKA,MAAM,cAAc,GAAG,GAAG,CACxB,sFAAsF,EACtF;AACE,IAAA,QAAQ,EAAE;AACR,QAAA,OAAO,EAAE;AACP,YAAA,OAAO,EAAE,0BAA0B;AACnC,YAAA,IAAI,EAAE,wCAAwC;AAC9C,YAAA,WAAW,EAAE,mCAAmC;AACjD,SAAA;AACD,QAAA,IAAI,EAAE;AACJ,YAAA,EAAE,EAAE,WAAW;AACf,YAAA,EAAE,EAAE,WAAW;AACf,YAAA,EAAE,EAAE,WAAW;AAChB,SAAA;AACF,KAAA;AACD,IAAA,eAAe,EAAE;AACf,QAAA,OAAO,EAAE,SAAS;AAClB,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACF,CAAA;AAUH,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAC7B,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,KAAI;AAC9D,IAAA,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;IAEjD,QACEA,gCACE,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,CAAC,EAAA,GACvD,KAAK,EAAA,QAAA,EAAA,CAETA,sBAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,0CAA0C,EAAA,QAAA,EAAA,CAEtD,IAAI,IAAIC,qBAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,eAAe,EAAA,QAAA,EAAE,IAAI,EAAA,CAAO,EAGpDA,+BAAK,SAAS,EAAC,+CAA+C,EAAA,QAAA,EAC3D,QAAQ,EAAA,CACL,EAGNA,qBAAA,CAAA,QAAA,EAAA,EACE,SAAS,EAAC,4CAA4C,EACtD,OAAO,EAAE,MAAM,SAAS,CAAC,CAAC,MAAM,CAAC,EAAA,QAAA,EAEhC,MAAM,GAAGA,qBAAA,CAAC,CAAC,EAAA,EAAC,SAAS,EAAC,SAAS,GAAG,GAAGA,qBAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,SAAS,EAAA,CAAG,EAAA,CAC3D,CAAA,EAAA,CACL,EAGL,MAAM,KACLA,qBAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,6FAA6F,YAC1GA,qBAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,qBAAqB,EAAA,QAAA,EACjC,QAAQ,GACL,EAAA,CACF,CACP,CAAA,EAAA,CACG;AAEV,CAAC;AAEH,MAAM,CAAC,WAAW,GAAG,QAAQ;AAE7B,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAG9B,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MAC7BA,qBAAA,CAAA,GAAA,EAAA,EACE,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACX,iGAAiG,EACjG,SAAS,CACV,EAAA,GACG,KAAK,EAAA,CACT,CACH;AACD,OAAO,CAAC,WAAW,GAAG,SAAS;;;;"}
1
+ {"version":3,"file":"Navbar.js","sources":["../../../src/components/Navbar/Navbar.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { Menu, X } from \"lucide-react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../../utils/cn\";\n\nconst navbarVariants = cva(\n \"flex items-center justify-between w-full px-4 py-3 bg-white border-b border-gray-200\",\n {\n variants: {\n variant: {\n default: \"bg-white border-gray-200\",\n dark: \"bg-gray-900 border-gray-700 text-white\",\n transparent: \"bg-transparent border-transparent\",\n },\n size: {\n sm: \"px-4 py-2\",\n md: \"px-6 py-3\",\n lg: \"px-8 py-4\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"md\",\n },\n }\n);\n\nexport interface NavbarProps\n extends React.HTMLAttributes<HTMLElement>,\n VariantProps<typeof navbarVariants> {\n logo?: React.ReactNode;\n children?: React.ReactNode;\n}\n\nconst Navbar = React.forwardRef<HTMLElement, NavbarProps>(\n ({ className, variant, size, logo, children, ...props }, ref) => {\n const [isOpen, setIsOpen] = React.useState(false);\n\n return (\n <nav\n ref={ref}\n className={cn(navbarVariants({ variant, size }), className)}\n {...props}\n >\n <div className=\"flex items-center justify-between w-full\">\n {/* Logo */}\n {logo && <div className=\"flex-shrink-0\">{logo}</div>}\n\n {/* Desktop Navigation */}\n <div className=\"hidden md:flex items-center space-x-4 ml-auto\">\n {children}\n </div>\n\n {/* Mobile Menu Button */}\n <button\n className=\"md:hidden p-2 rounded-md hover:bg-gray-100\"\n onClick={() => setIsOpen(!isOpen)}\n >\n {isOpen ? <X className=\"h-6 w-6\" /> : <Menu className=\"h-6 w-6\" />}\n </button>\n </div>\n\n {/* Mobile Navigation */}\n {isOpen && (\n <div className=\"md:hidden absolute top-full left-0 right-0 bg-white border-b border-gray-200 shadow-lg z-50\">\n <div className=\"px-4 py-2 space-y-2\">\n {children}\n </div>\n </div>\n )}\n </nav>\n );\n }\n);\nNavbar.displayName = \"Navbar\";\n\nconst NavItem = React.forwardRef<\n HTMLAnchorElement,\n React.AnchorHTMLAttributes<HTMLAnchorElement>\n>(({ className, ...props }, ref) => (\n <a\n ref={ref}\n className={cn(\n \"text-gray-700 hover:text-primary-600 px-3 py-2 rounded-md text-sm font-medium transition-colors\",\n className\n )}\n {...props}\n />\n));\nNavItem.displayName = \"NavItem\";\n\nexport { Navbar, NavItem, navbarVariants };"],"names":["_jsxs","_jsx"],"mappings":";;;;;;;AAKA,MAAM,cAAc,GAAG,GAAG,CACxB,sFAAsF,EACtF;AACE,IAAA,QAAQ,EAAE;AACR,QAAA,OAAO,EAAE;AACP,YAAA,OAAO,EAAE,0BAA0B;AACnC,YAAA,IAAI,EAAE,wCAAwC;AAC9C,YAAA,WAAW,EAAE,mCAAmC;AACjD,SAAA;AACD,QAAA,IAAI,EAAE;AACJ,YAAA,EAAE,EAAE,WAAW;AACf,YAAA,EAAE,EAAE,WAAW;AACf,YAAA,EAAE,EAAE,WAAW;AAChB,SAAA;AACF,KAAA;AACD,IAAA,eAAe,EAAE;AACf,QAAA,OAAO,EAAE,SAAS;AAClB,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACF,CAAA;AAUH,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAC7B,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,KAAI;AAC9D,IAAA,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;IAEjD,QACEA,cACE,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,CAAC,EAAA,GACvD,KAAK,EAAA,QAAA,EAAA,CAETA,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,0CAA0C,EAAA,QAAA,EAAA,CAEtD,IAAI,IAAIC,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,eAAe,EAAA,QAAA,EAAE,IAAI,EAAA,CAAO,EAGpDA,aAAK,SAAS,EAAC,+CAA+C,EAAA,QAAA,EAC3D,QAAQ,EAAA,CACL,EAGNA,GAAA,CAAA,QAAA,EAAA,EACE,SAAS,EAAC,4CAA4C,EACtD,OAAO,EAAE,MAAM,SAAS,CAAC,CAAC,MAAM,CAAC,EAAA,QAAA,EAEhC,MAAM,GAAGA,GAAA,CAAC,CAAC,EAAA,EAAC,SAAS,EAAC,SAAS,GAAG,GAAGA,GAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,SAAS,EAAA,CAAG,EAAA,CAC3D,CAAA,EAAA,CACL,EAGL,MAAM,KACLA,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,6FAA6F,YAC1GA,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,qBAAqB,EAAA,QAAA,EACjC,QAAQ,GACL,EAAA,CACF,CACP,CAAA,EAAA,CACG;AAEV,CAAC;AAEH,MAAM,CAAC,WAAW,GAAG,QAAQ;AAE7B,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAG9B,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MAC7BA,GAAA,CAAA,GAAA,EAAA,EACE,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACX,iGAAiG,EACjG,SAAS,CACV,EAAA,GACG,KAAK,EAAA,CACT,CACH;AACD,OAAO,CAAC,WAAW,GAAG,SAAS;;;;"}
@@ -1,4 +1,4 @@
1
- import { j as jsxRuntimeExports } from '../../_virtual/jsx-runtime.js';
1
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
2
  import * as React from 'react';
3
3
  import { cva } from 'class-variance-authority';
4
4
  import { cn } from '../../utils/cn.js';
@@ -49,54 +49,54 @@ const defaultMenuItems = [
49
49
  {
50
50
  id: "dashboard",
51
51
  label: "Dashboard",
52
- icon: jsxRuntimeExports.jsx(Home, { className: "h-5 w-5" }),
52
+ icon: jsx(Home, { className: "h-5 w-5" }),
53
53
  href: "/dashboard",
54
54
  },
55
55
  {
56
56
  id: "analytics",
57
57
  label: "Analytics",
58
- icon: jsxRuntimeExports.jsx(BarChart3, { className: "h-5 w-5" }),
58
+ icon: jsx(BarChart3, { className: "h-5 w-5" }),
59
59
  href: "/analytics",
60
60
  badge: "New",
61
61
  },
62
62
  {
63
63
  id: "users",
64
64
  label: "Users",
65
- icon: jsxRuntimeExports.jsx(Users, { className: "h-5 w-5" }),
65
+ icon: jsx(Users, { className: "h-5 w-5" }),
66
66
  children: [
67
- { id: "all-users", label: "All Users", icon: jsxRuntimeExports.jsx(Users, { className: "h-4 w-4" }) },
68
- { id: "user-roles", label: "User Roles", icon: jsxRuntimeExports.jsx(Settings, { className: "h-4 w-4" }) },
67
+ { id: "all-users", label: "All Users", icon: jsx(Users, { className: "h-4 w-4" }) },
68
+ { id: "user-roles", label: "User Roles", icon: jsx(Settings, { className: "h-4 w-4" }) },
69
69
  ],
70
70
  },
71
71
  {
72
72
  id: "reports",
73
73
  label: "Reports",
74
- icon: jsxRuntimeExports.jsx(FileText, { className: "h-5 w-5" }),
74
+ icon: jsx(FileText, { className: "h-5 w-5" }),
75
75
  href: "/reports",
76
76
  },
77
77
  {
78
78
  id: "calendar",
79
79
  label: "Calendar",
80
- icon: jsxRuntimeExports.jsx(Calendar, { className: "h-5 w-5" }),
80
+ icon: jsx(Calendar, { className: "h-5 w-5" }),
81
81
  href: "/calendar",
82
82
  },
83
83
  {
84
84
  id: "messages",
85
85
  label: "Messages",
86
- icon: jsxRuntimeExports.jsx(Mail, { className: "h-5 w-5" }),
86
+ icon: jsx(Mail, { className: "h-5 w-5" }),
87
87
  href: "/messages",
88
88
  badge: "3",
89
89
  },
90
90
  {
91
91
  id: "notifications",
92
92
  label: "Notifications",
93
- icon: jsxRuntimeExports.jsx(Bell, { className: "h-5 w-5" }),
93
+ icon: jsx(Bell, { className: "h-5 w-5" }),
94
94
  href: "/notifications",
95
95
  },
96
96
  {
97
97
  id: "settings",
98
98
  label: "Settings",
99
- icon: jsxRuntimeExports.jsx(Settings, { className: "h-5 w-5" }),
99
+ icon: jsx(Settings, { className: "h-5 w-5" }),
100
100
  href: "/settings",
101
101
  },
102
102
  ];
@@ -119,9 +119,9 @@ const Sidebar = React.forwardRef(({ className, collapsed = false, onToggle, menu
119
119
  const isActive = activeItem === item.id;
120
120
  const isExpanded = expandedItems.includes(item.id);
121
121
  const hasChildren = item.children && item.children.length > 0;
122
- return (jsxRuntimeExports.jsxs("div", { children: [jsxRuntimeExports.jsx("button", { onClick: () => handleItemClick(item), className: cn(menuItemVariants({ active: isActive, collapsed }), level > 0 && "ml-4 pl-8", "relative"), children: jsxRuntimeExports.jsxs("div", { className: "flex items-center min-w-0 flex-1", children: [jsxRuntimeExports.jsx("div", { className: "flex-shrink-0", children: item.icon }), !collapsed && (jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [jsxRuntimeExports.jsx("span", { className: "ml-3 truncate", children: item.label }), item.badge && (jsxRuntimeExports.jsx(Badge, { variant: "danger", className: "ml-auto text-xs", children: item.badge })), hasChildren && (jsxRuntimeExports.jsx(ChevronDown, { className: cn("ml-auto h-4 w-4 transition-transform duration-200", isExpanded && "rotate-180") }))] }))] }) }), hasChildren && !collapsed && isExpanded && (jsxRuntimeExports.jsx("div", { className: "mt-1 space-y-1", children: item.children?.map(child => renderMenuItem(child, level + 1)) }))] }, item.id));
122
+ return (jsxs("div", { children: [jsx("button", { onClick: () => handleItemClick(item), className: cn(menuItemVariants({ active: isActive, collapsed }), level > 0 && "ml-4 pl-8", "relative"), children: jsxs("div", { className: "flex items-center min-w-0 flex-1", children: [jsx("div", { className: "flex-shrink-0", children: item.icon }), !collapsed && (jsxs(Fragment, { children: [jsx("span", { className: "ml-3 truncate", children: item.label }), item.badge && (jsx(Badge, { variant: "danger", className: "ml-auto text-xs", children: item.badge })), hasChildren && (jsx(ChevronDown, { className: cn("ml-auto h-4 w-4 transition-transform duration-200", isExpanded && "rotate-180") }))] }))] }) }), hasChildren && !collapsed && isExpanded && (jsx("div", { className: "mt-1 space-y-1", children: item.children?.map(child => renderMenuItem(child, level + 1)) }))] }, item.id));
123
123
  };
124
- return (jsxRuntimeExports.jsxs("div", { ref: ref, className: cn(sidebarVariants({ collapsed }), className), ...props, children: [jsxRuntimeExports.jsxs("div", { className: "flex items-center justify-between p-4 border-b border-gray-200", children: [!collapsed && (jsxRuntimeExports.jsxs("div", { className: "flex items-center space-x-2", children: [jsxRuntimeExports.jsx("div", { className: "w-8 h-8 bg-primary-600 rounded-lg flex items-center justify-center", children: jsxRuntimeExports.jsx("span", { className: "text-white font-bold text-sm", children: "B" }) }), jsxRuntimeExports.jsx("span", { className: "font-bold text-xl text-gray-900", children: "Beyond" })] })), jsxRuntimeExports.jsx("button", { onClick: onToggle, className: "p-1.5 rounded-lg hover:bg-gray-100 transition-colors", children: collapsed ? (jsxRuntimeExports.jsx(ChevronRight, { className: "h-4 w-4 text-gray-600" })) : (jsxRuntimeExports.jsx(ChevronLeft, { className: "h-4 w-4 text-gray-600" })) })] }), jsxRuntimeExports.jsx("nav", { className: "flex-1 px-4 py-6 space-y-2 overflow-y-auto", children: menuItems.map(item => renderMenuItem(item)) }), jsxRuntimeExports.jsx("div", { className: "border-t border-gray-200 p-4", children: collapsed ? (jsxRuntimeExports.jsx("div", { className: "flex justify-center", children: jsxRuntimeExports.jsxs(Avatar, { size: "sm", children: [jsxRuntimeExports.jsx(AvatarImage, { src: "https://images.pexels.com/photos/774909/pexels-photo-774909.jpeg?auto=compress&cs=tinysrgb&w=64" }), jsxRuntimeExports.jsx(AvatarFallback, { children: "JD" })] }) })) : (jsxRuntimeExports.jsxs("div", { className: "space-y-3", children: [jsxRuntimeExports.jsxs("div", { className: "flex items-center space-x-3", children: [jsxRuntimeExports.jsxs(Avatar, { size: "sm", children: [jsxRuntimeExports.jsx(AvatarImage, { src: "https://images.pexels.com/photos/774909/pexels-photo-774909.jpeg?auto=compress&cs=tinysrgb&w=64" }), jsxRuntimeExports.jsx(AvatarFallback, { children: "JD" })] }), jsxRuntimeExports.jsxs("div", { className: "flex-1 min-w-0", children: [jsxRuntimeExports.jsx("p", { className: "text-sm font-medium text-gray-900 truncate", children: "John Doe" }), jsxRuntimeExports.jsx("p", { className: "text-xs text-gray-500 truncate", children: "john@company.com" })] })] }), jsxRuntimeExports.jsxs("div", { className: "flex space-x-2", children: [jsxRuntimeExports.jsxs("button", { className: "flex-1 flex items-center justify-center px-3 py-2 text-xs font-medium text-gray-700 bg-gray-50 rounded-lg hover:bg-gray-100 transition-colors", children: [jsxRuntimeExports.jsx(User, { className: "h-3 w-3 mr-1" }), "Profile"] }), jsxRuntimeExports.jsxs("button", { className: "flex-1 flex items-center justify-center px-3 py-2 text-xs font-medium text-gray-700 bg-gray-50 rounded-lg hover:bg-gray-100 transition-colors", children: [jsxRuntimeExports.jsx(LogOut, { className: "h-3 w-3 mr-1" }), "Logout"] })] })] })) })] }));
124
+ return (jsxs("div", { ref: ref, className: cn(sidebarVariants({ collapsed }), className), ...props, children: [jsxs("div", { className: "flex items-center justify-between p-4 border-b border-gray-200", children: [!collapsed && (jsxs("div", { className: "flex items-center space-x-2", children: [jsx("div", { className: "w-8 h-8 bg-primary-600 rounded-lg flex items-center justify-center", children: jsx("span", { className: "text-white font-bold text-sm", children: "B" }) }), jsx("span", { className: "font-bold text-xl text-gray-900", children: "Beyond" })] })), jsx("button", { onClick: onToggle, className: "p-1.5 rounded-lg hover:bg-gray-100 transition-colors", children: collapsed ? (jsx(ChevronRight, { className: "h-4 w-4 text-gray-600" })) : (jsx(ChevronLeft, { className: "h-4 w-4 text-gray-600" })) })] }), jsx("nav", { className: "flex-1 px-4 py-6 space-y-2 overflow-y-auto", children: menuItems.map(item => renderMenuItem(item)) }), jsx("div", { className: "border-t border-gray-200 p-4", children: collapsed ? (jsx("div", { className: "flex justify-center", children: jsxs(Avatar, { size: "sm", children: [jsx(AvatarImage, { src: "https://images.pexels.com/photos/774909/pexels-photo-774909.jpeg?auto=compress&cs=tinysrgb&w=64" }), jsx(AvatarFallback, { children: "JD" })] }) })) : (jsxs("div", { className: "space-y-3", children: [jsxs("div", { className: "flex items-center space-x-3", children: [jsxs(Avatar, { size: "sm", children: [jsx(AvatarImage, { src: "https://images.pexels.com/photos/774909/pexels-photo-774909.jpeg?auto=compress&cs=tinysrgb&w=64" }), jsx(AvatarFallback, { children: "JD" })] }), jsxs("div", { className: "flex-1 min-w-0", children: [jsx("p", { className: "text-sm font-medium text-gray-900 truncate", children: "John Doe" }), jsx("p", { className: "text-xs text-gray-500 truncate", children: "john@company.com" })] })] }), jsxs("div", { className: "flex space-x-2", children: [jsxs("button", { className: "flex-1 flex items-center justify-center px-3 py-2 text-xs font-medium text-gray-700 bg-gray-50 rounded-lg hover:bg-gray-100 transition-colors", children: [jsx(User, { className: "h-3 w-3 mr-1" }), "Profile"] }), jsxs("button", { className: "flex-1 flex items-center justify-center px-3 py-2 text-xs font-medium text-gray-700 bg-gray-50 rounded-lg hover:bg-gray-100 transition-colors", children: [jsx(LogOut, { className: "h-3 w-3 mr-1" }), "Logout"] })] })] })) })] }));
125
125
  });
126
126
  Sidebar.displayName = "Sidebar";
127
127
 
@@ -1 +1 @@
1
- {"version":3,"file":"Sidebar.js","sources":["../../../src/components/Sidebar/Sidebar.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { \n ChevronLeft, \n ChevronRight, \n ChevronDown, \n Home, \n BarChart3, \n Users, \n Settings, \n FileText, \n Calendar, \n Mail, \n Bell,\n LogOut,\n User\n} from \"lucide-react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../../utils/cn\";\nimport { Avatar, AvatarImage, AvatarFallback } from \"../Avatar\";\nimport { Badge } from \"../Badge\";\n\nconst sidebarVariants = cva(\n \"fixed left-0 top-0 z-40 h-screen bg-white border-r border-gray-200 transition-all duration-300 ease-in-out\",\n {\n variants: {\n collapsed: {\n false: \"w-72\",\n true: \"w-16\",\n },\n },\n defaultVariants: {\n collapsed: false,\n },\n }\n);\n\nconst menuItemVariants = cva(\n \"flex items-center w-full px-3 py-2.5 text-sm font-medium rounded-lg transition-all duration-200 group\",\n {\n variants: {\n active: {\n true: \"bg-primary-50 text-primary-700 border-r-2 border-primary-600\",\n false: \"text-gray-700 hover:bg-gray-50 hover:text-gray-900\",\n },\n collapsed: {\n true: \"justify-center px-2\",\n false: \"justify-start\",\n },\n },\n defaultVariants: {\n active: false,\n collapsed: false,\n },\n }\n);\n\ninterface MenuItem {\n id: string;\n label: string;\n icon: React.ReactNode;\n href?: string;\n badge?: string;\n children?: MenuItem[];\n}\n\ninterface SidebarProps extends VariantProps<typeof sidebarVariants> {\n className?: string;\n onToggle?: () => void;\n menuItems?: MenuItem[];\n activeItem?: string;\n onItemClick?: (itemId: string) => void;\n}\n\nconst defaultMenuItems: MenuItem[] = [\n {\n id: \"dashboard\",\n label: \"Dashboard\",\n icon: <Home className=\"h-5 w-5\" />,\n href: \"/dashboard\",\n },\n {\n id: \"analytics\",\n label: \"Analytics\",\n icon: <BarChart3 className=\"h-5 w-5\" />,\n href: \"/analytics\",\n badge: \"New\",\n },\n {\n id: \"users\",\n label: \"Users\",\n icon: <Users className=\"h-5 w-5\" />,\n children: [\n { id: \"all-users\", label: \"All Users\", icon: <Users className=\"h-4 w-4\" /> },\n { id: \"user-roles\", label: \"User Roles\", icon: <Settings className=\"h-4 w-4\" /> },\n ],\n },\n {\n id: \"reports\",\n label: \"Reports\",\n icon: <FileText className=\"h-5 w-5\" />,\n href: \"/reports\",\n },\n {\n id: \"calendar\",\n label: \"Calendar\",\n icon: <Calendar className=\"h-5 w-5\" />,\n href: \"/calendar\",\n },\n {\n id: \"messages\",\n label: \"Messages\",\n icon: <Mail className=\"h-5 w-5\" />,\n href: \"/messages\",\n badge: \"3\",\n },\n {\n id: \"notifications\",\n label: \"Notifications\",\n icon: <Bell className=\"h-5 w-5\" />,\n href: \"/notifications\",\n },\n {\n id: \"settings\",\n label: \"Settings\",\n icon: <Settings className=\"h-5 w-5\" />,\n href: \"/settings\",\n },\n];\n\nconst Sidebar = React.forwardRef<HTMLDivElement, SidebarProps>(\n ({ \n className, \n collapsed = false, \n onToggle, \n menuItems = defaultMenuItems,\n activeItem = \"dashboard\",\n onItemClick,\n ...props \n }, ref) => {\n const [expandedItems, setExpandedItems] = React.useState<string[]>([]);\n\n const toggleExpanded = (itemId: string) => {\n setExpandedItems(prev => \n prev.includes(itemId) \n ? prev.filter(id => id !== itemId)\n : [...prev, itemId]\n );\n };\n\n const handleItemClick = (item: MenuItem) => {\n if (item.children) {\n toggleExpanded(item.id);\n } else {\n onItemClick?.(item.id);\n }\n };\n\n const renderMenuItem = (item: MenuItem, level = 0) => {\n const isActive = activeItem === item.id;\n const isExpanded = expandedItems.includes(item.id);\n const hasChildren = item.children && item.children.length > 0;\n\n return (\n <div key={item.id}>\n <button\n onClick={() => handleItemClick(item)}\n className={cn(\n menuItemVariants({ active: isActive, collapsed }),\n level > 0 && \"ml-4 pl-8\",\n \"relative\"\n )}\n >\n <div className=\"flex items-center min-w-0 flex-1\">\n <div className=\"flex-shrink-0\">\n {item.icon}\n </div>\n {!collapsed && (\n <>\n <span className=\"ml-3 truncate\">{item.label}</span>\n {item.badge && (\n <Badge variant=\"danger\" className=\"ml-auto text-xs\">\n {item.badge}\n </Badge>\n )}\n {hasChildren && (\n <ChevronDown \n className={cn(\n \"ml-auto h-4 w-4 transition-transform duration-200\",\n isExpanded && \"rotate-180\"\n )}\n />\n )}\n </>\n )}\n </div>\n </button>\n \n {hasChildren && !collapsed && isExpanded && (\n <div className=\"mt-1 space-y-1\">\n {item.children?.map(child => renderMenuItem(child, level + 1))}\n </div>\n )}\n </div>\n );\n };\n\n return (\n <div\n ref={ref}\n className={cn(sidebarVariants({ collapsed }), className)}\n {...props}\n >\n {/* Header */}\n <div className=\"flex items-center justify-between p-4 border-b border-gray-200\">\n {!collapsed && (\n <div className=\"flex items-center space-x-2\">\n <div className=\"w-8 h-8 bg-primary-600 rounded-lg flex items-center justify-center\">\n <span className=\"text-white font-bold text-sm\">B</span>\n </div>\n <span className=\"font-bold text-xl text-gray-900\">Beyond</span>\n </div>\n )}\n <button\n onClick={onToggle}\n className=\"p-1.5 rounded-lg hover:bg-gray-100 transition-colors\"\n >\n {collapsed ? (\n <ChevronRight className=\"h-4 w-4 text-gray-600\" />\n ) : (\n <ChevronLeft className=\"h-4 w-4 text-gray-600\" />\n )}\n </button>\n </div>\n\n {/* Navigation Menu */}\n <nav className=\"flex-1 px-4 py-6 space-y-2 overflow-y-auto\">\n {menuItems.map(item => renderMenuItem(item))}\n </nav>\n\n {/* User Profile Section */}\n <div className=\"border-t border-gray-200 p-4\">\n {collapsed ? (\n <div className=\"flex justify-center\">\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 ) : (\n <div className=\"space-y-3\">\n <div className=\"flex items-center space-x-3\">\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 className=\"flex-1 min-w-0\">\n <p className=\"text-sm font-medium text-gray-900 truncate\">\n John Doe\n </p>\n <p className=\"text-xs text-gray-500 truncate\">\n john@company.com\n </p>\n </div>\n </div>\n <div className=\"flex space-x-2\">\n <button className=\"flex-1 flex items-center justify-center px-3 py-2 text-xs font-medium text-gray-700 bg-gray-50 rounded-lg hover:bg-gray-100 transition-colors\">\n <User className=\"h-3 w-3 mr-1\" />\n Profile\n </button>\n <button className=\"flex-1 flex items-center justify-center px-3 py-2 text-xs font-medium text-gray-700 bg-gray-50 rounded-lg hover:bg-gray-100 transition-colors\">\n <LogOut className=\"h-3 w-3 mr-1\" />\n Logout\n </button>\n </div>\n </div>\n )}\n </div>\n </div>\n );\n }\n);\n\nSidebar.displayName = \"Sidebar\";\n\nexport { Sidebar, sidebarVariants, type MenuItem };"],"names":["_jsx","_jsxs","_Fragment"],"mappings":"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"}
1
+ {"version":3,"file":"Sidebar.js","sources":["../../../src/components/Sidebar/Sidebar.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { \n ChevronLeft, \n ChevronRight, \n ChevronDown, \n Home, \n BarChart3, \n Users, \n Settings, \n FileText, \n Calendar, \n Mail, \n Bell,\n LogOut,\n User\n} from \"lucide-react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../../utils/cn\";\nimport { Avatar, AvatarImage, AvatarFallback } from \"../Avatar\";\nimport { Badge } from \"../Badge\";\n\nconst sidebarVariants = cva(\n \"fixed left-0 top-0 z-40 h-screen bg-white border-r border-gray-200 transition-all duration-300 ease-in-out\",\n {\n variants: {\n collapsed: {\n false: \"w-72\",\n true: \"w-16\",\n },\n },\n defaultVariants: {\n collapsed: false,\n },\n }\n);\n\nconst menuItemVariants = cva(\n \"flex items-center w-full px-3 py-2.5 text-sm font-medium rounded-lg transition-all duration-200 group\",\n {\n variants: {\n active: {\n true: \"bg-primary-50 text-primary-700 border-r-2 border-primary-600\",\n false: \"text-gray-700 hover:bg-gray-50 hover:text-gray-900\",\n },\n collapsed: {\n true: \"justify-center px-2\",\n false: \"justify-start\",\n },\n },\n defaultVariants: {\n active: false,\n collapsed: false,\n },\n }\n);\n\ninterface MenuItem {\n id: string;\n label: string;\n icon: React.ReactNode;\n href?: string;\n badge?: string;\n children?: MenuItem[];\n}\n\ninterface SidebarProps extends VariantProps<typeof sidebarVariants> {\n className?: string;\n onToggle?: () => void;\n menuItems?: MenuItem[];\n activeItem?: string;\n onItemClick?: (itemId: string) => void;\n}\n\nconst defaultMenuItems: MenuItem[] = [\n {\n id: \"dashboard\",\n label: \"Dashboard\",\n icon: <Home className=\"h-5 w-5\" />,\n href: \"/dashboard\",\n },\n {\n id: \"analytics\",\n label: \"Analytics\",\n icon: <BarChart3 className=\"h-5 w-5\" />,\n href: \"/analytics\",\n badge: \"New\",\n },\n {\n id: \"users\",\n label: \"Users\",\n icon: <Users className=\"h-5 w-5\" />,\n children: [\n { id: \"all-users\", label: \"All Users\", icon: <Users className=\"h-4 w-4\" /> },\n { id: \"user-roles\", label: \"User Roles\", icon: <Settings className=\"h-4 w-4\" /> },\n ],\n },\n {\n id: \"reports\",\n label: \"Reports\",\n icon: <FileText className=\"h-5 w-5\" />,\n href: \"/reports\",\n },\n {\n id: \"calendar\",\n label: \"Calendar\",\n icon: <Calendar className=\"h-5 w-5\" />,\n href: \"/calendar\",\n },\n {\n id: \"messages\",\n label: \"Messages\",\n icon: <Mail className=\"h-5 w-5\" />,\n href: \"/messages\",\n badge: \"3\",\n },\n {\n id: \"notifications\",\n label: \"Notifications\",\n icon: <Bell className=\"h-5 w-5\" />,\n href: \"/notifications\",\n },\n {\n id: \"settings\",\n label: \"Settings\",\n icon: <Settings className=\"h-5 w-5\" />,\n href: \"/settings\",\n },\n];\n\nconst Sidebar = React.forwardRef<HTMLDivElement, SidebarProps>(\n ({ \n className, \n collapsed = false, \n onToggle, \n menuItems = defaultMenuItems,\n activeItem = \"dashboard\",\n onItemClick,\n ...props \n }, ref) => {\n const [expandedItems, setExpandedItems] = React.useState<string[]>([]);\n\n const toggleExpanded = (itemId: string) => {\n setExpandedItems(prev => \n prev.includes(itemId) \n ? prev.filter(id => id !== itemId)\n : [...prev, itemId]\n );\n };\n\n const handleItemClick = (item: MenuItem) => {\n if (item.children) {\n toggleExpanded(item.id);\n } else {\n onItemClick?.(item.id);\n }\n };\n\n const renderMenuItem = (item: MenuItem, level = 0) => {\n const isActive = activeItem === item.id;\n const isExpanded = expandedItems.includes(item.id);\n const hasChildren = item.children && item.children.length > 0;\n\n return (\n <div key={item.id}>\n <button\n onClick={() => handleItemClick(item)}\n className={cn(\n menuItemVariants({ active: isActive, collapsed }),\n level > 0 && \"ml-4 pl-8\",\n \"relative\"\n )}\n >\n <div className=\"flex items-center min-w-0 flex-1\">\n <div className=\"flex-shrink-0\">\n {item.icon}\n </div>\n {!collapsed && (\n <>\n <span className=\"ml-3 truncate\">{item.label}</span>\n {item.badge && (\n <Badge variant=\"danger\" className=\"ml-auto text-xs\">\n {item.badge}\n </Badge>\n )}\n {hasChildren && (\n <ChevronDown \n className={cn(\n \"ml-auto h-4 w-4 transition-transform duration-200\",\n isExpanded && \"rotate-180\"\n )}\n />\n )}\n </>\n )}\n </div>\n </button>\n \n {hasChildren && !collapsed && isExpanded && (\n <div className=\"mt-1 space-y-1\">\n {item.children?.map(child => renderMenuItem(child, level + 1))}\n </div>\n )}\n </div>\n );\n };\n\n return (\n <div\n ref={ref}\n className={cn(sidebarVariants({ collapsed }), className)}\n {...props}\n >\n {/* Header */}\n <div className=\"flex items-center justify-between p-4 border-b border-gray-200\">\n {!collapsed && (\n <div className=\"flex items-center space-x-2\">\n <div className=\"w-8 h-8 bg-primary-600 rounded-lg flex items-center justify-center\">\n <span className=\"text-white font-bold text-sm\">B</span>\n </div>\n <span className=\"font-bold text-xl text-gray-900\">Beyond</span>\n </div>\n )}\n <button\n onClick={onToggle}\n className=\"p-1.5 rounded-lg hover:bg-gray-100 transition-colors\"\n >\n {collapsed ? (\n <ChevronRight className=\"h-4 w-4 text-gray-600\" />\n ) : (\n <ChevronLeft className=\"h-4 w-4 text-gray-600\" />\n )}\n </button>\n </div>\n\n {/* Navigation Menu */}\n <nav className=\"flex-1 px-4 py-6 space-y-2 overflow-y-auto\">\n {menuItems.map(item => renderMenuItem(item))}\n </nav>\n\n {/* User Profile Section */}\n <div className=\"border-t border-gray-200 p-4\">\n {collapsed ? (\n <div className=\"flex justify-center\">\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 ) : (\n <div className=\"space-y-3\">\n <div className=\"flex items-center space-x-3\">\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 className=\"flex-1 min-w-0\">\n <p className=\"text-sm font-medium text-gray-900 truncate\">\n John Doe\n </p>\n <p className=\"text-xs text-gray-500 truncate\">\n john@company.com\n </p>\n </div>\n </div>\n <div className=\"flex space-x-2\">\n <button className=\"flex-1 flex items-center justify-center px-3 py-2 text-xs font-medium text-gray-700 bg-gray-50 rounded-lg hover:bg-gray-100 transition-colors\">\n <User className=\"h-3 w-3 mr-1\" />\n Profile\n </button>\n <button className=\"flex-1 flex items-center justify-center px-3 py-2 text-xs font-medium text-gray-700 bg-gray-50 rounded-lg hover:bg-gray-100 transition-colors\">\n <LogOut className=\"h-3 w-3 mr-1\" />\n Logout\n </button>\n </div>\n </div>\n )}\n </div>\n </div>\n );\n }\n);\n\nSidebar.displayName = \"Sidebar\";\n\nexport { Sidebar, sidebarVariants, type MenuItem };"],"names":["_jsx","_jsxs","_Fragment"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { j as jsxRuntimeExports } from '../../_virtual/jsx-runtime.js';
1
+ import { jsx } from 'react/jsx-runtime';
2
2
  import * as React from 'react';
3
3
  import { cva } from 'class-variance-authority';
4
4
  import { cn } from '../../utils/cn.js';
@@ -15,7 +15,7 @@ const skeletonVariants = cva("animate-pulse rounded-md bg-gray-200", {
15
15
  },
16
16
  });
17
17
  const Skeleton = React.forwardRef(({ className, variant, ...props }, ref) => {
18
- return (jsxRuntimeExports.jsx("div", { ref: ref, className: cn(skeletonVariants({ variant }), className), ...props }));
18
+ return (jsx("div", { ref: ref, className: cn(skeletonVariants({ variant }), className), ...props }));
19
19
  });
20
20
  Skeleton.displayName = "Skeleton";
21
21
 
@@ -1 +1 @@
1
- {"version":3,"file":"Skeleton.js","sources":["../../../src/components/Skeleton/Skeleton.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../../utils/cn\";\n\nconst skeletonVariants = cva(\n \"animate-pulse rounded-md bg-gray-200\",\n {\n variants: {\n variant: {\n default: \"bg-gray-200\",\n darker: \"bg-gray-300\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n);\n\nexport interface SkeletonProps\n extends React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof skeletonVariants> {}\n\nconst Skeleton = React.forwardRef<HTMLDivElement, SkeletonProps>(\n ({ className, variant, ...props }, ref) => {\n return (\n <div\n ref={ref}\n className={cn(skeletonVariants({ variant }), className)}\n {...props}\n />\n );\n }\n);\nSkeleton.displayName = \"Skeleton\";\n\nexport { Skeleton, skeletonVariants };"],"names":["_jsx"],"mappings":";;;;;AAIA,MAAM,gBAAgB,GAAG,GAAG,CAC1B,sCAAsC,EACtC;AACE,IAAA,QAAQ,EAAE;AACR,QAAA,OAAO,EAAE;AACP,YAAA,OAAO,EAAE,aAAa;AACtB,YAAA,MAAM,EAAE,aAAa;AACtB,SAAA;AACF,KAAA;AACD,IAAA,eAAe,EAAE;AACf,QAAA,OAAO,EAAE,SAAS;AACnB,KAAA;AACF,CAAA;AAOH,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAC/B,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,KAAI;IACxC,QACEA,+BACE,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,gBAAgB,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,CAAC,EAAA,GACnD,KAAK,EAAA,CACT;AAEN,CAAC;AAEH,QAAQ,CAAC,WAAW,GAAG,UAAU;;;;"}
1
+ {"version":3,"file":"Skeleton.js","sources":["../../../src/components/Skeleton/Skeleton.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../../utils/cn\";\n\nconst skeletonVariants = cva(\n \"animate-pulse rounded-md bg-gray-200\",\n {\n variants: {\n variant: {\n default: \"bg-gray-200\",\n darker: \"bg-gray-300\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n);\n\nexport interface SkeletonProps\n extends React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof skeletonVariants> {}\n\nconst Skeleton = React.forwardRef<HTMLDivElement, SkeletonProps>(\n ({ className, variant, ...props }, ref) => {\n return (\n <div\n ref={ref}\n className={cn(skeletonVariants({ variant }), className)}\n {...props}\n />\n );\n }\n);\nSkeleton.displayName = \"Skeleton\";\n\nexport { Skeleton, skeletonVariants };"],"names":["_jsx"],"mappings":";;;;;AAIA,MAAM,gBAAgB,GAAG,GAAG,CAC1B,sCAAsC,EACtC;AACE,IAAA,QAAQ,EAAE;AACR,QAAA,OAAO,EAAE;AACP,YAAA,OAAO,EAAE,aAAa;AACtB,YAAA,MAAM,EAAE,aAAa;AACtB,SAAA;AACF,KAAA;AACD,IAAA,eAAe,EAAE;AACf,QAAA,OAAO,EAAE,SAAS;AACnB,KAAA;AACF,CAAA;AAOH,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAC/B,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,KAAI;IACxC,QACEA,aACE,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,gBAAgB,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,CAAC,EAAA,GACnD,KAAK,EAAA,CACT;AAEN,CAAC;AAEH,QAAQ,CAAC,WAAW,GAAG,UAAU;;;;"}