Skip to content

Commit db1b3dc

Browse files
Dmitry Stremousclaude
authored andcommitted
Add Carousel plugin with ordering and icon fixes
Adds @cloudimage/carousel (v2.0.0) to the plugins hub with data model, SVG illustration, icon sprite, hero count update, and footer link. Fixes: logical plugin ordering, carousel icon (arrows instead of checkmark), redundant "zero dependencies" in description, and footer link order to match the plugins array. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent c16d1e3 commit db1b3dc

2 files changed

Lines changed: 66 additions & 2 deletions

File tree

app.js

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,31 @@ const PLUGINS = [
131131
repo: 'https://github.com/scaleflex/cloudimage-before-after',
132132
},
133133
},
134+
{
135+
id: 'cloudimage-carousel',
136+
name: 'Carousel',
137+
npmPackage: '@cloudimage/carousel',
138+
version: '2.0.0',
139+
tagline: 'Responsive image carousel & gallery',
140+
description:
141+
'A lightweight carousel with touch swipe, zoom, autoplay, thumbnails, fullscreen, and React support.',
142+
icon: 'icon-carousel',
143+
accentColor: '#f59e0b',
144+
features: [
145+
'Touch & Swipe',
146+
'Zoom',
147+
'Autoplay',
148+
'Thumbnails',
149+
'Fullscreen',
150+
'Responsive',
151+
'React Support',
152+
'Accessibility',
153+
],
154+
links: {
155+
demo: 'https://scaleflex.github.io/cloudimage-carousel/',
156+
repo: 'https://github.com/scaleflex/cloudimage-carousel',
157+
},
158+
},
134159
];
135160

136161
/* --------------------------------------------------------------------------
@@ -294,6 +319,35 @@ function getPluginIllustration(pluginId) {
294319
</circle>
295320
<defs><linearGradient id="grad-ba" x1="0" y1="0" x2="200" y2="160"><stop stop-color="#2c99ff"/><stop offset="1" stop-color="#00d4aa"/></linearGradient></defs>
296321
</svg>`,
322+
323+
'cloudimage-carousel': `
324+
<svg viewBox="0 0 200 160" fill="none" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="Image carousel illustration">
325+
<!-- Center slide -->
326+
<rect x="50" y="20" width="100" height="120" rx="8" stroke="url(#grad-carousel)" stroke-width="2" opacity="0.5" fill="url(#grad-carousel)" fill-opacity="0.06"/>
327+
<!-- Left slide (behind) -->
328+
<rect x="15" y="30" width="50" height="100" rx="6" stroke="url(#grad-carousel)" stroke-width="1.5" opacity="0.2" fill="url(#grad-carousel)" fill-opacity="0.03"/>
329+
<!-- Right slide (behind) -->
330+
<rect x="135" y="30" width="50" height="100" rx="6" stroke="url(#grad-carousel)" stroke-width="1.5" opacity="0.2" fill="url(#grad-carousel)" fill-opacity="0.03"/>
331+
<!-- Image placeholder on center slide -->
332+
<path d="M60 110 L80 85 L95 100 L115 75 L140 110 Z" fill="url(#grad-carousel)" opacity="0.12"/>
333+
<circle cx="80" cy="50" r="8" fill="url(#grad-carousel)" opacity="0.1"/>
334+
<!-- Left arrow -->
335+
<path d="M30 80 L22 80" stroke="url(#grad-carousel)" stroke-width="2" stroke-linecap="round" opacity="0.5"/>
336+
<path d="M26 76 L22 80 L26 84" stroke="url(#grad-carousel)" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" opacity="0.5"/>
337+
<!-- Right arrow -->
338+
<path d="M170 80 L178 80" stroke="url(#grad-carousel)" stroke-width="2" stroke-linecap="round" opacity="0.5"/>
339+
<path d="M174 76 L178 80 L174 84" stroke="url(#grad-carousel)" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" opacity="0.5"/>
340+
<!-- Dot indicators -->
341+
<circle cx="88" cy="148" r="3" fill="url(#grad-carousel)" opacity="0.2"/>
342+
<circle cx="100" cy="148" r="3.5" fill="url(#grad-carousel)" opacity="0.6"/>
343+
<circle cx="112" cy="148" r="3" fill="url(#grad-carousel)" opacity="0.2"/>
344+
<!-- Subtle pulse on active dot -->
345+
<circle cx="100" cy="148" r="3.5" stroke="url(#grad-carousel)" stroke-width="1" opacity="0.15">
346+
<animate attributeName="r" values="3.5;7;3.5" dur="3s" repeatCount="indefinite"/>
347+
<animate attributeName="opacity" values="0.15;0.03;0.15" dur="3s" repeatCount="indefinite"/>
348+
</circle>
349+
<defs><linearGradient id="grad-carousel" x1="0" y1="0" x2="200" y2="160"><stop stop-color="#f59e0b"/><stop offset="1" stop-color="#e05cff"/></linearGradient></defs>
350+
</svg>`,
297351
};
298352

299353
return illustrations[pluginId] || '';

index.html

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,15 @@
6666
<polyline points="16 9 19 12 16 15"/>
6767
</symbol>
6868

69+
<!-- Carousel icon -->
70+
<symbol id="icon-carousel" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
71+
<rect x="6" y="4" width="12" height="16" rx="2"/>
72+
<path d="M2 7v10"/>
73+
<path d="M22 7v10"/>
74+
<polyline points="9 10 7 12 9 14"/>
75+
<polyline points="15 10 17 12 15 14"/>
76+
</symbol>
77+
6978
<!-- GitHub icon -->
7079
<symbol id="icon-github" viewBox="0 0 24 24" fill="currentColor">
7180
<path d="M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0 0 24 12c0-6.63-5.37-12-12-12z"/>
@@ -206,7 +215,7 @@ <h1 class="hero__title">
206215
</div>
207216

208217
<div class="hero__stats">
209-
<span class="hero__stat"><strong>5</strong> Plugins</span>
218+
<span class="hero__stat"><strong>6</strong> Plugins</span>
210219
<span class="hero__stat"><strong>Zero</strong> Dependencies</span>
211220
<span class="hero__stat"><strong>WCAG 2.1</strong> AA</span>
212221
</div>
@@ -354,8 +363,9 @@ <h4>Plugins</h4>
354363
<li><a href="https://scaleflex.github.io/cloudimage-3d-view/" target="_blank" rel="noopener noreferrer">3D View</a></li>
355364
<li><a href="https://scaleflex.github.io/cloudimage-360-view/" target="_blank" rel="noopener noreferrer">360 View</a></li>
356365
<li><a href="https://scaleflex.github.io/cloudimage-hotspot/" target="_blank" rel="noopener noreferrer">Image Hotspot</a></li>
357-
<li><a href="https://scaleflex.github.io/cloudimage-before-after/" target="_blank" rel="noopener noreferrer">Before / After</a></li>
358366
<li><a href="https://scaleflex.github.io/cloudimage-video-hotspot/" target="_blank" rel="noopener noreferrer">Video Hotspot</a></li>
367+
<li><a href="https://scaleflex.github.io/cloudimage-before-after/" target="_blank" rel="noopener noreferrer">Before / After</a></li>
368+
<li><a href="https://scaleflex.github.io/cloudimage-carousel/" target="_blank" rel="noopener noreferrer">Carousel</a></li>
359369
</ul>
360370
</div>
361371
<div class="footer__col fade-in-up">

0 commit comments

Comments
 (0)