<?php


/*
|------------------------------------------------------------------------------------------------
| Information
|------------------------------------------------------------------------------------------------
|
| This file is beautified by the command "sidekick:CodebeautifierCommand" of the ceetrox
| sidekick package.
|
| Author: Kevin Almond Roe Yumang <kevin.yumang@itmax.email>
| Update: 2022-06-20 08:27:18
|
*/
namespace Ceetrox\Sidekick\Views\Limitless\Topnav;


/*
|------------------------------------------------------------------------------------------------
| Dependencies
|------------------------------------------------------------------------------------------------
*/
use View;


/*
|------------------------------------------------------------------------------------------------
| Class "Config"
|------------------------------------------------------------------------------------------------
*/
class Config
{
    public $methodAllocation = [
        'Limitless::TopNavStart' => 'topNavStart',
        'Limitless::TopNavStop' => 'topNavStop',
        'Limitless::TopNavMenuItem' => 'topNavMenuItem',
        'Limitless::TopNavMenuItemDropdownStart' => 'topNavMenuItemDropdownStart',
        'Limitless::TopNavMenuItemDropdownStop' => 'topNavMenuItemDropdownStop',
        'Limitless::TopNavDropdownMenuItem' => 'topNavDropdownMenuItem',
        'Limitless::TopNavDropdownSubMenuItemStart' => 'topNavDropdownSubMenuItemStart',
        'Limitless::TopNavDropdownSubMenuItemStop' => 'topNavDropdownSubMenuItemStop',
        'Limitless::TopNavDropdownContentMenuItem' => 'topNavDropdownContentMenuItem',
        'Limitless::TopNavDropdownContentBodyStart' => 'topNavDropdownContentBodyStart',
        'Limitless::TopNavDropdownContentBodyStop' => 'topNavDropdownContentBodyStop',
        'Limitless::TopNavDropdownContentHeaderStart' => 'topNavDropdownContentHeaderStart',
        'Limitless::TopNavDropdownContentHeaderStop' => 'topNavDropdownContentHeaderStop',
        'Limitless::TopNavDropdownContentFooterStart' => 'topNavDropdownContentFooterStart',
        'Limitless::TopNavDropdownContentFooterStop' => 'topNavDropdownContentFooterStop',
        'Limitless::TopNavDropdownContentFooterIconButton' => 'topNavDropdownContentFooterIconButton',
    ];

    public $assetAllocation;

    public function __construct()
    {
        $this->assetAllocation = [
            'Limitless::TopNavStart' => [
                'topnav.js',
                'topnav.css'
            ]
        ];
    }

    /*
    |--------------------------------------------------------------------------------------------
    | Method "topNavDropdownContentFooterIconButton"
    |--------------------------------------------------------------------------------------------
    */
    public function topNavDropdownContentFooterIconButton($parameters)
    {
        return View('Limitless::Topnav.DropdownContentFooterIconButton')
            ->withUrl($parameters['url'] ?? null)
            ->withTooltipText($parameters['tooltip-text'] ?? null)
            ->withIcon($parameters['icon'] ?? null);

    }

    /*
    |--------------------------------------------------------------------------------------------
    | Method "topNavDropdownContentFooterStart"
    |--------------------------------------------------------------------------------------------
    */
    public function topNavDropdownContentFooterStart($parameters)
    {
        return View('Limitless::Topnav.DropdownContentFooterStart')
            ->withText($parameters['text'] ?? null)
            ->withUrl($parameters['url'] ?? null)
            ->withIcon($parameters['icon'] ?? null)
            ->withTooltipText($parameters['tooltip-text'] ?? null);

    }

    /*
    |--------------------------------------------------------------------------------------------
    | Method "topNavDropdownContentFooterStop"
    |--------------------------------------------------------------------------------------------
    */
    public function topNavDropdownContentFooterStop($parameters)
    {
        return View('Limitless::Topnav.DropdownContentFooterStop');

    }

    /*
    |--------------------------------------------------------------------------------------------
    | Method "topNavDropdownContentHeaderStart"
    |--------------------------------------------------------------------------------------------
    */
    public function topNavDropdownContentHeaderStart($parameters)
    {
        return View('Limitless::Topnav.DropdownContentHeaderStart')
            ->withTitle($parameters['title'] ?? null)
            ->withIcon($parameters['icon'] ?? null)
            ->withIconUrl($parameters['icon-url'] ?? null);

    }


    /*
    |--------------------------------------------------------------------------------------------
    | Method "topNavDropdownContentBodyStart"
    |--------------------------------------------------------------------------------------------
    */
    public function topNavDropdownContentBodyStart($parameters)
    {
        return View('Limitless::Topnav.DropdownContentBodyStart');

    }


    /*
    |--------------------------------------------------------------------------------------------
    | Method "TopNavDropdownContentBodyStop"
    |--------------------------------------------------------------------------------------------
    */
    public function TopNavDropdownContentBodyStop($parameters)
    {
        return View('Limitless::Topnav.DropdownContentBodyStop');

    }


    /*
    |--------------------------------------------------------------------------------------------
    | Method "topNavDropdownContentMenuItem"
    |--------------------------------------------------------------------------------------------
    */
    public function topNavDropdownContentMenuItem($parameters)
    {
        return View('Limitless::Topnav.DropdownContentMenuItem')
            ->withImg($parameters['img'] ?? null)
            ->withIcon($parameters['icon'] ?? null)
            ->withIconColor($parameters['icon-color'] ?? null)
            ->withUrl($parameters['url'] ?? null)
            ->withTitle($parameters['title'] ?? null)
            ->withSubtitle($parameters['subtitle'] ?? null)
            ->withDescription($parameters['description'] ?? 'No Description.')
            ->withSubdescription($parameters['sub-description'] ?? null);

    }


    /*
    |--------------------------------------------------------------------------------------------
    | Method "topNavDropdownSubMenuItemStart"
    |--------------------------------------------------------------------------------------------
    */
    public function topNavDropdownSubMenuItemStart($parameters)
    {
        return View('Limitless::Topnav.DropdownSubMenuItemStart')
            ->withIcon($parameters['icon'] ?? null)
            ->withTitle($parameters['title'] ?? null);

    }

    /*
    |--------------------------------------------------------------------------------------------
    | Method "topNavDropdownSubMenuItemStop"
    |--------------------------------------------------------------------------------------------
    */
    public function topNavDropdownSubMenuItemStop($parameters)
    {
        return View('Limitless::Topnav.DropdownSubMenuItemStop');

    }


    /*
    |--------------------------------------------------------------------------------------------
    | Method "topNavDropdownMenuItem"
    |--------------------------------------------------------------------------------------------
    */
    public function topNavDropdownMenuItem($parameters)
    {
        return View('Limitless::Topnav.DropdownMenuItem')
            ->withUrl($parameters['url'] ?? null)
            ->withIcon($parameters['icon'] ?? null)
            ->withTitle($parameters['title'] ?? 'No title')
            ->withBadge($parameters['badge'] ?? null)
            ->withBadgeColor($parameters['badge-color'] ?? 'warning-600');

    }


    /*
    |--------------------------------------------------------------------------------------------
    | Method "topNavMenuItemDropdownStart"
    |--------------------------------------------------------------------------------------------
    */
    public function topNavMenuItemDropdownStart($parameters)
    {
        return View('Limitless::Topnav.MenuItemDropdownStart')
            ->withCaret($parameters['caret'] ?? true)
            ->withIcon($parameters['icon'] ?? null)
            ->withIconOnly($parameters['icon-only'] ?? false)
            ->withTitle($parameters['title'] ?? 'No title')
            ->withBadge($parameters['badge'] ?? null)
            ->withBadgeColor($parameters['badge-color'] ?? 'warning-600')
            ->withBasicDropdown($parameters['basic-dropdown'] ?? true)
            ->withUser($parameters['user'] ?? null)
            ->withImg($parameters['img'] ?? null);;

    }


    /*
    |--------------------------------------------------------------------------------------------
    | Method "topNavMenuItemDropdownStop"
    |--------------------------------------------------------------------------------------------
    */
    public function topNavMenuItemDropdownStop($parameters)
    {
        return View('Limitless::Topnav.MenuItemDropdownStop');

    }


    /*
    |--------------------------------------------------------------------------------------------
    | Method "topNavMenuItem"
    |--------------------------------------------------------------------------------------------
    */
    public function topNavMenuItem($parameters)
    {
        return View('Limitless::Topnav.MenuItem')
            ->withUrl($parameters['url'] ?? null)
            ->withIcon($parameters['icon'] ?? null)
            ->withIconOnly($parameters['icon-only'] ?? false)
            ->withTitle($parameters['title'] ?? 'No title')
            ->withBadge($parameters['badge'] ?? null)
            ->withBadgeColor($parameters['badge-color'] ?? 'warning-600');

    }


    /*
    |--------------------------------------------------------------------------------------------
    | Method "topNavStart"
    |--------------------------------------------------------------------------------------------
    */
    public function topNavStart($floatRight)
    {
        return View('Limitless::Topnav.Start')
            ->withFloatRight( ($floatRight == [] ? false : $floatRight) );

    }


    /*
    |--------------------------------------------------------------------------------------------
    | Method "topNavStop"
    |--------------------------------------------------------------------------------------------
    */
    public function topNavStop()
    {
        return View('Limitless::Topnav.Stop');

    }

}



