npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

datepickeroutlinedd

v1.0.1

Published

A date picker component with outlined style

Readme

DatePickerOutlined

DatePickerOutlined é um componente de seleção de data estilizado com bordas destacadas, desenvolvido para aplicações React. Ele oferece uma interface intuitiva e responsiva para selecionar datas, com suporte a personalização, acessibilidade e internacionalização.

📦 Instalação

Você pode instalar o componente via npm:

npm install datepickeroutlined

Certifique-se de que as dependências date-fns, clsx, react e react-dom estão instaladas no seu projeto, pois elas são necessárias para o funcionamento do componente.

npm install react react-dom date-fns clsx

🚀 Uso

Aqui está um exemplo básico de como usar o DatePickerOutlined:

import React, { useState } from 'react';
import { ReactDatePickerOutlined } from 'datepickeroutlined';

const App = () => {
  const [selectedDate, setSelectedDate] = useState<Date | null>(null);

  return (
    <div>
      <h1>Selecione uma Data</h1>
      <ReactDatePickerOutlined
        label="Data de Nascimento"
        date={selectedDate}
        onChange={(date) => setSelectedDate(date)}
        placeholder="Selecione uma data"
        locale="pt-BR"
        calendarIcon={true}
        theme={{
          container: 'border-blue-500',
          label: 'text-blue-500',
        }}
      />
    </div>
  );
};

export default App;

⚙️ Propriedades

O componente aceita as seguintes propriedades:

| Propriedade | Tipo | Descrição | Padrão | |---------------------------|----------------------------------------|---------------------------------------------------------------------------|-----------------| | date | Date \| null | Data selecionada. | null | | onChange | (date: Date \| null, e: ChangeEvent) => void | Função chamada ao selecionar uma data. | - | | label | string | Rótulo exibido acima do campo de entrada. | undefined | | error | string | Mensagem de erro exibida abaixo do campo. | undefined | | format | 'dd/MM/yyyy' \| 'MM/dd/yyyy' \| 'yyyy/MM/dd' | Formato da data exibida no campo. | 'MM/dd/yyyy' | | locale | 'en-US' \| 'pt-BR' | Localização para formatação e tradução. | 'en-US' | | minDate | Date | Data mínima permitida para seleção. | undefined | | maxDate | Date | Data máxima permitida para seleção. | undefined | | placeholder | string | Texto exibido quando nenhuma data está selecionada. | undefined | | disabled | boolean | Desabilita o campo de entrada. | false | | readOnly | boolean | Torna o campo somente leitura. | false | | calendarIcon | boolean | Exibe ou oculta o ícone de calendário. | false | | labelClassName | string | Classe CSS adicional para estilização do rótulo. | undefined | | inputClassName | string | Classe CSS adicional para estilização do campo de entrada. | undefined | | containerClassName | string | Classe CSS adicional para estilização do contêiner. | undefined | | onOpen | () => void | Função chamada ao abrir o calendário. | undefined | | onClose | () => void | Função chamada ao fechar o calendário. | undefined | | weekdays | string[] | Nomes dos dias da semana exibidos no calendário. | ['Sun', ...] | | theme | object | Personaliza estilos do componente. | {} |

🎨 Estilização

O componente utiliza classes CSS padrão para estilização. Você pode personalizá-lo adicionando classes CSS através das propriedades className.

Exemplo de estilização personalizada:

.custom-class {
  border-color: #4caf50;
  background-color: #f9f9f9;
}

🛠️ Exemplos Avançados

Exemplo com Data Mínima e Máxima

<ReactDatePickerOutlined
  label="Selecione uma data"
  date={selectedDate}
  onChange={(date) => setSelectedDate(date)}
  minDate={new Date(2023, 0, 1)}
  maxDate={new Date(2023, 11, 31)}
  locale="pt-BR"
/>

Exemplo com Mensagem de Erro

<ReactDatePickerOutlined
  label="Data de Nascimento"
  date={selectedDate}
  onChange={(date) => setSelectedDate(date)}
  error="Data inválida"
  placeholder="Selecione uma data"
/>

🛠️ Desenvolvimento

Scripts Disponíveis

  • npm run build: Compila o código TypeScript e transpila para JavaScript usando Babel.
  • npm run prepublishOnly: Garante que o build seja executado antes de publicar no npm.
  • npm test: Executa os testes.

Estrutura do Projeto

datePickerOutlined/
├── dist/                # Arquivos compilados
├── src/                 # Código-fonte do componente
│   └── ReactDatePickerOutlined.tsx
├── package.json         # Configuração do npm
├── .babelrc             # Configuração do Babel
├── tsconfig.json        # Configuração do TypeScript
└── README.md            # Documentação do componente

🤝 Contribuição

Contribuições são bem-vindas! Sinta-se à vontade para abrir issues ou enviar pull requests.

📄 Licença

Este projeto está licenciado sob a licença MIT. Consulte o arquivo LICENSE para mais detalhes.


Desenvolvido com ❤️ por Joannegton.