diff --git a/src/stories/Select.stories.tsx b/src/stories/Select.stories.tsx
new file mode 100644
index 0000000..1db178e
--- /dev/null
+++ b/src/stories/Select.stories.tsx
@@ -0,0 +1,19 @@
+import React from "react";
+import { ComponentStory, ComponentMeta } from "@storybook/react";
+
+import { SelectProps } from "./Select";
+
+import Select from "./Select";
+
+export default {
+ title: "Select",
+ component: Select,
+ argTypes: {},
+} as ComponentMeta
;
+
+const Template: ComponentStory = (args: SelectProps) => (
+
+);
+
+export const Default = Template.bind({});
+Default.args = { id: "testId" };
diff --git a/src/stories/Select.tsx b/src/stories/Select.tsx
index 887f839..54538f0 100644
--- a/src/stories/Select.tsx
+++ b/src/stories/Select.tsx
@@ -1,19 +1,25 @@
import React, { FC } from "react";
-import styled, { css } from "styled-components";
+import styled from "styled-components";
import CSS from "csstype";
-import { typography, borderRadius, fontSize, padding } from "../shared/styles";
+import {
+ color,
+ typography,
+ borderRadius,
+ padding,
+ outline,
+} from "../shared/styles";
export interface SelectProps {
style?: CSS.Properties;
- name: string;
- value: string;
+ id: string;
+ value?: string;
onChange: (e: React.ChangeEvent) => void;
}
-const Select: FC = ({ style, name, value, onChange }) => {
+const Select: FC = ({ style, id, value = "github", onChange }) => {
return (
-
+
@@ -24,12 +30,16 @@ const Select: FC = ({ style, name, value, onChange }) => {
export default Select;
const StyledSelect = styled.select`
- font-size: ${fontSize.medium};
- font-family: ${typography.primary};
+ color: ${color.darkblue};
+ font-size: ${typography.size.medium};
+ font-family: ${typography.family.primary};
font-weight: ${typography.weight.regular};
padding: ${padding.medium};
width: 100%;
+ height: 6rem;
+
+ cursor: pointer;
border: none;
box-shadow: 0 1px 0 1px rgba(0, 0, 0, 0.04);
@@ -41,32 +51,12 @@ const StyledSelect = styled.select`
background-repeat: no-repeat, repeat;
/* arrow icon position (1em from the right, 50% vertical) , then gradient position*/
/* background-position: right 1.2rem top 50%, 0 0 */
- background-position: right 1.4rem top 50%;
+ background-position: right 1.9rem top 50%;
/* icon size, then gradient */
- /* background-size: 3rem auto, 100%; */
background-size: 2rem auto;
+ &:focus,
&:focus-visible {
- outline: none;
+ outline: ${outline.regular};
}
`;
-
-/*
-const StyledSelect = styled.select`
- border-radius: ${borderRadius.medium};
- border: none;
- padding: ${padding.medium};
- width: 100%;
- margin: 0.7rem auto;
-
- font-size: ${fontSize.medium};
- font-family: ${typography.primary};
- font-weight: ${typography.weight.regular};
-
- cursor: pointer;
-
- &:focus-visible {
- outline: none;
- }
-`;
- */
diff --git a/src/stories/SplashIconHeader.stories.tsx b/src/stories/SplashIconHeader.stories.tsx
new file mode 100644
index 0000000..2a3158f
--- /dev/null
+++ b/src/stories/SplashIconHeader.stories.tsx
@@ -0,0 +1,16 @@
+import React from "react";
+import { ComponentStory, ComponentMeta } from "@storybook/react";
+
+import SplashIconHeader from "./SplashIconHeader";
+
+export default {
+ title: "SVGs/SplashIconHeader",
+ component: SplashIconHeader,
+ argTypes: {},
+} as ComponentMeta;
+
+const Template: ComponentStory = () => (
+
+);
+
+export const Default = Template.bind({});
diff --git a/src/stories/SplashIconHeader.tsx b/src/stories/SplashIconHeader.tsx
new file mode 100644
index 0000000..c948ad5
--- /dev/null
+++ b/src/stories/SplashIconHeader.tsx
@@ -0,0 +1,92 @@
+import React from "react";
+import { rgba } from "polished";
+
+import { color, opacity } from "../shared/styles";
+
+const SplashIconHeader = () => {
+ const bgCircleColor = rgba(color.white, opacity.light);
+
+ const dotColor = "#ffffff";
+ const dotR = "1.5";
+
+ const cy = "60";
+ const r = "60";
+
+ return (
+
+ );
+};
+
+export default SplashIconHeader;
diff --git a/src/stories/TextArea.stories.tsx b/src/stories/TextArea.stories.tsx
new file mode 100644
index 0000000..14bc012
--- /dev/null
+++ b/src/stories/TextArea.stories.tsx
@@ -0,0 +1,22 @@
+import React from "react";
+import { ComponentStory, ComponentMeta } from "@storybook/react";
+
+import { TextAreaProps } from "./TextArea";
+
+import TextArea from "./TextArea";
+
+export default {
+ title: "TextAreas/TextArea",
+ component: TextArea,
+ argTypes: {},
+} as ComponentMeta;
+
+const Template: ComponentStory = (args: TextAreaProps) => (
+
+);
+
+export const Default = Template.bind({});
+Default.args = {
+ id: "testId",
+ placeholder: "Tell me your secrets",
+};
diff --git a/src/stories/TextArea.tsx b/src/stories/TextArea.tsx
index 81badac..7b17658 100644
--- a/src/stories/TextArea.tsx
+++ b/src/stories/TextArea.tsx
@@ -1,21 +1,18 @@
import React, { FC } from "react";
-import styled, { css } from "styled-components";
+import styled from "styled-components";
import CSS from "csstype";
-import { rgba } from "polished";
import {
color,
- opacity,
typography,
borderRadius,
- fontSize,
+ outline,
padding,
} from "../shared/styles";
export interface TextAreaProps {
style?: CSS.Properties;
- disabled?: boolean;
- name: string;
+ id: string;
value: string;
onChange: (e: React.ChangeEvent) => void;
placeholder?: string;
@@ -23,19 +20,17 @@ export interface TextAreaProps {
const TextArea: FC = ({
style,
- name,
+ id,
value,
onChange,
- disabled = false,
placeholder = "",
}) => {
return (
);
@@ -50,31 +45,17 @@ const StyledTextArea = styled.textarea`
width: 100%;
height: 21.6rem;
- font-size: ${fontSize.medium};
- font-family: ${typography.primary};
+ color: ${color.darkblue};
+ font-size: ${typography.size.medium};
+ font-family: ${typography.family.primary};
font-weight: ${typography.weight.regular};
appearance: none;
&:focus-visible {
- outline: none;
+ outline: ${outline.regular};
}
&::placeholder {
- color: ${color.black};
+ color: ${color.darkblue};
}
-
- ${(props) =>
- props.disabled &&
- css`
- cursor: not-allowed;
- height: 0;
- min-height: 12.5rem;
-
- color: white;
- background-color: ${rgba(color.white, opacity.medium)};
-
- &::placeholder {
- color: ${color.white};
- }
- `}
`;
diff --git a/src/stories/TextAreaParagraph.stories.tsx b/src/stories/TextAreaParagraph.stories.tsx
new file mode 100644
index 0000000..54210a0
--- /dev/null
+++ b/src/stories/TextAreaParagraph.stories.tsx
@@ -0,0 +1,27 @@
+import React from "react";
+import { ComponentStory, ComponentMeta } from "@storybook/react";
+
+import { TextAreaParagraphProps } from "./TextAreaParagraph";
+
+import TextAreaParagraph from "./TextAreaParagraph";
+
+export default {
+ title: "TextAreas/TextAreaParagraph",
+ component: TextAreaParagraph,
+ argTypes: {},
+} as ComponentMeta;
+
+const Template: ComponentStory = (
+ args: TextAreaParagraphProps
+) => ;
+
+const lorem =
+ "Lorem ipsum, dolor sit amet consectetur adipisicing elit. Cum, velit provident! Earum esse eum iure, aut repellat distinctio accusamus facilis quia! Officia, obcaecati. Neque, tempore. Modi harum consequatur dicta at? Accusantium ipsum nam vel doloremque eum fuga repellendus consectetur voluptatum amet cumque temporibus atque, iure dolor aliquid esse quaerat nulla repellat, dolore eaque exercitationem accusamus maiores obcaecati! Animi, quos facere! Qui esse soluta maiores expedita, vero mollitia dolorum ducimus impedit quis, rem beatae dolore quod tempore adipisci quaerat quos veniam recusandae voluptatum corrupti sint explicabo dolorem cumque? Reiciendis, odit in!";
+
+export const Default = Template.bind({});
+Default.args = {
+ children: lorem,
+ id: "testId",
+ minHeight: "12.5rem",
+ maxHeight: "30rem",
+};
diff --git a/src/stories/TextAreaParagraph.tsx b/src/stories/TextAreaParagraph.tsx
new file mode 100644
index 0000000..a83c6b1
--- /dev/null
+++ b/src/stories/TextAreaParagraph.tsx
@@ -0,0 +1,65 @@
+import React, { ReactNode } from "react";
+import styled from "styled-components";
+import CSS from "csstype";
+import { rgba } from "polished";
+import {
+ typography,
+ borderRadius,
+ padding,
+ color,
+ opacity,
+} from "../shared/styles";
+
+export interface TextAreaParagraphProps {
+ children: ReactNode | null;
+ style?: CSS.Properties;
+ id: string;
+ minHeight?: string;
+ maxHeight?: string;
+}
+
+const TextAreaParagraph: React.FC = ({
+ children,
+ style,
+ id,
+ minHeight = "12.5rem",
+ maxHeight = "30rem",
+}) => {
+ return (
+
+ {children}
+
+ );
+};
+
+export default TextAreaParagraph;
+
+const StyledParagraph = styled.p`
+ border-radius: ${borderRadius.medium};
+ border: none;
+ margin-block-start: 0;
+ margin-block-end: 0;
+ padding: ${padding.medium};
+
+ width: 100%;
+ min-height: ${(props) => props.minHeight};
+ max-height: ${(props) => props.maxHeight};
+ overflow-y: auto;
+
+ text-align: left;
+ font-size: ${typography.size.medium};
+ font-family: ${typography.family.primary};
+ font-weight: ${typography.weight.regular};
+
+ color: white;
+ background-color: ${rgba(color.white, opacity.dark)};
+
+ &::placeholder {
+ color: ${color.white};
+ }
+`;
diff --git a/src/stories/assets/arrow-right.svg b/src/stories/assets/arrow-right.svg
new file mode 100644
index 0000000..b04dfa5
--- /dev/null
+++ b/src/stories/assets/arrow-right.svg
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/src/stories/assets/copy.svg b/src/stories/assets/copy.svg
deleted file mode 100644
index bcd8c7b..0000000
--- a/src/stories/assets/copy.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/src/stories/assets/download.svg b/src/stories/assets/download.svg
index 2885bc2..bfe34cb 100644
--- a/src/stories/assets/download.svg
+++ b/src/stories/assets/download.svg
@@ -1,3 +1,4 @@
-
-
-
\ No newline at end of file
+
+
+
+
diff --git a/src/stories/assets/file.svg b/src/stories/assets/file.svg
new file mode 100644
index 0000000..b85e5a2
--- /dev/null
+++ b/src/stories/assets/file.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/src/stories/assets/hamburger-menu.svg b/src/stories/assets/hamburger-menu.svg
new file mode 100644
index 0000000..8ccc202
--- /dev/null
+++ b/src/stories/assets/hamburger-menu.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/src/stories/assets/icon-1.svg b/src/stories/assets/icon-1.svg
new file mode 100644
index 0000000..ffa59ac
--- /dev/null
+++ b/src/stories/assets/icon-1.svg
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/src/stories/assets/icon-2.svg b/src/stories/assets/icon-2.svg
new file mode 100644
index 0000000..ecd6e13
--- /dev/null
+++ b/src/stories/assets/icon-2.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/src/stories/assets/icon-3.svg b/src/stories/assets/icon-3.svg
new file mode 100644
index 0000000..7a6cb75
--- /dev/null
+++ b/src/stories/assets/icon-3.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/src/stories/assets/paperclip.svg b/src/stories/assets/paperclip.svg
new file mode 100644
index 0000000..5afe026
--- /dev/null
+++ b/src/stories/assets/paperclip.svg
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/src/stories/utilities/CenteredContainer.tsx b/src/stories/utilities/CenteredContainer.tsx
index 182e89e..e6dadf9 100644
--- a/src/stories/utilities/CenteredContainer.tsx
+++ b/src/stories/utilities/CenteredContainer.tsx
@@ -39,7 +39,7 @@ const StyledDiv = styled.div`
props.fullscreen &&
css`
width: 100vw;
- background-color: ${color.background};
+ background: linear-gradient(180deg, #060b2e 0%, #051745 100%);
`}
${(props) =>
diff --git a/src/stories/utilities/Spacer.tsx b/src/stories/utilities/Spacer.tsx
index af7df0b..2e5295d 100644
--- a/src/stories/utilities/Spacer.tsx
+++ b/src/stories/utilities/Spacer.tsx
@@ -7,7 +7,7 @@ interface SpacerProps {
space?: string;
}
-const Spacer: FC = ({ style, space = "20px" }) => {
+const Spacer: FC = ({ style, space = "2rem" }) => {
return ;
};