| 1 |
export const pxToRem = ( pixels ) => { |
| 2 |
if ( ! pixels ) { |
| 3 |
return; |
| 4 |
} else if ( 'string' !== typeof pixels ) { |
| 5 |
pixels = pixels.toString(); |
| 6 |
} |
| 7 |
|
| 8 |
return pixels |
| 9 |
.split( ' ' ) |
| 10 |
.map( ( value ) => `${ value * 0.0625 }rem` ) |
| 11 |
.join( ' ' ); |
| 12 |
}; |
| 13 |
|
| 14 |
export const arrayToClassName = ( array, action ) => { |
| 15 |
return array |
| 16 |
.filter( ( item ) => 'object' === typeof ( item ) ? Object.entries( item )[ 0 ][ 1 ] : item ) |
| 17 |
.map( ( item ) => { |
| 18 |
const value = 'object' === typeof ( item ) ? Object.entries( item )[ 0 ][ 0 ] : item; |
| 19 |
|
| 20 |
return action ? action( value ) : value; |
| 21 |
} ) |
| 22 |
.join( ' ' ); |
| 23 |
}; |
| 24 |
|
| 25 |
export const stringToRemValues = ( string ) => { |
| 26 |
return string |
| 27 |
.split( ' ' ) |
| 28 |
.map( ( value ) => pxToRem( value ) ) |
| 29 |
.join( ' ' ); |
| 30 |
}; |
| 31 |
|
| 32 |
export const rgbToHex = ( r, g, b ) => '#' + [ r, g, b ].map( ( x ) => { |
| 33 |
const hex = x.toString( 16 ); |
| 34 |
return 1 === hex.length ? '0' + hex : hex; |
| 35 |
} ).join( '' ); |
| 36 |
|
| 37 |
export const isOneOf = ( filetype, filetypeOptions ) => { |
| 38 |
return filetypeOptions.some( ( type ) => filetype.includes( type ) ); |
| 39 |
}; |
| 40 |
|
| 41 |
export const arrayToObjectByKey = ( array, key ) => { |
| 42 |
const finalObject = {}; |
| 43 |
|
| 44 |
array.forEach( ( item ) => finalObject[ item[ key ] ] = item ); |
| 45 |
|
| 46 |
return finalObject; |
| 47 |
}; |
| 48 |
|