this.gui 1.0.12 → 1.0.14
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/package.json +5 -2
- package/src/App.jsx +31 -0
- package/src/MDXEditor.jsx +32 -0
- package/src/MdxProvider.jsx +20 -0
- package/src/Theme.jsx +28 -0
- package/src/components/CodeBlock.jsx +22 -0
- package/src/components/ComponentFactory.jsx +36 -0
- package/src/components/ComponentRegistry.js +21 -0
- package/src/index.mdx +154 -0
- package/src/main.jsx +18 -0
- package/src/scripts/generateComponents.js +166 -0
- package/src/scripts/logASCIIArt.js +12 -0
- package/src/scripts/postinstall.js +64 -0
- package/src/scripts/verifyMolecules.js +158 -0
- package/src/scripts/verify_and_install_atoms.js +211 -0
- package/src/stories/Atoms/Alert/Alert.css +29 -0
- package/src/stories/Atoms/Alert/Alert.jsx +41 -0
- package/src/stories/Atoms/Alert/Alert.stories.jsx +41 -0
- package/src/stories/Atoms/Audio/Audio.css +29 -0
- package/src/stories/Atoms/Audio/Audio.jsx +41 -0
- package/src/stories/Atoms/Audio/Audio.stories.jsx +41 -0
- package/src/stories/Atoms/Badge/Badge.css +29 -0
- package/src/stories/Atoms/Badge/Badge.jsx +41 -0
- package/src/stories/Atoms/Badge/Badge.stories.jsx +41 -0
- package/src/stories/Atoms/Button/Button.css +70 -0
- package/src/stories/Atoms/Button/Button.jsx +98 -0
- package/src/stories/Atoms/Button/Button.stories.jsx +54 -0
- package/src/stories/Atoms/Caption/Caption.css +29 -0
- package/src/stories/Atoms/Caption/Caption.jsx +41 -0
- package/src/stories/Atoms/Caption/Caption.stories.jsx +41 -0
- package/src/stories/Atoms/Checkbox/Checkbox.css +29 -0
- package/src/stories/Atoms/Checkbox/Checkbox.jsx +41 -0
- package/src/stories/Atoms/Checkbox/Checkbox.stories.jsx +41 -0
- package/src/stories/Atoms/Container/Container.css +29 -0
- package/src/stories/Atoms/Container/Container.jsx +41 -0
- package/src/stories/Atoms/Container/Container.stories.jsx +41 -0
- package/src/stories/Atoms/Divider/Divider.css +29 -0
- package/src/stories/Atoms/Divider/Divider.jsx +41 -0
- package/src/stories/Atoms/Divider/Divider.stories.jsx +41 -0
- package/src/stories/Atoms/Heading/Heading.css +29 -0
- package/src/stories/Atoms/Heading/Heading.jsx +41 -0
- package/src/stories/Atoms/Heading/Heading.stories.jsx +41 -0
- package/src/stories/Atoms/Icon/Icon.css +48 -0
- package/src/stories/Atoms/Icon/Icon.jsx +51 -0
- package/src/stories/Atoms/Icon/Icon.stories.jsx +72 -0
- package/src/stories/Atoms/Image/Image.css +29 -0
- package/src/stories/Atoms/Image/Image.jsx +41 -0
- package/src/stories/Atoms/Image/Image.stories.jsx +41 -0
- package/src/stories/Atoms/Label/Label.css +29 -0
- package/src/stories/Atoms/Label/Label.jsx +41 -0
- package/src/stories/Atoms/Label/Label.stories.jsx +41 -0
- package/src/stories/Atoms/Link/Link.css +29 -0
- package/src/stories/Atoms/Link/Link.jsx +41 -0
- package/src/stories/Atoms/Link/Link.stories.jsx +41 -0
- package/src/stories/Atoms/Loader/Loader.css +29 -0
- package/src/stories/Atoms/Loader/Loader.jsx +41 -0
- package/src/stories/Atoms/Loader/Loader.stories.jsx +41 -0
- package/src/stories/Atoms/Paragraph/Paragraph.css +29 -0
- package/src/stories/Atoms/Paragraph/Paragraph.jsx +41 -0
- package/src/stories/Atoms/Paragraph/Paragraph.stories.jsx +41 -0
- package/src/stories/Atoms/ProgressBar/ProgressBar.css +29 -0
- package/src/stories/Atoms/ProgressBar/ProgressBar.jsx +41 -0
- package/src/stories/Atoms/ProgressBar/ProgressBar.stories.jsx +41 -0
- package/src/stories/Atoms/RadioButton/RadioButton.css +29 -0
- package/src/stories/Atoms/RadioButton/RadioButton.jsx +41 -0
- package/src/stories/Atoms/RadioButton/RadioButton.stories.jsx +41 -0
- package/src/stories/Atoms/RangeInput/RangeInput.css +29 -0
- package/src/stories/Atoms/RangeInput/RangeInput.jsx +41 -0
- package/src/stories/Atoms/RangeInput/RangeInput.stories.jsx +41 -0
- package/src/stories/Atoms/Select/Select.css +29 -0
- package/src/stories/Atoms/Select/Select.jsx +41 -0
- package/src/stories/Atoms/Select/Select.stories.jsx +41 -0
- package/src/stories/Atoms/Slider/Slider.css +29 -0
- package/src/stories/Atoms/Slider/Slider.jsx +41 -0
- package/src/stories/Atoms/Slider/Slider.stories.jsx +41 -0
- package/src/stories/Atoms/Snackbar/Snackbar.css +29 -0
- package/src/stories/Atoms/Snackbar/Snackbar.jsx +41 -0
- package/src/stories/Atoms/Snackbar/Snackbar.stories.jsx +41 -0
- package/src/stories/Atoms/Spacer/Spacer.css +29 -0
- package/src/stories/Atoms/Spacer/Spacer.jsx +41 -0
- package/src/stories/Atoms/Spacer/Spacer.stories.jsx +41 -0
- package/src/stories/Atoms/Spinner/Spinner.css +29 -0
- package/src/stories/Atoms/Spinner/Spinner.jsx +41 -0
- package/src/stories/Atoms/Spinner/Spinner.stories.jsx +41 -0
- package/src/stories/Atoms/Tag/Tag.css +29 -0
- package/src/stories/Atoms/Tag/Tag.jsx +41 -0
- package/src/stories/Atoms/Tag/Tag.stories.jsx +41 -0
- package/src/stories/Atoms/TextArea/TextArea.css +29 -0
- package/src/stories/Atoms/TextArea/TextArea.jsx +41 -0
- package/src/stories/Atoms/TextArea/TextArea.stories.jsx +41 -0
- package/src/stories/Atoms/TextInput/TextInput.css +29 -0
- package/src/stories/Atoms/TextInput/TextInput.jsx +41 -0
- package/src/stories/Atoms/TextInput/TextInput.stories.jsx +41 -0
- package/src/stories/Atoms/Toggle/Toggle.css +29 -0
- package/src/stories/Atoms/Toggle/Toggle.jsx +41 -0
- package/src/stories/Atoms/Toggle/Toggle.stories.jsx +41 -0
- package/src/stories/Atoms/Tooltip/Tooltip.css +29 -0
- package/src/stories/Atoms/Tooltip/Tooltip.jsx +41 -0
- package/src/stories/Atoms/Tooltip/Tooltip.stories.jsx +41 -0
- package/src/stories/Atoms/Video/Video.css +29 -0
- package/src/stories/Atoms/Video/Video.jsx +41 -0
- package/src/stories/Atoms/Video/Video.stories.jsx +41 -0
- package/src/stories/Atoms/index.js +65 -0
- package/src/stories/Atoms/meta_Atoms.js +46 -0
- package/src/stories/Components.js +198 -0
- package/src/stories/Components.md +189 -0
- package/src/stories/Getting Started.mdx +239 -0
- package/src/stories/Layouts/Grid/Grid.css +4 -0
- package/src/stories/Layouts/Grid/Grid.jsx +15 -0
- package/src/stories/Layouts/Grid/Grid.stories.jsx +26 -0
- package/src/stories/Layouts/Layout.js +28 -0
- package/src/stories/MDX.mdx +118 -0
- package/src/stories/Miscellaneous/Miscellaneous.js +24 -0
- package/src/stories/Molecules/Accordion/Accordion.css +4 -0
- package/src/stories/Molecules/Accordion/Accordion.jsx +25 -0
- package/src/stories/Molecules/Accordion/Accordion.stories.jsx +20 -0
- package/src/stories/Molecules/AudioPlayer/AudioPlayer.css +4 -0
- package/src/stories/Molecules/AudioPlayer/AudioPlayer.jsx +25 -0
- package/src/stories/Molecules/AudioPlayer/AudioPlayer.stories.jsx +20 -0
- package/src/stories/Molecules/AvatarWithName/AvatarWithName.css +4 -0
- package/src/stories/Molecules/AvatarWithName/AvatarWithName.jsx +25 -0
- package/src/stories/Molecules/AvatarWithName/AvatarWithName.stories.jsx +20 -0
- package/src/stories/Molecules/Breadcrumbs/Breadcrumbs.css +4 -0
- package/src/stories/Molecules/Breadcrumbs/Breadcrumbs.jsx +25 -0
- package/src/stories/Molecules/Breadcrumbs/Breadcrumbs.stories.jsx +20 -0
- package/src/stories/Molecules/ButtonGroup/ButtonGroup.css +4 -0
- package/src/stories/Molecules/ButtonGroup/ButtonGroup.jsx +25 -0
- package/src/stories/Molecules/ButtonGroup/ButtonGroup.stories.jsx +20 -0
- package/src/stories/Molecules/Card/Card.css +4 -0
- package/src/stories/Molecules/Card/Card.jsx +25 -0
- package/src/stories/Molecules/Card/Card.stories.jsx +20 -0
- package/src/stories/Molecules/ComparisonTable/ComparisonTable.css +4 -0
- package/src/stories/Molecules/ComparisonTable/ComparisonTable.jsx +25 -0
- package/src/stories/Molecules/ComparisonTable/ComparisonTable.stories.jsx +20 -0
- package/src/stories/Molecules/DataTable/DataTable.css +4 -0
- package/src/stories/Molecules/DataTable/DataTable.jsx +25 -0
- package/src/stories/Molecules/DataTable/DataTable.stories.jsx +20 -0
- package/src/stories/Molecules/FileUpload/FileUpload.css +4 -0
- package/src/stories/Molecules/FileUpload/FileUpload.jsx +25 -0
- package/src/stories/Molecules/FileUpload/FileUpload.stories.jsx +20 -0
- package/src/stories/Molecules/FormField/FormField.css +4 -0
- package/src/stories/Molecules/FormField/FormField.jsx +25 -0
- package/src/stories/Molecules/FormField/FormField.stories.jsx +20 -0
- package/src/stories/Molecules/Header/Header.css +35 -0
- package/src/stories/Molecules/Header/Header.jsx +76 -0
- package/src/stories/Molecules/Header/Header.stories.jsx +28 -0
- package/src/stories/Molecules/IconButton/IconButton.css +4 -0
- package/src/stories/Molecules/IconButton/IconButton.jsx +25 -0
- package/src/stories/Molecules/IconButton/IconButton.stories.jsx +20 -0
- package/src/stories/Molecules/ImageWithCaption/ImageWithCaption.css +4 -0
- package/src/stories/Molecules/ImageWithCaption/ImageWithCaption.jsx +25 -0
- package/src/stories/Molecules/ImageWithCaption/ImageWithCaption.stories.jsx +20 -0
- package/src/stories/Molecules/InputGroup/InputGroup.css +4 -0
- package/src/stories/Molecules/InputGroup/InputGroup.jsx +25 -0
- package/src/stories/Molecules/InputGroup/InputGroup.stories.jsx +20 -0
- package/src/stories/Molecules/InputWithLabel/InputWithLabel.css +4 -0
- package/src/stories/Molecules/InputWithLabel/InputWithLabel.jsx +25 -0
- package/src/stories/Molecules/InputWithLabel/InputWithLabel.stories.jsx +20 -0
- package/src/stories/Molecules/List/List.css +4 -0
- package/src/stories/Molecules/List/List.jsx +25 -0
- package/src/stories/Molecules/List/List.stories.jsx +20 -0
- package/src/stories/Molecules/MediaCard/MediaCard.css +4 -0
- package/src/stories/Molecules/MediaCard/MediaCard.jsx +25 -0
- package/src/stories/Molecules/MediaCard/MediaCard.stories.jsx +20 -0
- package/src/stories/Molecules/Modal/Modal.css +4 -0
- package/src/stories/Molecules/Modal/Modal.jsx +25 -0
- package/src/stories/Molecules/Modal/Modal.stories.jsx +20 -0
- package/src/stories/Molecules/Molecules.js +44 -0
- package/src/stories/Molecules/Navbar/Navbar.css +87 -0
- package/src/stories/Molecules/Navbar/Navbar.jsx +87 -0
- package/src/stories/Molecules/Navbar/Navbar.stories.jsx +20 -0
- package/src/stories/Molecules/Notification/Notification.css +4 -0
- package/src/stories/Molecules/Notification/Notification.jsx +25 -0
- package/src/stories/Molecules/Notification/Notification.stories.jsx +20 -0
- package/src/stories/Molecules/PricingTable/PricingTable.css +4 -0
- package/src/stories/Molecules/PricingTable/PricingTable.jsx +25 -0
- package/src/stories/Molecules/PricingTable/PricingTable.stories.jsx +20 -0
- package/src/stories/Molecules/SearchBar/SearchBar.css +4 -0
- package/src/stories/Molecules/SearchBar/SearchBar.jsx +25 -0
- package/src/stories/Molecules/SearchBar/SearchBar.stories.jsx +20 -0
- package/src/stories/Molecules/SelectTheme/SelectTheme.css +25 -0
- package/src/stories/Molecules/SelectTheme/SelectTheme.jsx +44 -0
- package/src/stories/Molecules/SelectTheme/SelectTheme.stories.jsx +25 -0
- package/src/stories/Molecules/Sidebar/Sidebar.css +4 -0
- package/src/stories/Molecules/Sidebar/Sidebar.jsx +25 -0
- package/src/stories/Molecules/Sidebar/Sidebar.stories.jsx +20 -0
- package/src/stories/Molecules/VideoWithDescription/VideoWithDescription.css +4 -0
- package/src/stories/Molecules/VideoWithDescription/VideoWithDescription.jsx +25 -0
- package/src/stories/Molecules/VideoWithDescription/VideoWithDescription.stories.jsx +20 -0
- package/src/stories/Molecules/index.js +57 -0
- package/src/stories/Organisms/Organisms.js +39 -0
- package/src/stories/Organisms/Profile/UserFriends/UserFriends.context.jsx +15 -0
- package/src/stories/Organisms/Profile/UserFriends/UserFriends.css +4 -0
- package/src/stories/Organisms/Profile/UserFriends/UserFriends.jsx +13 -0
- package/src/stories/Organisms/Profile/UserFriends/UserFriends.stories.jsx +26 -0
- package/src/stories/Organisms/Profile/UserPosts/UserPosts.context.jsx +15 -0
- package/src/stories/Organisms/Profile/UserPosts/UserPosts.css +4 -0
- package/src/stories/Organisms/Profile/UserPosts/UserPosts.jsx +13 -0
- package/src/stories/Organisms/Profile/UserPosts/UserPosts.stories.jsx +26 -0
- package/src/stories/Organisms/Profile/UserProfile/UserProfile.context.jsx +15 -0
- package/src/stories/Organisms/Profile/UserProfile/UserProfile.css +4 -0
- package/src/stories/Organisms/Profile/UserProfile/UserProfile.jsx +13 -0
- package/src/stories/Organisms/Profile/UserProfile/UserProfile.stories.jsx +26 -0
- package/src/stories/Pages/Page/Page.css +69 -0
- package/src/stories/Pages/Page/Page.jsx +69 -0
- package/src/stories/Pages/Page/Page.stories.js +26 -0
- package/src/stories/Pages/Page/Pages.js +31 -0
- package/src/stories/Templates/Templates.js +27 -0
- package/src/stories/assets/accessibility.png +0 -0
- package/src/stories/assets/accessibility.svg +1 -0
- package/src/stories/assets/addon-library.png +0 -0
- package/src/stories/assets/assets.png +0 -0
- package/src/stories/assets/avif-test-image.avif +0 -0
- package/src/stories/assets/context.png +0 -0
- package/src/stories/assets/discord.svg +1 -0
- package/src/stories/assets/docs.png +0 -0
- package/src/stories/assets/figma-plugin.png +0 -0
- package/src/stories/assets/github.svg +1 -0
- package/src/stories/assets/share.png +0 -0
- package/src/stories/assets/styling.png +0 -0
- package/src/stories/assets/testing.png +0 -0
- package/src/stories/assets/theming.png +0 -0
- package/src/stories/assets/tutorials.svg +1 -0
- package/src/stories/assets/youtube.svg +1 -0
- package/src/styles/Header.modules.css +32 -0
- package/src/styles/global.css +59 -0
- package/src/themes/ThemeProvider.jsx +36 -0
- package/src/themes/Themes.js +44 -0
- package/src/themes/dark.js +22 -0
- package/src/themes/light.js +22 -0
- package/src/themes/typ/Readme.md +4 -0
- package/src/themes/typ/github/open-sans-v17-latin-ext_latin-700.woff2 +0 -0
- package/src/themes/typ/github/open-sans-v17-latin-ext_latin-700italic.woff2 +0 -0
- package/src/themes/typ/github/open-sans-v17-latin-ext_latin-italic.woff2 +0 -0
- package/src/themes/typ/github/open-sans-v17-latin-ext_latin-regular.woff2 +0 -0
- package/src/themes/typ/github.css +416 -0
- package/src/themes/typ/gothic/GUST e-foundry License.txt +29 -0
- package/src/themes/typ/gothic/didact-gothic-c-ext.woff2 +0 -0
- package/src/themes/typ/gothic/didact-gothic-c.woff2 +0 -0
- package/src/themes/typ/gothic/texgyreadventor-bold.woff +0 -0
- package/src/themes/typ/gothic/texgyreadventor-bolditalic.woff +0 -0
- package/src/themes/typ/gothic/texgyreadventor-italic.woff +0 -0
- package/src/themes/typ/gothic/texgyreadventor-regular.woff +0 -0
- package/src/themes/typ/gothic.css +410 -0
- package/src/themes/typ/newsprint/pt-serif-v11-latin-700.woff2 +0 -0
- package/src/themes/typ/newsprint/pt-serif-v11-latin-700italic.woff2 +0 -0
- package/src/themes/typ/newsprint/pt-serif-v11-latin-italic.woff2 +0 -0
- package/src/themes/typ/newsprint/pt-serif-v11-latin-regular.woff2 +0 -0
- package/src/themes/typ/newsprint.css +622 -0
- package/src/themes/typ/night/codeblock.dark.css +113 -0
- package/src/themes/typ/night/credit.html +1 -0
- package/src/themes/typ/night/cursor.png +0 -0
- package/src/themes/typ/night/cursor@2x.png +0 -0
- package/src/themes/typ/night/mermaid.dark.css +7 -0
- package/src/themes/typ/night/sourcemode.dark.css +38 -0
- package/src/themes/typ/night.css +1032 -0
- package/src/themes/typ/pixyll/lato-v14-latin-300.woff +0 -0
- package/src/themes/typ/pixyll/lato-v14-latin-300italic.woff +0 -0
- package/src/themes/typ/pixyll/lato-v14-latin-900.woff +0 -0
- package/src/themes/typ/pixyll/lato-v14-latin-900italic.woff +0 -0
- package/src/themes/typ/pixyll/merriweather-v19-latin-300.woff +0 -0
- package/src/themes/typ/pixyll/merriweather-v19-latin-300italic.woff +0 -0
- package/src/themes/typ/pixyll/merriweather-v19-latin-700.woff +0 -0
- package/src/themes/typ/pixyll/merriweather-v19-latin-700italic.woff +0 -0
- package/src/themes/typ/pixyll.css +528 -0
- package/src/themes/typ/whitey.css +299 -0
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
// src/stories/Layout/Grid/Grid.jsx
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import './Grid.css'; // Import the component-specific styles
|
|
4
|
+
|
|
5
|
+
const Grid = ({ children, columns = 3, gap = '10px' }) => {
|
|
6
|
+
const gridStyle = {
|
|
7
|
+
display: 'grid',
|
|
8
|
+
gridTemplateColumns: `repeat(${columns}, 1fr)`,
|
|
9
|
+
gap,
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
return <div style={gridStyle} className="grid-container">{children}</div>;
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
export default Grid;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
// src/stories/Layout/Grid/Grid.stories.jsx
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import Grid from './Grid';
|
|
4
|
+
|
|
5
|
+
export default {
|
|
6
|
+
title: 'Layout/Grid',
|
|
7
|
+
component: Grid,
|
|
8
|
+
argTypes: {
|
|
9
|
+
columns: { control: 'number', defaultValue: 3 },
|
|
10
|
+
gap: { control: 'text', defaultValue: '10px' },
|
|
11
|
+
},
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
const Template = (args) => (
|
|
15
|
+
<Grid {...args}>
|
|
16
|
+
<div style={{ backgroundColor: '#FFDDC1', padding: '20px' }}>Item 1</div>
|
|
17
|
+
<div style={{ backgroundColor: '#FEC8D8', padding: '20px' }}>Item 2</div>
|
|
18
|
+
<div style={{ backgroundColor: '#D4A5A5', padding: '20px' }}>Item 3</div>
|
|
19
|
+
</Grid>
|
|
20
|
+
);
|
|
21
|
+
|
|
22
|
+
export const Default = Template.bind({});
|
|
23
|
+
Default.args = {
|
|
24
|
+
columns: 3,
|
|
25
|
+
gap: '10px',
|
|
26
|
+
};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
const Layout = {
|
|
2
|
+
"Layout": {
|
|
3
|
+
"Grid": [
|
|
4
|
+
{ name: "Grid", paths: { css: "./Grid/Grid.css", globalCss: "styles/global.css", jsx: "./Layout/Grid/Grid.jsx", stories: "src/stories/Layout/Grid/Grid.stories.jsx" }},
|
|
5
|
+
],
|
|
6
|
+
"Section": [
|
|
7
|
+
{ name: "Section", paths: { css: "./Section/Section.css", globalCss: "styles/global.css", jsx: "./Layout/Section/Section.jsx", stories: "src/stories/Layout/Section/Section.stories.jsx" }},
|
|
8
|
+
],
|
|
9
|
+
"FlexboxLayout": [
|
|
10
|
+
{ name: "Flexbox", paths: { css: "./Flexbox/Flexbox.css", globalCss: "styles/global.css", jsx: "./Layout/Flexbox/Flexbox.jsx", stories: "src/stories/Layout/Flexbox/Flexbox.stories.jsx" }},
|
|
11
|
+
],
|
|
12
|
+
"NavigationAndMenus": [
|
|
13
|
+
{ name: "Header", paths: { css: "./Header/Header.css", globalCss: "styles/global.css", jsx: "./Layout/Header/Header.jsx", stories: "src/stories/Layout/Header/Header.stories.jsx" }},
|
|
14
|
+
{ name: "Footer", paths: { css: "./Footer/Footer.css", globalCss: "styles/global.css", jsx: "./Layout/Footer/Footer.jsx", stories: "src/stories/Layout/Footer/Footer.stories.jsx" }},
|
|
15
|
+
{ name: "DropdownMenu", paths: { css: "./DropdownMenu/DropdownMenu.css", globalCss: "styles/global.css", jsx: "./Layout/DropdownMenu/DropdownMenu.jsx", stories: "src/stories/Layout/DropdownMenu/DropdownMenu.stories.jsx" }},
|
|
16
|
+
{ name: "Pagination", paths: { css: "./Pagination/Pagination.css", globalCss: "styles/global.css", jsx: "./Layout/Pagination/Pagination.jsx", stories: "src/stories/Layout/Pagination/Pagination.stories.jsx" }},
|
|
17
|
+
],
|
|
18
|
+
"ContentOrganization": [
|
|
19
|
+
{ name: "Sidebar", paths: { css: "./Sidebar/Sidebar.css", globalCss: "styles/global.css", jsx: "./Layout/Sidebar/Sidebar.jsx", stories: "src/stories/Layout/Sidebar/Sidebar.stories.jsx" }},
|
|
20
|
+
{ name: "Tabs", paths: { css: "./Tabs/Tabs.css", globalCss: "styles/global.css", jsx: "./Layout/Tabs/Tabs.jsx", stories: "src/stories/Layout/Tabs/Tabs.stories.jsx" }},
|
|
21
|
+
{ name: "Accordion", paths: { css: "./Accordion/Accordion.css", globalCss: "styles/global.css", jsx: "./Layout/Accordion/Accordion.jsx", stories: "src/stories/Layout/Accordion/Accordion.stories.jsx" }},
|
|
22
|
+
],
|
|
23
|
+
"HeroSections": [
|
|
24
|
+
{ name: "HeroBanner", paths: { css: "./HeroBanner/HeroBanner.css", globalCss: "styles/global.css", jsx: "./Layout/HeroBanner/HeroBanner.jsx", stories: "src/stories/Layout/HeroBanner/HeroBanner.stories.jsx" }},
|
|
25
|
+
{ name: "HeroImageVideo", paths: { css: "./HeroImageVideo/HeroImageVideo.css", globalCss: "styles/global.css", jsx: "./Layout/HeroImageVideo/HeroImageVideo.jsx", stories: "src/stories/Layout/HeroImageVideo/HeroImageVideo.stories.jsx" }},
|
|
26
|
+
]
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
# This.GUI
|
|
2
|
+
**MDX** is a powerful format because it allows you to combine the simplicity of **Markdown** with the flexibility of **React components**. This means you can write documentation, content, or pages using normal Markdown syntax and sprinkle in **React components** wherever needed.
|
|
3
|
+
|
|
4
|
+
Here’s a breakdown of how it works:
|
|
5
|
+
|
|
6
|
+
### 1. **Markdown + JSX**
|
|
7
|
+
MDX lets you write Markdown like usual, but when you need interactive or dynamic content, you can directly insert React components. It merges **Markdown** and **JSX** seamlessly in the same file.
|
|
8
|
+
|
|
9
|
+
Example:
|
|
10
|
+
|
|
11
|
+
```mdx
|
|
12
|
+
# Welcome to My Site
|
|
13
|
+
|
|
14
|
+
This is a simple introduction written in Markdown.
|
|
15
|
+
|
|
16
|
+
## Here’s a custom button:
|
|
17
|
+
|
|
18
|
+
<Button label="Click Me" />
|
|
19
|
+
|
|
20
|
+
Here is more markdown text below the button!
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
In this example:
|
|
24
|
+
- The heading `# Welcome to My Site` and the paragraph are standard **Markdown**.
|
|
25
|
+
- The `<Button />` component is a **React component** that you import and use directly in the MDX file.
|
|
26
|
+
|
|
27
|
+
### 2. **Passing Props to Components**
|
|
28
|
+
You can pass props to React components just like you would in a React project. This allows you to create dynamic, reusable content.
|
|
29
|
+
|
|
30
|
+
```mdx
|
|
31
|
+
## Example with Props
|
|
32
|
+
|
|
33
|
+
Here’s a button with dynamic props:
|
|
34
|
+
|
|
35
|
+
<Button label="Submit" color="primary" />
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### 3. **Reusability with Components**
|
|
39
|
+
Since you can use any React component, you can integrate complex UI elements, such as forms, charts, or interactive widgets, into your content.
|
|
40
|
+
|
|
41
|
+
For example:
|
|
42
|
+
|
|
43
|
+
```mdx
|
|
44
|
+
# User Statistics
|
|
45
|
+
|
|
46
|
+
<Chart data={userData} />
|
|
47
|
+
|
|
48
|
+
This chart is embedded directly into the documentation!
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### 4. **How to Set It Up**
|
|
52
|
+
To use **MDX** in your project, you’ll typically configure a tool like **Storybook**, **Next.js**, or a custom React setup.
|
|
53
|
+
|
|
54
|
+
#### With **Storybook**:
|
|
55
|
+
MDX is perfect for writing component documentation in **Storybook**. You can write documentation for your components and render the components directly in the docs.
|
|
56
|
+
|
|
57
|
+
```mdx
|
|
58
|
+
import { Button } from './Button';
|
|
59
|
+
|
|
60
|
+
<Meta title="Button" component={Button} />
|
|
61
|
+
|
|
62
|
+
# Button Component
|
|
63
|
+
|
|
64
|
+
This is the `Button` component with different styles.
|
|
65
|
+
|
|
66
|
+
<Canvas>
|
|
67
|
+
<Story name="Primary Button">
|
|
68
|
+
<Button label="Primary" color="primary" />
|
|
69
|
+
</Story>
|
|
70
|
+
</Canvas>
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
#### With **Next.js**:
|
|
74
|
+
Next.js makes it easy to integrate MDX for static pages or blogs.
|
|
75
|
+
|
|
76
|
+
1. Install MDX support for Next.js:
|
|
77
|
+
```bash
|
|
78
|
+
npm install @next/mdx @mdx-js/loader
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
2. Configure Next.js in `next.config.js`:
|
|
82
|
+
```js
|
|
83
|
+
const withMDX = require('@next/mdx')({
|
|
84
|
+
extension: /\.mdx?$/
|
|
85
|
+
});
|
|
86
|
+
|
|
87
|
+
module.exports = withMDX({
|
|
88
|
+
pageExtensions: ['js', 'jsx', 'md', 'mdx'],
|
|
89
|
+
});
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
3. Create an `.mdx` file and use React components inside:
|
|
93
|
+
```mdx
|
|
94
|
+
# Hello World
|
|
95
|
+
|
|
96
|
+
<Button label="Click Me" />
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
#### With **Gatsby**:
|
|
100
|
+
MDX can also be used in **Gatsby** to create rich blog posts or pages by embedding React components within Markdown.
|
|
101
|
+
|
|
102
|
+
### 5. **Where to Use MDX**
|
|
103
|
+
MDX is often used for:
|
|
104
|
+
- **Technical documentation** (with live component previews).
|
|
105
|
+
- **Component libraries** (Storybook).
|
|
106
|
+
- **Blogs or content management systems** (Next.js/Gatsby).
|
|
107
|
+
- **Interactive tutorials**.
|
|
108
|
+
|
|
109
|
+
### Key Advantages of MDX:
|
|
110
|
+
- **Markdown simplicity**: Use the same syntax you’re used to for writing docs or blog posts.
|
|
111
|
+
- **React components**: Dynamically enhance content with interactivity, custom UI, or reusable components.
|
|
112
|
+
- **Reusable content**: Leverage the power of React to make your content dynamic and interactive.
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
MDX gives you the **best of both worlds**: you can write content in **Markdown**, and whenever you need dynamic or interactive elements, you simply drop in a React component. It’s ideal for use cases where you want content and code to live together seamlessly.
|
|
117
|
+
|
|
118
|
+
Let me know if you'd like help with setting up or using MDX further!
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
const Miscellaneous = {
|
|
2
|
+
"Miscellaneous": {
|
|
3
|
+
"TooltipsPopovers": [
|
|
4
|
+
{ name: "Tooltip", paths: { css: "./Tooltip/Tooltip.css", globalCss: "styles/global.css", jsx: "src/components/Miscellaneous/Tooltip/Tooltip.jsx", stories: "./Tooltip/Tooltip.stories.jsx" }},
|
|
5
|
+
{ name: "Popover", paths: { css: "./Popover/Popover.css", globalCss: "styles/global.css", jsx: "src/components/Miscellaneous/Popover/Popover.jsx", stories: "./Popover/Popover.stories.jsx" }},
|
|
6
|
+
],
|
|
7
|
+
"Overlays": [
|
|
8
|
+
{ name: "ModalWindow", paths: { css: "./ModalWindow/ModalWindow.css", globalCss: "styles/global.css", jsx: "src/components/Miscellaneous/ModalWindow/ModalWindow.jsx", stories: "./ModalWindow/ModalWindow.stories.jsx" }},
|
|
9
|
+
{ name: "Drawer", paths: { css: "./Drawer/Drawer.css", globalCss: "styles/global.css", jsx: "src/components/Miscellaneous/Drawer/Drawer.jsx", stories: "./Drawer/Drawer.stories.jsx" }},
|
|
10
|
+
],
|
|
11
|
+
"SearchComponents": [
|
|
12
|
+
{ name: "SearchBox", paths: { css: "./SearchBox/SearchBox.css", globalCss: "styles/global.css", jsx: "src/components/Miscellaneous/SearchBox/SearchBox.jsx", stories: "./SearchBox/SearchBox.stories.jsx" }},
|
|
13
|
+
{ name: "Autocomplete", paths: { css: "./Autocomplete/Autocomplete.css", globalCss: "styles/global.css", jsx: "src/components/Miscellaneous/Autocomplete/Autocomplete.jsx", stories: "./Autocomplete/Autocomplete.stories.jsx" }},
|
|
14
|
+
],
|
|
15
|
+
"MediaAndContentControls": [
|
|
16
|
+
{ name: "AudioControls", paths: { css: "./MediaAndContentControls/AudioControls.css", globalCss: "styles/global.css", jsx: "src/components/Miscellaneous/MediaAndContentControls/AudioControls.jsx", stories: "./MediaAndContentControls/AudioControls.stories.jsx" }},
|
|
17
|
+
{ name: "VideoControls", paths: { css: "./MediaAndContentControls/VideoControls.css", globalCss: "styles/global.css", jsx: "src/components/Miscellaneous/MediaAndContentControls/VideoControls.jsx", stories: "./MediaAndContentControls/VideoControls.stories.jsx" }},
|
|
18
|
+
{ name: "Filters", paths: { css: "./MediaAndContentControls/Filters.css", globalCss: "styles/global.css", jsx: "src/components/Miscellaneous/MediaAndContentControls/Filters.jsx", stories: "./MediaAndContentControls/Filters.stories.jsx" }},
|
|
19
|
+
],
|
|
20
|
+
"InteractiveMaps": [
|
|
21
|
+
{ name: "Map", paths: { css: "./InteractiveMaps/Map.css", globalCss: "styles/global.css", jsx: "src/components/Miscellaneous/InteractiveMaps/Map.jsx", stories: "./InteractiveMaps/Map.stories.jsx" }},
|
|
22
|
+
]
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import PropTypes from 'prop-types';
|
|
4
|
+
import './Accordion.css';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Accordion component
|
|
8
|
+
*/
|
|
9
|
+
export const Accordion = (props) => {
|
|
10
|
+
return (
|
|
11
|
+
<div className="accordion" {...props}>
|
|
12
|
+
{/* Component implementation */}
|
|
13
|
+
</div>
|
|
14
|
+
);
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
Accordion.propTypes = {
|
|
18
|
+
// Define prop types here
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
Accordion.defaultProps = {
|
|
22
|
+
// Define default props here
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
export default Accordion;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
|
|
2
|
+
import { Accordion } from './Accordion';
|
|
3
|
+
|
|
4
|
+
// Storybook configuration for Accordion component
|
|
5
|
+
export default {
|
|
6
|
+
title: 'Molecules/ContentDisplay/Accordion',
|
|
7
|
+
component: Accordion,
|
|
8
|
+
parameters: {
|
|
9
|
+
layout: 'centered',
|
|
10
|
+
},
|
|
11
|
+
argTypes: {
|
|
12
|
+
// Define argTypes here
|
|
13
|
+
},
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
export const Default = {
|
|
17
|
+
args: {
|
|
18
|
+
// Define default args here
|
|
19
|
+
},
|
|
20
|
+
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import PropTypes from 'prop-types';
|
|
4
|
+
import './AudioPlayer.css';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* AudioPlayer component
|
|
8
|
+
*/
|
|
9
|
+
export const AudioPlayer = (props) => {
|
|
10
|
+
return (
|
|
11
|
+
<div className="audioplayer" {...props}>
|
|
12
|
+
{/* Component implementation */}
|
|
13
|
+
</div>
|
|
14
|
+
);
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
AudioPlayer.propTypes = {
|
|
18
|
+
// Define prop types here
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
AudioPlayer.defaultProps = {
|
|
22
|
+
// Define default props here
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
export default AudioPlayer;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
|
|
2
|
+
import { AudioPlayer } from './AudioPlayer';
|
|
3
|
+
|
|
4
|
+
// Storybook configuration for AudioPlayer component
|
|
5
|
+
export default {
|
|
6
|
+
title: 'Molecules/MediaMolecules/AudioPlayer',
|
|
7
|
+
component: AudioPlayer,
|
|
8
|
+
parameters: {
|
|
9
|
+
layout: 'centered',
|
|
10
|
+
},
|
|
11
|
+
argTypes: {
|
|
12
|
+
// Define argTypes here
|
|
13
|
+
},
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
export const Default = {
|
|
17
|
+
args: {
|
|
18
|
+
// Define default args here
|
|
19
|
+
},
|
|
20
|
+
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import PropTypes from 'prop-types';
|
|
4
|
+
import './AvatarWithName.css';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* AvatarWithName component
|
|
8
|
+
*/
|
|
9
|
+
export const AvatarWithName = (props) => {
|
|
10
|
+
return (
|
|
11
|
+
<div className="avatarwithname" {...props}>
|
|
12
|
+
{/* Component implementation */}
|
|
13
|
+
</div>
|
|
14
|
+
);
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
AvatarWithName.propTypes = {
|
|
18
|
+
// Define prop types here
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
AvatarWithName.defaultProps = {
|
|
22
|
+
// Define default props here
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
export default AvatarWithName;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
|
|
2
|
+
import { AvatarWithName } from './AvatarWithName';
|
|
3
|
+
|
|
4
|
+
// Storybook configuration for AvatarWithName component
|
|
5
|
+
export default {
|
|
6
|
+
title: 'Molecules/MediaMolecules/AvatarWithName',
|
|
7
|
+
component: AvatarWithName,
|
|
8
|
+
parameters: {
|
|
9
|
+
layout: 'centered',
|
|
10
|
+
},
|
|
11
|
+
argTypes: {
|
|
12
|
+
// Define argTypes here
|
|
13
|
+
},
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
export const Default = {
|
|
17
|
+
args: {
|
|
18
|
+
// Define default args here
|
|
19
|
+
},
|
|
20
|
+
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import PropTypes from 'prop-types';
|
|
4
|
+
import './Breadcrumbs.css';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Breadcrumbs component
|
|
8
|
+
*/
|
|
9
|
+
export const Breadcrumbs = (props) => {
|
|
10
|
+
return (
|
|
11
|
+
<div className="breadcrumbs" {...props}>
|
|
12
|
+
{/* Component implementation */}
|
|
13
|
+
</div>
|
|
14
|
+
);
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
Breadcrumbs.propTypes = {
|
|
18
|
+
// Define prop types here
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
Breadcrumbs.defaultProps = {
|
|
22
|
+
// Define default props here
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
export default Breadcrumbs;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
|
|
2
|
+
import { Breadcrumbs } from './Breadcrumbs';
|
|
3
|
+
|
|
4
|
+
// Storybook configuration for Breadcrumbs component
|
|
5
|
+
export default {
|
|
6
|
+
title: 'Molecules/Navigation/Breadcrumbs',
|
|
7
|
+
component: Breadcrumbs,
|
|
8
|
+
parameters: {
|
|
9
|
+
layout: 'centered',
|
|
10
|
+
},
|
|
11
|
+
argTypes: {
|
|
12
|
+
// Define argTypes here
|
|
13
|
+
},
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
export const Default = {
|
|
17
|
+
args: {
|
|
18
|
+
// Define default args here
|
|
19
|
+
},
|
|
20
|
+
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import PropTypes from 'prop-types';
|
|
4
|
+
import './ButtonGroup.css';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* ButtonGroup component
|
|
8
|
+
*/
|
|
9
|
+
export const ButtonGroup = (props) => {
|
|
10
|
+
return (
|
|
11
|
+
<div className="buttongroup" {...props}>
|
|
12
|
+
{/* Component implementation */}
|
|
13
|
+
</div>
|
|
14
|
+
);
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
ButtonGroup.propTypes = {
|
|
18
|
+
// Define prop types here
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
ButtonGroup.defaultProps = {
|
|
22
|
+
// Define default props here
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
export default ButtonGroup;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
|
|
2
|
+
import { ButtonGroup } from './ButtonGroup';
|
|
3
|
+
|
|
4
|
+
// Storybook configuration for ButtonGroup component
|
|
5
|
+
export default {
|
|
6
|
+
title: 'Molecules/ButtonsWithIcons/ButtonGroup',
|
|
7
|
+
component: ButtonGroup,
|
|
8
|
+
parameters: {
|
|
9
|
+
layout: 'centered',
|
|
10
|
+
},
|
|
11
|
+
argTypes: {
|
|
12
|
+
// Define argTypes here
|
|
13
|
+
},
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
export const Default = {
|
|
17
|
+
args: {
|
|
18
|
+
// Define default args here
|
|
19
|
+
},
|
|
20
|
+
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import PropTypes from 'prop-types';
|
|
4
|
+
import './Card.css';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Card component
|
|
8
|
+
*/
|
|
9
|
+
export const Card = (props) => {
|
|
10
|
+
return (
|
|
11
|
+
<div className="card" {...props}>
|
|
12
|
+
{/* Component implementation */}
|
|
13
|
+
</div>
|
|
14
|
+
);
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
Card.propTypes = {
|
|
18
|
+
// Define prop types here
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
Card.defaultProps = {
|
|
22
|
+
// Define default props here
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
export default Card;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
|
|
2
|
+
import { Card } from './Card';
|
|
3
|
+
|
|
4
|
+
// Storybook configuration for Card component
|
|
5
|
+
export default {
|
|
6
|
+
title: 'Molecules/ContentDisplay/Card',
|
|
7
|
+
component: Card,
|
|
8
|
+
parameters: {
|
|
9
|
+
layout: 'centered',
|
|
10
|
+
},
|
|
11
|
+
argTypes: {
|
|
12
|
+
// Define argTypes here
|
|
13
|
+
},
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
export const Default = {
|
|
17
|
+
args: {
|
|
18
|
+
// Define default args here
|
|
19
|
+
},
|
|
20
|
+
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import PropTypes from 'prop-types';
|
|
4
|
+
import './ComparisonTable.css';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* ComparisonTable component
|
|
8
|
+
*/
|
|
9
|
+
export const ComparisonTable = (props) => {
|
|
10
|
+
return (
|
|
11
|
+
<div className="comparisontable" {...props}>
|
|
12
|
+
{/* Component implementation */}
|
|
13
|
+
</div>
|
|
14
|
+
);
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
ComparisonTable.propTypes = {
|
|
18
|
+
// Define prop types here
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
ComparisonTable.defaultProps = {
|
|
22
|
+
// Define default props here
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
export default ComparisonTable;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
|
|
2
|
+
import { ComparisonTable } from './ComparisonTable';
|
|
3
|
+
|
|
4
|
+
// Storybook configuration for ComparisonTable component
|
|
5
|
+
export default {
|
|
6
|
+
title: 'Molecules/Tables/ComparisonTable',
|
|
7
|
+
component: ComparisonTable,
|
|
8
|
+
parameters: {
|
|
9
|
+
layout: 'centered',
|
|
10
|
+
},
|
|
11
|
+
argTypes: {
|
|
12
|
+
// Define argTypes here
|
|
13
|
+
},
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
export const Default = {
|
|
17
|
+
args: {
|
|
18
|
+
// Define default args here
|
|
19
|
+
},
|
|
20
|
+
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import PropTypes from 'prop-types';
|
|
4
|
+
import './DataTable.css';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* DataTable component
|
|
8
|
+
*/
|
|
9
|
+
export const DataTable = (props) => {
|
|
10
|
+
return (
|
|
11
|
+
<div className="datatable" {...props}>
|
|
12
|
+
{/* Component implementation */}
|
|
13
|
+
</div>
|
|
14
|
+
);
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
DataTable.propTypes = {
|
|
18
|
+
// Define prop types here
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
DataTable.defaultProps = {
|
|
22
|
+
// Define default props here
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
export default DataTable;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
|
|
2
|
+
import { DataTable } from './DataTable';
|
|
3
|
+
|
|
4
|
+
// Storybook configuration for DataTable component
|
|
5
|
+
export default {
|
|
6
|
+
title: 'Molecules/Tables/DataTable',
|
|
7
|
+
component: DataTable,
|
|
8
|
+
parameters: {
|
|
9
|
+
layout: 'centered',
|
|
10
|
+
},
|
|
11
|
+
argTypes: {
|
|
12
|
+
// Define argTypes here
|
|
13
|
+
},
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
export const Default = {
|
|
17
|
+
args: {
|
|
18
|
+
// Define default args here
|
|
19
|
+
},
|
|
20
|
+
};
|