From 23def2264eb4d66dd410ce26ab82921e536d38ae Mon Sep 17 00:00:00 2001 From: marcelines Date: Mon, 16 Jan 2023 14:34:15 +0000 Subject: [PATCH] Add color tokens, theming and typography * feat: adds custom theme setup with several options * feat: add typography and few examples with theme switch * fix: sort import rule * fix: remove unnecessary file * fix: changes from review * fix: changes as const as stated in tamagui's docs --- apps/mobile/App.tsx | 62 +++++- apps/mobile/assets/fonts/UbuntuMono.ttf | Bin 0 -> 189892 bytes apps/vite/src/app.css | 4 +- apps/vite/src/app.tsx | 48 +++-- apps/vite/src/index.css | 4 +- packages/components/src/animations.ts | 7 + packages/components/src/global.ts | 4 +- packages/components/src/index.tsx | 1 + packages/components/src/shape/shape.tsx | 21 +- .../components/src/stories/Page.stories.js | 16 +- packages/components/src/tamagui.config.ts | 202 ++++++++++-------- packages/components/src/themes.ts | 74 +++++++ packages/components/src/tokens.ts | 188 ++++++++++++++++ packages/components/src/typography/index.tsx | 1 + .../components/src/typography/typography.tsx | 166 ++++++++++++++ 15 files changed, 662 insertions(+), 136 deletions(-) create mode 100644 apps/mobile/assets/fonts/UbuntuMono.ttf create mode 100644 packages/components/src/themes.ts create mode 100644 packages/components/src/tokens.ts create mode 100644 packages/components/src/typography/index.tsx create mode 100644 packages/components/src/typography/typography.tsx diff --git a/apps/mobile/App.tsx b/apps/mobile/App.tsx index 5ad604cf..04b5b6f1 100644 --- a/apps/mobile/App.tsx +++ b/apps/mobile/App.tsx @@ -1,16 +1,68 @@ +// eslint-disable-next-line eslint-comments/disable-enable-pair +/* eslint-disable import/namespace */ import 'expo-dev-client' -import React from 'react' +import React, { useState } from 'react' -import { Shape } from '@status-im/components' -import { TamaguiProvider } from '@tamagui/core' +import { Code, Heading, Label, Paragraph, Shape } from '@status-im/components' +import { Stack, TamaguiProvider } from '@tamagui/core' +import { useFonts } from 'expo-font' +import { SafeAreaView, TouchableOpacity } from 'react-native' import tamaguiConfig from './tamagui.config' +type ThemeVars = 'light' | 'dark' + export default function App() { + const [theme, setTheme] = useState('light') + const [loaded] = useFonts({ + Inter: require('@tamagui/font-inter/otf/Inter-Medium.otf'), + InterBold: require('@tamagui/font-inter/otf/Inter-Bold.otf'), + // Tamagui does this for you on web, but you need to do it manually on native. Only for the demo. We should seek a better solution. + UbuntuMono: require('./assets/fonts/UbuntuMono.ttf'), + }) + + if (!loaded) { + return null + } + return ( - - + + + + + Communities + + + This is an Heading 2 + + + Paragraph uppercased and bolded + + + This is a paragraph + + + This is a code line + 0x213abc190 ... 121ah4a9e + + + Theme selected - {theme} + setTheme(theme === 'dark' ? 'light' : 'dark')} + > + Toogle theme + + + ) } diff --git a/apps/mobile/assets/fonts/UbuntuMono.ttf b/apps/mobile/assets/fonts/UbuntuMono.ttf new file mode 100644 index 0000000000000000000000000000000000000000..4977028d132b681c035d427748f74afab9fd70bf GIT binary patch literal 189892 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

b4Hr}E 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 QoVh7}@^j`ZoavbV1{kz;MF0Q* literal 0 HcmV?d00001 diff --git a/apps/vite/src/app.css b/apps/vite/src/app.css index 2c5e2ef5..2b0fa9a5 100644 --- a/apps/vite/src/app.css +++ b/apps/vite/src/app.css @@ -1,7 +1,7 @@ #root { - max-width: 1280px; margin: 0 auto; - padding: 2rem; + padding: 0; + width: 100%; text-align: center; } diff --git a/apps/vite/src/app.tsx b/apps/vite/src/app.tsx index 23998e35..cad04d67 100644 --- a/apps/vite/src/app.tsx +++ b/apps/vite/src/app.tsx @@ -1,24 +1,44 @@ import './app.css' -import { Shape } from '@status-im/components' -import { TamaguiProvider } from '@tamagui/core' +import React, { useState } from 'react' + +import { Code, Heading, Label, Paragraph, Shape } from '@status-im/components' +import { Stack, TamaguiProvider } from '@tamagui/core' import tamaguiConfig from '../tamagui.config' -import { Circle } from './components/circle' + +type ThemeVars = 'light' | 'dark' function App() { + const [theme, setTheme] = useState('light') + return ( - -

-
-

Vite

- -
-
-

UI

- -
-
+ + + + This is an Heading 1 + + This is an Heading 2 + + + This is a paragraph + + + This is a code + 0x213abc190 ... 121ah4a9e + Theme selected - {theme} + + + + ) } diff --git a/apps/vite/src/index.css b/apps/vite/src/index.css index 44e7886f..bc857f7b 100644 --- a/apps/vite/src/index.css +++ b/apps/vite/src/index.css @@ -6,7 +6,7 @@ color-scheme: light dark; color: rgba(255, 255, 255, 0.87); - background-color: #fff; + width: 100%; font-synthesis: none; text-rendering: optimizeLegibility; @@ -27,7 +27,7 @@ a:hover { body { margin: 0; display: flex; - place-items: center; + width: 100%; min-width: 320px; min-height: 100vh; } diff --git a/packages/components/src/animations.ts b/packages/components/src/animations.ts index f73a75f2..cb721cd4 100644 --- a/packages/components/src/animations.ts +++ b/packages/components/src/animations.ts @@ -1,3 +1,4 @@ +import { createAnimations as createAnimationsCSS } from '@tamagui/animations-css' import { createAnimations } from '@tamagui/animations-react-native' export const animations = createAnimations({ @@ -19,3 +20,9 @@ export const animations = createAnimations({ stiffness: 250, }, }) + +export const animationsCSS = createAnimationsCSS({ + fast: 'ease-in 150ms', + medium: 'ease-in 300ms', + slow: 'ease-in 450ms', +}) diff --git a/packages/components/src/global.ts b/packages/components/src/global.ts index 2dd1c75c..68d9aaca 100644 --- a/packages/components/src/global.ts +++ b/packages/components/src/global.ts @@ -1,8 +1,10 @@ +// eslint-disable-next-line eslint-comments/disable-enable-pair +/* eslint-disable @typescript-eslint/no-empty-interface */ import { config } from './tamagui.config' export type Conf = typeof config -declare module 'tamagui' { +declare module '@tamagui/core' { interface TamaguiCustomConfig extends Conf {} } diff --git a/packages/components/src/index.tsx b/packages/components/src/index.tsx index 201feac2..7ad66607 100644 --- a/packages/components/src/index.tsx +++ b/packages/components/src/index.tsx @@ -1,2 +1,3 @@ export * from './shape' export { config } from './tamagui.config' +export * from './typography' diff --git a/packages/components/src/shape/shape.tsx b/packages/components/src/shape/shape.tsx index b38d37e4..82bff05b 100644 --- a/packages/components/src/shape/shape.tsx +++ b/packages/components/src/shape/shape.tsx @@ -1,15 +1,16 @@ import { Stack, styled } from '@tamagui/core' export const Shape = styled(Stack, { - backgroundColor: 'pink', + backgroundColor: '$primary', width: 100, - height: 100 + height: 100, + cursor: 'pointer', + animation: 'fast', + borderRadius: '$4', + hoverStyle: { + backgroundColor: '$primaryHover', + }, + pressStyle: { + backgroundColor: '$primaryHover', + }, }) - -// import { styled, YStack } from 'tamagui' - -// export const MyComponent = styled(YStack, { -// backgroundColor: 'pink', -// width: 100, -// height: 100 -// }) diff --git a/packages/components/src/stories/Page.stories.js b/packages/components/src/stories/Page.stories.js index 3f0a5465..90531e3c 100644 --- a/packages/components/src/stories/Page.stories.js +++ b/packages/components/src/stories/Page.stories.js @@ -1,6 +1,6 @@ -import { within, userEvent } from '@storybook/testing-library'; +import { userEvent, within } from '@storybook/testing-library' -import { Page } from './Page'; +import { Page } from './Page' export default { title: 'Example/Page', @@ -9,17 +9,17 @@ export default { // More on how to position stories at: https://storybook.js.org/docs/7.0/react/configure/story-layout layout: 'fullscreen', }, -}; +} -export const LoggedOut = {}; +export const LoggedOut = {} // More on interaction testing: https://storybook.js.org/docs/7.0/react/writing-tests/interaction-testing export const LoggedIn = { play: async ({ canvasElement }) => { - const canvas = within(canvasElement); + const canvas = within(canvasElement) const loginButton = await canvas.getByRole('button', { name: /Log in/i, - }); - await userEvent.click(loginButton); + }) + await userEvent.click(loginButton) }, -}; +} diff --git a/packages/components/src/tamagui.config.ts b/packages/components/src/tamagui.config.ts index ee11904e..7e083d67 100644 --- a/packages/components/src/tamagui.config.ts +++ b/packages/components/src/tamagui.config.ts @@ -1,99 +1,113 @@ -import { createTamagui } from '@tamagui/core' -import { themes, tokens } from '@tamagui/theme-base' +import { createFont, createTamagui } from '@tamagui/core' +import { createInterFont } from '@tamagui/font-inter' +import { createMedia } from '@tamagui/react-native-media-driver' +import { shorthands } from '@tamagui/shorthands' -export type AppConfig = typeof config -declare module '@tamagui/core' { - // overrides TamaguiCustomConfig so your custom types - // work everywhere you import `tamagui` - type TamaguiCustomConfig = AppConfig -} +import { animations, animationsCSS } from './animations' +import { themes } from './themes' +import { tokens } from './tokens' -export const config = createTamagui({ - fonts: {}, - themes, - tokens +const interFont = createInterFont({ + size: { + 6: 11, + 7: 13, + 8: 15, + 9: 19, + 10: 27, + }, + transform: { + 6: 'uppercase', + 7: 'none', + }, + weight: { + 6: '400', + 7: '500', + 8: '600', + }, + letterSpacing: { + 5: 2, + 6: 1, + 7: 0, + 8: -1, + 9: -2, + 10: -3, + 12: -4, + 14: -5, + 15: -6, + }, + face: { + 400: { normal: 'Inter' }, + 500: { normal: 'Inter' }, + 600: { normal: 'InterBold' }, + }, }) -// export const styled = config -// export default config +const monoFont = createFont({ + family: 'UbuntuMono', + weight: { + 1: '500', + }, + letterSpacing: { + 5: 2, + 6: 1, + 7: 0, + 8: -1, + 9: -2, + 10: -3, + 12: -4, + 14: -5, + 15: -6, + }, + size: { + 1: 11, + 2: 12, + 3: 13, + 4: 14, + 5: 16, + 6: 18, + 7: 20, + 8: 22, + 9: 30, + 10: 42, + 11: 52, + 12: 62, + 13: 72, + 14: 92, + 15: 114, + 16: 124, + }, + lineHeight: { + 1: 14, + 2: 15, + }, +}) -// import { createTamagui } from 'tamagui' -// import { createInterFont } from '@tamagui/font-inter' -// import { shorthands } from '@tamagui/shorthands' -// import { themes, tokens } from '@tamagui/theme-base' -// import { createMedia } from '@tamagui/react-native-media-driver' - -// import { animations } from './animations' - -// const headingFont = createInterFont({ -// size: { -// 6: 15, -// }, -// transform: { -// 6: 'uppercase', -// 7: 'none', -// }, -// weight: { -// 6: '400', -// 7: '700', -// }, -// color: { -// 6: '$colorFocus', -// 7: '$color', -// }, -// letterSpacing: { -// 5: 2, -// 6: 1, -// 7: 0, -// 8: -1, -// 9: -2, -// 10: -3, -// 12: -4, -// 14: -5, -// 15: -6, -// }, -// face: { -// 700: { normal: 'InterBold' }, -// }, -// }) - -// const bodyFont = createInterFont( -// { -// face: { -// 700: { normal: 'InterBold' }, -// }, -// }, -// { -// sizeSize: (size) => Math.round(size * 1.1), -// sizeLineHeight: (size) => Math.round(size * 1.1 + (size > 20 ? 10 : 10)), -// } -// ) - -// export const config = createTamagui({ -// animations, -// shouldAddPrefersColorThemes: true, -// themeClassNameOnRoot: true, -// shorthands, -// fonts: { -// heading: headingFont, -// body: bodyFont, -// }, -// themes, -// tokens, -// media: createMedia({ -// xs: { maxWidth: 660 }, -// sm: { maxWidth: 800 }, -// md: { maxWidth: 1020 }, -// lg: { maxWidth: 1280 }, -// xl: { maxWidth: 1420 }, -// xxl: { maxWidth: 1600 }, -// gtXs: { minWidth: 660 + 1 }, -// gtSm: { minWidth: 800 + 1 }, -// gtMd: { minWidth: 1020 + 1 }, -// gtLg: { minWidth: 1280 + 1 }, -// short: { maxHeight: 820 }, -// tall: { minHeight: 820 }, -// hoverNone: { hover: 'none' }, -// pointerCoarse: { pointer: 'coarse' }, -// }), -// }) +export const config = createTamagui({ + fonts: { + inter: interFont, + mono: monoFont, + }, + themes, + tokens, + media: createMedia({ + xs: { maxWidth: 660 }, + sm: { maxWidth: 800 }, + md: { maxWidth: 1020 }, + lg: { maxWidth: 1280 }, + xl: { maxWidth: 1420 }, + xxl: { maxWidth: 1600 }, + gtXs: { minWidth: 660 + 1 }, + gtSm: { minWidth: 800 + 1 }, + gtMd: { minWidth: 1020 + 1 }, + gtLg: { minWidth: 1280 + 1 }, + short: { maxHeight: 820 }, + tall: { minHeight: 820 }, + hoverNone: { hover: 'none' }, + pointerCoarse: { pointer: 'coarse' }, + }), + shorthands, + animations: { + ...animations, + ...animationsCSS, + }, +}) diff --git a/packages/components/src/themes.ts b/packages/components/src/themes.ts new file mode 100644 index 00000000..4d895ca8 --- /dev/null +++ b/packages/components/src/themes.ts @@ -0,0 +1,74 @@ +import { createTheme } from '@tamagui/core' + +import { tokens } from './tokens' + +const light = createTheme({ + background: tokens.color['white-100'], + textPrimary: tokens.color['neutral-100'], + primary: tokens.color['primary-50'], + primaryHover: tokens.color['primary-60'], + success: tokens.color['success-50'], + successHover: tokens.color['success-60'], + danger: tokens.color['danger-50'], + dangerHover: tokens.color['danger-60'], + purple: tokens.color['purple-50'], + purpleHover: tokens.color['purple-60'], + indigo: tokens.color['indigo-50'], + indigoHover: tokens.color['indigo-60'], + turquoise: tokens.color['turquoise-50'], + turquoiseHover: tokens.color['turquoise-60'], + blue: tokens.color['blue-50'], + blueHover: tokens.color['blue-60'], + green: tokens.color['green-50'], + greenHover: tokens.color['green-60'], + yellow: tokens.color['yellow-50'], + yellowHover: tokens.color['yellow-60'], + orange: tokens.color['orange-50'], + orangeHover: tokens.color['orange-60'], + red: tokens.color['red-50'], + redHover: tokens.color['red-60'], + pink: tokens.color['pink-50'], + pinkHover: tokens.color['pink-60'], + brown: tokens.color['brown-50'], + brownHover: tokens.color['brown-60'], + beige: tokens.color['beige-50'], + beigeHover: tokens.color['beige-60'], +}) + +const dark = createTheme({ + background: tokens.color['neutral-95'], + textPrimary: tokens.color['white-100'], + primary: tokens.color['primary-60'], + primaryHover: tokens.color['primary-50'], + success: tokens.color['success-60'], + successHover: tokens.color['success-50'], + danger: tokens.color['danger-60'], + dangerHover: tokens.color['danger-50'], + purple: tokens.color['purple-60'], + purpleHover: tokens.color['purple-50'], + indigo: tokens.color['indigo-60'], + indigoHover: tokens.color['indigo-50'], + turquoise: tokens.color['turquoise-60'], + turquoiseHover: tokens.color['turquoise-50'], + blue: tokens.color['blue-60'], + blueHover: tokens.color['blue-50'], + green: tokens.color['green-60'], + greenHover: tokens.color['green-50'], + yellow: tokens.color['yellow-60'], + yellowHover: tokens.color['yellow-50'], + orange: tokens.color['orange-60'], + orangeHover: tokens.color['orange-50'], + red: tokens.color['red-60'], + redHover: tokens.color['red-50'], + pink: tokens.color['pink-60'], + pinkHover: tokens.color['pink-50'], + brown: tokens.color['brown-60'], + brownHover: tokens.color['brown-50'], + beige: tokens.color['beige-60'], + beigeHover: tokens.color['beige-50'], +}) + +export const themes = { + light, + dark, +} diff --git a/packages/components/src/tokens.ts b/packages/components/src/tokens.ts new file mode 100644 index 00000000..54b74ce5 --- /dev/null +++ b/packages/components/src/tokens.ts @@ -0,0 +1,188 @@ +import { createTokens } from '@tamagui/core' +import { radius, size, space, zIndex } from '@tamagui/theme-base' + +export const tokens = createTokens({ + color: { + 'neutral-5': 'hsla(220, 18%, 97%, 1)', + 'neutral-10': 'hsla(216, 20%, 95%, 1)', + 'neutral-20': 'hsla(214, 17%, 92%, 1)', + 'neutral-30': 'hsla(213, 15%, 88%, 1)', + 'neutral-40': 'hsla(219, 17%, 69%, 1)', + 'neutral-50': 'hsla(218, 14%, 45%, 1)', + 'neutral-60': 'hsla(219, 28%, 26%, 1)', + 'neutral-70': 'hsla(219, 35%, 19%, 1)', + 'neutral-80': 'hsla(219, 38%, 17%, 1)', + 'neutral-90': 'hsla(219, 42%, 13%, 1)', + 'neutral-95': 'hsla(218, 48%, 10%, 1)', + 'neutral-100': 'hsla(218, 51%, 7%, 1)', + 'neutral-5-opa-70': 'hsla(220, 18%, 97%, 0.7)', + 'neutral-90-opa-70': 'hsla(219, 42%, 13%, 0.7)', + 'neutral-95-opa-70': 'hsla(218, 48%, 10%, 0.7)', + 'neutral-80-opa-5': 'hsla(219, 38%, 17%, 0.05)', + 'neutral-80-opa-10': 'hsla(219, 38%, 17%, 0.1)', + 'neutral-80-opa-20': 'hsla(219, 38%, 17%, 0.2)', + 'neutral-80-opa-30': 'hsla(219, 38%, 17%, 0.3)', + 'neutral-80-opa-40': 'hsla(219, 38%, 17%, 0.4)', + 'neutral-80-opa-50': 'hsla(219, 38%, 17%, 0.5)', + 'neutral-80-opa-60': 'hsla(219, 38%, 17%, 0.6)', + 'neutral-80-opa-70': 'hsla(219, 38%, 17%, 0.7)', + 'neutral-80-opa-80': 'hsla(219, 38%, 17%, 0.8)', + 'neutral-80-opa-90': 'hsla(219, 38%, 17%, 0.9)', + 'neutral-80-opa-95': 'hsla(219, 38%, 17%, 0.95)', + 'neutral-80-opa-100': 'hsla(219, 38%, 17%, 1)', + 'white-5': 'hsla(0, 0%, 100%, 0.05)', + 'white-10': 'hsla(0, 0%, 100%, 0.1)', + 'white-20': 'hsla(0, 0%, 100%, 0.2)', + 'white-30': 'hsla(0, 0%, 100%, 0.3)', + 'white-40': 'hsla(0, 0%, 100%, 0.4)', + 'white-50': 'hsla(0, 0%, 100%, 0.5)', + 'white-60': 'hsla(0, 0%, 100%, 0.6)', + 'white-70': 'hsla(0, 0%, 100%, 0.7)', + 'white-80': 'hsla(0, 0%, 100%, 0.8)', + 'white-90': 'hsla(0, 0%, 100%, 0.9)', + 'white-95': 'hsla(0, 0%, 100%, 0.95)', + 'white-100': 'hsla(0, 0%, 100%, 1)', + 'primary-50': 'hsla(229, 71%, 57%, 1)', + 'primary-60': 'hsla(229, 54%, 45%, 1)', + 'primary-50-opa-5': 'hsla(229, 71%, 57%, 0.05)', + 'primary-50-opa-10': 'hsla(229, 71%, 57%, 0.1)', + 'primary-50-opa-20': 'hsla(229, 71%, 57%, 0.2)', + 'primary-50-opa-30': 'hsla(229, 71%, 57%, 0.3)', + 'primary-50-opa-40': 'hsla(229, 71%, 57%, 0.4)', + 'success-50': 'hsla(174, 63%, 40%, 1)', + 'success-60': 'hsla(174, 63%, 34%, 1)', + 'success-50-opa-5': 'hsla(174, 63%, 40%, 0.05)', + 'success-50-opa-10': 'hsla(174, 63%, 40%, 0.1)', + 'success-50-opa-20': 'hsla(174, 63%, 40%, 0.2)', + 'success-50-opa-30': 'hsla(174, 63%, 40%, 0.3)', + 'success-50-opa-40': 'hsla(174, 63%, 40%, 0.4)', + 'danger-50': 'hsla(1, 73%, 63%, 1)', + 'danger-60': 'hsla(2, 48%, 53%, 1)', + 'danger-50-opa-5': 'hsla(1, 73%, 63%, 0.05)', + 'danger-50-opa-10': 'hsla(1, 73%, 63%, 0.1)', + 'danger-50-opa-20': 'hsla(1, 73%, 63%, 0.2)', + 'danger-50-opa-30': 'hsla(1, 73%, 63%, 0.3)', + 'danger-50-opa-40': 'hsla(1, 73%, 63%, 0.4)', + 'purple-50': 'hsla(263, 44%, 57%, 1)', + 'purple-60': 'hsla(260, 33%, 41%, 1)', + 'purple-50-opa-5': 'hsla(263, 44%, 57%, 0.05)', + 'purple-50-opa-10': 'hsla(263, 44%, 57%, 0.1)', + 'purple-50-opa-20': 'hsla(263, 44%, 57%, 0.2)', + 'purple-50-opa-30': 'hsla(263, 44%, 57%, 0.3)', + 'purple-50-opa-40': 'hsla(263, 44%, 57%, 0.4)', + 'indigo-50': 'background: hsla(217, 30%, 41%, 1)', + 'indigo-60': 'background: hsla(217, 31%, 35%, 1)', + 'indigo-50-opa-5': 'background: hsla(217, 30%, 41%, 0.05)', + 'indigo-50-opa-10': 'background: hsla(217, 30%, 41%, 0.1)', + 'indigo-50-opa-20': 'background: hsla(217, 30%, 41%, 0.2)', + 'indigo-50-opa-30': 'background: hsla(217, 30%, 41%, 0.3)', + 'indigo-50-opa-40': 'background: hsla(217, 30%, 41%, 0.4)', + 'turquoise-50': 'hsla(193, 41%, 45%, 1)', + 'turquoise-60': 'hsla(193, 41%, 38%, 1)', + 'turquoise-50-opa-5': 'hsla(193, 41%, 45%, 0.05)', + 'turquoise-50-opa-10': 'hsla(193, 41%, 45%, 0.1)', + 'turquoise-50-opa-20': 'hsla(193, 41%, 45%, 0.2)', + 'turquoise-50-opa-30': 'hsla(193, 41%, 45%, 0.3)', + 'turquoise-50-opa-40': 'hsla(193, 41%, 45%, 0.4)', + 'blue-50': 'hsla(202, 84%, 62%, 1)', + 'blue-60': 'hsla(202, 56%, 52%, 1)', + 'blue-50-opa-5': 'hsla(202, 84%, 62%, 0.05)', + 'blue-50-opa-10': 'hsla(202, 84%, 62%, 0.1)', + 'blue-50-opa-20': 'hsla(202, 84%, 62%, 0.2)', + 'blue-50-opa-30': 'hsla(202, 84%, 62%, 0.3)', + 'blue-50-opa-40': 'hsla(202, 84%, 62%, 0.4)', + 'green-50': 'hsla(151, 53%, 58%, 1)', + 'green-60': 'hsla(151, 38%, 48%, 1)', + 'green-50-opa-5': 'hsla(151, 53%, 58%, 0.05)', + 'green-50-opa-10': 'hsla(151, 53%, 58%, 0.1)', + 'green-50-opa-20': 'hsla(151, 53%, 58%, 0.2)', + 'green-50-opa-30': 'hsla(151, 53%, 58%, 0.3)', + 'green-50-opa-40': 'hsla(151, 53%, 58%, 0.4)', + 'yellow-50': 'hsla(42, 100%, 66%, 1)', + 'yellow-60': 'hsla(42, 64%, 56%, 1)', + 'yellow-50-opa-5': 'hsla(42, 100%, 66%, 0.05)', + 'yellow-50-opa-10': 'hsla(42, 100%, 66%, 0.1)', + 'yellow-50-opa-20': 'hsla(42, 100%, 66%, 0.2)', + 'yellow-50-opa-30': 'hsla(42, 100%, 66%, 0.3)', + 'yellow-50-opa-40': 'hsla(42, 100%, 66%, 0.4)', + 'orange-50': 'hsla(18, 95%, 68%, 1)', + 'orange-60': 'hsla(18, 60%, 57%, 1)', + 'orange-50-opa-5': 'hsla(18, 95%, 68%, 0.05)', + 'orange-50-opa-10': 'hsla(18, 95%, 68%, 0.1)', + 'orange-50-opa-20': 'hsla(18, 95%, 68%, 0.2)', + 'orange-50-opa-30': 'hsla(18, 95%, 68%, 0.3)', + 'orange-50-opa-40': 'hsla(18, 95%, 68%, 0.4)', + 'red-50': 'hsla(0, 87%, 68%, 1)', + 'red-60': 'hsla(0, 54%, 57%, 1)', + 'red-50-opa-5': 'hsla(0, 87%, 68%, 0.05)', + 'red-50-opa-10': 'hsla(0, 87%, 68%, 0.1)', + 'red-50-opa-20': 'hsla(0, 87%, 68%, 0.2)', + 'red-50-opa-30': 'hsla(0, 87%, 68%, 0.3)', + 'red-50-opa-40': 'hsla(0, 87%, 68%, 0.4)', + 'pink-50': 'hsla(338, 96%, 74%, 1)', + 'pink-60': 'hsla(337, 56%, 62%, 1)', + 'pink-50-opa-5': 'hsla(338, 96%, 74%, 0.05)', + 'pink-50-opa-10': 'hsla(338, 96%, 74%, 0.1)', + 'pink-50-opa-20': 'hsla(338, 96%, 74%, 0.2)', + 'pink-50-opa-30': 'hsla(338, 96%, 74%, 0.3)', + 'pink-50-opa-40': 'hsla(338, 96%, 74%, 0.4)', + 'brown-50': 'hsla(15, 33%, 45%, 1)', + 'brown-60': 'hsla(15, 33%, 38%, 1)', + 'brown-50-opa-5': 'hsla(15, 33%, 45%, 0.05)', + 'brown-50-opa-10': 'hsla(15, 33%, 45%, 0.1)', + 'brown-50-opa-20': 'hsla(15, 33%, 45%, 0.2)', + 'brown-50-opa-30': 'hsla(15, 33%, 45%, 0.3)', + 'brown-50-opa-40': 'hsla(15, 33%, 45%, 0.4)', + 'beige-50': 'hsla(29, 34%, 68%, 1)', + 'beige-60': 'hsla(29, 21%, 58%, 1)', + 'beige-50-opa-5': 'hsla(29, 34%, 68%, 0.05)', + 'beige-50-opa-10': 'hsla(29, 34%, 68%, 0.1)', + 'beige-50-opa-20': 'hsla(29, 34%, 68%, 0.2)', + 'beige-50-opa-30': 'hsla(29, 34%, 68%, 0.3)', + 'beige-50-opa-40': 'hsla(29, 34%, 68%, 0.4)', + 'identifier-1': 'hsla(0, 0%, 0%, 1)', + 'identifier-2': 'hsla(120, 100%, 50%, 1)', + 'identifier-3': 'hsla(60, 100%, 50%, 1)', + 'identifier-4': 'hsla(0, 100%, 50%, 1)', + 'identifier-5': 'hsla(300, 100%, 50%, 1)', + 'identifier-6': 'hsla(240, 100%, 50%, 1)', + 'identifier-7': 'hsla(180, 100%, 50%, 1)', + 'identifier-8': 'hsla(0, 1%, 44%, 1)', + 'identifier-9': 'hsla(120, 100%, 30%, 1)', + 'identifier-10': 'hsla(61, 100%, 34%, 1)', + 'identifier-11': 'hsla(0, 100%, 30%, 1)', + 'identifier-12': 'hsla(300, 100%, 28%, 1)', + 'identifier-13': 'hsla(240, 100%, 26%, 1)', + 'identifier-14': 'hsla(186, 100%, 29%, 1)', + 'identifier-15': 'hsla(0, 0%, 77%, 1)', + 'identifier-16': 'hsla(123, 100%, 86%, 1)', + 'identifier-17': 'hsla(60, 100%, 85%, 1)', + 'identifier-18': 'hsla(0, 100%, 81%, 1)', + 'identifier-19': 'hsla(300, 100%, 85%, 1)', + 'identifier-20': 'hsla(252, 100%, 75%, 1)', + 'identifier-21': 'hsla(180, 100%, 88%, 1)', + 'identifier-22': 'hsla(0, 0%, 91%, 1)', + 'identifier-23': 'hsla(45, 100%, 54%, 1)', + 'identifier-24': 'hsla(11, 100%, 60%, 1)', + 'identifier-25': 'hsla(324, 100%, 50%, 1)', + 'identifier-26': 'hsla(277, 100%, 50%, 1)', + 'identifier-27': 'hsla(204, 94%, 61%, 1)', + 'identifier-28': 'hsla(165, 100%, 47%, 1)', + 'identifier-29': 'hsla(0, 0%, 100%, 1)', + 'identifier-30': 'hsla(12, 38%, 45%, 1)', + 'identifier-31': 'hsla(324, 100%, 39%, 1)', + 'identifier-32': 'hsla(40, 100%, 30%, 1)', + ethereum: 'hsla(227, 75%, 69%, 1)', + optimism: 'hsla(0, 72%, 67%, 1)', + arbitrum: 'hsla(192, 82%, 68%, 1)', + zksync: 'hsla(239, 98%, 81%, 1)', + hermez: 'hsla(15, 77%, 65%, 1)', + xdai: 'hsla(179, 51%, 50%, 1)', + polygon: 'hsla(268, 84%, 70%, 1)', + unknown: 'hsla(206, 26%, 95%, 1)', + }, + size, + space, + zIndex, + radius, +}) diff --git a/packages/components/src/typography/index.tsx b/packages/components/src/typography/index.tsx new file mode 100644 index 00000000..324025ef --- /dev/null +++ b/packages/components/src/typography/index.tsx @@ -0,0 +1 @@ +export * from './typography' diff --git a/packages/components/src/typography/typography.tsx b/packages/components/src/typography/typography.tsx new file mode 100644 index 00000000..23d929e6 --- /dev/null +++ b/packages/components/src/typography/typography.tsx @@ -0,0 +1,166 @@ +import { styled } from '@tamagui/core' +import { SizableText } from 'tamagui' + +export const Heading = styled(SizableText, { + name: 'Heading', + fontFamily: '$inter', + color: '$textPrimary', + + variants: { + heading: { + h1: { + fontSize: 27, + lineHeight: 32, + letterSpacing: '-0.021em', + }, + h2: { + fontSize: 19, + lineHeight: 26, + letterSpacing: '-0.016em', + }, + }, + uppercase: { + true: { + textTransform: 'uppercase', + }, + }, + weight: { + regular: { + fontWeight: '400', + }, + medium: { + fontWeight: '500', + }, + semibold: { + fontWeight: '600', + }, + }, + } as const, + defaultVariants: { + // note tamagui uses a generic "true" token that your sizes should set to be the same as the default on your scale + size: '$true', + heading: 'h1', + }, +}) + +export const Paragraph = styled(SizableText, { + name: 'Paragraph', + fontFamily: '$inter', + color: '$textPrimary', + + variants: { + variant: { + normal: { + fontSize: 15, + lineHeight: 22, + letterSpacing: '-0.009em', + }, + smaller: { + fontSize: 13, + lineHeight: 18, + letterSpacing: '-0.003em', + }, + }, + uppercase: { + true: { + textTransform: 'uppercase', + }, + }, + weight: { + regular: { + fontWeight: '400', + }, + medium: { + fontWeight: '500', + }, + semibold: { + fontWeight: '600', + }, + }, + } as const, + defaultVariants: { + // note tamagui uses a generic "true" token that your sizes should set to be the same as the default on your scale + size: '$true', + variant: 'normal', + weight: 'regular', + }, +}) + +export const Label = styled(SizableText, { + name: 'Label', + fontFamily: '$inter', + color: '$textPrimary', + + fontSize: 11, + lineHeight: 16, + letterSpacing: '-0.005em', + + variants: { + uppercase: { + true: { + textTransform: 'uppercase', + }, + }, + weight: { + regular: { + fontWeight: '400', + }, + medium: { + fontWeight: '500', + }, + semibold: { + fontWeight: '600', + }, + }, + } as const, + defaultVariants: { + // note tamagui uses a generic "true" token that your sizes should set to be the same as the default on your scale + size: '$true', + weight: 'regular', + }, +}) + +export const Code = styled(SizableText, { + name: 'Code', + fontFamily: '$mono', + color: '$textPrimary', + + fontSize: 11, + lineHeight: 16, + letterSpacing: '-0.005em', + + variants: { + normal: { + fontSize: 15, + lineHeight: 22, + letterSpacing: '-0.009em', + }, + smaller: { + fontSize: 13, + lineHeight: 18, + letterSpacing: '-0.003em', + }, + uppercase: { + true: { + textTransform: 'uppercase', + }, + }, + weight: { + regular: { + fontWeight: '400', + }, + medium: { + fontWeight: '500', + }, + semibold: { + fontWeight: '600', + }, + }, + } as const, + defaultVariants: { + // note tamagui uses a generic "true" token that your sizes should set to be the same as the default on your scale + size: '$true', + variant: 'normal', + weight: 'regular', + }, +})