/** * WordPress dependencies */ import { RichText, useBlockProps } from '@wordpress/block-editor'; import { Fragment, RawHTML } from '@wordpress/element'; import classnames from 'classnames'; const { DisplayIcon, DynamicTag } = window?.gutSliderModules; /** * Save function */ export default function save({ attributes }) { const { uniqueId, //visible elements showImage, showSubTitle, showTitle, showDescription, showButton, sliderType, slideItems, sliderOptions, titleTag, subtitleTag, descriptionTag, titleAnimation, subtitleAnimation, descAnimation, btnAnimation, sbtnAnimation, showPagination, showNavigation, navContainerPosition, navPosition, customNavIcon, navIconSource, navPrevIcon, navNextIcon, customPrevSVG, customNextSVG, // global link enableGlobalLink, // remote navigation enableRemoteNav, remotePrevSelector, remoteNextSelector } = attributes; // Block Props const blockProps = useBlockProps.save({ className: classnames(uniqueId, navContainerPosition, navPosition) }); return (
{slideItems && slideItems.map((slide, index) => { const bgStyles = { backgroundColor: slide.bgColor ? slide.bgColor : '', ...(slide.bgType !== 'video' && !slide.enableResponsiveBg && { backgroundImage: slide.bgType === 'classic' ? `url(${slide.image.url})` : slide.bgGradient }), ...(slide.bgType !== 'video' && slide.enableResponsiveBg && slide.bgType === 'classic' && { [`--gut-desktop-bg-image`]: `url(${slide.DesktopBg?.url})`, [`--gut-tablet-bg-image`]: `url(${slide.TabletBg?.url})`, [`--gut-mobile-bg-image`]: `url(${slide.MobileBg?.url})` }), ...(slide.enableResponsiveBg && slide.bgType === 'classic' && slide?.DesktopBg?.url && slide?.DesktopFocalPoint && { [`--gut-desktop-focal-point`]: `${slide?.DesktopFocalPoint?.x * 100}% ${slide?.DesktopFocalPoint?.y * 100}%` }), ...(slide.enableResponsiveBg && slide.bgType === 'classic' && slide?.TabletBg?.url && slide?.TabletFocalPoint && { [`--gut-tablet-focal-point`]: `${slide?.TabletFocalPoint?.x * 100}% ${slide?.TabletFocalPoint?.y * 100}%` }), ...(slide.enableResponsiveBg && slide.bgType === 'classic' && slide?.MobileBg?.url && slide?.MobileFocalPoint && { [`--gut-mobile-focal-point`]: `${slide?.MobileFocalPoint?.x * 100}% ${slide?.MobileFocalPoint?.y * 100}%` }), ...(slide?.focusPoint && slide.bgType !== 'video' && !slide.enableResponsiveBg && { backgroundPosition: `${slide?.focusPoint?.x * 100}% ${slide?.focusPoint?.y * 100}%` }) }; const overlayStyles = { background: slide.overlayType === 'classic' ? slide.overlayColor : slide.overlayGradient, opacity: slide.overlayOpacity ? slide.overlayOpacity : '' }; return (
{slide.bgType === 'video' && slide.bgVideo?.url && (
)} {slide.enableOverlay && (slide.bgType === 'classic' || slide.bgType === 'video') && (
)}
{showImage ? (
{slide.photo && slide.photo.url ? (
{slide.photo.alt}
) : null}
{showSubTitle && slide.subtitle && ( )} {showTitle && slide.title && ( )} {showDescription && slide.description && ( )}
{slide.btnLabel && slide.btnLinks && slide.btnLinks.url && ( {slide.btnLabel} )} {showButton && slide?.showSbtnLinks ? (
{slide.sbtnLabel && slide.sbtnLinks && slide.sbtnLinks.url && ( {slide.sbtnLabel} )}
) : ( slide.btnLabel && slide.btnLinks && slide.btnLinks.url && ( {slide.btnLabel} ) )}
) : (
{showSubTitle && slide.subtitle && ( )} {showTitle && slide.title && ( )} {showDescription && slide.description && ( )} {showButton && slide?.showSbtnLinks ? (
{slide.btnLabel && slide.btnLinks && slide.btnLinks.url && ( {slide.btnLabel} )} {slide.sbtnLabel && slide.sbtnLinks && slide.sbtnLinks.url && ( {slide.sbtnLabel} )}
) : ( showButton && slide.btnLabel && slide.btnLinks && slide.btnLinks.url && ( {slide.btnLabel} ) )}
)}
); })}
{showNavigation && navContainerPosition === 'nav_inside' && !enableRemoteNav && (
{customNavIcon ? (
{navIconSource === 'library' && } {navIconSource === 'custom' && {customPrevSVG}}
{navIconSource === 'library' && } {navIconSource === 'custom' && {customNextSVG}}
) : (
)}
)} {showPagination &&
}
{showNavigation && navContainerPosition === 'nav_outside' && !enableRemoteNav && (
{customNavIcon ? (
{navIconSource === 'library' && } {navIconSource === 'custom' && {customPrevSVG}}
{navIconSource === 'library' && } {navIconSource === 'custom' && {customNextSVG}}
) : (
)}
)}
); }