@wakastellar/ui 2.3.4 → 2.4.0

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 (194) hide show
  1. package/dist/blocks/dashboard/index.d.ts +4 -1
  2. package/dist/blocks/empty-states/index.d.ts +4 -1
  3. package/dist/blocks/error-pages/index.d.ts +4 -1
  4. package/dist/blocks/index.d.ts +1 -1
  5. package/dist/blocks/landing/index.d.ts +4 -1
  6. package/dist/blocks/pricing/index.d.ts +5 -1
  7. package/dist/blocks/sidebar/index.d.ts +5 -1
  8. package/dist/index.cjs.js +130 -130
  9. package/dist/index.d.ts +1 -0
  10. package/dist/index.es.js +7905 -7856
  11. package/dist/stories/Button.d.ts +14 -0
  12. package/dist/stories/Button.stories.d.ts +8 -0
  13. package/dist/stories/Header.d.ts +11 -0
  14. package/dist/stories/Header.stories.d.ts +6 -0
  15. package/dist/stories/Page.d.ts +2 -0
  16. package/dist/stories/Page.stories.d.ts +6 -0
  17. package/dist/types/index.d.ts +1 -0
  18. package/dist/types/link.d.ts +23 -0
  19. package/package.json +11 -3
  20. package/src/blocks/activity-timeline/ActivityTimeline.stories.tsx +460 -0
  21. package/src/blocks/apm-overview/APMOverview.stories.tsx +435 -0
  22. package/src/blocks/auth-2fa/Auth2FA.stories.tsx +308 -0
  23. package/src/blocks/calendar-view/CalendarView.stories.tsx +398 -0
  24. package/src/blocks/chat/Chat.stories.tsx +466 -0
  25. package/src/blocks/chat-interface/ChatInterface.stories.tsx +412 -0
  26. package/src/blocks/checkout-flow/CheckoutFlow.stories.tsx +408 -0
  27. package/src/blocks/cicd-builder/CICDBuilder.stories.tsx +499 -0
  28. package/src/blocks/cloud-cost-dashboard/CloudCostDashboard.stories.tsx +356 -0
  29. package/src/blocks/container-orchestrator/ContainerOrchestrator.stories.tsx +461 -0
  30. package/src/blocks/dashboard/Dashboard.stories.tsx +559 -0
  31. package/src/blocks/dashboard/index.tsx +68 -27
  32. package/src/blocks/dashboard-kpi/DashboardKPI.stories.tsx +422 -0
  33. package/src/blocks/database-admin/DatabaseAdmin.stories.tsx +393 -0
  34. package/src/blocks/deployment-dashboard/DeploymentDashboard.stories.tsx +457 -0
  35. package/src/blocks/empty-states/EmptyStates.stories.tsx +467 -0
  36. package/src/blocks/empty-states/index.tsx +26 -8
  37. package/src/blocks/error-pages/ErrorPages.stories.tsx +401 -0
  38. package/src/blocks/error-pages/index.tsx +26 -8
  39. package/src/blocks/faq/FAQ.stories.tsx +416 -0
  40. package/src/blocks/file-manager/FileManager.stories.tsx +413 -0
  41. package/src/blocks/footer/Footer.stories.tsx +328 -0
  42. package/src/blocks/gitops-sync-status/GitOpsSyncStatus.stories.tsx +529 -0
  43. package/src/blocks/header/WakaHeader.stories.tsx +455 -0
  44. package/src/blocks/headtab/Headtab.stories.tsx +369 -0
  45. package/src/blocks/i18n-editor/I18nEditor.stories.tsx +451 -0
  46. package/src/blocks/incident-manager/IncidentManager.stories.tsx +464 -0
  47. package/src/blocks/index.ts +1 -1
  48. package/src/blocks/infrastructure-map/InfrastructureMap.stories.tsx +533 -0
  49. package/src/blocks/kanban-board/KanbanBoard.stories.tsx +494 -0
  50. package/src/blocks/landing/WakaLanding.stories.tsx +449 -0
  51. package/src/blocks/landing/index.tsx +125 -66
  52. package/src/blocks/language-selector/LanguageSelector.stories.tsx +345 -0
  53. package/src/blocks/layout/Layout.stories.tsx +373 -0
  54. package/src/blocks/login/Login.stories.tsx +443 -0
  55. package/src/blocks/on-call-schedule/OnCallSchedule.stories.tsx +381 -0
  56. package/src/blocks/player-profile/PlayerProfile.stories.tsx +316 -0
  57. package/src/blocks/pricing/WakaPricing.stories.tsx +530 -0
  58. package/src/blocks/pricing/index.tsx +38 -4
  59. package/src/blocks/profile/Profile.stories.tsx +371 -0
  60. package/src/blocks/release-notes/ReleaseNotes.stories.tsx +431 -0
  61. package/src/blocks/settings/Settings.stories.tsx +520 -0
  62. package/src/blocks/sidebar/WakaSidebar.stories.tsx +513 -0
  63. package/src/blocks/sidebar/index.tsx +49 -20
  64. package/src/blocks/theme-creator-block/ThemeCreatorBlock.stories.tsx +370 -0
  65. package/src/blocks/user-management/UserManagement.stories.tsx +411 -0
  66. package/src/blocks/wizard/Wizard.stories.tsx +683 -0
  67. package/src/components/accordion/Accordion.stories.tsx +93 -0
  68. package/src/components/alert/Alert.stories.tsx +95 -0
  69. package/src/components/alert-dialog/AlertDialog.stories.tsx +126 -0
  70. package/src/components/aspect-ratio/AspectRatio.stories.tsx +118 -0
  71. package/src/components/avatar/Avatar.stories.tsx +104 -0
  72. package/src/components/button/Button.stories.tsx +12 -1
  73. package/src/components/calendar/Calendar.stories.tsx +102 -0
  74. package/src/components/card/Card.stories.tsx +125 -0
  75. package/src/components/checkbox/Checkbox.stories.tsx +100 -0
  76. package/src/components/code/Code.stories.tsx +402 -0
  77. package/src/components/collapsible/Collapsible.stories.tsx +123 -0
  78. package/src/components/command/Command.stories.tsx +207 -0
  79. package/src/components/context-menu/ContextMenu.stories.tsx +220 -0
  80. package/src/components/dialog/Dialog.stories.tsx +157 -0
  81. package/src/components/dropdown-menu/DropdownMenu.stories.tsx +225 -0
  82. package/src/components/form/Form.stories.tsx +413 -0
  83. package/src/components/hover-card/HoverCard.stories.tsx +148 -0
  84. package/src/components/input-otp/InputOTP.stories.tsx +255 -0
  85. package/src/components/label/Label.stories.tsx +68 -0
  86. package/src/components/menubar/Menubar.stories.tsx +278 -0
  87. package/src/components/navigation-menu/NavigationMenu.stories.tsx +202 -0
  88. package/src/components/popover/Popover.stories.tsx +199 -0
  89. package/src/components/progress/Progress.stories.tsx +104 -0
  90. package/src/components/radio-group/RadioGroup.stories.tsx +138 -0
  91. package/src/components/scroll-area/ScrollArea.stories.tsx +153 -0
  92. package/src/components/select/Select.stories.tsx +146 -0
  93. package/src/components/separator/Separator.stories.tsx +117 -0
  94. package/src/components/sheet/Sheet.stories.tsx +195 -0
  95. package/src/components/skeleton/Skeleton.stories.tsx +114 -0
  96. package/src/components/slider/Slider.stories.tsx +157 -0
  97. package/src/components/switch/Switch.stories.tsx +114 -0
  98. package/src/components/table/Table.stories.tsx +153 -0
  99. package/src/components/tabs/Tabs.stories.tsx +155 -0
  100. package/src/components/textarea/Textarea.stories.tsx +116 -0
  101. package/src/components/toast/Toast.stories.tsx +160 -0
  102. package/src/components/toggle/Toggle.stories.tsx +125 -0
  103. package/src/components/tooltip/Tooltip.stories.tsx +133 -0
  104. package/src/components/typography/Typography.stories.tsx +207 -0
  105. package/src/components/waka-3d-pie-chart/Waka3DPieChart.stories.tsx +308 -0
  106. package/src/components/waka-achievement-unlock/WakaAchievementUnlock.stories.tsx +353 -0
  107. package/src/components/waka-artifact-list/WakaArtifactList.stories.tsx +258 -0
  108. package/src/components/waka-autocomplete/WakaAutocomplete.stories.tsx +224 -0
  109. package/src/components/waka-badge-showcase/WakaBadgeShowcase.stories.tsx +269 -0
  110. package/src/components/waka-barcode/WakaBarcode.stories.tsx +227 -0
  111. package/src/components/waka-bottom-sheet/WakaBottomSheet.stories.tsx +408 -0
  112. package/src/components/waka-breadcrumb/WakaBreadcrumb.stories.tsx +237 -0
  113. package/src/components/waka-build-matrix/WakaBuildMatrix.stories.tsx +328 -0
  114. package/src/components/waka-carousel/WakaCarousel.stories.tsx +296 -0
  115. package/src/components/waka-charts/WakaCharts.stories.tsx +519 -0
  116. package/src/components/waka-color-picker/WakaColorPicker.stories.tsx +200 -0
  117. package/src/components/waka-combobox/WakaCombobox.stories.tsx +250 -0
  118. package/src/components/waka-container-list/WakaContainerList.stories.tsx +315 -0
  119. package/src/components/waka-contribution-graph/WakaContributionGraph.stories.tsx +354 -0
  120. package/src/components/waka-cost-breakdown/WakaCostBreakdown.stories.tsx +348 -0
  121. package/src/components/waka-daily-reward/WakaDailyReward.stories.tsx +365 -0
  122. package/src/components/waka-database-card/WakaDatabaseCard.stories.tsx +306 -0
  123. package/src/components/waka-date-range-picker/WakaDateRangePicker.stories.tsx +339 -0
  124. package/src/components/waka-datetime-picker/WakaDateTimePicker.stories.tsx +317 -0
  125. package/src/components/waka-deployment-lane/WakaDeploymentLane.stories.tsx +292 -0
  126. package/src/components/waka-dock/WakaDock.stories.tsx +332 -0
  127. package/src/components/waka-drawer/WakaDrawer.stories.tsx +437 -0
  128. package/src/components/waka-env-var-editor/WakaEnvVarEditor.stories.tsx +263 -0
  129. package/src/components/waka-error-shake/WakaErrorShake.stories.tsx +410 -0
  130. package/src/components/waka-file-upload/WakaFileUpload.stories.tsx +239 -0
  131. package/src/components/waka-flow-diagram/WakaFlowDiagram.stories.tsx +365 -0
  132. package/src/components/waka-funnel-chart/WakaFunnelChart.stories.tsx +281 -0
  133. package/src/components/waka-glow-card/WakaGlowCard.stories.tsx +274 -0
  134. package/src/components/waka-haptic-button/WakaHapticButton.stories.tsx +349 -0
  135. package/src/components/waka-health-pulse/WakaHealthPulse.stories.tsx +293 -0
  136. package/src/components/waka-heatmap/WakaHeatmap.stories.tsx +376 -0
  137. package/src/components/waka-image/WakaImage.stories.tsx +255 -0
  138. package/src/components/waka-incident-timeline/WakaIncidentTimeline.stories.tsx +300 -0
  139. package/src/components/waka-kanban/WakaKanban.stories.tsx +399 -0
  140. package/src/components/waka-kubernetes-overview/WakaKubernetesOverview.stories.tsx +281 -0
  141. package/src/components/waka-leaderboard/WakaLeaderboard.stories.tsx +300 -0
  142. package/src/components/waka-level-progress/WakaLevelProgress.stories.tsx +313 -0
  143. package/src/components/waka-loading-orbit/WakaLoadingOrbit.stories.tsx +413 -0
  144. package/src/components/waka-log-viewer/WakaLogViewer.stories.tsx +312 -0
  145. package/src/components/waka-loot-box/WakaLootBox.stories.tsx +374 -0
  146. package/src/components/waka-metric-sparkline/WakaMetricSparkline.stories.tsx +312 -0
  147. package/src/components/waka-migration-list/WakaMigrationList.stories.tsx +289 -0
  148. package/src/components/waka-modal/WakaModal.stories.tsx +434 -0
  149. package/src/components/waka-morph-button/WakaMorphButton.stories.tsx +405 -0
  150. package/src/components/waka-network-topology/WakaNetworkTopology.stories.tsx +364 -0
  151. package/src/components/waka-notifications/WakaNotifications.stories.tsx +290 -0
  152. package/src/components/waka-number-input/WakaNumberInput.stories.tsx +282 -0
  153. package/src/components/waka-pagination/WakaPagination.stories.tsx +328 -0
  154. package/src/components/waka-password-strength/WakaPasswordStrength.stories.tsx +318 -0
  155. package/src/components/waka-pipeline-view/WakaPipelineView.stories.tsx +386 -0
  156. package/src/components/waka-player-card/WakaPlayerCard.stories.tsx +333 -0
  157. package/src/components/waka-pod-card/WakaPodCard.stories.tsx +435 -0
  158. package/src/components/waka-qrcode/WakaQRCode.stories.tsx +232 -0
  159. package/src/components/waka-query-explain/WakaQueryExplain.stories.tsx +407 -0
  160. package/src/components/waka-quest-card/WakaQuestCard.stories.tsx +394 -0
  161. package/src/components/waka-quota-bar/WakaQuotaBar.stories.tsx +435 -0
  162. package/src/components/waka-radar-score/WakaRadarScore.stories.tsx +372 -0
  163. package/src/components/waka-resource-gauge/WakaResourceGauge.stories.tsx +366 -0
  164. package/src/components/waka-rich-text-editor/WakaRichTextEditor.stories.tsx +238 -0
  165. package/src/components/waka-sankey-diagram/WakaSankeyDiagram.stories.tsx +389 -0
  166. package/src/components/waka-scratch-card/WakaScratchCard.stories.tsx +388 -0
  167. package/src/components/waka-secret-card/WakaSecretCard.stories.tsx +314 -0
  168. package/src/components/waka-segmented-control/WakaSegmentedControl.stories.tsx +309 -0
  169. package/src/components/waka-server-rack/WakaServerRack.stories.tsx +382 -0
  170. package/src/components/waka-service-graph/WakaServiceGraph.stories.tsx +262 -0
  171. package/src/components/waka-skeleton-wave/WakaSkeletonWave.stories.tsx +321 -0
  172. package/src/components/waka-skill-tree/WakaSkillTree.stories.tsx +308 -0
  173. package/src/components/waka-spin-wheel/WakaSpinWheel.stories.tsx +368 -0
  174. package/src/components/waka-spinner/WakaSpinner.stories.tsx +156 -0
  175. package/src/components/waka-stat/WakaStat.stories.tsx +334 -0
  176. package/src/components/waka-status-matrix/WakaStatusMatrix.stories.tsx +331 -0
  177. package/src/components/waka-stepper/WakaStepper.stories.tsx +468 -0
  178. package/src/components/waka-streak-counter/WakaStreakCounter.stories.tsx +235 -0
  179. package/src/components/waka-success-explosion/WakaSuccessExplosion.stories.tsx +389 -0
  180. package/src/components/waka-tabs-morph/WakaTabsMorph.stories.tsx +471 -0
  181. package/src/components/waka-terminal-output/WakaTerminalOutput.stories.tsx +351 -0
  182. package/src/components/waka-test-report/WakaTestReport.stories.tsx +322 -0
  183. package/src/components/waka-tilt-card/WakaTiltCard.stories.tsx +300 -0
  184. package/src/components/waka-time-picker/WakaTimePicker.stories.tsx +227 -0
  185. package/src/components/waka-timeline/WakaTimeline.stories.tsx +383 -0
  186. package/src/components/waka-tournament-bracket/WakaTournamentBracket.stories.tsx +375 -0
  187. package/src/components/waka-trace-viewer/WakaTraceViewer.stories.tsx +445 -0
  188. package/src/components/waka-tree/WakaTree.stories.tsx +359 -0
  189. package/src/components/waka-treemap-chart/WakaTreemapChart.stories.tsx +378 -0
  190. package/src/components/waka-typewriter/WakaTypewriter.stories.tsx +366 -0
  191. package/src/components/waka-versus-card/WakaVersusCard.stories.tsx +530 -0
  192. package/src/components/waka-video/WakaVideo.stories.tsx +203 -0
  193. package/src/components/waka-virtual-list/WakaVirtualList.stories.tsx +273 -0
  194. package/src/components/waka-xp-bar/WakaXPBar.stories.tsx +305 -0
@@ -0,0 +1,383 @@
1
+ import type { Meta, StoryObj } from '@storybook/react'
2
+ import { WakaTimeline } from './index'
3
+ import type { TimelineItem } from './index'
4
+ import * as React from 'react'
5
+ import { Package, Truck, CheckCircle, Clock, AlertTriangle, MessageSquare, User, GitCommit } from 'lucide-react'
6
+
7
+ const meta: Meta<typeof WakaTimeline> = {
8
+ title: 'Components/Display/WakaTimeline',
9
+ component: WakaTimeline,
10
+ parameters: {
11
+ layout: 'centered',
12
+ docs: {
13
+ description: {
14
+ component: 'A timeline component for displaying events, activities, or steps in chronological order.',
15
+ },
16
+ },
17
+ },
18
+ tags: ['autodocs'],
19
+ argTypes: {
20
+ orientation: {
21
+ control: 'select',
22
+ options: ['vertical', 'horizontal'],
23
+ description: 'Timeline orientation',
24
+ },
25
+ linePosition: {
26
+ control: 'select',
27
+ options: ['left', 'center', 'right'],
28
+ description: 'Position of the line (vertical only)',
29
+ },
30
+ size: {
31
+ control: 'select',
32
+ options: ['sm', 'md', 'lg'],
33
+ description: 'Size of the timeline',
34
+ },
35
+ showDates: {
36
+ control: 'boolean',
37
+ description: 'Show dates',
38
+ },
39
+ collapsible: {
40
+ control: 'boolean',
41
+ description: 'Make items collapsible',
42
+ },
43
+ },
44
+ }
45
+
46
+ export default meta
47
+ type Story = StoryObj<typeof WakaTimeline>
48
+
49
+ const basicItems: TimelineItem[] = [
50
+ {
51
+ id: '1',
52
+ title: 'Order Placed',
53
+ description: 'Your order has been confirmed',
54
+ date: new Date('2024-01-15'),
55
+ status: 'completed',
56
+ },
57
+ {
58
+ id: '2',
59
+ title: 'Processing',
60
+ description: 'Your order is being prepared',
61
+ date: new Date('2024-01-16'),
62
+ status: 'completed',
63
+ },
64
+ {
65
+ id: '3',
66
+ title: 'Shipped',
67
+ description: 'Your order is on its way',
68
+ date: new Date('2024-01-17'),
69
+ status: 'current',
70
+ },
71
+ {
72
+ id: '4',
73
+ title: 'Delivered',
74
+ description: 'Estimated delivery date',
75
+ date: new Date('2024-01-20'),
76
+ status: 'pending',
77
+ },
78
+ ]
79
+
80
+ export const Default: Story = {
81
+ args: {
82
+ items: basicItems,
83
+ className: 'w-[400px]',
84
+ },
85
+ }
86
+
87
+ export const Horizontal: Story = {
88
+ args: {
89
+ items: basicItems,
90
+ orientation: 'horizontal',
91
+ className: 'w-[800px]',
92
+ },
93
+ }
94
+
95
+ export const WithIcons: Story = {
96
+ render: () => {
97
+ const items: TimelineItem[] = [
98
+ {
99
+ id: '1',
100
+ title: 'Order Confirmed',
101
+ description: 'Order #12345 has been placed',
102
+ date: new Date('2024-01-15'),
103
+ status: 'completed',
104
+ icon: <Package className="h-4 w-4" />,
105
+ },
106
+ {
107
+ id: '2',
108
+ title: 'Shipped',
109
+ description: 'Package handed to carrier',
110
+ date: new Date('2024-01-16'),
111
+ status: 'completed',
112
+ icon: <Truck className="h-4 w-4" />,
113
+ },
114
+ {
115
+ id: '3',
116
+ title: 'Out for Delivery',
117
+ description: 'Driver en route',
118
+ date: new Date('2024-01-17'),
119
+ status: 'current',
120
+ icon: <Clock className="h-4 w-4" />,
121
+ },
122
+ {
123
+ id: '4',
124
+ title: 'Delivered',
125
+ description: 'Package delivered',
126
+ date: new Date('2024-01-17'),
127
+ status: 'pending',
128
+ icon: <CheckCircle className="h-4 w-4" />,
129
+ },
130
+ ]
131
+
132
+ return <WakaTimeline items={items} className="w-[400px]" />
133
+ },
134
+ }
135
+
136
+ export const WithStatuses: Story = {
137
+ render: () => {
138
+ const items: TimelineItem[] = [
139
+ {
140
+ id: '1',
141
+ title: 'Task Completed',
142
+ description: 'Initial setup done',
143
+ status: 'completed',
144
+ },
145
+ {
146
+ id: '2',
147
+ title: 'In Progress',
148
+ description: 'Currently working on this',
149
+ status: 'current',
150
+ },
151
+ {
152
+ id: '3',
153
+ title: 'Error Occurred',
154
+ description: 'Something went wrong',
155
+ status: 'error',
156
+ },
157
+ {
158
+ id: '4',
159
+ title: 'Pending',
160
+ description: 'Waiting to start',
161
+ status: 'pending',
162
+ },
163
+ ]
164
+
165
+ return <WakaTimeline items={items} showDates={false} className="w-[400px]" />
166
+ },
167
+ }
168
+
169
+ export const Sizes: Story = {
170
+ render: () => (
171
+ <div className="flex gap-12">
172
+ <div>
173
+ <p className="text-sm text-muted-foreground mb-4">Small</p>
174
+ <WakaTimeline items={basicItems.slice(0, 3)} size="sm" className="w-[250px]" />
175
+ </div>
176
+ <div>
177
+ <p className="text-sm text-muted-foreground mb-4">Medium</p>
178
+ <WakaTimeline items={basicItems.slice(0, 3)} size="md" className="w-[300px]" />
179
+ </div>
180
+ <div>
181
+ <p className="text-sm text-muted-foreground mb-4">Large</p>
182
+ <WakaTimeline items={basicItems.slice(0, 3)} size="lg" className="w-[350px]" />
183
+ </div>
184
+ </div>
185
+ ),
186
+ }
187
+
188
+ export const Collapsible: Story = {
189
+ render: () => {
190
+ const items: TimelineItem[] = [
191
+ {
192
+ id: '1',
193
+ title: 'Project Started',
194
+ description: 'Initial commit',
195
+ date: new Date('2024-01-10'),
196
+ status: 'completed',
197
+ content: (
198
+ <div className="space-y-2">
199
+ <p className="text-sm">Created repository and initial project structure.</p>
200
+ <ul className="text-xs text-muted-foreground list-disc pl-4">
201
+ <li>Setup package.json</li>
202
+ <li>Added TypeScript config</li>
203
+ <li>Created src directory</li>
204
+ </ul>
205
+ </div>
206
+ ),
207
+ },
208
+ {
209
+ id: '2',
210
+ title: 'Feature Development',
211
+ description: 'Added core features',
212
+ date: new Date('2024-01-12'),
213
+ status: 'completed',
214
+ content: (
215
+ <div className="space-y-2">
216
+ <p className="text-sm">Implemented main functionality.</p>
217
+ <div className="flex gap-2">
218
+ <span className="text-xs bg-blue-100 text-blue-700 px-2 py-0.5 rounded">+500 lines</span>
219
+ <span className="text-xs bg-green-100 text-green-700 px-2 py-0.5 rounded">3 commits</span>
220
+ </div>
221
+ </div>
222
+ ),
223
+ },
224
+ {
225
+ id: '3',
226
+ title: 'Testing',
227
+ description: 'In progress',
228
+ date: new Date('2024-01-15'),
229
+ status: 'current',
230
+ content: (
231
+ <div className="space-y-2">
232
+ <p className="text-sm">Writing unit and integration tests.</p>
233
+ <div className="w-full bg-muted rounded-full h-2">
234
+ <div className="bg-primary h-2 rounded-full w-[60%]" />
235
+ </div>
236
+ <p className="text-xs text-muted-foreground">60% complete</p>
237
+ </div>
238
+ ),
239
+ },
240
+ ]
241
+
242
+ return <WakaTimeline items={items} collapsible className="w-[450px]" />
243
+ },
244
+ }
245
+
246
+ export const CustomColors: Story = {
247
+ render: () => {
248
+ const items: TimelineItem[] = [
249
+ {
250
+ id: '1',
251
+ title: 'Design Phase',
252
+ description: 'UI/UX design completed',
253
+ status: 'completed',
254
+ color: '#8B5CF6', // Purple
255
+ },
256
+ {
257
+ id: '2',
258
+ title: 'Development',
259
+ description: 'Frontend development',
260
+ status: 'completed',
261
+ color: '#3B82F6', // Blue
262
+ },
263
+ {
264
+ id: '3',
265
+ title: 'Review',
266
+ description: 'Code review in progress',
267
+ status: 'current',
268
+ color: '#F59E0B', // Amber
269
+ },
270
+ {
271
+ id: '4',
272
+ title: 'Deployment',
273
+ description: 'Ready for production',
274
+ status: 'pending',
275
+ color: '#10B981', // Green
276
+ },
277
+ ]
278
+
279
+ return <WakaTimeline items={items} showDates={false} className="w-[400px]" />
280
+ },
281
+ }
282
+
283
+ export const ActivityFeed: Story = {
284
+ render: () => {
285
+ const activities: TimelineItem[] = [
286
+ {
287
+ id: '1',
288
+ title: 'John commented on your post',
289
+ description: '"Great work on this feature!"',
290
+ date: new Date(Date.now() - 3600000),
291
+ status: 'completed',
292
+ icon: <MessageSquare className="h-4 w-4 text-blue-500" />,
293
+ },
294
+ {
295
+ id: '2',
296
+ title: 'New follower',
297
+ description: 'Jane started following you',
298
+ date: new Date(Date.now() - 7200000),
299
+ status: 'completed',
300
+ icon: <User className="h-4 w-4 text-green-500" />,
301
+ },
302
+ {
303
+ id: '3',
304
+ title: 'Deployment successful',
305
+ description: 'v2.1.0 deployed to production',
306
+ date: new Date(Date.now() - 14400000),
307
+ status: 'completed',
308
+ icon: <GitCommit className="h-4 w-4 text-purple-500" />,
309
+ },
310
+ {
311
+ id: '4',
312
+ title: 'Warning',
313
+ description: 'High CPU usage detected',
314
+ date: new Date(Date.now() - 21600000),
315
+ status: 'error',
316
+ icon: <AlertTriangle className="h-4 w-4" />,
317
+ },
318
+ ]
319
+
320
+ return (
321
+ <div className="border rounded-lg p-4 w-[450px]">
322
+ <h3 className="font-semibold mb-4">Recent Activity</h3>
323
+ <WakaTimeline items={activities} size="sm" />
324
+ </div>
325
+ )
326
+ },
327
+ }
328
+
329
+ export const OrderTracking: Story = {
330
+ render: () => {
331
+ const trackingItems: TimelineItem[] = [
332
+ {
333
+ id: '1',
334
+ title: 'Order Confirmed',
335
+ description: 'Your order #ORD-2024-001 has been confirmed',
336
+ date: new Date('2024-01-15T09:30:00'),
337
+ status: 'completed',
338
+ icon: <CheckCircle className="h-4 w-4" />,
339
+ },
340
+ {
341
+ id: '2',
342
+ title: 'Payment Received',
343
+ description: 'Payment of $129.99 processed successfully',
344
+ date: new Date('2024-01-15T09:32:00'),
345
+ status: 'completed',
346
+ icon: <CheckCircle className="h-4 w-4" />,
347
+ },
348
+ {
349
+ id: '3',
350
+ title: 'Preparing Shipment',
351
+ description: 'Your items are being packed',
352
+ date: new Date('2024-01-16T14:00:00'),
353
+ status: 'completed',
354
+ icon: <Package className="h-4 w-4" />,
355
+ },
356
+ {
357
+ id: '4',
358
+ title: 'Shipped',
359
+ description: 'Package handed to FedEx - Tracking: FX123456789',
360
+ date: new Date('2024-01-17T08:00:00'),
361
+ status: 'current',
362
+ icon: <Truck className="h-4 w-4" />,
363
+ },
364
+ {
365
+ id: '5',
366
+ title: 'Delivery',
367
+ description: 'Estimated: Jan 20, 2024',
368
+ status: 'pending',
369
+ icon: <Clock className="h-4 w-4" />,
370
+ },
371
+ ]
372
+
373
+ return (
374
+ <div className="border rounded-lg p-6 w-[500px]">
375
+ <div className="mb-6">
376
+ <h3 className="font-semibold text-lg">Order Status</h3>
377
+ <p className="text-sm text-muted-foreground">Track your order progress</p>
378
+ </div>
379
+ <WakaTimeline items={trackingItems} />
380
+ </div>
381
+ )
382
+ },
383
+ }