The carousel displays one item at a time in a horizontal slide.
Configurator
LiveCarousel: size, arrows, pagination dots and skip link
HTML
<oc-carousel-v1 oc-aria-label="Wohnideen"><img src="/previews/imagery/samples/otto-lifestyle-photo/lifestyle-living-room.webp" alt="Wohnzimmer mit Sofa und Stehlampe" width="1200" height="800" loading="lazy" style="display:block;width:100%;height:auto"><img src="/previews/imagery/samples/otto-lifestyle-photo/lifestyle-kids-room.webp" alt="Kinderzimmer mit Spielzeug" width="1200" height="800" loading="lazy" style="display:block;width:100%;height:auto"><img src="/previews/references/images/otto/otto-fashion-drop-mojo-06.webp" alt="Mojo Drop Sweatshirt" width="1200" height="800" loading="lazy" style="display:block;width:100%;height:auto"><img src="/previews/references/images/otto/otto-buecher-sortiment.webp" alt="Bücher im OTTO Sortiment" width="1200" height="800" loading="lazy" style="display:block;width:100%;height:auto"></oc-carousel-v1>
Usage
Anatomy
123
Item (fill-parent)
Scroll buttons
Pagination dots
LiveAnatomyHTML
<div class="anatomy" style="display:block;max-width:480px;margin:28px auto">
<oc-carousel-v1 oc-aria-label="Wohnideen"><img src="/previews/imagery/samples/otto-lifestyle-photo/lifestyle-living-room.webp" alt="Wohnzimmer mit Sofa und Stehlampe" width="1200" height="800" loading="lazy" style="display:block;width:100%;height:auto"><img src="/previews/imagery/samples/otto-lifestyle-photo/lifestyle-kids-room.webp" alt="Kinderzimmer mit Spielzeug" width="1200" height="800" loading="lazy" style="display:block;width:100%;height:auto"><img src="/previews/references/images/otto/otto-fashion-drop-mojo-06.webp" alt="Mojo Drop Sweatshirt" width="1200" height="800" loading="lazy" style="display:block;width:100%;height:auto"><img src="/previews/references/images/otto/otto-buecher-sortiment.webp" alt="Bücher im OTTO Sortiment" width="1200" height="800" loading="lazy" style="display:block;width:100%;height:auto"><img src="/previews/imagery/samples/otto-lifestyle-photo/lifestyle-parcel-doorstep.webp" alt="Paket vor der Haustür" width="1200" height="800" loading="lazy" style="display:block;width:100%;height:auto"></oc-carousel-v1>
<span class="anatomy-pin" style="left:50%;top:40%">1</span><span class="anatomy-pin" style="left:103%;top:45%">2</span><span class="anatomy-pin" style="left:34%;top:97%">3</span>
<ol class="anatomy-key"><li data-n="1">Item (fill-parent)</li><li data-n="2">Scroll buttons</li><li data-n="3">Pagination dots</li></ol>
Item stage:The items of the carousel are stored in the item stage. There is only one item visible at a time.
Pagination dots:Pagination dots show the amount of item-sets in the carousel. When tapping a pagination dot, the carousel will scroll into the corresponding view. Pagination dots are optional.
Variants
The carousel is available in two sizes. Size 100 uses icon button 50 as scroll buttons and size 50 uses icon button 25. Carousel 50 uses smaller pagination dots positioned on the inside.
Size 100
Size 50
LiveCarousel sizes 100 and 50HTML
<p class="demo-label">Size 100</p><div style="background:#fff;padding:32px 0"><oc-carousel-v1 oc-aria-label="Wohnideen"><img src="/previews/imagery/samples/otto-lifestyle-photo/lifestyle-living-room.webp" alt="Wohnzimmer mit Sofa und Stehlampe" width="1200" height="800" loading="lazy" style="display:block;width:100%;height:auto"><img src="/previews/imagery/samples/otto-lifestyle-photo/lifestyle-kids-room.webp" alt="Kinderzimmer mit Spielzeug" width="1200" height="800" loading="lazy" style="display:block;width:100%;height:auto"><img src="/previews/references/images/otto/otto-fashion-drop-mojo-06.webp" alt="Mojo Drop Sweatshirt" width="1200" height="800" loading="lazy" style="display:block;width:100%;height:auto"><img src="/previews/references/images/otto/otto-buecher-sortiment.webp" alt="Bücher im OTTO Sortiment" width="1200" height="800" loading="lazy" style="display:block;width:100%;height:auto"><img src="/previews/imagery/samples/otto-lifestyle-photo/lifestyle-parcel-doorstep.webp" alt="Paket vor der Haustür" width="1200" height="800" loading="lazy" style="display:block;width:100%;height:auto"></oc-carousel-v1></div></div>
<p class="demo-label">Size 50</p><div style="background:#fff;padding:24px 0;max-width:320px"><oc-carousel-v1 oc-aria-label="Wohnideen" size="50"><img src="/previews/imagery/samples/otto-lifestyle-photo/lifestyle-living-room.webp" alt="Wohnzimmer mit Sofa und Stehlampe" width="1200" height="800" loading="lazy" style="display:block;width:100%;height:auto"><img src="/previews/imagery/samples/otto-lifestyle-photo/lifestyle-kids-room.webp" alt="Kinderzimmer mit Spielzeug" width="1200" height="800" loading="lazy" style="display:block;width:100%;height:auto"><img src="/previews/references/images/otto/otto-fashion-drop-mojo-06.webp" alt="Mojo Drop Sweatshirt" width="1200" height="800" loading="lazy" style="display:block;width:100%;height:auto"><img src="/previews/references/images/otto/otto-buecher-sortiment.webp" alt="Bücher im OTTO Sortiment" width="1200" height="800" loading="lazy" style="display:block;width:100%;height:auto"><img src="/previews/imagery/samples/otto-lifestyle-photo/lifestyle-parcel-doorstep.webp" alt="Paket vor der Haustür" width="1200" height="800" loading="lazy" style="display:block;width:100%;height:auto"></oc-carousel-v1></div></div>
If you place a video inside the carousel the pagination dots automatically show a play icon instead of a dot.
Video slides show a play icon in the pagination dots (poster frame only; the mirror has no video file)
LiveVideo pagination dotsHTML
<div class="on-frame"><div style="background:#fff;padding:32px 0;max-width:480px;margin:0 auto"><oc-carousel-v1 oc-aria-label="Wohnideen"><video data-oc-carousel-v1.item-type="video" poster="/previews/imagery/samples/otto-group-layered-photo/woven-lamps.webp" width="1200" height="800" controls preload="none" style="display:block;width:100%;height:auto" aria-label="Video: Geflochtene Lampen"></video><img src="/previews/imagery/samples/otto-lifestyle-photo/lifestyle-living-room.webp" alt="Wohnzimmer mit Sofa und Stehlampe" width="1200" height="800" loading="lazy" style="display:block;width:100%;height:auto"><img src="/previews/imagery/samples/otto-lifestyle-photo/lifestyle-kids-room.webp" alt="Kinderzimmer mit Spielzeug" width="1200" height="800" loading="lazy" style="display:block;width:100%;height:auto"><video data-oc-carousel-v1.item-type="video" poster="/previews/imagery/samples/otto-group-layered-photo/still-life-toy.webp" width="1200" height="800" controls preload="none" style="display:block;width:100%;height:auto" aria-label="Video: Spielzeug als Stillleben"></video><img src="/previews/references/images/otto/otto-fashion-drop-mojo-06.webp" alt="Mojo Drop Sweatshirt" width="1200" height="800" loading="lazy" style="display:block;width:100%;height:auto"></oc-carousel-v1></div><p class="demo-label" style="text-align:center">Video slides show a play icon in the pagination dots (poster frame only; the mirror has no video file)</p></div>
Behavior
States
The carousel has no own states, but uses the states of the scroll buttons and the pagination dots.
Interaction
The items of the carousel scroll by tapping the scroll buttons or scrolling horizontally. The item always snaps into place to become fully visible.
Click the scroll button or scroll horizontally; items snap automatically
LiveinteractionHTML
<div style="background:#fff;padding:32px 0;max-width:480px;margin:0 auto"><oc-carousel-v1 oc-aria-label="Wohnideen"><img src="/previews/imagery/samples/otto-lifestyle-photo/lifestyle-living-room.webp" alt="Wohnzimmer mit Sofa und Stehlampe" width="1200" height="800" loading="lazy" style="display:block;width:100%;height:auto"><img src="/previews/imagery/samples/otto-lifestyle-photo/lifestyle-kids-room.webp" alt="Kinderzimmer mit Spielzeug" width="1200" height="800" loading="lazy" style="display:block;width:100%;height:auto"><img src="/previews/references/images/otto/otto-fashion-drop-mojo-06.webp" alt="Mojo Drop Sweatshirt" width="1200" height="800" loading="lazy" style="display:block;width:100%;height:auto"><img src="/previews/references/images/otto/otto-buecher-sortiment.webp" alt="Bücher im OTTO Sortiment" width="1200" height="800" loading="lazy" style="display:block;width:100%;height:auto"><img src="/previews/imagery/samples/otto-lifestyle-photo/lifestyle-parcel-doorstep.webp" alt="Paket vor der Haustür" width="1200" height="800" loading="lazy" style="display:block;width:100%;height:auto"></oc-carousel-v1></div><p class="demo-label" style="text-align:center">Click the scroll button or scroll horizontally; items snap automatically</p></div>
Infinite Scrolling: The carousel does not support infinite scrolling. That means, whenever users get to the last item, there is no shortcut back to the first item.
Auto-forwarding: The carousel does not support auto-forwarding. This can lead to unease, create unnecessary feelings of urgency, and necessitate the provision of a pause option.
Fitting
The items in the carousel are set to fill-parent. There is no spacing to the sides, but there is a small gap between the items.
Items fill-parent, 16px gap between items (scroll to see it)
LivefittingHTML
<p class="demo-label" style="text-align:center">Items fill-parent, 16px gap between items (scroll to see it)</p><div style="background:#fff;padding:32px 0;max-width:480px;margin:0 auto"><oc-carousel-v1 oc-aria-label="Wohnideen"><img src="/previews/imagery/samples/otto-lifestyle-photo/lifestyle-living-room.webp" alt="Wohnzimmer mit Sofa und Stehlampe" width="1200" height="800" loading="lazy" style="display:block;width:100%;height:auto"><img src="/previews/imagery/samples/otto-lifestyle-photo/lifestyle-kids-room.webp" alt="Kinderzimmer mit Spielzeug" width="1200" height="800" loading="lazy" style="display:block;width:100%;height:auto"><img src="/previews/references/images/otto/otto-fashion-drop-mojo-06.webp" alt="Mojo Drop Sweatshirt" width="1200" height="800" loading="lazy" style="display:block;width:100%;height:auto"><img src="/previews/references/images/otto/otto-buecher-sortiment.webp" alt="Bücher im OTTO Sortiment" width="1200" height="800" loading="lazy" style="display:block;width:100%;height:auto"><img src="/previews/imagery/samples/otto-lifestyle-photo/lifestyle-parcel-doorstep.webp" alt="Paket vor der Haustür" width="1200" height="800" loading="lazy" style="display:block;width:100%;height:auto"></oc-carousel-v1></div></div>
Placement
To position the carousel, use fill-parent with no spacing to the left or right. This ensures that items can scroll out of view without disappearing too early or too late.
fill-parent
LiveplacementHTML
<p class="demo-label" style="text-align:center">fill-parent</p><div style="background:#fff;padding:32px 0;max-width:480px;margin:0 auto"><oc-carousel-v1 oc-aria-label="Wohnideen"><img src="/previews/imagery/samples/otto-lifestyle-photo/lifestyle-living-room.webp" alt="Wohnzimmer mit Sofa und Stehlampe" width="1200" height="800" loading="lazy" style="display:block;width:100%;height:auto"><img src="/previews/imagery/samples/otto-lifestyle-photo/lifestyle-kids-room.webp" alt="Kinderzimmer mit Spielzeug" width="1200" height="800" loading="lazy" style="display:block;width:100%;height:auto"><img src="/previews/references/images/otto/otto-fashion-drop-mojo-06.webp" alt="Mojo Drop Sweatshirt" width="1200" height="800" loading="lazy" style="display:block;width:100%;height:auto"><img src="/previews/references/images/otto/otto-buecher-sortiment.webp" alt="Bücher im OTTO Sortiment" width="1200" height="800" loading="lazy" style="display:block;width:100%;height:auto"><img src="/previews/imagery/samples/otto-lifestyle-photo/lifestyle-parcel-doorstep.webp" alt="Paket vor der Haustür" width="1200" height="800" loading="lazy" style="display:block;width:100%;height:auto"></oc-carousel-v1></div></div>
Responsiveness
On mobile devices, the scroll buttons are hidden automatically.
mobile
desktop
LiveresponsivnessHTML
<div style="background:#fff;padding:32px 0;max-width:360px;margin:0 auto"><oc-carousel-v1 oc-aria-label="Wohnideen"><img src="/previews/imagery/samples/otto-lifestyle-photo/lifestyle-living-room.webp" alt="Wohnzimmer mit Sofa und Stehlampe" width="1200" height="800" loading="lazy" style="display:block;width:100%;height:auto"><img src="/previews/imagery/samples/otto-lifestyle-photo/lifestyle-kids-room.webp" alt="Kinderzimmer mit Spielzeug" width="1200" height="800" loading="lazy" style="display:block;width:100%;height:auto"><img src="/previews/references/images/otto/otto-fashion-drop-mojo-06.webp" alt="Mojo Drop Sweatshirt" width="1200" height="800" loading="lazy" style="display:block;width:100%;height:auto"><img src="/previews/references/images/otto/otto-buecher-sortiment.webp" alt="Bücher im OTTO Sortiment" width="1200" height="800" loading="lazy" style="display:block;width:100%;height:auto"><img src="/previews/imagery/samples/otto-lifestyle-photo/lifestyle-parcel-doorstep.webp" alt="Paket vor der Haustür" width="1200" height="800" loading="lazy" style="display:block;width:100%;height:auto"></oc-carousel-v1></div><p class="demo-label" style="text-align:center">mobile</p><div style="background:#fff;padding:32px 0"><oc-carousel-v1 oc-aria-label="Wohnideen"><img src="/previews/imagery/samples/otto-lifestyle-photo/lifestyle-living-room.webp" alt="Wohnzimmer mit Sofa und Stehlampe" width="1200" height="800" loading="lazy" style="display:block;width:100%;height:auto"><img src="/previews/imagery/samples/otto-lifestyle-photo/lifestyle-kids-room.webp" alt="Kinderzimmer mit Spielzeug" width="1200" height="800" loading="lazy" style="display:block;width:100%;height:auto"><img src="/previews/references/images/otto/otto-fashion-drop-mojo-06.webp" alt="Mojo Drop Sweatshirt" width="1200" height="800" loading="lazy" style="display:block;width:100%;height:auto"><img src="/previews/references/images/otto/otto-buecher-sortiment.webp" alt="Bücher im OTTO Sortiment" width="1200" height="800" loading="lazy" style="display:block;width:100%;height:auto"><img src="/previews/imagery/samples/otto-lifestyle-photo/lifestyle-parcel-doorstep.webp" alt="Paket vor der Haustür" width="1200" height="800" loading="lazy" style="display:block;width:100%;height:auto"></oc-carousel-v1></div><p class="demo-label" style="text-align:center">desktop</p></div>
By default, the vertical position of the scroll buttons is set to 50% of the height of the carousel. If needed, this can be customized.
default position (50%)
custom position (arrow-button-position="80%")
Livescroll button positionHTML
<div style="background:#fff;padding:32px 0;max-width:480px;margin:0 auto"><oc-carousel-v1 oc-aria-label="Wohnideen"><img src="/previews/imagery/samples/otto-lifestyle-photo/lifestyle-living-room.webp" alt="Wohnzimmer mit Sofa und Stehlampe" width="1200" height="800" loading="lazy" style="display:block;width:100%;height:auto"><img src="/previews/imagery/samples/otto-lifestyle-photo/lifestyle-kids-room.webp" alt="Kinderzimmer mit Spielzeug" width="1200" height="800" loading="lazy" style="display:block;width:100%;height:auto"><img src="/previews/references/images/otto/otto-fashion-drop-mojo-06.webp" alt="Mojo Drop Sweatshirt" width="1200" height="800" loading="lazy" style="display:block;width:100%;height:auto"><img src="/previews/references/images/otto/otto-buecher-sortiment.webp" alt="Bücher im OTTO Sortiment" width="1200" height="800" loading="lazy" style="display:block;width:100%;height:auto"><img src="/previews/imagery/samples/otto-lifestyle-photo/lifestyle-parcel-doorstep.webp" alt="Paket vor der Haustür" width="1200" height="800" loading="lazy" style="display:block;width:100%;height:auto"></oc-carousel-v1></div><p class="demo-label" style="text-align:center">default position (50%)</p><div style="background:#fff;padding:32px 0;max-width:480px;margin:0 auto"><oc-carousel-v1 oc-aria-label="Wohnideen" arrow-button-position="80%"><img src="/previews/imagery/samples/otto-lifestyle-photo/lifestyle-living-room.webp" alt="Wohnzimmer mit Sofa und Stehlampe" width="1200" height="800" loading="lazy" style="display:block;width:100%;height:auto"><img src="/previews/imagery/samples/otto-lifestyle-photo/lifestyle-kids-room.webp" alt="Kinderzimmer mit Spielzeug" width="1200" height="800" loading="lazy" style="display:block;width:100%;height:auto"><img src="/previews/references/images/otto/otto-fashion-drop-mojo-06.webp" alt="Mojo Drop Sweatshirt" width="1200" height="800" loading="lazy" style="display:block;width:100%;height:auto"><img src="/previews/references/images/otto/otto-buecher-sortiment.webp" alt="Bücher im OTTO Sortiment" width="1200" height="800" loading="lazy" style="display:block;width:100%;height:auto"><img src="/previews/imagery/samples/otto-lifestyle-photo/lifestyle-parcel-doorstep.webp" alt="Paket vor der Haustür" width="1200" height="800" loading="lazy" style="display:block;width:100%;height:auto"></oc-carousel-v1></div><p class="demo-label" style="text-align:center">custom position (arrow-button-position="80%")</p></div>
The left scroll button is hidden at the start of the carousel. The right scroll button is hidden at the end of the carousel. When the scroll buttons are hidden, the respective space is reserved for another second so accidental clicks are prevented (click-prevention).
First item: only the right scroll button; scroll to item 10 and only the left one remains
Livestart and end of carouselHTML
<div style="background:#fff;padding:32px 0;max-width:480px;margin:0 auto"><oc-carousel-v1 oc-aria-label="Wohnideen"><img src="/previews/imagery/samples/otto-lifestyle-photo/lifestyle-living-room.webp" alt="Wohnzimmer mit Sofa und Stehlampe" width="1200" height="800" loading="lazy" style="display:block;width:100%;height:auto"><img src="/previews/imagery/samples/otto-lifestyle-photo/lifestyle-kids-room.webp" alt="Kinderzimmer mit Spielzeug" width="1200" height="800" loading="lazy" style="display:block;width:100%;height:auto"><img src="/previews/references/images/otto/otto-fashion-drop-mojo-06.webp" alt="Mojo Drop Sweatshirt" width="1200" height="800" loading="lazy" style="display:block;width:100%;height:auto"><img src="/previews/references/images/otto/otto-buecher-sortiment.webp" alt="Bücher im OTTO Sortiment" width="1200" height="800" loading="lazy" style="display:block;width:100%;height:auto"><img src="/previews/imagery/samples/otto-lifestyle-photo/lifestyle-parcel-doorstep.webp" alt="Paket vor der Haustür" width="1200" height="800" loading="lazy" style="display:block;width:100%;height:auto"><img src="/previews/references/images/otto/otto-peak2025-hermes-zustellung.webp" alt="Hermes Zustellung" width="1200" height="800" loading="lazy" style="display:block;width:100%;height:auto"><img src="/previews/imagery/samples/otto-group-layered-photo/woven-lamps.webp" alt="Geflochtene Lampen" width="1200" height="800" loading="lazy" style="display:block;width:100%;height:auto"><img src="/previews/imagery/samples/otto-group-layered-photo/still-life-toy.webp" alt="Spielzeug als Stillleben" width="1200" height="800" loading="lazy" style="display:block;width:100%;height:auto"><img src="/previews/imagery/samples/otto-group-layered-photo/headphones-through-shapes.webp" alt="Kopfhörer" width="1200" height="800" loading="lazy" style="display:block;width:100%;height:auto"><img src="/previews/references/images/otto/otto-campus-social-space.webp" alt="Sitzecke auf dem OTTO Campus" width="1200" height="800" loading="lazy" style="display:block;width:100%;height:auto"></oc-carousel-v1></div><p class="demo-label" style="text-align:center">First item: only the right scroll button; scroll to item 10 and only the left one remains</p></div>
Carousel vs. cinema
Use the carousel to display one item at a time and draw more attention to the content. Alternatively, you can use the cinema to display multiple items at once.
Carousel: one item per view
Cinema: several items, the next one is cut
Livecarousel vs. cinemaHTML
<p class="demo-label" style="text-align:center">Carousel: one item per view</p><div style="background:#fff;padding:32px 0;max-width:480px;margin:0 auto"><oc-carousel-v1 oc-aria-label="Wohnideen"><img src="/previews/imagery/samples/otto-lifestyle-photo/lifestyle-living-room.webp" alt="Wohnzimmer mit Sofa und Stehlampe" width="1200" height="800" loading="lazy" style="display:block;width:100%;height:auto"><img src="/previews/imagery/samples/otto-lifestyle-photo/lifestyle-kids-room.webp" alt="Kinderzimmer mit Spielzeug" width="1200" height="800" loading="lazy" style="display:block;width:100%;height:auto"><img src="/previews/references/images/otto/otto-fashion-drop-mojo-06.webp" alt="Mojo Drop Sweatshirt" width="1200" height="800" loading="lazy" style="display:block;width:100%;height:auto"><img src="/previews/references/images/otto/otto-buecher-sortiment.webp" alt="Bücher im OTTO Sortiment" width="1200" height="800" loading="lazy" style="display:block;width:100%;height:auto"><img src="/previews/imagery/samples/otto-lifestyle-photo/lifestyle-parcel-doorstep.webp" alt="Paket vor der Haustür" width="1200" height="800" loading="lazy" style="display:block;width:100%;height:auto"></oc-carousel-v1></div><p class="demo-label" style="text-align:center">Cinema: several items, the next one is cut</p><div style="background:#fff;padding:32px 0;max-width:480px;margin:0 auto"><oc-cinema-v1 oc-aria-label="Wohnideen"><img src="/previews/imagery/samples/otto-lifestyle-photo/lifestyle-living-room.webp" alt="Wohnzimmer mit Sofa und Stehlampe" width="240" height="160" loading="lazy" style="display:block;width:240px;height:auto"><img src="/previews/imagery/samples/otto-lifestyle-photo/lifestyle-kids-room.webp" alt="Kinderzimmer mit Spielzeug" width="240" height="160" loading="lazy" style="display:block;width:240px;height:auto"><img src="/previews/references/images/otto/otto-fashion-drop-mojo-06.webp" alt="Mojo Drop Sweatshirt" width="240" height="160" loading="lazy" style="display:block;width:240px;height:auto"><img src="/previews/references/images/otto/otto-buecher-sortiment.webp" alt="Bücher im OTTO Sortiment" width="240" height="160" loading="lazy" style="display:block;width:240px;height:auto"><img src="/previews/imagery/samples/otto-lifestyle-photo/lifestyle-parcel-doorstep.webp" alt="Paket vor der Haustür" width="240" height="160" loading="lazy" style="display:block;width:240px;height:auto"><img src="/previews/references/images/otto/otto-peak2025-hermes-zustellung.webp" alt="Hermes Zustellung" width="240" height="160" loading="lazy" style="display:block;width:240px;height:auto"></oc-cinema-v1></div></div>
Best practices
DoPlace within a layout with full-bleed.
Don'tPlace with additional outer spacing.
DoUse with at least one indicator, like the scroll buttons or pagination dots.
Don'tUse no indicator.
Accessibility
The hitbox of the pagination dots is "undersized" as of "WCAG 2.2 Success Criterion 2.5.8 target size". That is acceptable though, as there is an equivalent control (horizontal scrolling / scroll buttons) for this function.
Each pagination dot has a hitbox of at least 16 × 16 px
Liveundersized hitbox of pagination on dotsHTML
<div style="background:#fff;padding:0 0 24px;max-width:720px;margin:0 auto"><oc-carousel-v1 oc-aria-label="Wohnideen"><img src="/previews/imagery/samples/otto-lifestyle-photo/lifestyle-living-room.webp" alt="Wohnzimmer mit Sofa und Stehlampe" width="1200" height="800" loading="lazy" style="display:block;width:100%;height:auto"><img src="/previews/imagery/samples/otto-lifestyle-photo/lifestyle-kids-room.webp" alt="Kinderzimmer mit Spielzeug" width="1200" height="800" loading="lazy" style="display:block;width:100%;height:auto"><img src="/previews/references/images/otto/otto-fashion-drop-mojo-06.webp" alt="Mojo Drop Sweatshirt" width="1200" height="800" loading="lazy" style="display:block;width:100%;height:auto"><img src="/previews/references/images/otto/otto-buecher-sortiment.webp" alt="Bücher im OTTO Sortiment" width="1200" height="800" loading="lazy" style="display:block;width:100%;height:auto"><img src="/previews/imagery/samples/otto-lifestyle-photo/lifestyle-parcel-doorstep.webp" alt="Paket vor der Haustür" width="1200" height="800" loading="lazy" style="display:block;width:100%;height:auto"></oc-carousel-v1></div><p class="demo-label" style="text-align:center">Each pagination dot has a hitbox of at least 16 × 16 px</p></div>
When entering a carousel using keyboard navigation, a skip link is shown that offers an option to "Überspringen". If this should be made more specific, "oc-aria-label" may be used to change this Skip Link to "[Label] überspringen".
Press Tab to move into the carousel: the skip link „Überspringen“ appears
Liveskip link within cinemaHTML
<p class="demo-label" style="text-align:center">Press Tab to move into the carousel: the skip link „Überspringen“ appears</p><div style="background:#fff;padding:24px 0;max-width:480px;margin:0 auto"><oc-carousel-v1 oc-aria-label="Wohnideen"><img src="/previews/imagery/samples/otto-lifestyle-photo/lifestyle-living-room.webp" alt="Wohnzimmer mit Sofa und Stehlampe" width="1200" height="800" loading="lazy" style="display:block;width:100%;height:auto"><img src="/previews/imagery/samples/otto-lifestyle-photo/lifestyle-kids-room.webp" alt="Kinderzimmer mit Spielzeug" width="1200" height="800" loading="lazy" style="display:block;width:100%;height:auto"><img src="/previews/references/images/otto/otto-fashion-drop-mojo-06.webp" alt="Mojo Drop Sweatshirt" width="1200" height="800" loading="lazy" style="display:block;width:100%;height:auto"></oc-carousel-v1></div></div>
Pagination dots are not part of keyboard navigation, as the function is doubled for keyboard users.
For information on accessibility, refer to the technical documentation.
The carousel component provides a way to display multiple items in a horizontal slide.
This component is useful in cases where visual space is limited, and you want to present a series of related content (e.g., images or cards) that the user can navigate through.
The carousel component is configurable, allowing you to tailor its features and appearance to your specific needs.
To explore all the available options and adjust the component, use the component configurator and see the changes affect the component in real-time.
Usage guidelines
Before integrating the carousel component into your project, make sure you have correctly installed the OTTO components package.
Look through the variations page for examples of possible component variations. Here, you can discover both common and specific variations that address different use cases.
To make the carousel recognizable for screen readers, use the oc-aria-label attribute to provide clear and descriptive context information.
See the general accessibility documentation for guidance on using oc-aria-label, including how it works with link and masked link behavior.
Events
The carousel component provides events for checking the item visibility and the stage scroll state.
Item visibility changed
The oc-item-visibility-changed event triggers, whenever a slide enters or leaves the viewport.
The event returns an object that provides an array with one visible item, the index position of the item's slide, the scroll direction of the carousel stage,
whether it is currently scrolling or not and the source that triggered the scroll:
The oc-stage-scroll event triggers when the stage is being scrolled.
It returns the boolean isScrolling that reflects the current state as well as the source that initiated the scroll:
arrows - When the user interacts via the visual buttons.
pagination-dots - When the user interacts via the additional pagination-dots.
move-method - When the stage is being scrolled programmatically.
swipe - When the user interacts via swipe gestures on smartphones or laptop touchpads.
Configuration (v1)
Carousel configuration
Configure the carousel component with the controls below and see the changes live in the preview canvas.
Click the Show code button within the preview canvas to see the source code for the current component configuration.
Interactive configurator (Storybook controls); every option is listed in the API section of this file.
API v1
Carousel v1 API
API: <oc-carousel-v1> (CarouselV1)
The Carousel component provides a way to display multiple items in a horizontal slide. This component is useful in cases where visual space is limited, and you want to present a series of related content (e.g., images or cards) that the user can navigate through.
The Carousel component supports navigation through arrow buttons. The position of these buttons can be customized. It also supports ARIA labels for accessibility.
Attributes / properties
Attribute
Type
Default
Required
Description
size
"50" | "100"
"100"
no
Sets the size of the carousel
visible-item
HTMLElement
no
The current visible item.
arrow-buttons-on-hover
boolean
false
no
Indicates whether the arrow buttons are only visible on hover.
hide-arrow-buttons
boolean
false
no
Indicates whether the arrow buttons are hidden.
hide-pagination-dots
boolean
false
no
Indicates whether the pagination-dots are hidden.
hide-skip-link
boolean
false
no
Indicates whether the skip link that allows users to skip the carousel content is hidden.
arrow-button-position
string
"50%"
no
Specifies the custom position of the arrow buttons. This can be any valid CSS value for the top property. The arrow buttons are used to navigate through the items in the carousel.
oc-aria-label
string
yes
Sets the ARIA label of the carousel section. This label is used by screen readers to provide context to users with visual impairments. The label should describe the overall content or purpose of the carousel.
Note: This is mandatory for skipping the carousel with modern screen readers.
Slots
Slot
Required
Description
default
yes
Defines the main content of the carousel. This slot should contain a series of items (e.g., images or cards) that you want to present in a carousel format.
The oc-item-visibility-changed event triggers, whenever a slide enters or leaves the viewport. The event returns an object that provides an array with one visible item, the index position of the item's slide, and the scroll direction of the carousel stage The event returns a boolean of the current state of the stage as well as the source that initiated the scroll.
Scrolling the carousel triggers the oc-stage-scroll event. The event returns a boolean of the current state as well as the source that initiated the scroll.
oc-property-change
OcCarouselV1Events["oc-property-change"]
Whenever a property value changes, this event triggers. Use this event to track all property changes within the component.
Fired when the component is mounted to the DOM. The event is fired when the onMount hook of the component is called by the runtime.
oc-unmount
{ component: string; }
Fired when the component is unmounted from the DOM. The event is fired when the function returned by the onMount hook of the component is called by the runtime.
Defines the overflow behavior of the carousel stage. This variable controls how the content that exceeds the visible area of the carousel is handled. It can be set to values like auto, hidden, or scroll to determine whether scrollbars are shown and how users can navigate through the overflow content.
Variations (v1)
Variations
Listed below are the most common variations of the carousel component as well as specific component variations for different use cases.
You can explore all available options using the component configurator, adjust the component to your needs, and see the changes live in a preview canvas.
The configuration with items + a video. Via a data-attribute, a slide can be flagged to have a play icon instead of a dot in the pagination dots stage.
Lorem ipsum dolor sit amet consectetur adipisicing elit. Officiis facilis nobis nisi odit
maiores libero assumenda repudiandae. Repudiandae sapiente odit id. Voluptas dolores
repellendus sit corrupti ab dolor distinctio, expedita id quod suscipit. Saepe culpa libero
laborum vel quos illum officia, fuga corporis dolor excepturi! Excepturi, nobis. Pariatur
itaque voluptas tenetur qui aut eveniet, aliquam numquam quia distinctio dolor ducimus quod
optio quam soluta expedita eligendi quae, ipsa culpa. Praesentium autem impedit,
necessitatibus quos porro cupiditate ipsam eveniet nisi illo. Sequi molestias magnam
exercitationem repudiandae maiores dolor itaque earum necessitatibus facere. Officiis
dolorem, hic modi, maxime sint sapiente, libero quas impedit earum quibusdam rerum minus
atque doloribus! Accusamus impedit rerum ea pariatur sunt ex iure consequatur! Quisquam
maiores doloremque, sit vero, sint a ullam eum possimus dicta voluptatem numquam sequi
eveniet dolorem recusandae ratione odio! Sint reprehenderit earum quas fugit dolorum
laudantium maiores officiis necessitatibus harum? Exercitationem provident dolores soluta.
Rerum minus hic asperiores nesciunt, error quae blanditiis expedita ducimus facere provident
reprehenderit, ex autem tempore praesentium? Culpa blanditiis repellendus earum qui? Atque
dolorem, impedit dignissimos non pariatur blanditiis porro nisi doloribus? Fugit recusandae
qui dignissimos, natus architecto sapiente sunt laudantium tenetur temporibus iste totam
placeat facilis facere quia doloribus.
Lorem ipsum dolor sit amet consectetur adipisicing elit. Officiis facilis nobis nisi odit
maiores libero assumenda repudiandae. Repudiandae sapiente odit id. Voluptas dolores
repellendus sit corrupti ab dolor distinctio, expedita id quod suscipit. Saepe culpa libero
laborum vel quos illum officia, fuga corporis dolor excepturi! Excepturi, nobis. Pariatur
itaque voluptas tenetur qui aut eveniet, aliquam numquam quia distinctio dolor ducimus quod
optio quam soluta expedita eligendi quae, ipsa culpa. Praesentium autem impedit,
necessitatibus quos porro cupiditate ipsam eveniet nisi illo. Sequi molestias magnam
exercitationem repudiandae maiores dolor itaque earum necessitatibus facere. Officiis
dolorem, hic modi, maxime sint sapiente, libero quas impedit earum quibusdam rerum minus
atque doloribus! Accusamus impedit rerum ea pariatur sunt ex iure consequatur! Quisquam
maiores doloremque, sit vero, sint a ullam eum possimus dicta voluptatem numquam sequi
eveniet dolorem recusandae ratione odio! Sint reprehenderit earum quas fugit dolorum
laudantium maiores officiis necessitatibus harum? Exercitationem provident dolores soluta.
Rerum minus hic asperiores nesciunt, error quae blanditiis expedita ducimus facere provident
reprehenderit, ex autem tempore praesentium? Culpa blanditiis repellendus earum qui? Atque
dolorem, impedit dignissimos non pariatur blanditiis porro nisi doloribus? Fugit recusandae
qui dignissimos, natus architecto sapiente sunt laudantium tenetur temporibus iste totam
placeat facilis facere quia doloribus.
Lorem ipsum dolor sit amet consectetur adipisicing elit. Officiis facilis nobis nisi odit
maiores libero assumenda repudiandae. Repudiandae sapiente odit id. Voluptas dolores
repellendus sit corrupti ab dolor distinctio, expedita id quod suscipit. Saepe culpa libero
laborum vel quos illum officia, fuga corporis dolor excepturi! Excepturi, nobis. Pariatur
itaque voluptas tenetur qui aut eveniet, aliquam numquam quia distinctio dolor ducimus quod
optio quam soluta expedita eligendi quae, ipsa culpa. Praesentium autem impedit,
necessitatibus quos porro cupiditate ipsam eveniet nisi illo. Sequi molestias magnam
exercitationem repudiandae maiores dolor itaque earum necessitatibus facere. Officiis
dolorem, hic modi, maxime sint sapiente, libero quas impedit earum quibusdam rerum minus
atque doloribus! Accusamus impedit rerum ea pariatur sunt ex iure consequatur! Quisquam
maiores doloremque, sit vero, sint a ullam eum possimus dicta voluptatem numquam sequi
eveniet dolorem recusandae ratione odio! Sint reprehenderit earum quas fugit dolorum
laudantium maiores officiis necessitatibus harum? Exercitationem provident dolores soluta.
Rerum minus hic asperiores nesciunt, error quae blanditiis expedita ducimus facere provident
reprehenderit, ex autem tempore praesentium? Culpa blanditiis repellendus earum qui? Atque
dolorem, impedit dignissimos non pariatur blanditiis porro nisi doloribus? Fugit recusandae
qui dignissimos, natus architecto sapiente sunt laudantium tenetur temporibus iste totam
placeat facilis facere quia doloribus.
Lorem ipsum dolor sit amet consectetur adipisicing elit. Officiis facilis nobis nisi odit
maiores libero assumenda repudiandae. Repudiandae sapiente odit id. Voluptas dolores
repellendus sit corrupti ab dolor distinctio, expedita id quod suscipit. Saepe culpa libero
laborum vel quos illum officia, fuga corporis dolor excepturi! Excepturi, nobis. Pariatur
itaque voluptas tenetur qui aut eveniet, aliquam numquam quia distinctio dolor ducimus quod
optio quam soluta expedita eligendi quae, ipsa culpa. Praesentium autem impedit,
necessitatibus quos porro cupiditate ipsam eveniet nisi illo. Sequi molestias magnam
exercitationem repudiandae maiores dolor itaque earum necessitatibus facere. Officiis
dolorem, hic modi, maxime sint sapiente, libero quas impedit earum quibusdam rerum minus
atque doloribus! Accusamus impedit rerum ea pariatur sunt ex iure consequatur! Quisquam
maiores doloremque, sit vero, sint a ullam eum possimus dicta voluptatem numquam sequi
eveniet dolorem recusandae ratione odio! Sint reprehenderit earum quas fugit dolorum
laudantium maiores officiis necessitatibus harum? Exercitationem provident dolores soluta.
Rerum minus hic asperiores nesciunt, error quae blanditiis expedita ducimus facere provident
reprehenderit, ex autem tempore praesentium? Culpa blanditiis repellendus earum qui? Atque
dolorem, impedit dignissimos non pariatur blanditiis porro nisi doloribus? Fugit recusandae
qui dignissimos, natus architecto sapiente sunt laudantium tenetur temporibus iste totam
placeat facilis facere quia doloribus.
Lorem ipsum dolor sit amet consectetur adipisicing elit. Officiis facilis nobis nisi odit
maiores libero assumenda repudiandae. Repudiandae sapiente odit id. Voluptas dolores
repellendus sit corrupti ab dolor distinctio, expedita id quod suscipit. Saepe culpa libero
laborum vel quos illum officia, fuga corporis dolor excepturi! Excepturi, nobis. Pariatur
itaque voluptas tenetur qui aut eveniet, aliquam numquam quia distinctio dolor ducimus quod
optio quam soluta expedita eligendi quae, ipsa culpa. Praesentium autem impedit,
necessitatibus quos porro cupiditate ipsam eveniet nisi illo. Sequi molestias magnam
exercitationem repudiandae maiores dolor itaque earum necessitatibus facere. Officiis
dolorem, hic modi, maxime sint sapiente, libero quas impedit earum quibusdam rerum minus
atque doloribus! Accusamus impedit rerum ea pariatur sunt ex iure consequatur! Quisquam
maiores doloremque, sit vero, sint a ullam eum possimus dicta voluptatem numquam sequi
eveniet dolorem recusandae ratione odio! Sint reprehenderit earum quas fugit dolorum
laudantium maiores officiis necessitatibus harum? Exercitationem provident dolores soluta.
Rerum minus hic asperiores nesciunt, error quae blanditiis expedita ducimus facere provident
reprehenderit, ex autem tempore praesentium? Culpa blanditiis repellendus earum qui? Atque
dolorem, impedit dignissimos non pariatur blanditiis porro nisi doloribus? Fugit recusandae
qui dignissimos, natus architecto sapiente sunt laudantium tenetur temporibus iste totam
placeat facilis facere quia doloribus.
Lorem ipsum dolor sit amet consectetur adipisicing elit. Officiis facilis nobis nisi odit
maiores libero assumenda repudiandae. Repudiandae sapiente odit id. Voluptas dolores
repellendus sit corrupti ab dolor distinctio, expedita id quod suscipit. Saepe culpa libero
laborum vel quos illum officia, fuga corporis dolor excepturi! Excepturi, nobis. Pariatur
itaque voluptas tenetur qui aut eveniet, aliquam numquam quia distinctio dolor ducimus quod
optio quam soluta expedita eligendi quae, ipsa culpa. Praesentium autem impedit,
necessitatibus quos porro cupiditate ipsam eveniet nisi illo. Sequi molestias magnam
exercitationem repudiandae maiores dolor itaque earum necessitatibus facere. Officiis
dolorem, hic modi, maxime sint sapiente, libero quas impedit earum quibusdam rerum minus
atque doloribus! Accusamus impedit rerum ea pariatur sunt ex iure consequatur! Quisquam
maiores doloremque, sit vero, sint a ullam eum possimus dicta voluptatem numquam sequi
eveniet dolorem recusandae ratione odio! Sint reprehenderit earum quas fugit dolorum
laudantium maiores officiis necessitatibus harum? Exercitationem provident dolores soluta.
Rerum minus hic asperiores nesciunt, error quae blanditiis expedita ducimus facere provident
reprehenderit, ex autem tempore praesentium? Culpa blanditiis repellendus earum qui? Atque
dolorem, impedit dignissimos non pariatur blanditiis porro nisi doloribus? Fugit recusandae
qui dignissimos, natus architecto sapiente sunt laudantium tenetur temporibus iste totam
placeat facilis facere quia doloribus.
Lorem ipsum dolor sit amet consectetur adipisicing elit. Officiis facilis nobis nisi odit
maiores libero assumenda repudiandae. Repudiandae sapiente odit id. Voluptas dolores
repellendus sit corrupti ab dolor distinctio, expedita id quod suscipit. Saepe culpa libero
laborum vel quos illum officia, fuga corporis dolor excepturi! Excepturi, nobis. Pariatur
itaque voluptas tenetur qui aut eveniet, aliquam numquam quia distinctio dolor ducimus quod
optio quam soluta expedita eligendi quae, ipsa culpa. Praesentium autem impedit,
necessitatibus quos porro cupiditate ipsam eveniet nisi illo. Sequi molestias magnam
exercitationem repudiandae maiores dolor itaque earum necessitatibus facere. Officiis
dolorem, hic modi, maxime sint sapiente, libero quas impedit earum quibusdam rerum minus
atque doloribus! Accusamus impedit rerum ea pariatur sunt ex iure consequatur! Quisquam
maiores doloremque, sit vero, sint a ullam eum possimus dicta voluptatem numquam sequi
eveniet dolorem recusandae ratione odio! Sint reprehenderit earum quas fugit dolorum
laudantium maiores officiis necessitatibus harum? Exercitationem provident dolores soluta.
Rerum minus hic asperiores nesciunt, error quae blanditiis expedita ducimus facere provident
reprehenderit, ex autem tempore praesentium? Culpa blanditiis repellendus earum qui? Atque
dolorem, impedit dignissimos non pariatur blanditiis porro nisi doloribus? Fugit recusandae
qui dignissimos, natus architecto sapiente sunt laudantium tenetur temporibus iste totam
placeat facilis facere quia doloribus.
Lorem ipsum dolor sit amet consectetur adipisicing elit. Officiis facilis nobis nisi odit
maiores libero assumenda repudiandae. Repudiandae sapiente odit id. Voluptas dolores
repellendus sit corrupti ab dolor distinctio, expedita id quod suscipit. Saepe culpa libero
laborum vel quos illum officia, fuga corporis dolor excepturi! Excepturi, nobis. Pariatur
itaque voluptas tenetur qui aut eveniet, aliquam numquam quia distinctio dolor ducimus quod
optio quam soluta expedita eligendi quae, ipsa culpa. Praesentium autem impedit,
necessitatibus quos porro cupiditate ipsam eveniet nisi illo. Sequi molestias magnam
exercitationem repudiandae maiores dolor itaque earum necessitatibus facere. Officiis
dolorem, hic modi, maxime sint sapiente, libero quas impedit earum quibusdam rerum minus
atque doloribus! Accusamus impedit rerum ea pariatur sunt ex iure consequatur! Quisquam
maiores doloremque, sit vero, sint a ullam eum possimus dicta voluptatem numquam sequi
eveniet dolorem recusandae ratione odio! Sint reprehenderit earum quas fugit dolorum
laudantium maiores officiis necessitatibus harum? Exercitationem provident dolores soluta.
Rerum minus hic asperiores nesciunt, error quae blanditiis expedita ducimus facere provident
reprehenderit, ex autem tempore praesentium? Culpa blanditiis repellendus earum qui? Atque
dolorem, impedit dignissimos non pariatur blanditiis porro nisi doloribus? Fugit recusandae
qui dignissimos, natus architecto sapiente sunt laudantium tenetur temporibus iste totam
placeat facilis facere quia doloribus.
HTML
<h1>List of Carousels</h1>
<p>
Lorem ipsum dolor sit amet consectetur adipisicing elit. Officiis facilis nobis nisi odit
maiores libero assumenda repudiandae. Repudiandae sapiente odit id. Voluptas dolores
repellendus sit corrupti ab dolor distinctio, expedita id quod suscipit. Saepe culpa libero
laborum vel quos illum officia, fuga corporis dolor excepturi! Excepturi, nobis. Pariatur
itaque voluptas tenetur qui aut eveniet, aliquam numquam quia distinctio dolor ducimus quod
optio quam soluta expedita eligendi quae, ipsa culpa. Praesentium autem impedit,
necessitatibus quos porro cupiditate ipsam eveniet nisi illo. Sequi molestias magnam
exercitationem repudiandae maiores dolor itaque earum necessitatibus facere. Officiis
dolorem, hic modi, maxime sint sapiente, libero quas impedit earum quibusdam rerum minus
atque doloribus! Accusamus impedit rerum ea pariatur sunt ex iure consequatur! Quisquam
maiores doloremque, sit vero, sint a ullam eum possimus dicta voluptatem numquam sequi
eveniet dolorem recusandae ratione odio! Sint reprehenderit earum quas fugit dolorum
laudantium maiores officiis necessitatibus harum? Exercitationem provident dolores soluta.
Rerum minus hic asperiores nesciunt, error quae blanditiis expedita ducimus facere provident
reprehenderit, ex autem tempore praesentium? Culpa blanditiis repellendus earum qui? Atque
dolorem, impedit dignissimos non pariatur blanditiis porro nisi doloribus? Fugit recusandae
qui dignissimos, natus architecto sapiente sunt laudantium tenetur temporibus iste totam
placeat facilis facere quia doloribus.
</p>
<oc-carousel-v1 id="carousel-1">
<oc-placeholder-v1 interactive="true">ITEM 1</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true" style="width: 1500px">ITEM 2</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true">ITEM 3</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true">ITEM 4</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true" style="width: 100px">ITEM 5</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true">ITEM 6</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true">ITEM 7</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true">ITEM 8</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true">ITEM 9</oc-placeholder-v1>
</oc-carousel-v1>
<div style="margin-top: 32px"></div>
<oc-carousel-v1 id="carousel-2">
<oc-placeholder-v1 interactive="true">ITEM 1</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true" style="width: 1500px">ITEM 2</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true">ITEM 3</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true">ITEM 4</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true" style="width: 100px">ITEM 5</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true">ITEM 6</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true">ITEM 7</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true">ITEM 8</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true">ITEM 9</oc-placeholder-v1>
</oc-carousel-v1>
<div style="margin-top: 32px"></div>
<p>
Lorem ipsum dolor sit amet consectetur adipisicing elit. Officiis facilis nobis nisi odit
maiores libero assumenda repudiandae. Repudiandae sapiente odit id. Voluptas dolores
repellendus sit corrupti ab dolor distinctio, expedita id quod suscipit. Saepe culpa libero
laborum vel quos illum officia, fuga corporis dolor excepturi! Excepturi, nobis. Pariatur
itaque voluptas tenetur qui aut eveniet, aliquam numquam quia distinctio dolor ducimus quod
optio quam soluta expedita eligendi quae, ipsa culpa. Praesentium autem impedit,
necessitatibus quos porro cupiditate ipsam eveniet nisi illo. Sequi molestias magnam
exercitationem repudiandae maiores dolor itaque earum necessitatibus facere. Officiis
dolorem, hic modi, maxime sint sapiente, libero quas impedit earum quibusdam rerum minus
atque doloribus! Accusamus impedit rerum ea pariatur sunt ex iure consequatur! Quisquam
maiores doloremque, sit vero, sint a ullam eum possimus dicta voluptatem numquam sequi
eveniet dolorem recusandae ratione odio! Sint reprehenderit earum quas fugit dolorum
laudantium maiores officiis necessitatibus harum? Exercitationem provident dolores soluta.
Rerum minus hic asperiores nesciunt, error quae blanditiis expedita ducimus facere provident
reprehenderit, ex autem tempore praesentium? Culpa blanditiis repellendus earum qui? Atque
dolorem, impedit dignissimos non pariatur blanditiis porro nisi doloribus? Fugit recusandae
qui dignissimos, natus architecto sapiente sunt laudantium tenetur temporibus iste totam
placeat facilis facere quia doloribus.
</p>
<oc-carousel-v1 id="carousel-3">
<oc-placeholder-v1 interactive="true">ITEM 1</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true" style="width: 1500px">ITEM 2</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true">ITEM 3</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true">ITEM 4</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true" style="width: 100px">ITEM 5</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true">ITEM 6</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true">ITEM 7</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true">ITEM 8</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true">ITEM 9</oc-placeholder-v1>
</oc-carousel-v1>
<div style="margin-top: 32px"></div>
<oc-carousel-v1 id="carousel-4">
<oc-placeholder-v1 interactive="true">ITEM 1</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true" style="width: 1500px">ITEM 2</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true">ITEM 3</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true">ITEM 4</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true" style="width: 100px">ITEM 5</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true">ITEM 6</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true">ITEM 7</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true">ITEM 8</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true">ITEM 9</oc-placeholder-v1>
</oc-carousel-v1>
<div style="margin-top: 32px"></div>
<oc-carousel-v1 id="carousel-5">
<oc-placeholder-v1 interactive="true">ITEM 1</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true" style="width: 1500px">ITEM 2</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true">ITEM 3</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true">ITEM 4</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true" style="width: 100px">ITEM 5</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true">ITEM 6</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true">ITEM 7</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true">ITEM 8</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true">ITEM 9</oc-placeholder-v1>
</oc-carousel-v1>
<p>
Lorem ipsum dolor sit amet consectetur adipisicing elit. Officiis facilis nobis nisi odit
maiores libero assumenda repudiandae. Repudiandae sapiente odit id. Voluptas dolores
repellendus sit corrupti ab dolor distinctio, expedita id quod suscipit. Saepe culpa libero
laborum vel quos illum officia, fuga corporis dolor excepturi! Excepturi, nobis. Pariatur
itaque voluptas tenetur qui aut eveniet, aliquam numquam quia distinctio dolor ducimus quod
optio quam soluta expedita eligendi quae, ipsa culpa. Praesentium autem impedit,
necessitatibus quos porro cupiditate ipsam eveniet nisi illo. Sequi molestias magnam
exercitationem repudiandae maiores dolor itaque earum necessitatibus facere. Officiis
dolorem, hic modi, maxime sint sapiente, libero quas impedit earum quibusdam rerum minus
atque doloribus! Accusamus impedit rerum ea pariatur sunt ex iure consequatur! Quisquam
maiores doloremque, sit vero, sint a ullam eum possimus dicta voluptatem numquam sequi
eveniet dolorem recusandae ratione odio! Sint reprehenderit earum quas fugit dolorum
laudantium maiores officiis necessitatibus harum? Exercitationem provident dolores soluta.
Rerum minus hic asperiores nesciunt, error quae blanditiis expedita ducimus facere provident
reprehenderit, ex autem tempore praesentium? Culpa blanditiis repellendus earum qui? Atque
dolorem, impedit dignissimos non pariatur blanditiis porro nisi doloribus? Fugit recusandae
qui dignissimos, natus architecto sapiente sunt laudantium tenetur temporibus iste totam
placeat facilis facere quia doloribus.
</p>
<p>
Lorem ipsum dolor sit amet consectetur adipisicing elit. Officiis facilis nobis nisi odit
maiores libero assumenda repudiandae. Repudiandae sapiente odit id. Voluptas dolores
repellendus sit corrupti ab dolor distinctio, expedita id quod suscipit. Saepe culpa libero
laborum vel quos illum officia, fuga corporis dolor excepturi! Excepturi, nobis. Pariatur
itaque voluptas tenetur qui aut eveniet, aliquam numquam quia distinctio dolor ducimus quod
optio quam soluta expedita eligendi quae, ipsa culpa. Praesentium autem impedit,
necessitatibus quos porro cupiditate ipsam eveniet nisi illo. Sequi molestias magnam
exercitationem repudiandae maiores dolor itaque earum necessitatibus facere. Officiis
dolorem, hic modi, maxime sint sapiente, libero quas impedit earum quibusdam rerum minus
atque doloribus! Accusamus impedit rerum ea pariatur sunt ex iure consequatur! Quisquam
maiores doloremque, sit vero, sint a ullam eum possimus dicta voluptatem numquam sequi
eveniet dolorem recusandae ratione odio! Sint reprehenderit earum quas fugit dolorum
laudantium maiores officiis necessitatibus harum? Exercitationem provident dolores soluta.
Rerum minus hic asperiores nesciunt, error quae blanditiis expedita ducimus facere provident
reprehenderit, ex autem tempore praesentium? Culpa blanditiis repellendus earum qui? Atque
dolorem, impedit dignissimos non pariatur blanditiis porro nisi doloribus? Fugit recusandae
qui dignissimos, natus architecto sapiente sunt laudantium tenetur temporibus iste totam
placeat facilis facere quia doloribus.
</p>
<p>
Lorem ipsum dolor sit amet consectetur adipisicing elit. Officiis facilis nobis nisi odit
maiores libero assumenda repudiandae. Repudiandae sapiente odit id. Voluptas dolores
repellendus sit corrupti ab dolor distinctio, expedita id quod suscipit. Saepe culpa libero
laborum vel quos illum officia, fuga corporis dolor excepturi! Excepturi, nobis. Pariatur
itaque voluptas tenetur qui aut eveniet, aliquam numquam quia distinctio dolor ducimus quod
optio quam soluta expedita eligendi quae, ipsa culpa. Praesentium autem impedit,
necessitatibus quos porro cupiditate ipsam eveniet nisi illo. Sequi molestias magnam
exercitationem repudiandae maiores dolor itaque earum necessitatibus facere. Officiis
dolorem, hic modi, maxime sint sapiente, libero quas impedit earum quibusdam rerum minus
atque doloribus! Accusamus impedit rerum ea pariatur sunt ex iure consequatur! Quisquam
maiores doloremque, sit vero, sint a ullam eum possimus dicta voluptatem numquam sequi
eveniet dolorem recusandae ratione odio! Sint reprehenderit earum quas fugit dolorum
laudantium maiores officiis necessitatibus harum? Exercitationem provident dolores soluta.
Rerum minus hic asperiores nesciunt, error quae blanditiis expedita ducimus facere provident
reprehenderit, ex autem tempore praesentium? Culpa blanditiis repellendus earum qui? Atque
dolorem, impedit dignissimos non pariatur blanditiis porro nisi doloribus? Fugit recusandae
qui dignissimos, natus architecto sapiente sunt laudantium tenetur temporibus iste totam
placeat facilis facere quia doloribus.
</p>
<p>
Lorem ipsum dolor sit amet consectetur adipisicing elit. Officiis facilis nobis nisi odit
maiores libero assumenda repudiandae. Repudiandae sapiente odit id. Voluptas dolores
repellendus sit corrupti ab dolor distinctio, expedita id quod suscipit. Saepe culpa libero
laborum vel quos illum officia, fuga corporis dolor excepturi! Excepturi, nobis. Pariatur
itaque voluptas tenetur qui aut eveniet, aliquam numquam quia distinctio dolor ducimus quod
optio quam soluta expedita eligendi quae, ipsa culpa. Praesentium autem impedit,
necessitatibus quos porro cupiditate ipsam eveniet nisi illo. Sequi molestias magnam
exercitationem repudiandae maiores dolor itaque earum necessitatibus facere. Officiis
dolorem, hic modi, maxime sint sapiente, libero quas impedit earum quibusdam rerum minus
atque doloribus! Accusamus impedit rerum ea pariatur sunt ex iure consequatur! Quisquam
maiores doloremque, sit vero, sint a ullam eum possimus dicta voluptatem numquam sequi
eveniet dolorem recusandae ratione odio! Sint reprehenderit earum quas fugit dolorum
laudantium maiores officiis necessitatibus harum? Exercitationem provident dolores soluta.
Rerum minus hic asperiores nesciunt, error quae blanditiis expedita ducimus facere provident
reprehenderit, ex autem tempore praesentium? Culpa blanditiis repellendus earum qui? Atque
dolorem, impedit dignissimos non pariatur blanditiis porro nisi doloribus? Fugit recusandae
qui dignissimos, natus architecto sapiente sunt laudantium tenetur temporibus iste totam
placeat facilis facere quia doloribus.
</p>
<p>
Lorem ipsum dolor sit amet consectetur adipisicing elit. Officiis facilis nobis nisi odit
maiores libero assumenda repudiandae. Repudiandae sapiente odit id. Voluptas dolores
repellendus sit corrupti ab dolor distinctio, expedita id quod suscipit. Saepe culpa libero
laborum vel quos illum officia, fuga corporis dolor excepturi! Excepturi, nobis. Pariatur
itaque voluptas tenetur qui aut eveniet, aliquam numquam quia distinctio dolor ducimus quod
optio quam soluta expedita eligendi quae, ipsa culpa. Praesentium autem impedit,
necessitatibus quos porro cupiditate ipsam eveniet nisi illo. Sequi molestias magnam
exercitationem repudiandae maiores dolor itaque earum necessitatibus facere. Officiis
dolorem, hic modi, maxime sint sapiente, libero quas impedit earum quibusdam rerum minus
atque doloribus! Accusamus impedit rerum ea pariatur sunt ex iure consequatur! Quisquam
maiores doloremque, sit vero, sint a ullam eum possimus dicta voluptatem numquam sequi
eveniet dolorem recusandae ratione odio! Sint reprehenderit earum quas fugit dolorum
laudantium maiores officiis necessitatibus harum? Exercitationem provident dolores soluta.
Rerum minus hic asperiores nesciunt, error quae blanditiis expedita ducimus facere provident
reprehenderit, ex autem tempore praesentium? Culpa blanditiis repellendus earum qui? Atque
dolorem, impedit dignissimos non pariatur blanditiis porro nisi doloribus? Fugit recusandae
qui dignissimos, natus architecto sapiente sunt laudantium tenetur temporibus iste totam
placeat facilis facere quia doloribus.
</p>
<oc-carousel-v1 id="carousel-6">
<oc-placeholder-v1 interactive="true">ITEM 1</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true" style="width: 1500px">ITEM 2</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true">ITEM 3</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true">ITEM 4</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true" style="width: 100px">ITEM 5</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true">ITEM 6</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true">ITEM 7</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true">ITEM 8</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true">ITEM 9</oc-placeholder-v1>
</oc-carousel-v1>
<p>
Lorem ipsum dolor sit amet consectetur adipisicing elit. Officiis facilis nobis nisi odit
maiores libero assumenda repudiandae. Repudiandae sapiente odit id. Voluptas dolores
repellendus sit corrupti ab dolor distinctio, expedita id quod suscipit. Saepe culpa libero
laborum vel quos illum officia, fuga corporis dolor excepturi! Excepturi, nobis. Pariatur
itaque voluptas tenetur qui aut eveniet, aliquam numquam quia distinctio dolor ducimus quod
optio quam soluta expedita eligendi quae, ipsa culpa. Praesentium autem impedit,
necessitatibus quos porro cupiditate ipsam eveniet nisi illo. Sequi molestias magnam
exercitationem repudiandae maiores dolor itaque earum necessitatibus facere. Officiis
dolorem, hic modi, maxime sint sapiente, libero quas impedit earum quibusdam rerum minus
atque doloribus! Accusamus impedit rerum ea pariatur sunt ex iure consequatur! Quisquam
maiores doloremque, sit vero, sint a ullam eum possimus dicta voluptatem numquam sequi
eveniet dolorem recusandae ratione odio! Sint reprehenderit earum quas fugit dolorum
laudantium maiores officiis necessitatibus harum? Exercitationem provident dolores soluta.
Rerum minus hic asperiores nesciunt, error quae blanditiis expedita ducimus facere provident
reprehenderit, ex autem tempore praesentium? Culpa blanditiis repellendus earum qui? Atque
dolorem, impedit dignissimos non pariatur blanditiis porro nisi doloribus? Fugit recusandae
qui dignissimos, natus architecto sapiente sunt laudantium tenetur temporibus iste totam
placeat facilis facere quia doloribus.
</p>
Story source (TypeScript, verbatim from Storybook)
{
name: "Demo: Multiple Carousels",
parameters: {
chromatic: {
hideInChromatic: true
}
},
render: () => {
return html`
<h1>List of Carousels</h1>
<p>
Lorem ipsum dolor sit amet consectetur adipisicing elit. Officiis facilis nobis nisi odit
maiores libero assumenda repudiandae. Repudiandae sapiente odit id. Voluptas dolores
repellendus sit corrupti ab dolor distinctio, expedita id quod suscipit. Saepe culpa libero
laborum vel quos illum officia, fuga corporis dolor excepturi! Excepturi, nobis. Pariatur
itaque voluptas tenetur qui aut eveniet, aliquam numquam quia distinctio dolor ducimus quod
optio quam soluta expedita eligendi quae, ipsa culpa. Praesentium autem impedit,
necessitatibus quos porro cupiditate ipsam eveniet nisi illo. Sequi molestias magnam
exercitationem repudiandae maiores dolor itaque earum necessitatibus facere. Officiis
dolorem, hic modi, maxime sint sapiente, libero quas impedit earum quibusdam rerum minus
atque doloribus! Accusamus impedit rerum ea pariatur sunt ex iure consequatur! Quisquam
maiores doloremque, sit vero, sint a ullam eum possimus dicta voluptatem numquam sequi
eveniet dolorem recusandae ratione odio! Sint reprehenderit earum quas fugit dolorum
laudantium maiores officiis necessitatibus harum? Exercitationem provident dolores soluta.
Rerum minus hic asperiores nesciunt, error quae blanditiis expedita ducimus facere provident
reprehenderit, ex autem tempore praesentium? Culpa blanditiis repellendus earum qui? Atque
dolorem, impedit dignissimos non pariatur blanditiis porro nisi doloribus? Fugit recusandae
qui dignissimos, natus architecto sapiente sunt laudantium tenetur temporibus iste totam
placeat facilis facere quia doloribus.
</p>
<oc-carousel-v1 id="carousel-1">
<oc-placeholder-v1 interactive="true">ITEM 1</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true" style="width: 1500px">ITEM 2</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true">ITEM 3</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true">ITEM 4</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true" style="width: 100px">ITEM 5</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true">ITEM 6</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true">ITEM 7</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true">ITEM 8</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true">ITEM 9</oc-placeholder-v1>
</oc-carousel-v1>
<div style="margin-top: 32px"></div>
<oc-carousel-v1 id="carousel-2">
<oc-placeholder-v1 interactive="true">ITEM 1</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true" style="width: 1500px">ITEM 2</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true">ITEM 3</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true">ITEM 4</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true" style="width: 100px">ITEM 5</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true">ITEM 6</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true">ITEM 7</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true">ITEM 8</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true">ITEM 9</oc-placeholder-v1>
</oc-carousel-v1>
<div style="margin-top: 32px"></div>
<p>
Lorem ipsum dolor sit amet consectetur adipisicing elit. Officiis facilis nobis nisi odit
maiores libero assumenda repudiandae. Repudiandae sapiente odit id. Voluptas dolores
repellendus sit corrupti ab dolor distinctio, expedita id quod suscipit. Saepe culpa libero
laborum vel quos illum officia, fuga corporis dolor excepturi! Excepturi, nobis. Pariatur
itaque voluptas tenetur qui aut eveniet, aliquam numquam quia distinctio dolor ducimus quod
optio quam soluta expedita eligendi quae, ipsa culpa. Praesentium autem impedit,
necessitatibus quos porro cupiditate ipsam eveniet nisi illo. Sequi molestias magnam
exercitationem repudiandae maiores dolor itaque earum necessitatibus facere. Officiis
dolorem, hic modi, maxime sint sapiente, libero quas impedit earum quibusdam rerum minus
atque doloribus! Accusamus impedit rerum ea pariatur sunt ex iure consequatur! Quisquam
maiores doloremque, sit vero, sint a ullam eum possimus dicta voluptatem numquam sequi
eveniet dolorem recusandae ratione odio! Sint reprehenderit earum quas fugit dolorum
laudantium maiores officiis necessitatibus harum? Exercitationem provident dolores soluta.
Rerum minus hic asperiores nesciunt, error quae blanditiis expedita ducimus facere provident
reprehenderit, ex autem tempore praesentium? Culpa blanditiis repellendus earum qui? Atque
dolorem, impedit dignissimos non pariatur blanditiis porro nisi doloribus? Fugit recusandae
qui dignissimos, natus architecto sapiente sunt laudantium tenetur temporibus iste totam
placeat facilis facere quia doloribus.
</p>
<oc-carousel-v1 id="carousel-3">
<oc-placeholder-v1 interactive="true">ITEM 1</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true" style="width: 1500px">ITEM 2</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true">ITEM 3</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true">ITEM 4</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true" style="width: 100px">ITEM 5</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true">ITEM 6</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true">ITEM 7</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true">ITEM 8</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true">ITEM 9</oc-placeholder-v1>
</oc-carousel-v1>
<div style="margin-top: 32px"></div>
<oc-carousel-v1 id="carousel-4">
<oc-placeholder-v1 interactive="true">ITEM 1</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true" style="width: 1500px">ITEM 2</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true">ITEM 3</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true">ITEM 4</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true" style="width: 100px">ITEM 5</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true">ITEM 6</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true">ITEM 7</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true">ITEM 8</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true">ITEM 9</oc-placeholder-v1>
</oc-carousel-v1>
<div style="margin-top: 32px"></div>
<oc-carousel-v1 id="carousel-5">
<oc-placeholder-v1 interactive="true">ITEM 1</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true" style="width: 1500px">ITEM 2</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true">ITEM 3</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true">ITEM 4</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true" style="width: 100px">ITEM 5</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true">ITEM 6</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true">ITEM 7</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true">ITEM 8</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true">ITEM 9</oc-placeholder-v1>
</oc-carousel-v1>
<p>
Lorem ipsum dolor sit amet consectetur adipisicing elit. Officiis facilis nobis nisi odit
maiores libero assumenda repudiandae. Repudiandae sapiente odit id. Voluptas dolores
repellendus sit corrupti ab dolor distinctio, expedita id quod suscipit. Saepe culpa libero
laborum vel quos illum officia, fuga corporis dolor excepturi! Excepturi, nobis. Pariatur
itaque voluptas tenetur qui aut eveniet, aliquam numquam quia distinctio dolor ducimus quod
optio quam soluta expedita eligendi quae, ipsa culpa. Praesentium autem impedit,
necessitatibus quos porro cupiditate ipsam eveniet nisi illo. Sequi molestias magnam
exercitationem repudiandae maiores dolor itaque earum necessitatibus facere. Officiis
dolorem, hic modi, maxime sint sapiente, libero quas impedit earum quibusdam rerum minus
atque doloribus! Accusamus impedit rerum ea pariatur sunt ex iure consequatur! Quisquam
maiores doloremque, sit vero, sint a ullam eum possimus dicta voluptatem numquam sequi
eveniet dolorem recusandae ratione odio! Sint reprehenderit earum quas fugit dolorum
laudantium maiores officiis necessitatibus harum? Exercitationem provident dolores soluta.
Rerum minus hic asperiores nesciunt, error quae blanditiis expedita ducimus facere provident
reprehenderit, ex autem tempore praesentium? Culpa blanditiis repellendus earum qui? Atque
dolorem, impedit dignissimos non pariatur blanditiis porro nisi doloribus? Fugit recusandae
qui dignissimos, natus architecto sapiente sunt laudantium tenetur temporibus iste totam
placeat facilis facere quia doloribus.
</p>
<p>
Lorem ipsum dolor sit amet consectetur adipisicing elit. Officiis facilis nobis nisi odit
maiores libero assumenda repudiandae. Repudiandae sapiente odit id. Voluptas dolores
repellendus sit corrupti ab dolor distinctio, expedita id quod suscipit. Saepe culpa libero
laborum vel quos illum officia, fuga corporis dolor excepturi! Excepturi, nobis. Pariatur
itaque voluptas tenetur qui aut eveniet, aliquam numquam quia distinctio dolor ducimus quod
optio quam soluta expedita eligendi quae, ipsa culpa. Praesentium autem impedit,
necessitatibus quos porro cupiditate ipsam eveniet nisi illo. Sequi molestias magnam
exercitationem repudiandae maiores dolor itaque earum necessitatibus facere. Officiis
dolorem, hic modi, maxime sint sapiente, libero quas impedit earum quibusdam rerum minus
atque doloribus! Accusamus impedit rerum ea pariatur sunt ex iure consequatur! Quisquam
maiores doloremque, sit vero, sint a ullam eum possimus dicta voluptatem numquam sequi
eveniet dolorem recusandae ratione odio! Sint reprehenderit earum quas fugit dolorum
laudantium maiores officiis necessitatibus harum? Exercitationem provident dolores soluta.
Rerum minus hic asperiores nesciunt, error quae blanditiis expedita ducimus facere provident
reprehenderit, ex autem tempore praesentium? Culpa blanditiis repellendus earum qui? Atque
dolorem, impedit dignissimos non pariatur blanditiis porro nisi doloribus? Fugit recusandae
qui dignissimos, natus architecto sapiente sunt laudantium tenetur temporibus iste totam
placeat facilis facere quia doloribus.
</p>
<p>
Lorem ipsum dolor sit amet consectetur adipisicing elit. Officiis facilis nobis nisi odit
maiores libero assumenda repudiandae. Repudiandae sapiente odit id. Voluptas dolores
repellendus sit corrupti ab dolor distinctio, expedita id quod suscipit. Saepe culpa libero
laborum vel quos illum officia, fuga corporis dolor excepturi! Excepturi, nobis. Pariatur
itaque voluptas tenetur qui aut eveniet, aliquam numquam quia distinctio dolor ducimus quod
optio quam soluta expedita eligendi quae, ipsa culpa. Praesentium autem impedit,
necessitatibus quos porro cupiditate ipsam eveniet nisi illo. Sequi molestias magnam
exercitationem repudiandae maiores dolor itaque earum necessitatibus facere. Officiis
dolorem, hic modi, maxime sint sapiente, libero quas impedit earum quibusdam rerum minus
atque doloribus! Accusamus impedit rerum ea pariatur sunt ex iure consequatur! Quisquam
maiores doloremque, sit vero, sint a ullam eum possimus dicta voluptatem numquam sequi
eveniet dolorem recusandae ratione odio! Sint reprehenderit earum quas fugit dolorum
laudantium maiores officiis necessitatibus harum? Exercitationem provident dolores soluta.
Rerum minus hic asperiores nesciunt, error quae blanditiis expedita ducimus facere provident
reprehenderit, ex autem tempore praesentium? Culpa blanditiis repellendus earum qui? Atque
dolorem, impedit dignissimos non pariatur blanditiis porro nisi doloribus? Fugit recusandae
qui dignissimos, natus architecto sapiente sunt laudantium tenetur temporibus iste totam
placeat facilis facere quia doloribus.
</p>
<p>
Lorem ipsum dolor sit amet consectetur adipisicing elit. Officiis facilis nobis nisi odit
maiores libero assumenda repudiandae. Repudiandae sapiente odit id. Voluptas dolores
repellendus sit corrupti ab dolor distinctio, expedita id quod suscipit. Saepe culpa libero
laborum vel quos illum officia, fuga corporis dolor excepturi! Excepturi, nobis. Pariatur
itaque voluptas tenetur qui aut eveniet, aliquam numquam quia distinctio dolor ducimus quod
optio quam soluta expedita eligendi quae, ipsa culpa. Praesentium autem impedit,
necessitatibus quos porro cupiditate ipsam eveniet nisi illo. Sequi molestias magnam
exercitationem repudiandae maiores dolor itaque earum necessitatibus facere. Officiis
dolorem, hic modi, maxime sint sapiente, libero quas impedit earum quibusdam rerum minus
atque doloribus! Accusamus impedit rerum ea pariatur sunt ex iure consequatur! Quisquam
maiores doloremque, sit vero, sint a ullam eum possimus dicta voluptatem numquam sequi
eveniet dolorem recusandae ratione odio! Sint reprehenderit earum quas fugit dolorum
laudantium maiores officiis necessitatibus harum? Exercitationem provident dolores soluta.
Rerum minus hic asperiores nesciunt, error quae blanditiis expedita ducimus facere provident
reprehenderit, ex autem tempore praesentium? Culpa blanditiis repellendus earum qui? Atque
dolorem, impedit dignissimos non pariatur blanditiis porro nisi doloribus? Fugit recusandae
qui dignissimos, natus architecto sapiente sunt laudantium tenetur temporibus iste totam
placeat facilis facere quia doloribus.
</p>
<p>
Lorem ipsum dolor sit amet consectetur adipisicing elit. Officiis facilis nobis nisi odit
maiores libero assumenda repudiandae. Repudiandae sapiente odit id. Voluptas dolores
repellendus sit corrupti ab dolor distinctio, expedita id quod suscipit. Saepe culpa libero
laborum vel quos illum officia, fuga corporis dolor excepturi! Excepturi, nobis. Pariatur
itaque voluptas tenetur qui aut eveniet, aliquam numquam quia distinctio dolor ducimus quod
optio quam soluta expedita eligendi quae, ipsa culpa. Praesentium autem impedit,
necessitatibus quos porro cupiditate ipsam eveniet nisi illo. Sequi molestias magnam
exercitationem repudiandae maiores dolor itaque earum necessitatibus facere. Officiis
dolorem, hic modi, maxime sint sapiente, libero quas impedit earum quibusdam rerum minus
atque doloribus! Accusamus impedit rerum ea pariatur sunt ex iure consequatur! Quisquam
maiores doloremque, sit vero, sint a ullam eum possimus dicta voluptatem numquam sequi
eveniet dolorem recusandae ratione odio! Sint reprehenderit earum quas fugit dolorum
laudantium maiores officiis necessitatibus harum? Exercitationem provident dolores soluta.
Rerum minus hic asperiores nesciunt, error quae blanditiis expedita ducimus facere provident
reprehenderit, ex autem tempore praesentium? Culpa blanditiis repellendus earum qui? Atque
dolorem, impedit dignissimos non pariatur blanditiis porro nisi doloribus? Fugit recusandae
qui dignissimos, natus architecto sapiente sunt laudantium tenetur temporibus iste totam
placeat facilis facere quia doloribus.
</p>
<oc-carousel-v1 id="carousel-6">
<oc-placeholder-v1 interactive="true">ITEM 1</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true" style="width: 1500px">ITEM 2</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true">ITEM 3</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true">ITEM 4</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true" style="width: 100px">ITEM 5</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true">ITEM 6</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true">ITEM 7</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true">ITEM 8</oc-placeholder-v1>
<oc-placeholder-v1 interactive="true">ITEM 9</oc-placeholder-v1>
</oc-carousel-v1>
<p>
Lorem ipsum dolor sit amet consectetur adipisicing elit. Officiis facilis nobis nisi odit
maiores libero assumenda repudiandae. Repudiandae sapiente odit id. Voluptas dolores
repellendus sit corrupti ab dolor distinctio, expedita id quod suscipit. Saepe culpa libero
laborum vel quos illum officia, fuga corporis dolor excepturi! Excepturi, nobis. Pariatur
itaque voluptas tenetur qui aut eveniet, aliquam numquam quia distinctio dolor ducimus quod
optio quam soluta expedita eligendi quae, ipsa culpa. Praesentium autem impedit,
necessitatibus quos porro cupiditate ipsam eveniet nisi illo. Sequi molestias magnam
exercitationem repudiandae maiores dolor itaque earum necessitatibus facere. Officiis
dolorem, hic modi, maxime sint sapiente, libero quas impedit earum quibusdam rerum minus
atque doloribus! Accusamus impedit rerum ea pariatur sunt ex iure consequatur! Quisquam
maiores doloremque, sit vero, sint a ullam eum possimus dicta voluptatem numquam sequi
eveniet dolorem recusandae ratione odio! Sint reprehenderit earum quas fugit dolorum
laudantium maiores officiis necessitatibus harum? Exercitationem provident dolores soluta.
Rerum minus hic asperiores nesciunt, error quae blanditiis expedita ducimus facere provident
reprehenderit, ex autem tempore praesentium? Culpa blanditiis repellendus earum qui? Atque
dolorem, impedit dignissimos non pariatur blanditiis porro nisi doloribus? Fugit recusandae
qui dignissimos, natus architecto sapiente sunt laudantium tenetur temporibus iste totam
placeat facilis facere quia doloribus.
</p>
`;
}
}