Skip to content

Commit 5ce610c

Browse files
committed
POC new approach
1 parent c8d3db6 commit 5ce610c

File tree

6 files changed

+326
-281
lines changed

6 files changed

+326
-281
lines changed

src/lib.rs

Lines changed: 74 additions & 78 deletions
Original file line numberDiff line numberDiff line change
@@ -451,18 +451,18 @@ mod tests {
451451
}
452452
"#, indoc! {r#"
453453
.foo {
454-
border-left: var(--border-left-EgL3uq-1);
455-
border-right: var(--border-right-EgL3uq-1);
454+
border-left: var(--ltr, 2px solid red);
455+
border-right: var(--rtl, 2px solid red);
456456
}
457457
458458
[dir="ltr"] {
459-
--border-left-EgL3uq-1: 2px solid red;
460-
--border-right-EgL3uq-1: ;
459+
--ltr: initial;
460+
--rtl: ;
461461
}
462462
463463
[dir="rtl"] {
464-
--border-left-EgL3uq-1: ;
465-
--border-right-EgL3uq-1: 2px solid red;
464+
--ltr: ;
465+
--rtl: initial;
466466
}
467467
"#
468468
}, Browsers {
@@ -476,18 +476,18 @@ mod tests {
476476
}
477477
"#, indoc! {r#"
478478
.foo {
479-
border-left-width: var(--border-left-width-EgL3uq-1);
480-
border-right-width: var(--border-right-width-EgL3uq-1);
479+
border-left-width: var(--ltr, 2px);
480+
border-right-width: var(--rtl, 2px);
481481
}
482482
483483
[dir="ltr"] {
484-
--border-left-width-EgL3uq-1: 2px;
485-
--border-right-width-EgL3uq-1: ;
484+
--ltr: initial;
485+
--rtl: ;
486486
}
487487
488488
[dir="rtl"] {
489-
--border-left-width-EgL3uq-1: ;
490-
--border-right-width-EgL3uq-1: 2px;
489+
--ltr: ;
490+
--rtl: initial;
491491
}
492492
"#
493493
}, Browsers {
@@ -501,18 +501,18 @@ mod tests {
501501
}
502502
"#, indoc! {r#"
503503
.foo {
504-
border-right: var(--border-right-EgL3uq-1);
505-
border-left: var(--border-left-EgL3uq-1);
504+
border-right: var(--ltr, 2px solid red);
505+
border-left: var(--rtl, 2px solid red);
506506
}
507507
508508
[dir="ltr"] {
509-
--border-left-EgL3uq-1: ;
510-
--border-right-EgL3uq-1: 2px solid red;
509+
--ltr: initial;
510+
--rtl: ;
511511
}
512512
513513
[dir="rtl"] {
514-
--border-left-EgL3uq-1: 2px solid red;
515-
--border-right-EgL3uq-1: ;
514+
--ltr: ;
515+
--rtl: initial;
516516
}
517517
"#
518518
}, Browsers {
@@ -527,18 +527,18 @@ mod tests {
527527
}
528528
"#, indoc! {r#"
529529
.foo {
530-
border-left: var(--border-left-EgL3uq-1);
531-
border-right: var(--border-right-EgL3uq-1);
530+
border-left: var(--ltr, 2px solid red) var(--rtl, 5px solid green);
531+
border-right: var(--ltr, 5px solid green) var(--rtl, 2px solid red);
532532
}
533533
534534
[dir="ltr"] {
535-
--border-left-EgL3uq-1: 2px solid red;
536-
--border-right-EgL3uq-1: 5px solid green;
535+
--ltr: initial;
536+
--rtl: ;
537537
}
538538
539539
[dir="rtl"] {
540-
--border-left-EgL3uq-1: 5px solid green;
541-
--border-right-EgL3uq-1: 2px solid red;
540+
--ltr: ;
541+
--rtl: initial;
542542
}
543543
"#
544544
}, Browsers {
@@ -558,27 +558,23 @@ mod tests {
558558
}
559559
"#, indoc! {r#"
560560
.foo {
561-
border-left: var(--border-left-EgL3uq-1);
562-
border-right: var(--border-right-EgL3uq-1);
561+
border-left: var(--ltr, 2px solid red) var(--rtl, 5px solid green);
562+
border-right: var(--ltr, 5px solid green) var(--rtl, 2px solid red);
563563
}
564564
565565
.bar {
566-
border-left: var(--border-left-EgL3uq-2);
567-
border-right: var(--border-right-EgL3uq-2);
566+
border-left: var(--ltr, 1px dotted gray) var(--rtl, 1px solid #000);
567+
border-right: var(--ltr, 1px solid #000) var(--rtl, 1px dotted gray);
568568
}
569569
570570
[dir="ltr"] {
571-
--border-left-EgL3uq-1: 2px solid red;
572-
--border-left-EgL3uq-2: 1px dotted gray;
573-
--border-right-EgL3uq-1: 5px solid green;
574-
--border-right-EgL3uq-2: 1px solid #000;
571+
--ltr: initial;
572+
--rtl: ;
575573
}
576574
577575
[dir="rtl"] {
578-
--border-left-EgL3uq-1: 5px solid green;
579-
--border-left-EgL3uq-2: 1px solid #000;
580-
--border-right-EgL3uq-1: 2px solid red;
581-
--border-right-EgL3uq-2: 1px dotted gray;
576+
--ltr: ;
577+
--rtl: initial;
582578
}
583579
"#
584580
}, Browsers {
@@ -592,18 +588,18 @@ mod tests {
592588
}
593589
"#, indoc! {r#"
594590
.foo {
595-
border-right: var(--border-right-EgL3uq-1);
596-
border-left: var(--border-left-EgL3uq-1);
591+
border-right: var(--ltr, var(--test));
592+
border-left: var(--rtl, var(--test));
597593
}
598594
599595
[dir="ltr"] {
600-
--border-left-EgL3uq-1: ;
601-
--border-right-EgL3uq-1: var(--test);
596+
--ltr: initial;
597+
--rtl: ;
602598
}
603599
604600
[dir="rtl"] {
605-
--border-left-EgL3uq-1: var(--test);
606-
--border-right-EgL3uq-1: ;
601+
--ltr: ;
602+
--rtl: initial;
607603
}
608604
"#
609605
}, Browsers {
@@ -618,18 +614,18 @@ mod tests {
618614
}
619615
"#, indoc! {r#"
620616
.foo {
621-
border-left: var(--border-left-EgL3uq-1);
622-
border-right: var(--border-right-EgL3uq-1);
617+
border-left: var(--ltr, var(--start)) var(--rtl, var(--end));
618+
border-right: var(--ltr, var(--end)) var(--rtl, var(--start));
623619
}
624620
625621
[dir="ltr"] {
626-
--border-left-EgL3uq-1: var(--start);
627-
--border-right-EgL3uq-1: var(--end);
622+
--ltr: initial;
623+
--rtl: ;
628624
}
629625
630626
[dir="rtl"] {
631-
--border-left-EgL3uq-1: var(--end);
632-
--border-right-EgL3uq-1: var(--start);
627+
--ltr: ;
628+
--rtl: initial;
633629
}
634630
"#
635631
}, Browsers {
@@ -1064,18 +1060,18 @@ mod tests {
10641060
}
10651061
"#, indoc! {r#"
10661062
.foo {
1067-
border-top-left-radius: var(--border-top-left-radius-EgL3uq-1);
1068-
border-top-right-radius: var(--border-top-right-radius-EgL3uq-1);
1063+
border-top-left-radius: var(--ltr, 5px);
1064+
border-top-right-radius: var(--rtl, 5px);
10691065
}
10701066
10711067
[dir="ltr"] {
1072-
--border-top-left-radius-EgL3uq-1: 5px;
1073-
--border-top-right-radius-EgL3uq-1: ;
1068+
--ltr: initial;
1069+
--rtl: ;
10741070
}
10751071
10761072
[dir="rtl"] {
1077-
--border-top-left-radius-EgL3uq-1: ;
1078-
--border-top-right-radius-EgL3uq-1: 5px;
1073+
--ltr: ;
1074+
--rtl: initial;
10791075
}
10801076
"#
10811077
}, Browsers {
@@ -1090,18 +1086,18 @@ mod tests {
10901086
}
10911087
"#, indoc! {r#"
10921088
.foo {
1093-
border-top-left-radius: var(--border-top-left-radius-EgL3uq-1);
1094-
border-top-right-radius: var(--border-top-right-radius-EgL3uq-1);
1089+
border-top-left-radius: var(--ltr, 5px) var(--rtl, 10px);
1090+
border-top-right-radius: var(--ltr, 10px) var(--rtl, 5px);
10951091
}
10961092
10971093
[dir="ltr"] {
1098-
--border-top-left-radius-EgL3uq-1: 5px;
1099-
--border-top-right-radius-EgL3uq-1: 10px;
1094+
--ltr: initial;
1095+
--rtl: ;
11001096
}
11011097
11021098
[dir="rtl"] {
1103-
--border-top-left-radius-EgL3uq-1: 10px;
1104-
--border-top-right-radius-EgL3uq-1: 5px;
1099+
--ltr: ;
1100+
--rtl: initial;
11051101
}
11061102
"#
11071103
}, Browsers {
@@ -1116,18 +1112,18 @@ mod tests {
11161112
}
11171113
"#, indoc! {r#"
11181114
.foo {
1119-
border-bottom-left-radius: var(--border-bottom-left-radius-EgL3uq-1);
1120-
border-bottom-right-radius: var(--border-bottom-right-radius-EgL3uq-1);
1115+
border-bottom-left-radius: var(--ltr, 5px) var(--rtl, 10px);
1116+
border-bottom-right-radius: var(--ltr, 10px) var(--rtl, 5px);
11211117
}
11221118
11231119
[dir="ltr"] {
1124-
--border-bottom-left-radius-EgL3uq-1: 5px;
1125-
--border-bottom-right-radius-EgL3uq-1: 10px;
1120+
--ltr: initial;
1121+
--rtl: ;
11261122
}
11271123
11281124
[dir="rtl"] {
1129-
--border-bottom-left-radius-EgL3uq-1: 10px;
1130-
--border-bottom-right-radius-EgL3uq-1: 5px;
1125+
--ltr: ;
1126+
--rtl: initial;
11311127
}
11321128
"#
11331129
}, Browsers {
@@ -1141,18 +1137,18 @@ mod tests {
11411137
}
11421138
"#, indoc! {r#"
11431139
.foo {
1144-
border-top-left-radius: var(--border-top-left-radius-EgL3uq-1);
1145-
border-top-right-radius: var(--border-top-right-radius-EgL3uq-1);
1140+
border-top-left-radius: var(--ltr, var(--radius));
1141+
border-top-right-radius: var(--rtl, var(--radius));
11461142
}
11471143
11481144
[dir="ltr"] {
1149-
--border-top-left-radius-EgL3uq-1: var(--radius);
1150-
--border-top-right-radius-EgL3uq-1: ;
1145+
--ltr: initial;
1146+
--rtl: ;
11511147
}
11521148
11531149
[dir="rtl"] {
1154-
--border-top-left-radius-EgL3uq-1: ;
1155-
--border-top-right-radius-EgL3uq-1: var(--radius);
1150+
--ltr: ;
1151+
--rtl: initial;
11561152
}
11571153
"#
11581154
}, Browsers {
@@ -1167,18 +1163,18 @@ mod tests {
11671163
}
11681164
"#, indoc! {r#"
11691165
.foo {
1170-
border-top-left-radius: var(--border-top-left-radius-EgL3uq-1);
1171-
border-top-right-radius: var(--border-top-right-radius-EgL3uq-1);
1166+
border-top-left-radius: var(--ltr, var(--start)) var(--rtl, var(--end));
1167+
border-top-right-radius: var(--ltr, var(--end)) var(--rtl, var(--start));
11721168
}
11731169
11741170
[dir="ltr"] {
1175-
--border-top-left-radius-EgL3uq-1: var(--start);
1176-
--border-top-right-radius-EgL3uq-1: var(--end);
1171+
--ltr: initial;
1172+
--rtl: ;
11771173
}
11781174
11791175
[dir="rtl"] {
1180-
--border-top-left-radius-EgL3uq-1: var(--end);
1181-
--border-top-right-radius-EgL3uq-1: var(--start);
1176+
--ltr: ;
1177+
--rtl: initial;
11821178
}
11831179
"#
11841180
}, Browsers {

0 commit comments

Comments
 (0)