JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 2211
  • Score
    100M100P100Q108092F
  • License MIT

A React component that displays and edits CSS, similar to the browser's DevTools.

Package Exports

  • react-style-editor

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (react-style-editor) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

React Style Editor

Npm Version   License   Size

A React component that displays and edits CSS, similar to the browser's DevTools.

Features

  • Parses any CSS string and formats it in a familiar fashion
  • Validates each rule and each declaration using the browsers's own engine
  • Facilitates commenting the CSS code through checkbox toggling
  • Allows easy additions by clicking next to the desired location
  • Has no dependencies (other than React)
  • Is customizable through classes
  • Offers 3 output formats:
    • the code with preserved formatting
    • the prettified code
    • a machine-friendly model of the code (recursive array of objects)

Installation

npm i react-style-editor

Usage

import React from 'react'
import StyleEditor from 'react-style-editor'

class Component extends React.Component {

    render() {
        return (
            <StyleEditor
                css={`
                    div {color:red;}
                    /* Hello, World! */
                    @media screen {
                        article {
                            display: flex;
                        }
                    }
                `}
            />
        )
    }
}

Ideas for the future

  • Live demo
  • Color swatches (similar to the browser)
  • Dropdown suggestions for properties/values (similar to the browser)
  • Ability to copy/delete fragments of code
  • Keyboard support for TAB, : and UP, DOWN
  • Prop for automatically mutating the code after validation
  • Theme support (similar to the browser)
  • Toggle view mode: tree/original
  • Undo/redo
  • Better code quality through propTypes
  • Better comment rendering (some comments look better inline rather than block)
  • Filters (similar to the browser)
  • Error messages displayed in the warning-sign's tooltip