1.3.4 • Published 1 year ago

sv-menu v1.3.4

Weekly downloads
-
License
ISC
Repository
-
Last release
1 year ago

SV- Menu (v0.2.1) (BETA)

SV-menu é um componente para ambiente de menu, com sidebar e navbar com o objetivo de ser altamente customizável (EM BETA).

Para começar a usar o SV-Menu

Instale o sv-menu:

  yarn add sv-menu
  -ou-
  npm install sv-menu  

Em seguida, instale usando npm ou yarn as dependências do sv-menu:

  yarn add styled-components @types/styled-components react-icons
  -ou-
  npm install styled-components @types/styled-components react-icons

Exemplo

import React from 'react';
import { GiFrance } from 'react-icons/gi';
import Menu from './Menu';

const App: React.FC = () => {
    return (
        <>
            <Menu
                logo='logo'
                sidebarOptions={{
                    menuList: [
                        {
                            onClick: () => alert("olá sidebar"),
                            icon: <GiFrance />,
                            text: "exemplo item"
                        }
                    ]
                }}
                navbarOptions={{
                    menuList: [
                        {
                            onClick: () => alert("olá navbar"),
                            icon: <GiFrance />,
                            text: "exemplo item"
                        }
                    ]
                }}
            >
                <>
                    olá mundo
                </>
            </Menu>
        </>
    );
}

export default App;

API

PRINCIPAIS

ParámetroTipoDescrição
typeMenu"only-sidebar" ou "only-navbar" ou "side-navbar"Tipo de exibição, pretendendo ocultar o navbar ou o sidebar ou até mesmo exibir os dois.
sidebarStyleReact.CSSPropertiesPacote de estilos css para estilizar o sidebar.
navbarStyleReact.CSSPropertiesPacote de estilos css para estilizar o navbar.
logostring ou undefinedExibição da logo.
childrenJSX.ElementInsere todo o contexto de uma página aqui.
wrapperStyleReact.CSSPropertiesPacote de estilos css para estilizar o container externo, fora do side e navbar. Você pode mudar a cor de fundo da página utilizando ela por exemplo.
contextMainStyleCSSPropertiesPacote de estilos css para você estilizar o contextMain (onde se inicia todo o contexto da página)

SIDEBAR

O objeto sidebarOptions você pode incluir propriedades de alguns estilos e definições em geral em relação ao sidebar, são eles:

menuList

Crie uma lista de menus do sidebar aqui, recebendo dentro do menuList um array de objetos, onde podem receber cada objeto:

ParâmetroTipoDescrição
textstring?Texto do menuItem.
iconJSX.Element?Icone do menuItem.
activeboolean?Se o o menuItem está como ativo, simulando um :active em um css por exemplo.
onClick() => anyFunção de click do menuItem.
isBottomboolean?Defina se esse menuItem ficará embaixo no contexto do sidebar.
marginBottomstringDefina a margem do bottom do menuItem/roupText.
marginTopstringDefina a margem do top do menuItem/roupText.
textGroupbooleanDefina o tipo do texto como um texto de grupo, tornando não clicável e servindo como apenas um indicativo.

menuItemStyle

Defina uma estilizção customizada dos menuItems. Suas propriedades são:

ParâmetroTipoDescrição
colorstringdefinição da cor do menuItem
backgroundstringdefinição da cor de fundo do menuItem
backgroundLinestringdefinição da cor da linha do menuItem (isso só é visível se o menuItemHoverType estiver como line-left)
hoverColorstringdefinição da cor do menuItem quando estiver no modo hover.
hoverBackgroundstringdefinição da cor de fundo do menuItem quando estiver no modo hover.
hoverBackgroundLinestringdefinição da cor da linha do menuItem quando estiver no modo hover.
activeColorstringdefinição de cor do menuItem se o active estiver true
activeBackgroundstringdefinição de cor de fundo do menuItem se o active estiver true
activeBackgroundLinestringdefinição de cor da linha do menuItem se o active estiver true

|groupTextColor| string | Defina a cor dos textGroup. |

outros

ParâmetroTipoDescrição
menuItemHoverType"default" ou "line-left"Define o tipo de menuItem
headerComponent(toggle: () => any, isMinificated: boolean, isMobile: boolean) => JSX.ElementVocê pode definir livremente o cabeçalho do sidebar e ainda utilizar as propriedades de minificação do sidebar dentro dos parâmentros. O primeiro parâmetro é uma função de toggle do sidebar e o segundo um boolean mostrando o estado atual, o terceiro é um booleano mostrando o estado da tela, se está em mobile ou não.
headerStyleReact.CSSPropertiesestilização do cabeçalho do sidebar.
isMinificatedbooleanExibir/não exibir o botão de minimizar o sidebar
minifacetButtonColorstringDefinir cor do botão de exibir/não exibir o sidebar
bottomComponent(isMinifated: boolean) => JSX.ElementDefinir um componente livre embaixo do sidebar.

NAVBAR

Um objeto navbarOptions você pode incluir propriedades de alguns estilos e definições em geral em relação ao navbar, são eles:

ParâmetrosTiposDescrição
isMinificatedbooleanExibir/Não exibir o botão de minificar o sidebar, mas só será possível se o typeMenu estiver em side-navbar.
minificatedColorstringDefinir cor do botão de exibir/não exibir o sidebar.
minificatedComponent(toggle: () => any, isMinificated: boolean ) => JSX.ElementVocê pode optar em criar o seu próprio componente onde em algum lugar possa ter as mesmas funções ou reações que o botão de minificação padrão.
menuListmenuListType[]Defina os menuItens em seu navbar, são essas propriedades para cada menu: text? : Texto do menu item. icon? : Icone do menuItem. active? : Se o menuItem estiver em modo de estilização ativo. onClick : Função de click do menuItem para a ação.

Mobile

ParâmetroTipoDescrição
mobileType"Default" ou "Float"Tipo do botão de menu no modo mobile.
mobileToggleIconJSX.ElementIcone do botão de menu do mobile.
mobileToggleBackgroundstringCor de fundo do menu, o padrão é #fff
1.3.4

1 year ago

1.3.3

1 year ago

1.3.2

1 year ago

1.3.1

2 years ago

1.3.0

2 years ago

1.2.2

2 years ago

1.2.1

2 years ago

1.2.0

2 years ago

1.1.0

2 years ago

1.0.9

2 years ago

1.0.8

2 years ago

1.0.7

2 years ago

1.0.6

2 years ago

1.0.5

2 years ago

1.0.4

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago

0.2.2

2 years ago

0.2.1

2 years ago

0.2.0

2 years ago

0.1.9

2 years ago

0.1.8

2 years ago

0.1.7

2 years ago

0.1.6

2 years ago

0.1.5

2 years ago

0.1.4

2 years ago

0.1.3

2 years ago

0.1.2

2 years ago

0.1.1

2 years ago

0.1.0

2 years ago