From 95345e10f2d681217e323c98946f5adc72a16dbc Mon Sep 17 00:00:00 2001 From: Saya Date: Sat, 25 Jun 2022 20:59:45 +0800 Subject: [PATCH] fix(preset-mini): update missing parent rule (#1164) --- packages/preset-mini/src/utils/variants.ts | 5 ++++- test/__snapshots__/preset-wind.test.ts.snap | 3 +++ test/assets/preset-wind-targets.ts | 3 +++ 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/packages/preset-mini/src/utils/variants.ts b/packages/preset-mini/src/utils/variants.ts index 5a463204ae..11ff9a79d5 100644 --- a/packages/preset-mini/src/utils/variants.ts +++ b/packages/preset-mini/src/utils/variants.ts @@ -30,7 +30,10 @@ export const variantParentMatcher = (name: string, parent: string): VariantObjec if (match) { return { matcher: input.slice(match[0].length), - parent, + handle: (input, next) => next({ + ...input, + parent: `${input.parent ? `${input.parent} $$ ` : ''}${parent}`, + }), } } }, diff --git a/test/__snapshots__/preset-wind.test.ts.snap b/test/__snapshots__/preset-wind.test.ts.snap index 013f6f5a39..40fc55b292 100644 --- a/test/__snapshots__/preset-wind.test.ts.snap +++ b/test/__snapshots__/preset-wind.test.ts.snap @@ -360,6 +360,9 @@ exports[`preset-wind > targets 1`] = ` @media (prefers-contrast: more){ .contrast-more\\\\:bg-black{--un-bg-opacity:1;background-color:rgba(0,0,0,var(--un-bg-opacity));} } +@media (prefers-contrast: more){@media (prefers-color-scheme: dark){ +.\\\\@dark\\\\:contrast-more\\\\:p-10{padding:2.5rem;} +}} @media (prefers-reduced-motion: no-preference){ .motion-safe\\\\:transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;} } diff --git a/test/assets/preset-wind-targets.ts b/test/assets/preset-wind-targets.ts index 716122693c..defa5ae6c5 100644 --- a/test/assets/preset-wind-targets.ts +++ b/test/assets/preset-wind-targets.ts @@ -361,6 +361,9 @@ export const presetWindTargets: string[] = [ '-scroll-mb-px', '-scroll-p-px', '-space-x-4', + + // variants - multiple parents + '@dark:contrast-more:p-10', ] export const presetWindNonTargets: string[] = [