From 9afc1491934c3dcb6cdfa2b2387b05b3e807905a Mon Sep 17 00:00:00 2001 From: Eric Liu Date: Fri, 20 Dec 2019 16:35:48 -0800 Subject: [PATCH] feat(components): add ContentSwitcher, Switch Closes #33 --- README.md | 2 + .../ContentSwitcher.Story.svelte | 23 ++++++++ .../ContentSwitcher.stories.js | 19 +++++++ .../ContentSwitcher/ContentSwitcher.svelte | 54 +++++++++++++++++++ src/components/ContentSwitcher/Switch.svelte | 50 +++++++++++++++++ src/components/ContentSwitcher/index.js | 4 ++ src/index.js | 3 ++ 7 files changed, 155 insertions(+) create mode 100644 src/components/ContentSwitcher/ContentSwitcher.Story.svelte create mode 100644 src/components/ContentSwitcher/ContentSwitcher.stories.js create mode 100644 src/components/ContentSwitcher/ContentSwitcher.svelte create mode 100644 src/components/ContentSwitcher/Switch.svelte create mode 100644 src/components/ContentSwitcher/index.js diff --git a/README.md b/README.md index ef980b7f..2a2d53ef 100644 --- a/README.md +++ b/README.md @@ -22,6 +22,8 @@ Currently, the following components are supported: - CheckboxSkeleton - CodeSnippet - CodeSnippetSkeleton +- ContentSwitcher + - Switch - Copy - CopyButton - DataTableSkeleton diff --git a/src/components/ContentSwitcher/ContentSwitcher.Story.svelte b/src/components/ContentSwitcher/ContentSwitcher.Story.svelte new file mode 100644 index 00000000..b8ff1961 --- /dev/null +++ b/src/components/ContentSwitcher/ContentSwitcher.Story.svelte @@ -0,0 +1,23 @@ + + + + {#if story === 'selected'} + + + + + + {:else} + + + + + + {/if} + diff --git a/src/components/ContentSwitcher/ContentSwitcher.stories.js b/src/components/ContentSwitcher/ContentSwitcher.stories.js new file mode 100644 index 00000000..b25659a3 --- /dev/null +++ b/src/components/ContentSwitcher/ContentSwitcher.stories.js @@ -0,0 +1,19 @@ +import { withKnobs, boolean } from '@storybook/addon-knobs'; +import Component from './ContentSwitcher.Story.svelte'; + +export default { title: 'ContentSwitcher', decorators: [withKnobs] }; + +export const Default = () => ({ + Component, + props: { + disabled: boolean('Disabled (disabled)', false) + } +}); + +export const Selected = () => ({ + Component, + props: { + story: 'selected', + disabled: boolean('Disabled (disabled)', false) + } +}); diff --git a/src/components/ContentSwitcher/ContentSwitcher.svelte b/src/components/ContentSwitcher/ContentSwitcher.svelte new file mode 100644 index 00000000..c9216d0a --- /dev/null +++ b/src/components/ContentSwitcher/ContentSwitcher.svelte @@ -0,0 +1,54 @@ + + +
+ +
diff --git a/src/components/ContentSwitcher/Switch.svelte b/src/components/ContentSwitcher/Switch.svelte new file mode 100644 index 00000000..821316df --- /dev/null +++ b/src/components/ContentSwitcher/Switch.svelte @@ -0,0 +1,50 @@ + + + diff --git a/src/components/ContentSwitcher/index.js b/src/components/ContentSwitcher/index.js new file mode 100644 index 00000000..273931c9 --- /dev/null +++ b/src/components/ContentSwitcher/index.js @@ -0,0 +1,4 @@ +import ContentSwitcher from './ContentSwitcher.svelte'; + +export default ContentSwitcher; +export { default as Switch } from './Switch.svelte'; diff --git a/src/index.js b/src/index.js index e7d843bb..3fa2aa64 100644 --- a/src/index.js +++ b/src/index.js @@ -2,6 +2,7 @@ import Accordion, { AccordionItem, AccordionSkeleton } from './components/Accord import Breadcrumb, { BreadcrumbItem, BreadcrumbSkeleton } from './components/Breadcrumb'; import Button, { ButtonSkeleton } from './components/Button'; import Checkbox, { CheckboxSkeleton } from './components/Checkbox'; +import ContentSwitcher, { Switch } from './components/ContentSwitcher'; import Copy from './components/Copy'; import CopyButton from './components/CopyButton'; import CodeSnippet, { CodeSnippetSkeleton } from './components/CodeSnippet'; @@ -46,6 +47,7 @@ export { ClickableTile, CodeSnippet, CodeSnippetSkeleton, + ContentSwitcher, Copy, CopyButton, DataTableSkeleton, @@ -63,6 +65,7 @@ export { SelectableTile, SkeletonPlaceholder, SkeletonText, + Switch, Tag, TagSkeleton, TextArea,