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

@jamilservices/sb-core-dom-module

v1.1.0

Published

Simply Builder Core Module - Dom Manager and Store

Downloads

25

Readme

@jamilservices/sb-core-dom-module

The @jamilservices/sb-core-dom-module is a JavaScript library designed to simplify DOM manipulation and enhance frontend development workflows. It offers a collection of utilities for creating, querying, and managing HTML and SVG elements, with support for shadow DOM operations.

SimplyBuilder SimplyBuilder SimplyBuilder - sb-core GitHub License

🤖 Documented by Artificial Intelligence

This project takes a leap into the future of code documentation and maintenance. 🚀
All text commits, Readme details and JSDoc comments were created automatically by the advanced AI of ChatGPT, showcasing a seamless integration between human creativity and artificial intelligence.

By leveraging ChatGPT's capabilities, we've ensured that the documentation is not only comprehensive but also up-to-date with the latest standards. This collaboration marks a step forward in our pursuit of innovative solutions, making our codebase more accessible and easier to understand for developers worldwide.

Embrace the future of coding with us. 🌟

Features

  • Easy creation and management of HTML and SVG elements.
  • Support for shadow DOM, allowing for encapsulated styling and markup.
  • Efficient querying and manipulation of elements stored in an internal registry.
  • Designed to work seamlessly with modern frontend frameworks and vanilla JavaScript projects.

Installation

You can easily install the DOM module in your project using npm, pnpm or yarn:

Using npm

npm install @jamilservices/sb-core-dom-module

Using pnpm

pnpm add @jamilservices/sb-core-dom-module

Using yarn

yarn add @jamilservices/sb-core-dom-module

[!NOTE] This will add the @jamilservices/sb-core-dom-module as a development dependency in your project.

ESM Import Module

CDN:

You can use the following CDN links to include the module:

https://cdn.skypack.dev/@jamilservices/sb-core-dom-module@latest/lib/main.min.js

https://cdn.jsdelivr.net/npm/@jamilservices/sb-core-dom-module@latest/lib/main.min.js

https://unpkg.com/@jamilservices/sb-core-dom-module@latest/lib/main.min.js

Usage

Here's how to use the @jamilservices/sb-core-dom-module in your application:

Importing the Module

import { DomModule } from '@jamilservices/sb-core-dom-module';

Usage Examples

After installing the @jamilservices/sb-core-dom-module, you can use it to create, manipulate, and manage DOM elements efficiently. Here are a few examples:

Creating an HTML Element

Create a simple div element with text content and append it to the body.

import { DomModule } from '@jamilservices/sb-core-dom-module';

const myDiv = DomModule.createHTMLElement({
  element: {
    type: 'div',
    attr: { class: 'my-class' },
    text: 'This is a dynamic div'
  }
});

document.body.appendChild(myDiv);

Creating an SVG Element

Create an SVG circle and append it to an SVG root element.

import { DomModule } from '@jamilservices/sb-core-dom-module';

const svgRoot = DomModule.createSVGElement({
  element: {
    type: 'svg',
    attr: {
      width: '100',
      height: '100',
      xmlns: 'http://www.w3.org/2000/svg'
    }
  }
});

const circle = DomModule.createSVGElement({
  element: {
    type: 'circle',
    attr: {
      cx: '50',
      cy: '50',
      r: '40',
      stroke: 'green',
      'stroke-width': '4',
      fill: 'yellow'
    }
  },
  parent: svgRoot
});

document.body.appendChild(svgRoot);

API Documentation

The @jamilservices/sb-core-dom-module offers several functions to work with the DOM. Here's a brief overview of the main functions:

  • createHTMLElement: Creates an HTML element based on the provided specifications (type, attributes, text content, etc.).
  • createSVGElement: Similar to createHTMLElement but specifically for creating SVG elements.
  • addElementToStore: Stores a reference to an element by a specified key for easy retrieval.
  • getElementFromStore: Retrieves an element reference from the store using its key.
  • removeElementFromStore: Removes an element's reference from the store and optionally its associated events.
  • createFromStruct: Creates DOM elements based on a structured object, supporting nested children and event binding.
  • removeElement: Removes a specified element from the DOM and optionally from the internal store and unbinds its events.

Contribution Guidelines

Interested in contributing? We welcome your contributions to enhance the backend capabilities of @jamilservices/sb-core-dom-module. Please check our Contribution Guidelines for more details.

License

@jamilservices/sb-core-dom-module is available under the MIT License by @jamilservicos.

  • You are free to modify and reuse the code.
  • The original license must be included with copies of this software.
  • We encourage linking back to this repository if you use a significant portion of the source code.