@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.
- package/README.md +130 -11
- package/app/components/X/Mark/CodeBlock/index.vue +19 -7
- package/app/components/X/Mark/Divider/Glow.vue +25 -19
- package/app/components/X/Mark/Section/Stitch.vue +45 -31
- package/app/composables/{useParallax.ts → useParallax.js} +6 -7
- package/app/composables/{useScrollReveal.ts → useScrollReveal.js} +4 -4
- package/nuxt.config.ts +1 -11
- package/package.json +1 -1
- package/.claude/settings.local.json +0 -23
- package/.nuxtrc +0 -1
- package/.playground/app.config.ts +0 -74
- package/.playground/app.vue +0 -269
- package/.playground/components/AppFooter.vue +0 -103
- package/.playground/components/AppHeader.vue +0 -41
- package/.playground/components/CodeExample.vue +0 -70
- package/.playground/components/ComponentPlayground.vue +0 -117
- package/.playground/components/DocsHeader.vue +0 -19
- package/.playground/layouts/default.vue +0 -15
- package/.playground/layouts/docs-layout.vue +0 -161
- package/.playground/layouts/docs.vue +0 -11
- package/.playground/nuxt.config.ts +0 -5
- package/.playground/package-lock.json +0 -6
- package/.playground/pages/blog/author.vue +0 -145
- package/.playground/pages/blog/card.vue +0 -149
- package/.playground/pages/blog/cta.vue +0 -131
- package/.playground/pages/blog/detail.vue +0 -471
- package/.playground/pages/blog/list.vue +0 -261
- package/.playground/pages/blog/navigation.vue +0 -228
- package/.playground/pages/blog/sidebar.vue +0 -279
- package/.playground/pages/config.vue +0 -289
- package/.playground/pages/content/comparison.vue +0 -253
- package/.playground/pages/content/cta.vue +0 -245
- package/.playground/pages/content/features.vue +0 -217
- package/.playground/pages/content/newsletter-section.vue +0 -260
- package/.playground/pages/content/newsletter.vue +0 -200
- package/.playground/pages/content/pricing.vue +0 -335
- package/.playground/pages/content/testimonials.vue +0 -188
- package/.playground/pages/hero.vue +0 -257
- package/.playground/pages/index.vue +0 -381
- package/.playground/pages/layout/footer.vue +0 -210
- package/.playground/pages/layout/legal-footer.vue +0 -121
- package/.playground/pages/layout/navbar.vue +0 -285
- package/.playground/pages/layout/section.vue +0 -266
- package/.playground/pages/layout/x-legal.vue +0 -199
- package/.playground/pages/modals/feature-modal.vue +0 -320
- package/.playground/pages/modals/image-lightbox.vue +0 -277
- package/.playground/pages/modals/video-modal.vue +0 -222
- package/.playground/pages/notifications/announcement-bar.vue +0 -164
- package/.playground/pages/notifications/cookie-banner.vue +0 -210
- package/.playground/pages/notifications/cookie-toast.vue +0 -143
- package/.playground/pages/notifications/gdpr.vue +0 -276
- package/.playground/pages/notifications/social-proof-toast.vue +0 -515
- package/.playground/pages/ui/badge.vue +0 -161
- package/.playground/pages/ui/bg-pattern.vue +0 -177
- package/.playground/pages/ui/glass-card.vue +0 -179
- package/.playground/pages/ui/glow-divider.vue +0 -179
- package/.playground/pages/ui/promo-card.vue +0 -259
- package/.playground/pages/ui/section-stitch.vue +0 -411
- package/.playground/pages/utilities/back-to-top.vue +0 -153
- package/.playground/pages/utilities/popup-chat.vue +0 -224
- package/componentList.json +0 -2129
- package/screenshots/playground-home.png +0 -0
- package/tsconfig.json +0 -3
- /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>
|