null, 'url' => $video, 'alt' => '', 'title' => '' ]; } if ( ! is_array( $poster ) && is_string( $poster ) ) { $poster = [ 'id' => null, 'url' => $poster, 'alt' => '', 'title' => '' ]; } if ( empty( $videoSources['desktop']['mp4']['url'] ) && ! empty( $video['url'] ) ) { $videoSources['desktop']['mp4'] = [ 'id' => $video['id'] ?? null, 'url' => $video['url'] ?? '', 'alt' => $video['alt'] ?? '', 'title' => $video['title'] ?? '' ]; } if ( empty( $posterSources['desktop']['url'] ) && ! empty( $poster['url'] ) ) { $posterSources['desktop'] = [ 'id' => $poster['id'] ?? null, 'url' => $poster['url'] ?? '', 'alt' => $poster['alt'] ?? '', 'title' => $poster['title'] ?? '' ]; } if ( ! is_array( $bgOverlay ) ) { $bgOverlay = is_string( $bgOverlay ) ? [ 'color' => $bgOverlay ] : [ 'color' => '#000000b3' ]; } $contentTypography = $contentTypography ?? []; $headingTypography = $headingTypography ?? []; $paragraphTypography = $paragraphTypography ?? []; $buttonTypography = $buttonTypography ?? []; $buttonStyle = $buttonStyle ?? []; $posterDesktop = $posterSources['desktop']['url'] ?? ( $poster['url'] ?? '' ); $posterTablet = $posterSources['tablet']['url'] ?? ''; $posterMobile = $posterSources['mobile']['url'] ?? ''; $minHeightTablet = $minHeightTablet ?: $minHeight; $minHeightMobile = $minHeightMobile ?: $minHeight; $resolvedPaddingTablet = vbb_resolve_space( $paddingTablet ?? [], $padding ?? [] ); $resolvedPaddingMobile = vbb_resolve_space( $paddingMobile ?? [], $padding ?? [] ); $posterBlur = ! empty( $posterOptions['blur'] ) ? (int) ( $posterOptions['blurAmount'] ?? 12 ) : 0; $posterDisplay = isset( $posterOptions['show'] ) && ! $posterOptions['show'] ? 'none' : 'block'; $posterColor = $posterOptions['dominantColor'] ?? '#000000'; $posterAuto = ! empty( $posterOptions['dominantAuto'] ); $overlayOpacity = isset( $overlayOpacity ) ? (float) $overlayOpacity : 1; $overlayBlendMode = $overlayBlendMode ?? 'normal'; $overlayPattern = $overlayPattern ?? 'none'; $overlayPatternOpacity = isset( $overlayPatternOpacity ) ? (float) $overlayPatternOpacity : 0.2; $overlayAnimate = ! empty( $overlayAnimate ); $overlayNoise = ! empty( $overlayNoise ); $overlayVignette = ! empty( $overlayVignette ); $videoFit = $videoFit ?? 'cover'; $focusPoint = $focusPoint ?? [ 'x' => 50, 'y' => 50 ]; $focusX = isset( $focusPoint['x'] ) ? (int) $focusPoint['x'] : 50; $focusY = isset( $focusPoint['y'] ) ? (int) $focusPoint['y'] : 50; $startTime = isset( $startTime ) ? (float) $startTime : 0; $endTime = isset( $endTime ) ? (float) $endTime : 0; $playbackRate = isset( $playbackRate ) ? (float) $playbackRate : 1; $muted = isset( $muted ) ? (bool) $muted : true; $volume = isset( $volume ) ? (float) $volume : 1; $audioOnClick = ! empty( $audioOnClick ); $mainSl = "#$id"; $styles = "$mainSl{ min-height: $minHeight; --vbb-video-fit: $videoFit; --vbb-overlay-opacity: $overlayOpacity; --vbb-overlay-blend: $overlayBlendMode; --vbb-overlay-pattern: " . ( 'none' !== $overlayPattern ? ( $overlayPattern === 'dots' ? 'radial-gradient(rgba(255,255,255,0.35) 1px, transparent 1px)' : ( $overlayPattern === 'grid' ? 'linear-gradient(rgba(255,255,255,0.25) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.25) 1px, transparent 1px)' : 'repeating-linear-gradient(45deg, rgba(255,255,255,0.25) 0, rgba(255,255,255,0.25) 1px, transparent 1px, transparent 8px)' ) ) : 'none' ) . "; --vbb-overlay-pattern-opacity: $overlayPatternOpacity; --vbb-overlay-noise: " . ( $overlayNoise ? '1' : '0' ) . "; --vbb-overlay-vignette: " . ( $overlayVignette ? '1' : '0' ) . "; --vbb-overlay-float: " . ( $overlayAnimate ? 'vbbOverlayFloat 16s linear infinite' : 'none' ) . "; --vbb-overlay-pulse: " . ( $overlayAnimate ? 'vbbOverlayPulse 12s ease-in-out infinite' : 'none' ) . "; } $mainSl .vbbPosterLayer{ display: $posterDisplay; background-image: url($posterDesktop); background-color: var(--vbb-poster-color, $posterColor); background-position: {$focusX}% {$focusY}%; filter: blur({$posterBlur}px); } $mainSl .vbbVideoPlayer{ object-fit: $videoFit; object-position: {$focusX}% {$focusY}%; } $mainSl .vbbVideoContent{ justify-content: $verticalAlign; text-align: $textAlign; min-height: $minHeight; padding: " . VBB\GetCSS::getSpaceCSS( $padding ) . "; } $mainSl .vbbVideoOverlay{ " . VBB\GetCSS::getBackgroundCSS( $bgOverlay ) . " } @media (max-width: 1024px){ $mainSl{ min-height: $minHeightTablet; } $mainSl .vbbVideoContent{ min-height: $minHeightTablet; padding: " . VBB\GetCSS::getSpaceCSS( $resolvedPaddingTablet ) . "; } $mainSl .vbbPosterLayer{ background-image: url(" . ( $posterTablet ?: $posterDesktop ) . "); } } @media (max-width: 767px){ $mainSl{ min-height: $minHeightMobile; } $mainSl .vbbVideoContent{ min-height: $minHeightMobile; padding: " . VBB\GetCSS::getSpaceCSS( $resolvedPaddingMobile ) . "; } $mainSl .vbbPosterLayer{ background-image: url(" . ( $posterMobile ?: ( $posterTablet ?: $posterDesktop ) ) . "); } }"; $sourceType = $sourceType ?? 'self'; $overlayPatternCss = 'none'; if ( 'dots' === $overlayPattern ) { $overlayPatternCss = 'radial-gradient(rgba(255,255,255,0.35) 1px, transparent 1px)'; } elseif ( 'grid' === $overlayPattern ) { $overlayPatternCss = 'linear-gradient(rgba(255,255,255,0.25) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.25) 1px, transparent 1px)'; } elseif ( 'diagonal' === $overlayPattern ) { $overlayPatternCss = 'repeating-linear-gradient(45deg, rgba(255,255,255,0.25) 0, rgba(255,255,255,0.25) 1px, transparent 1px, transparent 8px)'; } $overlayFloat = $overlayAnimate ? 'vbbOverlayFloat 16s linear infinite' : 'none'; $overlayPulse = $overlayAnimate ? 'vbbOverlayPulse 12s ease-in-out infinite' : 'none'; $overlayStyle = sprintf( '--vbb-overlay-opacity:%s; --vbb-overlay-blend:%s; --vbb-overlay-pattern:%s; --vbb-overlay-pattern-opacity:%s; --vbb-overlay-vignette:%s; --vbb-overlay-float:%s; --vbb-overlay-pulse:%s;', esc_attr( (string) $overlayOpacity ), esc_attr( $overlayBlendMode ), esc_attr( $overlayPatternCss ), esc_attr( (string) $overlayPatternOpacity ), esc_attr( $overlayVignette ? '1' : '0' ), esc_attr( $overlayFloat ), esc_attr( $overlayPulse ) ); $videoDesktopMp4 = $videoSources['desktop']['mp4']['url'] ?? ( $video['url'] ?? '' ); $videoDesktopWebm = $videoSources['desktop']['webm']['url'] ?? ''; $videoDesktopOgg = $videoSources['desktop']['ogg']['url'] ?? ''; $videoTabletMp4 = $videoSources['tablet']['mp4']['url'] ?? ''; $videoTabletWebm = $videoSources['tablet']['webm']['url'] ?? ''; $videoTabletOgg = $videoSources['tablet']['ogg']['url'] ?? ''; $videoMobileMp4 = $videoSources['mobile']['mp4']['url'] ?? ''; $videoMobileWebm = $videoSources['mobile']['webm']['url'] ?? ''; $videoMobileOgg = $videoSources['mobile']['ogg']['url'] ?? ''; $youtubeUrl = $youtubeUrl ?? ''; $youtubeUrlTablet = $youtubeUrlTablet ?? ''; $youtubeUrlMobile = $youtubeUrlMobile ?? ''; $vimeoUrl = $vimeoUrl ?? ''; $vimeoUrlTablet = $vimeoUrlTablet ?? ''; $vimeoUrlMobile = $vimeoUrlMobile ?? ''; $ytNoCookie = ! empty( $ytNoCookie ); ?>
$overlayNoise ? 'vbbOverlayNoise' : '' ] ); ?> id='' data-poster-desktop='' data-poster-tablet='' data-poster-mobile='' data-poster-color='' data-poster-auto='' data-video-fit='' data-focus-x='' data-focus-y='' data-start-time='' data-end-time='' data-playback-rate='' data-muted='' data-volume='' data-audio-on-click='' data-embed-type='' data-yt-no-cookie='' data-youtube-url-desktop='' data-youtube-url-tablet='' data-youtube-url-mobile='' data-vimeo-url-desktop='' data-vimeo-url-tablet='' data-vimeo-url-mobile='' >