singular-ui
Registry compartilhada do Grupo Singular. Instale qualquer item com shadcn add.
Forms
- SearchBarcomponent
Campo de busca com debounce e botão de limpar. Emite onSearch, sem depender de router.
shadcn add https://ui.compound360.com.br/r/search-bar.json
Tables
- ResourceTablecomponent
Tabela tipada por colunas com loading (skeleton), estado vazio e onRowClick.
shadcn add https://ui.compound360.com.br/r/resource-table.json
Feedback
- EmptyStatecomponent
Estado vazio opinativo sobre o Empty do shadcn: ícone, título, descrição e ação.
shadcn add https://ui.compound360.com.br/r/empty-state.json
Data
- QueryProvidercomponent
QueryClientProvider com os defaults da casa (staleTime 5min, gcTime 10min, retry 2).
shadcn add https://ui.compound360.com.br/r/query-provider.json - useResourceQueryhook
Query/mutation por recurso com hierarquia de query key e invalidação automática. Fetcher agnóstico.
shadcn add https://ui.compound360.com.br/r/use-resource-query.json
Hooks
- useDebouncedValuehook
Debounce genérico de um valor reativo.
shadcn add https://ui.compound360.com.br/r/use-debounced-value.json - useMediaQueryhook
Breakpoint reativo via matchMedia.
shadcn add https://ui.compound360.com.br/r/use-media-query.json
Lib
- Formatterslib
Formatação pt-BR de moeda, data e porcentagem.
shadcn add https://ui.compound360.com.br/r/formatters.json - isPresent / samelib
Filtra zeros semânticos e valores duplicados em telas de detalhe.
shadcn add https://ui.compound360.com.br/r/is-present.json
Blocks
- CRUD Pageblock
Template de listagem: header com ação, busca e tabela tipada. Dados via props, pronto pra plugar no useResourceQuery.
shadcn add https://ui.compound360.com.br/r/crud-page.json