From 0d574e77c017f95f38187a024e9d6cf068cfb244 Mon Sep 17 00:00:00 2001 From: Aleksander Grygier Date: Fri, 21 Aug 2026 08:46:30 +0200 Subject: [PATCH] ui : add unified ScrollCarousel component Single carousel component with top/center variants, gap and scroll options, and hover-revealed chevrons. Rename the HorizontalScrollCarousel accessibility story accordingly. Assisted-by: pi --- .../components/ui/scroll-carousel/index.ts | 3 + .../ui/scroll-carousel/scroll-carousel.svelte | 129 ++++++++++++++++++ ...lte => ScrollCarousel.a11y.stories.svelte} | 14 +- 3 files changed, 139 insertions(+), 7 deletions(-) create mode 100644 tools/ui/src/lib/components/ui/scroll-carousel/index.ts create mode 100644 tools/ui/src/lib/components/ui/scroll-carousel/scroll-carousel.svelte rename tools/ui/tests/stories/a11y/{HorizontalScrollCarousel.a11y.stories.svelte => ScrollCarousel.a11y.stories.svelte} (81%) diff --git a/tools/ui/src/lib/components/ui/scroll-carousel/index.ts b/tools/ui/src/lib/components/ui/scroll-carousel/index.ts new file mode 100644 index 0000000000..faf6f007e1 --- /dev/null +++ b/tools/ui/src/lib/components/ui/scroll-carousel/index.ts @@ -0,0 +1,3 @@ +import ScrollCarousel from './scroll-carousel.svelte'; + +export { ScrollCarousel }; diff --git a/tools/ui/src/lib/components/ui/scroll-carousel/scroll-carousel.svelte b/tools/ui/src/lib/components/ui/scroll-carousel/scroll-carousel.svelte new file mode 100644 index 0000000000..4f59db870e --- /dev/null +++ b/tools/ui/src/lib/components/ui/scroll-carousel/scroll-carousel.svelte @@ -0,0 +1,129 @@ + + +
+ + +
+
+ {@render children?.()} +
+
+ + +
diff --git a/tools/ui/tests/stories/a11y/HorizontalScrollCarousel.a11y.stories.svelte b/tools/ui/tests/stories/a11y/ScrollCarousel.a11y.stories.svelte similarity index 81% rename from tools/ui/tests/stories/a11y/HorizontalScrollCarousel.a11y.stories.svelte rename to tools/ui/tests/stories/a11y/ScrollCarousel.a11y.stories.svelte index ef5abeafaa..d5ac6ccce1 100644 --- a/tools/ui/tests/stories/a11y/HorizontalScrollCarousel.a11y.stories.svelte +++ b/tools/ui/tests/stories/a11y/ScrollCarousel.a11y.stories.svelte @@ -1,15 +1,15 @@ @@ -33,10 +33,10 @@ >
- +
-
+
@@ -60,10 +60,10 @@ >
- + {#each [...Array(20).keys()] as i (i)}
{i}
{/each} -
+