this.gui 1.0.12 → 1.0.13

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.
Files changed (266) hide show
  1. package/package.json +5 -2
  2. package/src/App.jsx +31 -0
  3. package/src/MDXEditor.jsx +32 -0
  4. package/src/MdxProvider.jsx +20 -0
  5. package/src/Theme.jsx +28 -0
  6. package/src/components/CodeBlock.jsx +22 -0
  7. package/src/components/ComponentFactory.jsx +36 -0
  8. package/src/components/ComponentRegistry.js +21 -0
  9. package/src/index.mdx +154 -0
  10. package/src/main.jsx +18 -0
  11. package/src/scripts/generateComponents.js +166 -0
  12. package/src/scripts/logASCIIArt.js +12 -0
  13. package/src/scripts/postinstall.js +64 -0
  14. package/src/scripts/verifyMolecules.js +158 -0
  15. package/src/scripts/verify_and_install_atoms.js +211 -0
  16. package/src/stories/Atoms/Alert/Alert.css +29 -0
  17. package/src/stories/Atoms/Alert/Alert.jsx +41 -0
  18. package/src/stories/Atoms/Alert/Alert.stories.jsx +41 -0
  19. package/src/stories/Atoms/Audio/Audio.css +29 -0
  20. package/src/stories/Atoms/Audio/Audio.jsx +41 -0
  21. package/src/stories/Atoms/Audio/Audio.stories.jsx +41 -0
  22. package/src/stories/Atoms/Badge/Badge.css +29 -0
  23. package/src/stories/Atoms/Badge/Badge.jsx +41 -0
  24. package/src/stories/Atoms/Badge/Badge.stories.jsx +41 -0
  25. package/src/stories/Atoms/Button/Button.css +70 -0
  26. package/src/stories/Atoms/Button/Button.jsx +98 -0
  27. package/src/stories/Atoms/Button/Button.stories.jsx +54 -0
  28. package/src/stories/Atoms/Caption/Caption.css +29 -0
  29. package/src/stories/Atoms/Caption/Caption.jsx +41 -0
  30. package/src/stories/Atoms/Caption/Caption.stories.jsx +41 -0
  31. package/src/stories/Atoms/Checkbox/Checkbox.css +29 -0
  32. package/src/stories/Atoms/Checkbox/Checkbox.jsx +41 -0
  33. package/src/stories/Atoms/Checkbox/Checkbox.stories.jsx +41 -0
  34. package/src/stories/Atoms/Container/Container.css +29 -0
  35. package/src/stories/Atoms/Container/Container.jsx +41 -0
  36. package/src/stories/Atoms/Container/Container.stories.jsx +41 -0
  37. package/src/stories/Atoms/Divider/Divider.css +29 -0
  38. package/src/stories/Atoms/Divider/Divider.jsx +41 -0
  39. package/src/stories/Atoms/Divider/Divider.stories.jsx +41 -0
  40. package/src/stories/Atoms/Heading/Heading.css +29 -0
  41. package/src/stories/Atoms/Heading/Heading.jsx +41 -0
  42. package/src/stories/Atoms/Heading/Heading.stories.jsx +41 -0
  43. package/src/stories/Atoms/Icon/Icon.css +48 -0
  44. package/src/stories/Atoms/Icon/Icon.jsx +51 -0
  45. package/src/stories/Atoms/Icon/Icon.stories.jsx +72 -0
  46. package/src/stories/Atoms/Image/Image.css +29 -0
  47. package/src/stories/Atoms/Image/Image.jsx +41 -0
  48. package/src/stories/Atoms/Image/Image.stories.jsx +41 -0
  49. package/src/stories/Atoms/Label/Label.css +29 -0
  50. package/src/stories/Atoms/Label/Label.jsx +41 -0
  51. package/src/stories/Atoms/Label/Label.stories.jsx +41 -0
  52. package/src/stories/Atoms/Link/Link.css +29 -0
  53. package/src/stories/Atoms/Link/Link.jsx +41 -0
  54. package/src/stories/Atoms/Link/Link.stories.jsx +41 -0
  55. package/src/stories/Atoms/Loader/Loader.css +29 -0
  56. package/src/stories/Atoms/Loader/Loader.jsx +41 -0
  57. package/src/stories/Atoms/Loader/Loader.stories.jsx +41 -0
  58. package/src/stories/Atoms/Paragraph/Paragraph.css +29 -0
  59. package/src/stories/Atoms/Paragraph/Paragraph.jsx +41 -0
  60. package/src/stories/Atoms/Paragraph/Paragraph.stories.jsx +41 -0
  61. package/src/stories/Atoms/ProgressBar/ProgressBar.css +29 -0
  62. package/src/stories/Atoms/ProgressBar/ProgressBar.jsx +41 -0
  63. package/src/stories/Atoms/ProgressBar/ProgressBar.stories.jsx +41 -0
  64. package/src/stories/Atoms/RadioButton/RadioButton.css +29 -0
  65. package/src/stories/Atoms/RadioButton/RadioButton.jsx +41 -0
  66. package/src/stories/Atoms/RadioButton/RadioButton.stories.jsx +41 -0
  67. package/src/stories/Atoms/RangeInput/RangeInput.css +29 -0
  68. package/src/stories/Atoms/RangeInput/RangeInput.jsx +41 -0
  69. package/src/stories/Atoms/RangeInput/RangeInput.stories.jsx +41 -0
  70. package/src/stories/Atoms/Select/Select.css +29 -0
  71. package/src/stories/Atoms/Select/Select.jsx +41 -0
  72. package/src/stories/Atoms/Select/Select.stories.jsx +41 -0
  73. package/src/stories/Atoms/Slider/Slider.css +29 -0
  74. package/src/stories/Atoms/Slider/Slider.jsx +41 -0
  75. package/src/stories/Atoms/Slider/Slider.stories.jsx +41 -0
  76. package/src/stories/Atoms/Snackbar/Snackbar.css +29 -0
  77. package/src/stories/Atoms/Snackbar/Snackbar.jsx +41 -0
  78. package/src/stories/Atoms/Snackbar/Snackbar.stories.jsx +41 -0
  79. package/src/stories/Atoms/Spacer/Spacer.css +29 -0
  80. package/src/stories/Atoms/Spacer/Spacer.jsx +41 -0
  81. package/src/stories/Atoms/Spacer/Spacer.stories.jsx +41 -0
  82. package/src/stories/Atoms/Spinner/Spinner.css +29 -0
  83. package/src/stories/Atoms/Spinner/Spinner.jsx +41 -0
  84. package/src/stories/Atoms/Spinner/Spinner.stories.jsx +41 -0
  85. package/src/stories/Atoms/Tag/Tag.css +29 -0
  86. package/src/stories/Atoms/Tag/Tag.jsx +41 -0
  87. package/src/stories/Atoms/Tag/Tag.stories.jsx +41 -0
  88. package/src/stories/Atoms/TextArea/TextArea.css +29 -0
  89. package/src/stories/Atoms/TextArea/TextArea.jsx +41 -0
  90. package/src/stories/Atoms/TextArea/TextArea.stories.jsx +41 -0
  91. package/src/stories/Atoms/TextInput/TextInput.css +29 -0
  92. package/src/stories/Atoms/TextInput/TextInput.jsx +41 -0
  93. package/src/stories/Atoms/TextInput/TextInput.stories.jsx +41 -0
  94. package/src/stories/Atoms/Toggle/Toggle.css +29 -0
  95. package/src/stories/Atoms/Toggle/Toggle.jsx +41 -0
  96. package/src/stories/Atoms/Toggle/Toggle.stories.jsx +41 -0
  97. package/src/stories/Atoms/Tooltip/Tooltip.css +29 -0
  98. package/src/stories/Atoms/Tooltip/Tooltip.jsx +41 -0
  99. package/src/stories/Atoms/Tooltip/Tooltip.stories.jsx +41 -0
  100. package/src/stories/Atoms/Video/Video.css +29 -0
  101. package/src/stories/Atoms/Video/Video.jsx +41 -0
  102. package/src/stories/Atoms/Video/Video.stories.jsx +41 -0
  103. package/src/stories/Atoms/index.js +65 -0
  104. package/src/stories/Atoms/meta_Atoms.js +46 -0
  105. package/src/stories/Components.js +198 -0
  106. package/src/stories/Components.md +189 -0
  107. package/src/stories/Getting Started.mdx +239 -0
  108. package/src/stories/Layouts/Grid/Grid.css +4 -0
  109. package/src/stories/Layouts/Grid/Grid.jsx +15 -0
  110. package/src/stories/Layouts/Grid/Grid.stories.jsx +26 -0
  111. package/src/stories/Layouts/Layout.js +28 -0
  112. package/src/stories/MDX.mdx +118 -0
  113. package/src/stories/Miscellaneous/Miscellaneous.js +24 -0
  114. package/src/stories/Molecules/Accordion/Accordion.css +4 -0
  115. package/src/stories/Molecules/Accordion/Accordion.jsx +25 -0
  116. package/src/stories/Molecules/Accordion/Accordion.stories.jsx +20 -0
  117. package/src/stories/Molecules/AudioPlayer/AudioPlayer.css +4 -0
  118. package/src/stories/Molecules/AudioPlayer/AudioPlayer.jsx +25 -0
  119. package/src/stories/Molecules/AudioPlayer/AudioPlayer.stories.jsx +20 -0
  120. package/src/stories/Molecules/AvatarWithName/AvatarWithName.css +4 -0
  121. package/src/stories/Molecules/AvatarWithName/AvatarWithName.jsx +25 -0
  122. package/src/stories/Molecules/AvatarWithName/AvatarWithName.stories.jsx +20 -0
  123. package/src/stories/Molecules/Breadcrumbs/Breadcrumbs.css +4 -0
  124. package/src/stories/Molecules/Breadcrumbs/Breadcrumbs.jsx +25 -0
  125. package/src/stories/Molecules/Breadcrumbs/Breadcrumbs.stories.jsx +20 -0
  126. package/src/stories/Molecules/ButtonGroup/ButtonGroup.css +4 -0
  127. package/src/stories/Molecules/ButtonGroup/ButtonGroup.jsx +25 -0
  128. package/src/stories/Molecules/ButtonGroup/ButtonGroup.stories.jsx +20 -0
  129. package/src/stories/Molecules/Card/Card.css +4 -0
  130. package/src/stories/Molecules/Card/Card.jsx +25 -0
  131. package/src/stories/Molecules/Card/Card.stories.jsx +20 -0
  132. package/src/stories/Molecules/ComparisonTable/ComparisonTable.css +4 -0
  133. package/src/stories/Molecules/ComparisonTable/ComparisonTable.jsx +25 -0
  134. package/src/stories/Molecules/ComparisonTable/ComparisonTable.stories.jsx +20 -0
  135. package/src/stories/Molecules/DataTable/DataTable.css +4 -0
  136. package/src/stories/Molecules/DataTable/DataTable.jsx +25 -0
  137. package/src/stories/Molecules/DataTable/DataTable.stories.jsx +20 -0
  138. package/src/stories/Molecules/FileUpload/FileUpload.css +4 -0
  139. package/src/stories/Molecules/FileUpload/FileUpload.jsx +25 -0
  140. package/src/stories/Molecules/FileUpload/FileUpload.stories.jsx +20 -0
  141. package/src/stories/Molecules/FormField/FormField.css +4 -0
  142. package/src/stories/Molecules/FormField/FormField.jsx +25 -0
  143. package/src/stories/Molecules/FormField/FormField.stories.jsx +20 -0
  144. package/src/stories/Molecules/Header/Header.css +35 -0
  145. package/src/stories/Molecules/Header/Header.jsx +76 -0
  146. package/src/stories/Molecules/Header/Header.stories.jsx +28 -0
  147. package/src/stories/Molecules/IconButton/IconButton.css +4 -0
  148. package/src/stories/Molecules/IconButton/IconButton.jsx +25 -0
  149. package/src/stories/Molecules/IconButton/IconButton.stories.jsx +20 -0
  150. package/src/stories/Molecules/ImageWithCaption/ImageWithCaption.css +4 -0
  151. package/src/stories/Molecules/ImageWithCaption/ImageWithCaption.jsx +25 -0
  152. package/src/stories/Molecules/ImageWithCaption/ImageWithCaption.stories.jsx +20 -0
  153. package/src/stories/Molecules/InputGroup/InputGroup.css +4 -0
  154. package/src/stories/Molecules/InputGroup/InputGroup.jsx +25 -0
  155. package/src/stories/Molecules/InputGroup/InputGroup.stories.jsx +20 -0
  156. package/src/stories/Molecules/InputWithLabel/InputWithLabel.css +4 -0
  157. package/src/stories/Molecules/InputWithLabel/InputWithLabel.jsx +25 -0
  158. package/src/stories/Molecules/InputWithLabel/InputWithLabel.stories.jsx +20 -0
  159. package/src/stories/Molecules/List/List.css +4 -0
  160. package/src/stories/Molecules/List/List.jsx +25 -0
  161. package/src/stories/Molecules/List/List.stories.jsx +20 -0
  162. package/src/stories/Molecules/MediaCard/MediaCard.css +4 -0
  163. package/src/stories/Molecules/MediaCard/MediaCard.jsx +25 -0
  164. package/src/stories/Molecules/MediaCard/MediaCard.stories.jsx +20 -0
  165. package/src/stories/Molecules/Modal/Modal.css +4 -0
  166. package/src/stories/Molecules/Modal/Modal.jsx +25 -0
  167. package/src/stories/Molecules/Modal/Modal.stories.jsx +20 -0
  168. package/src/stories/Molecules/Molecules.js +44 -0
  169. package/src/stories/Molecules/Navbar/Navbar.css +87 -0
  170. package/src/stories/Molecules/Navbar/Navbar.jsx +87 -0
  171. package/src/stories/Molecules/Navbar/Navbar.stories.jsx +20 -0
  172. package/src/stories/Molecules/Notification/Notification.css +4 -0
  173. package/src/stories/Molecules/Notification/Notification.jsx +25 -0
  174. package/src/stories/Molecules/Notification/Notification.stories.jsx +20 -0
  175. package/src/stories/Molecules/PricingTable/PricingTable.css +4 -0
  176. package/src/stories/Molecules/PricingTable/PricingTable.jsx +25 -0
  177. package/src/stories/Molecules/PricingTable/PricingTable.stories.jsx +20 -0
  178. package/src/stories/Molecules/SearchBar/SearchBar.css +4 -0
  179. package/src/stories/Molecules/SearchBar/SearchBar.jsx +25 -0
  180. package/src/stories/Molecules/SearchBar/SearchBar.stories.jsx +20 -0
  181. package/src/stories/Molecules/SelectTheme/SelectTheme.css +25 -0
  182. package/src/stories/Molecules/SelectTheme/SelectTheme.jsx +44 -0
  183. package/src/stories/Molecules/SelectTheme/SelectTheme.stories.jsx +25 -0
  184. package/src/stories/Molecules/Sidebar/Sidebar.css +4 -0
  185. package/src/stories/Molecules/Sidebar/Sidebar.jsx +25 -0
  186. package/src/stories/Molecules/Sidebar/Sidebar.stories.jsx +20 -0
  187. package/src/stories/Molecules/VideoWithDescription/VideoWithDescription.css +4 -0
  188. package/src/stories/Molecules/VideoWithDescription/VideoWithDescription.jsx +25 -0
  189. package/src/stories/Molecules/VideoWithDescription/VideoWithDescription.stories.jsx +20 -0
  190. package/src/stories/Molecules/index.js +57 -0
  191. package/src/stories/Organisms/Organisms.js +39 -0
  192. package/src/stories/Organisms/Profile/UserFriends/UserFriends.context.jsx +15 -0
  193. package/src/stories/Organisms/Profile/UserFriends/UserFriends.css +4 -0
  194. package/src/stories/Organisms/Profile/UserFriends/UserFriends.jsx +13 -0
  195. package/src/stories/Organisms/Profile/UserFriends/UserFriends.stories.jsx +26 -0
  196. package/src/stories/Organisms/Profile/UserPosts/UserPosts.context.jsx +15 -0
  197. package/src/stories/Organisms/Profile/UserPosts/UserPosts.css +4 -0
  198. package/src/stories/Organisms/Profile/UserPosts/UserPosts.jsx +13 -0
  199. package/src/stories/Organisms/Profile/UserPosts/UserPosts.stories.jsx +26 -0
  200. package/src/stories/Organisms/Profile/UserProfile/UserProfile.context.jsx +15 -0
  201. package/src/stories/Organisms/Profile/UserProfile/UserProfile.css +4 -0
  202. package/src/stories/Organisms/Profile/UserProfile/UserProfile.jsx +13 -0
  203. package/src/stories/Organisms/Profile/UserProfile/UserProfile.stories.jsx +26 -0
  204. package/src/stories/Pages/Page/Page.css +69 -0
  205. package/src/stories/Pages/Page/Page.jsx +69 -0
  206. package/src/stories/Pages/Page/Page.stories.js +26 -0
  207. package/src/stories/Pages/Page/Pages.js +31 -0
  208. package/src/stories/Templates/Templates.js +27 -0
  209. package/src/stories/assets/accessibility.png +0 -0
  210. package/src/stories/assets/accessibility.svg +1 -0
  211. package/src/stories/assets/addon-library.png +0 -0
  212. package/src/stories/assets/assets.png +0 -0
  213. package/src/stories/assets/avif-test-image.avif +0 -0
  214. package/src/stories/assets/context.png +0 -0
  215. package/src/stories/assets/discord.svg +1 -0
  216. package/src/stories/assets/docs.png +0 -0
  217. package/src/stories/assets/figma-plugin.png +0 -0
  218. package/src/stories/assets/github.svg +1 -0
  219. package/src/stories/assets/share.png +0 -0
  220. package/src/stories/assets/styling.png +0 -0
  221. package/src/stories/assets/testing.png +0 -0
  222. package/src/stories/assets/theming.png +0 -0
  223. package/src/stories/assets/tutorials.svg +1 -0
  224. package/src/stories/assets/youtube.svg +1 -0
  225. package/src/styles/Header.modules.css +32 -0
  226. package/src/styles/global.css +59 -0
  227. package/src/themes/ThemeProvider.jsx +36 -0
  228. package/src/themes/Themes.js +44 -0
  229. package/src/themes/dark.js +22 -0
  230. package/src/themes/light.js +22 -0
  231. package/src/themes/typ/Readme.md +4 -0
  232. package/src/themes/typ/github/open-sans-v17-latin-ext_latin-700.woff2 +0 -0
  233. package/src/themes/typ/github/open-sans-v17-latin-ext_latin-700italic.woff2 +0 -0
  234. package/src/themes/typ/github/open-sans-v17-latin-ext_latin-italic.woff2 +0 -0
  235. package/src/themes/typ/github/open-sans-v17-latin-ext_latin-regular.woff2 +0 -0
  236. package/src/themes/typ/github.css +416 -0
  237. package/src/themes/typ/gothic/GUST e-foundry License.txt +29 -0
  238. package/src/themes/typ/gothic/didact-gothic-c-ext.woff2 +0 -0
  239. package/src/themes/typ/gothic/didact-gothic-c.woff2 +0 -0
  240. package/src/themes/typ/gothic/texgyreadventor-bold.woff +0 -0
  241. package/src/themes/typ/gothic/texgyreadventor-bolditalic.woff +0 -0
  242. package/src/themes/typ/gothic/texgyreadventor-italic.woff +0 -0
  243. package/src/themes/typ/gothic/texgyreadventor-regular.woff +0 -0
  244. package/src/themes/typ/gothic.css +410 -0
  245. package/src/themes/typ/newsprint/pt-serif-v11-latin-700.woff2 +0 -0
  246. package/src/themes/typ/newsprint/pt-serif-v11-latin-700italic.woff2 +0 -0
  247. package/src/themes/typ/newsprint/pt-serif-v11-latin-italic.woff2 +0 -0
  248. package/src/themes/typ/newsprint/pt-serif-v11-latin-regular.woff2 +0 -0
  249. package/src/themes/typ/newsprint.css +622 -0
  250. package/src/themes/typ/night/codeblock.dark.css +113 -0
  251. package/src/themes/typ/night/credit.html +1 -0
  252. package/src/themes/typ/night/cursor.png +0 -0
  253. package/src/themes/typ/night/cursor@2x.png +0 -0
  254. package/src/themes/typ/night/mermaid.dark.css +7 -0
  255. package/src/themes/typ/night/sourcemode.dark.css +38 -0
  256. package/src/themes/typ/night.css +1032 -0
  257. package/src/themes/typ/pixyll/lato-v14-latin-300.woff +0 -0
  258. package/src/themes/typ/pixyll/lato-v14-latin-300italic.woff +0 -0
  259. package/src/themes/typ/pixyll/lato-v14-latin-900.woff +0 -0
  260. package/src/themes/typ/pixyll/lato-v14-latin-900italic.woff +0 -0
  261. package/src/themes/typ/pixyll/merriweather-v19-latin-300.woff +0 -0
  262. package/src/themes/typ/pixyll/merriweather-v19-latin-300italic.woff +0 -0
  263. package/src/themes/typ/pixyll/merriweather-v19-latin-700.woff +0 -0
  264. package/src/themes/typ/pixyll/merriweather-v19-latin-700italic.woff +0 -0
  265. package/src/themes/typ/pixyll.css +528 -0
  266. package/src/themes/typ/whitey.css +299 -0
@@ -0,0 +1,25 @@
1
+
2
+ import React from 'react';
3
+ import PropTypes from 'prop-types';
4
+ import './FileUpload.css';
5
+
6
+ /**
7
+ * FileUpload component
8
+ */
9
+ export const FileUpload = (props) => {
10
+ return (
11
+ <div className="fileupload" {...props}>
12
+ {/* Component implementation */}
13
+ </div>
14
+ );
15
+ };
16
+
17
+ FileUpload.propTypes = {
18
+ // Define prop types here
19
+ };
20
+
21
+ FileUpload.defaultProps = {
22
+ // Define default props here
23
+ };
24
+
25
+ export default FileUpload;
@@ -0,0 +1,20 @@
1
+
2
+ import { FileUpload } from './FileUpload';
3
+
4
+ // Storybook configuration for FileUpload component
5
+ export default {
6
+ title: 'Molecules/FormElements/FileUpload',
7
+ component: FileUpload,
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,4 @@
1
+
2
+ .formfield {
3
+ /* Default styles for FormField */
4
+ }
@@ -0,0 +1,25 @@
1
+
2
+ import React from 'react';
3
+ import PropTypes from 'prop-types';
4
+ import './FormField.css';
5
+
6
+ /**
7
+ * FormField component
8
+ */
9
+ export const FormField = (props) => {
10
+ return (
11
+ <div className="formfield" {...props}>
12
+ {/* Component implementation */}
13
+ </div>
14
+ );
15
+ };
16
+
17
+ FormField.propTypes = {
18
+ // Define prop types here
19
+ };
20
+
21
+ FormField.defaultProps = {
22
+ // Define default props here
23
+ };
24
+
25
+ export default FormField;
@@ -0,0 +1,20 @@
1
+
2
+ import { FormField } from './FormField';
3
+
4
+ // Storybook configuration for FormField component
5
+ export default {
6
+ title: 'Molecules/FormElements/FormField',
7
+ component: FormField,
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,35 @@
1
+ .storybook-header {
2
+ font-family: 'Nunito Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
3
+ border-bottom: 1px solid rgba(0, 0, 0, 0.1);
4
+ padding: 15px 20px;
5
+ display: flex;
6
+ align-items: center;
7
+ justify-content: space-between;
8
+ }
9
+
10
+ .storybook-header svg {
11
+ display: inline-block;
12
+ vertical-align: top;
13
+ }
14
+
15
+ .storybook-header h1 {
16
+ font-weight: 700;
17
+ font-size: 20px;
18
+ line-height: 1;
19
+ margin: 6px 0 6px 10px;
20
+ display: inline-block;
21
+ vertical-align: top;
22
+ }
23
+
24
+ .storybook-header button {
25
+ padding: 8px 16px; /* Ensure the padding is correctly applied */
26
+ font-size: 12px; /* Adjust font size */
27
+ border-radius: 6px;
28
+ display: inline-block;
29
+ margin-right:5px;
30
+ }
31
+ .storybook-header .welcome {
32
+ color: #333;
33
+ font-size: 14px;
34
+ margin-right: 10px;
35
+ }
@@ -0,0 +1,76 @@
1
+ //this.GUI/src/stories/Profile/ProfilePageContext.jsx
2
+ import React from 'react';
3
+ import PropTypes from 'prop-types';
4
+ import { Button } from '../../Atoms/Button/Button/';
5
+ import './Header.css';
6
+
7
+ export const Header = ({ user, onLogin, onLogout, onCreateAccount }) => (
8
+ <header>
9
+ <div className="storybook-header">
10
+ <div>
11
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 120 120" width="49" height="55">
12
+ {/* Outer Circle */}
13
+ <circle cx="60" cy="60" r="45" fill="none" stroke="black" strokeWidth="4" />
14
+
15
+ {/* Quadrants */}
16
+ <path d="M15,60 A45,45 0 0 1 60,15 L60,60 Z" fill="#FFDD67" />
17
+ <path d="M60,15 A45,45 0 0 1 105,60 L60,60 Z" fill="#F87060" />
18
+ <path d="M60,60 L105,60 A45,45 0 0 1 60,105 Z" fill="#5BC8AF" />
19
+ <path d="M60,60 L60,105 A45,45 0 0 1 15,60 Z" fill="#1DA1F2" />
20
+
21
+ {/* Face: Eyes */}
22
+ <circle cx="45" cy="50" r="5" fill="#333" />
23
+ <circle cx="75" cy="50" r="5" fill="#333" />
24
+
25
+ {/* Face: Smile */}
26
+ <path d="M45 70 Q60 85 75 70" stroke="#333" strokeWidth="3" fill="transparent" />
27
+
28
+ {/* Floating Atoms */}
29
+ <circle cx="20" cy="20" r="5" fill="#1DA1F2" />
30
+ <circle cx="100" cy="20" r="5" fill="#FFDD67" />
31
+ <circle cx="110" cy="80" r="5" fill="#F87060" />
32
+ <circle cx="20" cy="100" r="5" fill="#5BC8AF" />
33
+ <circle cx="80" cy="110" r="5" fill="#1DA1F2" />
34
+ <circle cx="10" cy="80" r="5" fill="#FFDD67" />
35
+ <circle cx="50" cy="10" r="5" fill="#5BC8AF" />
36
+
37
+ {/* Dots around the main circle */}
38
+ <circle cx="25" cy="60" r="3" fill="#1DA1F2" />
39
+ <circle cx="95" cy="60" r="3" fill="#F87060" />
40
+ <circle cx="45" cy="25" r="3" fill="#FFDD67" />
41
+ <circle cx="75" cy="95" r="3" fill="#5BC8AF" />
42
+ </svg>
43
+
44
+ <h1 style={{marginTop: '21px'}} >GUI.navbar</h1>
45
+ </div>
46
+ <div>
47
+ {user ? (
48
+ <>
49
+ <span className="welcome">
50
+ Welcome, <b>{user.name}</b>!
51
+ </span>
52
+ <Button size="small" onClick={onLogout} label="Log out" />
53
+ </>
54
+ ) : (
55
+ <>
56
+ <Button size="small" onClick={onLogin} label="Log in" />
57
+ <Button primary size="small" onClick={onCreateAccount} label="Sign up" />
58
+ </>
59
+ )}
60
+ </div>
61
+ </div>
62
+ </header>
63
+ );
64
+
65
+ Header.propTypes = {
66
+ user: PropTypes.shape({
67
+ name: PropTypes.string.isRequired,
68
+ }),
69
+ onLogin: PropTypes.func.isRequired,
70
+ onLogout: PropTypes.func.isRequired,
71
+ onCreateAccount: PropTypes.func.isRequired,
72
+ };
73
+
74
+ Header.defaultProps = {
75
+ user: null,
76
+ };
@@ -0,0 +1,28 @@
1
+ import { Header } from './Header';
2
+ import { fn } from '@storybook/test';
3
+
4
+ export default {
5
+ title: 'Molecules/Navigation/Header',
6
+ component: Header,
7
+ // This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/writing-docs/autodocs
8
+ tags: ['autodocs'],
9
+ parameters: {
10
+ // More on how to position stories at: https://storybook.js.org/docs/configure/story-layout
11
+ layout: 'fullscreen',
12
+ },
13
+ args: {
14
+ onLogin: fn(),
15
+ onLogout: fn(),
16
+ onCreateAccount: fn(),
17
+ },
18
+ };
19
+
20
+ export const LoggedIn = {
21
+ args: {
22
+ user: {
23
+ name: 'Jane Doe',
24
+ },
25
+ },
26
+ };
27
+
28
+ export const LoggedOut = {};
@@ -0,0 +1,4 @@
1
+
2
+ .iconbutton {
3
+ /* Default styles for IconButton */
4
+ }
@@ -0,0 +1,25 @@
1
+
2
+ import React from 'react';
3
+ import PropTypes from 'prop-types';
4
+ import './IconButton.css';
5
+
6
+ /**
7
+ * IconButton component
8
+ */
9
+ export const IconButton = (props) => {
10
+ return (
11
+ <div className="iconbutton" {...props}>
12
+ {/* Component implementation */}
13
+ </div>
14
+ );
15
+ };
16
+
17
+ IconButton.propTypes = {
18
+ // Define prop types here
19
+ };
20
+
21
+ IconButton.defaultProps = {
22
+ // Define default props here
23
+ };
24
+
25
+ export default IconButton;
@@ -0,0 +1,20 @@
1
+
2
+ import { IconButton } from './IconButton';
3
+
4
+ // Storybook configuration for IconButton component
5
+ export default {
6
+ title: 'Molecules/ButtonsWithIcons/IconButton',
7
+ component: IconButton,
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,4 @@
1
+
2
+ .imagewithcaption {
3
+ /* Default styles for ImageWithCaption */
4
+ }
@@ -0,0 +1,25 @@
1
+
2
+ import React from 'react';
3
+ import PropTypes from 'prop-types';
4
+ import './ImageWithCaption.css';
5
+
6
+ /**
7
+ * ImageWithCaption component
8
+ */
9
+ export const ImageWithCaption = (props) => {
10
+ return (
11
+ <div className="imagewithcaption" {...props}>
12
+ {/* Component implementation */}
13
+ </div>
14
+ );
15
+ };
16
+
17
+ ImageWithCaption.propTypes = {
18
+ // Define prop types here
19
+ };
20
+
21
+ ImageWithCaption.defaultProps = {
22
+ // Define default props here
23
+ };
24
+
25
+ export default ImageWithCaption;
@@ -0,0 +1,20 @@
1
+
2
+ import { ImageWithCaption } from './ImageWithCaption';
3
+
4
+ // Storybook configuration for ImageWithCaption component
5
+ export default {
6
+ title: 'Molecules/MediaMolecules/ImageWithCaption',
7
+ component: ImageWithCaption,
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,4 @@
1
+
2
+ .inputgroup {
3
+ /* Default styles for InputGroup */
4
+ }
@@ -0,0 +1,25 @@
1
+
2
+ import React from 'react';
3
+ import PropTypes from 'prop-types';
4
+ import './InputGroup.css';
5
+
6
+ /**
7
+ * InputGroup component
8
+ */
9
+ export const InputGroup = (props) => {
10
+ return (
11
+ <div className="inputgroup" {...props}>
12
+ {/* Component implementation */}
13
+ </div>
14
+ );
15
+ };
16
+
17
+ InputGroup.propTypes = {
18
+ // Define prop types here
19
+ };
20
+
21
+ InputGroup.defaultProps = {
22
+ // Define default props here
23
+ };
24
+
25
+ export default InputGroup;
@@ -0,0 +1,20 @@
1
+
2
+ import { InputGroup } from './InputGroup';
3
+
4
+ // Storybook configuration for InputGroup component
5
+ export default {
6
+ title: 'Molecules/FormElements/InputGroup',
7
+ component: InputGroup,
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,4 @@
1
+
2
+ .inputwithlabel {
3
+ /* Default styles for InputWithLabel */
4
+ }
@@ -0,0 +1,25 @@
1
+
2
+ import React from 'react';
3
+ import PropTypes from 'prop-types';
4
+ import './InputWithLabel.css';
5
+
6
+ /**
7
+ * InputWithLabel component
8
+ */
9
+ export const InputWithLabel = (props) => {
10
+ return (
11
+ <div className="inputwithlabel" {...props}>
12
+ {/* Component implementation */}
13
+ </div>
14
+ );
15
+ };
16
+
17
+ InputWithLabel.propTypes = {
18
+ // Define prop types here
19
+ };
20
+
21
+ InputWithLabel.defaultProps = {
22
+ // Define default props here
23
+ };
24
+
25
+ export default InputWithLabel;
@@ -0,0 +1,20 @@
1
+
2
+ import { InputWithLabel } from './InputWithLabel';
3
+
4
+ // Storybook configuration for InputWithLabel component
5
+ export default {
6
+ title: 'Molecules/FormElements/InputWithLabel',
7
+ component: InputWithLabel,
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,4 @@
1
+
2
+ .list {
3
+ /* Default styles for List */
4
+ }
@@ -0,0 +1,25 @@
1
+
2
+ import React from 'react';
3
+ import PropTypes from 'prop-types';
4
+ import './List.css';
5
+
6
+ /**
7
+ * List component
8
+ */
9
+ export const List = (props) => {
10
+ return (
11
+ <div className="list" {...props}>
12
+ {/* Component implementation */}
13
+ </div>
14
+ );
15
+ };
16
+
17
+ List.propTypes = {
18
+ // Define prop types here
19
+ };
20
+
21
+ List.defaultProps = {
22
+ // Define default props here
23
+ };
24
+
25
+ export default List;
@@ -0,0 +1,20 @@
1
+
2
+ import { List } from './List';
3
+
4
+ // Storybook configuration for List component
5
+ export default {
6
+ title: 'Molecules/ContentDisplay/List',
7
+ component: List,
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,4 @@
1
+
2
+ .mediacard {
3
+ /* Default styles for MediaCard */
4
+ }
@@ -0,0 +1,25 @@
1
+
2
+ import React from 'react';
3
+ import PropTypes from 'prop-types';
4
+ import './MediaCard.css';
5
+
6
+ /**
7
+ * MediaCard component
8
+ */
9
+ export const MediaCard = (props) => {
10
+ return (
11
+ <div className="mediacard" {...props}>
12
+ {/* Component implementation */}
13
+ </div>
14
+ );
15
+ };
16
+
17
+ MediaCard.propTypes = {
18
+ // Define prop types here
19
+ };
20
+
21
+ MediaCard.defaultProps = {
22
+ // Define default props here
23
+ };
24
+
25
+ export default MediaCard;
@@ -0,0 +1,20 @@
1
+
2
+ import { MediaCard } from './MediaCard';
3
+
4
+ // Storybook configuration for MediaCard component
5
+ export default {
6
+ title: 'Molecules/ContentDisplay/MediaCard',
7
+ component: MediaCard,
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,4 @@
1
+
2
+ .modal {
3
+ /* Default styles for Modal */
4
+ }
@@ -0,0 +1,25 @@
1
+
2
+ import React from 'react';
3
+ import PropTypes from 'prop-types';
4
+ import './Modal.css';
5
+
6
+ /**
7
+ * Modal component
8
+ */
9
+ export const Modal = (props) => {
10
+ return (
11
+ <div className="modal" {...props}>
12
+ {/* Component implementation */}
13
+ </div>
14
+ );
15
+ };
16
+
17
+ Modal.propTypes = {
18
+ // Define prop types here
19
+ };
20
+
21
+ Modal.defaultProps = {
22
+ // Define default props here
23
+ };
24
+
25
+ export default Modal;
@@ -0,0 +1,20 @@
1
+
2
+ import { Modal } from './Modal';
3
+
4
+ // Storybook configuration for Modal component
5
+ export default {
6
+ title: 'Molecules/FeedbackMolecules/Modal',
7
+ component: Modal,
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,44 @@
1
+ const Molecules = {
2
+ "Molecules": {
3
+ "Navigation": [
4
+ { name: "Navbar", paths: { css: "./Navbar/Navbar.css", globalCss: "styles/global.css", jsx: "./Navbar/Navbar.jsx", stories: "./Navbar/Navbar.stories.jsx" }},
5
+ { name: "Sidebar", paths: { css: "./Sidebar/Sidebar.css", globalCss: "styles/global.css", jsx: "./Sidebar/Sidebar.jsx", stories: "./Sidebar/Sidebar.stories.jsx" }},
6
+ { name: "Breadcrumbs", paths: { css: "./Breadcrumbs/Breadcrumbs.css", globalCss: "styles/global.css", jsx: "./Breadcrumbs/Breadcrumbs.jsx", stories: "./Breadcrumbs/Breadcrumbs.stories.jsx" }},
7
+ ],
8
+ "FormElements": [
9
+ { name: "InputGroup ", paths: { css: "./InputGroup/InputGroup.css", globalCss: "styles/global.css", jsx: "./InputGroup/InputGroup.jsx", stories: "src/stories/Molecules/InputGroup/InputGroup.stories.jsx" }},
10
+ { name: "InputWithLabel", paths: { css: "./InputWithLabel/InputWithLabel.css", globalCss: "styles/global.css", jsx: "./InputWithLabel/InputWithLabel.jsx", stories: "src/stories/Molecules/InputWithLabel/InputWithLabel.stories.jsx" }},
11
+ { name: "SearchBar", paths: { css: "./SearchBar/SearchBar.css", globalCss: "styles/global.css", jsx: "./SearchBar/SearchBar.jsx", stories: "src/stories/Molecules/SearchBar/SearchBar.stories.jsx" }},
12
+ { name: "FileUpload", paths: { css: "./FileUpload/FileUpload.css", globalCss: "styles/global.css", jsx: "./FileUpload/FileUpload.jsx", stories: "src/stories/Molecules/FileUpload/FileUpload.stories.jsx" }},
13
+ { name: "FormField", paths: { css: "./FormField/FormField.css", globalCss: "styles/global.css", jsx: "./FormField/FormField.jsx", stories: "src/stories/Molecules/FormField/FormField.stories.jsx" }},
14
+ ],
15
+ "ButtonsWithIcons": [
16
+ { name: "IconButton", paths: { css: "./IconButton/IconButton.css", globalCss: "styles/global.css", jsx: "./IconButton/IconButton.jsx", stories: "src/stories/Molecules/IconButton/IconButton.stories.jsx" }},
17
+ { name: "ButtonGroup", paths: { css: "./ButtonGroup/ButtonGroup.css", globalCss: "styles/global.css", jsx: "./ButtonGroup/ButtonGroup.jsx", stories: "src/stories/Molecules/ButtonGroup/ButtonGroup.stories.jsx" }},
18
+ ],
19
+ "MediaMolecules": [
20
+ { name: "ImageWithCaption", paths: { css: "./ImageWithCaption/ImageWithCaption.css", globalCss: "styles/global.css", jsx: "./ImageWithCaption/ImageWithCaption.jsx", stories: "src/stories/Molecules/ImageWithCaption/ImageWithCaption.stories.jsx" }},
21
+ { name: "VideoWithDescription", paths: { css: "./VideoWithDescription/VideoWithDescription.css", globalCss: "styles/global.css", jsx: "./VideoWithDescription/VideoWithDescription.jsx", stories: "src/stories/Molecules/VideoWithDescription/VideoWithDescription.stories.jsx" }},
22
+ { name: "AvatarWithName", paths: { css: "./AvatarWithName/AvatarWithName.css", globalCss: "styles/global.css", jsx: "./AvatarWithName/AvatarWithName.jsx", stories: "src/stories/Molecules/AvatarWithName/AvatarWithName.stories.jsx" }},
23
+ { name: "AudioPlayer", paths: { css: "./AudioPlayer/AudioPlayer.css", globalCss: "styles/global.css", jsx: "./AudioPlayer/AudioPlayer.jsx", stories: "src/stories/Molecules/AudioPlayer/AudioPlayer.stories.jsx" }},
24
+ ],
25
+ "ContentDisplay": [
26
+ { name: "SelectTheme", paths: { css: "./SelectTheme/SelectTheme.css", globalCss: "styles/global.css", jsx: "./SelectTheme/SelectTheme.jsx", stories: "src/stories/Molecules/SelectTheme/SelectTheme.stories.jsx" }},
27
+ { name: "Card", paths: { css: "./Card/Card.css", globalCss: "styles/global.css", jsx: "./Card/Card.jsx", stories: "./Card/Card.stories.jsx" }},
28
+ { name: "MediaCard", paths: { css: "./MediaCard/MediaCard.css", globalCss: "styles/global.css", jsx: "./MediaCard/MediaCard.jsx", stories: "./MediaCard/MediaCard.stories.jsx" }},
29
+ { name: "List", paths: { css: "./List/List.css", globalCss: "styles/global.css", jsx: "./List/List.jsx", stories: "./List/List.stories.jsx" }},
30
+ { name: "Accordion", paths: { css: "./Accordion/Accordion.css", globalCss: "styles/global.css", jsx: "./Accordion/Accordion.jsx", stories: "./Accordion/Accordion.stories.jsx" }},
31
+ ],
32
+ "FeedbackMolecules": [
33
+ { name: "Notification", paths: { css: "./Notification/Notification.css", globalCss: "styles/global.css", jsx: "./Notification/Notification.jsx", stories: "src/stories/Molecules/Notification/Notification.stories.jsx" }},
34
+ { name: "Modal", paths: { css: "./Modal/Modal.css", globalCss: "styles/global.css", jsx: "./Modal/Modal.jsx", stories: "src/stories/Molecules/Modal/Modal.stories.jsx" }},
35
+ ],
36
+ "Tables": [
37
+ { name: "DataTable", paths: { css: "./DataTable/DataTable.css", globalCss: "styles/global.css", jsx: "./DataTable/DataTable.jsx", stories: "./DataTable/DataTable.stories.jsx" }},
38
+ { name: "PricingTable", paths: { css: "./PricingTable/PricingTable.css", globalCss: "styles/global.css", jsx: "./PricingTable/PricingTable.jsx", stories: "./PricingTable/PricingTable.stories.jsx" }},
39
+ { name: "ComparisonTable", paths: { css: "./ComparisonTable/ComparisonTable.css", globalCss: "styles/global.css", jsx: "./ComparisonTable/ComparisonTable.jsx", stories: "./ComparisonTable/ComparisonTable.stories.jsx" }},
40
+ ]
41
+ }
42
+ }
43
+
44
+ export default Molecules;