@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,259 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div class="min-h-screen">
|
|
3
|
-
<div class="bg-white dark:bg-neutral-900 border-b border-neutral-200 dark:border-neutral-800 px-8 py-6">
|
|
4
|
-
<h1 class="text-2xl font-bold text-neutral-900 dark:text-white">Promo Card</h1>
|
|
5
|
-
<p class="mt-2 text-neutral-600 dark:text-neutral-400">Story-style promotional cards with background images.</p>
|
|
6
|
-
</div>
|
|
7
|
-
|
|
8
|
-
<div class="p-8 space-y-12">
|
|
9
|
-
<!-- Basic Grid -->
|
|
10
|
-
<section>
|
|
11
|
-
<h2 class="text-lg font-semibold mb-4">Promo Card Grid</h2>
|
|
12
|
-
<div class="grid grid-cols-2 md:grid-cols-4 gap-4">
|
|
13
|
-
<XMarkCardPromo
|
|
14
|
-
v-for="card in promoCards"
|
|
15
|
-
:key="card.title"
|
|
16
|
-
:img="{ src: card.image }"
|
|
17
|
-
:title="card.title"
|
|
18
|
-
:badge="card.badge"
|
|
19
|
-
>
|
|
20
|
-
{{ card.description }}
|
|
21
|
-
</XMarkCardPromo>
|
|
22
|
-
</div>
|
|
23
|
-
</section>
|
|
24
|
-
|
|
25
|
-
<!-- Alignment Options -->
|
|
26
|
-
<section>
|
|
27
|
-
<h2 class="text-lg font-semibold mb-4">Content Alignment</h2>
|
|
28
|
-
<div class="grid grid-cols-2 md:grid-cols-4 gap-4">
|
|
29
|
-
<XMarkCardPromo
|
|
30
|
-
:img="{ src: 'https://images.unsplash.com/photo-1557682250-33bd709cbe85?w=400&h=600&fit=crop' }"
|
|
31
|
-
title="Bottom Left"
|
|
32
|
-
align="bottomLeft"
|
|
33
|
-
/>
|
|
34
|
-
<XMarkCardPromo
|
|
35
|
-
:img="{ src: 'https://images.unsplash.com/photo-1579546929518-9e396f3cc809?w=400&h=600&fit=crop' }"
|
|
36
|
-
title="Bottom Right"
|
|
37
|
-
align="bottomRight"
|
|
38
|
-
/>
|
|
39
|
-
<XMarkCardPromo
|
|
40
|
-
:img="{ src: 'https://images.unsplash.com/photo-1557682268-e3955ed5d83f?w=400&h=600&fit=crop' }"
|
|
41
|
-
title="Bottom Center"
|
|
42
|
-
align="bottomCenter"
|
|
43
|
-
/>
|
|
44
|
-
<XMarkCardPromo
|
|
45
|
-
:img="{ src: 'https://images.unsplash.com/photo-1557682224-5b8590cd9ec5?w=400&h=600&fit=crop' }"
|
|
46
|
-
title="Top Left"
|
|
47
|
-
badge="NEW"
|
|
48
|
-
align="topLeft"
|
|
49
|
-
/>
|
|
50
|
-
</div>
|
|
51
|
-
</section>
|
|
52
|
-
|
|
53
|
-
<!-- Overlay Styles -->
|
|
54
|
-
<section>
|
|
55
|
-
<h2 class="text-lg font-semibold mb-4">Overlay Styles</h2>
|
|
56
|
-
<div class="grid grid-cols-3 gap-4">
|
|
57
|
-
<XMarkCardPromo
|
|
58
|
-
:img="{ src: 'https://images.unsplash.com/photo-1533134486753-c833f0ed4866?w=400&h=600&fit=crop' }"
|
|
59
|
-
title="Light Overlay"
|
|
60
|
-
overlay="light"
|
|
61
|
-
>
|
|
62
|
-
30% opacity
|
|
63
|
-
</XMarkCardPromo>
|
|
64
|
-
<XMarkCardPromo
|
|
65
|
-
:img="{ src: 'https://images.unsplash.com/photo-1533134486753-c833f0ed4866?w=400&h=600&fit=crop' }"
|
|
66
|
-
title="Gradient Overlay"
|
|
67
|
-
overlay="gradient"
|
|
68
|
-
>
|
|
69
|
-
Default gradient
|
|
70
|
-
</XMarkCardPromo>
|
|
71
|
-
<XMarkCardPromo
|
|
72
|
-
:img="{ src: 'https://images.unsplash.com/photo-1533134486753-c833f0ed4866?w=400&h=600&fit=crop' }"
|
|
73
|
-
title="Heavy Overlay"
|
|
74
|
-
overlay="heavy"
|
|
75
|
-
>
|
|
76
|
-
60% opacity
|
|
77
|
-
</XMarkCardPromo>
|
|
78
|
-
</div>
|
|
79
|
-
</section>
|
|
80
|
-
|
|
81
|
-
<!-- With CTA Button -->
|
|
82
|
-
<section>
|
|
83
|
-
<h2 class="text-lg font-semibold mb-4">With CTA Button</h2>
|
|
84
|
-
<div class="grid grid-cols-2 md:grid-cols-4 gap-4">
|
|
85
|
-
<XMarkCardPromo
|
|
86
|
-
:img="{ src: 'https://images.unsplash.com/photo-1614850523459-c2f4c699c52e?w=400&h=600&fit=crop' }"
|
|
87
|
-
title="Summer Sale"
|
|
88
|
-
badge="50% OFF"
|
|
89
|
-
:button="{ label: 'Shop Now', color: 'white' }"
|
|
90
|
-
>
|
|
91
|
-
Limited time offer
|
|
92
|
-
</XMarkCardPromo>
|
|
93
|
-
<XMarkCardPromo
|
|
94
|
-
:img="{ src: 'https://images.unsplash.com/photo-1614850523296-d8c1af93d400?w=400&h=600&fit=crop' }"
|
|
95
|
-
title="New Collection"
|
|
96
|
-
:button="{ label: 'Explore', variant: 'outline', color: 'white' }"
|
|
97
|
-
>
|
|
98
|
-
Fresh arrivals
|
|
99
|
-
</XMarkCardPromo>
|
|
100
|
-
</div>
|
|
101
|
-
</section>
|
|
102
|
-
|
|
103
|
-
<!-- Title Sizes -->
|
|
104
|
-
<section>
|
|
105
|
-
<h2 class="text-lg font-semibold mb-4">Title Sizes</h2>
|
|
106
|
-
<div class="grid grid-cols-2 md:grid-cols-4 gap-4">
|
|
107
|
-
<XMarkCardPromo
|
|
108
|
-
:img="{ src: 'https://images.unsplash.com/photo-1557682250-33bd709cbe85?w=400&h=600&fit=crop' }"
|
|
109
|
-
title="Small Title"
|
|
110
|
-
title-size="lg"
|
|
111
|
-
/>
|
|
112
|
-
<XMarkCardPromo
|
|
113
|
-
:img="{ src: 'https://images.unsplash.com/photo-1579546929518-9e396f3cc809?w=400&h=600&fit=crop' }"
|
|
114
|
-
title="Default XL"
|
|
115
|
-
title-size="xl"
|
|
116
|
-
/>
|
|
117
|
-
<XMarkCardPromo
|
|
118
|
-
:img="{ src: 'https://images.unsplash.com/photo-1557682268-e3955ed5d83f?w=400&h=600&fit=crop' }"
|
|
119
|
-
title="Large 3XL"
|
|
120
|
-
title-size="3xl"
|
|
121
|
-
/>
|
|
122
|
-
<XMarkCardPromo
|
|
123
|
-
:img="{ src: 'https://images.unsplash.com/photo-1557682224-5b8590cd9ec5?w=400&h=600&fit=crop' }"
|
|
124
|
-
title="Hero 5XL"
|
|
125
|
-
title-size="5xl"
|
|
126
|
-
/>
|
|
127
|
-
</div>
|
|
128
|
-
</section>
|
|
129
|
-
|
|
130
|
-
<!-- As Links -->
|
|
131
|
-
<section>
|
|
132
|
-
<h2 class="text-lg font-semibold mb-4">As Navigation Links</h2>
|
|
133
|
-
<p class="text-sm text-neutral-500 mb-4">Use the `to` prop to make cards navigable with NuxtLink</p>
|
|
134
|
-
<div class="grid grid-cols-2 md:grid-cols-4 gap-4">
|
|
135
|
-
<XMarkCardPromo
|
|
136
|
-
to="/blog"
|
|
137
|
-
:img="{ src: 'https://images.unsplash.com/photo-1499750310107-5fef28a66643?w=400&h=600&fit=crop' }"
|
|
138
|
-
title="Blog"
|
|
139
|
-
badge="NEW"
|
|
140
|
-
:button="{ label: 'Read More' }"
|
|
141
|
-
>
|
|
142
|
-
Latest articles
|
|
143
|
-
</XMarkCardPromo>
|
|
144
|
-
<XMarkCardPromo
|
|
145
|
-
to="/docs"
|
|
146
|
-
:img="{ src: 'https://images.unsplash.com/photo-1456513080510-7bf3a84b82f8?w=400&h=600&fit=crop' }"
|
|
147
|
-
title="Documentation"
|
|
148
|
-
:button="{ label: 'Get Started' }"
|
|
149
|
-
>
|
|
150
|
-
Learn the basics
|
|
151
|
-
</XMarkCardPromo>
|
|
152
|
-
</div>
|
|
153
|
-
</section>
|
|
154
|
-
|
|
155
|
-
<!-- Props -->
|
|
156
|
-
<section>
|
|
157
|
-
<h2 class="text-lg font-semibold mb-4">Props</h2>
|
|
158
|
-
<table class="w-full text-sm">
|
|
159
|
-
<thead>
|
|
160
|
-
<tr class="border-b border-neutral-200 dark:border-neutral-700">
|
|
161
|
-
<th class="text-left py-3 px-4">Prop</th>
|
|
162
|
-
<th class="text-left py-3 px-4">Type</th>
|
|
163
|
-
<th class="text-left py-3 px-4">Default</th>
|
|
164
|
-
<th class="text-left py-3 px-4">Description</th>
|
|
165
|
-
</tr>
|
|
166
|
-
</thead>
|
|
167
|
-
<tbody class="divide-y divide-neutral-200 dark:divide-neutral-700">
|
|
168
|
-
<tr><td class="py-3 px-4 font-mono text-xs">to</td><td class="py-3 px-4">String</td><td class="py-3 px-4">''</td><td class="py-3 px-4">Navigation URL (uses NuxtLink)</td></tr>
|
|
169
|
-
<tr><td class="py-3 px-4 font-mono text-xs">img</td><td class="py-3 px-4">Object</td><td class="py-3 px-4">required</td><td class="py-3 px-4">{ src: string, alt?: string }</td></tr>
|
|
170
|
-
<tr><td class="py-3 px-4 font-mono text-xs">title</td><td class="py-3 px-4">String</td><td class="py-3 px-4">required</td><td class="py-3 px-4">Card title</td></tr>
|
|
171
|
-
<tr><td class="py-3 px-4 font-mono text-xs">badge</td><td class="py-3 px-4">String</td><td class="py-3 px-4">''</td><td class="py-3 px-4">Optional badge text</td></tr>
|
|
172
|
-
<tr><td class="py-3 px-4 font-mono text-xs">button</td><td class="py-3 px-4">Object</td><td class="py-3 px-4">null</td><td class="py-3 px-4">{ label: string, color?: string, variant?: string }</td></tr>
|
|
173
|
-
<tr><td class="py-3 px-4 font-mono text-xs">align</td><td class="py-3 px-4">String</td><td class="py-3 px-4">bottomLeft</td><td class="py-3 px-4">bottomLeft, bottomRight, bottomCenter, topLeft</td></tr>
|
|
174
|
-
<tr><td class="py-3 px-4 font-mono text-xs">overlay</td><td class="py-3 px-4">String</td><td class="py-3 px-4">gradient</td><td class="py-3 px-4">light, heavy, gradient</td></tr>
|
|
175
|
-
<tr><td class="py-3 px-4 font-mono text-xs">hoverable</td><td class="py-3 px-4">Boolean</td><td class="py-3 px-4">true</td><td class="py-3 px-4">Enable lift on hover</td></tr>
|
|
176
|
-
<tr><td class="py-3 px-4 font-mono text-xs">titleSize</td><td class="py-3 px-4">String</td><td class="py-3 px-4">xl</td><td class="py-3 px-4">xs, sm, base, lg, xl, 2xl, 3xl, 4xl, 5xl, 6xl, 7xl, 8xl</td></tr>
|
|
177
|
-
</tbody>
|
|
178
|
-
</table>
|
|
179
|
-
</section>
|
|
180
|
-
|
|
181
|
-
<!-- Code Example -->
|
|
182
|
-
<section>
|
|
183
|
-
<h2 class="text-lg font-semibold mb-4">Code Example</h2>
|
|
184
|
-
<CodeExample title="Promo Card Usage" :code="codeExample" />
|
|
185
|
-
</section>
|
|
186
|
-
</div>
|
|
187
|
-
</div>
|
|
188
|
-
</template>
|
|
189
|
-
|
|
190
|
-
<script setup>
|
|
191
|
-
const codeExample = `<!-- Basic promo card -->
|
|
192
|
-
<XMarkCardPromo
|
|
193
|
-
:img="{ src: 'https://images.unsplash.com/photo-...' }"
|
|
194
|
-
title="Summer Sale"
|
|
195
|
-
badge="50% OFF"
|
|
196
|
-
>
|
|
197
|
-
Limited time offer
|
|
198
|
-
</XMarkCardPromo>
|
|
199
|
-
|
|
200
|
-
<!-- With large title -->
|
|
201
|
-
<XMarkCardPromo
|
|
202
|
-
:img="{ src: 'https://images.unsplash.com/photo-...' }"
|
|
203
|
-
title="Big Impact"
|
|
204
|
-
title-size="5xl"
|
|
205
|
-
/>
|
|
206
|
-
|
|
207
|
-
<!-- With CTA button -->
|
|
208
|
-
<XMarkCardPromo
|
|
209
|
-
:img="{ src: 'https://images.unsplash.com/photo-...' }"
|
|
210
|
-
title="New Collection"
|
|
211
|
-
:button="{ label: 'Shop Now' }"
|
|
212
|
-
overlay="gradient"
|
|
213
|
-
/>
|
|
214
|
-
|
|
215
|
-
<!-- As navigation link -->
|
|
216
|
-
<XMarkCardPromo
|
|
217
|
-
to="/products"
|
|
218
|
-
:img="{ src: 'https://images.unsplash.com/photo-...', alt: 'Products' }"
|
|
219
|
-
title="Browse Products"
|
|
220
|
-
:button="{ label: 'View All' }"
|
|
221
|
-
/>
|
|
222
|
-
|
|
223
|
-
<!-- Grid layout -->
|
|
224
|
-
<div class="grid grid-cols-2 md:grid-cols-4 gap-4">
|
|
225
|
-
<XMarkCardPromo
|
|
226
|
-
v-for="card in cards"
|
|
227
|
-
:key="card.title"
|
|
228
|
-
:to="card.url"
|
|
229
|
-
:img="{ src: card.image, alt: card.title }"
|
|
230
|
-
:title="card.title"
|
|
231
|
-
:badge="card.badge"
|
|
232
|
-
/>
|
|
233
|
-
</div>`
|
|
234
|
-
|
|
235
|
-
const promoCards = [
|
|
236
|
-
{
|
|
237
|
-
image: 'https://images.unsplash.com/photo-1618005182384-a83a8bd57fbe?w=400&h=600&fit=crop',
|
|
238
|
-
title: 'Design',
|
|
239
|
-
badge: 'NEW',
|
|
240
|
-
description: 'Modern aesthetics'
|
|
241
|
-
},
|
|
242
|
-
{
|
|
243
|
-
image: 'https://images.unsplash.com/photo-1620641788421-7a1c342ea42e?w=400&h=600&fit=crop',
|
|
244
|
-
title: 'Development',
|
|
245
|
-
description: 'Clean code'
|
|
246
|
-
},
|
|
247
|
-
{
|
|
248
|
-
image: 'https://images.unsplash.com/photo-1618172193763-c511deb635ca?w=400&h=600&fit=crop',
|
|
249
|
-
title: 'Marketing',
|
|
250
|
-
badge: 'HOT',
|
|
251
|
-
description: 'Growth focused'
|
|
252
|
-
},
|
|
253
|
-
{
|
|
254
|
-
image: 'https://images.unsplash.com/photo-1618336753974-aae8e04506aa?w=400&h=600&fit=crop',
|
|
255
|
-
title: 'Analytics',
|
|
256
|
-
description: 'Data driven'
|
|
257
|
-
}
|
|
258
|
-
]
|
|
259
|
-
</script>
|
|
@@ -1,411 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div class="min-h-screen">
|
|
3
|
-
<div class="bg-white dark:bg-neutral-900 border-b border-neutral-200 dark:border-neutral-800 px-8 py-6">
|
|
4
|
-
<h1 class="text-2xl font-bold text-neutral-900 dark:text-white">Section Stitch</h1>
|
|
5
|
-
<p class="mt-2 text-neutral-600 dark:text-neutral-400">Dramatic decorative dividers between page sections.</p>
|
|
6
|
-
</div>
|
|
7
|
-
|
|
8
|
-
<div class="p-8 space-y-16">
|
|
9
|
-
<!-- Diagonal Variants -->
|
|
10
|
-
<section>
|
|
11
|
-
<h2 class="text-lg font-semibold mb-6">Diagonal Shapes (Full Width)</h2>
|
|
12
|
-
<div class="grid md:grid-cols-2 gap-8">
|
|
13
|
-
<!-- Diagonal -->
|
|
14
|
-
<div>
|
|
15
|
-
<p class="text-sm font-medium mb-2">Diagonal (top-left to bottom-right)</p>
|
|
16
|
-
<div class="rounded-xl overflow-hidden">
|
|
17
|
-
<div class="bg-primary-600 p-8 text-center">
|
|
18
|
-
<p class="text-white font-medium">Hero Section</p>
|
|
19
|
-
</div>
|
|
20
|
-
<XMarkSectionStitch
|
|
21
|
-
variant="diagonal"
|
|
22
|
-
top-color="rgb(79 70 229)"
|
|
23
|
-
bottom-color="rgb(17 24 39)"
|
|
24
|
-
height="xl"
|
|
25
|
-
/>
|
|
26
|
-
<div class="bg-gray-900 p-8 text-center">
|
|
27
|
-
<p class="text-gray-300">Content Section</p>
|
|
28
|
-
</div>
|
|
29
|
-
</div>
|
|
30
|
-
</div>
|
|
31
|
-
<!-- Slant -->
|
|
32
|
-
<div>
|
|
33
|
-
<p class="text-sm font-medium mb-2">Slant (top-right to bottom-left)</p>
|
|
34
|
-
<div class="rounded-xl overflow-hidden">
|
|
35
|
-
<div class="bg-emerald-600 p-8 text-center">
|
|
36
|
-
<p class="text-white font-medium">Hero Section</p>
|
|
37
|
-
</div>
|
|
38
|
-
<XMarkSectionStitch
|
|
39
|
-
variant="slant"
|
|
40
|
-
top-color="rgb(5 150 105)"
|
|
41
|
-
bottom-color="rgb(17 24 39)"
|
|
42
|
-
height="xl"
|
|
43
|
-
/>
|
|
44
|
-
<div class="bg-gray-900 p-8 text-center">
|
|
45
|
-
<p class="text-gray-300">Content Section</p>
|
|
46
|
-
</div>
|
|
47
|
-
</div>
|
|
48
|
-
</div>
|
|
49
|
-
</div>
|
|
50
|
-
</section>
|
|
51
|
-
|
|
52
|
-
<!-- Curved Variants -->
|
|
53
|
-
<section>
|
|
54
|
-
<h2 class="text-lg font-semibold mb-6">Curved Shapes</h2>
|
|
55
|
-
<div class="space-y-0 rounded-xl overflow-hidden">
|
|
56
|
-
<!-- Concave -->
|
|
57
|
-
<div class="bg-neutral-800 p-8 text-center">
|
|
58
|
-
<p class="text-white font-medium">Concave</p>
|
|
59
|
-
<p class="text-neutral-400 text-sm">Curves inward (scoops down)</p>
|
|
60
|
-
</div>
|
|
61
|
-
<XMarkSectionStitch
|
|
62
|
-
variant="concave"
|
|
63
|
-
top-color="rgb(38 38 38)"
|
|
64
|
-
bottom-color="rgb(64 64 64)"
|
|
65
|
-
height="xl"
|
|
66
|
-
/>
|
|
67
|
-
<div class="bg-neutral-700 p-6" />
|
|
68
|
-
|
|
69
|
-
<!-- Convex -->
|
|
70
|
-
<div class="bg-neutral-700 p-8 text-center">
|
|
71
|
-
<p class="text-white font-medium">Convex</p>
|
|
72
|
-
<p class="text-neutral-400 text-sm">Curves outward (bulges up)</p>
|
|
73
|
-
</div>
|
|
74
|
-
<XMarkSectionStitch
|
|
75
|
-
variant="convex"
|
|
76
|
-
top-color="rgb(64 64 64)"
|
|
77
|
-
bottom-color="rgb(82 82 82)"
|
|
78
|
-
height="xl"
|
|
79
|
-
/>
|
|
80
|
-
<div class="bg-neutral-600 p-6" />
|
|
81
|
-
</div>
|
|
82
|
-
</section>
|
|
83
|
-
|
|
84
|
-
<!-- Dramatic Variants -->
|
|
85
|
-
<section>
|
|
86
|
-
<h2 class="text-lg font-semibold mb-6">Dramatic Shapes</h2>
|
|
87
|
-
<div class="space-y-0 rounded-xl overflow-hidden">
|
|
88
|
-
<!-- Clouds -->
|
|
89
|
-
<div class="bg-sky-500 p-8 text-center">
|
|
90
|
-
<p class="text-white font-medium">Clouds</p>
|
|
91
|
-
<p class="text-sky-100 text-sm">Fluffy cloud-like bumps</p>
|
|
92
|
-
</div>
|
|
93
|
-
<XMarkSectionStitch
|
|
94
|
-
variant="clouds"
|
|
95
|
-
top-color="rgb(14 165 233)"
|
|
96
|
-
bottom-color="rgb(2 132 199)"
|
|
97
|
-
height="2xl"
|
|
98
|
-
/>
|
|
99
|
-
<div class="bg-sky-600 p-6" />
|
|
100
|
-
|
|
101
|
-
<!-- Waves -->
|
|
102
|
-
<div class="bg-sky-600 p-8 text-center">
|
|
103
|
-
<p class="text-white font-medium">Waves</p>
|
|
104
|
-
<p class="text-sky-100 text-sm">Flowing wave pattern</p>
|
|
105
|
-
</div>
|
|
106
|
-
<XMarkSectionStitch
|
|
107
|
-
variant="waves"
|
|
108
|
-
top-color="rgb(2 132 199)"
|
|
109
|
-
bottom-color="rgb(3 105 161)"
|
|
110
|
-
height="xl"
|
|
111
|
-
/>
|
|
112
|
-
<div class="bg-sky-700 p-6" />
|
|
113
|
-
|
|
114
|
-
<!-- Peaks -->
|
|
115
|
-
<div class="bg-sky-700 p-8 text-center">
|
|
116
|
-
<p class="text-white font-medium">Peaks</p>
|
|
117
|
-
<p class="text-sky-100 text-sm">Mountain-like jagged edges</p>
|
|
118
|
-
</div>
|
|
119
|
-
<XMarkSectionStitch
|
|
120
|
-
variant="peaks"
|
|
121
|
-
top-color="rgb(3 105 161)"
|
|
122
|
-
bottom-color="rgb(7 89 133)"
|
|
123
|
-
height="xl"
|
|
124
|
-
/>
|
|
125
|
-
<div class="bg-sky-800 p-6" />
|
|
126
|
-
</div>
|
|
127
|
-
</section>
|
|
128
|
-
|
|
129
|
-
<!-- More Variants -->
|
|
130
|
-
<section>
|
|
131
|
-
<h2 class="text-lg font-semibold mb-6">More Shapes</h2>
|
|
132
|
-
<div class="space-y-0 rounded-xl overflow-hidden">
|
|
133
|
-
<!-- Scallop -->
|
|
134
|
-
<div class="bg-purple-500 p-8 text-center">
|
|
135
|
-
<p class="text-white font-medium">Scallop</p>
|
|
136
|
-
<p class="text-purple-100 text-sm">Repeating curved pattern</p>
|
|
137
|
-
</div>
|
|
138
|
-
<XMarkSectionStitch
|
|
139
|
-
variant="scallop"
|
|
140
|
-
top-color="rgb(168 85 247)"
|
|
141
|
-
bottom-color="rgb(147 51 234)"
|
|
142
|
-
height="lg"
|
|
143
|
-
/>
|
|
144
|
-
<div class="bg-purple-600 p-6" />
|
|
145
|
-
|
|
146
|
-
<!-- Arrow -->
|
|
147
|
-
<div class="bg-purple-600 p-8 text-center">
|
|
148
|
-
<p class="text-white font-medium">Arrow</p>
|
|
149
|
-
<p class="text-purple-100 text-sm">Pointed center arrow</p>
|
|
150
|
-
</div>
|
|
151
|
-
<XMarkSectionStitch
|
|
152
|
-
variant="arrow"
|
|
153
|
-
top-color="rgb(147 51 234)"
|
|
154
|
-
bottom-color="rgb(126 34 206)"
|
|
155
|
-
height="xl"
|
|
156
|
-
/>
|
|
157
|
-
<div class="bg-purple-700 p-6" />
|
|
158
|
-
|
|
159
|
-
<!-- Tilt -->
|
|
160
|
-
<div class="bg-purple-700 p-8 text-center">
|
|
161
|
-
<p class="text-white font-medium">Tilt</p>
|
|
162
|
-
<p class="text-purple-100 text-sm">Steep diagonal angle</p>
|
|
163
|
-
</div>
|
|
164
|
-
<XMarkSectionStitch
|
|
165
|
-
variant="tilt"
|
|
166
|
-
top-color="rgb(126 34 206)"
|
|
167
|
-
bottom-color="rgb(107 33 168)"
|
|
168
|
-
height="lg"
|
|
169
|
-
/>
|
|
170
|
-
<div class="bg-purple-800 p-6" />
|
|
171
|
-
</div>
|
|
172
|
-
</section>
|
|
173
|
-
|
|
174
|
-
<!-- Height Sizes -->
|
|
175
|
-
<section>
|
|
176
|
-
<h2 class="text-lg font-semibold mb-6">Height Sizes</h2>
|
|
177
|
-
<div class="grid md:grid-cols-3 lg:grid-cols-6 gap-4">
|
|
178
|
-
<div v-for="size in ['sm', 'md', 'lg', 'xl', '2xl', '3xl']" :key="size">
|
|
179
|
-
<p class="text-sm font-medium mb-2 text-center">{{ size }}</p>
|
|
180
|
-
<div class="bg-primary-500 rounded-t-lg p-4" />
|
|
181
|
-
<XMarkSectionStitch
|
|
182
|
-
variant="concave"
|
|
183
|
-
top-color="rgb(99 102 241)"
|
|
184
|
-
bottom-color="rgb(79 70 229)"
|
|
185
|
-
:height="size"
|
|
186
|
-
/>
|
|
187
|
-
<div class="bg-primary-600 rounded-b-lg p-4" />
|
|
188
|
-
</div>
|
|
189
|
-
</div>
|
|
190
|
-
</section>
|
|
191
|
-
|
|
192
|
-
<!-- Reverse Options -->
|
|
193
|
-
<section>
|
|
194
|
-
<h2 class="text-lg font-semibold mb-6">Reverse & Invert</h2>
|
|
195
|
-
<div class="grid md:grid-cols-2 lg:grid-cols-4 gap-6">
|
|
196
|
-
<div>
|
|
197
|
-
<p class="text-sm font-medium mb-2">Normal</p>
|
|
198
|
-
<div class="rounded-xl overflow-hidden">
|
|
199
|
-
<div class="bg-amber-500 p-4 text-center">
|
|
200
|
-
<p class="text-white text-sm">Top</p>
|
|
201
|
-
</div>
|
|
202
|
-
<XMarkSectionStitch
|
|
203
|
-
variant="diagonal"
|
|
204
|
-
top-color="rgb(245 158 11)"
|
|
205
|
-
bottom-color="rgb(217 119 6)"
|
|
206
|
-
height="lg"
|
|
207
|
-
/>
|
|
208
|
-
<div class="bg-amber-600 p-4 text-center">
|
|
209
|
-
<p class="text-white text-sm">Bottom</p>
|
|
210
|
-
</div>
|
|
211
|
-
</div>
|
|
212
|
-
</div>
|
|
213
|
-
<div>
|
|
214
|
-
<p class="text-sm font-medium mb-2">Reverse (horizontal)</p>
|
|
215
|
-
<div class="rounded-xl overflow-hidden">
|
|
216
|
-
<div class="bg-amber-500 p-4 text-center">
|
|
217
|
-
<p class="text-white text-sm">Top</p>
|
|
218
|
-
</div>
|
|
219
|
-
<XMarkSectionStitch
|
|
220
|
-
variant="diagonal"
|
|
221
|
-
top-color="rgb(245 158 11)"
|
|
222
|
-
bottom-color="rgb(217 119 6)"
|
|
223
|
-
height="lg"
|
|
224
|
-
reverse
|
|
225
|
-
/>
|
|
226
|
-
<div class="bg-amber-600 p-4 text-center">
|
|
227
|
-
<p class="text-white text-sm">Bottom</p>
|
|
228
|
-
</div>
|
|
229
|
-
</div>
|
|
230
|
-
</div>
|
|
231
|
-
<div>
|
|
232
|
-
<p class="text-sm font-medium mb-2">Invert (vertical)</p>
|
|
233
|
-
<div class="rounded-xl overflow-hidden">
|
|
234
|
-
<div class="bg-amber-500 p-4 text-center">
|
|
235
|
-
<p class="text-white text-sm">Top</p>
|
|
236
|
-
</div>
|
|
237
|
-
<XMarkSectionStitch
|
|
238
|
-
variant="diagonal"
|
|
239
|
-
top-color="rgb(245 158 11)"
|
|
240
|
-
bottom-color="rgb(217 119 6)"
|
|
241
|
-
height="lg"
|
|
242
|
-
invert
|
|
243
|
-
/>
|
|
244
|
-
<div class="bg-amber-600 p-4 text-center">
|
|
245
|
-
<p class="text-white text-sm">Bottom</p>
|
|
246
|
-
</div>
|
|
247
|
-
</div>
|
|
248
|
-
</div>
|
|
249
|
-
<div>
|
|
250
|
-
<p class="text-sm font-medium mb-2">Both</p>
|
|
251
|
-
<div class="rounded-xl overflow-hidden">
|
|
252
|
-
<div class="bg-amber-500 p-4 text-center">
|
|
253
|
-
<p class="text-white text-sm">Top</p>
|
|
254
|
-
</div>
|
|
255
|
-
<XMarkSectionStitch
|
|
256
|
-
variant="diagonal"
|
|
257
|
-
top-color="rgb(245 158 11)"
|
|
258
|
-
bottom-color="rgb(217 119 6)"
|
|
259
|
-
height="lg"
|
|
260
|
-
reverse
|
|
261
|
-
invert
|
|
262
|
-
/>
|
|
263
|
-
<div class="bg-amber-600 p-4 text-center">
|
|
264
|
-
<p class="text-white text-sm">Bottom</p>
|
|
265
|
-
</div>
|
|
266
|
-
</div>
|
|
267
|
-
</div>
|
|
268
|
-
</div>
|
|
269
|
-
</section>
|
|
270
|
-
|
|
271
|
-
<!-- With Glow -->
|
|
272
|
-
<section>
|
|
273
|
-
<h2 class="text-lg font-semibold mb-6">With Glow Effect</h2>
|
|
274
|
-
<div class="rounded-xl overflow-hidden">
|
|
275
|
-
<div class="bg-neutral-950 p-12 text-center">
|
|
276
|
-
<p class="text-white text-xl font-bold">Dark Hero Section</p>
|
|
277
|
-
<p class="text-neutral-400 mt-2">With glowing accent divider</p>
|
|
278
|
-
</div>
|
|
279
|
-
<XMarkSectionStitch
|
|
280
|
-
variant="convex"
|
|
281
|
-
top-color="rgb(10 10 10)"
|
|
282
|
-
bottom-color="rgb(23 23 23)"
|
|
283
|
-
glow
|
|
284
|
-
glow-color="rgba(99, 102, 241, 0.6)"
|
|
285
|
-
height="2xl"
|
|
286
|
-
/>
|
|
287
|
-
<div class="bg-neutral-900 p-12 text-center">
|
|
288
|
-
<p class="text-neutral-300">Content continues below</p>
|
|
289
|
-
</div>
|
|
290
|
-
</div>
|
|
291
|
-
</section>
|
|
292
|
-
|
|
293
|
-
<!-- Real World Example -->
|
|
294
|
-
<section>
|
|
295
|
-
<h2 class="text-lg font-semibold mb-6">Real World Example</h2>
|
|
296
|
-
<div class="rounded-xl overflow-hidden">
|
|
297
|
-
<div class="bg-gradient-to-b from-primary-600 to-primary-700 p-16 text-center">
|
|
298
|
-
<h3 class="text-3xl font-bold text-white mb-4">Ready to get started?</h3>
|
|
299
|
-
<p class="text-primary-100 text-lg mb-8">Join thousands of happy customers today.</p>
|
|
300
|
-
<UButton size="lg" color="white">Start Free Trial</UButton>
|
|
301
|
-
</div>
|
|
302
|
-
<XMarkSectionStitch
|
|
303
|
-
variant="clouds"
|
|
304
|
-
top-color="rgb(67 56 202)"
|
|
305
|
-
bottom-color="rgb(17 24 39)"
|
|
306
|
-
height="3xl"
|
|
307
|
-
/>
|
|
308
|
-
<div class="bg-gray-900 p-16 text-center">
|
|
309
|
-
<h3 class="text-2xl font-bold text-white mb-4">Footer Section</h3>
|
|
310
|
-
<p class="text-gray-400">Beautiful cloud transition to footer</p>
|
|
311
|
-
</div>
|
|
312
|
-
</div>
|
|
313
|
-
</section>
|
|
314
|
-
|
|
315
|
-
<!-- Props -->
|
|
316
|
-
<section>
|
|
317
|
-
<h2 class="text-lg font-semibold mb-4">Props</h2>
|
|
318
|
-
<table class="w-full text-sm">
|
|
319
|
-
<thead>
|
|
320
|
-
<tr class="border-b border-neutral-200 dark:border-neutral-700">
|
|
321
|
-
<th class="text-left py-3 px-4">Prop</th>
|
|
322
|
-
<th class="text-left py-3 px-4">Type</th>
|
|
323
|
-
<th class="text-left py-3 px-4">Default</th>
|
|
324
|
-
<th class="text-left py-3 px-4">Description</th>
|
|
325
|
-
</tr>
|
|
326
|
-
</thead>
|
|
327
|
-
<tbody class="divide-y divide-neutral-200 dark:divide-neutral-700">
|
|
328
|
-
<tr><td class="py-3 px-4 font-mono text-xs">variant</td><td class="py-3 px-4">String</td><td class="py-3 px-4">diagonal</td><td class="py-3 px-4">diagonal, slant, concave, convex, clouds, waves, peaks, scallop, arrow, tilt</td></tr>
|
|
329
|
-
<tr><td class="py-3 px-4 font-mono text-xs">topColor</td><td class="py-3 px-4">String</td><td class="py-3 px-4">rgb(243 244 246)</td><td class="py-3 px-4">Top section color (CSS)</td></tr>
|
|
330
|
-
<tr><td class="py-3 px-4 font-mono text-xs">bottomColor</td><td class="py-3 px-4">String</td><td class="py-3 px-4">rgb(249 250 251)</td><td class="py-3 px-4">Bottom section color (CSS)</td></tr>
|
|
331
|
-
<tr><td class="py-3 px-4 font-mono text-xs">height</td><td class="py-3 px-4">String</td><td class="py-3 px-4">md</td><td class="py-3 px-4">sm, md, lg, xl, 2xl, 3xl</td></tr>
|
|
332
|
-
<tr><td class="py-3 px-4 font-mono text-xs">reverse</td><td class="py-3 px-4">Boolean</td><td class="py-3 px-4">false</td><td class="py-3 px-4">Reverse direction (flip horizontally)</td></tr>
|
|
333
|
-
<tr><td class="py-3 px-4 font-mono text-xs">invert</td><td class="py-3 px-4">Boolean</td><td class="py-3 px-4">false</td><td class="py-3 px-4">Invert vertically (swap top/bottom)</td></tr>
|
|
334
|
-
<tr><td class="py-3 px-4 font-mono text-xs">glow</td><td class="py-3 px-4">Boolean</td><td class="py-3 px-4">false</td><td class="py-3 px-4">Add glow line at center</td></tr>
|
|
335
|
-
<tr><td class="py-3 px-4 font-mono text-xs">glowColor</td><td class="py-3 px-4">String</td><td class="py-3 px-4">rgba(99, 102, 241, 0.5)</td><td class="py-3 px-4">Glow line color</td></tr>
|
|
336
|
-
</tbody>
|
|
337
|
-
</table>
|
|
338
|
-
</section>
|
|
339
|
-
|
|
340
|
-
<!-- Code Example -->
|
|
341
|
-
<section>
|
|
342
|
-
<h2 class="text-lg font-semibold mb-4">Code Example</h2>
|
|
343
|
-
<CodeExample title="Section Stitch Usage" :code="codeExample" />
|
|
344
|
-
</section>
|
|
345
|
-
</div>
|
|
346
|
-
</div>
|
|
347
|
-
</template>
|
|
348
|
-
|
|
349
|
-
<script setup>
|
|
350
|
-
const codeExample = `<!-- Full diagonal (corner to corner) -->
|
|
351
|
-
<XMarkSectionStitch
|
|
352
|
-
variant="diagonal"
|
|
353
|
-
top-color="rgb(79 70 229)"
|
|
354
|
-
bottom-color="rgb(17 24 39)"
|
|
355
|
-
height="xl"
|
|
356
|
-
/>
|
|
357
|
-
|
|
358
|
-
<!-- Slant (opposite direction) -->
|
|
359
|
-
<XMarkSectionStitch
|
|
360
|
-
variant="slant"
|
|
361
|
-
top-color="rgb(5 150 105)"
|
|
362
|
-
bottom-color="rgb(17 24 39)"
|
|
363
|
-
height="xl"
|
|
364
|
-
/>
|
|
365
|
-
|
|
366
|
-
<!-- Diagonal reversed -->
|
|
367
|
-
<XMarkSectionStitch
|
|
368
|
-
variant="diagonal"
|
|
369
|
-
top-color="rgb(79 70 229)"
|
|
370
|
-
bottom-color="rgb(17 24 39)"
|
|
371
|
-
height="xl"
|
|
372
|
-
reverse
|
|
373
|
-
/>
|
|
374
|
-
|
|
375
|
-
<!-- Dramatic cloud transition -->
|
|
376
|
-
<XMarkSectionStitch
|
|
377
|
-
variant="clouds"
|
|
378
|
-
top-color="rgb(79 70 229)"
|
|
379
|
-
bottom-color="rgb(17 24 39)"
|
|
380
|
-
height="3xl"
|
|
381
|
-
/>
|
|
382
|
-
|
|
383
|
-
<!-- Concave (scoops down) -->
|
|
384
|
-
<XMarkSectionStitch
|
|
385
|
-
variant="concave"
|
|
386
|
-
top-color="rgb(255 255 255)"
|
|
387
|
-
bottom-color="rgb(243 244 246)"
|
|
388
|
-
height="xl"
|
|
389
|
-
/>
|
|
390
|
-
|
|
391
|
-
<!-- Convex (bulges up) -->
|
|
392
|
-
<XMarkSectionStitch
|
|
393
|
-
variant="convex"
|
|
394
|
-
top-color="rgb(243 244 246)"
|
|
395
|
-
bottom-color="rgb(229 231 235)"
|
|
396
|
-
height="xl"
|
|
397
|
-
/>
|
|
398
|
-
|
|
399
|
-
<!-- With glow effect -->
|
|
400
|
-
<XMarkSectionStitch
|
|
401
|
-
variant="convex"
|
|
402
|
-
top-color="rgb(10 10 10)"
|
|
403
|
-
bottom-color="rgb(23 23 23)"
|
|
404
|
-
glow
|
|
405
|
-
glow-color="rgba(99, 102, 241, 0.6)"
|
|
406
|
-
height="2xl"
|
|
407
|
-
/>
|
|
408
|
-
|
|
409
|
-
<!-- Available variants -->
|
|
410
|
-
<!-- diagonal, slant, concave, convex, clouds, waves, peaks, scallop, arrow, tilt -->`
|
|
411
|
-
</script>
|