documentation-site/components/theming/colors.jsx (41 lines of code) (raw):

/* Copyright (c) Uber Technologies, Inc. This source code is licensed under the MIT license found in the LICENSE file in the root directory of this source tree. */ // import * as React from "react"; import { useStyletron, expandBorderStyles } from "baseui/styles"; import { colors } from "baseui/tokens"; import { PropertyCompareTheme } from "./common.jsx"; function getTokenFromCode(code) { let res = ""; Object.entries(colors).forEach(([name, value]) => { if (value === code) res = name; }); return res; } export function Color({ name }) { const [css] = useStyletron(); return ( <PropertyCompareTheme name={name} concern="colors" renderBox={({ previewTheme, commonStyles }) => ( <div className={css({ ...commonStyles, ...expandBorderStyles(previewTheme.borders.border600), backgroundColor: previewTheme.colors[name], })} ></div> )} renderValue={({ previewTheme }) => ( <React.Fragment> <div>{previewTheme.colors[name]}</div> <div>{getTokenFromCode(previewTheme.colors[name])}</div> </React.Fragment> )} /> ); }