Financial-Times/o-colors — pull request #69 by triblondon (2014-08-26 12:48:26+00:00)
Title: Major refactor

Main changes are:

* Move to SASS maps for much clearer syntax and cleaner code when reading it
* Remove 'disabled'. Complicated implementation, and no colours were disabled.
* Allow `$o-colors-use-cases` to be defined *before* the colors module is imported (the standard use cases are then prepended to the custom ones). This is really good, as it means no more complicated load order for products - you can define your custom use cases before you do all your Origami module imports (components should continue to use `oColorsSetUseCase`).
* Move all the deprecated use cases to the bottom of the use case list and mark lots of them for deprecation.
* Added a `default` argument to `oColorsGetColorFor` to enable it to be used more elegantly with the `oColorsFor` mixin.
* It's now possible to override existing colour use cases when calling `oColorsSetUseCase`. Components should obviously not do this, but very useful for products that might want to redefine the brand colour or whatever.

Backwards-incompatible changes:

* `oColorsFor` previously returned a warning if you included properties in the propertylist argument that weren't defined for that use case. Now it will simply not output those properties. This feels better to me because it will make it easier to use `oColorsFor` without a second argument.
* Undefined colors and use cases which previously resulted in *black* now result in *undefined*.
* Removed `_oColorsGetPaletteColor`. Anything using it will break.
* If anything defined `$o-colors-use-case-list` before importing the colors module, that variable will no longer be used (seriously doubt anything did that).
* Placeholder classes have been removed, so any site using things like `@extend %o-colors-use-case-body-text` will now throw an error.