diff --git a/packages/design-system/atoms/toggle/Toggle.stories.tsx b/packages/design-system/atoms/toggle/Toggle.stories.tsx
new file mode 100644
index 0000000..4a5fe1c
--- /dev/null
+++ b/packages/design-system/atoms/toggle/Toggle.stories.tsx
@@ -0,0 +1,23 @@
+import * as React from 'react';
+import { Toggle } from './Toggle';
+export default {
+ title: 'Atoms/Toggle',
+ component: Toggle,
+};
+
+export const toggle = (args) => Turn a cool thing on;
+export const interactive = (args) => {
+ const [state, setState] = React.useState(true);
+ return (
+ {
+ setState(val);
+ args.onChange(val);
+ }}
+ >
+ Turn a cool thing on
+
+ );
+};
diff --git a/packages/design-system/atoms/toggle/Toggle.styled.tsx b/packages/design-system/atoms/toggle/Toggle.styled.tsx
new file mode 100644
index 0000000..e69de29
diff --git a/packages/design-system/atoms/toggle/Toggle.tsx b/packages/design-system/atoms/toggle/Toggle.tsx
new file mode 100644
index 0000000..1d3b028
--- /dev/null
+++ b/packages/design-system/atoms/toggle/Toggle.tsx
@@ -0,0 +1,15 @@
+type ToggleProps = {
+ onChange?: (newState: boolean) => void;
+ children: React.ReactNode;
+ state: boolean;
+};
+
+export const Toggle = (props: ToggleProps) => (
+
{
+ props.onChange?.(!props.state);
+ }}
+ >
+ {props.children}:
{props.state ? 'on' : 'off'}!
+
+);
diff --git a/packages/design-system/atoms/toggle/index.ts b/packages/design-system/atoms/toggle/index.ts
new file mode 100644
index 0000000..7aaab1d
--- /dev/null
+++ b/packages/design-system/atoms/toggle/index.ts
@@ -0,0 +1 @@
+export * from './Toggle';