All Downloads are FREE. Search and download functionalities are using the official Maven repository.

components.snippets.Panel.PanelMenu.jsx Maven / Gradle / Ivy

The newest version!
import React from 'react'
import PropTypes from 'prop-types'
import classNames from 'classnames'

import { TabNav } from './TabNav'
import { PanelNavItem } from './PanelNavItem'

/**
 * Компонент меню для {@link Panel}
 * @reactProps {boolean} fullScreen - флаг наличия кнопки перехода в полный экран
 * @reactProps {boolean} collapsible - флаг наличия кнопки сворачивания панели
 * @reactProps {function} onFullScreenClick - callback при нажатии на кнопку полного экрана
 * @reactProps {function} onToggle - callback при нажатии на кнопку свернуть
 * @reactProps {string} fullScreenIcon - класс иконки кнопки полного экрана
 * @reactProps {boolean} isOpen - флаг открытия панели
 * @reactProps {node} children - элемент вставляемый внутрь PanelMenu
 */

function PanelMenu({
    children,
    collapsible,
    onToggle,
    fullScreen,
    onFullScreenClick,
    isOpen,
    fullScreenIcon,
}) {
    return (
        
{collapsible && ( )} {fullScreen && ( )} {children}
) } PanelMenu.propTypes = { fullScreen: PropTypes.bool, onFullScreenClick: PropTypes.func, fullScreenIcon: PropTypes.string, children: PropTypes.node, collapsible: PropTypes.bool, onToggle: PropTypes.func, isOpen: PropTypes.bool, } PanelMenu.defaultProps = { fullScreen: false, collapsible: false, } export default PanelMenu