44 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
'use strict';
 | 
						|
 | 
						|
var TYPES = require('../parsers').TYPES;
 | 
						|
var valueType = require('../parsers').valueType;
 | 
						|
var shorthandParser = require('../parsers').shorthandParser;
 | 
						|
var shorthandSetter = require('../parsers').shorthandSetter;
 | 
						|
var shorthandGetter = require('../parsers').shorthandGetter;
 | 
						|
 | 
						|
var shorthand_for = {
 | 
						|
  'font-family': require('./fontFamily'),
 | 
						|
  'font-size': require('./fontSize'),
 | 
						|
  'font-style': require('./fontStyle'),
 | 
						|
  'font-variant': require('./fontVariant'),
 | 
						|
  'font-weight': require('./fontWeight'),
 | 
						|
  'line-height': require('./lineHeight'),
 | 
						|
};
 | 
						|
 | 
						|
var static_fonts = [
 | 
						|
  'caption',
 | 
						|
  'icon',
 | 
						|
  'menu',
 | 
						|
  'message-box',
 | 
						|
  'small-caption',
 | 
						|
  'status-bar',
 | 
						|
  'inherit',
 | 
						|
];
 | 
						|
 | 
						|
var setter = shorthandSetter('font', shorthand_for);
 | 
						|
 | 
						|
module.exports.definition = {
 | 
						|
  set: function(v) {
 | 
						|
    var short = shorthandParser(v, shorthand_for);
 | 
						|
    if (short !== undefined) {
 | 
						|
      return setter.call(this, v);
 | 
						|
    }
 | 
						|
    if (valueType(v) === TYPES.KEYWORD && static_fonts.indexOf(v.toLowerCase()) !== -1) {
 | 
						|
      this._setProperty('font', v);
 | 
						|
    }
 | 
						|
  },
 | 
						|
  get: shorthandGetter('font', shorthand_for),
 | 
						|
  enumerable: true,
 | 
						|
  configurable: true,
 | 
						|
};
 |