summaryrefslogtreecommitdiff
path: root/school/node_modules/cssstyle/lib/properties/clip.js
diff options
context:
space:
mode:
authorMinteck <contact@minteck.org>2023-01-10 14:54:04 +0100
committerMinteck <contact@minteck.org>2023-01-10 14:54:04 +0100
commit99c1d9af689e5325f3cf535c4007b3aeb8325229 (patch)
treee663b3c2ebdbd67c818ac0c5147f0ce1d2463cda /school/node_modules/cssstyle/lib/properties/clip.js
parent9871b03912fc28ad38b4037ebf26a78aa937baba (diff)
downloadpluralconnect-99c1d9af689e5325f3cf535c4007b3aeb8325229.tar.gz
pluralconnect-99c1d9af689e5325f3cf535c4007b3aeb8325229.tar.bz2
pluralconnect-99c1d9af689e5325f3cf535c4007b3aeb8325229.zip
Update - This is an automated commit
Diffstat (limited to 'school/node_modules/cssstyle/lib/properties/clip.js')
-rw-r--r--school/node_modules/cssstyle/lib/properties/clip.js47
1 files changed, 47 insertions, 0 deletions
diff --git a/school/node_modules/cssstyle/lib/properties/clip.js b/school/node_modules/cssstyle/lib/properties/clip.js
new file mode 100644
index 0000000..91ba675
--- /dev/null
+++ b/school/node_modules/cssstyle/lib/properties/clip.js
@@ -0,0 +1,47 @@
+'use strict';
+
+var parseMeasurement = require('../parsers').parseMeasurement;
+
+var shape_regex = /^rect\((.*)\)$/i;
+
+var parse = function(val) {
+ if (val === '' || val === null) {
+ return val;
+ }
+ if (typeof val !== 'string') {
+ return undefined;
+ }
+ val = val.toLowerCase();
+ if (val === 'auto' || val === 'inherit') {
+ return val;
+ }
+ var matches = val.match(shape_regex);
+ if (!matches) {
+ return undefined;
+ }
+ var parts = matches[1].split(/\s*,\s*/);
+ if (parts.length !== 4) {
+ return undefined;
+ }
+ var valid = parts.every(function(part, index) {
+ var measurement = parseMeasurement(part);
+ parts[index] = measurement;
+ return measurement !== undefined;
+ });
+ if (!valid) {
+ return undefined;
+ }
+ parts = parts.join(', ');
+ return val.replace(matches[1], parts);
+};
+
+module.exports.definition = {
+ set: function(v) {
+ this._setProperty('clip', parse(v));
+ },
+ get: function() {
+ return this.getPropertyValue('clip');
+ },
+ enumerable: true,
+ configurable: true,
+};