33 lines
		
	
	
		
			830 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			830 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| let Declaration = require('../declaration')
 | |
| let utils = require('./grid-utils')
 | |
| 
 | |
| class PlaceSelf extends Declaration {
 | |
|   /**
 | |
|    * Translate place-self to separate -ms- prefixed properties
 | |
|    */
 | |
|   insert(decl, prefix, prefixes) {
 | |
|     if (prefix !== '-ms-') return super.insert(decl, prefix, prefixes)
 | |
| 
 | |
|     // prevent doubling of prefixes
 | |
|     if (decl.parent.some(i => i.prop === '-ms-grid-row-align')) {
 | |
|       return undefined
 | |
|     }
 | |
| 
 | |
|     let [[first, second]] = utils.parse(decl)
 | |
| 
 | |
|     if (second) {
 | |
|       utils.insertDecl(decl, 'grid-row-align', first)
 | |
|       utils.insertDecl(decl, 'grid-column-align', second)
 | |
|     } else {
 | |
|       utils.insertDecl(decl, 'grid-row-align', first)
 | |
|       utils.insertDecl(decl, 'grid-column-align', first)
 | |
|     }
 | |
| 
 | |
|     return undefined
 | |
|   }
 | |
| }
 | |
| 
 | |
| PlaceSelf.names = ['place-self']
 | |
| 
 | |
| module.exports = PlaceSelf
 |