@@ -2,7 +2,7 @@ const cloneRule = require('./clone-rule');
22
33const matchLogical = / ^ \s * l o g i c a l \s + / i;
44const matchLogicalBorder = / ^ b o r d e r ( - w i d t h | - s t y l e | - c o l o r ) ? $ / i;
5- const matchLogicalBorderSide = / ^ b o r d e r - (?: ( w i d t h | s t y l e | c o l o r ) - ) ? ( b l o c k | b l o c k - s t a r t | b l o c k - e n d | i n l i n e | i n l i n e - s t a r t | i n l i n e - e n d | s t a r t | e n d ) / i;
5+ const matchLogicalBorderSide = / ^ b o r d e r - ( b l o c k | b l o c k - s t a r t | b l o c k - e n d | i n l i n e | i n l i n e - s t a r t | i n l i n e - e n d | s t a r t | e n d ) ( - ( w i d t h | s t y l e | c o l o r ) ) ? $ / i;
66
77// border
88module . exports [ 'border' ] = ( decl , values ) => {
@@ -80,11 +80,11 @@ module.exports['border'] = (decl, values) => {
8080// border-block
8181module . exports [ 'border-block' ] = ( decl , values ) => [
8282 decl . clone ( {
83- prop : `border-top${ decl . prop . replace ( matchLogicalBorderSide , '$1 ' ) } ` ,
83+ prop : `border-top${ decl . prop . replace ( matchLogicalBorderSide , '$2 ' ) } ` ,
8484 value : values [ 0 ]
8585 } ) ,
8686 decl . clone ( {
87- prop : `border-bottom${ decl . prop . replace ( matchLogicalBorderSide , '$1 ' ) } ` ,
87+ prop : `border-bottom${ decl . prop . replace ( matchLogicalBorderSide , '$2 ' ) } ` ,
8888 value : values [ 0 ]
8989 } )
9090] ;
@@ -103,32 +103,32 @@ module.exports['border-block-end'] = (decl) => {
103103module . exports [ 'border-inline' ] = ( decl , values ) => 1 === values . length || 2 === values . length && values [ 0 ] === values [ 1 ]
104104? [
105105 decl . clone ( {
106- prop : `border-left${ decl . prop . replace ( matchLogicalBorderSide , '$1 ' ) } ` ,
106+ prop : `border-left${ decl . prop . replace ( matchLogicalBorderSide , '$2 ' ) } ` ,
107107 value : values [ 0 ]
108108 } ) ,
109109 decl . clone ( {
110- prop : `border-right${ decl . prop . replace ( matchLogicalBorderSide , '$1 ' ) } ` ,
110+ prop : `border-right${ decl . prop . replace ( matchLogicalBorderSide , '$2 ' ) } ` ,
111111 value : values [ 1 ] || values [ 0 ]
112112 } )
113113]
114114: [
115115 cloneRule ( decl , 'ltr' ) . append ( [
116116 decl . clone ( {
117- prop : `border-left${ decl . prop . replace ( matchLogicalBorderSide , '$1 ' ) } ` ,
117+ prop : `border-left${ decl . prop . replace ( matchLogicalBorderSide , '$2 ' ) } ` ,
118118 value : values [ 0 ]
119119 } ) ,
120120 decl . clone ( {
121- prop : `border-right${ decl . prop . replace ( matchLogicalBorderSide , '$1 ' ) } ` ,
121+ prop : `border-right${ decl . prop . replace ( matchLogicalBorderSide , '$2 ' ) } ` ,
122122 value : values [ 1 ] || values [ 0 ]
123123 } )
124124 ] ) ,
125125 cloneRule ( decl , 'rtl' ) . append ( [
126126 decl . clone ( {
127- prop : `border-right${ decl . prop . replace ( matchLogicalBorderSide , '$1 ' ) } ` ,
127+ prop : `border-right${ decl . prop . replace ( matchLogicalBorderSide , '$2 ' ) } ` ,
128128 value : values [ 0 ]
129129 } ) ,
130130 decl . clone ( {
131- prop : `border-left${ decl . prop . replace ( matchLogicalBorderSide , '$1 ' ) } ` ,
131+ prop : `border-left${ decl . prop . replace ( matchLogicalBorderSide , '$2 ' ) } ` ,
132132 value : values [ 1 ] || values [ 0 ]
133133 } )
134134 ] )
@@ -138,12 +138,12 @@ module.exports['border-inline'] = (decl, values) => 1 === values.length || 2 ===
138138module . exports [ 'border-inline-start' ] = ( decl ) => [
139139 cloneRule ( decl , 'ltr' ) . append (
140140 decl . clone ( {
141- prop : `border-left${ decl . prop . replace ( matchLogicalBorderSide , '$1 ' ) } `
141+ prop : `border-left${ decl . prop . replace ( matchLogicalBorderSide , '$2 ' ) } `
142142 } )
143143 ) ,
144144 cloneRule ( decl , 'rtl' ) . append (
145145 decl . clone ( {
146- prop : `border-right${ decl . prop . replace ( matchLogicalBorderSide , '$1 ' ) } `
146+ prop : `border-right${ decl . prop . replace ( matchLogicalBorderSide , '$2 ' ) } `
147147 } )
148148 )
149149] ;
@@ -152,12 +152,12 @@ module.exports['border-inline-start'] = (decl) => [
152152module . exports [ 'border-inline-end' ] = ( decl ) => [
153153 cloneRule ( decl , 'ltr' ) . append (
154154 decl . clone ( {
155- prop : `border-right${ decl . prop . replace ( matchLogicalBorderSide , '$1 ' ) } `
155+ prop : `border-right${ decl . prop . replace ( matchLogicalBorderSide , '$2 ' ) } `
156156 } )
157157 ) ,
158158 cloneRule ( decl , 'rtl' ) . append (
159159 decl . clone ( {
160- prop : `border-left${ decl . prop . replace ( matchLogicalBorderSide , '$1 ' ) } `
160+ prop : `border-left${ decl . prop . replace ( matchLogicalBorderSide , '$2 ' ) } `
161161 } )
162162 )
163163] ;
@@ -166,44 +166,45 @@ module.exports['border-inline-end'] = (decl) => [
166166module . exports [ 'border-start' ] = ( decl , values ) => [
167167 cloneRule ( decl , 'ltr' ) . append ( [
168168 decl . clone ( {
169- prop : `border-top${ decl . prop . replace ( matchLogicalBorderSide , '$1 ' ) } ` ,
169+ prop : `border-top${ decl . prop . replace ( matchLogicalBorderSide , '$2 ' ) } ` ,
170170 value : values [ 0 ]
171171 } ) ,
172172 decl . clone ( {
173- prop : `border-left${ decl . prop . replace ( matchLogicalBorderSide , '$1 ' ) } ` ,
173+ prop : `border-left${ decl . prop . replace ( matchLogicalBorderSide , '$2 ' ) } ` ,
174174 value : values [ 1 ] || values [ 0 ]
175175 } )
176176 ] ) ,
177177 cloneRule ( decl , 'rtl' ) . append ( [
178178 decl . clone ( {
179- prop : `border-top${ decl . prop . replace ( matchLogicalBorderSide , '$1 ' ) } ` ,
179+ prop : `border-top${ decl . prop . replace ( matchLogicalBorderSide , '$2 ' ) } ` ,
180180 value : values [ 0 ]
181181 } ) ,
182182 decl . clone ( {
183- prop : `border-right${ decl . prop . replace ( matchLogicalBorderSide , '$1 ' ) } ` ,
183+ prop : `border-right${ decl . prop . replace ( matchLogicalBorderSide , '$2 ' ) } ` ,
184184 value : values [ 1 ] || values [ 0 ]
185185 } )
186186 ] )
187187] ;
188188
189189// border-end
190190module . exports [ 'border-end' ] = ( decl , values ) => [
191- cloneRule ( decl , 'ltr' ) . append ( [ decl . clone ( {
192- prop : `border-bottom${ decl . prop . replace ( matchLogicalBorderSide , '$1' ) } ` ,
191+ cloneRule ( decl , 'ltr' ) . append ( [
192+ decl . clone ( {
193+ prop : `border-bottom${ decl . prop . replace ( matchLogicalBorderSide , '$2' ) } ` ,
193194 value : values [ 0 ]
194195 } ) ,
195196 decl . clone ( {
196- prop : `border-right${ decl . prop . replace ( matchLogicalBorderSide , '$1 ' ) } ` ,
197+ prop : `border-right${ decl . prop . replace ( matchLogicalBorderSide , '$2 ' ) } ` ,
197198 value : values [ 1 ] || values [ 0 ]
198199 } )
199200 ] ) ,
200201 cloneRule ( decl , 'rtl' ) . append ( [
201202 decl . clone ( {
202- prop : `border-bottom${ decl . prop . replace ( matchLogicalBorderSide , '$1 ' ) } ` ,
203+ prop : `border-bottom${ decl . prop . replace ( matchLogicalBorderSide , '$2 ' ) } ` ,
203204 value : values [ 0 ]
204205 } ) ,
205206 decl . clone ( {
206- prop : `border-left${ decl . prop . replace ( matchLogicalBorderSide , '$1 ' ) } ` ,
207+ prop : `border-left${ decl . prop . replace ( matchLogicalBorderSide , '$2 ' ) } ` ,
207208 value : values [ 1 ] || values [ 0 ]
208209 } )
209210 ] )
0 commit comments