@@ -281,40 +281,56 @@ Builder.prototype.build = function(options) {
281
281
}
282
282
283
283
// also compile css-variables version if requested
284
- if ( options . cssVariables ) {
284
+ if ( options . cssVariables || options . inlineCssVariables ) {
285
285
// parse the content again to have a clean tree
286
286
const cssVariablesSkeletonTree = await parseContent ( config . content ) ;
287
287
288
288
// generate the skeleton-css and the less-variables
289
289
const CSSVariablesCollectorPlugin = require ( "./plugin/css-variables-collector" ) ;
290
290
const oCSSVariablesCollector = new CSSVariablesCollectorPlugin ( config ) ;
291
- result . cssSkeleton = cssVariablesSkeletonTree . toCSS ( Object . assign ( { } , options . compiler , {
291
+
292
+ const cssSkeleton = cssVariablesSkeletonTree . toCSS ( Object . assign ( { } , options . compiler , {
292
293
plugins : [ oCSSVariablesCollector ]
293
294
} ) ) ;
294
- result . cssVariablesSource = oCSSVariablesCollector . toLessVariables ( ) ;
295
+ const cssVariablesSource = oCSSVariablesCollector . toLessVariables ( ) ;
296
+
297
+ let cssSkeletonRtl ;
295
298
if ( oRTL ) {
296
299
const oCSSVariablesCollectorRTL = new CSSVariablesCollectorPlugin ( config ) ;
297
- result . cssSkeletonRtl = cssVariablesSkeletonTree . toCSS ( Object . assign ( { } , options . compiler , {
300
+ cssSkeletonRtl = cssVariablesSkeletonTree . toCSS ( Object . assign ( { } , options . compiler , {
298
301
plugins : [ oCSSVariablesCollectorRTL , oRTL ]
299
302
} ) ) ;
300
303
}
301
304
302
305
// generate the css-variables content out of the less-variables
303
- const cssVariablesTree = await parseContent ( result . cssVariablesSource ) ;
306
+ const cssVariablesTree = await parseContent ( cssVariablesSource ) ;
304
307
const CSSVariablesPointerPlugin = require ( "./plugin/css-variables-pointer" ) ;
305
- result . cssVariables = cssVariablesTree . toCSS ( Object . assign ( { } , options . compiler , {
308
+ const cssVariables = cssVariablesTree . toCSS ( Object . assign ( { } , options . compiler , {
306
309
plugins : [ new CSSVariablesPointerPlugin ( ) ]
307
310
} ) ) ;
311
+
312
+ result . cssVariables = cssVariables ;
313
+
314
+ // Only add additional CSS Variables content if requested
315
+ if ( options . cssVariables ) {
316
+ result . cssSkeleton = cssSkeleton ;
317
+ if ( oRTL ) {
318
+ result . cssSkeletonRtl = cssSkeletonRtl ;
319
+ }
320
+ result . cssVariablesSource = cssVariablesSource ;
321
+ }
308
322
}
309
323
310
324
return result ;
311
325
}
312
326
313
327
async function addInlineParameters ( result ) {
314
- if (
315
- options . inlineThemingParameters === true &&
316
- typeof options . library === "object" && typeof options . library . name === "string"
317
- ) {
328
+ // Inline parameters can only be added when the library name is known
329
+ if ( typeof options . library !== "object" || typeof options . library . name !== "string" ) {
330
+ return result ;
331
+ }
332
+
333
+ if ( options . inlineThemingParameters === true ) {
318
334
const parameters = JSON . stringify ( result . variables ) ;
319
335
320
336
// properly escape the parameters to be part of a data-uri
@@ -339,8 +355,11 @@ Builder.prototype.build = function(options) {
339
355
}
340
356
}
341
357
342
- if ( options . inlineCssVariables ) {
343
- // TODO
358
+ if ( options . inlineCssVariables === true ) {
359
+ result . css = result . cssVariables + result . css ;
360
+ if ( options . rtl ) {
361
+ result . cssRtl = result . cssVariables + result . cssRtl ;
362
+ }
344
363
}
345
364
346
365
return result ;
0 commit comments