import * as React from 'react'; import * as _ from 'lodash'; import { createComponent, ComponentSlotStylesInput, ThemePrepared, Grid, Header, HeaderProps, ShorthandCollection, } from '@fluentui/react-northstar'; import ColorBox from './ColorBox'; type ColorVariantsProps = { name?: string; themes?: ThemePrepared[]; headers?: ShorthandCollection; }; export const colorVariantsStyles: ComponentSlotStylesInput = { root: { border: '1px solid transparent', borderRadius: '.25rem', overflow: 'hidden', }, }; const ColorSchemes = createComponent({ displayName: 'ColorVariants', render: ({ name, themes, headers, config: { classes } }) => { if (themes.length === 0) return <>; const colorSchemes = _.map(themes, theme => theme.siteVariables.colorScheme[name]); const elements = _.flatMap(_.head(colorSchemes), (i, token) => [ , ..._.map(colorSchemes, (colorScheme, i) => ( )), ]); const columns = _.times(themes.length, () => '180px').join(' '); return (
{headers && headers.map(header => Header.create(header))} {elements}
); }, }); export default ColorSchemes;