@lucania/vision
TypeScript icon, indicating that this package has built-in type declarations

1.0.2 • Public • Published

Vision

A toolbox for developing dynamic web pages fast.

Provides a set of "Reference" classes to manipulate UI based on state changes.

Example of creating a greeting display based on a value a user types into a name input:

Please note that this relies on an input element with the ID "nameInput" and a text element with the ID "greetingDisplay" existing in your page's HTML.

const Vision = /** @type {import("@lucania/vision")} */ (window["Vision"]);

window.addEventListener("load", function () {
    // Retrieve your HTML elements
    const nameInput = document.getElementById("nameInput");
    const greetingDisplay = document.getElementById("greetingDisplay");

    // Create your references
    const name = new Vision.InputValueReference(nameInput);
    const greeting = new Vision.TextContentReference(greetingDisplay);

    // Indicate that our greeting should follow the value of our "name" with the specified transform function.
    greeting.follow(name, function (name) {
        return `Hello ${name}!`;
    });

    // Because our "greeting" is a "TextContentReference", it wraps the "textContent" property of the element the reference was created with (greetingDisplay).

    // Because our "name" is an "InputValueReference", it wraps the "value" property of its element (nameInput). When text is inputted "nameInput", this reference will reflect that.
});

Readme

Keywords

Package Sidebar

Install

npm i @lucania/vision

Weekly Downloads

2

Version

1.0.2

License

UNLICENSED

Unpacked Size

19.4 kB

Total Files

10

Last publish

Collaborators

  • jeremy-bankes