summaryrefslogtreecommitdiff
path: root/node_modules/autoprefixer/lib/hacks/cross-fade.js
diff options
context:
space:
mode:
authorPhilipp Tanlak <philipp.tanlak@gmail.com>2025-11-24 20:54:57 +0100
committerPhilipp Tanlak <philipp.tanlak@gmail.com>2025-11-24 20:57:48 +0100
commitb1e2c8fd5cb5dfa46bc440a12eafaf56cd844b1c (patch)
tree49d360fd6cbc6a2754efe93524ac47ff0fbe0f7d /node_modules/autoprefixer/lib/hacks/cross-fade.js
Docs
Diffstat (limited to 'node_modules/autoprefixer/lib/hacks/cross-fade.js')
-rw-r--r--node_modules/autoprefixer/lib/hacks/cross-fade.js35
1 files changed, 35 insertions, 0 deletions
diff --git a/node_modules/autoprefixer/lib/hacks/cross-fade.js b/node_modules/autoprefixer/lib/hacks/cross-fade.js
new file mode 100644
index 0000000..caaa90d
--- /dev/null
+++ b/node_modules/autoprefixer/lib/hacks/cross-fade.js
@@ -0,0 +1,35 @@
+let list = require('postcss').list
+
+let Value = require('../value')
+
+class CrossFade extends Value {
+ replace(string, prefix) {
+ return list
+ .space(string)
+ .map(value => {
+ if (value.slice(0, +this.name.length + 1) !== this.name + '(') {
+ return value
+ }
+
+ let close = value.lastIndexOf(')')
+ let after = value.slice(close + 1)
+ let args = value.slice(this.name.length + 1, close)
+
+ if (prefix === '-webkit-') {
+ let match = args.match(/\d*.?\d+%?/)
+ if (match) {
+ args = args.slice(match[0].length).trim()
+ args += `, ${match[0]}`
+ } else {
+ args += ', 0.5'
+ }
+ }
+ return prefix + this.name + '(' + args + ')' + after
+ })
+ .join(' ')
+ }
+}
+
+CrossFade.names = ['cross-fade']
+
+module.exports = CrossFade