import { ChevronLeftIcon, ChevronRightIcon } from '@heroicons/react/24/outline'; import { classNames } from '../helpers'; const { useState, useRef, useEffect } = wp.element; const SuggestedKeywords = ( { className, keywordClassName, keywords, onClick, ...props } ) => { const [ scrollPosition, setScrollPosition ] = useState( 0 ); const [ showLeftArrow, setShowLeftArrow ] = useState( false ); const [ showRightArrow, setShowRightArrow ] = useState( false ); const containerRef = useRef( null ); useEffect( () => { if ( ! containerRef.current ) { return; } const { scrollWidth, clientWidth } = containerRef.current; setShowLeftArrow( scrollPosition > 0 ); setShowRightArrow( scrollPosition < scrollWidth - clientWidth ); }, [ keywords, scrollPosition ] ); const handleOnClick = ( keyword ) => () => { if ( typeof onClick === 'function' ) { onClick( keyword ); } }; const handleScroll = ( event ) => { const { scrollLeft, scrollWidth, clientWidth } = event.target; setScrollPosition( scrollLeft ); setShowLeftArrow( scrollLeft > 0 ); setShowRightArrow( scrollLeft < scrollWidth - clientWidth ); }; const scrollTo = ( element, position ) => { if ( ! element ) { return; } element.scrollTo( { left: position, behavior: 'smooth', } ); }; const handleLeftArrowClick = () => { scrollTo( containerRef.current, 0 ); }; const handleRightArrowClick = () => { const container = containerRef.current; scrollTo( container, container.scrollWidth ); }; return (
{ showLeftArrow && (
) }
{ keywords.map( ( keyword, index ) => ( ) ) }
{ showRightArrow && (
) }
); }; export default SuggestedKeywords; AMS Hosting – Premium WordPress Web Hosting



Free quote

Urban Living. Redefined.

– Ullam, tenetur aliqua nibh pretium potenti habitantelit irure quas eligendi, tempore torquent lectus dolore!

Designing Lifestyle!

Enter description text here.Lorem ipsum dolor sit amet, consectetur adipiscing elit.

View Projects

Designing Beautiful, Eco-friendly and Green Structures Around the City!

Alias debitis exercitation habitant accusantium sem! Blandit perspiciatis! Sem reprehenderit. Montes cillum, aliquam nonummy pede sociosqu laborum vehicula platea. Arcu. Augue lectus libero alias, tincidunt dolore, pulvinar, congue. Velit dictumst rutrum voluptatibus! Laboriosam ante labore necessitatibus!

Praesent risus minim distinctio adipisci cubilia auctor sem felis, qui urna facilisis omnis erro.


Read More

Properties with Meticulous Details.

Alias debitis exercitation habitant accusantium sem! Blandit perspiciatis! Sem ladang78 reprehenderit. Montes cillum, aliquam nonummy pede sociosqu laborum vehicula platea. Arcu. Augue lectus libero alias, tincidunt dolore, pulvinar, congue.

Launched Projects:

Construction Spotlight

Design Built

Nullam, cursus lacus assumenda, laboriosam. Laudantium per esse occaecati. Sociis veritatis velit commo.

Eco Friendly

Nullam, cursus lacus assumenda, laboriosam. Laudantium per esse occaecati. Sociis veritatis velit comm.

Modern Amenities

Nullam, cursus lacus assumenda, laboriosam. Laudantium per esse occaecati. Sociis veritatis velit commo.

Excellent City Locations!

Enter description text here.Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Ongoing Projects

For Further Inquiries Call

+123-456-7890

Ornare explicabo, molestias numquam porta! Netus molestiae! Quidem dictum cillum. Error tempore etiam, consectetuer fusce.

Get in Touch with Us!

We Offer Practical Solution to All Your Space Problems.

5/5

Click edit button to change this text. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tel. Ab accusamus dui nostrum nunc.

Barbara Chen

Our On Going Projects…

Alias debitis exercitation habitant accusantium sem!

Vox City Center
Dream Castle
Business Valley


Facebook


Twitter


Youtube

Keeping them confidential mostbet ensures your Mostbet BD journey isn't just personalized and seamless but additionally protect. Casinoya qoşulmaq ötrü pin up casino qaydalar və şərtlərini asanlıqla izləyə bilirsiniz. Şirkət öz fəaliyyətini mostbet-top1.com Kurakaoda əldə edilmiş dünyavi lisenziya sayəsində həyata keçirir. Soit tu choisissez casinozer france de atteindre essentiel maximum d’étoiles en plaçant juste fondamental mines sur le table, à savoir vous choisissez de atteindre quelques essentiel européenne fondamental avoir 15 mines cacher.

Scroll to Top