css-blank-pseudo
Advanced tools
Comparing version 1.0.0 to 2.0.0
@@ -1,2 +0,2 @@ | ||
function cssBlankPseudo(e,t){var n=Object(t).className,r=Object(t).attr||"blank",o=Object(t).force;try{if(e.querySelector(":blank"),!o)return}catch(e){}var a,i,s,c=(e.ownerDocument||e).defaultView;d(c.HTMLInputElement),d(c.HTMLSelectElement),d(c.HTMLTextAreaElement),a=c.HTMLOptionElement,i=Object.getOwnPropertyDescriptor(a.prototype,"selected"),s=i.set,i.set=function(t){s.apply(this,arguments);var n=e.createEvent("Event");n.initEvent("change",!0,!0),this.dispatchEvent(n)},Object.defineProperty(a.prototype,"selected",i);var l=/^(INPUT|SELECT|TEXTAREA)$/;function p(){this.value||"SELECT"===this.nodeName&&this.options[this.selectedIndex].value?(r&&this.removeAttribute(r),n&&this.classList.remove(n),this.removeAttribute("blank")):(r&&this.setAttribute("blank",r),n&&this.classList.add(n))}function d(e){var t=Object.getOwnPropertyDescriptor(e.prototype,"value"),n=t.set;t.set=function(e){n.apply(this,arguments),p.apply(this)},Object.defineProperty(e.prototype,"value",t)}Array.prototype.forEach.call(e.querySelectorAll("INPUT,SELECT,TEXTAREA"),function(e){"SELECT"===e.nodeName?e.addEventListener("change",p):e.addEventListener("input",p),p.call(e)}),new MutationObserver(function(e){e.forEach(function(e){Array.prototype.forEach.call(e.addedNodes||[],function(e){1===e.nodeType&&l.test(e.nodeName)&&("SELECT"===e.nodeName?e.addEventListener("change",p):e.addEventListener("input",p),p.call(e))}),Array.prototype.forEach.call(e.removedNodes||[],function(e){1===e.nodeType&&l.test(e.nodeName)&&("SELECT"===e.nodeName?e.removeEventListener("change",p):e.removeEventListener("input",p))})})}).observe(e,{childList:!0,subtree:!0})} | ||
//# sourceMappingURL=browser-legacy.js.map |
@@ -1,2 +0,2 @@ | ||
function cssBlankPseudo(e,t){var r=Object(t).className,n=Object(t).attr||"blank",o=Object(t).force;try{if(e.querySelector(":blank"),!o)return}catch(e){}var a=(e.ownerDocument||e).defaultView;i(a.HTMLInputElement),i(a.HTMLSelectElement),i(a.HTMLTextAreaElement);var c="input,select,textarea";function s(){this.value?(n&&this.removeAttribute(n),r&&this.classList.remove(r),this.removeAttribute("blank")):(n&&this.setAttribute("blank",n),r&&this.classList.add(r))}function i(e){var t=Object.getOwnPropertyDescriptor(e.prototype,"value"),r=t.set;t.set=function(e){r.apply(this,arguments),s.apply(this)},Object.defineProperty(e.prototype,"value",t)}Array.prototype.forEach.call(e.querySelectorAll(c),function(e){e.addEventListener("input",s),s.call(e)}),new MutationObserver(function(e){e.forEach(function(e){e.addedNodes&&e.addedNodes.forEach(function(e){1===e.nodeType&&e.matches(c)&&(e.addEventListener("input",s),s.call(e))}),e.removedNodes&&e.removedNodes.forEach(function(e){1===e.nodeType&&e.matches(c)&&e.removeEventListener("input",s)})})}).observe(e,{childList:!0,subtree:!0})} | ||
//# sourceMappingURL=browser.js.map |
51
cli.js
#!/usr/bin/env node | ||
function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } | ||
var fs = require('fs'); | ||
var fs = _interopDefault(require('fs')); | ||
var postcss = _interopDefault(require('postcss')); | ||
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } | ||
var fs__default = /*#__PURE__*/_interopDefaultLegacy(fs); | ||
const selectorRegExp = /:blank([^\w-]|$)/gi; | ||
var plugin = postcss.plugin('css-blank-pseudo', opts => { | ||
const creator = opts => { | ||
const replaceWith = String(Object(opts).replaceWith || '[blank]'); | ||
const preserve = Boolean('preserve' in Object(opts) ? opts.preserve : true); | ||
return root => { | ||
root.walkRules(selectorRegExp, rule => { | ||
const selector = rule.selector.replace(selectorRegExp, ($0, $1) => { | ||
return `${replaceWith}${$1}`; | ||
return { | ||
postcssPlugin: 'css-blank-pseudo', | ||
Once: root => { | ||
root.walkRules(selectorRegExp, rule => { | ||
const selector = rule.selector.replace(selectorRegExp, ($0, $1) => { | ||
return `${replaceWith}${$1}`; | ||
}); | ||
const clone = rule.clone({ | ||
selector | ||
}); | ||
if (preserve) { | ||
rule.before(clone); | ||
} else { | ||
rule.replaceWith(clone); | ||
} | ||
}); | ||
const clone = rule.clone({ | ||
selector | ||
}); | ||
if (preserve) { | ||
rule.before(clone); | ||
} else { | ||
rule.replaceWith(clone); | ||
} | ||
}); | ||
} | ||
}; | ||
}); | ||
}; | ||
creator.postcss = true; | ||
if (process.argv.length < 3) { | ||
@@ -69,3 +76,3 @@ console.log(['CSS Blank Pseudo\n', ' Transforms CSS with :blank {}\n', 'Usage:\n', ' css-blank-pseudo source.css transformed.css', ' css-blank-pseudo --in=source.css --out=transformed.css --opts={}', ' echo "@media (prefers-color-scheme: dark) {}" | css-blank-pseudo\n'].join('\n')); | ||
} : {}); | ||
const result = plugin.process(css, processOptions, pluginOpts); | ||
const result = creator.process(css, processOptions, pluginOpts); | ||
@@ -87,3 +94,3 @@ if (argo.to === '<stdout>') { | ||
return new Promise((resolve, reject) => { | ||
fs.readFile(pathname, 'utf8', (error, data) => { | ||
fs__default['default'].readFile(pathname, 'utf8', (error, data) => { | ||
if (error) { | ||
@@ -100,3 +107,3 @@ reject(error); | ||
return new Promise((resolve, reject) => { | ||
fs.writeFile(pathname, data, (error, content) => { | ||
fs__default['default'].writeFile(pathname, data, (error, content) => { | ||
if (error) { | ||
@@ -103,0 +110,0 @@ reject(error); |
@@ -15,5 +15,5 @@ 'use strict'; | ||
} | ||
} catch (ignoredError) {} | ||
/* do nothing and continue */ | ||
// observe value changes on <input>, <select>, and <textarea> | ||
} catch (ignoredError) { | ||
/* do nothing and continue */ | ||
} // observe value changes on <input>, <select>, and <textarea> | ||
@@ -20,0 +20,0 @@ |
@@ -15,5 +15,5 @@ 'use strict'; | ||
} | ||
} catch (ignoredError) {} | ||
/* do nothing and continue */ | ||
// observe value changes on <input>, <select>, and <textarea> | ||
} catch (ignoredError) { | ||
/* do nothing and continue */ | ||
} // observe value changes on <input>, <select>, and <textarea> | ||
@@ -20,0 +20,0 @@ |
{ | ||
"name": "css-blank-pseudo", | ||
"version": "1.0.0", | ||
"version": "2.0.0", | ||
"description": "Style form elements when they are empty", | ||
@@ -45,18 +45,18 @@ "author": "Jonathan Neal <jonathantneal@hotmail.com>", | ||
"engines": { | ||
"node": ">=8.0.0" | ||
"node": ">=10.0.0" | ||
}, | ||
"dependencies": { | ||
"postcss": "^7.0.17" | ||
"peerDependencies": { | ||
"postcss": "^8.3" | ||
}, | ||
"devDependencies": { | ||
"@babel/core": "^7.4.5", | ||
"@babel/preset-env": "^7.4.5", | ||
"babel-eslint": "^10.0.1", | ||
"cross-env": "^5.2.0", | ||
"eslint": "^5.16.0", | ||
"postcss-tape": "^5.0.0", | ||
"@babel/core": "^7.15.5", | ||
"@babel/preset-env": "^7.15.6", | ||
"@rollup/plugin-babel": "^5.3.0", | ||
"cross-env": "^7.0.3", | ||
"eslint": "^7.32.0", | ||
"postcss": "^8.3.6", | ||
"postcss-tape": "^6.0.1", | ||
"pre-commit": "^1.2.2", | ||
"rollup": "^1.14.6", | ||
"rollup-plugin-babel": "^4.3.2", | ||
"rollup-plugin-terser": "^5.0.0" | ||
"rollup": "^2.56.3", | ||
"rollup-plugin-terser": "^7.0.2" | ||
}, | ||
@@ -69,15 +69,6 @@ "eslintConfig": { | ||
}, | ||
"extends": "eslint:recommended", | ||
"parser": "babel-eslint", | ||
"parserOptions": { | ||
"ecmaVersion": 2018, | ||
"impliedStrict": true, | ||
"sourceType": "module" | ||
}, | ||
"root": true, | ||
"rules": { | ||
"no-console": [ | ||
0 | ||
] | ||
} | ||
"root": true | ||
}, | ||
@@ -84,0 +75,0 @@ "keywords": [ |
'use strict'; | ||
function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } | ||
const selectorRegExp = /:blank([^\w-]|$)/gi; | ||
var postcss$1 = _interopDefault(require('postcss')); | ||
const selectorRegExp = /:blank([^\w-]|$)/gi; | ||
var postcss = postcss$1.plugin('css-blank-pseudo', opts => { | ||
const creator = opts => { | ||
const replaceWith = String(Object(opts).replaceWith || '[blank]'); | ||
const preserve = Boolean('preserve' in Object(opts) ? opts.preserve : true); | ||
return root => { | ||
root.walkRules(selectorRegExp, rule => { | ||
const selector = rule.selector.replace(selectorRegExp, ($0, $1) => { | ||
return `${replaceWith}${$1}`; | ||
return { | ||
postcssPlugin: 'css-blank-pseudo', | ||
Once: root => { | ||
root.walkRules(selectorRegExp, rule => { | ||
const selector = rule.selector.replace(selectorRegExp, ($0, $1) => { | ||
return `${replaceWith}${$1}`; | ||
}); | ||
const clone = rule.clone({ | ||
selector | ||
}); | ||
if (preserve) { | ||
rule.before(clone); | ||
} else { | ||
rule.replaceWith(clone); | ||
} | ||
}); | ||
const clone = rule.clone({ | ||
selector | ||
}); | ||
if (preserve) { | ||
rule.before(clone); | ||
} else { | ||
rule.replaceWith(clone); | ||
} | ||
}); | ||
} | ||
}; | ||
}); | ||
}; | ||
module.exports = postcss; | ||
creator.postcss = true; | ||
module.exports = creator; | ||
//# sourceMappingURL=postcss.js.map |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
63416
18
519
+ Addednanoid@3.3.7(transitive)
+ Addedpicocolors@1.1.1(transitive)
+ Addedpostcss@8.4.47(transitive)
+ Addedsource-map-js@1.2.1(transitive)
- Removedpostcss@^7.0.17
- Removedpicocolors@0.2.1(transitive)
- Removedpostcss@7.0.39(transitive)
- Removedsource-map@0.6.1(transitive)