An open API service indexing awesome lists of open source software.

https://github.com/chantastic/pseudo-class


https://github.com/chantastic/pseudo-class

Last synced: 3 months ago
JSON representation

Awesome Lists containing this project

README

          

[![Circle CI](https://circleci.com/gh/chantastic/pseudo-class.svg?style=svg)](https://circleci.com/gh/chantastic/pseudo-class)

## Psuedo

*WIP*

A small set of functions for pseudo-class-like logic logic in JavaScript. I'm
using it with React and inline-styles in mind. I don't see why you couldn't use
it elsewhere.

## Why?

These are pretty simple expressions. I see this being more useful as a resource
than a library. Cheat-sheets are boring. This is living.

## Usage in React

In React render function, it can be used like so:

```javascript
{this.props.item.map((item, i, arr) => {
return (


  • {item}

  • );
    })};
    ```

    *If you're not familiar with `Object.assign`, it's just a way of merging objects
    from right to left. `_.extend` could serve the same purpose.*

    ## Capabilities

    This is a map of pseudo-classes to available functions.

    ##### item

    ```javascript
    :first-child firstChild(i)
    :last-child lastChild(i, arr)

    :only-child onlyChild(i, arr)

    :nth-child(even) evenChildren(i)
    :nth-child(odd) oddChildren(i)

    :nth-child(n) nthChild(n, i)
    :nth-last-child(n) nthLastChild(n, i, arr)

    :nth-child(-n+3) firstChildren(n, i)
    ```

    ##### collection

    ```javascript
    :empty empty(arr)
    ```

    ### Why not use the same names?

    `:nth-child` is a pretty overloaded selector. I really don't want to get into
    parsing.

    ### Is this exhaustive?

    Nope. I've added those most common me. Happy to add more if useful.