diff --git a/__snapshots__/font--fonts-chromium.png b/__snapshots__/font--fonts-chromium.png new file mode 100644 index 00000000..3346e939 Binary files /dev/null and b/__snapshots__/font--fonts-chromium.png differ diff --git a/__snapshots__/font--fonts-firefox.png b/__snapshots__/font--fonts-firefox.png new file mode 100644 index 00000000..2483b264 Binary files /dev/null and b/__snapshots__/font--fonts-firefox.png differ diff --git a/__snapshots__/font--fonts-webkit.png b/__snapshots__/font--fonts-webkit.png new file mode 100644 index 00000000..39da7f75 Binary files /dev/null and b/__snapshots__/font--fonts-webkit.png differ diff --git a/__snapshots__/font--text-sizes-chromium.png b/__snapshots__/font--text-sizes-chromium.png new file mode 100644 index 00000000..2108cbad Binary files /dev/null and b/__snapshots__/font--text-sizes-chromium.png differ diff --git a/__snapshots__/font--text-sizes-firefox.png b/__snapshots__/font--text-sizes-firefox.png new file mode 100644 index 00000000..41194fb3 Binary files /dev/null and b/__snapshots__/font--text-sizes-firefox.png differ diff --git a/__snapshots__/font--text-sizes-webkit.png b/__snapshots__/font--text-sizes-webkit.png new file mode 100644 index 00000000..751225c1 Binary files /dev/null and b/__snapshots__/font--text-sizes-webkit.png differ diff --git a/src/components/FontSizes/Text.stories.tsx b/src/components/FontSizes/Text.stories.tsx new file mode 100644 index 00000000..35d9d441 --- /dev/null +++ b/src/components/FontSizes/Text.stories.tsx @@ -0,0 +1,32 @@ +import Text from "./Text"; +import React from "react"; +import {Colors, Size, Sizes} from "../../utils/types"; +import {Button, ButtonGroup} from "../../index"; +import Alert from "../alert/Alert"; +import {StoryObj} from "@storybook/react"; + + +export default { + title: "Font", + component: Text, + argTypes: { + size: { + options: ["xs", "sm", "md", "lg", "xl"], + control: {type: 'radio'} + } + } +}; + + +export const TextSizes: StoryObj = { + render: (args) => { + const {size} = args + + return <> + {size} + + }, + args: { + size: "sm" + } +} \ No newline at end of file diff --git a/src/components/FontSizes/Text.style.scss b/src/components/FontSizes/Text.style.scss new file mode 100644 index 00000000..8ed32977 --- /dev/null +++ b/src/components/FontSizes/Text.style.scss @@ -0,0 +1,12 @@ +@import "../../styles/variables"; + +.text { + color: rgba($white, .5); + font-family: Ubuntu, sans-serif; +} + +@each $name, $font in $sizes { + .size--#{$name} { + font-size: $font; + } +} \ No newline at end of file diff --git a/src/components/FontSizes/Text.tsx b/src/components/FontSizes/Text.tsx new file mode 100644 index 00000000..e67c99cf --- /dev/null +++ b/src/components/FontSizes/Text.tsx @@ -0,0 +1,17 @@ +import React, {HTMLProps} from "react"; +import {Size} from "../../utils/types"; +import "./Text.style.scss" + +export interface FontType extends Omit, "children">, "size"> { + children: string, + size: Size, +} + +const Text: React.FC = ({ size, children, ...rest }) => { + + return + {children} + +} + +export default Text \ No newline at end of file diff --git a/src/components/alert/Alert.stories.tsx b/src/components/alert/Alert.stories.tsx index d1001323..5862ee62 100644 --- a/src/components/alert/Alert.stories.tsx +++ b/src/components/alert/Alert.stories.tsx @@ -1,6 +1,7 @@ import React from "react"; import Alert from "./Alert"; import {Meta, StoryObj} from "@storybook/react"; +import {Colors} from "../../utils/types"; const meta: Meta = { title: "Alert", @@ -14,7 +15,7 @@ const meta: Meta = { }, onClose: {table:{disable: true}}, title: {table:{disable: true}}, - variant: {table:{disable: true}} + color: {table:{disable: true}} }, } @@ -28,9 +29,8 @@ export const WithBody: Story = { return <> { - ["primary", "secondary", "info", "success", "warning", "error"].map(value => { - // @ts-ignore - return window.alert("closed")} dismissible={dismissible} icon={icon} title={value}> + Colors.map(value => { + return window.alert("closed")} dismissible={dismissible} icon={icon} title={value}> Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam }) @@ -51,9 +51,8 @@ export const WithoutBody: Story = { return <> { - ["primary", "secondary", "info", "success", "warning", "error"].map(value => { - // @ts-ignore - return window.alert("closed")} dismissible={dismissible} icon={icon} title={value}/> + Colors.map(value => { + return window.alert("closed")} dismissible={dismissible} icon={icon} title={value}/> }) } diff --git a/src/components/alert/Alert.tsx b/src/components/alert/Alert.tsx index ae25adce..0d6e14c6 100644 --- a/src/components/alert/Alert.tsx +++ b/src/components/alert/Alert.tsx @@ -1,13 +1,14 @@ import React, {ReactElement, ReactNode} from "react"; import {IconAlertCircle, IconCircleCheck, IconCircleX, IconInfoCircle, IconX} from "@tabler/icons-react"; import "./Alert.style.scss" +import {Color} from "../../utils/utils"; export interface AlertType { children?: ReactNode | ReactNode[] title: ReactNode //defaults to primary - variant?: "primary" | "secondary" | "info" | "success" | "warning" | "error" + color?: Color //defaults to true icon?: boolean //defaults to false @@ -15,7 +16,7 @@ export interface AlertType { onClose?: (event: React.MouseEvent) => void } -const IconVariants = { +const IconColors = { "info": , "primary": , "secondary": , @@ -27,12 +28,12 @@ const IconVariants = { const Alert: React.FC = (props) => { - const {variant = "primary", dismissible = false, icon = true, title, onClose = (event) => {}, children} = props + const {color = "primary", dismissible = false, icon = true, title, onClose = (event) => {}, children} = props - return
+ return
- {icon ? : null} + {icon ? : null} {title}
{dismissible ? : null} @@ -50,12 +51,12 @@ export interface AlertHeadingType { } export interface AlertIconType { - variant: "primary" | "secondary" | "info" | "success" | "warning" | "error" + color: Color } -const AlertIcon: React.FC = ({variant}) => { +const AlertIcon: React.FC = ({color}) => { return - {IconVariants[variant]} + {IconColors[color]} } diff --git a/src/components/badge/Badge.stories.tsx b/src/components/badge/Badge.stories.tsx index 60889e9d..adfcebc3 100644 --- a/src/components/badge/Badge.stories.tsx +++ b/src/components/badge/Badge.stories.tsx @@ -3,6 +3,7 @@ import React from "react"; import Badge from "./Badge"; import Button from "../button/Button"; import {IconGitBranch} from "@tabler/icons-react"; +import {Colors as BadgeVariants} from "../../utils/types"; const meta: Meta = { title: "Badge", @@ -13,9 +14,8 @@ export const Variants = () => { return <> { - ["primary", "secondary", "info", "success", "warning", "error"].map(value => { - // @ts-ignore - return + BadgeVariants.map(value => { + return {value} }) @@ -25,12 +25,12 @@ export const Variants = () => { } export const ButtonExample = () => { - return diff --git a/src/components/badge/Badge.style.scss b/src/components/badge/Badge.style.scss index e875bf5c..b9ea7eb5 100644 --- a/src/components/badge/Badge.style.scss +++ b/src/components/badge/Badge.style.scss @@ -1,17 +1,18 @@ @import "../../styles/helpers"; +@import "../../styles/variables"; .badge { @include opacityBox(false); padding: .25rem; display: inline-flex; - font-size: $tertiaryFontSize; + font-size: $xs; width: fit-content; } @each $name, $color in $variants { .badge--#{$name} { @include opacityBox(false, $color); - font-size: $tertiaryFontSize; + font-size: $xs; } } \ No newline at end of file diff --git a/src/components/badge/Badge.tsx b/src/components/badge/Badge.tsx index bb2d04c2..725369cd 100644 --- a/src/components/badge/Badge.tsx +++ b/src/components/badge/Badge.tsx @@ -1,17 +1,18 @@ import React, {HTMLProps} from "react"; import "./Badge.style.scss" +import {Color} from "../../utils/utils"; export interface BadgeType extends HTMLProps{ children: string //defaults to primary - variant?: "primary" | "secondary" | "info" | "success" | "warning" | "error" + color?: Color } const Badge: React.FC = (props) => { - const {variant = "primary", children, ...args} = props + const {color = "primary", children, ...args} = props - return + return {children} } diff --git a/src/components/button/Button.stories.tsx b/src/components/button/Button.stories.tsx index 1cb327f7..ce62ccb0 100644 --- a/src/components/button/Button.stories.tsx +++ b/src/components/button/Button.stories.tsx @@ -3,6 +3,7 @@ import {StoryObj} from "@storybook/react"; import React from "react"; import ButtonGroup from "../button-group/ButtonGroup"; import {IconAbc} from "@tabler/icons-react"; +import {Colors} from "../../utils/types"; const meta = { title: "Button", @@ -36,9 +37,9 @@ export const Buttons: ButtonStory = { return <> { - ["primary", "secondary", "info", "success", "warning", "error"].map(value => { + Colors.map(value => { // @ts-ignore - return @@ -58,8 +59,7 @@ export const ButtonGroups: ButtonGroupStory = { return <> { - ["primary", "secondary", "info", "success", "warning", "error"].map((value, index) => { - // @ts-ignore + Colors.map((value, index) => { return