@@ -57,7 +57,7 @@ type ResponsiveArrayOptions<
5757type ConditionalAtomicOptions <
5858 Properties extends AtomicProperties ,
5959 Conditions extends { [ conditionName : string ] : Condition } ,
60- DefaultCondition extends keyof Conditions | false ,
60+ DefaultCondition extends keyof Conditions | Array < keyof Conditions > | false ,
6161> = UnconditionalAtomicOptions < Properties > & {
6262 conditions : Conditions ;
6363 defaultCondition : DefaultCondition ;
@@ -83,7 +83,7 @@ type UnconditionalAtomicStyles<Properties extends AtomicProperties> = {
8383type ConditionalAtomicStyles <
8484 Properties extends AtomicProperties ,
8585 Conditions extends { [ conditionName : string ] : Condition } ,
86- DefaultCondition extends keyof Conditions | false ,
86+ DefaultCondition extends keyof Conditions | Array < keyof Conditions > | false ,
8787> = {
8888 conditions : {
8989 defaultCondition : DefaultCondition ;
@@ -94,7 +94,7 @@ type ConditionalAtomicStyles<
9494 values : Values <
9595 Properties [ Property ] ,
9696 {
97- defaultClass : DefaultCondition extends string ? string : undefined ;
97+ defaultClass : DefaultCondition extends false ? undefined : string ;
9898 conditions : {
9999 [ Rule in keyof Conditions ] : string ;
100100 } ;
@@ -108,7 +108,7 @@ type ConditionalWithResponsiveArrayAtomicStyles<
108108 Properties extends AtomicProperties ,
109109 Conditions extends { [ conditionName : string ] : Condition } ,
110110 ResponsiveLength extends number ,
111- DefaultCondition extends keyof Conditions | false ,
111+ DefaultCondition extends keyof Conditions | Array < keyof Conditions > | false ,
112112> = {
113113 conditions : {
114114 defaultCondition : DefaultCondition ;
@@ -121,7 +121,7 @@ type ConditionalWithResponsiveArrayAtomicStyles<
121121 values : Values <
122122 Properties [ Property ] ,
123123 {
124- defaultClass : DefaultCondition extends string ? string : undefined ;
124+ defaultClass : DefaultCondition extends false ? undefined : string ;
125125 conditions : {
126126 [ Rule in keyof Conditions ] : string ;
127127 } ;
@@ -149,7 +149,7 @@ export function createAtomicStyles<
149149 ResponsiveLength extends number ,
150150 Conditions extends BaseConditions ,
151151 Shorthands extends { [ shorthandName : string ] : Array < keyof Properties > } ,
152- DefaultCondition extends keyof Conditions | false ,
152+ DefaultCondition extends keyof Conditions | Array < keyof Conditions > | false ,
153153> (
154154 options : ConditionalAtomicOptions < Properties , Conditions , DefaultCondition > &
155155 ShorthandOptions < Properties , Shorthands > &
@@ -166,7 +166,7 @@ export function createAtomicStyles<
166166 Properties extends AtomicProperties ,
167167 Conditions extends BaseConditions ,
168168 Shorthands extends { [ shorthandName : string ] : Array < keyof Properties > } ,
169- DefaultCondition extends keyof Conditions | false ,
169+ DefaultCondition extends keyof Conditions | Array < keyof Conditions > | false ,
170170> (
171171 options : ConditionalAtomicOptions < Properties , Conditions , DefaultCondition > &
172172 ShorthandOptions < Properties , Shorthands > ,
@@ -177,7 +177,7 @@ export function createAtomicStyles<
177177 Properties extends AtomicProperties ,
178178 Conditions extends BaseConditions ,
179179 ResponsiveLength extends number ,
180- DefaultCondition extends keyof Conditions | false ,
180+ DefaultCondition extends keyof Conditions | Array < keyof Conditions > | false ,
181181> (
182182 options : ConditionalAtomicOptions < Properties , Conditions , DefaultCondition > &
183183 ResponsiveArrayOptions < Conditions , ResponsiveLength > ,
@@ -191,7 +191,7 @@ export function createAtomicStyles<
191191export function createAtomicStyles <
192192 Properties extends AtomicProperties ,
193193 Conditions extends BaseConditions ,
194- DefaultCondition extends keyof Conditions | false ,
194+ DefaultCondition extends keyof Conditions | Array < keyof Conditions > | false ,
195195> (
196196 options : ConditionalAtomicOptions < Properties , Conditions , DefaultCondition > ,
197197) : ConditionalAtomicStyles < Properties , Conditions , DefaultCondition > ;
@@ -237,6 +237,14 @@ export function createAtomicStyles(options: any): any {
237237 conditions : { } ,
238238 } ;
239239
240+ const defaultConditions = options . defaultCondition
241+ ? Array . isArray ( options . defaultCondition )
242+ ? options . defaultCondition
243+ : [ options . defaultCondition ]
244+ : [ ] ;
245+
246+ const defaultClasses = [ ] ;
247+
240248 for ( const conditionName in options . conditions ) {
241249 let styleValue : StyleRule =
242250 typeof value === 'object' ? value : { [ key ] : value } ;
@@ -277,10 +285,14 @@ export function createAtomicStyles(options: any): any {
277285
278286 styles [ key ] . values [ valueName ] . conditions [ conditionName ] = className ;
279287
280- if ( conditionName === options . defaultCondition ) {
281- styles [ key ] . values [ valueName ] . defaultClass = className ;
288+ if ( defaultConditions . indexOf ( conditionName ) > - 1 ) {
289+ defaultClasses . push ( className ) ;
282290 }
283291 }
292+
293+ if ( defaultClasses . length > 0 ) {
294+ styles [ key ] . values [ valueName ] . defaultClass = defaultClasses . join ( ' ' ) ;
295+ }
284296 } else {
285297 const styleValue : StyleRule =
286298 typeof value === 'object' ? value : { [ key ] : value } ;
0 commit comments