File "NavBar.php"
Full Path: /home/pumpbmko/public_html/wp-content/themes/momota/lib/colibriwp/src/Components/FrontHeader/NavBar.php
File size: 2.54 KB
MIME-type: text/x-php
Charset: utf-8
<?php
namespace ColibriWP\Theme\Components\FrontHeader;
use ColibriWP\Theme\AssetsManager;
use ColibriWP\Theme\Components\Header\NavBarStyle;
use ColibriWP\Theme\Core\ComponentBase;
use ColibriWP\Theme\Defaults;
use ColibriWP\Theme\View;
class NavBar extends ComponentBase {
protected static $settings_prefix = 'header_front_page.navigation.';
/**
* @return array();
*/
protected static function getOptions() {
$style = static::style()->getOptions();
return $style;
}
/**
* @return NavBarStyle
*/
public static function style() {
return NavBarStyle::getInstance( static::getPrefix(), static::selectiveRefreshSelector() );
}
protected static function getPrefix() {
return static::$settings_prefix;
}
public static function selectiveRefreshSelector() {
return Defaults::get( static::getPrefix() . 'selective_selector', false );
}
public function renderContent( $parameters = array() ) {
static::style()->renderContent();
View::partial(
'front-header',
'navigation',
array(
'component' => $this,
)
);
}
public function printHeaderMenu() {
View::printMenu(
array(
'id' => 'header-menu',
'classes' => 'none',
)
);
}
public function printWrapperClasses() {
$classes = array( 'navigation-wrapper' );
$prefix = static::getPrefix();
if ( $this->mod( "{$prefix}boxed_navigation", false ) ) {
$classes[] = 'gridContainer';
}
echo esc_attr( implode( ' ', $classes ) );
}
public function printNavigationClasses() {
$classes = array();
$prefix = static::getPrefix();
if ( $this->mod( "{$prefix}props.overlap", Defaults::get( "{$prefix}props.overlap", true ) ) ) {
$classes[] = 'h-navigation_overlap';
}
if ( $width = $this->mod( "{$prefix}props.width", 'boxed' ) ) {
$classes[] = "kubio-theme-nav-{$width}";
}
echo esc_attr( implode( ' ', $classes ) );
}
public function printNavigationTypeClasses() {
$prefix = static::getPrefix();
$layout_type = $this->mod( "{$prefix}props.layoutType" );
if ( $layout_type === 'logo-spacing-menu' ) {
return 'has-logo-spacing-menu';
} elseif ( $layout_type === 'logo-above-menu' ) {
return 'has-logo-above-menu';
}
return '';
}
public function printContainerClasses() {
$classes = array();
$prefix = static::getPrefix();
$width_options = array(
'boxed' => 'h-section-boxed-container',
'full-width' => 'h-section-fluid-container',
);
if ( $width = $this->mod( "{$prefix}props.width", 'boxed' ) ) {
$classes[] = $width_options[ $width ];
}
echo esc_attr( implode( ' ', $classes ) );
}
}