@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,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 &amp; 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>