I have created a slider component in svelte that shows a number of product cards in a list. The cards are snapping when clicking the right/left button in the scrollbar sinceI have added "scroll-snap-type: x mandatory" in the CSS for the container.
How do i mimic click on the scrollbars left/right-arrows for my custom navigation buttons? Setting the scrollbar position won't do the trick.
+page.svelte
<SliderProducts> {#each data.productsFeaturedData as product}<ProductCard product={product}/> {/each}</SliderProducts>
SliderProducts.svelte
<script lang="ts"> import Flex from '../atoms/Flex.svelte'; import ButtonNavigation from '../molecules/ButtonNavigation.svelte'; $: innerWidth = 0; $: containerWidth = 0; $: marginOffset = (innerWidth - containerWidth) / 2 + 8; const navigateSlider = (x: MouseEvent) => { if (x.target) { const element = x.target as HTMLButtonElement; const direction = element.dataset.direction; // TODO: Implement button navigation console.log(direction); } };</script><svelte:window bind:innerWidth /><div class="slider-products"><div class="container" bind:clientWidth={containerWidth}><h2>Trending in Shoes</h2><div class="button-navigation__container"><ButtonNavigation direction="left" on:click={navigateSlider} /><ButtonNavigation direction="right" on:click={navigateSlider} /></div></div><div class="slider-container"><Flex type="row" vAlign="top" colGap={true}><div class="slider-track" style="margin-left: {marginOffset}px; padding-right: {marginOffset}px;"><slot /></div></Flex></div></div>