diff --git a/apps/docs/src/components/document/draft.tsx b/apps/docs/src/components/document/draft.tsx
new file mode 100644
index 000000000..6e0716b97
--- /dev/null
+++ b/apps/docs/src/components/document/draft.tsx
@@ -0,0 +1,14 @@
+import { cn } from '@/lib/cn';
+
+export function Draft() {
+ return (
+
+ Draft
+
+ );
+}
diff --git a/apps/docs/src/components/document/mdx.tsx b/apps/docs/src/components/document/mdx.tsx
index 1c2fc98ff..c8ac28511 100644
--- a/apps/docs/src/components/document/mdx.tsx
+++ b/apps/docs/src/components/document/mdx.tsx
@@ -1,8 +1,11 @@
import { useMDXComponent } from 'next-contentlayer/hooks';
import { Heading } from '../typography/heading';
import { ColorPrimitives } from '@/components/document/color/color-primitives';
-import { FontSizesTable } from './typography/font-sizes-table';
-import { FontWeightsTable } from './typography/font-weights-table';
+import { FontFamilyTable } from './typography/font-family-table';
+import { FontSizeTable } from './typography/font-size-table';
+import { FontWeightTable } from './typography/font-weight-table';
+import { LineHeightTable } from './typography/line-height-table';
+import { LetterSpacingTable } from './typography/letter-spacing-table';
import { Typography } from './typography/typography';
export type MdxProps = {
@@ -17,8 +20,11 @@ export function Mdx({ code }: MdxProps) {
components={{
h2: ({ children }) =>
{children},
ColorPrimitives: () =>
,
- FontSizesTable: () =>
,
- FontWeightsTable: () =>
,
+ FontFamilyTable: () =>
,
+ FontSizeTable: () =>
,
+ FontWeightTable: () =>
,
+ LineHeightTable: () =>
,
+ LetterSpacingTable: () =>
,
Typography: () =>
,
}}
/>
diff --git a/apps/docs/src/components/document/typography/font-family-table.tsx b/apps/docs/src/components/document/typography/font-family-table.tsx
new file mode 100644
index 000000000..dd7d4d123
--- /dev/null
+++ b/apps/docs/src/components/document/typography/font-family-table.tsx
@@ -0,0 +1,15 @@
+import { meta } from '@govie-ds/theme-govie';
+import { FontTable } from './font-table';
+
+export function FontFamilyTable() {
+ return (
+
+ name="font-family"
+ tokens={meta.light.resolved.primitive.font.family}
+ renderValue={(value) => value.join(', ')}
+ renderExample={(value) => (
+ Sample text
+ )}
+ />
+ );
+}
diff --git a/apps/docs/src/components/document/typography/font-size-table.tsx b/apps/docs/src/components/document/typography/font-size-table.tsx
new file mode 100644
index 000000000..b87780774
--- /dev/null
+++ b/apps/docs/src/components/document/typography/font-size-table.tsx
@@ -0,0 +1,15 @@
+import { meta } from '@govie-ds/theme-govie';
+import { FontTable } from './font-table';
+
+export function FontSizeTable() {
+ return (
+
+ name="font-size"
+ tokens={meta.light.resolved.primitive.font.size}
+ renderValue={(value) => value}
+ renderExample={(value) => (
+ Sample text
+ )}
+ />
+ );
+}
diff --git a/apps/docs/src/components/document/typography/font-sizes-table.tsx b/apps/docs/src/components/document/typography/font-sizes-table.tsx
deleted file mode 100644
index bef82c622..000000000
--- a/apps/docs/src/components/document/typography/font-sizes-table.tsx
+++ /dev/null
@@ -1,26 +0,0 @@
-import { meta } from '@govie-ds/theme-govie';
-import { objectKeys } from 'ts-extras';
-import { TokenName } from '../color/token-name';
-import { Table, Td } from './table';
-
-export function FontSizesTable() {
- return (
- {
- const { $value: value } = meta.light.resolved.primitive.font.size[id];
-
- return (
-
-
-
- |
- {value} |
- Sample text |
-
- );
- }}
- />
- );
-}
diff --git a/apps/docs/src/components/document/typography/font-table.tsx b/apps/docs/src/components/document/typography/font-table.tsx
new file mode 100644
index 000000000..5680909d4
--- /dev/null
+++ b/apps/docs/src/components/document/typography/font-table.tsx
@@ -0,0 +1,35 @@
+import { Table, Td } from './table';
+import { TokenName } from '../color/token-name';
+import { objectKeys } from 'ts-extras';
+
+export function FontTable({
+ name,
+ tokens,
+ renderValue,
+ renderExample,
+}: {
+ name: string;
+ tokens: Record;
+ renderValue: (value: TValue) => React.ReactNode;
+ renderExample: (value: TValue) => React.ReactNode;
+}) {
+ return (
+ {
+ const { $value: value } = tokens[id];
+
+ return (
+
+
+
+ |
+ {renderValue(value)} |
+ {renderExample(value)} |
+
+ );
+ }}
+ />
+ );
+}
diff --git a/apps/docs/src/components/document/typography/font-weight-table.tsx b/apps/docs/src/components/document/typography/font-weight-table.tsx
new file mode 100644
index 000000000..beb02a58b
--- /dev/null
+++ b/apps/docs/src/components/document/typography/font-weight-table.tsx
@@ -0,0 +1,15 @@
+import { meta } from '@govie-ds/theme-govie';
+import { FontTable } from './font-table';
+
+export function FontWeightTable() {
+ return (
+
+ name="font-weight"
+ tokens={meta.light.resolved.primitive.font.size}
+ renderValue={(value) => value}
+ renderExample={(value) => (
+ Sample text
+ )}
+ />
+ );
+}
diff --git a/apps/docs/src/components/document/typography/font-weights-table.tsx b/apps/docs/src/components/document/typography/font-weights-table.tsx
deleted file mode 100644
index 2c07d6478..000000000
--- a/apps/docs/src/components/document/typography/font-weights-table.tsx
+++ /dev/null
@@ -1,28 +0,0 @@
-import { meta } from '@govie-ds/theme-govie';
-import { objectKeys } from 'ts-extras';
-import { TokenName } from '../color/token-name';
-import { Table, Td } from './table';
-
-export function FontWeightsTable() {
- return (
- {
- const { $value: value } = meta.light.resolved.primitive.font.weight[id];
-
- return (
-
-
-
- |
- {value} |
-
- Sample text
- |
-
- );
- }}
- />
- );
-}
diff --git a/apps/docs/src/components/document/typography/letter-spacing-table.tsx b/apps/docs/src/components/document/typography/letter-spacing-table.tsx
new file mode 100644
index 000000000..44d520294
--- /dev/null
+++ b/apps/docs/src/components/document/typography/letter-spacing-table.tsx
@@ -0,0 +1,15 @@
+import { meta } from '@govie-ds/theme-govie';
+import { FontTable } from './font-table';
+
+export function LetterSpacingTable() {
+ return (
+
+ name="letter-spacing"
+ tokens={meta.light.resolved.primitive.font.letterSpacing}
+ renderValue={(value) => value}
+ renderExample={(value) => (
+ Sample text
+ )}
+ />
+ );
+}
diff --git a/apps/docs/src/components/document/typography/line-height-table.tsx b/apps/docs/src/components/document/typography/line-height-table.tsx
new file mode 100644
index 000000000..37be0cb98
--- /dev/null
+++ b/apps/docs/src/components/document/typography/line-height-table.tsx
@@ -0,0 +1,15 @@
+import { meta } from '@govie-ds/theme-govie';
+import { FontTable } from './font-table';
+
+export function LineHeightTable() {
+ return (
+
+ name="line-height"
+ tokens={meta.light.resolved.primitive.font.lineHeight}
+ renderValue={(value) => value}
+ renderExample={(value) => (
+ Sample text
+ )}
+ />
+ );
+}