aboutsummaryrefslogtreecommitdiff
path: root/node_modules/renderkid/lib/renderKid/styles/rule/declarationBlock/Margin.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/renderkid/lib/renderKid/styles/rule/declarationBlock/Margin.js')
-rw-r--r--node_modules/renderkid/lib/renderKid/styles/rule/declarationBlock/Margin.js64
1 files changed, 64 insertions, 0 deletions
diff --git a/node_modules/renderkid/lib/renderKid/styles/rule/declarationBlock/Margin.js b/node_modules/renderkid/lib/renderKid/styles/rule/declarationBlock/Margin.js
new file mode 100644
index 000000000..6dfe0764d
--- /dev/null
+++ b/node_modules/renderkid/lib/renderKid/styles/rule/declarationBlock/Margin.js
@@ -0,0 +1,64 @@
+// Generated by CoffeeScript 1.9.3
+var Margin, MarginBottom, MarginLeft, MarginRight, MarginTop, _Declaration,
+ extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },
+ hasProp = {}.hasOwnProperty;
+
+_Declaration = require('./_Declaration');
+
+MarginTop = require('./MarginTop');
+
+MarginLeft = require('./MarginLeft');
+
+MarginRight = require('./MarginRight');
+
+MarginBottom = require('./MarginBottom');
+
+module.exports = Margin = (function(superClass) {
+ var self;
+
+ extend(Margin, superClass);
+
+ function Margin() {
+ return Margin.__super__.constructor.apply(this, arguments);
+ }
+
+ self = Margin;
+
+ Margin.setOnto = function(declarations, prop, originalValue) {
+ var append, val, vals;
+ append = '';
+ val = _Declaration.sanitizeValue(originalValue);
+ if (_Declaration.importantClauseRx.test(String(val))) {
+ append = ' !important';
+ val = val.replace(_Declaration.importantClauseRx, '');
+ }
+ val = val.trim();
+ if (val.length === 0) {
+ return self._setAllDirections(declarations, append, append, append, append);
+ }
+ vals = val.split(" ").map(function(val) {
+ return val + append;
+ });
+ if (vals.length === 1) {
+ return self._setAllDirections(declarations, vals[0], vals[0], vals[0], vals[0]);
+ } else if (vals.length === 2) {
+ return self._setAllDirections(declarations, vals[0], vals[1], vals[0], vals[1]);
+ } else if (vals.length === 3) {
+ return self._setAllDirections(declarations, vals[0], vals[1], vals[2], vals[1]);
+ } else if (vals.length === 4) {
+ return self._setAllDirections(declarations, vals[0], vals[1], vals[2], vals[3]);
+ } else {
+ throw Error("Can't understand value for margin: `" + originalValue + "`");
+ }
+ };
+
+ Margin._setAllDirections = function(declarations, top, right, bottom, left) {
+ MarginTop.setOnto(declarations, 'marginTop', top);
+ MarginTop.setOnto(declarations, 'marginRight', right);
+ MarginTop.setOnto(declarations, 'marginBottom', bottom);
+ MarginTop.setOnto(declarations, 'marginLeft', left);
+ };
+
+ return Margin;
+
+})(_Declaration);