From f07dfc62a3d42254233b8dd13700936358bc0105 Mon Sep 17 00:00:00 2001 From: Roberto Hernandez Date: Thu, 2 Jan 2025 09:39:07 -0600 Subject: [PATCH] chore(4kdst-17): Spacing token component created --- src/foundation/utility/cl-base.module.scss | 4 +- src/tokens/spacing/spacing-tokens.stories.tsx | 22 +++++++ src/tokens/spacing/spacing-tokens.tsx | 57 +++++++++++++++++++ 3 files changed, 82 insertions(+), 1 deletion(-) create mode 100644 src/tokens/spacing/spacing-tokens.stories.tsx create mode 100644 src/tokens/spacing/spacing-tokens.tsx diff --git a/src/foundation/utility/cl-base.module.scss b/src/foundation/utility/cl-base.module.scss index 48d1bac..79bd156 100644 --- a/src/foundation/utility/cl-base.module.scss +++ b/src/foundation/utility/cl-base.module.scss @@ -93,7 +93,9 @@ .sb-spacing-wrapper { display: flex; flex-flow: row nowrap; - background-color: #d606c1; + padding: var(--spacing-md); + border-radius: var(--radius-sm); + background-color: var(--color-grays-100); } .sb-cover { diff --git a/src/tokens/spacing/spacing-tokens.stories.tsx b/src/tokens/spacing/spacing-tokens.stories.tsx new file mode 100644 index 0000000..979315b --- /dev/null +++ b/src/tokens/spacing/spacing-tokens.stories.tsx @@ -0,0 +1,22 @@ +import type { Meta, StoryObj } from '@storybook/react'; +import tokens from '../transformed.tokens.json'; +import SpacingTokens from './spacing-tokens'; + +const meta = { + title: 'Tokens/Spacing', + component: SpacingTokens, +} satisfies Meta; + +export default meta; +type Story = StoryObj; + +export const Spacing: Story = { + args: { + spacing: Object.keys(tokens['spacing']).map((name) => { + return { + name, + value: tokens['spacing'][name as keyof typeof tokens['spacing']].value, + }; + }), + }, +}; diff --git a/src/tokens/spacing/spacing-tokens.tsx b/src/tokens/spacing/spacing-tokens.tsx new file mode 100644 index 0000000..65f8a9d --- /dev/null +++ b/src/tokens/spacing/spacing-tokens.tsx @@ -0,0 +1,57 @@ +import React from 'react'; +// Utility classes for token display components. +import clBase from '../../foundation/utility/cl-base.module.scss'; + +type SpacingTokensProps = { + spacing: { + name: string; + value: number; + }[]; +}; + +export default function SpacingTokens({ + spacing, +}: SpacingTokensProps) { + return ( +
+

Spacing Tokens

+
    + {spacing.map((item) => ( +
  • + + {item.name} + + {item.value}px + + + var(--spacing-{item.name}) + + +
      + {Array(4).fill(1).map((_, index) => ( +
    • + ))} +
    +
  • + ))} +
+
+ ); +}