# Class CSSThemeCompiler

java.lang.Object
com.codename1.ui.css.CSSThemeCompiler

public class CSSThemeCompiler extends Object

Compiles a subset of Codename One CSS into theme properties stored in a `MutableResource`.

### Supported selector syntax

- `UIID`
- `UIID:selected`
- `UIID:pressed`
- `UIID:disabled`
- `*` (mapped to `Component`)
- `:root` (for constants only)

### Supported declarations

- `color`
- `background-color`
- `padding`
- `margin`
- `font-family` (mapped to `font` string for later resolution)
- `cn1-derive`
- `cn1-image-id`
- `cn1-mutable-image`
- border-related properties: `border`, `border-*`, `background-image`, `background-position`, `background-repeat`

### Theme constants

- CSS custom property definitions in `:root`, e.g. `--primary: #ff00ff;`
- `@constants { name: value; other: value; }`
- `var(--name)` dereferencing in declaration values.

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `static class`
  `CSSThemeCompiler.CSSSyntaxException`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `CSSThemeCompiler()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `compile(String css, MutableResource resources, String themeName)`

  ### Methods inherited from class Object

  `clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`
  Modifier and Type
  Method
  Description
  `protected Object`
  `clone()`
  `boolean`
  `equals(Object obj)`
  Indicates whether some other object is "equal to" this one.
  `final Class`
  `getClass()`
  Returns the runtime class of an object.
  `int`
  `hashCode()`
  Returns a hash code value for the object.
  `final void`
  `notify()`
  Wakes up a single thread that is waiting on this object's monitor.
  `final void`
  `notifyAll()`
  Wakes up all threads that are waiting on this object's monitor.
  `String`
  `toString()`
  Returns a string representation of the object.
  `final void`
  `wait()`
  Causes current thread to wait until another thread invokes the method or the method for this object.
  `final void`
  `wait(long timeout)`
  Causes current thread to wait until either another thread invokes the method or the method for this object, or a specified amount of time has elapsed.
  `final void`
  `wait(long timeout, int nanos)`
  Causes current thread to wait until another thread invokes the method or the method for this object, or some other thread interrupts the current thread, or a certain amount of real time has elapsed.

- ## Constructor Details

  - ### CSSThemeCompiler

    public CSSThemeCompiler()

- ## Method Details

  - ### compile

    public void compile(String css, MutableResource resources, String themeName)