);
-export function H2({ children, atomicClasses, ...rest }: HeadingElement): JSX.Element {
+export function H2({
+ children,
+ ...rest
+}: React.DetailedHTMLProps<
+ React.HTMLAttributes,
+ HTMLHeadingElement
+>): JSX.Element {
const id = generateSlug({ level: 'section', children });
- const classes = classnames({ [`${atomicClasses}`]: atomicClasses, 'mt6 mb3': !atomicClasses });
const contents = (
-
+
{children}
);
diff --git a/next/images/pages/guide/product/color/overiew/emphasis.png b/next/images/pages/guide/product/color/overiew/emphasis.png
deleted file mode 100644
index 752ca13b..00000000
Binary files a/next/images/pages/guide/product/color/overiew/emphasis.png and /dev/null differ
diff --git a/next/images/pages/guide/product/color/overiew/interaction.png b/next/images/pages/guide/product/color/overiew/interaction.png
deleted file mode 100644
index 89fa998d..00000000
Binary files a/next/images/pages/guide/product/color/overiew/interaction.png and /dev/null differ
diff --git a/next/images/pages/guide/product/color/overiew/usage.png b/next/images/pages/guide/product/color/overiew/usage.png
deleted file mode 100644
index 3d813398..00000000
Binary files a/next/images/pages/guide/product/color/overiew/usage.png and /dev/null differ
diff --git a/next/images/pages/guide/product/color/palette/blue.png b/next/images/pages/guide/product/color/palette/blue.png
deleted file mode 100644
index 0d092b37..00000000
Binary files a/next/images/pages/guide/product/color/palette/blue.png and /dev/null differ
diff --git a/next/images/pages/guide/product/color/palette/green.png b/next/images/pages/guide/product/color/palette/green.png
deleted file mode 100644
index f770d2ce..00000000
Binary files a/next/images/pages/guide/product/color/palette/green.png and /dev/null differ
diff --git a/next/images/pages/guide/product/color/palette/indigo.png b/next/images/pages/guide/product/color/palette/indigo.png
deleted file mode 100644
index 53e2c8c9..00000000
Binary files a/next/images/pages/guide/product/color/palette/indigo.png and /dev/null differ
diff --git a/next/images/pages/guide/product/color/palette/neutral.png b/next/images/pages/guide/product/color/palette/neutral.png
deleted file mode 100644
index 1499ac98..00000000
Binary files a/next/images/pages/guide/product/color/palette/neutral.png and /dev/null differ
diff --git a/next/images/pages/guide/product/color/palette/purple.png b/next/images/pages/guide/product/color/palette/purple.png
deleted file mode 100644
index ab88a848..00000000
Binary files a/next/images/pages/guide/product/color/palette/purple.png and /dev/null differ
diff --git a/next/images/pages/guide/product/color/palette/red.png b/next/images/pages/guide/product/color/palette/red.png
deleted file mode 100644
index 55b1c58e..00000000
Binary files a/next/images/pages/guide/product/color/palette/red.png and /dev/null differ
diff --git a/next/images/pages/guide/product/color/palette/yellow.png b/next/images/pages/guide/product/color/palette/yellow.png
deleted file mode 100644
index cea0e815..00000000
Binary files a/next/images/pages/guide/product/color/palette/yellow.png and /dev/null differ
diff --git a/next/images/pages/guide/product/color/usage/background/accent.png b/next/images/pages/guide/product/color/usage/background/accent.png
deleted file mode 100644
index 760cbc23..00000000
Binary files a/next/images/pages/guide/product/color/usage/background/accent.png and /dev/null differ
diff --git a/next/images/pages/guide/product/color/usage/background/alert.png b/next/images/pages/guide/product/color/usage/background/alert.png
deleted file mode 100644
index 7a6e16ec..00000000
Binary files a/next/images/pages/guide/product/color/usage/background/alert.png and /dev/null differ
diff --git a/next/images/pages/guide/product/color/usage/background/caution.png b/next/images/pages/guide/product/color/usage/background/caution.png
deleted file mode 100644
index ffc59fac..00000000
Binary files a/next/images/pages/guide/product/color/usage/background/caution.png and /dev/null differ
diff --git a/next/images/pages/guide/product/color/usage/background/guidance.png b/next/images/pages/guide/product/color/usage/background/guidance.png
deleted file mode 100644
index 4cba3a3c..00000000
Binary files a/next/images/pages/guide/product/color/usage/background/guidance.png and /dev/null differ
diff --git a/next/images/pages/guide/product/color/usage/background/intro.png b/next/images/pages/guide/product/color/usage/background/intro.png
deleted file mode 100644
index fcb99f55..00000000
Binary files a/next/images/pages/guide/product/color/usage/background/intro.png and /dev/null differ
diff --git a/next/images/pages/guide/product/color/usage/background/neutral.png b/next/images/pages/guide/product/color/usage/background/neutral.png
deleted file mode 100644
index 08f29abb..00000000
Binary files a/next/images/pages/guide/product/color/usage/background/neutral.png and /dev/null differ
diff --git a/next/images/pages/guide/product/color/usage/background/primary.png b/next/images/pages/guide/product/color/usage/background/primary.png
deleted file mode 100644
index 5180ddc9..00000000
Binary files a/next/images/pages/guide/product/color/usage/background/primary.png and /dev/null differ
diff --git a/next/images/pages/guide/product/color/usage/background/success.png b/next/images/pages/guide/product/color/usage/background/success.png
deleted file mode 100644
index 46725dfa..00000000
Binary files a/next/images/pages/guide/product/color/usage/background/success.png and /dev/null differ
diff --git a/next/images/pages/guide/product/color/usage/borders/guidance.png b/next/images/pages/guide/product/color/usage/borders/guidance.png
deleted file mode 100644
index deb9d319..00000000
Binary files a/next/images/pages/guide/product/color/usage/borders/guidance.png and /dev/null differ
diff --git a/next/images/pages/guide/product/color/usage/borders/intro.png b/next/images/pages/guide/product/color/usage/borders/intro.png
deleted file mode 100644
index f403a7e3..00000000
Binary files a/next/images/pages/guide/product/color/usage/borders/intro.png and /dev/null differ
diff --git a/next/images/pages/guide/product/color/usage/borders/neutral.png b/next/images/pages/guide/product/color/usage/borders/neutral.png
deleted file mode 100644
index 549ec11f..00000000
Binary files a/next/images/pages/guide/product/color/usage/borders/neutral.png and /dev/null differ
diff --git a/next/images/pages/guide/product/color/usage/icons/accent.png b/next/images/pages/guide/product/color/usage/icons/accent.png
deleted file mode 100644
index 976296f3..00000000
Binary files a/next/images/pages/guide/product/color/usage/icons/accent.png and /dev/null differ
diff --git a/next/images/pages/guide/product/color/usage/icons/alert.png b/next/images/pages/guide/product/color/usage/icons/alert.png
deleted file mode 100644
index 2baef9e4..00000000
Binary files a/next/images/pages/guide/product/color/usage/icons/alert.png and /dev/null differ
diff --git a/next/images/pages/guide/product/color/usage/icons/caution.png b/next/images/pages/guide/product/color/usage/icons/caution.png
deleted file mode 100644
index 54df9c8c..00000000
Binary files a/next/images/pages/guide/product/color/usage/icons/caution.png and /dev/null differ
diff --git a/next/images/pages/guide/product/color/usage/icons/guidance.png b/next/images/pages/guide/product/color/usage/icons/guidance.png
deleted file mode 100644
index b56d30cd..00000000
Binary files a/next/images/pages/guide/product/color/usage/icons/guidance.png and /dev/null differ
diff --git a/next/images/pages/guide/product/color/usage/icons/intro.png b/next/images/pages/guide/product/color/usage/icons/intro.png
deleted file mode 100644
index 745a6c2f..00000000
Binary files a/next/images/pages/guide/product/color/usage/icons/intro.png and /dev/null differ
diff --git a/next/images/pages/guide/product/color/usage/icons/neutral.png b/next/images/pages/guide/product/color/usage/icons/neutral.png
deleted file mode 100644
index ae6ed164..00000000
Binary files a/next/images/pages/guide/product/color/usage/icons/neutral.png and /dev/null differ
diff --git a/next/images/pages/guide/product/color/usage/icons/primary.png b/next/images/pages/guide/product/color/usage/icons/primary.png
deleted file mode 100644
index d9e3aed5..00000000
Binary files a/next/images/pages/guide/product/color/usage/icons/primary.png and /dev/null differ
diff --git a/next/images/pages/guide/product/color/usage/icons/success.png b/next/images/pages/guide/product/color/usage/icons/success.png
deleted file mode 100644
index 39d25bd6..00000000
Binary files a/next/images/pages/guide/product/color/usage/icons/success.png and /dev/null differ
diff --git a/next/images/pages/guide/product/color/usage/icons/usage-intro-icon.png b/next/images/pages/guide/product/color/usage/icons/usage-intro-icon.png
deleted file mode 100644
index 745a6c2f..00000000
Binary files a/next/images/pages/guide/product/color/usage/icons/usage-intro-icon.png and /dev/null differ
diff --git a/next/images/pages/guide/product/color/usage/text/accent.png b/next/images/pages/guide/product/color/usage/text/accent.png
deleted file mode 100644
index bcff1c29..00000000
Binary files a/next/images/pages/guide/product/color/usage/text/accent.png and /dev/null differ
diff --git a/next/images/pages/guide/product/color/usage/text/alert.png b/next/images/pages/guide/product/color/usage/text/alert.png
deleted file mode 100644
index 1a88cb2d..00000000
Binary files a/next/images/pages/guide/product/color/usage/text/alert.png and /dev/null differ
diff --git a/next/images/pages/guide/product/color/usage/text/caution.png b/next/images/pages/guide/product/color/usage/text/caution.png
deleted file mode 100644
index 3b5b46b3..00000000
Binary files a/next/images/pages/guide/product/color/usage/text/caution.png and /dev/null differ
diff --git a/next/images/pages/guide/product/color/usage/text/guidance.png b/next/images/pages/guide/product/color/usage/text/guidance.png
deleted file mode 100644
index 88c70f75..00000000
Binary files a/next/images/pages/guide/product/color/usage/text/guidance.png and /dev/null differ
diff --git a/next/images/pages/guide/product/color/usage/text/intro.png b/next/images/pages/guide/product/color/usage/text/intro.png
deleted file mode 100644
index 0e75baa7..00000000
Binary files a/next/images/pages/guide/product/color/usage/text/intro.png and /dev/null differ
diff --git a/next/images/pages/guide/product/color/usage/text/neutral.png b/next/images/pages/guide/product/color/usage/text/neutral.png
deleted file mode 100644
index 6f3b75e7..00000000
Binary files a/next/images/pages/guide/product/color/usage/text/neutral.png and /dev/null differ
diff --git a/next/images/pages/guide/product/color/usage/text/primary.png b/next/images/pages/guide/product/color/usage/text/primary.png
deleted file mode 100644
index 070ff718..00000000
Binary files a/next/images/pages/guide/product/color/usage/text/primary.png and /dev/null differ
diff --git a/next/images/pages/guide/product/color/usage/text/success.png b/next/images/pages/guide/product/color/usage/text/success.png
deleted file mode 100644
index 2c5381e7..00000000
Binary files a/next/images/pages/guide/product/color/usage/text/success.png and /dev/null differ
diff --git a/next/pages/guidelines/color.tsx b/next/pages/guidelines/color.tsx
new file mode 100644
index 00000000..4f34415a
--- /dev/null
+++ b/next/pages/guidelines/color.tsx
@@ -0,0 +1,418 @@
+import React from 'react';
+import type { InferGetStaticPropsType } from 'next';
+import { Grid, GridColumn, Text } from '@thumbtack/thumbprint-react';
+import * as tokens from '@thumbtack/thumbprint-tokens';
+import { ContentPage } from '../../components/mdx/mdx';
+import getContentPageStaticProps from '../../utils/get-content-page-static-props';
+import { CodeExperimental, H2, H3, LI, P, UL } from '../../components/mdx/components';
+import SwatchUsage from '../../components/thumbprint-guide/swatch-usage';
+import Swatch from '../../components/thumbprint-guide/swatch';
+
+export const getStaticProps = getContentPageStaticProps;
+
+export default function OverviewAbout({
+ layoutProps,
+}: InferGetStaticPropsType) {
+ return (
+
+
Naming
+
+ Color names are unambiguous and direct. "Blue" means blue. We do this to
+ avoid unneeded abstractions. Extended color names, like{' '}
+ black-300 are variations that, like font-weight
+ values, denote increasingly darker (500, 600) and increasingly lighter shades (300,
+ 200).
+
+
Palette
+
+
+ Our primary palette consists of "core" colors, as indicated by{' '}
+ (c), and help establish our brand.
+
+
+ We have extended this with shades that are reserved primarily for illustrations.
+
+ Accessibility is important for everyone, and it should not forgotten in the design
+ process. Accessible colors are vital for those with color blindness or other vision
+ impairments. By using a high color contrast ratio, you can make sure that your
+ design is accessible to as many people as possible.
+
+
Text styling
+
+ All text, including text in images and link text, should have enough contrast to
+ stand out. This is especially important for links that aren’t underlined (and should
+ apply to all states, including default, hover, and focus). See{' '}
+
+ WCAG 2.1 AA success criterion
+ {' '}
+ for contrast for the current requirements.
+
+
Color combinations
+
+ The color system is set up to provide an accessible experience by combining a
+ particular range of color values from Thumbprint. The combinations include any{' '}
+ 100-level color paired with any 600-level color
+ values. For example, when using the blue-100 background color, the{' '}
+ blue-600 color should be used for the text.
+
+
100-level background
+
+ A common and preferred pattern for non-interactive elements when applying a
+ background color uses the 100-level values for backgrounds. The{' '}
+ 600-level color of the same hue will ensure an accessible color
+ contrast ratio combined with this background treatment.{' '}
+ Any value below the 600-level (500, 400, 300, 200, 100){' '}
+ will not meet the minimum CCR requirement, and the use of these
+ combinations should be avoided.
+
+
+
+
+
+
+ blue-600
+
+
+
+
+
+
+ indigo-600
+
+
+
+
+
+
+ purple-600
+
+
+
+
+
+
+ green-600
+
+
+
+
+
+
+ yellow-600
+
+
+
+
+
+
+ red-600
+
+
+
+
+
+
White background
+
+ The foreground text should use the 500 value when using a{' '}
+ white background with the exclusion of yellow, which will require
+ the use of yellow-600. This combination ensures that the color
+ contrast ratio meets the 4.5:1 minimum.{' '}
+ Any value below the 500-level (400, 300, 200, 100){' '}
+ will not meet the minimum CCR requirement, and the use of these
+ combinations should be avoided.
+
+
+
+
+
+
+ blue-500
+
+
+
+
+
+
+ indigo-500
+
+
+
+
+
+
+ purple-500
+
+
+
+
+
+
+ green-500
+
+
+
+
+
+
+ yellow-600
+
+
+
+
+
+
+ red-500
+
+
+
+
+
+
Neutral colors
+
+ When using a combination of neutral colors, not all combinations of colors will
+ provide an accessible experience. The following graph represents the minimum color
+ combinations expressed by the WCAG AA color contrast ratio and our established color
+ palette.
+
+
+
+
+
+
+ black-300
+
+
+
+
+
+
+ black-300
+
+
+
+
+
+
+ black
+
+
+
+
+
+
+ gray-200
+
+
+
+
+
+
+ gray-300
+
+
+
+
+
+
Avoid using color exclusively
+
+ Colors can also be used to convey information. For example, using red for error
+ messages or green for success messages can help users understand your interface more
+ quickly. Ultimately, accessible colors can help create a better experience for all
+ users, regardless of their abilities.
+
+
+ However, color alone should not be used exclusively as an indicator for a user
+ experience especially when an action or response from the user is required. To
+ provide a more inclusive experience, additional information, such as supportive
+ text, should be included.
+
+
+ For example, when expressing an error state on an input in a form, the input color
+ should provide a visual indicator that the element needs attention. However, the
+ color change should not be the sole indicator. The color change should be paired
+ with supportive text that gives the user more information on how to recover from the
+ error state.
+
+
Implementations
+
+
+ All color variables shown here available for SCSS and JS usage in{' '}
+ Thumbprint Tokens.
+
+
+ The "core" colors, as indicated by{' '}
+ (c), are available as classes in{' '}
+ Thumbprint Atomic for both{' '}
+ color and{' '}
+ background properties.
+
+
+ );
+}
diff --git a/next/pages/guidelines/color/accessibility.tsx b/next/pages/guidelines/color/accessibility.tsx
deleted file mode 100644
index 0cb5740a..00000000
--- a/next/pages/guidelines/color/accessibility.tsx
+++ /dev/null
@@ -1,339 +0,0 @@
-import React from 'react';
-import type { InferGetStaticPropsType } from 'next';
-import { Grid, GridColumn, Text } from '@thumbtack/thumbprint-react';
-import * as tokens from '@thumbtack/thumbprint-tokens';
-import { ContentPage } from '../../../components/mdx/mdx';
-import getContentPageStaticProps from '../../../utils/get-content-page-static-props';
-import { CodeExperimental, H2, H3, LI, P, UL } from '../../../components/mdx/components';
-
-export const getStaticProps = getContentPageStaticProps;
-
-export default function Accessibility({
- layoutProps,
-}: InferGetStaticPropsType) {
- return (
-
-
- Color usage plays a key role in how we convey emotions, establishing brand identity,
- and guiding user interactions. Consistent and thoughtful color choices also improve
- usability, highlight important elements, and create a cohesive design language
- across the product.
-
-
-
Accessibility
-
- Accessible colors are vital for those with color blindness or other vision
- impairments. By using a high color contrast ratio, you can make sure that your
- design is accessible to as many people as possible.
-
-
Text styling
-
- All text, including text in images and link text, should have enough contrast to
- stand out. This is especially important for links that aren’t underlined (and should
- apply to all states, including default, hover, and focus). See{' '}
-
- WCAG 2.1 AA success criterion
- {' '}
- for contrast for the current requirements.
-
-
Color combinations
-
- The color system is set up to provide an accessible experience by combining a
- particular range of color values from Thumbprint. The combinations include any{' '}
- 100-level color paired with any 600-level color
- values. For example, when using the blue-100 background color, the{' '}
- blue-600 color should be used for the text.
-
-
-
Low emphasis backgrounds
-
- A common and preferred pattern for non-interactive elements when applying a
- background color uses the 100-level values for backgrounds. The{' '}
- 600-level color of the same hue will ensure an accessible color
- contrast ratio combined with this background treatment.{' '}
- Any value below the 600-level (500, 400, 300, 200, 100){' '}
- will not meet the minimum CCR requirement, and the use of these
- combinations should be avoided.
-
-
-
-
-
-
-
- blue-600
-
-
-
-
-
-
- indigo-600
-
-
-
-
-
-
- purple-600
-
-
-
-
-
-
- green-600
-
-
-
-
-
-
- yellow-600
-
-
-
-
-
-
- red-600
-
-
-
-
-
-
-
High emphasis backgrounds
-
- When moments in the user experience call for bringing more emphasis to the moment,
- then a darker value of of the color system can be used a background. These are more
- commonly going to be used as a 500 (Yellow 600) value. White text or 100-level color
- should be used.
-
-
-
-
-
-
-
- white
-
-
-
-
-
-
- white
-
-
-
-
-
-
- white
-
-
-
-
-
-
- white
-
-
-
-
-
-
- white
-
-
-
-
-
-
- white
-
-
-
-
-
-
-
White background
-
- The foreground text should use the 500 value when using a{' '}
- white background with the exclusion of yellow, which will require
- the use of yellow-600. This combination ensures that the color
- contrast ratio meets the 4.5:1 minimum.{' '}
- Any value below the 500-level (400, 300, 200, 100){' '}
- will not meet the minimum CCR requirement, and the use of these
- combinations should be avoided.
-
-
-
-
-
-
-
- blue-500
-
-
-
-
-
-
- indigo-500
-
-
-
-
-
-
- purple-500
-
-
-
-
-
-
- green-500
-
-
-
-
-
-
- yellow-600
-
-
-
-
-
-
- red-500
-
-
-
-
-
-
-
Neutral colors
-
- When using a combination of neutral colors, not all combinations of colors will
- provide an accessible experience. The following graph represents the minimum color
- combinations expressed by the WCAG AA color contrast ratio and our established color
- palette.
-
-
-
-
-
-
-
- black-300
-
-
-
-
-
-
- black-300
-
-
-
-
-
-
- black
-
-
-
-
-
-
- gray-200
-
-
-
-
-
-
- gray-300
-
-
-
-
-
-
-
Avoid using color exclusively
-
- Colors can also be used to convey information. For example, using red for error
- messages or green for success messages can help users understand your interface more
- quickly. Ultimately, accessible colors can help create a better experience for all
- users, regardless of their abilities.
-
-
- However, color alone should not be used exclusively as an indicator for a user
- experience especially when an action or response from the user is required. To
- provide a more inclusive experience, additional information, such as supportive
- text, should be included.
-
-
- For example, when expressing an error state on an input in a form, the input color
- should provide a visual indicator that the element needs attention. However, the
- color change should not be the sole indicator. The color change should be paired
- with supportive text that gives the user more information on how to recover from the
- error state.
-
-
Implementations
-
-
- All color variables shown here available for SCSS and JS usage in{' '}
- Thumbprint Tokens.
-
-
- The "core" colors, as indicated by{' '}
- (c), are available as classes in{' '}
- Thumbprint Atomic for both{' '}
- color and{' '}
- background properties.
-
- Colors play a crucial role in communicating status, guidance, and providing visual
- cues. Color should be used sparingly to drive focus to moments that matter. Color
- should not be used to add personality or flair.
-
-
-
-
Color themes
-
- Our use of color can be defined in two major types classified as brand and
- feedback colors.
-
-
-
-
-
Brand colors
-
- These colors are used to create a consistent visual identity and evoke specific
- emotions or associations within a design system.
-
- {colorThemeTable({ type: 'brand' })}
-
-
-
-
Feedback colors
-
- These colors are used to help re-enforce important moments in the user journey
- that suggest or require additional guidance, gather user input, and improve the
- user experience.
-
- {colorThemeTable({ type: 'feedback' })}
-
-
- See all colors
-
-
-
Usage
-
- Color usage is arranged into four high-level categories background, border, text
- and icon. Color usage patterns are represented by their intended use case.
-
-
-
-
-
-
- {OverviewTable({ list: usageContent })}
-
-
- Read more about color usage
-
-
-
Emphasis
-
- Not all experiences are treated equal. To provide varying levels of importance
- in conjunction with the hue, we use levels of emphasis to draw the users
- attention. A strong emphasis is high contrast in comparison to the surface the
- component occupies.
-
-
-
-
-
-
- {OverviewTable({ list: emphasisContent })}
-
-
-
-
Interaction
-
- Status such as hover, selected, disabled, and others describe how users engage
- with content. Not all elements are interactive, but our{' '}
- color usage patterns {' '}
- provide additional color definitions when applicable.
-
- Core colors are expanded into a range of values to support varying moments within
- the product. The usage patterns for each value below can be found in our usage page.
-
-
-
-
Color system
-
- These colors should be used to drive the user experience depending on their
- intended use case and should be used sparingly to drive focus to moments that
- matter from a branded or feedback perspective.
-
-
-
- {/* palette */}
-
-
-
-
- Neutral
-
-
- 100
-
-
- 200
-
-
- 300
-
-
- Core
-
-
- 500
-
-
- 600
-
-
-
-
-
-
- Netural
-
-
-
-
-
-
-
-
-
-
- Blue
-
-
-
-
-
-
-
-
-
-
- Green
-
-
-
-
-
-
-
-
-
-
- Yellow
-
-
-
-
-
-
-
-
-
-
- Red
-
-
-
-
-
-
-
-
-
-
- Indigo
-
-
-
-
-
-
-
-
-
-
- Purple
-
-
-
-
-
-
-
-
-
-
-
- {/* colors */}
- {renderColors({ usages })}
-
- );
-}
-
-export const getStaticProps = async () => {
- const listRowsRes = await fetch(
- // https://coda.io/developers/apis/v1#operation/listRows
- `https://coda.io/apis/v1/docs/bXyUQb2tJW/tables/grid-oefPpAQq-z/rows?useColumnNames=true`,
- {
- headers: {
- Authorization: `Bearer ${process.env.CODA_API_TOKEN}`,
- },
- },
- );
-
- const data = listRowsRes.ok ? await listRowsRes.json() : null;
- const usages: Usage[] = data ? data.items : [];
-
- const groupedUsages = groupBy(usages, usage => {
- return usage.values.family;
- });
-
- return {
- props: {
- layoutProps: getLayoutProps(),
- usages: groupedUsages,
- },
- };
-};
diff --git a/next/pages/guidelines/color/usage/background.tsx b/next/pages/guidelines/color/usage/background.tsx
deleted file mode 100644
index 234bc8f4..00000000
--- a/next/pages/guidelines/color/usage/background.tsx
+++ /dev/null
@@ -1,157 +0,0 @@
-import React from 'react';
-import type { InferGetStaticPropsType } from 'next';
-import { groupBy } from 'lodash-es';
-import { ContentPage } from '../../../../components/mdx/mdx';
-import Alert from '../../../../components/alert/alert';
-import InlineCode from '../../../../components/inline-code/inline-code';
-import getLayoutProps from '../../../../utils/get-layout-props';
-import { H2, H3, LI, P, UL } from '../../../../components/mdx/components';
-import ExampleBox from '../../../../components/example-box';
-import UsageCategory from '../../../../utils/guidelines/color/color-usage-categories';
-import ColorUsageNav from '../../../../utils/guidelines/color/color-usage-nav';
-import { Usage, Image } from '../../../../utils/guidelines/color/color-usage-types';
-
-import intro from '../../../../images/pages/guide/product/color/usage/background/intro.png';
-import neutral from '../../../../images/pages/guide/product/color/usage/background/neutral.png';
-import primary from '../../../../images/pages/guide/product/color/usage/background/primary.png';
-import success from '../../../../images/pages/guide/product/color/usage/background/success.png';
-import guidance from '../../../../images/pages/guide/product/color/usage/background/guidance.png';
-import alert from '../../../../images/pages/guide/product/color/usage/background/alert.png';
-import caution from '../../../../images/pages/guide/product/color/usage/background/caution.png';
-import accent from '../../../../images/pages/guide/product/color/usage/background/accent.png';
-
-const images: Image = {
- neutral: {
- src: neutral,
- alt: 'user interface example where the netural theme is applied to element backgrounds',
- },
- primary: {
- src: primary,
- alt: 'user interface example where the primary theme is applied to element backgrounds',
- },
- success: {
- src: success,
- alt: 'user interface example where the success theme is applied to element backgrounds',
- },
- guidance: {
- src: guidance,
- alt: 'user interface example where the guidance theme is applied to element backgrounds',
- },
- alert: {
- src: alert,
- alt: 'user interface example where the alert theme is applied to element backgrounds',
- },
- caution: {
- src: caution,
- alt: 'user interface example where the caution theme is applied to element backgrounds',
- },
- accent: {
- src: accent,
- alt: 'user interface example where the accent theme is applied to element backgrounds',
- },
-};
-
-export default function UsageBackground({
- usages,
- layoutProps,
-}: InferGetStaticPropsType) {
- return (
-
- {usages.length === 0 && (
-
- You’ll need to add CODA_API_TOKEN environment variable
- to a www/.env file in order to see the component
- statuses while developing locally. Read the{' '}
-
- CONTRIBUTING.md
- {' '}
- file for help.
-
- )}
-
-
- The use of color plays a key role in how we convey emotions, establish brand
- identity, and guide user interactions. Consistent and thoughtful color choices also
- improve usability, highlight important elements, and create a cohesive design
- language across the product.
-
-
-
-
-
-
-
-
-
-
-
-
Background colors
-
- Backgrounds foundational determine color usage hierarchically. Text, borders,
- and icon color usage will vary depending on the background surface color.
-
-
-
- To build a sense of elevation, backgrounds can also be layered on top of one
- another. For example, a pill within a card can use color to build a visual
- indexing importance that can be dictated by color.
-
-
-
- Levels of emphasis can also be used to further accentuate the importance of
- specific areas of the UI. By default, toasts use a high emphasis background to
- drive impact to meaningful and timely moments.
-
-
-
-
General principles
-
-
Use neutral values for pages/views
{' '}
-
- Core Primary color (Blue 400) is reserved for interactive elements (ex:
- Button)
-
{' '}
-
Colors designated for feedback should be used sparingly
-
Avoid mixing color surfaces
-
-
-
-
-
- );
-}
-
-export const getStaticProps = async () => {
- const listRowsRes = await fetch(
- // https://coda.io/developers/apis/v1#operation/listRows
- `https://coda.io/apis/v1/docs/bXyUQb2tJW/tables/grid-jzs5ByTkFj/rows?useColumnNames=true`,
- {
- headers: {
- Authorization: `Bearer ${process.env.CODA_API_TOKEN}`,
- },
- },
- );
-
- const data = listRowsRes.ok ? await listRowsRes.json() : null;
- const usages: Usage[] = data ? data.items : [];
- const filteredImplementations = usages.filter(item => item.values.usage === 'background');
-
- const groupedUsages = groupBy(filteredImplementations, usage => {
- return usage.values.theme;
- });
-
- return {
- props: {
- layoutProps: getLayoutProps(),
- usages: groupedUsages,
- },
- };
-};
diff --git a/next/pages/guidelines/color/usage/borders.tsx b/next/pages/guidelines/color/usage/borders.tsx
deleted file mode 100644
index 49a49835..00000000
--- a/next/pages/guidelines/color/usage/borders.tsx
+++ /dev/null
@@ -1,102 +0,0 @@
-import React from 'react';
-import type { InferGetStaticPropsType } from 'next';
-import { groupBy } from 'lodash-es';
-import { ContentPage } from '../../../../components/mdx/mdx';
-import { H2, H3, LI, P, UL } from '../../../../components/mdx/components';
-import getLayoutProps from '../../../../utils/get-layout-props';
-import ExampleBox from '../../../../components/example-box';
-import UsageCategory from '../../../../utils/guidelines/color/color-usage-categories';
-import ColorUsageNav from '../../../../utils/guidelines/color/color-usage-nav';
-import { Usage, Image } from '../../../../utils/guidelines/color/color-usage-types';
-
-import intro from '../../../../images/pages/guide/product/color/usage/borders/intro.png';
-import neutral from '../../../../images/pages/guide/product/color/usage/borders/neutral.png';
-import guidance from '../../../../images/pages/guide/product/color/usage/borders/guidance.png';
-
-const images: Image = {
- neutral: {
- src: neutral,
- alt: 'user interface example where neutral colors are applied to borders',
- },
- guidance: {
- src: guidance,
- alt: 'user interface example where guidance colors are applied to borders',
- },
-};
-
-export default function UsageBorders({
- usages,
- layoutProps,
-}: InferGetStaticPropsType) {
- return (
-
-
- The use of color plays a key role in how we convey emotions, establish brand
- identity, and guide user interactions. Consistent and thoughtful color choices also
- improve usability, highlight important elements, and create a cohesive design
- language across the product.
-
-
-
-
-
-
-
-
-
-
-
-
Border colors
-
- Borders are used in product design to visually separate or delineate elements,
- create hierarchy, and provide structure to the overall layout.
-
-
-
-
-
General principles
-
-
Use neutral values on non-interactive moments
-
- Borders are not used with colored backgrounds to accentuate separation or
- elevation (excludes map overlays)
-
-
Default border is Gray 300
-
-
-
-
-
- );
-}
-
-export const getStaticProps = async () => {
- const listRowsRes = await fetch(
- // https://coda.io/developers/apis/v1#operation/listRows
- `https://coda.io/apis/v1/docs/bXyUQb2tJW/tables/grid-jzs5ByTkFj/rows?useColumnNames=true`,
- {
- headers: {
- Authorization: `Bearer ${process.env.CODA_API_TOKEN}`,
- },
- },
- );
-
- const data = listRowsRes.ok ? await listRowsRes.json() : null;
- const usages: Usage[] = data ? data.items : [];
- const filteredImplementations = usages.filter(item => item.values.usage === 'border');
-
- const groupedUsages = groupBy(filteredImplementations, usage => {
- return usage.values.theme;
- });
-
- return {
- props: {
- layoutProps: getLayoutProps(),
- usages: groupedUsages,
- },
- };
-};
diff --git a/next/pages/guidelines/color/usage/icons.tsx b/next/pages/guidelines/color/usage/icons.tsx
deleted file mode 100644
index 01f7e95f..00000000
--- a/next/pages/guidelines/color/usage/icons.tsx
+++ /dev/null
@@ -1,130 +0,0 @@
-import React from 'react';
-import type { InferGetStaticPropsType } from 'next';
-import { groupBy } from 'lodash-es';
-import { ContentPage } from '../../../../components/mdx/mdx';
-import { H2, H3, LI, P, UL } from '../../../../components/mdx/components';
-import getLayoutProps from '../../../../utils/get-layout-props';
-import ExampleBox from '../../../../components/example-box';
-import UsageCategory from '../../../../utils/guidelines/color/color-usage-categories';
-import ColorUsageNav from '../../../../utils/guidelines/color/color-usage-nav';
-import { Usage, Image } from '../../../../utils/guidelines/color/color-usage-types';
-
-import intro from '../../../../images/pages/guide/product/color/usage/icons/intro.png';
-import neutral from '../../../../images/pages/guide/product/color/usage/icons/neutral.png';
-import primary from '../../../../images/pages/guide/product/color/usage/icons/primary.png';
-import success from '../../../../images/pages/guide/product/color/usage/icons/success.png';
-import guidance from '../../../../images/pages/guide/product/color/usage/icons/guidance.png';
-import alert from '../../../../images/pages/guide/product/color/usage/icons/alert.png';
-import caution from '../../../../images/pages/guide/product/color/usage/icons/caution.png';
-import accent from '../../../../images/pages/guide/product/color/usage/icons/accent.png';
-
-const images: Image = {
- neutral: {
- src: neutral,
- alt: 'user interface example where neutral colors are applied to icons',
- },
- primary: {
- src: primary,
- alt: 'user interface example where primary colors are applied to icons',
- },
- success: {
- src: success,
- alt: 'user interface example where success colors are applied to icons',
- },
- guidance: {
- src: guidance,
- alt: 'user interface example where guidance colors are applied to icons',
- },
- alert: {
- src: alert,
- alt: 'user interface example where alert colors are applied to icons',
- },
- caution: {
- src: caution,
- alt: 'user interface example where caution colors are applied to icons',
- },
- accent: {
- src: accent,
- alt: 'user interface example where accent colors are applied to icons',
- },
-};
-
-export default function UsageIcons({
- usages,
- layoutProps,
-}: InferGetStaticPropsType) {
- return (
-
-
- The use of color plays a key role in how we convey emotions, establish brand
- identity, and guide user interactions. Consistent and thoughtful color choices also
- improve usability, highlight important elements, and create a cohesive design
- language across the product.
-
-
-
-
-
-
-
-
-
-
-
-
Icons
-
- Icons provide visual cues in the user experience and improve recognition by
- conveying information in a compact and easily recognizable form. Use of color in
- icons should coordinate with the space they occupy and any text.
-
-
-
-
General principles
-
-
Use neutral Black as default
-
- Color icons can be paired with text of same emphasis or neutral (strong)
-
-
- Avoid pairing icon emphasis or colors with text or backgrounds of different
- colors
-
-
Icons should be singular solid color
-
-
-
-
-
- );
-}
-
-export const getStaticProps = async () => {
- const listRowsRes = await fetch(
- // https://coda.io/developers/apis/v1#operation/listRows
- `https://coda.io/apis/v1/docs/bXyUQb2tJW/tables/grid-jzs5ByTkFj/rows?useColumnNames=true`,
- {
- headers: {
- Authorization: `Bearer ${process.env.CODA_API_TOKEN}`,
- },
- },
- );
-
- const data = listRowsRes.ok ? await listRowsRes.json() : null;
- const usages: Usage[] = data ? data.items : [];
- const filteredImplementations = usages.filter(item => item.values.usage === 'icon');
-
- const groupedUsages = groupBy(filteredImplementations, usage => {
- return usage.values.theme;
- });
-
- return {
- props: {
- layoutProps: getLayoutProps(),
- usages: groupedUsages,
- },
- };
-};
diff --git a/next/pages/guidelines/color/usage/text.tsx b/next/pages/guidelines/color/usage/text.tsx
deleted file mode 100644
index b7961513..00000000
--- a/next/pages/guidelines/color/usage/text.tsx
+++ /dev/null
@@ -1,134 +0,0 @@
-import React from 'react';
-import type { InferGetStaticPropsType } from 'next';
-import Link from 'next/link';
-import { groupBy } from 'lodash-es';
-import { ContentPage } from '../../../../components/mdx/mdx';
-import { H2, H3, LI, P, UL } from '../../../../components/mdx/components';
-import getLayoutProps from '../../../../utils/get-layout-props';
-import ExampleBox from '../../../../components/example-box';
-import UsageCategory from '../../../../utils/guidelines/color/color-usage-categories';
-import ColorUsageNav from '../../../../utils/guidelines/color/color-usage-nav';
-import { Usage, Image } from '../../../../utils/guidelines/color/color-usage-types';
-
-import intro from '../../../../images/pages/guide/product/color/usage/text/intro.png';
-import neutral from '../../../../images/pages/guide/product/color/usage/text/neutral.png';
-import primary from '../../../../images/pages/guide/product/color/usage/text/primary.png';
-import success from '../../../../images/pages/guide/product/color/usage/text/success.png';
-import guidance from '../../../../images/pages/guide/product/color/usage/text/guidance.png';
-import alert from '../../../../images/pages/guide/product/color/usage/text/alert.png';
-import caution from '../../../../images/pages/guide/product/color/usage/text/caution.png';
-import accent from '../../../../images/pages/guide/product/color/usage/text/accent.png';
-
-const images: Image = {
- neutral: {
- src: neutral,
- alt: 'user interface example where neutral colors are applied to text',
- },
- primary: {
- src: primary,
- alt: 'user interface example where primary colors are applied to text',
- },
- success: {
- src: success,
- alt: 'user interface example where success colors are applied to text',
- },
- guidance: {
- src: guidance,
- alt: 'user interface example where guidance colors are applied to text',
- },
- alert: {
- src: alert,
- alt: 'user interface example where alert colors are applied to text',
- },
- caution: {
- src: caution,
- alt: 'user interface example where caution colors are applied to text',
- },
- accent: {
- src: accent,
- alt: 'user interface example where accent colors are applied to text',
- },
-};
-
-export default function UsageText({
- usages,
- layoutProps,
-}: InferGetStaticPropsType) {
- return (
-
-
- The use of color plays a key role in how we convey emotions, establish brand
- identity, and guide user interactions. Consistent and thoughtful color choices also
- improve usability, highlight important elements, and create a cohesive design
- language across the product.
-
-
-
-
-
-
-
-
-
-
-
-
Text
-
- Text color can vary depending on the background surface. By default, text color
- should be neutral when on a neutral background (see{' '}
- Accessibility for more
- information WCAG color contrast ratio requirements.
-
-
-
-
General principles
-
-
Use neutral values for general heading (strong) and body copy (default)
-
Primary (Blue 400) is reserved for link color
-
Use sparingly
-
- Refer to color themes for
- brand or feedback color guidelines
-
-
- Bold text should be at least 18.5px and 24px for non-bold copy on core
- values.
-