Security upgrades
This commit is contained in:
185
node_modules/jss-plugin-global/dist/jss-plugin-global.esm.js
generated
vendored
Normal file
185
node_modules/jss-plugin-global/dist/jss-plugin-global.esm.js
generated
vendored
Normal file
@@ -0,0 +1,185 @@
|
||||
import _extends from '@babel/runtime/helpers/esm/extends';
|
||||
import { RuleList } from 'jss';
|
||||
|
||||
var at = '@global';
|
||||
var atPrefix = '@global ';
|
||||
|
||||
var GlobalContainerRule =
|
||||
/*#__PURE__*/
|
||||
function () {
|
||||
function GlobalContainerRule(key, styles, options) {
|
||||
this.type = 'global';
|
||||
this.at = at;
|
||||
this.rules = void 0;
|
||||
this.options = void 0;
|
||||
this.key = void 0;
|
||||
this.isProcessed = false;
|
||||
this.key = key;
|
||||
this.options = options;
|
||||
this.rules = new RuleList(_extends({}, options, {
|
||||
parent: this
|
||||
}));
|
||||
|
||||
for (var selector in styles) {
|
||||
this.rules.add(selector, styles[selector]);
|
||||
}
|
||||
|
||||
this.rules.process();
|
||||
}
|
||||
/**
|
||||
* Get a rule.
|
||||
*/
|
||||
|
||||
|
||||
var _proto = GlobalContainerRule.prototype;
|
||||
|
||||
_proto.getRule = function getRule(name) {
|
||||
return this.rules.get(name);
|
||||
}
|
||||
/**
|
||||
* Create and register rule, run plugins.
|
||||
*/
|
||||
;
|
||||
|
||||
_proto.addRule = function addRule(name, style, options) {
|
||||
var rule = this.rules.add(name, style, options);
|
||||
this.options.jss.plugins.onProcessRule(rule);
|
||||
return rule;
|
||||
}
|
||||
/**
|
||||
* Get index of a rule.
|
||||
*/
|
||||
;
|
||||
|
||||
_proto.indexOf = function indexOf(rule) {
|
||||
return this.rules.indexOf(rule);
|
||||
}
|
||||
/**
|
||||
* Generates a CSS string.
|
||||
*/
|
||||
;
|
||||
|
||||
_proto.toString = function toString() {
|
||||
return this.rules.toString();
|
||||
};
|
||||
|
||||
return GlobalContainerRule;
|
||||
}();
|
||||
|
||||
var GlobalPrefixedRule =
|
||||
/*#__PURE__*/
|
||||
function () {
|
||||
function GlobalPrefixedRule(key, style, options) {
|
||||
this.type = 'global';
|
||||
this.at = at;
|
||||
this.options = void 0;
|
||||
this.rule = void 0;
|
||||
this.isProcessed = false;
|
||||
this.key = void 0;
|
||||
this.key = key;
|
||||
this.options = options;
|
||||
var selector = key.substr(atPrefix.length);
|
||||
this.rule = options.jss.createRule(selector, style, _extends({}, options, {
|
||||
parent: this
|
||||
}));
|
||||
}
|
||||
|
||||
var _proto2 = GlobalPrefixedRule.prototype;
|
||||
|
||||
_proto2.toString = function toString(options) {
|
||||
return this.rule ? this.rule.toString(options) : '';
|
||||
};
|
||||
|
||||
return GlobalPrefixedRule;
|
||||
}();
|
||||
|
||||
var separatorRegExp = /\s*,\s*/g;
|
||||
|
||||
function addScope(selector, scope) {
|
||||
var parts = selector.split(separatorRegExp);
|
||||
var scoped = '';
|
||||
|
||||
for (var i = 0; i < parts.length; i++) {
|
||||
scoped += scope + " " + parts[i].trim();
|
||||
if (parts[i + 1]) scoped += ', ';
|
||||
}
|
||||
|
||||
return scoped;
|
||||
}
|
||||
|
||||
function handleNestedGlobalContainerRule(rule) {
|
||||
var options = rule.options,
|
||||
style = rule.style;
|
||||
var rules = style ? style[at] : null;
|
||||
if (!rules) return;
|
||||
|
||||
for (var name in rules) {
|
||||
options.sheet.addRule(name, rules[name], _extends({}, options, {
|
||||
selector: addScope(name, rule.selector)
|
||||
}));
|
||||
}
|
||||
|
||||
delete style[at];
|
||||
}
|
||||
|
||||
function handlePrefixedGlobalRule(rule) {
|
||||
var options = rule.options,
|
||||
style = rule.style;
|
||||
|
||||
for (var prop in style) {
|
||||
if (prop[0] !== '@' || prop.substr(0, at.length) !== at) continue;
|
||||
var selector = addScope(prop.substr(at.length), rule.selector);
|
||||
options.sheet.addRule(selector, style[prop], _extends({}, options, {
|
||||
selector: selector
|
||||
}));
|
||||
delete style[prop];
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Convert nested rules to separate, remove them from original styles.
|
||||
*
|
||||
* @param {Rule} rule
|
||||
* @api public
|
||||
*/
|
||||
|
||||
|
||||
function jssGlobal() {
|
||||
function onCreateRule(name, styles, options) {
|
||||
if (!name) return null;
|
||||
|
||||
if (name === at) {
|
||||
return new GlobalContainerRule(name, styles, options);
|
||||
}
|
||||
|
||||
if (name[0] === '@' && name.substr(0, atPrefix.length) === atPrefix) {
|
||||
return new GlobalPrefixedRule(name, styles, options);
|
||||
}
|
||||
|
||||
var parent = options.parent;
|
||||
|
||||
if (parent) {
|
||||
if (parent.type === 'global' || parent.options.parent && parent.options.parent.type === 'global') {
|
||||
options.scoped = false;
|
||||
}
|
||||
}
|
||||
|
||||
if (options.scoped === false) {
|
||||
options.selector = name;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
function onProcessRule(rule) {
|
||||
if (rule.type !== 'style') return;
|
||||
handleNestedGlobalContainerRule(rule);
|
||||
handlePrefixedGlobalRule(rule);
|
||||
}
|
||||
|
||||
return {
|
||||
onCreateRule: onCreateRule,
|
||||
onProcessRule: onProcessRule
|
||||
};
|
||||
}
|
||||
|
||||
export default jssGlobal;
|
||||
Reference in New Issue
Block a user