@@ -179,39 +179,39 @@ module.exports = (options = {}) => {
179179 '--gm-container-width' : '92rem' ,
180180 '--gm-container-gutter-width' : '1rem' ,
181181
182- '--gm-color-black' : '#333' ,
183- '--gm-color-white' : '#fff' ,
182+ '--gm-color-black' : hexToRgb ( '#333' ) ,
183+ '--gm-color-white' : hexToRgb ( '#fff' ) ,
184184
185- '--gm-color-gray' : '#818181' ,
186- '--gm-color-gray-dark' : '#595959' ,
187- '--gm-color-gray-light' : '#e6e6e6' ,
188- '--gm-color-gray-lightest' : '#f1f1f1' ,
185+ '--gm-color-gray' : hexToRgb ( '#818181' ) ,
186+ '--gm-color-gray-dark' : hexToRgb ( '#595959' ) ,
187+ '--gm-color-gray-light' : hexToRgb ( '#e6e6e6' ) ,
188+ '--gm-color-gray-lightest' : hexToRgb ( '#f1f1f1' ) ,
189189
190- '--gm-color-sky' : '#bedfec' ,
191- '--gm-color-sky-light' : '#deeff5' ,
192- '--gm-color-sky-lightest' : '#ebf5f9' ,
190+ '--gm-color-sky' : hexToRgb ( '#bedfec' ) ,
191+ '--gm-color-sky-light' : hexToRgb ( '#deeff5' ) ,
192+ '--gm-color-sky-lightest' : hexToRgb ( '#ebf5f9' ) ,
193193
194- '--gm-color-mint' : '#cdece2' ,
195- '--gm-color-mint-light' : '#e6f5f0' ,
196- '--gm-color-mint-lightest' : '#f0f9f6' ,
194+ '--gm-color-mint' : hexToRgb ( '#cdece2' ) ,
195+ '--gm-color-mint-light' : hexToRgb ( '#e6f5f0' ) ,
196+ '--gm-color-mint-lightest' : hexToRgb ( '#f0f9f6' ) ,
197197
198- '--gm-color-blue' : '#0047ba' ,
199- '--gm-color-blue-light' : '#bedfec' ,
200- '--gm-color-blue-lightest' : '#deeff5' ,
201- '--gm-color-blue-dark' : '#002169' ,
198+ '--gm-color-blue' : hexToRgb ( '#0047ba' ) ,
199+ '--gm-color-blue-light' : hexToRgb ( '#bedfec' ) ,
200+ '--gm-color-blue-lightest' : hexToRgb ( '#deeff5' ) ,
201+ '--gm-color-blue-dark' : hexToRgb ( '#002169' ) ,
202202
203- '--gm-color-green' : '#008761' ,
204- '--gm-color-green-dark' : '#00524c' ,
205- '--gm-color-green-light' : '#cdece2' ,
206- '--gm-color-green-lightest' : '#e6f5f0' ,
203+ '--gm-color-green' : hexToRgb ( '#008761' ) ,
204+ '--gm-color-green-dark' : hexToRgb ( '#00524c' ) ,
205+ '--gm-color-green-light' : hexToRgb ( '#cdece2' ) ,
206+ '--gm-color-green-lightest' : hexToRgb ( '#e6f5f0' ) ,
207207
208- '--gm-color-red' : '#c0385d' ,
209- '--gm-color-red-light' : '#faedef' ,
208+ '--gm-color-red' : hexToRgb ( '#c0385d' ) ,
209+ '--gm-color-red-light' : hexToRgb ( '#faedef' ) ,
210210
211- '--gm-color-orange' : '#e8a74a' ,
212- '--gm-color-orange-light' : '#f8e5c9' ,
211+ '--gm-color-orange' : hexToRgb ( '#e8a74a' ) ,
212+ '--gm-color-orange-light' : hexToRgb ( '#f8e5c9' ) ,
213213
214- '--gm-color-yellow' : '#fff5d2' ,
214+ '--gm-color-yellow' : hexToRgb ( '#fff5d2' ) ,
215215 } ,
216216 } ) ;
217217
@@ -386,52 +386,52 @@ module.exports = (options = {}) => {
386386 inherit : 'inherit' ,
387387 current : 'currentColor' ,
388388 transparent : 'transparent' ,
389- black : 'var(--gm-color-black)' ,
390- white : 'var(--gm-color-white)' ,
389+ black : 'rgb( var(--gm-color-black) )' ,
390+ white : 'rgb( var(--gm-color-white) )' ,
391391 gray : {
392- DEFAULT : 'var(--gm-color-gray)' ,
393- dark : 'var(--gm-color-gray-dark)' ,
394- light : 'var(--gm-color-gray-light)' ,
395- lightest : 'var(--gm-color-gray-lightest)' ,
392+ DEFAULT : 'rgb( var(--gm-color-gray) )' ,
393+ dark : 'rgb( var(--gm-color-gray-dark) )' ,
394+ light : 'rgb( var(--gm-color-gray-light) )' ,
395+ lightest : 'rgb( var(--gm-color-gray-lightest) )' ,
396396 } ,
397397 sky : {
398- DEFAULT : 'var(--gm-color-sky)' ,
399- light : 'var(--gm-color-sky-light)' ,
400- lightest : 'var(--gm-color-sky-lightest)' ,
398+ DEFAULT : 'rgb( var(--gm-color-sky) )' ,
399+ light : 'rgb( var(--gm-color-sky-light) )' ,
400+ lightest : 'rgb( var(--gm-color-sky-lightest) )' ,
401401 } ,
402402 mint : {
403- DEFAULT : 'var(--gm-color-mint)' ,
404- light : 'var(--gm-color-mint-light)' ,
405- lightest : 'var(--gm-color-mint-lightest)' ,
403+ DEFAULT : 'rgb( var(--gm-color-mint) )' ,
404+ light : 'rgb( var(--gm-color-mint-light) )' ,
405+ lightest : 'rgb( var(--gm-color-mint-lightest) )' ,
406406 } ,
407407 blue : {
408408 // OBOS Blue/Primary brand
409- DEFAULT : 'var(--gm-color-blue)' ,
409+ DEFAULT : 'rgb( var(--gm-color-blue) )' ,
410410 // OBOS Ocean
411- dark : 'var(--gm-color-blue-dark)' ,
412- light : 'var(--gm-color-blue-light)' ,
413- lightest : 'var(--gm-color-blue-lightest)' ,
411+ dark : 'rgb( var(--gm-color-blue-dark) )' ,
412+ light : 'rgb( var(--gm-color-blue-light) )' ,
413+ lightest : 'rgb( var(--gm-color-blue-lightest) )' ,
414414 } ,
415415 green : {
416416 // OBOS Green/Primary brand
417- DEFAULT : 'var(--gm-color-green)' ,
417+ DEFAULT : 'rgb( var(--gm-color-green) )' ,
418418 // OBOS Forest
419- dark : 'var(--gm-color-green-dark)' ,
420- light : 'var(--gm-color-green-light)' ,
421- lightest : 'var(--gm-color-green-lightest)' ,
419+ dark : 'rgb( var(--gm-color-green-dark) )' ,
420+ light : 'rgb( var(--gm-color-green-light) )' ,
421+ lightest : 'rgb( var(--gm-color-green-lightest) )' ,
422422 } ,
423423 red : {
424- DEFAULT : 'var(--gm-color-red)' ,
424+ DEFAULT : 'rgb( var(--gm-color-red) )' ,
425425 // error red
426- light : 'var(--gm-color-red-light)' ,
426+ light : 'rgb( var(--gm-color-red-light) )' ,
427427 } ,
428428 orange : {
429- DEFAULT : 'var(--gm-color-orange)' ,
430- light : 'var(--gm-color-orange-light)' ,
429+ DEFAULT : 'rgb( var(--gm-color-orange) )' ,
430+ light : 'rgb( var(--gm-color-orange-light) )' ,
431431 } ,
432432 yellow : {
433433 // open house
434- DEFAULT : 'var(--gm-color-yellow)' ,
434+ DEFAULT : 'rgb( var(--gm-color-yellow) )' ,
435435 } ,
436436 } ,
437437 fontFamily : {
@@ -572,6 +572,32 @@ module.exports = (options = {}) => {
572572 } ;
573573} ;
574574
575+ /**
576+ * A function that takes in a hex color as a string and returns a string with the color's rgb values.
577+ * @param {string } hex
578+ * @returns {string } The rgb values of the color.
579+ */
580+ function hexToRgb ( hex ) {
581+ // Remove the hash (#) at the start if it's there
582+ let hexValue = hex . replace ( / ^ # / , '' ) ;
583+
584+ // If the hex value is shorthand (3 characters), expand it to 6 characters
585+ if ( hexValue . length === 3 ) {
586+ hexValue = hexValue
587+ . split ( '' )
588+ . map ( ( char ) => char + char )
589+ . join ( '' ) ;
590+ }
591+
592+ // Parse the r, g, and b values from the hex string
593+ const r = Number . parseInt ( hexValue . substring ( 0 , 2 ) , 16 ) ;
594+ const g = Number . parseInt ( hexValue . substring ( 2 , 4 ) , 16 ) ;
595+ const b = Number . parseInt ( hexValue . substring ( 4 , 6 ) , 16 ) ;
596+
597+ // Return the RGB values as a whitespace-separated string
598+ return `${ r } ${ g } ${ b } ` ;
599+ }
600+
575601// These custom components are only used for v1 compat
576602const button = plugin ( ( { addComponents, theme } ) => {
577603 const hoverLoadingBgColor = 'rgba(0, 0, 0, 0.1)' ;
0 commit comments