selectoplasm

The ASI Model

( with apologies to Brad Frost )

At the heart of the way Selectoplasm handles CSS declarations is the ASI Model. It's very simple, and perhaps a little controversial, but hopefully once it's explained you'll appreciate why it exists.

The problem is that using and discussing Selectoplasm requires constant attention to three kinds of CSS declarations: ordinary properties, custom properties, and pseudo private custom properties. At this point you might appreciate the issue: as a group, these terms are confusing and verbose.

   color: blue; /* ordinary property */
   --color: orange; /* custom property */
   --_color: violet; /* pseudo-private custom property */

All the ASI Model does is rename these in a way that is efficient and memorable:

   color: blue; /* Atomic */
   --color: orange; /* Semantic */
   --_color: violet; /* Intrinsic */

That's it. That's the entire thing. (The colours mentioned are the same ones Selectoplasm uses by default to distinguish them.)

In the next section we'll go over the main function of Selectoplasm - unpacking utility classes - and you'll see why it was necessary to make this particular distinction.