summaryrefslogtreecommitdiff
path: root/node_modules/postcss-calc/dist
diff options
context:
space:
mode:
authorlittleblack111 <littleblack11111@gmail.com>2023-11-05 17:23:37 +0800
committerlittleblack111 <littleblack11111@gmail.com>2023-11-05 17:23:37 +0800
commit2cdf0cb352ab6a2d0f8cb25120e4ebc92c5316e3 (patch)
tree6b088c99810bd013f17b80522c936ca6dfc09858 /node_modules/postcss-calc/dist
parentf8ee6ef722e6c560c4a1c879e04dbdf0b01f0316 (diff)
removed autoprefix hover as it will have a high chance of making hover stopped working
Diffstat (limited to 'node_modules/postcss-calc/dist')
-rw-r--r--node_modules/postcss-calc/dist/index.js34
-rw-r--r--node_modules/postcss-calc/dist/lib/transform.js67
2 files changed, 101 insertions, 0 deletions
diff --git a/node_modules/postcss-calc/dist/index.js b/node_modules/postcss-calc/dist/index.js
new file mode 100644
index 00000000..eb366d7b
--- /dev/null
+++ b/node_modules/postcss-calc/dist/index.js
@@ -0,0 +1,34 @@
+'use strict';
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+
+var _postcss = require('postcss');
+
+var _transform = require('./lib/transform');
+
+var _transform2 = _interopRequireDefault(_transform);
+
+function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+exports.default = (0, _postcss.plugin)('postcss-calc', function (opts) {
+ var options = Object.assign({
+ precision: 5,
+ preserve: false,
+ warnWhenCannotResolve: false,
+ mediaQueries: false,
+ selectors: false
+ }, opts);
+
+ return function (css, result) {
+ css.walk(function (node) {
+ var type = node.type;
+
+ if (type === 'decl') (0, _transform2.default)(node, "value", options, result);
+ if (type === 'atrule' && options.mediaQueries) (0, _transform2.default)(node, "params", options, result);
+ if (type === 'rule' && options.selectors) (0, _transform2.default)(node, "selector", options, result);
+ });
+ };
+});
+module.exports = exports['default']; \ No newline at end of file
diff --git a/node_modules/postcss-calc/dist/lib/transform.js b/node_modules/postcss-calc/dist/lib/transform.js
new file mode 100644
index 00000000..1a4505f9
--- /dev/null
+++ b/node_modules/postcss-calc/dist/lib/transform.js
@@ -0,0 +1,67 @@
+'use strict';
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+
+var _postcssSelectorParser = require('postcss-selector-parser');
+
+var _postcssSelectorParser2 = _interopRequireDefault(_postcssSelectorParser);
+
+var _reduceCssCalc = require('reduce-css-calc');
+
+var _reduceCssCalc2 = _interopRequireDefault(_reduceCssCalc);
+
+function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+var MATCH_CALC = /((?:\-[a-z]+\-)?calc)/;
+
+function transformValue(value, options, result, item) {
+ if (!value) {
+ return value;
+ }
+
+ var reduced = (0, _reduceCssCalc2.default)(value, options.precision);
+ // if the warnWhenCannotResolve option is on, inform the user that the calc
+ // expression could not be resolved to a single value
+ if (options.warnWhenCannotResolve && MATCH_CALC.test(reduced)) {
+ result.warn("Could not reduce expression: " + value, { plugin: 'postcss-calc', node: item });
+ }
+
+ return reduced;
+}
+
+function transformSelector(value, options, result, item) {
+ return (0, _postcssSelectorParser2.default)(function (selectors) {
+ selectors.walk(function (node) {
+ // attribute value
+ // e.g. the "calc(3*3)" part of "div[data-size="calc(3*3)"]"
+ if (node.type === 'attribute') {
+ var val = transformValue(node.raws.unquoted, options, result, item);
+ node.value = node.quoted ? '"' + val + '"' : val;
+ }
+
+ // tag value
+ // e.g. the "calc(3*3)" part of "div:nth-child(2n + calc(3*3))"
+ if (node.type === 'tag') node.value = transformValue(node.value, options, result, item);
+
+ return;
+ });
+ }).process(value).result.toString();
+}
+
+exports.default = function (node, property, options, result) {
+ var value = property === "selector" ? transformSelector(node[property], options, result, node) : transformValue(node[property], options, result, node);
+
+ // if the preserve option is enabled and the value has changed, write the
+ // transformed value into a cloned node which is inserted before the current
+ // node, preserving the original value. Otherwise, overwrite the original
+ // value.
+ if (options.preserve && node[property] !== value) {
+ var clone = node.clone();
+ clone[property] = value;
+ node.parent.insertBefore(node, clone);
+ } else node[property] = value;
+};
+
+module.exports = exports['default']; \ No newline at end of file