12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- // Generated by CoffeeScript 1.9.3
- var MixedDeclarationSet, StyleSheet, Styles, terminalWidth;
- StyleSheet = require('./styles/StyleSheet');
- MixedDeclarationSet = require('./styles/rule/MixedDeclarationSet');
- terminalWidth = require('../tools').getCols();
- module.exports = Styles = (function() {
- var self;
- self = Styles;
- Styles.defaultRules = {
- '*': {
- display: 'inline'
- },
- 'body': {
- background: 'none',
- color: 'white',
- display: 'block',
- width: terminalWidth + ' !important'
- }
- };
- function Styles() {
- this._defaultStyles = new StyleSheet;
- this._userStyles = new StyleSheet;
- this._setDefaultStyles();
- }
- Styles.prototype._setDefaultStyles = function() {
- this._defaultStyles.setRule(self.defaultRules);
- };
- Styles.prototype.setRule = function(selector, rules) {
- this._userStyles.setRule.apply(this._userStyles, arguments);
- return this;
- };
- Styles.prototype.getStyleFor = function(el) {
- var styles;
- styles = el.styles;
- if (styles == null) {
- el.styles = styles = this._getComputedStyleFor(el);
- }
- return styles;
- };
- Styles.prototype._getRawStyleFor = function(el) {
- var def, user;
- def = this._defaultStyles.getRulesFor(el);
- user = this._userStyles.getRulesFor(el);
- return MixedDeclarationSet.mix(def, user).toObject();
- };
- Styles.prototype._getComputedStyleFor = function(el) {
- var decs, parent, prop, ref, val;
- decs = {};
- parent = el.parent;
- ref = this._getRawStyleFor(el);
- for (prop in ref) {
- val = ref[prop];
- if (val !== 'inherit') {
- decs[prop] = val;
- } else {
- throw Error("Inherited styles are not supported yet.");
- }
- }
- return decs;
- };
- return Styles;
- })();
|