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-module

v1.1.0

Published

Simply Builder Core Module - Dom Manager and Store

Downloads

26

Readme

@jamilservices/sb-core-module

The @jamilservices/sb-core-module integrates the functionalities of both EventModule and DomModule, providing a unified interface for managing DOM elements and event handling. This simplification streamlines the process of creating, manipulating, and managing DOM elements along with their associated events within applications.

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

  • Unified interface for event handling through the EventModule.
  • Robust DOM manipulation utilities provided by the DomModule.
  • Seamless integration between event handling and DOM operations.
  • Supports creating, modifying, and managing both HTML and SVG elements.
  • Enhanced support for shadow DOM components, enabling encapsulated styles and behaviors.

Installation

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

Using npm

npm install @jamilservices/sb-core-module

Using pnpm

pnpm add @jamilservices/sb-core-module

Using yarn

yarn add @jamilservices/sb-core-module

[!NOTE] This will add the @jamilservices/sb-core-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-module@latest/lib/main.min.js

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

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

Usage

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

Importing the Module

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

Usage Examples

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

Creating an Element

Create an HTML element with attributes and append it to the document body:

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

// Structure for creating a new element
const elementStruct = {
    element: 'div',
    attr: { class: 'example-class' },
    text: 'This is a dynamic element.'
};

// Create and append the element to the document body
const created = CoreModule.createFromStruct({
    struct: elementStruct,
    parent: document.body
});

if (created) {
    console.log('Element created and appended successfully.');
}

Retrieving and Removing an Element

Retrieve a stored element by its key and then remove it:

// Assuming 'exampleKey' is the key of an element stored in the DomModule's store
const storedElement = CoreModule.getElementFromStore('exampleKey');

if (storedElement) {
    console.log('Retrieved stored element:', storedElement);

    // Remove the retrieved element from the document
    CoreModule.removeElement(storedElement);
    console.log('Element removed successfully.');
}

API Documentation

CoreModule exposes the following methods for direct use in your projects:

  • getElementFromStore(key: string): HTMLElement | SVGElement | undefined

    • Retrieves a DOM element previously stored by its unique key.
    • Parameters:
      • key: A string identifier used to store the DOM element.
    • Returns: The DOM element if found; otherwise, undefined.
  • createFromStruct(data: object): boolean

    • Creates DOM elements based on a provided structure, which includes specifications for the element's type, attributes, children, and event listeners.
    • Parameters:
      • data: An object containing the structure for creating DOM elements.
    • Returns: true if the elements were successfully created; otherwise, false.
  • removeElement(element: HTMLElement | SVGElement): void

    • Removes the specified DOM element from the document.
    • Parameters:
      • element: The DOM element to be removed.
  • eventRegister(name: string, fn: function): void

    • Registers a custom event type and its associated action.
    • Parameters:
      • name: A string identifier used to relate the function to the event.
      • fn: Function that will be called in the event.
  • eventUnregister(name: string): void

    • Unregisters a custom event type and removes its associated action.
    • Parameters:
      • name: The same string identifier used to relate the function to the event.

Contribution Guidelines

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

License

@jamilservices/sb-core-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.