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,
							 | 
						||
| 
								 | 
							
								};
							 |