Skip to content

Commit 07377f7

Browse files
adamwathanRobinMalfait
authored andcommitted
Use logical properties for space/divide in Oxide
1 parent 8d935c2 commit 07377f7

7 files changed

+64
-858
lines changed

src/corePlugins.js

+22
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import fs from 'fs'
22
import * as path from 'path'
33
import postcss from 'postcss'
4+
import { env } from './lib/sharedState'
45
import createUtilityPlugin from './util/createUtilityPlugin'
56
import buildMediaQuery from './util/buildMediaQuery'
67
import escapeClassName from './util/escapeClassName'
@@ -1219,6 +1220,16 @@ export let corePlugins = {
12191220
'space-x': (value) => {
12201221
value = value === '0' ? '0px' : value
12211222

1223+
if (env.OXIDE) {
1224+
return {
1225+
'& > :not([hidden]) ~ :not([hidden])': {
1226+
'--tw-space-x-reverse': '0',
1227+
'margin-inline-end': `calc(${value} * var(--tw-space-x-reverse))`,
1228+
'margin-inline-start': `calc(${value} * calc(1 - var(--tw-space-x-reverse)))`,
1229+
},
1230+
}
1231+
}
1232+
12221233
return {
12231234
'& > :not([hidden]) ~ :not([hidden])': {
12241235
'--tw-space-x-reverse': '0',
@@ -1254,6 +1265,17 @@ export let corePlugins = {
12541265
'divide-x': (value) => {
12551266
value = value === '0' ? '0px' : value
12561267

1268+
if (env.OXIDE) {
1269+
return {
1270+
'& > :not([hidden]) ~ :not([hidden])': {
1271+
'@defaults border-width': {},
1272+
'--tw-divide-x-reverse': '0',
1273+
'border-inline-end-width': `calc(${value} * var(--tw-divide-x-reverse))`,
1274+
'border-inline-start-width': `calc(${value} * calc(1 - var(--tw-divide-x-reverse)))`,
1275+
},
1276+
}
1277+
}
1278+
12571279
return {
12581280
'& > :not([hidden]) ~ :not([hidden])': {
12591281
'@defaults border-width': {},

tests/kitchen-sink.test.css

+3-3
Original file line numberDiff line numberDiff line change
@@ -95,9 +95,9 @@
9595
font-weight: 400;
9696
}
9797
.list > :not([hidden]) ~ :not([hidden]) {
98-
--tw-space-x-reverse: 0;
99-
margin-right: calc(1rem * var(--tw-space-x-reverse));
100-
margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse)));
98+
--tw-space-y-reverse: 0;
99+
margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
100+
margin-bottom: calc(1rem * var(--tw-space-y-reverse));
101101
}
102102
.nested {
103103
.example {

tests/kitchen-sink.test.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ test.each([[true], [false]])('it works (using Rust: %p)', (useOxide) => {
141141
@apply font-bold group-hover:font-normal;
142142
}
143143
.list {
144-
@apply space-x-4;
144+
@apply space-y-4;
145145
}
146146
.nested {
147147
.example {

0 commit comments

Comments
 (0)