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 🙏

© 2024 – Pkg Stats / Ryan Hefner

@bake-js/-o-id

v0.0.61

Published

-O-id é uma biblioteca leve e fácil de usar para criar Web Components personalizados, com foco em simplicidade e desempenho

Downloads

1,650

Readme

Quality Gate Status Bugs Code Smells Coverage Duplicated Lines (%)

-O-id

-O-id é uma biblioteca leve e eficiente para criar Web Components personalizados, desenvolvida com foco em simplicidade e desempenho. Escrito inteiramente em JavaScript, -O-id otimiza o desempenho dos seus componentes, garantindo que eles sejam rápidos, leves e fáceis de manter. Com uma arquitetura intuitiva e o uso de decorators, como @paint e @repaint, o desenvolvimento de componentes reativos e modulares se torna simples e direto.

Por que -O-id?

O nome -O-id foi inspirado na teoria psicanalítica de Sigmund Freud. O "id" representa a parte mais básica e primitiva da personalidade humana, que impulsiona nossos instintos fundamentais. Da mesma forma, a biblioteca -O-id serve como a base essencial para a construção de interfaces web. O sufixo "-O" simboliza a transformação de ideias em resultados tangíveis — componentes funcionais e eficientes.

-O-id não é apenas uma ferramenta, mas uma força que impulsiona a criação de interfaces, permitindo que desenvolvedores transformem conceitos em realidade de maneira ágil e intuitiva. Escolhemos este nome para destacar a importância de começar com uma base sólida, assim como o "id" é o ponto de partida na formação da personalidade.

Instalação

Para instalar a biblioteca, utilize o npm:

npm install @bake-js/-o-id

Nota: Também é compatível com yarn e bun.

Exemplo de Uso

Aqui está um exemplo simples de como utilizar a biblioteca para criar um contador interativo:

import { define } from '@bake-js/-o-id';
import { html, paint, repaint } from '@bake-js/-o-id/dom';
import on from '@bake-js/-o-id/event';

function component(self) {
  return html`
    <button>Increment ${self.number}</button>
  `;
}

@define('o-id-counter')
@paint(component)
class Counter extends HTMLElement {
  #number;

  get number() {
    return (this.#number ??= 0);
  }

  set number(value) {
    this.#number = value;
  }

  @on.click('button')
  @repaint
  increment() {
    this.number += 1;
    return this;
  }
}

Este exemplo mostra como -O-id facilita a criação de componentes interativos com uma sintaxe clara e eficiente.

Claro! Aqui está a seção de documentação atualizada com links para os quatro principais guias:

Documentação

A seguir, você encontrará a documentação detalhada para os principais módulos do -O-id. Cada link leva à página correspondente onde você pode aprender mais sobre como usar e implementar as funcionalidades oferecidas.

  • Guia Rápido: Um guia completo para entender e aplicar os principais módulos e decorators do -O-id.
  • DOM: Documentação sobre a manipulação do DOM e renderização de componentes com o módulo DOM.
  • Event: Guia para manipulação e resposta a eventos dentro dos Web Components, incluindo o uso de filtros.
  • Relay: Facilita a escuta de eventos emitidos pelo parentElement de um Custom Element.
  • Echo: Documentação sobre o barramento de eventos Echo, para comunicação entre componentes. Nota: Este módulo está em fase beta e pode estar sujeito a mudanças.

Índice de Referência

Ciclo de Vida

Documentação sobre os callbacks e métodos relacionados ao ciclo de vida dos Custom Elements. Esses métodos são fundamentais para gerenciar o estado e as mudanças dos elementos ao longo de sua existência no DOM.

  • adopted - Callback chamado quando um Custom Element é adotado por um novo documento.
  • attributeChanged - Callback chamado quando um atributo de um Custom Element é alterado.
  • connected - Callback chamado quando um Custom Element é inserido no DOM.
  • disconnected - Callback chamado quando um Custom Element é removido do DOM.
  • define - Função para definir e registrar um novo Custom Element.

Ciclo de Vida Associados a Formulários

Informações sobre os callbacks específicos para a interação de Custom Elements com formulários. Esses callbacks são utilizados para gerenciar o estado e as ações relacionadas aos formulários.

  • formAssociated - Callback chamado quando um elemento é associado a um formulário.
  • formDisabled - Callback chamado quando um elemento é desativado dentro de um formulário.
  • formReset - Callback chamado quando um formulário associado é resetado.
  • formStateRestore - Callback chamado quando o estado de um elemento é restaurado dentro de um formulário.

DOM

Documentação sobre as funcionalidades e helpers relacionados ao DOM e ao processo de renderização dos Custom Elements. Inclui decorators e funções que ajudam a manipular estilos e o conteúdo visual dos componentes.

  • css - Helper para gerar folhas de estilo (CSSStyleSheet) para uso com Web Components.
  • didPaint - Callback chamado após o componente ser pintado.
  • html - Helper para processar strings de template literal em HTML.
  • paint - Decorator para chamar o callback de pintura durante a execução do método original.
  • repaint - Decorator para garantir que o callback de pintura seja chamado após a execução do método original.
  • willPaint - Decorator para adicionar lógica que deve ser executada antes do callback de pintura.

Event

Informações sobre os filtros e decorators para eventos. Inclui funções para gerenciar e processar eventos em Custom Elements, como adicionar listeners e manipular dados de eventos.

  • event - Decorator para adicionar listeners de eventos a métodos de Custom Elements.
  • formData - Filtro que converte os dados de um formulário em um objeto.
  • prevent - Filtro que impede o comportamento padrão de um evento.
  • stop - Filtro que interrompe a propagação de um evento.
  • value - Filtro que extrai o valor de um campo de entrada associado ao evento.

Relay

Facilita a escuta de eventos emitidos pelo parentElement de um Custom Element. Fornece uma maneira simples de conectar métodos a eventos do elemento pai, permitindo a comunicação eficiente entre componentes.

  • relay - Decorator para escutar eventos do parentElement e associar métodos a esses eventos.

Echo

Documentação sobre o módulo Echo, um barramento de eventos experimental para comunicação entre componentes. Inclui informações sobre como configurar e usar Echo para gerenciar eventos.

  • Echo - Módulo para gerenciamento de eventos com um barramento de eventos.
  • o-id-echo-source - Fonte para eventos no módulo Echo.

Interfaces

Descrição dos identificadores e constantes usadas para padronizar callbacks e estados em Custom Elements. Inclui informações sobre como esses identificadores são utilizados no contexto de Custom Elements e eventos.

  • Global - Identificadores e constantes globais usadas em Custom Elements.
  • DOM - Identificadores e constantes específicas para manipulação do DOM em Custom Elements.
  • Event - Identificadores e constantes específicas para eventos e manipulação de dados de eventos.
  • Echo - Identificadores e constantes específicas para o barramento de eventos Echo.

Demo

Confira um exemplo prático de como o -O-id pode ser utilizado em nosso demo.

Contribua

Estamos sempre buscando maneiras de melhorar o -O-id. Você pode ajudar reportando problemas, sugerindo novas funcionalidades ou enviando pull requests. Acesse a página de issues para mais informações.

Suporte

Se precisar de suporte, sinta-se à vontade para entrar em contato por e-mail através de [email protected] ou junte-se ao nosso canal no Slack.

Licença

Este projeto é distribuído sob a licença MIT, permitindo uso, modificação e distribuição aberta do código.