@ilo-org/react 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.js +36 -0
- package/.storybook/main.js +28 -0
- package/.storybook/manager-head.html +7 -0
- package/.storybook/manager.js +6 -0
- package/.storybook/preview.tsx +33 -0
- package/.storybook/styles.scss +1 -0
- package/.storybook/theme.js +11 -0
- package/.turbo/turbo-build.log +513 -0
- package/.turbo/turbo-check.log +5 -0
- package/.turbo/turbo-test.log +1676 -0
- package/=6.4.0 +115 -0
- package/=7.21.4 +21 -0
- package/LICENSE +201 -0
- package/README.md +11 -0
- package/lib/index.esm.js +24 -0
- package/lib/index.esm.js.map +1 -0
- package/lib/index.js +24 -0
- package/lib/index.js.map +1 -0
- package/package.json +115 -0
- package/rollup.config.js +40 -0
- package/src/__tests__/Accordion.test.tsx +52 -0
- package/src/__tests__/Button.test.tsx +60 -0
- package/src/__tests__/Callout.test.tsx +41 -0
- package/src/__tests__/ContextMenu.test.tsx +19 -0
- package/src/__tests__/Dropdown.test.tsx +38 -0
- package/src/__tests__/Form.test.tsx +34 -0
- package/src/__tests__/Heading.test.tsx +51 -0
- package/src/__tests__/Hero.test.tsx +22 -0
- package/src/__tests__/Image.test.tsx +21 -0
- package/src/__tests__/LinkList.test.tsx +17 -0
- package/src/__tests__/List.test.tsx +37 -0
- package/src/__tests__/Loading.text.tsx +33 -0
- package/src/__tests__/Notification.test.tsx +39 -0
- package/src/__tests__/Pagination.test.tsx +58 -0
- package/src/__tests__/Profile.test.tsx +48 -0
- package/src/__tests__/ReadMore.test.tsx +42 -0
- package/src/__tests__/RichText.test.tsx +16 -0
- package/src/__tests__/SearchField.test.tsx +35 -0
- package/src/__tests__/TableOfContents.test.tsx +12 -0
- package/src/__tests__/Tag.test.tsx +10 -0
- package/src/components/Accordion/Accordion.args.ts +19 -0
- package/src/components/Accordion/Accordion.props.d.ts +39 -0
- package/src/components/Accordion/Accordion.tsx +70 -0
- package/src/components/Accordion/AccordionButton.props.d.ts +13 -0
- package/src/components/Accordion/AccordionButton.tsx +60 -0
- package/src/components/Accordion/AccordionItem.props.d.ts +25 -0
- package/src/components/Accordion/AccordionItem.tsx +33 -0
- package/src/components/Accordion/AccordionPanel.props.d.ts +20 -0
- package/src/components/Accordion/AccordionPanel.tsx +47 -0
- package/src/components/Accordion/index.ts +4 -0
- package/src/components/Button/Button.args.ts +353 -0
- package/src/components/Button/Button.props.d.ts +74 -0
- package/src/components/Button/Button.tsx +67 -0
- package/src/components/Button/index.ts +1 -0
- package/src/components/Callout/Callout.args.ts +64 -0
- package/src/components/Callout/Callout.props.d.ts +61 -0
- package/src/components/Callout/Callout.tsx +80 -0
- package/src/components/Callout/index.ts +1 -0
- package/src/components/Checkbox/Checkbox.args.ts +22 -0
- package/src/components/Checkbox/Checkbox.props.d.ts +61 -0
- package/src/components/Checkbox/Checkbox.tsx +92 -0
- package/src/components/Checkbox/index.ts +1 -0
- package/src/components/ChoiceGroup/ChoiceGroup.args.ts +90 -0
- package/src/components/ChoiceGroup/ChoiceGroup.props.d.ts +57 -0
- package/src/components/ChoiceGroup/ChoiceGroup.tsx +42 -0
- package/src/components/ChoiceGroup/index.ts +1 -0
- package/src/components/Collapse/Collapse.props.d.ts +92 -0
- package/src/components/Collapse/Collapse.tsx +130 -0
- package/src/components/Collapse/index.ts +1 -0
- package/src/components/ContextMenu/ContextMenu.args.ts +62 -0
- package/src/components/ContextMenu/ContextMenu.props.d.ts +28 -0
- package/src/components/ContextMenu/ContextMenu.tsx +32 -0
- package/src/components/ContextMenu/index.ts +1 -0
- package/src/components/Credit/Credit.args.ts +14 -0
- package/src/components/Credit/Credit.props.d.ts +11 -0
- package/src/components/Credit/Credit.tsx +41 -0
- package/src/components/Credit/index.ts +1 -0
- package/src/components/DatePicker/DatePicker.args.ts +82 -0
- package/src/components/DatePicker/DatePicker.props.d.ts +68 -0
- package/src/components/DatePicker/DatePicker.tsx +119 -0
- package/src/components/DatePicker/index.ts +1 -0
- package/src/components/Dropdown/Dropdown.args.ts +220 -0
- package/src/components/Dropdown/Dropdown.props.d.ts +84 -0
- package/src/components/Dropdown/Dropdown.tsx +82 -0
- package/src/components/Dropdown/index.ts +1 -0
- package/src/components/Empty/Empty.args.ts +14 -0
- package/src/components/Empty/Empty.props.d.ts +6 -0
- package/src/components/Empty/Empty.tsx +16 -0
- package/src/components/Empty/index.ts +1 -0
- package/src/components/Fieldset/Fieldset.props.d.ts +36 -0
- package/src/components/Fieldset/Fieldset.tsx +90 -0
- package/src/components/Fieldset/index.ts +1 -0
- package/src/components/FileUpload/FileUpload.args.ts +62 -0
- package/src/components/FileUpload/FileUpload.props.d.ts +63 -0
- package/src/components/FileUpload/FileUpload.tsx +82 -0
- package/src/components/FileUpload/index.ts +1 -0
- package/src/components/Form/Form.args.ts +265 -0
- package/src/components/Form/Form.props.d.ts +84 -0
- package/src/components/Form/Form.tsx +83 -0
- package/src/components/Form/index.ts +1 -0
- package/src/components/FormElement/FormElement.props.d.ts +53 -0
- package/src/components/FormElement/FormElement.tsx +26 -0
- package/src/components/FormElement/index.ts +1 -0
- package/src/components/FormGroup/FormGroup.args.ts +84 -0
- package/src/components/FormGroup/FormGroup.props.d.ts +71 -0
- package/src/components/FormGroup/FormGroup.tsx +73 -0
- package/src/components/FormGroup/index.ts +1 -0
- package/src/components/GlobalProvider/GlobalProvider.props.d.ts +15 -0
- package/src/components/GlobalProvider/GlobalProvider.tsx +27 -0
- package/src/components/GlobalProvider/index.js +4 -0
- package/src/components/Heading/Heading.args.ts +46 -0
- package/src/components/Heading/Heading.props.d.ts +24 -0
- package/src/components/Heading/Heading.tsx +28 -0
- package/src/components/Heading/index.ts +1 -0
- package/src/components/Hero/Hero.args.ts +296 -0
- package/src/components/Hero/Hero.props.d.ts +29 -0
- package/src/components/Hero/Hero.tsx +35 -0
- package/src/components/Hero/HeroCard.props.d.ts +65 -0
- package/src/components/Hero/HeroCard.tsx +53 -0
- package/src/components/Hero/index.ts +2 -0
- package/src/components/Icon/Icon.args.ts +15 -0
- package/src/components/Icon/Icon.props.d.ts +16 -0
- package/src/components/Icon/Icon.tsx +25 -0
- package/src/components/Icon/index.ts +1 -0
- package/src/components/Image/Image.args.ts +35 -0
- package/src/components/Image/Image.props.d.ts +38 -0
- package/src/components/Image/Image.tsx +51 -0
- package/src/components/Image/index.ts +1 -0
- package/src/components/Input/Input.args.ts +139 -0
- package/src/components/Input/Input.props.d.ts +63 -0
- package/src/components/Input/Input.tsx +63 -0
- package/src/components/Input/index.ts +1 -0
- package/src/components/Link/Link.args.ts +36 -0
- package/src/components/Link/Link.props.d.ts +34 -0
- package/src/components/Link/Link.tsx +49 -0
- package/src/components/Link/index.ts +1 -0
- package/src/components/LinkList/LinkList.args.ts +193 -0
- package/src/components/LinkList/LinkList.props.d.ts +52 -0
- package/src/components/LinkList/LinkList.tsx +59 -0
- package/src/components/LinkList/index.ts +1 -0
- package/src/components/List/List.args.ts +38 -0
- package/src/components/List/List.props.d.ts +36 -0
- package/src/components/List/List.tsx +47 -0
- package/src/components/List/ListItem.props.d.ts +25 -0
- package/src/components/List/ListItem.tsx +23 -0
- package/src/components/List/index.ts +2 -0
- package/src/components/Loading/Loading.args.ts +55 -0
- package/src/components/Loading/Loading.props.d.ts +23 -0
- package/src/components/Loading/Loading.tsx +24 -0
- package/src/components/Loading/index.ts +1 -0
- package/src/components/Notification/Notification.args.ts +157 -0
- package/src/components/Notification/Notification.props.d.ts +67 -0
- package/src/components/Notification/Notification.tsx +78 -0
- package/src/components/Notification/index.ts +1 -0
- package/src/components/NumberPicker/NumberPicker.args.ts +58 -0
- package/src/components/NumberPicker/NumberPicker.props.d.ts +56 -0
- package/src/components/NumberPicker/NumberPicker.tsx +65 -0
- package/src/components/NumberPicker/index.ts +1 -0
- package/src/components/Pagination/Pagination.args.ts +43 -0
- package/src/components/Pagination/Pagination.props.d.ts +66 -0
- package/src/components/Pagination/Pagination.tsx +114 -0
- package/src/components/Pagination/index.ts +1 -0
- package/src/components/Profile/Profile.args.ts +58 -0
- package/src/components/Profile/Profile.props.d.ts +43 -0
- package/src/components/Profile/Profile.tsx +43 -0
- package/src/components/Profile/index.ts +1 -0
- package/src/components/Radio/Radio.args.ts +22 -0
- package/src/components/Radio/Radio.props.d.ts +61 -0
- package/src/components/Radio/Radio.tsx +64 -0
- package/src/components/Radio/index.ts +1 -0
- package/src/components/ReadMore/ReadMore.props.d.ts +38 -0
- package/src/components/ReadMore/ReadMore.tsx +55 -0
- package/src/components/ReadMore/index.ts +1 -0
- package/src/components/ReadMore/readMore.args.ts +35 -0
- package/src/components/RichText/RichText.props.d.ts +11 -0
- package/src/components/RichText/RichText.tsx +22 -0
- package/src/components/RichText/index.ts +1 -0
- package/src/components/RichText/richText.args.ts +15 -0
- package/src/components/SearchField/SearchField.args.ts +73 -0
- package/src/components/SearchField/SearchField.props.d.ts +35 -0
- package/src/components/SearchField/SearchField.tsx +55 -0
- package/src/components/SearchField/index.ts +1 -0
- package/src/components/TableOfContents/TableOfContents.args.ts +35 -0
- package/src/components/TableOfContents/TableOfContents.props.d.ts +23 -0
- package/src/components/TableOfContents/TableOfContents.tsx +32 -0
- package/src/components/TableOfContents/index.ts +1 -0
- package/src/components/Tag/Tag.args.ts +15 -0
- package/src/components/Tag/Tag.props.d.ts +34 -0
- package/src/components/Tag/Tag.tsx +99 -0
- package/src/components/Tag/TagSet.args.ts +39 -0
- package/src/components/Tag/TagSet.props.d.ts +36 -0
- package/src/components/Tag/TagSet.tsx +71 -0
- package/src/components/Tag/index.ts +2 -0
- package/src/components/Textarea/Textarea.args.ts +62 -0
- package/src/components/Textarea/Textarea.props.d.ts +71 -0
- package/src/components/Textarea/Textarea.tsx +67 -0
- package/src/components/Textarea/index.ts +1 -0
- package/src/components/Tooltip/Tooltip.args.ts +43 -0
- package/src/components/Tooltip/Tooltip.props.d.ts +48 -0
- package/src/components/Tooltip/Tooltip.tsx +139 -0
- package/src/components/Tooltip/index.ts +1 -0
- package/src/components/Video/Video.args.ts +81 -0
- package/src/components/Video/Video.props.d.ts +82 -0
- package/src/components/Video/Video.tsx +29 -0
- package/src/components/Video/VideoPlayer.props.d.ts +80 -0
- package/src/components/Video/VideoPlayer.tsx +285 -0
- package/src/components/Video/index.ts +1 -0
- package/src/hooks/useGlobalSettings.ts +13 -0
- package/src/hooks/useVideoPlayer.ts +85 -0
- package/src/index.ts +19 -0
- package/src/public/favicon.ico +0 -0
- package/src/public/index.html +43 -0
- package/src/public/logo192.png +0 -0
- package/src/public/logo512.png +0 -0
- package/src/public/manifest.json +25 -0
- package/src/public/robots.txt +3 -0
- package/src/setup.ts +6 -0
- package/src/stories/Accordion.stories.tsx +94 -0
- package/src/stories/Button.stories.tsx +491 -0
- package/src/stories/Callout.stories.tsx +154 -0
- package/src/stories/ContextMenu.stories.tsx +72 -0
- package/src/stories/Dropdown.stories.tsx +85 -0
- package/src/stories/Empty.stories.tsx +48 -0
- package/src/stories/Form.stories.tsx +67 -0
- package/src/stories/Heading.stories.tsx +191 -0
- package/src/stories/Hero.stories.tsx +129 -0
- package/src/stories/Image.stories.tsx +71 -0
- package/src/stories/Introduction.stories.mdx +12 -0
- package/src/stories/Link.stories.tsx +99 -0
- package/src/stories/LinkList.stories.tsx +68 -0
- package/src/stories/List.stories.tsx +246 -0
- package/src/stories/Loading.stories.tsx +103 -0
- package/src/stories/Notification.stories.tsx +154 -0
- package/src/stories/Pagination.stories.tsx +63 -0
- package/src/stories/Profile.stories.tsx +84 -0
- package/src/stories/ReadMore.stories.tsx +80 -0
- package/src/stories/RichText.stories.tsx +59 -0
- package/src/stories/SearchField.stories.tsx +87 -0
- package/src/stories/TableOfContents.stories.tsx +50 -0
- package/src/stories/Tag.stories.tsx +194 -0
- package/src/stories/Tooltip.stories.tsx +83 -0
- package/src/stories/Video.stories.tsx +69 -0
- package/src/stories/assets/code-brackets.svg +1 -0
- package/src/stories/assets/colors.svg +1 -0
- package/src/stories/assets/comments.svg +1 -0
- package/src/stories/assets/direction.svg +1 -0
- package/src/stories/assets/flow.svg +1 -0
- package/src/stories/assets/plugin.svg +1 -0
- package/src/stories/assets/repo.svg +1 -0
- package/src/stories/assets/stackalt.svg +1 -0
- package/src/types/index.ts +49 -0
- package/src/types/temp.d.ts +9 -0
- package/src/utils/checkArrayDuplicates.ts +3 -0
- package/src/utils/createChainedFunction.ts +31 -0
- package/src/utils/getDefaultDimensionValue.ts +28 -0
- package/src/utils/hoursMinutesSeconds.ts +8 -0
- package/src/utils/transitionEndListener.ts +29 -0
- package/src/utils/triggerBrowserReflow.ts +4 -0
- package/storybook-static/0.f9bb25299a048d2bb825.manager.bundle.js +2 -0
- package/storybook-static/0.f9bb25299a048d2bb825.manager.bundle.js.LICENSE.txt +8 -0
- package/storybook-static/01daf23af61cc99e9d75.woff2 +0 -0
- package/storybook-static/06a2da828c8b6497ba7a.woff +0 -0
- package/storybook-static/0fa24adac56865ac7e5f.ttf +0 -0
- package/storybook-static/12ec02e7e66abaf38243.eot +0 -0
- package/storybook-static/164.8f6e5926.iframe.bundle.js +2 -0
- package/storybook-static/164.8f6e5926.iframe.bundle.js.LICENSE.txt +8 -0
- package/storybook-static/181.1d6d475b.iframe.bundle.js +1 -0
- package/storybook-static/1cc3364249fd0db446ad.ttf +0 -0
- package/storybook-static/1dbed2ef5cef8fcb4cbe.ttf +0 -0
- package/storybook-static/1fa1c16a4a45d13f0df8.ttf +0 -0
- package/storybook-static/23cdaa8575b5e003dcde.eot +0 -0
- package/storybook-static/248db78ddf1e3568728d.woff +0 -0
- package/storybook-static/27d33755a2b827666dc5.woff +0 -0
- package/storybook-static/29.8e0bc9a8.iframe.bundle.js +2 -0
- package/storybook-static/29.8e0bc9a8.iframe.bundle.js.LICENSE.txt +102 -0
- package/storybook-static/2ac1a95228cf06e17040.woff2 +0 -0
- package/storybook-static/337.b8defe66.iframe.bundle.js +2 -0
- package/storybook-static/337.b8defe66.iframe.bundle.js.LICENSE.txt +11 -0
- package/storybook-static/3579203659b1428de036.eot +0 -0
- package/storybook-static/36229f80a738c199462d.woff2 +0 -0
- package/storybook-static/409a9c398a28ee4d74ff.eot +0 -0
- package/storybook-static/431.8ab7c276.iframe.bundle.js +1 -0
- package/storybook-static/431.b32fed6077acc140df7c.manager.bundle.js +1 -0
- package/storybook-static/4bf5fc6f93ba10519c82.eot +0 -0
- package/storybook-static/51d7da3f5e58e3a24a84.woff +0 -0
- package/storybook-static/697.1f42ad69d33c2733c631.manager.bundle.js +1 -0
- package/storybook-static/697.9e56beef.iframe.bundle.js +1 -0
- package/storybook-static/6a159f0a2005668f1f78.woff +0 -0
- package/storybook-static/6f781753b674130d947a.ttf +0 -0
- package/storybook-static/70a240717e773fe567b3.woff2 +0 -0
- package/storybook-static/720.f44d4e1f5203b6083ae4.manager.bundle.js +1 -0
- package/storybook-static/730.1240c246.iframe.bundle.js +1 -0
- package/storybook-static/730.7223b772132e3e068755.manager.bundle.js +1 -0
- package/storybook-static/73ba1c910e0f7bfc6b18.woff2 +0 -0
- package/storybook-static/88739612501023fa15e3.woff +0 -0
- package/storybook-static/8a142c29a318c432117a.woff +0 -0
- package/storybook-static/914.8ddb80ae2badda1468b0.manager.bundle.js +2 -0
- package/storybook-static/914.8ddb80ae2badda1468b0.manager.bundle.js.LICENSE.txt +94 -0
- package/storybook-static/978.236a5d9d5736517b960e.manager.bundle.js +2 -0
- package/storybook-static/978.236a5d9d5736517b960e.manager.bundle.js.LICENSE.txt +12 -0
- package/storybook-static/978.32e8032b.iframe.bundle.js +2 -0
- package/storybook-static/978.32e8032b.iframe.bundle.js.LICENSE.txt +12 -0
- package/storybook-static/9db5d05810cb98f2831f.ttf +0 -0
- package/storybook-static/9ff97e342523931a4992.eot +0 -0
- package/storybook-static/a40d436619020fb67db5.woff +0 -0
- package/storybook-static/a41d7e330757fb4b2125.woff2 +0 -0
- package/storybook-static/ab3494afe25b712485ed.woff +0 -0
- package/storybook-static/b53d0e74edc5a5fbef0a.ttf +0 -0
- package/storybook-static/b70a9c0ad8e8b43f5e6c.ttf +0 -0
- package/storybook-static/c12a83f816844ff94375.ttf +0 -0
- package/storybook-static/c5116d16544f932eba4b.eot +0 -0
- package/storybook-static/c807e115c00aaffbac11.woff2 +0 -0
- package/storybook-static/cadb6b94d6b0ecc3a86a.woff2 +0 -0
- package/storybook-static/d0cff1b064bcd84324fe.eot +0 -0
- package/storybook-static/d3434771ad7e9030387e.ttf +0 -0
- package/storybook-static/d8610c2a4fe5c177f4f6.woff +0 -0
- package/storybook-static/d970f426740b938f39e1.woff +0 -0
- package/storybook-static/d9c7eba773ff1c8df5bb.eot +0 -0
- package/storybook-static/dd4645bdb2f1e1a47ed7.woff2 +0 -0
- package/storybook-static/e0a63577ac642885f067.eot +0 -0
- package/storybook-static/e2625b8a1277972c9240.ttf +0 -0
- package/storybook-static/f469ea3aa8aacf7ad83a.eot +0 -0
- package/storybook-static/f632ebfa0d7b7085d542.woff2 +0 -0
- package/storybook-static/f93e2252d7112c3bcca5.woff2 +0 -0
- package/storybook-static/favicon.ico +0 -0
- package/storybook-static/iframe.html +348 -0
- package/storybook-static/index.html +59 -0
- package/storybook-static/main.01e6a863.iframe.bundle.js +1 -0
- package/storybook-static/main.dc406261155f1ebb44ce.manager.bundle.js +1 -0
- package/storybook-static/reactPlayerDailyMotion.469cc00f.iframe.bundle.js +1 -0
- package/storybook-static/reactPlayerFacebook.1423bb15.iframe.bundle.js +1 -0
- package/storybook-static/reactPlayerFilePlayer.e19e24a0.iframe.bundle.js +1 -0
- package/storybook-static/reactPlayerKaltura.d1eb0868.iframe.bundle.js +1 -0
- package/storybook-static/reactPlayerMixcloud.9f1b1691.iframe.bundle.js +1 -0
- package/storybook-static/reactPlayerPreview.9295696b.iframe.bundle.js +1 -0
- package/storybook-static/reactPlayerSoundCloud.d420395c.iframe.bundle.js +1 -0
- package/storybook-static/reactPlayerStreamable.9b655bf3.iframe.bundle.js +1 -0
- package/storybook-static/reactPlayerTwitch.e90e6dea.iframe.bundle.js +1 -0
- package/storybook-static/reactPlayerVidyard.a37ae6b3.iframe.bundle.js +1 -0
- package/storybook-static/reactPlayerVimeo.a7f367ee.iframe.bundle.js +1 -0
- package/storybook-static/reactPlayerWistia.fb351944.iframe.bundle.js +1 -0
- package/storybook-static/reactPlayerYouTube.3514e11a.iframe.bundle.js +1 -0
- package/storybook-static/runtime~main.012769eac0433a7ec083.manager.bundle.js +1 -0
- package/storybook-static/runtime~main.f3168ed5.iframe.bundle.js +1 -0
- package/storybook-static/static/css/main.3d116812.css +3 -0
- package/storybook-static/static/css/main.3d116812.css.map +1 -0
- package/tsconfig.build.json +15 -0
- package/tsconfig.json +7 -0
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { Story, Meta } from "@storybook/react";
|
|
2
|
+
import {
|
|
3
|
+
Title,
|
|
4
|
+
Subtitle,
|
|
5
|
+
Description,
|
|
6
|
+
Primary,
|
|
7
|
+
Stories,
|
|
8
|
+
Subheading,
|
|
9
|
+
} from "@storybook/addon-docs";
|
|
10
|
+
import { Dropdown } from "../components/Dropdown";
|
|
11
|
+
import { DropdownProps } from "../components/Dropdown/Dropdown.props";
|
|
12
|
+
import dropdownArgs from "../components/Dropdown/Dropdown.args";
|
|
13
|
+
|
|
14
|
+
const propsDoc = `
|
|
15
|
+
The Dropdown receives a prop for 'options,' which has three parameters:
|
|
16
|
+
|
|
17
|
+
| Prop | Description |
|
|
18
|
+
|----------|-------------|
|
|
19
|
+
| \`disabled\` | Is *this* option disabled? |
|
|
20
|
+
| \`label\` | The human-readable label for the option. |
|
|
21
|
+
| \`value\` | The value of the option which is what is submitted with the form. |
|
|
22
|
+
`;
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Profile Story
|
|
26
|
+
*
|
|
27
|
+
*/
|
|
28
|
+
export default {
|
|
29
|
+
title: "Components/Dropdown",
|
|
30
|
+
component: Dropdown,
|
|
31
|
+
parameters: {
|
|
32
|
+
componentSubtitle: "Component",
|
|
33
|
+
docs: {
|
|
34
|
+
page: () => (
|
|
35
|
+
<>
|
|
36
|
+
<Subtitle />
|
|
37
|
+
<Title />
|
|
38
|
+
<Description>
|
|
39
|
+
The Dropdown displays a select element with options, and is most
|
|
40
|
+
commonly used in forms.
|
|
41
|
+
</Description>
|
|
42
|
+
<Primary />
|
|
43
|
+
<Subheading>Props</Subheading>
|
|
44
|
+
<Description>{propsDoc}</Description>
|
|
45
|
+
<Stories title="Examples"></Stories>
|
|
46
|
+
</>
|
|
47
|
+
),
|
|
48
|
+
},
|
|
49
|
+
},
|
|
50
|
+
} as Meta<typeof Dropdown>;
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Dropdown Template
|
|
54
|
+
*
|
|
55
|
+
* create a Storybook template for this component
|
|
56
|
+
*
|
|
57
|
+
*@param (Object) args - props to be passed to the component
|
|
58
|
+
*/
|
|
59
|
+
const DropdownTemplate: Story<DropdownProps> = (args) => <Dropdown {...args} />;
|
|
60
|
+
|
|
61
|
+
export const Basic = DropdownTemplate.bind({});
|
|
62
|
+
|
|
63
|
+
export const HasError = DropdownTemplate.bind({});
|
|
64
|
+
|
|
65
|
+
export const HasHelper = DropdownTemplate.bind({});
|
|
66
|
+
|
|
67
|
+
export const HasTooltip = DropdownTemplate.bind({});
|
|
68
|
+
|
|
69
|
+
export const IsDisabled = DropdownTemplate.bind({});
|
|
70
|
+
|
|
71
|
+
// enumerate the props for the variations on the Dropdown component
|
|
72
|
+
Basic.args = dropdownArgs.basic;
|
|
73
|
+
Basic.storyName = "Dropdown - Basic";
|
|
74
|
+
|
|
75
|
+
HasError.args = dropdownArgs.haserror;
|
|
76
|
+
HasError.storyName = "Dropdown - Has Error";
|
|
77
|
+
|
|
78
|
+
HasHelper.args = dropdownArgs.hashelper;
|
|
79
|
+
HasHelper.storyName = "Dropdown - Has Helper";
|
|
80
|
+
|
|
81
|
+
HasTooltip.args = dropdownArgs.hastooltip;
|
|
82
|
+
HasTooltip.storyName = "Dropdown - Has Tooltip";
|
|
83
|
+
|
|
84
|
+
IsDisabled.args = dropdownArgs.isdisabled;
|
|
85
|
+
IsDisabled.storyName = "Dropdown - Is Disabled";
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { Story, Meta } from "@storybook/react";
|
|
2
|
+
import {
|
|
3
|
+
Title,
|
|
4
|
+
Subtitle,
|
|
5
|
+
Description,
|
|
6
|
+
Primary,
|
|
7
|
+
Stories,
|
|
8
|
+
} from "@storybook/addon-docs";
|
|
9
|
+
import { Empty } from "../components/Empty";
|
|
10
|
+
import { EmptyProps } from "../components/Empty/Empty.props";
|
|
11
|
+
import emptyArgs from "../components/Empty/Empty.args";
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Empty Story
|
|
15
|
+
*
|
|
16
|
+
*/
|
|
17
|
+
export default {
|
|
18
|
+
title: "Components/Empty",
|
|
19
|
+
component: Empty,
|
|
20
|
+
parameters: {
|
|
21
|
+
componentSubtitle: "Component",
|
|
22
|
+
docs: {
|
|
23
|
+
page: () => (
|
|
24
|
+
<>
|
|
25
|
+
<Subtitle />
|
|
26
|
+
<Title />
|
|
27
|
+
<Description>
|
|
28
|
+
The Empty component receives no props. It it displayed on page load
|
|
29
|
+
as a placeholder component while data loads.
|
|
30
|
+
</Description>
|
|
31
|
+
<Primary />
|
|
32
|
+
<Stories title="Examples"></Stories>
|
|
33
|
+
</>
|
|
34
|
+
),
|
|
35
|
+
},
|
|
36
|
+
},
|
|
37
|
+
} as Meta<typeof Empty>;
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Empty Template
|
|
41
|
+
*
|
|
42
|
+
* create a Storybook template for this component
|
|
43
|
+
*
|
|
44
|
+
*@param (Object) args - props to be passed to the component
|
|
45
|
+
*/
|
|
46
|
+
const EmptyTemplate: Story<EmptyProps> = () => <Empty {...emptyArgs.empty1} />;
|
|
47
|
+
|
|
48
|
+
export const Empty1 = EmptyTemplate.bind({});
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { Story, Meta } from "@storybook/react";
|
|
2
|
+
import {
|
|
3
|
+
Title,
|
|
4
|
+
Subtitle,
|
|
5
|
+
Description,
|
|
6
|
+
Primary,
|
|
7
|
+
ArgsTable,
|
|
8
|
+
Stories,
|
|
9
|
+
} from "@storybook/addon-docs";
|
|
10
|
+
import { Form } from "../components/Form";
|
|
11
|
+
import { FormProps } from "../components/Form/Form.props";
|
|
12
|
+
import FormArgs from "../components/Form/Form.args";
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Form Story
|
|
16
|
+
*
|
|
17
|
+
*/
|
|
18
|
+
export default {
|
|
19
|
+
title: "Components/Form",
|
|
20
|
+
component: Form,
|
|
21
|
+
argTypes: {},
|
|
22
|
+
parameters: {
|
|
23
|
+
componentSubtitle: "Component",
|
|
24
|
+
docs: {
|
|
25
|
+
page: () => (
|
|
26
|
+
<>
|
|
27
|
+
<Subtitle />
|
|
28
|
+
<Title />
|
|
29
|
+
<Description>The Form component displays a form.</Description>
|
|
30
|
+
<Primary />
|
|
31
|
+
<ArgsTable />
|
|
32
|
+
<Stories title="Examples"></Stories>
|
|
33
|
+
</>
|
|
34
|
+
),
|
|
35
|
+
},
|
|
36
|
+
},
|
|
37
|
+
} as Meta<typeof Form>;
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Form Template
|
|
41
|
+
*
|
|
42
|
+
* create a Storybook template for this component
|
|
43
|
+
*
|
|
44
|
+
*@param (Object) args - props to be passed to the component
|
|
45
|
+
*/
|
|
46
|
+
const FormTemplate: Story<FormProps> = (args) => <Form {...args} />;
|
|
47
|
+
|
|
48
|
+
export const FormDefault = FormTemplate.bind({});
|
|
49
|
+
|
|
50
|
+
export const FormHasHelper = FormTemplate.bind({});
|
|
51
|
+
|
|
52
|
+
export const FormHasError = FormTemplate.bind({});
|
|
53
|
+
|
|
54
|
+
export const FormHasTooltip = FormTemplate.bind({});
|
|
55
|
+
|
|
56
|
+
// enumerate the props for the default search field
|
|
57
|
+
FormDefault.args = FormArgs.basic;
|
|
58
|
+
FormDefault.storyName = "Default Form";
|
|
59
|
+
|
|
60
|
+
FormHasHelper.args = FormArgs.hashelper;
|
|
61
|
+
FormHasHelper.storyName = "Default Form with Helper Text";
|
|
62
|
+
|
|
63
|
+
FormHasError.args = FormArgs.haserror;
|
|
64
|
+
FormHasError.storyName = "Default Form with errors";
|
|
65
|
+
|
|
66
|
+
FormHasTooltip.args = FormArgs.hastooltip;
|
|
67
|
+
FormHasTooltip.storyName = "Default Form with Tooltips";
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
import { Story, Meta } from "@storybook/react";
|
|
2
|
+
import {
|
|
3
|
+
Title,
|
|
4
|
+
Subtitle,
|
|
5
|
+
Description,
|
|
6
|
+
Primary,
|
|
7
|
+
ArgsTable,
|
|
8
|
+
Stories,
|
|
9
|
+
Subheading,
|
|
10
|
+
} from "@storybook/addon-docs";
|
|
11
|
+
import { Heading } from "../components/Heading";
|
|
12
|
+
import { HeadingProps } from "../components/Heading/Heading.props";
|
|
13
|
+
import headingArgs from "../components/Heading/Heading.args";
|
|
14
|
+
|
|
15
|
+
const headingDoc = `
|
|
16
|
+
By changing the \`level\` prop you can use different heading levels. The default heading level if not specified is \`h3\`.
|
|
17
|
+
|
|
18
|
+
| level | Description |
|
|
19
|
+
|----------|-------------|
|
|
20
|
+
| \`h1\` | heading level 1. |
|
|
21
|
+
| \`h2\` | heading level 2. |
|
|
22
|
+
| \`h3\` | heading level 3. |
|
|
23
|
+
| \`h4\` | heading level 4. |
|
|
24
|
+
| \`h5\` | heading level 5. |
|
|
25
|
+
| \`h6\` | heading level 6. |
|
|
26
|
+
`;
|
|
27
|
+
|
|
28
|
+
const typeDoc = `
|
|
29
|
+
By changing the \`type\` prop you can change the color of the heading. If not specified, the heading will inherit the color.
|
|
30
|
+
|
|
31
|
+
| type | Description |
|
|
32
|
+
|----------|-------------|
|
|
33
|
+
| \`default\` | Set the heading color to the base/default label theme. |
|
|
34
|
+
| \`actionable\` | set the heading color to the actionable label theme. |
|
|
35
|
+
| \`light\` | Set the heading color to the light label theme. |
|
|
36
|
+
`;
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Accordion Story
|
|
40
|
+
*
|
|
41
|
+
*/
|
|
42
|
+
export default {
|
|
43
|
+
title: "Components/Heading",
|
|
44
|
+
component: Heading,
|
|
45
|
+
argTypes: {
|
|
46
|
+
level: {
|
|
47
|
+
control: "text",
|
|
48
|
+
},
|
|
49
|
+
className: {
|
|
50
|
+
control: "text",
|
|
51
|
+
},
|
|
52
|
+
},
|
|
53
|
+
parameters: {
|
|
54
|
+
componentSubtitle: "Component",
|
|
55
|
+
docs: {
|
|
56
|
+
page: () => (
|
|
57
|
+
<>
|
|
58
|
+
<Subtitle />
|
|
59
|
+
<Title />
|
|
60
|
+
<Primary />
|
|
61
|
+
<ArgsTable />
|
|
62
|
+
<Subheading>Heading Level Prop</Subheading>
|
|
63
|
+
<Description>{headingDoc}</Description>
|
|
64
|
+
<Subheading>Color Prop</Subheading>
|
|
65
|
+
<Description>{typeDoc}</Description>
|
|
66
|
+
<Stories title="Examples" />
|
|
67
|
+
</>
|
|
68
|
+
),
|
|
69
|
+
},
|
|
70
|
+
},
|
|
71
|
+
} as Meta<typeof Heading>;
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* Heading 1 Template
|
|
75
|
+
*
|
|
76
|
+
* create a Storybook template for this component
|
|
77
|
+
*
|
|
78
|
+
*@param (Object) args - props to be passed to the component
|
|
79
|
+
*/
|
|
80
|
+
const Heading1Template: Story<HeadingProps> = () => (
|
|
81
|
+
<Heading {...headingArgs.heading1} />
|
|
82
|
+
);
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* Heading 2 Template
|
|
86
|
+
*
|
|
87
|
+
* create a Storybook template for this component
|
|
88
|
+
*
|
|
89
|
+
*@param (Object) args - props to be passed to the component
|
|
90
|
+
*/
|
|
91
|
+
const Heading2Template: Story<HeadingProps> = () => (
|
|
92
|
+
<Heading {...headingArgs.heading2} />
|
|
93
|
+
);
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* Heading 3 Template
|
|
97
|
+
*
|
|
98
|
+
* create a Storybook template for this component
|
|
99
|
+
*
|
|
100
|
+
*@param (Object) args - props to be passed to the component
|
|
101
|
+
*/
|
|
102
|
+
const Heading3Template: Story<HeadingProps> = () => (
|
|
103
|
+
<Heading {...headingArgs.heading3} />
|
|
104
|
+
);
|
|
105
|
+
|
|
106
|
+
/**
|
|
107
|
+
* Heading 4 Template
|
|
108
|
+
*
|
|
109
|
+
* create a Storybook template for this component
|
|
110
|
+
*
|
|
111
|
+
*@param (Object) args - props to be passed to the component
|
|
112
|
+
*/
|
|
113
|
+
const Heading4Template: Story<HeadingProps> = () => (
|
|
114
|
+
<Heading {...headingArgs.heading4} />
|
|
115
|
+
);
|
|
116
|
+
|
|
117
|
+
/**
|
|
118
|
+
* Heading 5 Template
|
|
119
|
+
*
|
|
120
|
+
* create a Storybook template for this component
|
|
121
|
+
*
|
|
122
|
+
*@param (Object) args - props to be passed to the component
|
|
123
|
+
*/
|
|
124
|
+
const Heading5Template: Story<HeadingProps> = () => (
|
|
125
|
+
<Heading {...headingArgs.heading5} />
|
|
126
|
+
);
|
|
127
|
+
|
|
128
|
+
/**
|
|
129
|
+
* Heading 6 Template
|
|
130
|
+
*
|
|
131
|
+
* create a Storybook template for this component
|
|
132
|
+
*
|
|
133
|
+
*@param (Object) args - props to be passed to the component
|
|
134
|
+
*/
|
|
135
|
+
const Heading6Template: Story<HeadingProps> = () => (
|
|
136
|
+
<Heading {...headingArgs.heading6} />
|
|
137
|
+
);
|
|
138
|
+
|
|
139
|
+
/**
|
|
140
|
+
* Heading 1 Instance
|
|
141
|
+
*
|
|
142
|
+
*/
|
|
143
|
+
export const Heading1 = Heading1Template.bind({});
|
|
144
|
+
|
|
145
|
+
/**
|
|
146
|
+
* Heading 2 Instance
|
|
147
|
+
*
|
|
148
|
+
*/
|
|
149
|
+
export const Heading2 = Heading2Template.bind({});
|
|
150
|
+
|
|
151
|
+
/**
|
|
152
|
+
* Heading 3 Instance
|
|
153
|
+
*
|
|
154
|
+
*/
|
|
155
|
+
export const Heading3 = Heading3Template.bind({});
|
|
156
|
+
|
|
157
|
+
/**
|
|
158
|
+
* Heading 4 Instance
|
|
159
|
+
*
|
|
160
|
+
*/
|
|
161
|
+
export const Heading4 = Heading4Template.bind({});
|
|
162
|
+
|
|
163
|
+
/**
|
|
164
|
+
* Heading 5 Instance
|
|
165
|
+
*
|
|
166
|
+
*/
|
|
167
|
+
export const Heading5 = Heading5Template.bind({});
|
|
168
|
+
|
|
169
|
+
/**
|
|
170
|
+
* Heading 6 Instance
|
|
171
|
+
*
|
|
172
|
+
*/
|
|
173
|
+
export const Heading6 = Heading6Template.bind({});
|
|
174
|
+
|
|
175
|
+
// enumerate the props for the heading 1.
|
|
176
|
+
Heading1.storyName = "Heading Level 1";
|
|
177
|
+
|
|
178
|
+
// enumerate the props
|
|
179
|
+
Heading2.storyName = "Heading Level 2";
|
|
180
|
+
|
|
181
|
+
// enumerate the props
|
|
182
|
+
Heading3.storyName = "Heading Level 3";
|
|
183
|
+
|
|
184
|
+
// enumerate the props
|
|
185
|
+
Heading4.storyName = "Heading Level 4";
|
|
186
|
+
|
|
187
|
+
// enumerate the props
|
|
188
|
+
Heading5.storyName = "Heading Level 5";
|
|
189
|
+
|
|
190
|
+
// enumerate the props
|
|
191
|
+
Heading6.storyName = "Heading Level 6";
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import { Story, Meta } from "@storybook/react";
|
|
2
|
+
import {
|
|
3
|
+
Title,
|
|
4
|
+
Subtitle,
|
|
5
|
+
Description,
|
|
6
|
+
Primary,
|
|
7
|
+
ArgsTable,
|
|
8
|
+
Stories,
|
|
9
|
+
} from "@storybook/addon-docs";
|
|
10
|
+
import { Hero } from "../components/Hero";
|
|
11
|
+
import { HeroProps } from "../components/Hero/Hero.props";
|
|
12
|
+
import heroArgs from "../components/Hero/Hero.args";
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Hero Story
|
|
16
|
+
*
|
|
17
|
+
*/
|
|
18
|
+
export default {
|
|
19
|
+
title: "Components/Hero",
|
|
20
|
+
component: Hero,
|
|
21
|
+
argTypes: {},
|
|
22
|
+
parameters: {
|
|
23
|
+
componentSubtitle: "Component",
|
|
24
|
+
docs: {
|
|
25
|
+
page: () => (
|
|
26
|
+
<>
|
|
27
|
+
<Subtitle />
|
|
28
|
+
<Title />
|
|
29
|
+
<Description>
|
|
30
|
+
The Hero component displays an hero, along with an hero credit and
|
|
31
|
+
optional caption.
|
|
32
|
+
</Description>
|
|
33
|
+
<Primary />
|
|
34
|
+
<ArgsTable />
|
|
35
|
+
<Stories title="Examples"></Stories>
|
|
36
|
+
</>
|
|
37
|
+
),
|
|
38
|
+
},
|
|
39
|
+
},
|
|
40
|
+
} as Meta<typeof Hero>;
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* HeroTemplate
|
|
44
|
+
*
|
|
45
|
+
* create a Storybook template for this component
|
|
46
|
+
*
|
|
47
|
+
*@param (Object) args - props to be passed to the component
|
|
48
|
+
*/
|
|
49
|
+
const HeroTemplate: Story<HeroProps> = (args) => <Hero {...args} />;
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* Home Hero Instance
|
|
53
|
+
*
|
|
54
|
+
*/
|
|
55
|
+
export const HomeHero = HeroTemplate.bind({});
|
|
56
|
+
|
|
57
|
+
// enumerate the props for the hero only option
|
|
58
|
+
HomeHero.args = heroArgs.homeHero;
|
|
59
|
+
HomeHero.storyName = "Home Hero";
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* Article Hero Instance
|
|
63
|
+
*
|
|
64
|
+
*/
|
|
65
|
+
export const ArticleHero = HeroTemplate.bind({});
|
|
66
|
+
|
|
67
|
+
// enumerate the props for the hero only option
|
|
68
|
+
ArticleHero.args = heroArgs.articleHero;
|
|
69
|
+
ArticleHero.storyName = "Article Hero";
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* Article Centered Hero Instance
|
|
73
|
+
*
|
|
74
|
+
*/
|
|
75
|
+
export const ArticleCenteredHero = HeroTemplate.bind({});
|
|
76
|
+
|
|
77
|
+
// enumerate the props for the hero only option
|
|
78
|
+
ArticleCenteredHero.args = heroArgs.articleCenteredHero;
|
|
79
|
+
ArticleCenteredHero.storyName = "Article Centered Hero";
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* Article No-Image Hero Instance
|
|
83
|
+
*
|
|
84
|
+
*/
|
|
85
|
+
export const ArticleNoImageHero = HeroTemplate.bind({});
|
|
86
|
+
|
|
87
|
+
// enumerate the props for the hero only option
|
|
88
|
+
ArticleNoImageHero.args = heroArgs.articleNoImageHero;
|
|
89
|
+
ArticleNoImageHero.storyName = "Article No Image Hero";
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* Graphic Hero Instance
|
|
93
|
+
*
|
|
94
|
+
*/
|
|
95
|
+
export const GraphicHero = HeroTemplate.bind({});
|
|
96
|
+
|
|
97
|
+
// enumerate the props for the hero only option
|
|
98
|
+
GraphicHero.args = heroArgs.graphicHero;
|
|
99
|
+
GraphicHero.storyName = "Graphic Hero";
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
* Portal Hero Instance
|
|
103
|
+
*
|
|
104
|
+
*/
|
|
105
|
+
export const PortalHero = HeroTemplate.bind({});
|
|
106
|
+
|
|
107
|
+
// enumerate the props for the hero only option
|
|
108
|
+
PortalHero.args = heroArgs.portalHero;
|
|
109
|
+
PortalHero.storyName = "Portal Hero";
|
|
110
|
+
|
|
111
|
+
/**
|
|
112
|
+
* Project Hero Instance
|
|
113
|
+
*
|
|
114
|
+
*/
|
|
115
|
+
export const ProjectHero = HeroTemplate.bind({});
|
|
116
|
+
|
|
117
|
+
// enumerate the props for the hero only option
|
|
118
|
+
ProjectHero.args = heroArgs.projectHero;
|
|
119
|
+
ProjectHero.storyName = "Project Hero";
|
|
120
|
+
|
|
121
|
+
/**
|
|
122
|
+
* Publication Hero Instance
|
|
123
|
+
*
|
|
124
|
+
*/
|
|
125
|
+
export const PublicationHero = HeroTemplate.bind({});
|
|
126
|
+
|
|
127
|
+
// enumerate the props for the hero only option
|
|
128
|
+
PublicationHero.args = heroArgs.publicationHero;
|
|
129
|
+
PublicationHero.storyName = "Publication Hero";
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { Story, Meta } from "@storybook/react";
|
|
2
|
+
import {
|
|
3
|
+
Title,
|
|
4
|
+
Subtitle,
|
|
5
|
+
Description,
|
|
6
|
+
Primary,
|
|
7
|
+
ArgsTable,
|
|
8
|
+
Stories,
|
|
9
|
+
Subheading,
|
|
10
|
+
} from "@storybook/addon-docs";
|
|
11
|
+
import { Image } from "../components/Image";
|
|
12
|
+
import { ImageProps } from "../components/Image/Image.props";
|
|
13
|
+
import imageArgs from "../components/Image/Image.args";
|
|
14
|
+
|
|
15
|
+
const urlDoc = `
|
|
16
|
+
The \`url\` prop expects an array of object each containing a \`breakpoint\` and a \`src\` prop. There must be a minimuim of one of these, but preferably multiple items corresponding to the same image at different raw sizes, so that responsive images can be displayed.
|
|
17
|
+
|
|
18
|
+
| Prop | Description |
|
|
19
|
+
|----------|-------------|
|
|
20
|
+
| \`breakpoint\` | The min-width at which to start displaying this size of the image - the first item in the array should always have a breakpoint value of 0 |
|
|
21
|
+
| \`src\` | The image src to display at this breakpoint |
|
|
22
|
+
`;
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Button Story
|
|
26
|
+
*
|
|
27
|
+
*/
|
|
28
|
+
export default {
|
|
29
|
+
title: "Components/Image",
|
|
30
|
+
component: Image,
|
|
31
|
+
argTypes: {},
|
|
32
|
+
parameters: {
|
|
33
|
+
componentSubtitle: "Component",
|
|
34
|
+
docs: {
|
|
35
|
+
page: () => (
|
|
36
|
+
<>
|
|
37
|
+
<Subtitle />
|
|
38
|
+
<Title />
|
|
39
|
+
<Description>
|
|
40
|
+
The Image component displays an image, along with an image credit
|
|
41
|
+
and optional caption.
|
|
42
|
+
</Description>
|
|
43
|
+
<Primary />
|
|
44
|
+
<ArgsTable />
|
|
45
|
+
<Subheading>URL Prop</Subheading>
|
|
46
|
+
<Description>{urlDoc}</Description>
|
|
47
|
+
<Stories title="Examples"></Stories>
|
|
48
|
+
</>
|
|
49
|
+
),
|
|
50
|
+
},
|
|
51
|
+
},
|
|
52
|
+
} as Meta<typeof Image>;
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* ImageTemplate
|
|
56
|
+
*
|
|
57
|
+
* create a Storybook template for this component
|
|
58
|
+
*
|
|
59
|
+
*@param (Object) args - props to be passed to the component
|
|
60
|
+
*/
|
|
61
|
+
const ImageTemplate: Story<ImageProps> = (args) => <Image {...args} />;
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Image Only Instance
|
|
65
|
+
*
|
|
66
|
+
*/
|
|
67
|
+
export const ImageMedia = ImageTemplate.bind({});
|
|
68
|
+
|
|
69
|
+
// enumerate the props for the image only option
|
|
70
|
+
ImageMedia.args = imageArgs.image;
|
|
71
|
+
ImageMedia.storyName = "Image";
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Meta } from "@storybook/addon-docs";
|
|
2
|
+
|
|
3
|
+
<Meta title="Introduction" />
|
|
4
|
+
|
|
5
|
+
# ILO Design System
|
|
6
|
+
|
|
7
|
+
<br />
|
|
8
|
+
|
|
9
|
+
### Current Project Status: _Proof of Concept_
|
|
10
|
+
|
|
11
|
+
Browse example stories now by navigating to them in the sidebar.
|
|
12
|
+
View their code in the `src/stories` directory to learn how they work.
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { Story, Meta } from "@storybook/react";
|
|
2
|
+
import {
|
|
3
|
+
Title,
|
|
4
|
+
Subtitle,
|
|
5
|
+
Description,
|
|
6
|
+
Primary,
|
|
7
|
+
ArgsTable,
|
|
8
|
+
Stories,
|
|
9
|
+
Subheading,
|
|
10
|
+
} from "@storybook/addon-docs";
|
|
11
|
+
import { Link } from "../components/Link";
|
|
12
|
+
import { LinkProps } from "../components/Link/Link.props";
|
|
13
|
+
import linkArgs from "../components/Link/Link.args";
|
|
14
|
+
|
|
15
|
+
const themeDoc = `
|
|
16
|
+
By changing the \`theme\` prop you can change base coloring of the links. By default this is set to \`light\`.
|
|
17
|
+
|
|
18
|
+
| Theme | Description |
|
|
19
|
+
|----------|-------------|
|
|
20
|
+
| \`light\` | Link theme for a light background color. |
|
|
21
|
+
| \`dark\` | Link theme for a dark background color. |
|
|
22
|
+
| \`footer\` | Link theme for a dark background color. |
|
|
23
|
+
`;
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Link Story
|
|
27
|
+
*
|
|
28
|
+
*/
|
|
29
|
+
export default {
|
|
30
|
+
title: "Components/Link",
|
|
31
|
+
component: Link,
|
|
32
|
+
argTypes: {},
|
|
33
|
+
parameters: {
|
|
34
|
+
componentSubtitle: "Component",
|
|
35
|
+
docs: {
|
|
36
|
+
page: () => (
|
|
37
|
+
<>
|
|
38
|
+
<Subtitle />
|
|
39
|
+
<Title />
|
|
40
|
+
<Description>
|
|
41
|
+
The link component creates an anchor link with a specific theme.
|
|
42
|
+
</Description>
|
|
43
|
+
<Primary />
|
|
44
|
+
<ArgsTable />
|
|
45
|
+
<Subheading>Theme Prop</Subheading>
|
|
46
|
+
<Description>{themeDoc}</Description>
|
|
47
|
+
<Stories title="Examples"></Stories>
|
|
48
|
+
</>
|
|
49
|
+
),
|
|
50
|
+
},
|
|
51
|
+
},
|
|
52
|
+
} as Meta<typeof Link>;
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Link Template
|
|
56
|
+
*
|
|
57
|
+
* create a Storybook template for this component
|
|
58
|
+
*
|
|
59
|
+
*@param (Object) args - props to be passed to the component
|
|
60
|
+
*/
|
|
61
|
+
const LinkTemplate: Story<LinkProps> = (args) => (
|
|
62
|
+
<Link {...args}>This is text for the link</Link>
|
|
63
|
+
);
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* Light Link Instance
|
|
67
|
+
*
|
|
68
|
+
*/
|
|
69
|
+
export const BaseLink = LinkTemplate.bind({});
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* Dark Link Instance
|
|
73
|
+
*
|
|
74
|
+
*/
|
|
75
|
+
export const DarkLink = LinkTemplate.bind({});
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* Footer Link Instance
|
|
79
|
+
*
|
|
80
|
+
*/
|
|
81
|
+
export const FooterLink = LinkTemplate.bind({});
|
|
82
|
+
|
|
83
|
+
// enumerate the props for the light link.
|
|
84
|
+
BaseLink.args = linkArgs.light;
|
|
85
|
+
BaseLink.args.url = "https://www.google.com/";
|
|
86
|
+
BaseLink.storyName = "Light Link";
|
|
87
|
+
|
|
88
|
+
// enumerate the props dark link
|
|
89
|
+
DarkLink.args = linkArgs.dark;
|
|
90
|
+
DarkLink.parameters = {
|
|
91
|
+
backgrounds: { default: "dark" },
|
|
92
|
+
};
|
|
93
|
+
DarkLink.args.url = "https://www.wikipedia.org/";
|
|
94
|
+
DarkLink.storyName = "Dark Link";
|
|
95
|
+
|
|
96
|
+
// enumerate the props dark link
|
|
97
|
+
FooterLink.args = linkArgs.footer;
|
|
98
|
+
FooterLink.args.url = "https://www.weather.com/";
|
|
99
|
+
FooterLink.storyName = "Footer Link";
|