1
1
import plugin from 'tailwindcss/plugin'
2
2
import flattenColorPalette from 'tailwindcss/lib/util/flattenColorPalette'
3
+ import { msoBorderColors } from './msoColors.js'
3
4
4
5
const tailwindCssMsoPlugin = plugin . withOptions (
5
6
function ( options = { } ) {
@@ -601,6 +602,23 @@ const tailwindCssMsoPlugin = plugin.withOptions(
601
602
}
602
603
)
603
604
605
+ // mso-shadow-color
606
+ matchUtilities (
607
+ {
608
+ 'mso-shadow-color' : value => ( {
609
+ 'mso-shadow-color' : value
610
+ } ) ,
611
+ } ,
612
+ {
613
+ values : {
614
+ auto : 'auto' ,
615
+ windowtext : 'windowtext' ,
616
+ ...flattenColorPalette ( theme ( 'colors' ) ) ,
617
+ } ,
618
+ respectImportant,
619
+ }
620
+ )
621
+
604
622
// mso-element-frame-vspace, mso-element-frame-hspace
605
623
matchUtilities (
606
624
{
@@ -617,6 +635,132 @@ const tailwindCssMsoPlugin = plugin.withOptions(
617
635
respectImportant,
618
636
}
619
637
)
638
+
639
+ // mso-border colors
640
+ matchUtilities (
641
+ {
642
+ 'mso-border-alt' : value => ( {
643
+ 'mso-border-alt' : value
644
+ } ) ,
645
+ 'mso-border-between' : value => ( {
646
+ 'mso-border-between' : value
647
+ } ) ,
648
+ 'mso-border-bottom-alt' : value => ( {
649
+ 'mso-border-bottom-alt' : value
650
+ } ) ,
651
+ 'mso-border-left-alt' : value => ( {
652
+ 'mso-border-left-alt' : value
653
+ } ) ,
654
+ 'mso-border-right-alt' : value => ( {
655
+ 'mso-border-right-alt' : value
656
+ } ) ,
657
+ 'mso-border-top-alt' : value => ( {
658
+ 'mso-border-top-alt' : value
659
+ } ) ,
660
+ } ,
661
+ {
662
+ values : {
663
+ ...msoBorderColors ,
664
+ ...flattenColorPalette ( theme ( 'colors' ) ) ,
665
+
666
+ } ,
667
+ respectImportant,
668
+ }
669
+ )
670
+
671
+ // mso-border widths
672
+ matchUtilities (
673
+ {
674
+ 'mso-border-between-width' : value => ( {
675
+ 'mso-border-between-width' : value
676
+ } ) ,
677
+ 'mso-border-width-alt' : value => ( {
678
+ 'mso-border-width-alt' : value
679
+ } ) ,
680
+ 'mso-border-bottom-width-alt' : value => ( {
681
+ 'mso-border-bottom-width-alt' : value
682
+ } ) ,
683
+ 'mso-border-left-width-alt' : value => ( {
684
+ 'mso-border-left-width-alt' : value
685
+ } ) ,
686
+ 'mso-border-right-width-alt' : value => ( {
687
+ 'mso-border-right-width-alt' : value
688
+ } ) ,
689
+ 'mso-border-top-width-alt' : value => ( {
690
+ 'mso-border-top-width-alt' : value
691
+ } ) ,
692
+ } ,
693
+ {
694
+ values : {
695
+ medium : 'medium' ,
696
+ thick : 'thick' ,
697
+ thin : 'thin' ,
698
+ ...theme ( 'spacing' ) ,
699
+ } ,
700
+ respectImportant,
701
+ }
702
+ )
703
+
704
+ // mso-border-*-source
705
+ matchUtilities (
706
+ {
707
+ 'mso-border-bottom-source' : value => ( {
708
+ 'mso-border-bottom-source' : value
709
+ } ) ,
710
+ 'mso-border-left-source' : value => ( {
711
+ 'mso-border-left-source' : value
712
+ } ) ,
713
+ 'mso-border-right-source' : value => ( {
714
+ 'mso-border-right-source' : value
715
+ } ) ,
716
+ 'mso-border-top-source' : value => ( {
717
+ 'mso-border-top-source' : value
718
+ } ) ,
719
+ } ,
720
+ {
721
+ values : {
722
+ auto : 'auto' ,
723
+ background : 'background' ,
724
+ foreground : 'foreground' ,
725
+
726
+ } ,
727
+ respectImportant,
728
+ }
729
+ )
730
+
731
+ // mso-border-shadow
732
+ matchUtilities (
733
+ {
734
+ 'mso-border-shadow' : value => ( {
735
+ 'mso-border-shadow' : value
736
+ } ) ,
737
+ } ,
738
+ {
739
+ values : {
740
+ no : 'no' ,
741
+ yes : 'yes' ,
742
+
743
+ } ,
744
+ respectImportant,
745
+ }
746
+ )
747
+
748
+ // mso-border-effect
749
+ matchUtilities (
750
+ {
751
+ 'mso-border-effect' : value => ( {
752
+ 'mso-border-effect' : value
753
+ } ) ,
754
+ } ,
755
+ {
756
+ values : {
757
+ '3d' : '3d' ,
758
+ box : 'box' ,
759
+
760
+ } ,
761
+ respectImportant,
762
+ }
763
+ )
620
764
}
621
765
}
622
766
)
0 commit comments