0.0.34 • Published 9 months ago

@waveclass/wds-web v0.0.34

Weekly downloads
-
License
ISC
Repository
-
Last release
9 months ago

Waveclass Design System (WDS) - Web

Este repositório pertence à organização Wavetex e tem o objetivo de reunir os componentes padronizados da grade de estilos da plataforma Waveclass para Web.

Sumário

Tecnologias utilizadas

Storybook

Este repositório faz uso do Storybook para demonstração dos componentes visuais da WDS. Para utilizá-lo, clone o repositório localmente em sua máquina e execute os seguintes comandos:

pnpm i

É fortemente recomendado o uso do PNPM para execução de scripts de instalação neste repositório.

pnpm sb

Este comando iniciará o Storybook e deve automaticamente abrir uma aba no seu browser padrão com a página inicial do Storybook. Caso isso não ocorra, basta acessar http://localhost:6006/.

Agora você pode visualizar os componentes da WDS e brincar com suas variações!

Instalação

Para utilizar a Waveclass Design System no seu projeto (seja no repo principal da Waveclass ou em algum projeto à parte), basta executar o comando:

pnpm i --save @waveclass/wds-web

A WDS assume que o seu projeto possua as dependências necessárias para o funcionamento, são elas:

  • @waveclass/wds-core (a versão mais recente sempre);
  • AWS Amplify ^4.3.43;
  • React ^18.2.0;
  • React DOM ^18.2.0;
  • React Icons ^4.9.0;
  • React i18next ^13.0.1;
  • i18next ^23.2.8;
  • Styled Components 6.0.0-rc.3.

Certifique-se de tê-las instaladas e nas versões mínimas necessárias antes de iniciar o uso da WDS.

Hooks

useLocation

Esta utility function retorna a URL atual da página.

Exemplo de uso

import { useLocation } from '@waveclass/wds-web';

const location = useLocation();

Componentes

Student Menu

Exemplo de uso

import { StudentMenu } from "@waveclass/wds-web";

const App = () => {
	return (
    	// page structure...
    	<StudentMenu />
	)
}

Componentes internos

menu-item

Props

NomeTipoDescriçãoObrigatório
iconreactNodeÍcone mostradoSim
iconVariant'fill', 'outline'Tipo de íconeSim
contentstringTexto mostradoSim
isAvatarbooleanSe é um AvatarNão
hasNotificationbooleanSe tem o indicador de notificaçõesNão
notificationAmountnumberQuantas notificações tem, se tem notificaçõesNão
linkstringURL da página para qual redirecionaráNão

Exemplo de uso

import { MenuItem } from '../components/student-menu/menu-item';

const MyComponent = () => {
    return (
	    <MenuItem
		    icon={<TfiBell  size={20}  />}
		    iconVariant={'outline'}
		    content={'Notificações'}
		    hasNotification={true}
		    notificationAmount={1}
	    />
    );
};

Funções

menuToggle

Esta função não é exportada por essa biblioteca e é apenas um exemplo de como a abertura dos menus podem ser feitas.

Exemplo de uso

function menuToggle() {
    if (document  ===  undefined) {
	    return;
    }
    else {
		const  menuContainerClassList =
			document.getElementById('menuContainer').classList;

	    if (menuContainerClassList.contains('closed')) {
		    menuContainerClassList.remove('closed');
		    menuContainerClassList.add('open');
	    }
	    else if (menuContainerClassList.contains('open')) {
		    menuContainerClassList.remove('open');
		    menuContainerClassList.add('closed');
	    }
    }
}

Student Header

Props

NomeTipoDescriçãoObrigatório
tabItems[]Abas do headerSim
activeTabstringID da tab ativaSim
onTabClick() => voidCallback chamada quando uma tab é clicadaSim

Exemplo de uso

import { StudentHeader } from "@waveclass/wds-web";

const App = () => {
	return (
    	// page structure...
    	<StudentHeader
        	tabItems=[
            	{
                	id: '1'
                    tabIcon: <TfiAlignLeft size={18} />
                    text: 'texto da tab'
                }
            ]
            activeTab='1'
            onTabClick= () => void
        />
	)
}

Search Modal

Props

NomeTipoDescriçãoObrigatório
onClose() => voidCallback chamada quando o botão de fechar é clicadoSim

Exemplo de uso

import { SearchModal } from "@waveclass/wds-web";

const App = () => {
	return (
    	// page structure...
    	<SearchModal onClose={() => null} />
	)
}

Checkout Product Card

Props

NomeTipoDescriçãoObrigatório
coverstringURL da capa do produtoSim
titlestringTítulo do produtoSim
delivery_textstringTexto dos itens entregáveis do produtoSim
pricestringPreço do produto formatadoSim
payment_methods_textstringTexto das formas de pagamentoSim
onClick() => voidCallback chamada quando o produto é selecionadoSim
primary_colorstringCor primária da escolaSim

Exemplo de uso

	import { CheckoutProductCard } from "@waveclass/wds-core";

	const App = () {
		return (
			// page structure...
			<CheckoutProductCard
				cover="https://example.com/someimage.png"
				title="Curso de Marketing"
				delivery_text="1 Curso"
				price="R$ 297,00"
				payment_methods_text="No PIX, boleto ou até 6x no cartão"
				onClick={() => {}}
				primary_color="#ff4d4d"
			/>
		)
	}

Checkout Module Item Card

Props

NomeTipoDescriçãoObrigatório
namestringTítulo da aulaSim
typestringTipo da aulaSim
durationstringDuração da aulaSim
thumb_urlstringURL da miniatura da aulaSim

Exemplo de uso

import { CheckoutModuleItemCard } from "@waveclass/wds-web";

const App = () => {
	return (
    	// page structure...
    	<CheckoutModuleItemCard
					name="Aula 01"
					type="VIDEO"
					duration="14:25"
					thumb_url="https://example.com/someimage.png"
				/>
	)
}
0.0.32

9 months ago

0.0.33

9 months ago

0.0.34

9 months ago

0.0.20

10 months ago

0.0.21

10 months ago

0.0.22

10 months ago

0.0.23

10 months ago

0.0.24

10 months ago

0.0.25

10 months ago

0.0.15

10 months ago

0.0.16

10 months ago

0.0.17

10 months ago

0.0.18

10 months ago

0.0.19

10 months ago

0.0.30

10 months ago

0.0.31

10 months ago

0.0.12

10 months ago

0.0.13

10 months ago

0.0.14

10 months ago

0.0.26

10 months ago

0.0.27

10 months ago

0.0.28

10 months ago

0.0.29

10 months ago

0.0.10

10 months ago

0.0.3

11 months ago

0.0.9

10 months ago

0.0.8

10 months ago

0.0.5

11 months ago

0.0.4

11 months ago

0.0.7

11 months ago

0.0.6

11 months ago

0.0.2

11 months ago

0.0.11

11 months ago

0.0.1

11 months ago