@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,328 @@
1
+ import type { Meta, StoryObj } from '@storybook/react'
2
+ import { Footer } from './index'
3
+ import type { FooterColumn, SocialLink } from './index'
4
+ import * as React from 'react'
5
+
6
+ const defaultColumns: FooterColumn[] = [
7
+ {
8
+ title: 'Produit',
9
+ links: [
10
+ { label: 'Fonctionnalités', href: '/features' },
11
+ { label: 'Tarifs', href: '/pricing' },
12
+ { label: 'Documentation', href: '/docs' },
13
+ { label: 'Changelog', href: '/changelog' },
14
+ ],
15
+ },
16
+ {
17
+ title: 'Entreprise',
18
+ links: [
19
+ { label: 'À propos', href: '/about' },
20
+ { label: 'Blog', href: '/blog' },
21
+ { label: 'Carrières', href: '/careers' },
22
+ { label: 'Presse', href: '/press' },
23
+ ],
24
+ },
25
+ {
26
+ title: 'Ressources',
27
+ links: [
28
+ { label: 'Communauté', href: '/community' },
29
+ { label: 'Contact', href: '/contact' },
30
+ { label: 'Support', href: '/support' },
31
+ { label: 'Status', href: '/status' },
32
+ ],
33
+ },
34
+ ]
35
+
36
+ const defaultSocialLinks: SocialLink[] = [
37
+ { platform: 'github', url: 'https://github.com' },
38
+ { platform: 'twitter', url: 'https://twitter.com' },
39
+ { platform: 'linkedin', url: 'https://linkedin.com' },
40
+ { platform: 'email', url: 'mailto:contact@example.com' },
41
+ ]
42
+
43
+ const meta: Meta<typeof Footer> = {
44
+ title: 'Blocks/Footer',
45
+ component: Footer,
46
+ parameters: {
47
+ layout: 'fullscreen',
48
+ docs: {
49
+ description: {
50
+ component:
51
+ 'A responsive footer with link columns, social links, and copyright information.',
52
+ },
53
+ },
54
+ },
55
+ tags: ['autodocs'],
56
+ }
57
+
58
+ export default meta
59
+ type Story = StoryObj<typeof Footer>
60
+
61
+ export const Default: Story = {
62
+ render: () => (
63
+ <Footer
64
+ columns={defaultColumns}
65
+ socialLinks={defaultSocialLinks}
66
+ copyright="© 2024 Wakastart. Tous droits réservés."
67
+ />
68
+ ),
69
+ }
70
+
71
+ export const WithAllSections: Story = {
72
+ render: () => (
73
+ <Footer
74
+ columns={defaultColumns}
75
+ socialLinks={defaultSocialLinks}
76
+ copyright="© 2024 MyCompany Inc. All rights reserved."
77
+ />
78
+ ),
79
+ }
80
+
81
+ export const TwoColumns: Story = {
82
+ render: () => (
83
+ <Footer
84
+ columns={defaultColumns.slice(0, 2)}
85
+ socialLinks={defaultSocialLinks}
86
+ copyright="© 2024 Company. All rights reserved."
87
+ />
88
+ ),
89
+ }
90
+
91
+ export const NoSocialLinks: Story = {
92
+ render: () => (
93
+ <Footer
94
+ columns={defaultColumns}
95
+ copyright="© 2024 Company. All rights reserved."
96
+ />
97
+ ),
98
+ }
99
+
100
+ export const OnlySocialLinks: Story = {
101
+ render: () => (
102
+ <Footer
103
+ socialLinks={defaultSocialLinks}
104
+ copyright="© 2024 Minimal Footer Inc."
105
+ />
106
+ ),
107
+ }
108
+
109
+ export const MinimalFooter: Story = {
110
+ render: () => (
111
+ <Footer
112
+ copyright="© 2024 Simple Company. All rights reserved."
113
+ />
114
+ ),
115
+ }
116
+
117
+ export const ManyColumns: Story = {
118
+ render: () => {
119
+ const manyColumns: FooterColumn[] = [
120
+ ...defaultColumns,
121
+ {
122
+ title: 'Légal',
123
+ links: [
124
+ { label: 'Politique de confidentialité', href: '/privacy' },
125
+ { label: 'Conditions d\'utilisation', href: '/terms' },
126
+ { label: 'Cookies', href: '/cookies' },
127
+ { label: 'RGPD', href: '/gdpr' },
128
+ ],
129
+ },
130
+ ]
131
+
132
+ return (
133
+ <Footer
134
+ columns={manyColumns}
135
+ socialLinks={defaultSocialLinks}
136
+ copyright="© 2024 Enterprise Corp. All rights reserved."
137
+ />
138
+ )
139
+ },
140
+ }
141
+
142
+ export const LongLinks: Story = {
143
+ render: () => {
144
+ const longColumns: FooterColumn[] = [
145
+ {
146
+ title: 'Navigation principale',
147
+ links: [
148
+ { label: 'Accueil et présentation générale', href: '/' },
149
+ { label: 'Nos services professionnels', href: '/services' },
150
+ { label: 'Études de cas et témoignages clients', href: '/case-studies' },
151
+ { label: 'Demander une démonstration gratuite', href: '/demo' },
152
+ ],
153
+ },
154
+ {
155
+ title: 'Support et aide',
156
+ links: [
157
+ { label: 'Centre d\'aide et FAQ', href: '/help' },
158
+ { label: 'Documentation technique complète', href: '/docs' },
159
+ { label: 'Contacter notre équipe support', href: '/contact' },
160
+ ],
161
+ },
162
+ ]
163
+
164
+ return (
165
+ <Footer
166
+ columns={longColumns}
167
+ socialLinks={defaultSocialLinks}
168
+ copyright="© 2024 Long Links Company."
169
+ />
170
+ )
171
+ },
172
+ }
173
+
174
+ export const InPageContext: Story = {
175
+ render: () => (
176
+ <div className="min-h-screen flex flex-col">
177
+ <main className="flex-1 p-8">
178
+ <div className="max-w-4xl mx-auto">
179
+ <h1 className="text-4xl font-bold mb-4">Page Content</h1>
180
+ <p className="text-muted-foreground mb-4">
181
+ This example shows the footer in the context of a full page layout.
182
+ The footer sticks to the bottom of the page.
183
+ </p>
184
+ <div className="space-y-4">
185
+ {[1, 2, 3].map((i) => (
186
+ <div key={i} className="p-6 border rounded-lg">
187
+ <h2 className="text-xl font-semibold mb-2">Section {i}</h2>
188
+ <p className="text-muted-foreground">
189
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit.
190
+ Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
191
+ </p>
192
+ </div>
193
+ ))}
194
+ </div>
195
+ </div>
196
+ </main>
197
+ <Footer
198
+ columns={defaultColumns}
199
+ socialLinks={defaultSocialLinks}
200
+ copyright="© 2024 Wakastart. Tous droits réservés."
201
+ />
202
+ </div>
203
+ ),
204
+ }
205
+
206
+ export const DarkVariant: Story = {
207
+ render: () => (
208
+ <div className="dark">
209
+ <div className="bg-background text-foreground">
210
+ <div className="p-8">
211
+ <h1 className="text-2xl font-bold mb-4">Dark Mode Footer</h1>
212
+ <p className="text-muted-foreground mb-8">
213
+ The footer adapts to dark mode automatically.
214
+ </p>
215
+ </div>
216
+ <Footer
217
+ columns={defaultColumns}
218
+ socialLinks={defaultSocialLinks}
219
+ copyright="© 2024 Dark Mode Inc."
220
+ />
221
+ </div>
222
+ </div>
223
+ ),
224
+ }
225
+
226
+ export const CustomCopyright: Story = {
227
+ render: () => (
228
+ <Footer
229
+ columns={defaultColumns.slice(0, 2)}
230
+ socialLinks={defaultSocialLinks.slice(0, 2)}
231
+ copyright="Made with ❤️ by the Wakastart team. © 2020-2024"
232
+ />
233
+ ),
234
+ }
235
+
236
+ export const EcommerceFooter: Story = {
237
+ render: () => {
238
+ const ecommerceColumns: FooterColumn[] = [
239
+ {
240
+ title: 'Boutique',
241
+ links: [
242
+ { label: 'Nouveautés', href: '/new' },
243
+ { label: 'Promotions', href: '/sales' },
244
+ { label: 'Meilleures ventes', href: '/bestsellers' },
245
+ { label: 'Toutes les catégories', href: '/categories' },
246
+ ],
247
+ },
248
+ {
249
+ title: 'Service client',
250
+ links: [
251
+ { label: 'Suivi de commande', href: '/tracking' },
252
+ { label: 'Retours et remboursements', href: '/returns' },
253
+ { label: 'Livraison', href: '/shipping' },
254
+ { label: 'FAQ', href: '/faq' },
255
+ ],
256
+ },
257
+ {
258
+ title: 'Mon compte',
259
+ links: [
260
+ { label: 'Connexion', href: '/login' },
261
+ { label: 'Créer un compte', href: '/register' },
262
+ { label: 'Mes commandes', href: '/orders' },
263
+ { label: 'Liste de souhaits', href: '/wishlist' },
264
+ ],
265
+ },
266
+ ]
267
+
268
+ return (
269
+ <Footer
270
+ columns={ecommerceColumns}
271
+ socialLinks={defaultSocialLinks}
272
+ copyright="© 2024 ShopMax. Tous droits réservés."
273
+ />
274
+ )
275
+ },
276
+ }
277
+
278
+ export const SaaSFooter: Story = {
279
+ render: () => {
280
+ const saasColumns: FooterColumn[] = [
281
+ {
282
+ title: 'Product',
283
+ links: [
284
+ { label: 'Features', href: '/features' },
285
+ { label: 'Integrations', href: '/integrations' },
286
+ { label: 'Pricing', href: '/pricing' },
287
+ { label: 'Changelog', href: '/changelog' },
288
+ { label: 'Roadmap', href: '/roadmap' },
289
+ ],
290
+ },
291
+ {
292
+ title: 'Developers',
293
+ links: [
294
+ { label: 'API Reference', href: '/api' },
295
+ { label: 'SDKs', href: '/sdks' },
296
+ { label: 'Webhooks', href: '/webhooks' },
297
+ { label: 'Status Page', href: '/status' },
298
+ ],
299
+ },
300
+ {
301
+ title: 'Resources',
302
+ links: [
303
+ { label: 'Documentation', href: '/docs' },
304
+ { label: 'Guides', href: '/guides' },
305
+ { label: 'Blog', href: '/blog' },
306
+ { label: 'Community', href: '/community' },
307
+ ],
308
+ },
309
+ {
310
+ title: 'Company',
311
+ links: [
312
+ { label: 'About', href: '/about' },
313
+ { label: 'Careers', href: '/careers' },
314
+ { label: 'Contact', href: '/contact' },
315
+ { label: 'Partners', href: '/partners' },
316
+ ],
317
+ },
318
+ ]
319
+
320
+ return (
321
+ <Footer
322
+ columns={saasColumns}
323
+ socialLinks={defaultSocialLinks}
324
+ copyright="© 2024 SaaS Platform Inc. All rights reserved."
325
+ />
326
+ )
327
+ },
328
+ }