be-transformative

Transform DOM on demand.

Usage no npm install needed!

<script type="module">
  import beTransformative from 'https://cdn.skypack.dev/be-transformative';
</script>

README

be-transformative

be-transformative is a custom element / DOM decorator that allows for css-like transformations to be performed on demand.

The syntax for the transformations are based on declarative trans-render syntax.

Example:

<button be-transformative='{
    "click":{
        "transform":{
            ":host": [{"treeView": false, "textView": true}],
            ".tree-view-selector":[{"style": {"display":"inline-block"}}],
            ".text-view-selector": [{"style": {"display":"none"}}]
        }
    }
}'></button>

One potential objection to the syntax shown above is that JSON is quite finicky about allowed syntax, giving the developer a potentially frustrating experience.

However, a VSCode plugin is available which provides syntax coloring and catches most JSON errors.

And the may-it-be compiler allows us to use .mjs/.mts files as our editing canvas, and compile to syntax as shown above.

Running a transform immediately.

This can be useful for hydrating

<button be-transformative='{
    "":{
        "transform":{
            ":host": [{"treeView": false, "textView": true}],
            ".tree-view-selector":[{"style": {"display":"inline-block"}}],
            ".text-view-selector": [{"style": {"display":"none"}}]
        }
    }
}'></button>