aboutsummaryrefslogtreecommitdiff
path: root/node_modules/renderkid/lib/renderKid/styles/rule/declarationBlock/Margin.js
diff options
context:
space:
mode:
authorruki <waruqi@gmail.com>2018-11-08 00:38:48 +0800
committerruki <waruqi@gmail.com>2018-11-07 21:53:09 +0800
commit26105034da4fcce7ac883c899d781f016559310d (patch)
treec459a5dc4e3aa0972d9919033ece511ce76dd129 /node_modules/renderkid/lib/renderKid/styles/rule/declarationBlock/Margin.js
parent2c77f00f1a7ecb6c8192f9c16d3b2001b254a107 (diff)
downloadxmake-docs-26105034da4fcce7ac883c899d781f016559310d.tar.gz
xmake-docs-26105034da4fcce7ac883c899d781f016559310d.zip
switch to vuepress
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 00000000..6dfe0764
--- /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);