Git Product home page Git Product logo

stencil-quantum's Introduction

Stencil Quantum npm package Built With Stencil

Experience the quantum realm of stencil.

Stencil Quantum is Stencil library enabling inexplicit context access. Think of this like passing props down a quantum tunnel instead of explicitly passing them to each child. During that, Stencil Quantum adheres to the basic principles of Stencil Components where data is always passed down the tree and not up. To push data up the tree, Stencil offers Events, which support event bubbling, enabling events to be emitted up the tree multiple levels and to be listened on inexplicitly using the Listen decorator. Stencil Quantums initial goal was to provide this functionality in the other direction.

It serves a similar purpose as stencil-state-tunnel or stencil-context, although with less overhead.

Originally Stencil Quantum was intended to be called Stencil Context, however stencil-context was taken on npm just two weeks prior to the first prototype of this library. This, however, turned out to be quite fortunate considering that stencil-context aims to replicate react-context, whereas Stencil Quantum takes a more inexplicit approach, which both fit better.


The Quantum Realm

The quantum realm (or just context) simply describes arrays of Providers that live on the HTMLElement in the DOM instead of the Stencil Component. This allows children multiple levels down the tree to traverse the tree back up and find the first provider that matches the key they're looking for. Then they can listen for changes and re-render.

Most of this functionality is wrapped up in different decorators, which can then be used reactively similarly to the known Stencil decorators.

Additionally there are some Stencil Components allowing context to be provided and consumed directly from JSX.

stencil-quantum's People

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.