summaryrefslogtreecommitdiff
path: root/node_modules/stylehacks/src/plugins/important.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/stylehacks/src/plugins/important.js')
-rw-r--r--node_modules/stylehacks/src/plugins/important.js25
1 files changed, 25 insertions, 0 deletions
diff --git a/node_modules/stylehacks/src/plugins/important.js b/node_modules/stylehacks/src/plugins/important.js
new file mode 100644
index 00000000..ab3745c9
--- /dev/null
+++ b/node_modules/stylehacks/src/plugins/important.js
@@ -0,0 +1,25 @@
+'use strict';
+const BasePlugin = require('../plugin');
+const { IE_5_5, IE_6, IE_7 } = require('../dictionary/browsers');
+const { DECL } = require('../dictionary/postcss');
+
+module.exports = class Important extends BasePlugin {
+ /** @param {import('postcss').Result=} result */
+ constructor(result) {
+ super([IE_5_5, IE_6, IE_7], [DECL], result);
+ }
+ /**
+ * @param {import('postcss').Declaration} decl
+ * @return {void}
+ */
+ detect(decl) {
+ const match = decl.value.match(/!\w/);
+ if (match && match.index) {
+ const hack = decl.value.substr(match.index, decl.value.length - 1);
+ this.push(decl, {
+ identifier: '!important',
+ hack,
+ });
+ }
+ }
+};