UNPKG

@eureca/eureca-ui

Version:

UI component library of Eureca's user and admin apps

101 lines (80 loc) 3.33 kB
import { Meta, Story, Preview, Title, Subtitle, Description, Props, } from '@storybook/addon-docs/blocks'; import { withKnobs } from '@storybook/addon-knobs'; import { Box } from '@material-ui/core'; import { MuiPickersUtilsProvider } from '@material-ui/pickers'; import DateFnsUtils from '@date-io/date-fns'; import { ptBR } from 'date-fns/locale'; import { DatePicker } from '../'; import { DatePickerStory } from './date-picker.stories.js'; <Meta title='Material/Pickers' component={DatePicker} decorators={[withKnobs]}/> <Title>Date Picker</Title> <Description> Date picker básico dos aplicativos Eureca, extendido do date picker padrão do `Material-UI Pickers`. </Description> <Description> Contém todas as props definidas no [Material-UI Pickers](https://material-ui-pickers.dev/) e tem estilo definido pelo tema desta biblioteca. </Description> <Preview> <Story name="Date Picker"> <DatePickerStory /> </Story> </Preview> <Subtitle>Props</Subtitle> | Nome | Descrição | Default | |:-------:|:-------------------------------:|:-----------:| | inputVariant | Variante de estilo do input <br /> 'standard' \| 'outlined' \| 'filled' | 'outlined' | | autoOk | Controla o fechamento automático do picker ao se escolher uma data <br /> bool | 'true' | | format | Formato de data utilizado <br /> string | 'dd/MM/yyyy' | | okLabel | Label do botão de confirmação <br /> string | 'Ok' | | cancelLabel | Label do botão de cancelamento <br /> string | 'Cancelar' | | clearLabel | Label do botão que reseta a data <br /> string | 'Limpar' | | todayLabel | Label do botão que escolhe a data atual <br /> string | 'Hoje' | | invalidDateMessage | Mensagem de data inválida <br /> string | 'Data inválida' | | helperText | Texto localizado na parte inferior do input do Material-UI <br /> string | - | | error | Variável que controla estado de erro do componente <br /> bool | - | <Subtitle>Providers</Subtitle> O `DatePicker` deve ser usado em conjunto com o provider `MuiPickersUtilsProvider`. É necessário passar o utils de uma biblioteca de manipulação de datas escolhida além do locale da biblioteca de tempo sendo utilizada. O provider deve ser adicionado ao root do app. No caso do Next.JS podem ser incluídos no _app.js. No exemplo abaixo podemos ver seu uso com o utils do DateFn, importado de `@date-io/date-fns`, e a localização de português do Brasil. ```jsx <MuiPickersUtilsProvider utils={DateFnsUtils} locale={ptBR}> <DatePicker {...props}/> </MuiPickersUtilsProvider> ``` No exemplo abaixo podemos ver seu uso com o utils do Moment, importado de `@date-io/moment`, e a localização inglês . ```jsx <MuiPickersUtilsProvider utils={MomentUtils} locale={en}> <DatePicker {...props}/> </MuiPickersUtilsProvider> ``` <Subtitle>Variações</Subtitle> <Preview> <MuiPickersUtilsProvider utils={DateFnsUtils} locale={ptBR}> <DatePicker inputVariant='standard'/> <Box my={3}> <DatePicker inputVariant='outlined'/> </Box> <DatePicker inputVariant='filled'/> </MuiPickersUtilsProvider> </Preview> <Subtitle>Exemplo de Aplicação</Subtitle> > A função `onChange` retorna a nova data escolhida ```jsx <DatePicker name="component-name" label={label} value={date} onChange={handleChange} /> ```