|
| 1 | +import React from 'react'; |
| 2 | +import type { Meta, StoryObj } from '@storybook/react'; |
| 3 | +import { SpacingSwatch, Text } from './components'; |
| 4 | +import { spacing } from '../src/js/spacing/spacing'; |
| 5 | +import README from './Spacing.mdx'; |
| 6 | + |
| 7 | +const meta: Meta = { |
| 8 | + title: 'Tokens/Spacing', |
| 9 | + parameters: { |
| 10 | + docs: { |
| 11 | + page: README, |
| 12 | + }, |
| 13 | + }, |
| 14 | +}; |
| 15 | + |
| 16 | +export default meta; |
| 17 | + |
| 18 | +const spacingData = [ |
| 19 | + { name: '0', size: '0px', pixels: '0px', value: spacing['0'] }, |
| 20 | + { name: 'px', size: '1px', pixels: '1px', value: spacing.px }, |
| 21 | + { name: '0.5', size: '0.125rem', pixels: '2px', value: spacing['0.5'] }, |
| 22 | + { name: '1', size: '0.25rem', pixels: '4px', value: spacing['1'] }, |
| 23 | + { name: '1.5', size: '0.375rem', pixels: '6px', value: spacing['1.5'] }, |
| 24 | + { name: '2', size: '0.5rem', pixels: '8px', value: spacing['2'] }, |
| 25 | + { name: '2.5', size: '0.625rem', pixels: '10px', value: spacing['2.5'] }, |
| 26 | + { name: '3', size: '0.75rem', pixels: '12px', value: spacing['3'] }, |
| 27 | + { name: '3.5', size: '0.875rem', pixels: '14px', value: spacing['3.5'] }, |
| 28 | + { name: '4', size: '1rem', pixels: '16px', value: spacing['4'] }, |
| 29 | + { name: '5', size: '1.25rem', pixels: '20px', value: spacing['5'] }, |
| 30 | + { name: '6', size: '1.5rem', pixels: '24px', value: spacing['6'] }, |
| 31 | + { name: '7', size: '1.75rem', pixels: '28px', value: spacing['7'] }, |
| 32 | + { name: '8', size: '2rem', pixels: '32px', value: spacing['8'] }, |
| 33 | + { name: '9', size: '2.25rem', pixels: '36px', value: spacing['9'] }, |
| 34 | + { name: '10', size: '2.5rem', pixels: '40px', value: spacing['10'] }, |
| 35 | + { name: '11', size: '2.75rem', pixels: '44px', value: spacing['11'] }, |
| 36 | + { name: '12', size: '3rem', pixels: '48px', value: spacing['12'] }, |
| 37 | + { name: '14', size: '3.5rem', pixels: '56px', value: spacing['14'] }, |
| 38 | + { name: '16', size: '4rem', pixels: '64px', value: spacing['16'] }, |
| 39 | + { name: '20', size: '5rem', pixels: '80px', value: spacing['20'] }, |
| 40 | + { name: '24', size: '6rem', pixels: '96px', value: spacing['24'] }, |
| 41 | + { name: '28', size: '7rem', pixels: '112px', value: spacing['28'] }, |
| 42 | + { name: '32', size: '8rem', pixels: '128px', value: spacing['32'] }, |
| 43 | + { name: '36', size: '9rem', pixels: '144px', value: spacing['36'] }, |
| 44 | + { name: '40', size: '10rem', pixels: '160px', value: spacing['40'] }, |
| 45 | + { name: '44', size: '11rem', pixels: '176px', value: spacing['44'] }, |
| 46 | + { name: '48', size: '12rem', pixels: '192px', value: spacing['48'] }, |
| 47 | + { name: '52', size: '13rem', pixels: '208px', value: spacing['52'] }, |
| 48 | + { name: '56', size: '14rem', pixels: '224px', value: spacing['56'] }, |
| 49 | + { name: '60', size: '15rem', pixels: '240px', value: spacing['60'] }, |
| 50 | + { name: '64', size: '16rem', pixels: '256px', value: spacing['64'] }, |
| 51 | + { name: '72', size: '18rem', pixels: '288px', value: spacing['72'] }, |
| 52 | + { name: '80', size: '20rem', pixels: '320px', value: spacing['80'] }, |
| 53 | + { name: '96', size: '24rem', pixels: '384px', value: spacing['96'] }, |
| 54 | +]; |
| 55 | + |
| 56 | +export const Default: StoryObj = { |
| 57 | + render: () => ( |
| 58 | + <div> |
| 59 | + <Text as="p">Name | Size | Pixels</Text> |
| 60 | + {spacingData.map((item) => ( |
| 61 | + <SpacingSwatch |
| 62 | + key={item.name} |
| 63 | + name={item.name} |
| 64 | + size={item.size} |
| 65 | + pixels={item.pixels} |
| 66 | + value={item.value} |
| 67 | + /> |
| 68 | + ))} |
| 69 | + </div> |
| 70 | + ), |
| 71 | +}; |
0 commit comments