🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
Book a DemoInstallSign in
Socket

@css-everything/render

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@css-everything/render

A ui library where you only write CSS. No HTML, no JS, no build system, only CSS (kinda).

0.0.4
Source
npm
Version published
Weekly downloads
8
100%
Maintainers
1
Weekly downloads
 
Created
Source

css-everything

A ui library where you only write CSS. No HTML, no JS, no build system, only CSS (kinda).

Disclaimer: Don't use this

Usage

  • Read the documentation to become enlightened.
  • Here's how this works.

Simple example

You can start by adding the script tag for the renderer inside the body

<!-- index.html -->
<html lang="en">
  <head>
    <link href="./style.css" rel="stylesheet" />
  </head>
  <body>
    <script async defer src="https://unpkg.com/@css-everything/render/dist/renderer/index.js"></script>
  </body>
</html>

NOTE: The HTML needs to have a body element since that is the root of your application by default.

NOTE_v2: Styles need to be loaded before the renderer is triggered.

NOTE_v2_final: You can load more cssx by using the load-cssx() function

/* style.css */

:root {
  /* creates 2 elements main and button */
  --cssx-children: main#main-el button#my-button;
}

#main-el {
  --text: "<stuff>";
}
#main-el::after {
  content: var(--text);
}

#my-button {
  --cssx-text: "Click me";
  /* On click, waits for 1 second and then updates the --text property #main-el */
  --cssx-on-click:
    update(main-el, --text, "Loading...")
    delay(1s)
    update(main-el, --text, "Hello world!");
}

Here's the code in action

"Wow. You couldn't come up with a more boring example if you tried."

Alright. You don't have to be mean about it.

Frequently Acquisitioned Queries

Why?

Why not?

What?

What?

What time is it?

Why don't you ask that to this example?

How does it work?

It starts by reading the --cssx-children property on the body. Which is then parsed and evaluated and the necassary child nodes are created. For each element that is managed by cssx (i.e. not created via js or html or --cssx-disgustingly-set-innerhtml or js-eval), we then look for event handler properties present on the node. These properties are parsed and evaluated when the relevant event is triggered.

Does it parse the entire css

No. The browser does most of it. Only the fancy --cssx-* properties use a custom parser.

FAQs

Package last updated on 25 Aug 2023

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