@xenterprises/nuxt-x-marketing 1.0.2 → 1.1.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 (64) hide show
  1. package/README.md +130 -11
  2. package/app/components/X/Mark/CodeBlock/index.vue +19 -7
  3. package/app/components/X/Mark/Divider/Glow.vue +25 -19
  4. package/app/components/X/Mark/Section/Stitch.vue +45 -31
  5. package/app/composables/{useParallax.ts → useParallax.js} +6 -7
  6. package/app/composables/{useScrollReveal.ts → useScrollReveal.js} +4 -4
  7. package/nuxt.config.ts +1 -11
  8. package/package.json +1 -1
  9. package/.claude/settings.local.json +0 -23
  10. package/.nuxtrc +0 -1
  11. package/.playground/app.config.ts +0 -74
  12. package/.playground/app.vue +0 -269
  13. package/.playground/components/AppFooter.vue +0 -103
  14. package/.playground/components/AppHeader.vue +0 -41
  15. package/.playground/components/CodeExample.vue +0 -70
  16. package/.playground/components/ComponentPlayground.vue +0 -117
  17. package/.playground/components/DocsHeader.vue +0 -19
  18. package/.playground/layouts/default.vue +0 -15
  19. package/.playground/layouts/docs-layout.vue +0 -161
  20. package/.playground/layouts/docs.vue +0 -11
  21. package/.playground/nuxt.config.ts +0 -5
  22. package/.playground/package-lock.json +0 -6
  23. package/.playground/pages/blog/author.vue +0 -145
  24. package/.playground/pages/blog/card.vue +0 -149
  25. package/.playground/pages/blog/cta.vue +0 -131
  26. package/.playground/pages/blog/detail.vue +0 -471
  27. package/.playground/pages/blog/list.vue +0 -261
  28. package/.playground/pages/blog/navigation.vue +0 -228
  29. package/.playground/pages/blog/sidebar.vue +0 -279
  30. package/.playground/pages/config.vue +0 -289
  31. package/.playground/pages/content/comparison.vue +0 -253
  32. package/.playground/pages/content/cta.vue +0 -245
  33. package/.playground/pages/content/features.vue +0 -217
  34. package/.playground/pages/content/newsletter-section.vue +0 -260
  35. package/.playground/pages/content/newsletter.vue +0 -200
  36. package/.playground/pages/content/pricing.vue +0 -335
  37. package/.playground/pages/content/testimonials.vue +0 -188
  38. package/.playground/pages/hero.vue +0 -257
  39. package/.playground/pages/index.vue +0 -381
  40. package/.playground/pages/layout/footer.vue +0 -210
  41. package/.playground/pages/layout/legal-footer.vue +0 -121
  42. package/.playground/pages/layout/navbar.vue +0 -285
  43. package/.playground/pages/layout/section.vue +0 -266
  44. package/.playground/pages/layout/x-legal.vue +0 -199
  45. package/.playground/pages/modals/feature-modal.vue +0 -320
  46. package/.playground/pages/modals/image-lightbox.vue +0 -277
  47. package/.playground/pages/modals/video-modal.vue +0 -222
  48. package/.playground/pages/notifications/announcement-bar.vue +0 -164
  49. package/.playground/pages/notifications/cookie-banner.vue +0 -210
  50. package/.playground/pages/notifications/cookie-toast.vue +0 -143
  51. package/.playground/pages/notifications/gdpr.vue +0 -276
  52. package/.playground/pages/notifications/social-proof-toast.vue +0 -515
  53. package/.playground/pages/ui/badge.vue +0 -161
  54. package/.playground/pages/ui/bg-pattern.vue +0 -177
  55. package/.playground/pages/ui/glass-card.vue +0 -179
  56. package/.playground/pages/ui/glow-divider.vue +0 -179
  57. package/.playground/pages/ui/promo-card.vue +0 -259
  58. package/.playground/pages/ui/section-stitch.vue +0 -411
  59. package/.playground/pages/utilities/back-to-top.vue +0 -153
  60. package/.playground/pages/utilities/popup-chat.vue +0 -224
  61. package/componentList.json +0 -2129
  62. package/screenshots/playground-home.png +0 -0
  63. package/tsconfig.json +0 -3
  64. /package/app/composables/{useXBlog.ts → useXBlog.js} +0 -0
@@ -1,266 +0,0 @@
1
- <template>
2
- <div class="min-h-screen">
3
- <!-- Page Header -->
4
- <div class="bg-white dark:bg-neutral-900 border-b border-neutral-200 dark:border-neutral-800 px-8 py-6">
5
- <h1 class="text-2xl font-bold text-neutral-900 dark:text-white">Section</h1>
6
- <p class="mt-2 text-neutral-600 dark:text-neutral-400">
7
- Container wrapper with background variants, patterns, and images.
8
- </p>
9
- </div>
10
-
11
- <!-- Demo Content -->
12
- <div class="space-y-0">
13
- <!-- Default Background -->
14
- <XMarkSection bg="default" padding="lg">
15
- <div class="text-center">
16
- <span class="inline-block px-3 py-1 rounded-full bg-neutral-200 dark:bg-neutral-700 text-xs font-medium mb-4">bg="default"</span>
17
- <h2 class="xText-headline">Default Background</h2>
18
- <p class="mt-4 text-neutral-600 dark:text-neutral-400 max-w-xl mx-auto">
19
- White in light mode, dark in dark mode. The standard section background.
20
- </p>
21
- </div>
22
- </XMarkSection>
23
-
24
- <!-- Subtle Background -->
25
- <XMarkSection bg="subtle" padding="lg">
26
- <div class="text-center">
27
- <span class="inline-block px-3 py-1 rounded-full bg-neutral-200 dark:bg-neutral-700 text-xs font-medium mb-4">bg="subtle"</span>
28
- <h2 class="xText-headline">Subtle Background</h2>
29
- <p class="mt-4 text-neutral-600 dark:text-neutral-400 max-w-xl mx-auto">
30
- Light gray in light mode, slightly elevated in dark mode. Good for alternating sections.
31
- </p>
32
- </div>
33
- </XMarkSection>
34
-
35
- <!-- Elevated Background -->
36
- <XMarkSection bg="elevated" padding="lg">
37
- <div class="text-center">
38
- <span class="inline-block px-3 py-1 rounded-full bg-primary-200 dark:bg-primary-800 text-xs font-medium mb-4">bg="elevated"</span>
39
- <h2 class="xText-headline">Elevated Background</h2>
40
- <p class="mt-4 text-neutral-600 dark:text-neutral-400 max-w-xl mx-auto">
41
- Light primary tint for emphasis. Draws attention to featured sections.
42
- </p>
43
- </div>
44
- </XMarkSection>
45
-
46
- <!-- Bold Background -->
47
- <XMarkSection bg="bold" padding="lg">
48
- <div class="text-center">
49
- <span class="inline-block px-3 py-1 rounded-full bg-neutral-700 dark:bg-neutral-200 text-white dark:text-neutral-900 text-xs font-medium mb-4">bg="bold"</span>
50
- <h2 class="xText-headline">Bold Background</h2>
51
- <p class="mt-4 text-neutral-300 dark:text-neutral-600 max-w-xl mx-auto">
52
- Dark in light mode, light in dark mode. Great for CTAs and contrast.
53
- </p>
54
- </div>
55
- </XMarkSection>
56
-
57
- <!-- Custom Color -->
58
- <XMarkSection :bg="{ color: 'bg-gradient-to-br from-primary-500 to-primary-700' }" padding="lg">
59
- <div class="text-center">
60
- <span class="inline-block px-3 py-1 rounded-full bg-white/20 text-white text-xs font-medium mb-4">:bg="{ color: '...' }"</span>
61
- <h2 class="xText-headline text-white">Custom Color</h2>
62
- <p class="mt-4 text-white/80 max-w-xl mx-auto">
63
- Use bg.color for custom Tailwind background classes. Overrides variant presets.
64
- </p>
65
- </div>
66
- </XMarkSection>
67
-
68
- <!-- Custom Color with Pattern -->
69
- <XMarkSection :bg="{ color: 'bg-amber-50 dark:bg-amber-950', pattern: 'waves', patternOpacity: 0.08 }" padding="lg">
70
- <div class="text-center">
71
- <span class="inline-block px-3 py-1 rounded-full bg-amber-200 dark:bg-amber-800 text-amber-800 dark:text-amber-200 text-xs font-medium mb-4">color + pattern</span>
72
- <h2 class="xText-headline">Custom Color with Pattern</h2>
73
- <p class="mt-4 text-neutral-600 dark:text-neutral-400 max-w-xl mx-auto">
74
- Combine custom colors with patterns for unique section designs.
75
- </p>
76
- </div>
77
- </XMarkSection>
78
-
79
- <!-- With Pattern -->
80
- <XMarkSection :bg="{ variant: 'default', pattern: 'dots', patternOpacity: 0.1 }" padding="lg">
81
- <div class="text-center">
82
- <span class="inline-block px-3 py-1 rounded-full bg-neutral-200 dark:bg-neutral-700 text-xs font-medium mb-4">pattern: 'dots'</span>
83
- <h2 class="xText-headline">With Dot Pattern</h2>
84
- <p class="mt-4 text-neutral-600 dark:text-neutral-400 max-w-xl mx-auto">
85
- Subtle dot pattern overlay. Available patterns: dots, grid, diagonal, topography, circuit, waves.
86
- </p>
87
- </div>
88
- </XMarkSection>
89
-
90
- <!-- With Grid Pattern -->
91
- <XMarkSection :bg="{ variant: 'subtle', pattern: 'grid', patternOpacity: 0.08 }" padding="lg">
92
- <div class="text-center">
93
- <span class="inline-block px-3 py-1 rounded-full bg-neutral-200 dark:bg-neutral-700 text-xs font-medium mb-4">pattern: 'grid'</span>
94
- <h2 class="xText-headline">With Grid Pattern</h2>
95
- <p class="mt-4 text-neutral-600 dark:text-neutral-400 max-w-xl mx-auto">
96
- Grid pattern adds a technical, structured feel to sections.
97
- </p>
98
- </div>
99
- </XMarkSection>
100
-
101
- <!-- Props Documentation -->
102
- <XMarkSection bg="default" padding="xl">
103
- <h2 class="text-lg font-semibold mb-6">Props</h2>
104
- <div class="overflow-x-auto">
105
- <table class="w-full text-sm">
106
- <thead>
107
- <tr class="border-b border-neutral-200 dark:border-neutral-700">
108
- <th class="text-left py-3 px-4 font-medium">Prop</th>
109
- <th class="text-left py-3 px-4 font-medium">Type</th>
110
- <th class="text-left py-3 px-4 font-medium">Default</th>
111
- <th class="text-left py-3 px-4 font-medium">Description</th>
112
- </tr>
113
- </thead>
114
- <tbody class="divide-y divide-neutral-200 dark:divide-neutral-700">
115
- <tr>
116
- <td class="py-3 px-4 font-mono text-xs">bg</td>
117
- <td class="py-3 px-4">String | Object</td>
118
- <td class="py-3 px-4">'default'</td>
119
- <td class="py-3 px-4 text-neutral-600 dark:text-neutral-400">String shorthand for variant, or object with all bg options</td>
120
- </tr>
121
- <tr>
122
- <td class="py-3 px-4 font-mono text-xs">padding</td>
123
- <td class="py-3 px-4">String</td>
124
- <td class="py-3 px-4">'lg'</td>
125
- <td class="py-3 px-4 text-neutral-600 dark:text-neutral-400">none, xs, sm, md, lg, xl</td>
126
- </tr>
127
- <tr>
128
- <td class="py-3 px-4 font-mono text-xs">container</td>
129
- <td class="py-3 px-4">String</td>
130
- <td class="py-3 px-4">'lg'</td>
131
- <td class="py-3 px-4 text-neutral-600 dark:text-neutral-400">sm, md, lg, xl, full, none</td>
132
- </tr>
133
- </tbody>
134
- </table>
135
- </div>
136
-
137
- <h3 class="text-md font-semibold mt-8 mb-4">bg Object Properties</h3>
138
- <div class="overflow-x-auto">
139
- <table class="w-full text-sm">
140
- <thead>
141
- <tr class="border-b border-neutral-200 dark:border-neutral-700">
142
- <th class="text-left py-3 px-4 font-medium">Property</th>
143
- <th class="text-left py-3 px-4 font-medium">Type</th>
144
- <th class="text-left py-3 px-4 font-medium">Default</th>
145
- <th class="text-left py-3 px-4 font-medium">Description</th>
146
- </tr>
147
- </thead>
148
- <tbody class="divide-y divide-neutral-200 dark:divide-neutral-700">
149
- <tr>
150
- <td class="py-3 px-4 font-mono text-xs">variant</td>
151
- <td class="py-3 px-4">String</td>
152
- <td class="py-3 px-4">'default'</td>
153
- <td class="py-3 px-4 text-neutral-600 dark:text-neutral-400">default, subtle, elevated, bold, transparent</td>
154
- </tr>
155
- <tr>
156
- <td class="py-3 px-4 font-mono text-xs">color</td>
157
- <td class="py-3 px-4">String</td>
158
- <td class="py-3 px-4">''</td>
159
- <td class="py-3 px-4 text-neutral-600 dark:text-neutral-400">Custom Tailwind classes (overrides variant)</td>
160
- </tr>
161
- <tr>
162
- <td class="py-3 px-4 font-mono text-xs">image</td>
163
- <td class="py-3 px-4">String</td>
164
- <td class="py-3 px-4">''</td>
165
- <td class="py-3 px-4 text-neutral-600 dark:text-neutral-400">Background image URL</td>
166
- </tr>
167
- <tr>
168
- <td class="py-3 px-4 font-mono text-xs">imageAlt</td>
169
- <td class="py-3 px-4">String</td>
170
- <td class="py-3 px-4">''</td>
171
- <td class="py-3 px-4 text-neutral-600 dark:text-neutral-400">Background image alt text</td>
172
- </tr>
173
- <tr>
174
- <td class="py-3 px-4 font-mono text-xs">imageOverlay</td>
175
- <td class="py-3 px-4">String</td>
176
- <td class="py-3 px-4">''</td>
177
- <td class="py-3 px-4 text-neutral-600 dark:text-neutral-400">light, heavy, gradient</td>
178
- </tr>
179
- <tr>
180
- <td class="py-3 px-4 font-mono text-xs">imagePosition</td>
181
- <td class="py-3 px-4">String</td>
182
- <td class="py-3 px-4">'object-center'</td>
183
- <td class="py-3 px-4 text-neutral-600 dark:text-neutral-400">Tailwind object-position class</td>
184
- </tr>
185
- <tr>
186
- <td class="py-3 px-4 font-mono text-xs">pattern</td>
187
- <td class="py-3 px-4">String</td>
188
- <td class="py-3 px-4">''</td>
189
- <td class="py-3 px-4 text-neutral-600 dark:text-neutral-400">dots, grid, diagonal, topography, circuit, waves</td>
190
- </tr>
191
- <tr>
192
- <td class="py-3 px-4 font-mono text-xs">patternOpacity</td>
193
- <td class="py-3 px-4">Number</td>
194
- <td class="py-3 px-4">0.05</td>
195
- <td class="py-3 px-4 text-neutral-600 dark:text-neutral-400">0 to 1</td>
196
- </tr>
197
- <tr>
198
- <td class="py-3 px-4 font-mono text-xs">parallax</td>
199
- <td class="py-3 px-4">Boolean</td>
200
- <td class="py-3 px-4">false</td>
201
- <td class="py-3 px-4 text-neutral-600 dark:text-neutral-400">Enable parallax on background image</td>
202
- </tr>
203
- <tr>
204
- <td class="py-3 px-4 font-mono text-xs">parallaxSpeed</td>
205
- <td class="py-3 px-4">Number</td>
206
- <td class="py-3 px-4">0.3</td>
207
- <td class="py-3 px-4 text-neutral-600 dark:text-neutral-400">Parallax intensity (0.1 - 1.0)</td>
208
- </tr>
209
- </tbody>
210
- </table>
211
- </div>
212
- </XMarkSection>
213
-
214
- <!-- Code Example -->
215
- <XMarkSection bg="subtle" padding="lg">
216
- <h2 class="text-lg font-semibold mb-4">Code Example</h2>
217
- <CodeExample title="Section Usage" :code="codeExample" />
218
- </XMarkSection>
219
- </div>
220
- </div>
221
- </template>
222
-
223
- <script setup>
224
- // Initialize scroll reveal animations
225
- useScrollReveal()
226
-
227
- const codeExample = `<!-- String shorthand for variant -->
228
- <XMarkSection bg="default" padding="lg">
229
- <h2>Your Content</h2>
230
- </XMarkSection>
231
-
232
- <!-- Alternating sections -->
233
- <XMarkSection bg="default">...</XMarkSection>
234
- <XMarkSection bg="subtle">...</XMarkSection>
235
- <XMarkSection bg="default">...</XMarkSection>
236
-
237
- <!-- Object syntax with pattern -->
238
- <XMarkSection
239
- :bg="{
240
- variant: 'default',
241
- pattern: 'dots',
242
- patternOpacity: 0.08
243
- }"
244
- >
245
- <h2>Section with Pattern</h2>
246
- </XMarkSection>
247
-
248
- <!-- Custom color background -->
249
- <XMarkSection
250
- :bg="{ color: 'bg-gradient-to-br from-primary-500 to-primary-700' }"
251
- padding="xl"
252
- >
253
- <h2 class="text-white">CTA Section</h2>
254
- </XMarkSection>
255
-
256
- <!-- With background image -->
257
- <XMarkSection
258
- :bg="{
259
- image: '/hero-bg.jpg',
260
- imageOverlay: 'gradient',
261
- parallax: true
262
- }"
263
- >
264
- <h2>Hero Section</h2>
265
- </XMarkSection>`
266
- </script>
@@ -1,199 +0,0 @@
1
- <template>
2
- <div class="min-h-screen">
3
- <!-- Page Header -->
4
- <div class="bg-white dark:bg-neutral-900 border-b border-neutral-200 dark:border-neutral-800 px-8 py-6">
5
- <h1 class="text-2xl font-bold text-neutral-900 dark:text-white">X Legal Footer</h1>
6
- <p class="mt-2 text-neutral-600 dark:text-neutral-400">
7
- X Enterprises branded legal footer with configurable props. Defaults to X Enterprises branding if no props are set.
8
- </p>
9
- </div>
10
-
11
- <!-- Demo Content -->
12
- <div class="p-8 space-y-12">
13
- <!-- Default (X Enterprises) -->
14
- <section>
15
- <h2 class="text-lg font-semibold mb-4">Default (X Enterprises Branding)</h2>
16
- <p class="text-sm text-neutral-600 dark:text-neutral-400 mb-4">
17
- Without any props, displays X Enterprises logo, copyright, and legal links.
18
- </p>
19
- <div class="border border-neutral-200 dark:border-neutral-700 rounded-lg overflow-hidden">
20
- <XXLegal />
21
- </div>
22
- </section>
23
-
24
- <!-- Custom Copyright -->
25
- <section>
26
- <h2 class="text-lg font-semibold mb-4">Custom Copyright</h2>
27
- <div class="border border-neutral-200 dark:border-neutral-700 rounded-lg overflow-hidden">
28
- <XXLegal
29
- copyright="© 2024 Acme Corporation. All rights reserved."
30
- />
31
- </div>
32
- </section>
33
-
34
- <!-- Custom Links -->
35
- <section>
36
- <h2 class="text-lg font-semibold mb-4">Custom Links</h2>
37
- <div class="border border-neutral-200 dark:border-neutral-700 rounded-lg overflow-hidden">
38
- <XXLegal
39
- :links="customLinks"
40
- />
41
- </div>
42
- </section>
43
-
44
- <!-- Custom Logo -->
45
- <section>
46
- <h2 class="text-lg font-semibold mb-4">Custom Logo</h2>
47
- <div class="border border-neutral-200 dark:border-neutral-700 rounded-lg overflow-hidden">
48
- <XXLegal
49
- :logo="{ src: 'https://cdn.x.enterprises/logo-x.png', alt: 'Custom Logo', href: '/' }"
50
- copyright="© 2024 Custom Company"
51
- />
52
- </div>
53
- </section>
54
-
55
- <!-- No Logo -->
56
- <section>
57
- <h2 class="text-lg font-semibold mb-4">No Logo</h2>
58
- <div class="border border-neutral-200 dark:border-neutral-700 rounded-lg overflow-hidden">
59
- <XXLegal
60
- :logo="false"
61
- copyright="© 2024 Simple Company. All rights reserved."
62
- />
63
- </div>
64
- </section>
65
-
66
- <!-- Fully Custom -->
67
- <section>
68
- <h2 class="text-lg font-semibold mb-4">Fully Customized</h2>
69
- <div class="border border-neutral-200 dark:border-neutral-700 rounded-lg overflow-hidden">
70
- <XXLegal
71
- :logo="{ src: 'https://cdn.x.enterprises/logo-x.png', alt: 'Acme Inc', href: 'https://example.com' }"
72
- copyright="© 2020-2024 Acme Inc. Built with love."
73
- :links="fullCustomLinks"
74
- />
75
- </div>
76
- </section>
77
-
78
- <!-- Props Table -->
79
- <section>
80
- <h2 class="text-lg font-semibold mb-4">Props</h2>
81
- <div class="overflow-x-auto">
82
- <table class="w-full text-sm">
83
- <thead>
84
- <tr class="border-b border-neutral-200 dark:border-neutral-700">
85
- <th class="text-left py-3 px-4 font-medium">Prop</th>
86
- <th class="text-left py-3 px-4 font-medium">Type</th>
87
- <th class="text-left py-3 px-4 font-medium">Default</th>
88
- <th class="text-left py-3 px-4 font-medium">Description</th>
89
- </tr>
90
- </thead>
91
- <tbody class="divide-y divide-neutral-200 dark:divide-neutral-700">
92
- <tr>
93
- <td class="py-3 px-4 font-mono text-xs">copyright</td>
94
- <td class="py-3 px-4">String</td>
95
- <td class="py-3 px-4">X Enterprises copyright</td>
96
- <td class="py-3 px-4 text-neutral-600 dark:text-neutral-400">Copyright text displayed on the left</td>
97
- </tr>
98
- <tr>
99
- <td class="py-3 px-4 font-mono text-xs">links</td>
100
- <td class="py-3 px-4">Array</td>
101
- <td class="py-3 px-4">X Enterprises legal links</td>
102
- <td class="py-3 px-4 text-neutral-600 dark:text-neutral-400">Array of { label, href } for legal links</td>
103
- </tr>
104
- <tr>
105
- <td class="py-3 px-4 font-mono text-xs">logo</td>
106
- <td class="py-3 px-4">Object | false</td>
107
- <td class="py-3 px-4">X Enterprises logo</td>
108
- <td class="py-3 px-4 text-neutral-600 dark:text-neutral-400">Logo config { src, alt, href } or false to hide</td>
109
- </tr>
110
- </tbody>
111
- </table>
112
- </div>
113
- </section>
114
-
115
- <!-- Default Values -->
116
- <section>
117
- <h2 class="text-lg font-semibold mb-4">Default Values</h2>
118
- <div class="bg-neutral-50 dark:bg-neutral-800/50 rounded-lg p-6 space-y-4">
119
- <div>
120
- <h3 class="font-medium text-sm mb-2">Default Logo</h3>
121
- <code class="text-xs bg-neutral-200 dark:bg-neutral-700 px-2 py-1 rounded">
122
- { src: 'https://cdn.x.enterprises/logo-x.png', alt: 'X Enterprises', href: 'https://x.enterprises' }
123
- </code>
124
- </div>
125
- <div>
126
- <h3 class="font-medium text-sm mb-2">Default Copyright</h3>
127
- <code class="text-xs bg-neutral-200 dark:bg-neutral-700 px-2 py-1 rounded">
128
- Copyright ©2016-{{ new Date().getFullYear() }} X Enterprises, LLC. All Rights Reserved.
129
- </code>
130
- </div>
131
- <div>
132
- <h3 class="font-medium text-sm mb-2">Default Links</h3>
133
- <ul class="text-xs space-y-1 text-neutral-600 dark:text-neutral-400">
134
- <li>Terms of Service → https://x.enterprises/legal/terms</li>
135
- <li>Privacy Policy → https://x.enterprises/legal/privacy-policy</li>
136
- <li>Cookie Policy → https://x.enterprises/legal/cookie-policy</li>
137
- </ul>
138
- </div>
139
- </div>
140
- </section>
141
-
142
- <!-- Code Example -->
143
- <section>
144
- <h2 class="text-lg font-semibold mb-4">Code Example</h2>
145
- <CodeExample title="X Legal Footer Usage" :code="codeExample" />
146
- </section>
147
- </div>
148
- </div>
149
- </template>
150
-
151
- <script setup>
152
- const customLinks = [
153
- { label: 'Privacy Policy', href: '/privacy' },
154
- { label: 'Terms of Service', href: '/terms' },
155
- { label: 'Cookie Policy', href: '/cookies' },
156
- ]
157
-
158
- const fullCustomLinks = [
159
- { label: 'Terms', href: 'https://example.com/terms' },
160
- { label: 'Privacy', href: 'https://example.com/privacy' },
161
- { label: 'Cookies', href: 'https://example.com/cookies' },
162
- { label: 'GDPR', href: 'https://example.com/gdpr' },
163
- ]
164
-
165
- const codeExample = `<!-- Default (X Enterprises branding) -->
166
- <XXLegal />
167
-
168
- <!-- Custom copyright only -->
169
- <XXLegal
170
- copyright="© 2024 Your Company. All rights reserved."
171
- />
172
-
173
- <!-- Custom links -->
174
- <XXLegal
175
- :links="[
176
- { label: 'Privacy Policy', href: '/privacy' },
177
- { label: 'Terms of Service', href: '/terms' },
178
- { label: 'Cookie Policy', href: '/cookies' }
179
- ]"
180
- />
181
-
182
- <!-- Custom logo -->
183
- <XXLegal
184
- :logo="{ src: '/logo.png', alt: 'Company', href: '/' }"
185
- />
186
-
187
- <!-- Hide logo -->
188
- <XXLegal :logo="false" />
189
-
190
- <!-- Fully customized -->
191
- <XXLegal
192
- :logo="{ src: '/logo.png', alt: 'Company', href: '/' }"
193
- copyright="© 2024 Company Inc. All rights reserved."
194
- :links="[
195
- { label: 'Terms', href: '/terms' },
196
- { label: 'Privacy', href: '/privacy' }
197
- ]"
198
- />`
199
- </script>