Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@pardnchiu/quickui

Package Overview
Dependencies
Maintainers
0
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@pardnchiu/quickui

QuickUI is a lightweight frontend framework built on pure JavaScript and native APIs. Supports data binding, i18n support, event binding, conditional rendering, and loop rendering.

  • 0.6.5
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
0
Created
Source

QuickUI: Lightweight Frontend Framework

[!NOTE] (Formerly known as PDQuickUI, renamed to QuickUI starting from version 0.6.0)

QuickUI is a lightweight frontend framework built on pure JavaScript and native APIs. Supports data binding, i18n support, event binding, conditional rendering, and loop rendering.

tag size
npm download jsdeliver

Features

Efficient Virtual DOM

  • Precise diffing algorithm for efficient DOM updates
  • Smart attribute patching system that updates only changed values
  • Intelligent child node comparison for minimal DOM manipulation

Reactive Data Handling

  • Deep data monitoring system for immediate state tracking
  • Automatic UI updates on data changes, no manual operation needed
  • Smart caching system to prevent unnecessary re-renders
  • Support for nested data structures with reactive handling

Advanced Template Features

  • Built-in internationalization (i18n) support for easy localization
  • Dynamic template loading with asynchronous processing
  • Powerful expression system supporting calculations, dates, and text processing
  • Comprehensive directive system for flexible DOM manipulation

Performance Optimizations

  • Lazy loading for images and SVG content to improve load times
  • Minimal file size with zero external dependencies
  • Smart event delegation and resource cleanup for optimized memory usage

Documentation

Installation

Install via npm

npm i @pardnchiu/quickui

Include via CDN

Include the QuickUI library
<!-- Version 0.6.0 and above -->
<script src="https://cdn.jsdelivr.net/npm/@pardnchiu/quickui@[VERSION]/dist/QuickUI.js"></script>

<!-- Version 0.5.4 and below -->
<script src="https://cdn.jsdelivr.net/npm/pdquickui@[VERSION]/dist/PDQuickUI.js"></script>
Module version
// Version 0.6.0 and above
import { QUI } from "https://cdn.jsdelivr.net/npm/@pardnchiu/quickui@[VERSION]/dist/QuickUI.esm.js";

// Version 0.5.4 and below
import { QUI } from "https://cdn.jsdelivr.net/npm/pdquickui@[VERSION]/dist/PDQuickUI.module.js";

How to use

Initialize QUI

const app = new QUI({
    id: "", // Specify rendering element
    data: {
        // Custom DATA
    },
    event: {
        // Custom EVENT
    },
    when: {
        before_render: function () {
            // Stop rendering
        },
        rendered: function () {
            // Rendered
        },
        before_update: function () {
            // Stop updating
        },
        updated: function () {
            // Updated
        },
        before_destroy: function () {
            // Stop destruction
        },
        destroyed: function () {
            // Destroyed
        }
    }
});

Overview

Text & Content

AttributeUse CaseExample
{{value}}Dynamic text content<p>{{ userName }}</p> displays user's name
:htmlRaw HTML insertion<div :html="richContent"></div> renders formatted content

Template Loading

AttributeUse CaseExample
:pathExternal template loading<temp :path="./templates/header.html"></temp> loads header component

List & Iteration

AttributeUse CaseExample
:forArray/Object iteration<li :for="item in items">{{ item.name }}</li> renders list items

Conditional Rendering

AttributeUse CaseExample
:ifConditional display<div :if="isLoggedIn">Welcome!</div>
:else-if/:elifSecondary conditions<div :elif="isPending">Loading...</div>
:elseFallback content<div :else>Please log in</div>

Form Binding

AttributeUse CaseExample
:modelTwo-way data binding<input :model="userInput"> syncs with data

Styling & Animation

AttributeUse CaseExample
:animationTransition effects<div :animation="fade-in">Content</div>
:[css]Dynamic styling<div :background-color="bgColor">Styled content</div>

Dynamic Attributes

AttributeUse CaseExample
:[attr]Dynamic attributes<img :src="imageUrl" :alt="imageDesc">

Event Handling

AttributeUse CaseExample
@[event]Event listeners<button @click="handleClick">Click me</button>

License

Similar to MIT License but provides obfuscated code only:

  • Same as MIT: Free to use, modify and redistribute, including commercial use
  • Main difference: Provides obfuscated code by default, source code available for purchase
  • License terms: Must retain original copyright notice (same as MIT)

For detailed terms and conditions, please see the Software Usage Agreement.

Creator

邱敬幃 Pardn Chiu

©️ 2024 邱敬幃 Pardn Chiu

Keywords

FAQs

Package last updated on 04 Jan 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc