You're Invited:Meet the Socket Team at BlackHat and DEF CON in Las Vegas, Aug 4-6.RSVP
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.3
Source
npmnpm
Version published
Weekly downloads
0
-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

Docs

WIP. Coming soon maybe?

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@0.0.1/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 18 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

SocketSocket SOC 2 Logo

Product

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.