Вход Регистрация
Файл: cobisja/BootHelp/src/BootHelp.php
Строк: 681
<?php

/**
 * BootHelp - PHP Helpers for Bootstrap
 *
 * (The MIT License)
 *
 * Copyright (c) 2015 Jorge Cobis <jcobis@gmail.com / http://twitter.com/cobisja>.
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 */

namespace cobisjaBootHelp;

use 
cobisjaBootHelpAlertBox;
use 
cobisjaBootHelpButton;
use 
cobisjaBootHelpButtonGroup;
use 
cobisjaBootHelpButtonToolbar;
use 
cobisjaBootHelpCarousel;
use 
cobisjaBootHelpDropdown;
use 
cobisjaBootHelpHelpersBadge;
use 
cobisjaBootHelpHelpersContentTag;
use 
cobisjaBootHelpHelpersDivider;
use 
cobisjaBootHelpHelpersHorizontal;
use 
cobisjaBootHelpHelpersLinkTo;
use 
cobisjaBootHelpHelpersVertical;
use 
cobisjaBootHelpIcon;
use 
cobisjaBootHelpImage;
use 
cobisjaBootHelpLabel;
use 
cobisjaBootHelpListGroup;
use 
cobisjaBootHelpModal;
use 
cobisjaBootHelpNav;
use 
cobisjaBootHelpPanel;
use 
cobisjaBootHelpPanelRow;
use 
cobisjaBootHelpProgressBar;
use 
cobisjaBootHelpTable;
use 
cobisjaBootHelpThumbnail;

/**
 * Class that exposes methods to interact with any BootHelp object.
 */
abstract class BootHelp
{
    
/**
     * Gets a ContentTag instance.
     *
     * @param string   $name Block tag type.
     * @param mixed    $content_or_options_with_block Options or closure.
     * @param mixed    $options Options or closure.
     * @param callable $block closure that generates the content to be surrounding to.
     * 
     * @return ContentTag a ContentTag instance.
     */
    
public static function contentTag(
        
$name,
        
$content_or_options_with_block null,
        
$options null,
        callable 
$block null
    
) {
        return new 
ContentTag(
            
$name,
            
$content_or_options_with_block,
            
$options,
            
$block
        
);
    }
    
    
/**
     * Gets a Divider instance helper to be used with Dropdown objects.
     *
     * @return Divider a Divider instance.
     */
    
public static function divider()
    {
        return new 
Divider();
    }

    
/**
     * Gets Horizontal instance helper to be used with NavBar objects.
     *
     * @param mixed   $content_or_options_with_block possible content of Horizontal object.
     * @param mixed   $options possible options of Horizontal object.
     * @param closure $block Closure to build the Horizontal content.
     * 
     * @return Vertical a Horizontal instance.
     */
    
public static function horizontal($content_or_options_with_block null$options null, callable $block null)
    {
        return new 
Horizontal($content_or_options_with_block$options$block);
    }

    
/**
     * Gets a LinkTo instance.
     *
     * @param mixed    $name link target.
     * @param array    $options link options.
     * @param callable $block closure that generates the content to be surrounding to.
     * 
     * @return LinkTo a LinkTo instance.
     */
    
public static function linkTo($name null$options null, callable $block null)
    {
        return new 
LinkTo($name$options$block);
    }

    
/**
     * Gets Vertical instance helper to be used with NavBar objects.
     *
     * @param mixed   $content_or_options_with_block possible content of Horizontal object.
     * @param mixed   $options possible options of Vertical object.
     * @param closure $block Closure to build the Vertical content.
     * 
     * @return Vertical a Vertical instance.
     */
    
public static function vertical($content_or_options_with_block null$options null, callable $block null)
    {
        return new 
Vertical($content_or_options_with_block$options$block);
    }
    
    
/**
     * Gets a Badge helper instance to be used with links, buttons, navs and anything you want.
     * 
     * @param string $text Badge's text.
     * @param array  $options Badge's options
     * 
     * @return Badge a Badge Helper instance.
     */
    
public static function badge($text$options = [])
    {
        return new 
Badge($text$options);
    }

    
/**
     * Gets an AlertBox instance.
     *
     * @param mixed $message_or_options_with_block string message or alert's options.
     * @param mixed $options alert's options.
     * @param mixed $block closure that generates alert's content.
     * 
     * @return AlertBox an AlertBox instance.
     */
    
public static function alertBox($message_or_options_with_block null$options null$block null)
    {
        return new 
AlertBox($message_or_options_with_block$options$block);
    }

    
/**
     * Gets a Button instance.
     *
     * @param mixed   $content_or_options_with_block content of Button.
     * @param mixed   $options options to build a Button.
     * @param closure $block closure to build the Button's content.
     * 
     * @return Button a Button instance.
     */
    
public static function button($content_or_options_with_block null$options null$block null)
    {
        return new 
Button($content_or_options_with_block$options$block);
    }

    
/**
     * Gets a ButtonGroup instance.
     *
     * @param mixed    $options the display options for the ButtonGroup.
     * @param Callable $block Block to generate inside ButtonGroup content.
     * 
     * @return ButtonGroup a ButtonGroup instance.
     */
    
public static function buttonGroup($options$block null)
    {
        return new 
ButtonGroup($options$block);
    }

    
/**
     * Gets a ButtonToolbar instance.
     *
     * @param mixed    $options the display options for the ButtonToolbar.
     * @param Callable $block Block to generate inside ButtonToolbar content.
     * 
     * @return ButtonToolbar a ButtonToolbar instance.
     */
    
public static function buttonToolbar($options$block null)
    {
        return new 
ButtonToolbar($options$block);
    }

    
/**
     * Gets a Carousel instance.
     *
     * @param mixed   $content_or_options_with_block content of Carousel.
     * @param closure $block closure to build the Carousel's content.
     * 
     * @return Button a Carousel instance.
     */    
    
public static function carousel($content_or_options_with_block$block null)
    {
        return new 
Carousel($content_or_options_with_block$block);
    }

    
/**
     * Gets a Dropdown instance.
     *
     * @param string  $caption Dropdown caption.
     * @param array   $options options to build the Dropdown.
     * @param closure $block closure to build the Dropdown content.
     * 
     * @return Dropdown a Dropdown instance.
     */
    
public static function dropdown($caption$options = [], $block null)
    {
        return new 
Dropdown($caption$options$block);
    }

    
/**
     * Gets an Icon instance.
     *
     * @param String $name the name of the icon object to build
     * @param Array  $options the options for the icon object.
     * 
     * @return Icon an Icon instance.
     */
    
public static function icon($name null$options = [])
    {
        return new 
Icon($name$options);
    }
    
    public static function 
image($options$block null)
    {
        return new 
Image($options$block);
    }
    
    
/**
     * Gets a Label component instance.
     * 
     * @param mixed $content_or_options_with_block the content to display into the label.
     * @param mixed $options the display options for the label.
     * 
     * @return Label a Label instance
     */
    
public static function label($content_or_options_with_block null$options null)
    {
        return new 
Label($content_or_options_with_block$options);
    }

    
/**
     * Gets a Modal instance.
     *
     * @param mixed $content_or_options_with_block the content to display in the Modal.
     * @param mixed $options the display options for the Modal.
     * @param mixed $block Block to generate a customized inside Modal content.
     * 
     * @return Modal a Modal instance.
     */
    
public static function modal($content_or_options_with_block null$options null$block null)
    {
        return new 
Modal($content_or_options_with_block$options$block);
    }

    
/**
     * Gets a Nav instance.
     *
     * @param array $options options the display options for the nav.
     * @param mixed $block Block to generate a customized inside nav content.
     * 
     * @return Nav a Nav instance.
     */
    
public static function nav($options = [], $block null)
    {
        return new 
Nav($options$block);
    }

    
/**
     * Gets a NavBar instance.
     *
     * @param array $options options the display options for the NavBar.
     * @param mixed $block Block to generate a customized inside NavBar content.
     * 
     * @return Navbar a NavBar instance
     */
    
public static function navbar($options = [], callable $block null)
    {
        return new 
Navbar($options$block);
    }

    
/**
     * Gets a Panel instance.
     *
     * @param mixed    $content_or_options_with_block the content to display in the panel.
     * @param mixed    $options the display options for the panel.
     * @param Callable $block Block to generate a customized inside panel content.
     * 
     * @return Panel a Panel instance.
     */
    
public static function panel($content_or_options_with_block null$options null$block null)
    {
        return new 
Panel($content_or_options_with_block$options$block);
    }

    
/**
     * Gets a PanelRow instance.
     *
     * @param mixed    $options display options for the panel.
     * @param Callable $block Block to generate inside panel row content.
     * 
     * @return PanelRow a PanelRow instance.
     */
    
public static function panelRow($options$block null)
    {
        return new 
PanelRow($options$block);
    }

    
/**
     * Gets a ProgressBar instance.
     *
     * @param array $options options to build the ProgressBar.
     * @param array $container_options options to be passed to the ProgressBar's container.
     * 
     * @return ProgressBar a ProgressBar instance.
     */
    
public static function progressBar($options = [], $container_options = [])
    {
        return new 
ProgressBar($options$container_options);
    }
    
    
/**
     * Gets a Thumbnail instance.
     * 
     * @param mixed $options options for Thumbnail component.
     * @param Callable $block Block to generate inside thumbnail's content.
     * 
     * @return Thumbnail a Thumbnail instance.
     */
    
public static function thumbnail($options$block null)
    {
        return new 
Thumbnail($options$block);
    }
    
    
/**
     * Gets a ListGroup instance.
     * 
     * @param mixed    $content_or_options_with_block the display options for List group.
     * @param Callable $block Block to generate customized List group content.
     * 
     * @return ListGroup a ListGroup instance.
     */
    
public static function listGroup($content_or_options_with_block$block null)
    {
        return new 
ListGroup($content_or_options_with_block$block);
    }
    
    
/**
     * Gets a Table instance.
     * 
     * @param type $content_or_options_with_block
     * @param type $block
     * 
     * @return Table
     */
    
public static function table($content_or_options_with_block$block null)
    {
        return new 
Table($content_or_options_with_block$block);
    }
}
Онлайн: 2
Реклама