-
-
Notifications
You must be signed in to change notification settings - Fork 26
Expand file tree
/
Copy pathkeyframes.js
More file actions
52 lines (38 loc) · 1.37 KB
/
keyframes.js
File metadata and controls
52 lines (38 loc) · 1.37 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
'use strict';
exports.addon = function (renderer) {
if (process.env.NODE_ENV !== 'production') {
require('./__dev__/warnOnMissingDependencies')('keyframes', renderer, ['putRaw', 'put']);
}
if (renderer.client) {
// Craete @keyframe Stylesheet `ksh`.
document.head.appendChild(renderer.ksh = document.createElement('style'))
}
var putAt = renderer.putAt;
renderer.putAt = function (__, keyframes, prelude) {
// @keyframes
if (prelude[1] === 'k') {
var str = '';
for (var keyframe in keyframes) {
var decls = keyframes[keyframe];
var strDecls = '';
for (var prop in decls)
strDecls += renderer.decl(prop, decls[prop]);
str += keyframe + '{' + strDecls + '}';
}
str = prelude + '{' + str + '}';
if (renderer.client) {
renderer.ksh.appendChild(document.createTextNode(str));
} else {
renderer.raw += str;
}
return;
}
putAt(__, keyframes, prelude);
};
renderer.keyframes = function (keyframes, block) {
if (!block) block = renderer.hash(keyframes);
block = renderer.pfx + block;
renderer.putAt('', keyframes, '@keyframes ' + block);
return block;
};
};