@xenterprises/nuxt-x-marketing 1.0.3 → 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 (62) 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/package.json +1 -1
  8. package/.claude/settings.local.json +0 -8
  9. package/.nuxtrc +0 -1
  10. package/.playground/app.config.ts +0 -74
  11. package/.playground/app.vue +0 -269
  12. package/.playground/components/AppFooter.vue +0 -103
  13. package/.playground/components/AppHeader.vue +0 -41
  14. package/.playground/components/CodeExample.vue +0 -70
  15. package/.playground/components/ComponentPlayground.vue +0 -117
  16. package/.playground/components/DocsHeader.vue +0 -19
  17. package/.playground/layouts/default.vue +0 -15
  18. package/.playground/layouts/docs-layout.vue +0 -161
  19. package/.playground/layouts/docs.vue +0 -11
  20. package/.playground/nuxt.config.ts +0 -17
  21. package/.playground/pages/blog/author.vue +0 -145
  22. package/.playground/pages/blog/card.vue +0 -149
  23. package/.playground/pages/blog/cta.vue +0 -131
  24. package/.playground/pages/blog/detail.vue +0 -471
  25. package/.playground/pages/blog/list.vue +0 -261
  26. package/.playground/pages/blog/navigation.vue +0 -228
  27. package/.playground/pages/blog/sidebar.vue +0 -279
  28. package/.playground/pages/config.vue +0 -289
  29. package/.playground/pages/content/comparison.vue +0 -253
  30. package/.playground/pages/content/cta.vue +0 -245
  31. package/.playground/pages/content/features.vue +0 -217
  32. package/.playground/pages/content/newsletter-section.vue +0 -260
  33. package/.playground/pages/content/newsletter.vue +0 -200
  34. package/.playground/pages/content/pricing.vue +0 -335
  35. package/.playground/pages/content/testimonials.vue +0 -188
  36. package/.playground/pages/hero.vue +0 -257
  37. package/.playground/pages/index.vue +0 -381
  38. package/.playground/pages/layout/footer.vue +0 -210
  39. package/.playground/pages/layout/legal-footer.vue +0 -121
  40. package/.playground/pages/layout/navbar.vue +0 -285
  41. package/.playground/pages/layout/section.vue +0 -266
  42. package/.playground/pages/layout/x-legal.vue +0 -199
  43. package/.playground/pages/modals/feature-modal.vue +0 -320
  44. package/.playground/pages/modals/image-lightbox.vue +0 -277
  45. package/.playground/pages/modals/video-modal.vue +0 -222
  46. package/.playground/pages/notifications/announcement-bar.vue +0 -164
  47. package/.playground/pages/notifications/cookie-banner.vue +0 -210
  48. package/.playground/pages/notifications/cookie-toast.vue +0 -143
  49. package/.playground/pages/notifications/gdpr.vue +0 -276
  50. package/.playground/pages/notifications/social-proof-toast.vue +0 -515
  51. package/.playground/pages/ui/badge.vue +0 -161
  52. package/.playground/pages/ui/bg-pattern.vue +0 -177
  53. package/.playground/pages/ui/glass-card.vue +0 -179
  54. package/.playground/pages/ui/glow-divider.vue +0 -179
  55. package/.playground/pages/ui/promo-card.vue +0 -259
  56. package/.playground/pages/ui/section-stitch.vue +0 -411
  57. package/.playground/pages/utilities/back-to-top.vue +0 -153
  58. package/.playground/pages/utilities/popup-chat.vue +0 -224
  59. package/componentList.json +0 -2129
  60. package/screenshots/playground-home.png +0 -0
  61. package/tsconfig.json +0 -3
  62. /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>