@tyra/core
v0.2.8
Published
Biblioteca core da Tyra para projetos web
Maintainers
Readme
@tyra/core
Biblioteca core da Tyra para projetos web. Uma coleção de utilitários, constantes e helpers para facilitar o desenvolvimento de aplicações.
📦 Instalação
npm install @tyra/coreou
yarn add @tyra/coreou
pnpm add @tyra/core🚀 Como Usar
Importação
// Utilitários e funções
import { capitalize, formatCurrency, HTTP_STATUS } from '@tyra/core';
// Componentes React
import { DevelopedBy } from '@tyra/core';Utilitários
Formatação de Texto
import { capitalize, slugify, removeAccents } from '@tyra/core';
capitalize('tyra'); // 'Tyra'
slugify('Olá Mundo!'); // 'ola-mundo'
removeAccents('São Paulo'); // 'Sao Paulo'Formatação de Valores
import { formatCurrency, formatDate } from '@tyra/core';
formatCurrency(1500.50); // 'R$ 1.500,50'
formatDate(new Date()); // '17/02/2026'Helpers
import { delay, isObject } from '@tyra/core';
await delay(1000); // Aguarda 1 segundo
isObject({ name: 'Tyra' }); // true
isObject([1, 2, 3]); // falseConstantes
import { HTTP_STATUS, ERROR_MESSAGES, PATTERNS } from '@tyra/core';
// Status HTTP
console.log(HTTP_STATUS.OK); // 200
// Mensagens de erro
console.log(ERROR_MESSAGES.REQUIRED_FIELD); // 'Este campo é obrigatório'
// Padrões de validação
PATTERNS.EMAIL.test('[email protected]'); // trueValidadores
import { isValidCPF, isValidCNPJ, isValidEmail } from '@tyra/core';
isValidCPF('123.456.789-09'); // true
isValidCNPJ('11.222.333/0001-81'); // true
isValidEmail('[email protected]'); // trueFormatadores
import { formatCPF, formatCNPJ, formatPhone, maskEmail } from '@tyra/core';
formatCPF('12345678909'); // '123.456.789-09'
formatCNPJ('11222333000181'); // '11.222.333/0001-81'
formatPhone('11987654321'); // '(11) 98765-4321'
maskEmail('[email protected]'); // 'u***[email protected]'Componentes React
import { DevelopedBy } from '@tyra/core';
import logo from './logo-dark.png';
function App() {
return (
<div>
{/* Seu conteúdo */}
<DevelopedBy
logo={logo}
company="Tyra"
url="https://tyra.com.br"
variant="elegant"
/>
</div>
);
}Com Logo Personalizado (v0.1.2+)
// Com logo e nome
<DevelopedBy
logo="/logo-dark.png"
company="Tyra"
url="https://tyra.com.br"
/>
// Apenas logo
<DevelopedBy
logo="/logo-dark.png"
company=""
url="https://tyra.com.br"
/>
// Logo com tamanho customizado
<DevelopedBy
logo="/logo-dark.png"
logoHeight={32}
company="Tyra"
/>🛠️ Desenvolvimento
Pré-requisitos
- Node.js 18+
- npm, yarn ou pnpm
Scripts Disponíveis
# Instalar dependências
npm install
# Build da biblioteca
npm run build
# Modo de desenvolvimento (watch mode)
npm run dev
# Executar testes
npm run test
# Linting
npm run lintEstrutura do Projeto
tyra-web/
├── src/
│ ├── index.ts # Ponto de entrada principal
│ ├── utils/ # Utilitários
│ │ └── index.ts
│ └── constants/ # Constantes
│ └── index.ts
├── dist/ # Build output (gerado)
├── package.json
├── tsconfig.json
└── README.md📝 Publicação
Para publicar no npm:
- Faça login no npm:
npm login- Publique a biblioteca:
npm publish --access publicNota: Se você usar o escopo @tyra, certifique-se de ter permissões adequadas ou altere o nome no package.json.
🤝 Contribuindo
Contribuições são bem-vindas! Sinta-se à vontade para abrir issues e pull requests.
📄 Licença
MIT © Tyra
