Complete Email Sortierer implementation with Appwrite and Stripe integration
This commit is contained in:
125
server/node_modules/@acemir/cssom/lib/CSSPageRule.js
generated
vendored
Normal file
125
server/node_modules/@acemir/cssom/lib/CSSPageRule.js
generated
vendored
Normal file
@@ -0,0 +1,125 @@
|
||||
//.CommonJS
|
||||
var CSSOM = {
|
||||
CSSStyleDeclaration: require("./CSSStyleDeclaration").CSSStyleDeclaration,
|
||||
CSSRule: require("./CSSRule").CSSRule,
|
||||
CSSRuleList: require("./CSSRuleList").CSSRuleList,
|
||||
CSSGroupingRule: require("./CSSGroupingRule").CSSGroupingRule,
|
||||
};
|
||||
var regexPatterns = require("./regexPatterns").regexPatterns;
|
||||
// Use cssstyle if available
|
||||
try {
|
||||
CSSOM.CSSStyleDeclaration = require("cssstyle").CSSStyleDeclaration;
|
||||
} catch (e) {
|
||||
// ignore
|
||||
}
|
||||
///CommonJS
|
||||
|
||||
|
||||
/**
|
||||
* @constructor
|
||||
* @see https://drafts.csswg.org/cssom/#the-csspagerule-interface
|
||||
*/
|
||||
CSSOM.CSSPageRule = function CSSPageRule() {
|
||||
CSSOM.CSSGroupingRule.call(this);
|
||||
this.__style = new CSSOM.CSSStyleDeclaration();
|
||||
this.__style.parentRule = this;
|
||||
};
|
||||
|
||||
CSSOM.CSSPageRule.prototype = Object.create(CSSOM.CSSGroupingRule.prototype);
|
||||
CSSOM.CSSPageRule.prototype.constructor = CSSOM.CSSPageRule;
|
||||
|
||||
Object.setPrototypeOf(CSSOM.CSSPageRule, CSSOM.CSSGroupingRule);
|
||||
|
||||
Object.defineProperty(CSSOM.CSSPageRule.prototype, "type", {
|
||||
value: 6,
|
||||
writable: false
|
||||
});
|
||||
|
||||
Object.defineProperty(CSSOM.CSSPageRule.prototype, "selectorText", {
|
||||
get: function() {
|
||||
return this.__selectorText;
|
||||
},
|
||||
set: function(value) {
|
||||
if (typeof value === "string") {
|
||||
var trimmedValue = value.trim();
|
||||
|
||||
// Empty selector is valid for @page
|
||||
if (trimmedValue === '') {
|
||||
this.__selectorText = '';
|
||||
return;
|
||||
}
|
||||
|
||||
var atPageRuleSelectorRegExp = regexPatterns.atPageRuleSelectorRegExp;
|
||||
var cssCustomIdentifierRegExp = regexPatterns.cssCustomIdentifierRegExp;
|
||||
var match = trimmedValue.match(atPageRuleSelectorRegExp);
|
||||
if (match) {
|
||||
var pageName = match[1] || '';
|
||||
var pseudoPages = match[2] || '';
|
||||
|
||||
// Validate page name if present
|
||||
if (pageName) {
|
||||
// Page name can be an identifier or a string
|
||||
if (!cssCustomIdentifierRegExp.test(pageName)) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Validate pseudo-pages if present
|
||||
if (pseudoPages) {
|
||||
var pseudos = pseudoPages.split(':').filter(function(p) { return p; });
|
||||
var validPseudos = ['left', 'right', 'first', 'blank'];
|
||||
var allValid = true;
|
||||
for (var j = 0; j < pseudos.length; j++) {
|
||||
if (validPseudos.indexOf(pseudos[j].toLowerCase()) === -1) {
|
||||
allValid = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!allValid) {
|
||||
return; // Invalid pseudo-page, do nothing
|
||||
}
|
||||
}
|
||||
|
||||
this.__selectorText = pageName + pseudoPages.toLowerCase();
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
Object.defineProperty(CSSOM.CSSPageRule.prototype, "style", {
|
||||
get: function() {
|
||||
return this.__style;
|
||||
},
|
||||
set: function(value) {
|
||||
if (typeof value === "string") {
|
||||
this.__style.cssText = value;
|
||||
} else {
|
||||
this.__style = value;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
Object.defineProperty(CSSOM.CSSPageRule.prototype, "cssText", {
|
||||
get: function() {
|
||||
var values = "";
|
||||
if (this.cssRules.length) {
|
||||
var valuesArr = [" {"];
|
||||
this.style.cssText && valuesArr.push(this.style.cssText);
|
||||
valuesArr.push(this.cssRules.reduce(function(acc, rule){
|
||||
if (rule.cssText !== "") {
|
||||
acc.push(rule.cssText);
|
||||
}
|
||||
return acc;
|
||||
}, []).join("\n "));
|
||||
values = valuesArr.join("\n ") + "\n}";
|
||||
} else {
|
||||
values = " {" + (this.style.cssText ? " " + this.style.cssText : "") + " }";
|
||||
}
|
||||
return "@page" + (this.selectorText ? " " + this.selectorText : "") + values;
|
||||
}
|
||||
});
|
||||
|
||||
//.CommonJS
|
||||
exports.CSSPageRule = CSSOM.CSSPageRule;
|
||||
///CommonJS
|
||||
Reference in New Issue
Block a user