diff --git a/ui/design-tokens/src/ColorBlock/ColorBlock.stories.tsx b/ui/design-tokens/src/ColorBlock/ColorBlock.stories.tsx
deleted file mode 100644
index 2d4fa648b..000000000
--- a/ui/design-tokens/src/ColorBlock/ColorBlock.stories.tsx
+++ /dev/null
@@ -1,16 +0,0 @@
-import React from 'react';
-import { ColorBlock, ColorBlockProps } from './ColorBlock';
-
-export default {
- title: 'Design Tokens/ColorBlock',
- component: ColorBlock,
-};
-
-export const overview = ({ color, name }: ColorBlockProps) => (
-
-);
-
-overview.colors = {
- name: { type: 'text' },
- color: { type: 'color', value: 'blue' },
-};
diff --git a/ui/design-tokens/src/ColorSwatch/ColorBlock.stories.tsx b/ui/design-tokens/src/ColorSwatch/ColorBlock.stories.tsx
new file mode 100644
index 000000000..08cb548ee
--- /dev/null
+++ b/ui/design-tokens/src/ColorSwatch/ColorBlock.stories.tsx
@@ -0,0 +1,16 @@
+import React from 'react';
+import { ColorSwatch, ColorBlockProps } from './ColorSwatch';
+
+export default {
+ title: 'Design Tokens/ColorSwatch',
+ component: ColorSwatch,
+};
+
+export const overview = ({ name, color }: ColorBlockProps) => (
+
+);
+
+overview.controls = {
+ name: { type: 'text' },
+ color: { type: 'color', value: '#fbce4a' },
+};
diff --git a/ui/design-tokens/src/ColorBlock/ColorBlock.tsx b/ui/design-tokens/src/ColorSwatch/ColorSwatch.tsx
similarity index 59%
rename from ui/design-tokens/src/ColorBlock/ColorBlock.tsx
rename to ui/design-tokens/src/ColorSwatch/ColorSwatch.tsx
index 98d8c1c2a..991183df9 100644
--- a/ui/design-tokens/src/ColorBlock/ColorBlock.tsx
+++ b/ui/design-tokens/src/ColorSwatch/ColorSwatch.tsx
@@ -1,19 +1,29 @@
/** @jsx jsx */
import { FC } from 'react';
import { jsx, Box, Theme } from 'theme-ui';
-import { parseToRgb } from 'polished';
+import { parseToRgb, rgbToColorString } from 'polished';
export interface ColorBlockProps {
name?: string;
color: string;
}
-export const ColorBlock: FC = ({ name, color }) => {
- const hex = color;
- const rgb = parseToRgb(color);
+export const ColorSwatch: FC = ({ name, color }) => {
+ const colorStr = color.toLowerCase().startsWith('rgb')
+ ? rgbToColorString(parseToRgb(color))
+ : color;
+ const hex = colorStr.startsWith('#') ? colorStr : `#${colorStr}`;
+ const rgb = parseToRgb(hex);
return (
-
+ ` 1px solid ${t.colors?.shadow}`,
+ }}
+ >
= ({ name, color }) => {
sx={{
fontWeight: 'bold',
borderBottom: (t: Theme) => ` 1px solid ${t.colors?.shadow}`,
+ pb: 1,
}}
>
{name || hex}
diff --git a/ui/design-tokens/src/ColorSwatch/index.ts b/ui/design-tokens/src/ColorSwatch/index.ts
new file mode 100644
index 000000000..dc9d7f9f6
--- /dev/null
+++ b/ui/design-tokens/src/ColorSwatch/index.ts
@@ -0,0 +1 @@
+export * from './ColorSwatch';
diff --git a/ui/design-tokens/src/index.ts b/ui/design-tokens/src/index.ts
index e69de29bb..dc9d7f9f6 100644
--- a/ui/design-tokens/src/index.ts
+++ b/ui/design-tokens/src/index.ts
@@ -0,0 +1 @@
+export * from './ColorSwatch';