summaryrefslogtreecommitdiff
path: root/school/node_modules/cssstyle/lib/properties/margin.js
diff options
context:
space:
mode:
Diffstat (limited to 'school/node_modules/cssstyle/lib/properties/margin.js')
-rw-r--r--school/node_modules/cssstyle/lib/properties/margin.js68
1 files changed, 68 insertions, 0 deletions
diff --git a/school/node_modules/cssstyle/lib/properties/margin.js b/school/node_modules/cssstyle/lib/properties/margin.js
new file mode 100644
index 0000000..2a8f972
--- /dev/null
+++ b/school/node_modules/cssstyle/lib/properties/margin.js
@@ -0,0 +1,68 @@
+'use strict';
+
+var parsers = require('../parsers.js');
+var TYPES = parsers.TYPES;
+
+var isValid = function(v) {
+ if (v.toLowerCase() === 'auto') {
+ return true;
+ }
+ var type = parsers.valueType(v);
+ return (
+ type === TYPES.LENGTH ||
+ type === TYPES.PERCENT ||
+ (type === TYPES.INTEGER && (v === '0' || v === 0))
+ );
+};
+
+var parser = function(v) {
+ var V = v.toLowerCase();
+ if (V === 'auto') {
+ return V;
+ }
+ return parsers.parseMeasurement(v);
+};
+
+var mySetter = parsers.implicitSetter('margin', '', isValid, parser);
+var myGlobal = parsers.implicitSetter(
+ 'margin',
+ '',
+ function() {
+ return true;
+ },
+ function(v) {
+ return v;
+ }
+);
+
+module.exports.definition = {
+ set: function(v) {
+ if (typeof v === 'number') {
+ v = String(v);
+ }
+ if (typeof v !== 'string') {
+ return;
+ }
+ var V = v.toLowerCase();
+ switch (V) {
+ case 'inherit':
+ case 'initial':
+ case 'unset':
+ case '':
+ myGlobal.call(this, V);
+ break;
+
+ default:
+ mySetter.call(this, v);
+ break;
+ }
+ },
+ get: function() {
+ return this.getPropertyValue('margin');
+ },
+ enumerable: true,
+ configurable: true,
+};
+
+module.exports.isValid = isValid;
+module.exports.parser = parser;