Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: csstools/postcss-plugins
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: a8a682637542454e6ffe7b855e6abd178c70832e
Choose a base ref
...
head repository: csstools/postcss-plugins
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 4ff57056859f764f8ccc805fa9829a19dd542c5c
Choose a head ref
  • 10 commits
  • 36 files changed
  • 3 contributors

Commits on Apr 11, 2024

  1. Copy the full SHA
    d1f4ea5 View commit details
  2. @csstools/csstools-cli v3.0.14

    romainmenke committed Apr 11, 2024

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    661c50d View commit details

Commits on Apr 15, 2024

  1. Bump the all-dependencies group in /sites with 4 updates (#1361)

    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored Apr 15, 2024
    Copy the full SHA
    c256cfd View commit details
  2. Update postcss-preset-env requirement from ^9.5.4 to ^9.5.5 in /e2e-p…

    …ackage-managers/yarn in the all-dependencies group (#1362)
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored Apr 15, 2024
    Copy the full SHA
    df92fbf View commit details
  3. Bump the all-dependencies group in /e2e with 3 updates (#1363)

    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored Apr 15, 2024
    Copy the full SHA
    0c5da67 View commit details
  4. Bump the development-dependencies group with 11 updates (#1364)

    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    Co-authored-by: Romain Menke <romainmenke@gmail.com>
    dependabot[bot] and romainmenke authored Apr 15, 2024
    Copy the full SHA
    c13f67d View commit details

Commits on Apr 18, 2024

  1. fix possibly undefined property accessor (#1366)

    HannesT117 authored Apr 18, 2024
    Copy the full SHA
    6a451d6 View commit details
  2. css-blank-pseudo v6.0.2

    romainmenke committed Apr 18, 2024
    Copy the full SHA
    52780ab View commit details
  3. Copy the full SHA
    28e7d27 View commit details
  4. postcss-preset-env v9.5.6

    romainmenke committed Apr 18, 2024
    Copy the full SHA
    4ff5705 View commit details
Showing with 440 additions and 410 deletions.
  1. +7 −0 cli/csstools-cli/CHANGELOG.md
  2. +3 −3 cli/csstools-cli/package.json
  3. +1 −1 e2e-package-managers/yarn/package.json
  4. +21 −21 e2e/package-lock.json
  5. +1 −1 e2e/typescript/commonjs/package.json
  6. +1 −1 e2e/typescript/esm--node-next/package.json
  7. +1 −1 e2e/typescript/esm/package.json
  8. +2 −2 e2e/webpack/postcss-loader/package.json
  9. +258 −265 package-lock.json
  10. +7 −7 package.json
  11. +1 −1 packages/generate-test-cases/package.json
  12. +6 −0 plugin-packs/postcss-preset-env/CHANGELOG.md
  13. +3 −3 plugin-packs/postcss-preset-env/package.json
  14. +6 −0 plugins/css-blank-pseudo/CHANGELOG.md
  15. +1 −1 plugins/css-blank-pseudo/README.md
  16. +1 −1 plugins/css-blank-pseudo/dist/browser-global.js
  17. +1 −1 plugins/css-blank-pseudo/dist/browser-global.js.map
  18. +1 −1 plugins/css-blank-pseudo/dist/browser.cjs
  19. +1 −1 plugins/css-blank-pseudo/dist/browser.cjs.map
  20. +1 −1 plugins/css-blank-pseudo/dist/browser.mjs
  21. +1 −1 plugins/css-blank-pseudo/dist/browser.mjs.map
  22. +2 −2 plugins/css-blank-pseudo/package.json
  23. +1 −1 plugins/css-blank-pseudo/src/browser.js
  24. +8 −0 plugins/css-blank-pseudo/test/_browser.html
  25. +10 −0 plugins/css-blank-pseudo/test/_browser.mjs
  26. +1 −1 plugins/css-has-pseudo/package.json
  27. +1 −1 plugins/css-prefers-color-scheme/package.json
  28. +1 −1 plugins/postcss-cascade-layers/package.json
  29. +1 −1 plugins/postcss-focus-visible/package.json
  30. +1 −1 plugins/postcss-focus-within/package.json
  31. +1 −1 plugins/postcss-is-pseudo-class/package.json
  32. +1 −1 plugins/postcss-light-dark-function/package.json
  33. +1 −1 plugins/postcss-media-minmax/package.json
  34. +1 −1 plugins/postcss-nesting/package.json
  35. +81 −81 sites/package-lock.json
  36. +4 −4 sites/postcss-preset-env/package.json
7 changes: 7 additions & 0 deletions cli/csstools-cli/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -2,7 +2,14 @@

### Unreleased (patch)

- Updated [`css-blank-pseudo`](https://github.com/csstools/postcss-plugins/tree/main/plugins/css-blank-pseudo) to [`6.0.2`](https://github.com/csstools/postcss-plugins/tree/main/plugins/css-blank-pseudo/CHANGELOG.md#602) (patch)

### 3.0.14

_April 11, 2024_

- Updated [`postcss-custom-properties`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-custom-properties) to [`13.3.7`](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-custom-properties/CHANGELOG.md#1337) (patch)
- Updated [`postcss-preset-env`](https://github.com/csstools/postcss-plugins/tree/main/plugin-packs/postcss-preset-env) to [`9.5.5`](https://github.com/csstools/postcss-plugins/tree/main/plugin-packs/postcss-preset-env/CHANGELOG.md#955) (patch)

### 3.0.13

6 changes: 3 additions & 3 deletions cli/csstools-cli/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@csstools/csstools-cli",
"description": "Transform CSS with any plugin from csstools/postcss-plugins",
"version": "3.0.13",
"version": "3.0.14",
"contributors": [
{
"name": "Antonio Laguna",
@@ -62,7 +62,7 @@
"@csstools/postcss-text-decoration-shorthand": "^3.0.5",
"@csstools/postcss-trigonometric-functions": "^3.0.6",
"@csstools/postcss-unset-value": "^3.0.1",
"css-blank-pseudo": "^6.0.1",
"css-blank-pseudo": "^6.0.2",
"css-has-pseudo": "^6.0.3",
"css-prefers-color-scheme": "^9.0.1",
"postcss": "^8.4.38",
@@ -84,7 +84,7 @@
"postcss-nesting": "^12.1.1",
"postcss-overflow-shorthand": "^5.0.1",
"postcss-place": "^9.0.1",
"postcss-preset-env": "^9.5.4",
"postcss-preset-env": "^9.5.5",
"postcss-pseudo-class-any-link": "^9.0.1",
"postcss-selector-not": "^7.0.2"
},
2 changes: 1 addition & 1 deletion e2e-package-managers/yarn/package.json
Original file line number Diff line number Diff line change
@@ -5,7 +5,7 @@
"description": "Can you use yarn with our plugins?",
"devDependencies": {
"postcss": "^8.4.38",
"postcss-preset-env": "^9.5.4"
"postcss-preset-env": "^9.5.5"
},
"volta": {
"extends": "../../package.json",
42 changes: 21 additions & 21 deletions e2e/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion e2e/typescript/commonjs/package.json
Original file line number Diff line number Diff line change
@@ -9,7 +9,7 @@
},
"devDependencies": {
"postcss-preset-env": "file:../../../plugin-packs/postcss-preset-env",
"typescript": "^5.4.4"
"typescript": "^5.4.5"
},
"volta": {
"extends": "../../package.json"
2 changes: 1 addition & 1 deletion e2e/typescript/esm--node-next/package.json
Original file line number Diff line number Diff line change
@@ -10,6 +10,6 @@
},
"devDependencies": {
"postcss-preset-env": "file:../../../plugin-packs/postcss-preset-env",
"typescript": "^5.4.4"
"typescript": "^5.4.5"
}
}
2 changes: 1 addition & 1 deletion e2e/typescript/esm/package.json
Original file line number Diff line number Diff line change
@@ -9,7 +9,7 @@
},
"devDependencies": {
"postcss-preset-env": "file:../../../plugin-packs/postcss-preset-env",
"typescript": "^5.4.4"
"typescript": "^5.4.5"
},
"volta": {
"extends": "../../package.json"
4 changes: 2 additions & 2 deletions e2e/webpack/postcss-loader/package.json
Original file line number Diff line number Diff line change
@@ -12,8 +12,8 @@
"webpack": "^5.91.0",
"webpack-cli": "^5.1.3",
"postcss-loader": "^8.1.1",
"style-loader": "^3.3.4",
"css-loader": "^7.0.0",
"style-loader": "^4.0.0",
"css-loader": "^7.1.1",
"postcss-preset-env": "file:../../../plugin-packs/postcss-preset-env"
},
"volta": {
523 changes: 258 additions & 265 deletions package-lock.json

Large diffs are not rendered by default.

14 changes: 7 additions & 7 deletions package.json
Original file line number Diff line number Diff line change
@@ -28,21 +28,21 @@
"devDependencies": {
"@babel/core": "^7.24.4",
"@babel/preset-env": "^7.24.4",
"@microsoft/api-extractor": "^7.43.0",
"@microsoft/api-documenter": "^7.24.1",
"@microsoft/api-extractor": "^7.43.1",
"@microsoft/api-documenter": "^7.24.2",
"@rollup/plugin-babel": "^6.0.3",
"@rollup/plugin-commonjs": "^25.0.7",
"@rollup/plugin-node-resolve": "^15.2.3",
"@rollup/plugin-terser": "^0.4.3",
"@rollup/plugin-typescript": "^11.1.6",
"@stryker-mutator/core": "^8.2.6",
"@typescript-eslint/eslint-plugin": "^7.5.0",
"@typescript-eslint/parser": "^7.5.0",
"@typescript-eslint/eslint-plugin": "^7.6.0",
"@typescript-eslint/parser": "^7.6.0",
"eslint": "^8.57.0",
"knip": "^5.9.0",
"rollup": "^4.14.1",
"knip": "^5.9.4",
"rollup": "^4.14.2",
"tslib": "^2.6.2",
"typescript": "^5.4.4"
"typescript": "^5.4.5"
},
"scripts": {
"build": "npm run build --workspaces --if-present",
2 changes: 1 addition & 1 deletion packages/generate-test-cases/package.json
Original file line number Diff line number Diff line change
@@ -21,7 +21,7 @@
"type": "module",
"main": "src/index.mjs",
"devDependencies": {
"mdn-data": "^2.4.2"
"mdn-data": "^2.5.0"
},
"scripts": {
"build": "exit 0;",
6 changes: 6 additions & 0 deletions plugin-packs/postcss-preset-env/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# Changes to PostCSS Preset Env

### 9.5.6

_April 18, 2024_

- Updated [`css-blank-pseudo`](https://github.com/csstools/postcss-plugins/tree/main/plugins/css-blank-pseudo) to [`6.0.2`](https://github.com/csstools/postcss-plugins/tree/main/plugins/css-blank-pseudo/CHANGELOG.md#602) (patch)

### 9.5.5

_April 11, 2024_
6 changes: 3 additions & 3 deletions plugin-packs/postcss-preset-env/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "postcss-preset-env",
"description": "Convert modern CSS into something browsers understand",
"version": "9.5.5",
"version": "9.5.6",
"contributors": [
{
"name": "Antonio Laguna",
@@ -83,7 +83,7 @@
"@csstools/postcss-unset-value": "^3.0.1",
"autoprefixer": "^10.4.19",
"browserslist": "^4.22.3",
"css-blank-pseudo": "^6.0.1",
"css-blank-pseudo": "^6.0.2",
"css-has-pseudo": "^6.0.3",
"css-prefers-color-scheme": "^9.0.1",
"cssdb": "^8.0.0",
@@ -119,7 +119,7 @@
"devDependencies": {
"@csstools/postcss-bundler": "*",
"@csstools/postcss-tape": "*",
"@webref/css": "^6.12.6"
"@webref/css": "^6.12.7"
},
"scripts": {
"prebuild": "node ./scripts/generate-plugins-data.mjs && eslint --fix ./src/plugins/*.mjs",
6 changes: 6 additions & 0 deletions plugins/css-blank-pseudo/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# Changes to CSS Blank Pseudo

### 6.0.2

_April 18, 2024_

- Fix: Do not throw when a html select has the attribute "multiple" set.

### 6.0.1

_December 15, 2023_
2 changes: 1 addition & 1 deletion plugins/css-blank-pseudo/README.md
Original file line number Diff line number Diff line change
@@ -149,7 +149,7 @@ or

```html
<!-- When using a CDN url you will have to manually update the version number -->
<script src="https://unpkg.com/css-blank-pseudo@6.0.1/dist/browser-global.js"></script>
<script src="https://unpkg.com/css-blank-pseudo@6.0.2/dist/browser-global.js"></script>
<script>cssBlankPseudoInit()</script>
```

2 changes: 1 addition & 1 deletion plugins/css-blank-pseudo/dist/browser-global.js
2 changes: 1 addition & 1 deletion plugins/css-blank-pseudo/dist/browser-global.js.map

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion plugins/css-blank-pseudo/dist/browser.cjs
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
var e=[" ",">","~",":","+","@","#","(",")"];function isValidReplacement(t){for(var n=!0,r=0,o=e.length;r<o&&n;r++)t.indexOf(e[r])>-1&&(n=!1);return n}var t="js-blank-pseudo";function isFormControlElement(e){return"INPUT"===e.nodeName||"SELECT"===e.nodeName||"TEXTAREA"===e.nodeName}function createNewEvent(e){var t;return"function"==typeof Event?t=new Event(e,{bubbles:!0}):(t=document.createEvent("Event")).initEvent(e,!0,!1),t}function observeValueOfHTMLElement(e,t){var n=Object.getOwnPropertyDescriptor(e.prototype,"value"),r=n.set;n.set=function set(){r.apply(this,arguments),t({target:this})},Object.defineProperty(e.prototype,"value",n)}module.exports=function cssBlankPseudoInit(e){var n={force:!1,replaceWith:"[blank]"};if(void 0!==e&&"force"in e&&(n.force=e.force),void 0!==e&&"replaceWith"in e&&(n.replaceWith=e.replaceWith),!isValidReplacement(n.replaceWith))throw new Error(n.replaceWith+" is not a valid replacement since it can't be applied to single elements.");try{if(document.querySelector(":blank"),!n.force)return}catch(m){}var r,o,a,i,c,l,d,s=("."===(r=n.replaceWith)[0]?(o=r.slice(1),a=function remove(e){return e.classList.remove(o)},i=function add(e){return e.classList.add(o)}):(o=r.slice(1,-1),a=function remove(e){return e.removeAttribute(o,"")},i=function add(e){return e.setAttribute(o,"")}),function handleInputOrChangeEvent(e){var t=e.target;isFormControlElement(t)&&(("SELECT"===t.nodeName?t.options[t.selectedIndex].value:t.value)?a(t):i(t))}),u=function bindEvents(){document.body&&(document.body.addEventListener("change",s),document.body.addEventListener("input",s))},f=function updateAllCandidates(){Array.prototype.forEach.call(document.querySelectorAll("input, select, textarea"),(function(e){s({target:e})}))};if(document.body?u():window.addEventListener("load",u),-1===document.documentElement.className.indexOf(t)&&(document.documentElement.className+=" "+t),observeValueOfHTMLElement(self.HTMLInputElement,s),observeValueOfHTMLElement(self.HTMLSelectElement,s),observeValueOfHTMLElement(self.HTMLTextAreaElement,s),c=self.HTMLOptionElement,l=Object.getOwnPropertyDescriptor(c.prototype,"selected"),d=l.set,l.set=function set(e){d.apply(this,arguments);var t=createNewEvent("change");this.parentElement.dispatchEvent(t)},Object.defineProperty(c.prototype,"selected",l),f(),"undefined"!=typeof self.MutationObserver)new MutationObserver((function(e){e.forEach((function(e){Array.prototype.forEach.call(e.addedNodes||[],(function(e){1===e.nodeType&&isFormControlElement(e)&&s({target:e})}))}))})).observe(document,{childList:!0,subtree:!0});else{var p=function handleOnLoad(){return f()};window.addEventListener("load",p),window.addEventListener("DOMContentLoaded",p)}};
var e=[" ",">","~",":","+","@","#","(",")"];function isValidReplacement(t){for(var n=!0,r=0,o=e.length;r<o&&n;r++)t.indexOf(e[r])>-1&&(n=!1);return n}var t="js-blank-pseudo";function isFormControlElement(e){return"INPUT"===e.nodeName||"SELECT"===e.nodeName||"TEXTAREA"===e.nodeName}function createNewEvent(e){var t;return"function"==typeof Event?t=new Event(e,{bubbles:!0}):(t=document.createEvent("Event")).initEvent(e,!0,!1),t}function observeValueOfHTMLElement(e,t){var n=Object.getOwnPropertyDescriptor(e.prototype,"value"),r=n.set;n.set=function set(){r.apply(this,arguments),t({target:this})},Object.defineProperty(e.prototype,"value",n)}module.exports=function cssBlankPseudoInit(e){var n={force:!1,replaceWith:"[blank]"};if(void 0!==e&&"force"in e&&(n.force=e.force),void 0!==e&&"replaceWith"in e&&(n.replaceWith=e.replaceWith),!isValidReplacement(n.replaceWith))throw new Error(n.replaceWith+" is not a valid replacement since it can't be applied to single elements.");try{if(document.querySelector(":blank"),!n.force)return}catch(m){}var r,o,a,i,l,c,d,s=("."===(r=n.replaceWith)[0]?(o=r.slice(1),a=function remove(e){return e.classList.remove(o)},i=function add(e){return e.classList.add(o)}):(o=r.slice(1,-1),a=function remove(e){return e.removeAttribute(o,"")},i=function add(e){return e.setAttribute(o,"")}),function handleInputOrChangeEvent(e){var t,n=e.target;isFormControlElement(n)&&(("SELECT"===n.nodeName?null!=(t=n.options[n.selectedIndex])&&t.value:n.value)?a(n):i(n))}),u=function bindEvents(){document.body&&(document.body.addEventListener("change",s),document.body.addEventListener("input",s))},f=function updateAllCandidates(){Array.prototype.forEach.call(document.querySelectorAll("input, select, textarea"),(function(e){s({target:e})}))};if(document.body?u():window.addEventListener("load",u),-1===document.documentElement.className.indexOf(t)&&(document.documentElement.className+=" "+t),observeValueOfHTMLElement(self.HTMLInputElement,s),observeValueOfHTMLElement(self.HTMLSelectElement,s),observeValueOfHTMLElement(self.HTMLTextAreaElement,s),l=self.HTMLOptionElement,c=Object.getOwnPropertyDescriptor(l.prototype,"selected"),d=c.set,c.set=function set(e){d.apply(this,arguments);var t=createNewEvent("change");this.parentElement.dispatchEvent(t)},Object.defineProperty(l.prototype,"selected",c),f(),"undefined"!=typeof self.MutationObserver)new MutationObserver((function(e){e.forEach((function(e){Array.prototype.forEach.call(e.addedNodes||[],(function(e){1===e.nodeType&&isFormControlElement(e)&&s({target:e})}))}))})).observe(document,{childList:!0,subtree:!0});else{var p=function handleOnLoad(){return f()};window.addEventListener("load",p),window.addEventListener("DOMContentLoaded",p)}};
//# sourceMappingURL=browser.cjs.map
2 changes: 1 addition & 1 deletion plugins/css-blank-pseudo/dist/browser.cjs.map

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion plugins/css-blank-pseudo/dist/browser.mjs
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
var e=[" ",">","~",":","+","@","#","(",")"];function isValidReplacement(t){for(var n=!0,r=0,o=e.length;r<o&&n;r++)t.indexOf(e[r])>-1&&(n=!1);return n}var t="js-blank-pseudo";function isFormControlElement(e){return"INPUT"===e.nodeName||"SELECT"===e.nodeName||"TEXTAREA"===e.nodeName}function createNewEvent(e){var t;return"function"==typeof Event?t=new Event(e,{bubbles:!0}):(t=document.createEvent("Event")).initEvent(e,!0,!1),t}function observeValueOfHTMLElement(e,t){var n=Object.getOwnPropertyDescriptor(e.prototype,"value"),r=n.set;n.set=function set(){r.apply(this,arguments),t({target:this})},Object.defineProperty(e.prototype,"value",n)}function cssBlankPseudoInit(e){var n={force:!1,replaceWith:"[blank]"};if(void 0!==e&&"force"in e&&(n.force=e.force),void 0!==e&&"replaceWith"in e&&(n.replaceWith=e.replaceWith),!isValidReplacement(n.replaceWith))throw new Error(n.replaceWith+" is not a valid replacement since it can't be applied to single elements.");try{if(document.querySelector(":blank"),!n.force)return}catch(m){}var r,o,a,i,c,l,d,s=("."===(r=n.replaceWith)[0]?(o=r.slice(1),a=function remove(e){return e.classList.remove(o)},i=function add(e){return e.classList.add(o)}):(o=r.slice(1,-1),a=function remove(e){return e.removeAttribute(o,"")},i=function add(e){return e.setAttribute(o,"")}),function handleInputOrChangeEvent(e){var t=e.target;isFormControlElement(t)&&(("SELECT"===t.nodeName?t.options[t.selectedIndex].value:t.value)?a(t):i(t))}),u=function bindEvents(){document.body&&(document.body.addEventListener("change",s),document.body.addEventListener("input",s))},f=function updateAllCandidates(){Array.prototype.forEach.call(document.querySelectorAll("input, select, textarea"),(function(e){s({target:e})}))};if(document.body?u():window.addEventListener("load",u),-1===document.documentElement.className.indexOf(t)&&(document.documentElement.className+=" "+t),observeValueOfHTMLElement(self.HTMLInputElement,s),observeValueOfHTMLElement(self.HTMLSelectElement,s),observeValueOfHTMLElement(self.HTMLTextAreaElement,s),c=self.HTMLOptionElement,l=Object.getOwnPropertyDescriptor(c.prototype,"selected"),d=l.set,l.set=function set(e){d.apply(this,arguments);var t=createNewEvent("change");this.parentElement.dispatchEvent(t)},Object.defineProperty(c.prototype,"selected",l),f(),"undefined"!=typeof self.MutationObserver)new MutationObserver((function(e){e.forEach((function(e){Array.prototype.forEach.call(e.addedNodes||[],(function(e){1===e.nodeType&&isFormControlElement(e)&&s({target:e})}))}))})).observe(document,{childList:!0,subtree:!0});else{var p=function handleOnLoad(){return f()};window.addEventListener("load",p),window.addEventListener("DOMContentLoaded",p)}}export{cssBlankPseudoInit as default};
var e=[" ",">","~",":","+","@","#","(",")"];function isValidReplacement(t){for(var n=!0,r=0,o=e.length;r<o&&n;r++)t.indexOf(e[r])>-1&&(n=!1);return n}var t="js-blank-pseudo";function isFormControlElement(e){return"INPUT"===e.nodeName||"SELECT"===e.nodeName||"TEXTAREA"===e.nodeName}function createNewEvent(e){var t;return"function"==typeof Event?t=new Event(e,{bubbles:!0}):(t=document.createEvent("Event")).initEvent(e,!0,!1),t}function observeValueOfHTMLElement(e,t){var n=Object.getOwnPropertyDescriptor(e.prototype,"value"),r=n.set;n.set=function set(){r.apply(this,arguments),t({target:this})},Object.defineProperty(e.prototype,"value",n)}function cssBlankPseudoInit(e){var n={force:!1,replaceWith:"[blank]"};if(void 0!==e&&"force"in e&&(n.force=e.force),void 0!==e&&"replaceWith"in e&&(n.replaceWith=e.replaceWith),!isValidReplacement(n.replaceWith))throw new Error(n.replaceWith+" is not a valid replacement since it can't be applied to single elements.");try{if(document.querySelector(":blank"),!n.force)return}catch(m){}var r,o,a,i,l,c,d,s=("."===(r=n.replaceWith)[0]?(o=r.slice(1),a=function remove(e){return e.classList.remove(o)},i=function add(e){return e.classList.add(o)}):(o=r.slice(1,-1),a=function remove(e){return e.removeAttribute(o,"")},i=function add(e){return e.setAttribute(o,"")}),function handleInputOrChangeEvent(e){var t,n=e.target;isFormControlElement(n)&&(("SELECT"===n.nodeName?null!=(t=n.options[n.selectedIndex])&&t.value:n.value)?a(n):i(n))}),u=function bindEvents(){document.body&&(document.body.addEventListener("change",s),document.body.addEventListener("input",s))},f=function updateAllCandidates(){Array.prototype.forEach.call(document.querySelectorAll("input, select, textarea"),(function(e){s({target:e})}))};if(document.body?u():window.addEventListener("load",u),-1===document.documentElement.className.indexOf(t)&&(document.documentElement.className+=" "+t),observeValueOfHTMLElement(self.HTMLInputElement,s),observeValueOfHTMLElement(self.HTMLSelectElement,s),observeValueOfHTMLElement(self.HTMLTextAreaElement,s),l=self.HTMLOptionElement,c=Object.getOwnPropertyDescriptor(l.prototype,"selected"),d=c.set,c.set=function set(e){d.apply(this,arguments);var t=createNewEvent("change");this.parentElement.dispatchEvent(t)},Object.defineProperty(l.prototype,"selected",c),f(),"undefined"!=typeof self.MutationObserver)new MutationObserver((function(e){e.forEach((function(e){Array.prototype.forEach.call(e.addedNodes||[],(function(e){1===e.nodeType&&isFormControlElement(e)&&s({target:e})}))}))})).observe(document,{childList:!0,subtree:!0});else{var p=function handleOnLoad(){return f()};window.addEventListener("load",p),window.addEventListener("DOMContentLoaded",p)}}export{cssBlankPseudoInit as default};
//# sourceMappingURL=browser.mjs.map
2 changes: 1 addition & 1 deletion plugins/css-blank-pseudo/dist/browser.mjs.map

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions plugins/css-blank-pseudo/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "css-blank-pseudo",
"description": "Style form elements when they are empty",
"version": "6.0.1",
"version": "6.0.2",
"contributors": [
{
"name": "Antonio Laguna",
@@ -67,7 +67,7 @@
},
"devDependencies": {
"@csstools/postcss-tape": "*",
"puppeteer": "^22.6.3"
"puppeteer": "^22.6.4"
},
"scripts": {
"build": "rollup -c ../../rollup/default.mjs",
2 changes: 1 addition & 1 deletion plugins/css-blank-pseudo/src/browser.js
Original file line number Diff line number Diff line change
@@ -49,7 +49,7 @@ function generateHandler(replaceWith) {

const isSelect = element.nodeName === 'SELECT';
const hasValue = isSelect
? !!element.options[element.selectedIndex].value
? !!element.options[element.selectedIndex]?.value
: !!element.value;

if (hasValue) {
8 changes: 8 additions & 0 deletions plugins/css-blank-pseudo/test/_browser.html
Original file line number Diff line number Diff line change
@@ -19,6 +19,11 @@
<option value="" selected>Empty</option>
<option value="non-empty">Non Empty</option>
</select>
<select id="multiselect" multiple="" aria-label="">
<option value="non-empty">Non Empty</option>
<option value="non-empty2">Non Empty 2</option>
<option value="non-empty3">Non Empty 3</option>
</select>

<script type="module">
const purple = 'rgb(128, 0, 128)';
@@ -28,13 +33,15 @@
const password = document.getElementById('password-input');
const textarea = document.getElementById('textarea');
const select = document.getElementById('select');
const multiselect = document.getElementById('multiselect');
const elements = {
tel,
text,
number,
password,
textarea,
select,
multiselect
};

function rafP(callback) {
@@ -89,6 +96,7 @@
testBlankState('on load', password, true);
testBlankState('on load', textarea, true);
testBlankState('on load', select, true);
testBlankState('on load', multiselect, true);
});

return true;
10 changes: 10 additions & 0 deletions plugins/css-blank-pseudo/test/_browser.mjs
Original file line number Diff line number Diff line change
@@ -98,6 +98,7 @@ if (!process.env.DEBUG) {
await page.type('#password-input', '1234');
await page.type('#textarea', '1234');
await page.select('#select', 'non-empty');
await page.select('#multiselect', 'non-empty');

const fillingResults = await Promise.all([
page.evaluate(async () => window.checkElement('user typing', 'tel', false)),
@@ -106,6 +107,7 @@ if (!process.env.DEBUG) {
page.evaluate(async () => window.checkElement('user typing', 'password', false)),
page.evaluate(async () => window.checkElement('user typing', 'textarea', false)),
page.evaluate(async () => window.checkElement('user typing', 'select', false)),
page.evaluate(async () => window.checkElement('user typing', 'multiselect', false)),
]);

// Reverting now, should revert
@@ -115,6 +117,7 @@ if (!process.env.DEBUG) {
await clearInput(page, '#password-input');
await clearInput(page, '#textarea');
await page.select('#select', '');
await page.select('#multiselect', '');

const unfillingResults = await Promise.all([
page.evaluate(async () => window.checkElement('user typing', 'tel', true)),
@@ -123,6 +126,7 @@ if (!process.env.DEBUG) {
page.evaluate(async () => window.checkElement('user typing', 'password', true)),
page.evaluate(async () => window.checkElement('user typing', 'textarea', true)),
page.evaluate(async () => window.checkElement('user typing', 'select', true)),
page.evaluate(async () => window.checkElement('user typing', 'multiselect', true)),
]);

const result = [
@@ -147,6 +151,7 @@ if (!process.env.DEBUG) {
await page.evaluate(async () => window.document.getElementById('password-input').value = '1234');
await page.evaluate(async () => window.document.getElementById('textarea').value = '1234');
await page.evaluate(async () => window.document.getElementById('select').value = 'non-empty');
await page.evaluate(async () => window.document.getElementById('multiselect').value = 'non-empty');


const fillingResults = await Promise.all([
@@ -156,6 +161,7 @@ if (!process.env.DEBUG) {
page.evaluate(async () => window.checkElement('js value change', 'password', false)),
page.evaluate(async () => window.checkElement('js value change', 'textarea', false)),
page.evaluate(async () => window.checkElement('js value change', 'select', false)),
page.evaluate(async () => window.checkElement('js value change', 'multiselect', false)),
]);

// Reverting
@@ -165,6 +171,7 @@ if (!process.env.DEBUG) {
await page.evaluate(async () => window.document.getElementById('password-input').value = '');
await page.evaluate(async () => window.document.getElementById('textarea').value = '');
await page.evaluate(async () => window.document.getElementById('select').value = '');
await page.evaluate(async () => window.document.getElementById('multiselect').value = '');

const unfillingResults = await Promise.all([
page.evaluate(async () => window.checkElement('js value change', 'tel', true)),
@@ -173,12 +180,15 @@ if (!process.env.DEBUG) {
page.evaluate(async () => window.checkElement('js value change', 'password', true)),
page.evaluate(async () => window.checkElement('js value change', 'textarea', true)),
page.evaluate(async () => window.checkElement('js value change', 'select', true)),
page.evaluate(async () => window.checkElement('js value change', 'multiselect', true)),
]);

await page.evaluate(async () => {
window.document.getElementById('select').options[1].selected = true;
window.document.getElementById('multiselect').options[1].selected = true;
});
await page.evaluate(async () => window.checkElement('js value change', 'select', false));
await page.evaluate(async () => window.checkElement('js value change', 'multiselect', false));

const result = [
...fillingResults,
2 changes: 1 addition & 1 deletion plugins/css-has-pseudo/package.json
Original file line number Diff line number Diff line change
@@ -73,7 +73,7 @@
"postcss-dir-pseudo-class": "*",
"postcss-logical": "*",
"postcss-nesting": "*",
"puppeteer": "^22.6.3"
"puppeteer": "^22.6.4"
},
"scripts": {
"build": "rollup -c ../../rollup/default.mjs",
2 changes: 1 addition & 1 deletion plugins/css-prefers-color-scheme/package.json
Original file line number Diff line number Diff line change
@@ -64,7 +64,7 @@
},
"devDependencies": {
"@csstools/postcss-tape": "*",
"puppeteer": "^22.6.3"
"puppeteer": "^22.6.4"
},
"scripts": {
"build": "rollup -c ../../rollup/default.mjs",
2 changes: 1 addition & 1 deletion plugins/postcss-cascade-layers/package.json
Original file line number Diff line number Diff line change
@@ -65,7 +65,7 @@
"devDependencies": {
"@csstools/postcss-bundler": "^1.0.3",
"@csstools/postcss-tape": "*",
"puppeteer": "^22.6.3"
"puppeteer": "^22.6.4"
},
"scripts": {
"build": "rollup -c ../../rollup/default.mjs",
2 changes: 1 addition & 1 deletion plugins/postcss-focus-visible/package.json
Original file line number Diff line number Diff line change
@@ -55,7 +55,7 @@
},
"devDependencies": {
"@csstools/postcss-tape": "*",
"puppeteer": "^22.6.3"
"puppeteer": "^22.6.4"
},
"scripts": {
"build": "rollup -c ../../rollup/default.mjs",
2 changes: 1 addition & 1 deletion plugins/postcss-focus-within/package.json
Original file line number Diff line number Diff line change
@@ -67,7 +67,7 @@
},
"devDependencies": {
"@csstools/postcss-tape": "*",
"puppeteer": "^22.6.3"
"puppeteer": "^22.6.4"
},
"scripts": {
"build": "rollup -c ../../rollup/default.mjs",
2 changes: 1 addition & 1 deletion plugins/postcss-is-pseudo-class/package.json
Original file line number Diff line number Diff line change
@@ -46,7 +46,7 @@
},
"devDependencies": {
"@csstools/postcss-tape": "*",
"puppeteer": "^22.6.3"
"puppeteer": "^22.6.4"
},
"scripts": {
"build": "rollup -c ../../rollup/default.mjs",
2 changes: 1 addition & 1 deletion plugins/postcss-light-dark-function/package.json
Original file line number Diff line number Diff line change
@@ -59,7 +59,7 @@
"devDependencies": {
"@csstools/postcss-tape": "*",
"postcss-nesting": "^12.1.1",
"puppeteer": "^22.6.3"
"puppeteer": "^22.6.4"
},
"scripts": {
"build": "rollup -c ../../rollup/default.mjs",
2 changes: 1 addition & 1 deletion plugins/postcss-media-minmax/package.json
Original file line number Diff line number Diff line change
@@ -61,7 +61,7 @@
},
"devDependencies": {
"@csstools/postcss-tape": "*",
"puppeteer": "^22.6.3"
"puppeteer": "^22.6.4"
},
"scripts": {
"build": "rollup -c ../../rollup/default.mjs",
2 changes: 1 addition & 1 deletion plugins/postcss-nesting/package.json
Original file line number Diff line number Diff line change
@@ -63,7 +63,7 @@
},
"devDependencies": {
"@csstools/postcss-tape": "*",
"puppeteer": "^22.6.3"
"puppeteer": "^22.6.4"
},
"scripts": {
"build": "rollup -c ../../rollup/default.mjs",
162 changes: 81 additions & 81 deletions sites/package-lock.json
8 changes: 4 additions & 4 deletions sites/postcss-preset-env/package.json
Original file line number Diff line number Diff line change
@@ -79,7 +79,7 @@
"@codemirror/lang-javascript": "^6.2.2",
"@codemirror/state": "^6.4.0",
"@codemirror/theme-one-dark": "^6.1.0",
"@codemirror/view": "^6.26.0",
"@codemirror/view": "^6.26.3",
"@csstools/css-calc": "^1.1.6",
"@csstools/css-color-parser": "^1.6.2",
"@csstools/css-parser-algorithms": "^2.2.0",
@@ -103,12 +103,12 @@
"npm-run-all": "^4.1.5",
"postcss": "^8.4.36",
"postcss-cli": "^11.0.0",
"postcss-preset-env": "^9.5.2",
"rollup": "^4.14.1",
"postcss-preset-env": "^9.5.5",
"rollup": "^4.14.2",
"rollup-plugin-filesize": "^10.0.0",
"rollup-plugin-livereload": "^2.0.5",
"tslib": "^2.6.2",
"typescript": "^5.4.4"
"typescript": "^5.4.5"
},
"volta": {
"node": "20.10.0"