UNPKG

925 BJavaScriptView Raw
1'use strict';
2
3var cssSelector = require('./styleSelector'),
4 importantSelector = cssSelector('<!important>', [ 2, 0, 0, 0 ]),
5 property = require('./cssProperty');
6
7function getProperty(style, name, selector) {
8 var value = style[name],
9 sel = style._importants[name] ? importantSelector : selector;
10
11 return property(name, value, sel);
12}
13
14// go through the properties
15module.exports = function (el, style, selector) {
16 var i,
17 l = style.length,
18 name,
19 prop,
20 existing,
21 winner;
22
23 for (i = 0; i < l; i++) {
24 name = style[i];
25 prop = getProperty(style, name, selector);
26 existing = el.styleProps[name];
27
28 if (existing) {
29 winner = existing.compare(prop);
30
31 if (winner === prop) {
32 el.styleProps[name] = prop;
33 }
34 } else {
35 el.styleProps[name] = prop;
36 }
37 }
38};