Responsive
You can use the useResponsiveSize hook to make the tilesToShow prop based on predetermined breakpoints.
Resize this page to see it in action.
The useResponsiveSize hook is optimized and only re-renders when the current breakpoint changes.
Example
Code
import { TileSlider, useResponsiveSize } from '@videodock/tile-slider';
const Slider = () => {
const [tilesToShow] = useResponsiveSize([{ xs: 2, sm: 2, md: 3, lg: 4, xl: 5 }]);
return (
<TileSlider
tilesToShow={tilesToShow}
renderTile={renderTile}
items={items}
renderRightControl={renderRightControl}
renderLeftControl={renderLeftControl}
/>
);
};
Multiple configurations:
import { TileSlider, useResponsiveSize } from '@videodock/tile-slider';
const Slider = () => {
const [largeSlider, defaultSlider] = useResponsiveSize([
{ xs: 1, sm: 2, md: 4, lg: 7, xl: 9 }, // configuration for the large slider
{ xs: 1, sm: 2, md: 3, lg: 4, xl: 5 }, // configuration for the default slider
]);
return (
<>
<TileSlider
tilesToShow={largeSlider}
renderTile={renderTile}
items={items}
renderRightControl={renderRightControl}
renderLeftControl={renderLeftControl}
/>
<TileSlider
tilesToShow={defaultSlider}
renderTile={renderTile}
items={items}
renderRightControl={renderRightControl}
renderLeftControl={renderLeftControl}
/>
</>
);
};








