From f0ce096d8d61994cba3b2316c2cd0174f467c95a Mon Sep 17 00:00:00 2001 From: Luke Warlow Date: Thu, 23 Sep 2021 20:43:37 +0100 Subject: [PATCH] Add variant for `::file-selector-button` pseudo element (#4936) * Add variant for file-selector-button pseudo element * Rename `file-selector-button` variant to `file` Co-Authored-By: Adam Wathan <4323180+adamwathan@users.noreply.github.com> Co-authored-by: Jonathan Reinink Co-authored-by: Adam Wathan <4323180+adamwathan@users.noreply.github.com> --- src/corePlugins.js | 9 +++++++++ tests/variants.test.css | 12 ++++++++++++ tests/variants.test.html | 2 ++ 3 files changed, 23 insertions(+) diff --git a/src/corePlugins.js b/src/corePlugins.js index e6026ddaf..f89f923a6 100644 --- a/src/corePlugins.js +++ b/src/corePlugins.js @@ -72,6 +72,15 @@ export let pseudoElementVariants = ({ config, addVariant }) => { }), ]) + addVariant( + 'file', + transformAllSelectors((selector) => { + return updateAllClasses(selector, (className, { withPseudo }) => { + return withPseudo(`file${config('separator')}${className}`, '::file-selector-button') + }) + }) + ) + addVariant( 'before', transformAllSelectors( diff --git a/tests/variants.test.css b/tests/variants.test.css index 300d8c798..41e1b08f6 100644 --- a/tests/variants.test.css +++ b/tests/variants.test.css @@ -52,6 +52,14 @@ --tw-text-opacity: 1; color: rgb(255 255 255 / var(--tw-text-opacity)); } +.file\:bg-blue-500::file-selector-button { + --tw-bg-opacity: 1; + background-color: rgb(59 130 246 / var(--tw-bg-opacity)); +} +.file\:text-white::file-selector-button { + --tw-text-opacity: 1; + color: rgb(255 255 255 / var(--tw-text-opacity)); +} .before\:block::before { content: ''; display: block; @@ -189,6 +197,10 @@ box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); } +.file\:hover\:bg-blue-600::file-selector-button:hover { + --tw-bg-opacity: 1; + background-color: rgb(37 99 235 / var(--tw-bg-opacity)); +} .focus\:shadow-md:focus { --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -1px rgb(0 0 0 / 0.06); box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), diff --git a/tests/variants.test.html b/tests/variants.test.html index 9fb44452e..70e1c1409 100644 --- a/tests/variants.test.html +++ b/tests/variants.test.html @@ -45,6 +45,7 @@
  • +
    @@ -127,6 +128,7 @@
    +