this.gui 1.0.15 → 1.0.17

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 (296) hide show
  1. package/README.md +178 -49
  2. package/dist/style.css +1 -1
  3. package/dist/this-gui.es.js +4645 -1922
  4. package/dist/this-gui.umd.js +34 -22
  5. package/package.json +14 -14
  6. package/src/App.jsx +53 -21
  7. package/src/Page.jsx +28 -0
  8. package/src/SiteBuilder.jsx +39 -0
  9. package/src/example.json +43 -0
  10. package/src/index.mdx +10 -0
  11. package/src/main.jsx +11 -14
  12. package/src/scripts/ComponentRegistry.js +70 -0
  13. package/src/scripts/postinstall.js +40 -1
  14. package/src/scripts/renderComponents.js +11 -0
  15. package/src/stories/Atoms/Alert/Alert.css +196 -14
  16. package/src/stories/Atoms/Alert/Alert.jsx +43 -28
  17. package/src/stories/Atoms/Alert/Alert.stories.jsx +154 -28
  18. package/src/stories/Atoms/Audio/Audio.css +246 -16
  19. package/src/stories/Atoms/Audio/Audio.jsx +204 -29
  20. package/src/stories/Atoms/Audio/Audio.stories.jsx +178 -28
  21. package/src/stories/Atoms/Badge/Badge.css +235 -15
  22. package/src/stories/Atoms/Badge/Badge.jsx +44 -31
  23. package/src/stories/Atoms/Badge/Badge.stories.jsx +109 -29
  24. package/src/stories/Atoms/Button/Button.css +106 -45
  25. package/src/stories/Atoms/Button/Button.jsx +31 -82
  26. package/src/stories/Atoms/Button/Button.stories.jsx +170 -40
  27. package/src/stories/Atoms/Caption/Caption.css +156 -16
  28. package/src/stories/Atoms/Caption/Caption.jsx +62 -31
  29. package/src/stories/Atoms/Caption/Caption.stories.jsx +194 -28
  30. package/src/stories/Atoms/Checkbox/Checkbox.css +168 -15
  31. package/src/stories/Atoms/Checkbox/Checkbox.jsx +73 -31
  32. package/src/stories/Atoms/Checkbox/Checkbox.stories.jsx +98 -27
  33. package/src/stories/Atoms/Container/Container.css +75 -15
  34. package/src/stories/Atoms/Container/Container.jsx +41 -28
  35. package/src/stories/Atoms/Container/Container.stories.jsx +92 -29
  36. package/src/stories/Atoms/Divider/Divider.css +131 -13
  37. package/src/stories/Atoms/Divider/Divider.jsx +54 -33
  38. package/src/stories/Atoms/Divider/Divider.stories.jsx +93 -29
  39. package/src/stories/Atoms/Grid/Grid.css +160 -0
  40. package/src/stories/Atoms/Grid/Grid.jsx +43 -0
  41. package/src/stories/Atoms/Grid/Grid.stories.jsx +84 -0
  42. package/src/stories/Atoms/Heading/Heading.css +99 -16
  43. package/src/stories/Atoms/Heading/Heading.jsx +57 -29
  44. package/src/stories/Atoms/Heading/Heading.stories.jsx +117 -28
  45. package/src/stories/Atoms/Icon/Icon.css +219 -27
  46. package/src/stories/Atoms/Icon/Icon.jsx +67 -38
  47. package/src/stories/Atoms/Icon/Icon.stories.jsx +156 -51
  48. package/src/stories/Atoms/Image/Image.css +231 -15
  49. package/src/stories/Atoms/Image/Image.jsx +166 -32
  50. package/src/stories/Atoms/Image/Image.stories.jsx +319 -28
  51. package/src/stories/Atoms/Label/Label.css +158 -16
  52. package/src/stories/Atoms/Label/Label.jsx +61 -31
  53. package/src/stories/Atoms/Label/Label.stories.jsx +167 -28
  54. package/src/stories/Atoms/Link/Link.css +58 -16
  55. package/src/stories/Atoms/Link/Link.jsx +73 -32
  56. package/src/stories/Atoms/Link/Link.stories.jsx +141 -29
  57. package/src/stories/Atoms/Loader/Loader.css +93 -16
  58. package/src/stories/Atoms/Loader/Loader.jsx +47 -30
  59. package/src/stories/Atoms/Loader/Loader.stories.jsx +86 -28
  60. package/src/stories/Atoms/Logo/Logo.css +94 -0
  61. package/src/stories/Atoms/Logo/Logo.jsx +53 -0
  62. package/src/stories/Atoms/Logo/Logo.stories.jsx +120 -0
  63. package/src/stories/Atoms/Paragraph/Paragraph.css +167 -16
  64. package/src/stories/Atoms/Paragraph/Paragraph.jsx +67 -31
  65. package/src/stories/Atoms/Paragraph/Paragraph.stories.jsx +130 -28
  66. package/src/stories/Atoms/ProgressBar/ProgressBar.css +115 -17
  67. package/src/stories/Atoms/ProgressBar/ProgressBar.jsx +30 -31
  68. package/src/stories/Atoms/ProgressBar/ProgressBar.stories.jsx +72 -27
  69. package/src/stories/Atoms/RadioButton/RadioButton.css +118 -17
  70. package/src/stories/Atoms/RadioButton/RadioButton.jsx +77 -31
  71. package/src/stories/Atoms/RadioButton/RadioButton.stories.jsx +99 -27
  72. package/src/stories/Atoms/Range/Range.css +169 -0
  73. package/src/stories/Atoms/Range/Range.jsx +87 -0
  74. package/src/stories/Atoms/Range/Range.stories.jsx +110 -0
  75. package/src/stories/Atoms/Section/Section.css +268 -0
  76. package/src/stories/Atoms/Section/Section.jsx +63 -0
  77. package/src/stories/Atoms/Section/Section.stories.jsx +46 -0
  78. package/src/stories/Atoms/Select/Select.css +74 -16
  79. package/src/stories/Atoms/Select/Select.jsx +62 -30
  80. package/src/stories/Atoms/Select/Select.stories.jsx +95 -27
  81. package/src/stories/Atoms/Slider/Slider.css +77 -16
  82. package/src/stories/Atoms/Slider/Slider.jsx +119 -31
  83. package/src/stories/Atoms/Slider/Slider.stories.jsx +77 -28
  84. package/src/stories/Atoms/Snackbar/Snackbar.css +297 -13
  85. package/src/stories/Atoms/Snackbar/Snackbar.jsx +62 -31
  86. package/src/stories/Atoms/Snackbar/Snackbar.stories.jsx +63 -26
  87. package/src/stories/Atoms/Spacer/Spacer.css +101 -16
  88. package/src/stories/Atoms/Spacer/Spacer.jsx +26 -32
  89. package/src/stories/Atoms/Spacer/Spacer.stories.jsx +50 -30
  90. package/src/stories/Atoms/Spinner/Spinner.css +97 -16
  91. package/src/stories/Atoms/Spinner/Spinner.jsx +50 -26
  92. package/src/stories/Atoms/Spinner/Spinner.stories.jsx +47 -30
  93. package/src/stories/Atoms/Tag/Tag.css +97 -14
  94. package/src/stories/Atoms/Tag/Tag.jsx +58 -24
  95. package/src/stories/Atoms/Tag/Tag.stories.jsx +55 -29
  96. package/src/stories/Atoms/TextArea/TextArea.css +85 -15
  97. package/src/stories/Atoms/TextArea/TextArea.jsx +108 -31
  98. package/src/stories/Atoms/TextArea/TextArea.stories.jsx +25 -30
  99. package/src/stories/Atoms/TextInput/TextInput.css +90 -17
  100. package/src/stories/Atoms/TextInput/TextInput.jsx +119 -27
  101. package/src/stories/Atoms/TextInput/TextInput.stories.jsx +53 -25
  102. package/src/stories/Atoms/Toggle/Toggle.css +106 -17
  103. package/src/stories/Atoms/Toggle/Toggle.jsx +56 -28
  104. package/src/stories/Atoms/Toggle/Toggle.stories.jsx +24 -30
  105. package/src/stories/Atoms/Tooltip/Tooltip.css +368 -14
  106. package/src/stories/Atoms/Tooltip/Tooltip.jsx +33 -28
  107. package/src/stories/Atoms/Tooltip/Tooltip.stories.jsx +42 -31
  108. package/src/stories/Atoms/Video/Video.css +28 -18
  109. package/src/stories/Atoms/Video/Video.jsx +66 -29
  110. package/src/stories/Atoms/Video/Video.stories.jsx +30 -30
  111. package/src/stories/Atoms/index.js +9 -2
  112. package/src/stories/Atoms/meta_Atoms.js +6 -1
  113. package/src/stories/Layouts/Accordion/Accordion.css +293 -0
  114. package/src/stories/Layouts/Accordion/Accordion.jsx +74 -0
  115. package/src/stories/Layouts/Accordion/Accordion.stories.jsx +39 -0
  116. package/src/stories/Layouts/Flexbox/Flexbox.css +16 -0
  117. package/src/stories/Layouts/Flexbox/Flexbox.jsx +11 -0
  118. package/src/stories/Layouts/Flexbox/Flexbox.stories.jsx +28 -0
  119. package/src/stories/Layouts/Footer/Footer.css +16 -0
  120. package/src/stories/Layouts/Footer/Footer.jsx +31 -0
  121. package/src/stories/Layouts/Footer/Footer.stories.jsx +28 -0
  122. package/src/stories/Layouts/Header/Header.css +16 -0
  123. package/src/stories/Layouts/Header/Header.jsx +31 -0
  124. package/src/stories/Layouts/Header/Header.stories.jsx +28 -0
  125. package/src/stories/Layouts/HeroBanner/HeroBanner.css +16 -0
  126. package/src/stories/Layouts/HeroBanner/HeroBanner.jsx +31 -0
  127. package/src/stories/Layouts/HeroBanner/HeroBanner.stories.jsx +28 -0
  128. package/src/stories/Layouts/HeroImageVideo/HeroImageVideo.css +16 -0
  129. package/src/stories/Layouts/HeroImageVideo/HeroImageVideo.jsx +31 -0
  130. package/src/stories/Layouts/HeroImageVideo/HeroImageVideo.stories.jsx +28 -0
  131. package/src/stories/Layouts/Pagination/Pagination.css +16 -0
  132. package/src/stories/Layouts/Pagination/Pagination.jsx +31 -0
  133. package/src/stories/Layouts/Pagination/Pagination.stories.jsx +28 -0
  134. package/src/stories/Layouts/Sidebar/Sidebar.css +16 -0
  135. package/src/stories/Layouts/Sidebar/Sidebar.jsx +71 -0
  136. package/src/stories/Layouts/Sidebar/Sidebar.stories.jsx +28 -0
  137. package/src/stories/Layouts/Tabs/Tabs.css +16 -0
  138. package/src/stories/Layouts/Tabs/Tabs.jsx +31 -0
  139. package/src/stories/Layouts/Tabs/Tabs.stories.jsx +28 -0
  140. package/src/stories/Layouts/index.js +25 -0
  141. package/src/stories/Layouts/meta_Layouts.js +28 -0
  142. package/src/stories/Molecules/Accordion/Accordion.css +1 -1
  143. package/src/stories/Molecules/Accordion/Accordion.jsx +1 -1
  144. package/src/stories/Molecules/Accordion/Accordion.stories.jsx +1 -1
  145. package/src/stories/Molecules/AudioPlayer/AudioPlayer.css +95 -2
  146. package/src/stories/Molecules/AudioPlayer/AudioPlayer.jsx +232 -13
  147. package/src/stories/Molecules/AudioPlayer/AudioPlayer.stories.jsx +46 -11
  148. package/src/stories/Molecules/AvatarWithName/AvatarWithName.css +128 -2
  149. package/src/stories/Molecules/AvatarWithName/AvatarWithName.jsx +69 -14
  150. package/src/stories/Molecules/AvatarWithName/AvatarWithName.stories.jsx +12 -12
  151. package/src/stories/Molecules/Breadcrumbs/Breadcrumbs.css +145 -2
  152. package/src/stories/Molecules/Breadcrumbs/Breadcrumbs.jsx +39 -13
  153. package/src/stories/Molecules/Breadcrumbs/Breadcrumbs.stories.jsx +27 -11
  154. package/src/stories/Molecules/ButtonGroup/ButtonGroup.css +463 -2
  155. package/src/stories/Molecules/ButtonGroup/ButtonGroup.jsx +34 -12
  156. package/src/stories/Molecules/ButtonGroup/ButtonGroup.stories.jsx +36 -12
  157. package/src/stories/Molecules/Card/Card.css +39 -2
  158. package/src/stories/Molecules/Card/Card.jsx +80 -13
  159. package/src/stories/Molecules/Card/Card.stories.jsx +27 -13
  160. package/src/stories/Molecules/ComparisonTable/ComparisonTable.css +33 -2
  161. package/src/stories/Molecules/ComparisonTable/ComparisonTable.jsx +91 -12
  162. package/src/stories/Molecules/ComparisonTable/ComparisonTable.stories.jsx +73 -12
  163. package/src/stories/Molecules/Dropdown/Dropdown.css +192 -0
  164. package/src/stories/Molecules/Dropdown/Dropdown.jsx +96 -0
  165. package/src/stories/Molecules/Dropdown/Dropdown.stories.jsx +45 -0
  166. package/src/stories/Molecules/Navbar/Navbar.css +63 -59
  167. package/src/stories/Molecules/Navbar/Navbar.jsx +43 -48
  168. package/src/stories/Molecules/Navbar/Navbar.stories.jsx +58 -8
  169. package/src/stories/Molecules/SearchBar/SearchBar.css +66 -1
  170. package/src/stories/Molecules/SearchBar/SearchBar.jsx +59 -11
  171. package/src/stories/Molecules/SearchBar/SearchBar.stories.jsx +16 -7
  172. package/src/stories/Molecules/SelectTheme/SelectTheme.jsx +16 -38
  173. package/src/stories/Molecules/SelectTheme/SelectTheme.stories.jsx +1 -2
  174. package/src/stories/Molecules/Sidebar/Sidebar.css +65 -2
  175. package/src/stories/Molecules/Sidebar/Sidebar.jsx +66 -11
  176. package/src/stories/Molecules/Sidebar/Sidebar.stories.jsx +20 -5
  177. package/src/stories/Molecules/index.js +2 -1
  178. package/src/stories/Molecules/{Molecules.js → meta_Molecules.js} +6 -3
  179. package/src/stories/Templates/AdminDashboard/AdminDashboard.css +7 -0
  180. package/src/stories/Templates/AdminDashboard/AdminDashboard.jsx +24 -0
  181. package/src/stories/Templates/AdminDashboard/AdminDashboard.stories.jsx +20 -0
  182. package/src/stories/Templates/CallToAction/CallToAction.css +7 -0
  183. package/src/stories/Templates/CallToAction/CallToAction.jsx +24 -0
  184. package/src/stories/Templates/CallToAction/CallToAction.stories.jsx +20 -0
  185. package/src/stories/Templates/FeaturesList/FeaturesList.css +7 -0
  186. package/src/stories/Templates/FeaturesList/FeaturesList.jsx +24 -0
  187. package/src/stories/Templates/FeaturesList/FeaturesList.stories.jsx +20 -0
  188. package/src/stories/Templates/FormSection/FormSection.css +7 -0
  189. package/src/stories/Templates/FormSection/FormSection.jsx +24 -0
  190. package/src/stories/Templates/FormSection/FormSection.stories.jsx +20 -0
  191. package/src/stories/Templates/HeroSection/HeroSection.css +7 -0
  192. package/src/stories/Templates/HeroSection/HeroSection.jsx +24 -0
  193. package/src/stories/Templates/HeroSection/HeroSection.stories.jsx +20 -0
  194. package/src/stories/Templates/LocationInfo/LocationInfo.css +7 -0
  195. package/src/stories/Templates/LocationInfo/LocationInfo.jsx +24 -0
  196. package/src/stories/Templates/LocationInfo/LocationInfo.stories.jsx +20 -0
  197. package/src/stories/Templates/ProductPage/ProductPage.css +7 -0
  198. package/src/stories/Templates/ProductPage/ProductPage.jsx +24 -0
  199. package/src/stories/Templates/ProductPage/ProductPage.stories.jsx +20 -0
  200. package/src/stories/Templates/RegistrationPage/RegistrationPage.css +7 -0
  201. package/src/stories/Templates/RegistrationPage/RegistrationPage.jsx +24 -0
  202. package/src/stories/Templates/RegistrationPage/RegistrationPage.stories.jsx +20 -0
  203. package/src/stories/Templates/ShoppingCart/ShoppingCart.css +7 -0
  204. package/src/stories/Templates/ShoppingCart/ShoppingCart.jsx +24 -0
  205. package/src/stories/Templates/ShoppingCart/ShoppingCart.stories.jsx +20 -0
  206. package/src/stories/Templates/SidebarTopNav/SidebarTopNav.css +7 -0
  207. package/src/stories/Templates/SidebarTopNav/SidebarTopNav.jsx +24 -0
  208. package/src/stories/Templates/SidebarTopNav/SidebarTopNav.stories.jsx +20 -0
  209. package/src/stories/Templates/SignInPage/SignInPage.css +7 -0
  210. package/src/stories/Templates/SignInPage/SignInPage.jsx +24 -0
  211. package/src/stories/Templates/SignInPage/SignInPage.stories.jsx +20 -0
  212. package/src/stories/Templates/SocialMediaLinks/SocialMediaLinks.css +7 -0
  213. package/src/stories/Templates/SocialMediaLinks/SocialMediaLinks.jsx +24 -0
  214. package/src/stories/Templates/SocialMediaLinks/SocialMediaLinks.stories.jsx +20 -0
  215. package/src/stories/Templates/Testimonials/Testimonials.css +7 -0
  216. package/src/stories/Templates/Testimonials/Testimonials.jsx +24 -0
  217. package/src/stories/Templates/Testimonials/Testimonials.stories.jsx +20 -0
  218. package/src/stories/Templates/index.js +33 -0
  219. package/src/stories/Templates/{Templates.js → meta_Templates.js} +3 -1
  220. package/src/stories/assets/logo.png +0 -0
  221. package/src/stories/assets/logo.svg +106 -0
  222. package/src/stories/assets/test.svg +3 -0
  223. package/src/themes/README_Styles.md +301 -0
  224. package/src/themes/ThemeProvider.jsx +47 -22
  225. package/src/themes/styles/dracula/dark.css +0 -0
  226. package/src/themes/styles/dracula/light.css +0 -0
  227. package/src/themes/styles/github/dark.css +0 -0
  228. package/src/themes/styles/github/light.css +0 -0
  229. package/src/themes/styles/neurons/dark.css +247 -0
  230. package/src/themes/styles/neurons/light.css +280 -0
  231. package/dist/Styles.md +0 -446
  232. package/dist/context.md +0 -942
  233. package/dist/github-3688a83a.js +0 -5
  234. package/dist/gothic-94a7ecd6.js +0 -5
  235. package/dist/newsprint-32bf94d9.js +0 -5
  236. package/dist/night-4a954853.js +0 -5
  237. package/dist/pixyll-94de4610.js +0 -5
  238. package/dist/whitey-db68723e.js +0 -5
  239. package/src/MDXEditor.jsx +0 -32
  240. package/src/Theme.jsx +0 -28
  241. package/src/components/CodeBlock.jsx +0 -22
  242. package/src/components/ComponentFactory.jsx +0 -36
  243. package/src/components/ComponentRegistry.js +0 -21
  244. package/src/scripts/generateComponents.js +0 -166
  245. package/src/scripts/verifyMolecules.js +0 -158
  246. package/src/scripts/verify_and_install_atoms.js +0 -211
  247. package/src/stories/Atoms/RangeInput/RangeInput.css +0 -29
  248. package/src/stories/Atoms/RangeInput/RangeInput.jsx +0 -41
  249. package/src/stories/Atoms/RangeInput/RangeInput.stories.jsx +0 -41
  250. package/src/stories/Components.md +0 -189
  251. package/src/stories/Layouts/Grid/Grid.css +0 -4
  252. package/src/stories/Layouts/Grid/Grid.jsx +0 -15
  253. package/src/stories/Layouts/Grid/Grid.stories.jsx +0 -26
  254. package/src/stories/Layouts/Layout.js +0 -28
  255. package/src/styles/Header.modules.css +0 -32
  256. package/src/styles/global.css +0 -59
  257. package/src/themes/Themes.js +0 -44
  258. package/src/themes/dark.js +0 -22
  259. package/src/themes/light.js +0 -22
  260. package/src/themes/typ/Readme.md +0 -4
  261. package/src/themes/typ/github/open-sans-v17-latin-ext_latin-700.woff2 +0 -0
  262. package/src/themes/typ/github/open-sans-v17-latin-ext_latin-700italic.woff2 +0 -0
  263. package/src/themes/typ/github/open-sans-v17-latin-ext_latin-italic.woff2 +0 -0
  264. package/src/themes/typ/github/open-sans-v17-latin-ext_latin-regular.woff2 +0 -0
  265. package/src/themes/typ/github.css +0 -416
  266. package/src/themes/typ/gothic/GUST e-foundry License.txt +0 -29
  267. package/src/themes/typ/gothic/didact-gothic-c-ext.woff2 +0 -0
  268. package/src/themes/typ/gothic/didact-gothic-c.woff2 +0 -0
  269. package/src/themes/typ/gothic/texgyreadventor-bold.woff +0 -0
  270. package/src/themes/typ/gothic/texgyreadventor-bolditalic.woff +0 -0
  271. package/src/themes/typ/gothic/texgyreadventor-italic.woff +0 -0
  272. package/src/themes/typ/gothic/texgyreadventor-regular.woff +0 -0
  273. package/src/themes/typ/gothic.css +0 -410
  274. package/src/themes/typ/newsprint/pt-serif-v11-latin-700.woff2 +0 -0
  275. package/src/themes/typ/newsprint/pt-serif-v11-latin-700italic.woff2 +0 -0
  276. package/src/themes/typ/newsprint/pt-serif-v11-latin-italic.woff2 +0 -0
  277. package/src/themes/typ/newsprint/pt-serif-v11-latin-regular.woff2 +0 -0
  278. package/src/themes/typ/newsprint.css +0 -622
  279. package/src/themes/typ/night/codeblock.dark.css +0 -113
  280. package/src/themes/typ/night/credit.html +0 -1
  281. package/src/themes/typ/night/cursor.png +0 -0
  282. package/src/themes/typ/night/cursor@2x.png +0 -0
  283. package/src/themes/typ/night/mermaid.dark.css +0 -7
  284. package/src/themes/typ/night/sourcemode.dark.css +0 -38
  285. package/src/themes/typ/night.css +0 -1032
  286. package/src/themes/typ/pixyll/lato-v14-latin-300.woff +0 -0
  287. package/src/themes/typ/pixyll/lato-v14-latin-300italic.woff +0 -0
  288. package/src/themes/typ/pixyll/lato-v14-latin-900.woff +0 -0
  289. package/src/themes/typ/pixyll/lato-v14-latin-900italic.woff +0 -0
  290. package/src/themes/typ/pixyll/merriweather-v19-latin-300.woff +0 -0
  291. package/src/themes/typ/pixyll/merriweather-v19-latin-300italic.woff +0 -0
  292. package/src/themes/typ/pixyll/merriweather-v19-latin-700.woff +0 -0
  293. package/src/themes/typ/pixyll/merriweather-v19-latin-700italic.woff +0 -0
  294. package/src/themes/typ/pixyll.css +0 -528
  295. package/src/themes/typ/whitey.css +0 -299
  296. /package/src/stories/Organisms/{Organisms.js → meta_Organisms.js} +0 -0
@@ -0,0 +1,28 @@
1
+
2
+ import { Flexbox } from './Flexbox';
3
+
4
+ // Storybook configuration for Flexbox component
5
+ export default {
6
+ title: 'Layouts/FlexboxLayout/Flexbox',
7
+ component: Flexbox,
8
+ parameters: {
9
+ layout: 'fullscreen',
10
+ },
11
+ argTypes: {
12
+ children: { control: 'text' },
13
+ },
14
+ };
15
+
16
+ export const Primary = {
17
+ args: {
18
+ primary: true,
19
+ children: 'This is a primary Flexbox layout.',
20
+ },
21
+ };
22
+
23
+ export const Secondary = {
24
+ args: {
25
+ primary: false,
26
+ children: 'This is a secondary Flexbox layout.',
27
+ },
28
+ };
@@ -0,0 +1,16 @@
1
+
2
+ .footer {
3
+ display: flex;
4
+ flex-wrap: wrap;
5
+ padding: 16px;
6
+ gap: 8px;
7
+ border: 1px solid #ddd;
8
+ }
9
+
10
+ .footer--primary {
11
+ background-color: #e3f2fd;
12
+ }
13
+
14
+ .footer--secondary {
15
+ background-color: #fff;
16
+ }
@@ -0,0 +1,31 @@
1
+
2
+ import React from 'react';
3
+ import PropTypes from 'prop-types';
4
+ import './Footer.css';
5
+
6
+ /**
7
+ * Footer layout component
8
+ */
9
+ export const Footer = ({ children, primary, ...props }) => {
10
+ const mode = primary ? 'footer--primary' : 'footer--secondary';
11
+ return (
12
+ <div className={['footer', mode].join(' ')} {...props}>
13
+ {children}
14
+ </div>
15
+ );
16
+ };
17
+
18
+ Footer.propTypes = {
19
+ /**
20
+ * Primary style for the layout
21
+ */
22
+ primary: PropTypes.bool,
23
+ /**
24
+ * Children components to be rendered inside the layout
25
+ */
26
+ children: PropTypes.node.isRequired,
27
+ };
28
+
29
+ Footer.defaultProps = {
30
+ primary: false,
31
+ };
@@ -0,0 +1,28 @@
1
+
2
+ import { Footer } from './Footer';
3
+
4
+ // Storybook configuration for Footer component
5
+ export default {
6
+ title: 'Layouts/NavigationAndMenus/Footer',
7
+ component: Footer,
8
+ parameters: {
9
+ layout: 'fullscreen',
10
+ },
11
+ argTypes: {
12
+ children: { control: 'text' },
13
+ },
14
+ };
15
+
16
+ export const Primary = {
17
+ args: {
18
+ primary: true,
19
+ children: 'This is a primary Footer layout.',
20
+ },
21
+ };
22
+
23
+ export const Secondary = {
24
+ args: {
25
+ primary: false,
26
+ children: 'This is a secondary Footer layout.',
27
+ },
28
+ };
@@ -0,0 +1,16 @@
1
+
2
+ .header {
3
+ display: flex;
4
+ flex-wrap: wrap;
5
+ padding: 16px;
6
+ gap: 8px;
7
+ border: 1px solid #ddd;
8
+ }
9
+
10
+ .header--primary {
11
+ background-color: #e3f2fd;
12
+ }
13
+
14
+ .header--secondary {
15
+ background-color: #fff;
16
+ }
@@ -0,0 +1,31 @@
1
+
2
+ import React from 'react';
3
+ import PropTypes from 'prop-types';
4
+ import './Header.css';
5
+
6
+ /**
7
+ * Header layout component
8
+ */
9
+ export const Header = ({ children, primary, ...props }) => {
10
+ const mode = primary ? 'header--primary' : 'header--secondary';
11
+ return (
12
+ <div className={['header', mode].join(' ')} {...props}>
13
+ {children}
14
+ </div>
15
+ );
16
+ };
17
+
18
+ Header.propTypes = {
19
+ /**
20
+ * Primary style for the layout
21
+ */
22
+ primary: PropTypes.bool,
23
+ /**
24
+ * Children components to be rendered inside the layout
25
+ */
26
+ children: PropTypes.node.isRequired,
27
+ };
28
+
29
+ Header.defaultProps = {
30
+ primary: false,
31
+ };
@@ -0,0 +1,28 @@
1
+
2
+ import { Header } from './Header';
3
+
4
+ // Storybook configuration for Header component
5
+ export default {
6
+ title: 'Layouts/NavigationAndMenus/Header',
7
+ component: Header,
8
+ parameters: {
9
+ layout: 'fullscreen',
10
+ },
11
+ argTypes: {
12
+ children: { control: 'text' },
13
+ },
14
+ };
15
+
16
+ export const Primary = {
17
+ args: {
18
+ primary: true,
19
+ children: 'This is a primary Header layout.',
20
+ },
21
+ };
22
+
23
+ export const Secondary = {
24
+ args: {
25
+ primary: false,
26
+ children: 'This is a secondary Header layout.',
27
+ },
28
+ };
@@ -0,0 +1,16 @@
1
+
2
+ .herobanner {
3
+ display: flex;
4
+ flex-wrap: wrap;
5
+ padding: 16px;
6
+ gap: 8px;
7
+ border: 1px solid #ddd;
8
+ }
9
+
10
+ .herobanner--primary {
11
+ background-color: #e3f2fd;
12
+ }
13
+
14
+ .herobanner--secondary {
15
+ background-color: #fff;
16
+ }
@@ -0,0 +1,31 @@
1
+
2
+ import React from 'react';
3
+ import PropTypes from 'prop-types';
4
+ import './HeroBanner.css';
5
+
6
+ /**
7
+ * HeroBanner layout component
8
+ */
9
+ export const HeroBanner = ({ children, primary, ...props }) => {
10
+ const mode = primary ? 'herobanner--primary' : 'herobanner--secondary';
11
+ return (
12
+ <div className={['herobanner', mode].join(' ')} {...props}>
13
+ {children}
14
+ </div>
15
+ );
16
+ };
17
+
18
+ HeroBanner.propTypes = {
19
+ /**
20
+ * Primary style for the layout
21
+ */
22
+ primary: PropTypes.bool,
23
+ /**
24
+ * Children components to be rendered inside the layout
25
+ */
26
+ children: PropTypes.node.isRequired,
27
+ };
28
+
29
+ HeroBanner.defaultProps = {
30
+ primary: false,
31
+ };
@@ -0,0 +1,28 @@
1
+
2
+ import { HeroBanner } from './HeroBanner';
3
+
4
+ // Storybook configuration for HeroBanner component
5
+ export default {
6
+ title: 'Layouts/HeroSections/HeroBanner',
7
+ component: HeroBanner,
8
+ parameters: {
9
+ layout: 'fullscreen',
10
+ },
11
+ argTypes: {
12
+ children: { control: 'text' },
13
+ },
14
+ };
15
+
16
+ export const Primary = {
17
+ args: {
18
+ primary: true,
19
+ children: 'This is a primary HeroBanner layout.',
20
+ },
21
+ };
22
+
23
+ export const Secondary = {
24
+ args: {
25
+ primary: false,
26
+ children: 'This is a secondary HeroBanner layout.',
27
+ },
28
+ };
@@ -0,0 +1,16 @@
1
+
2
+ .heroimagevideo {
3
+ display: flex;
4
+ flex-wrap: wrap;
5
+ padding: 16px;
6
+ gap: 8px;
7
+ border: 1px solid #ddd;
8
+ }
9
+
10
+ .heroimagevideo--primary {
11
+ background-color: #e3f2fd;
12
+ }
13
+
14
+ .heroimagevideo--secondary {
15
+ background-color: #fff;
16
+ }
@@ -0,0 +1,31 @@
1
+
2
+ import React from 'react';
3
+ import PropTypes from 'prop-types';
4
+ import './HeroImageVideo.css';
5
+
6
+ /**
7
+ * HeroImageVideo layout component
8
+ */
9
+ export const HeroImageVideo = ({ children, primary, ...props }) => {
10
+ const mode = primary ? 'heroimagevideo--primary' : 'heroimagevideo--secondary';
11
+ return (
12
+ <div className={['heroimagevideo', mode].join(' ')} {...props}>
13
+ {children}
14
+ </div>
15
+ );
16
+ };
17
+
18
+ HeroImageVideo.propTypes = {
19
+ /**
20
+ * Primary style for the layout
21
+ */
22
+ primary: PropTypes.bool,
23
+ /**
24
+ * Children components to be rendered inside the layout
25
+ */
26
+ children: PropTypes.node.isRequired,
27
+ };
28
+
29
+ HeroImageVideo.defaultProps = {
30
+ primary: false,
31
+ };
@@ -0,0 +1,28 @@
1
+
2
+ import { HeroImageVideo } from './HeroImageVideo';
3
+
4
+ // Storybook configuration for HeroImageVideo component
5
+ export default {
6
+ title: 'Layouts/HeroSections/HeroImageVideo',
7
+ component: HeroImageVideo,
8
+ parameters: {
9
+ layout: 'fullscreen',
10
+ },
11
+ argTypes: {
12
+ children: { control: 'text' },
13
+ },
14
+ };
15
+
16
+ export const Primary = {
17
+ args: {
18
+ primary: true,
19
+ children: 'This is a primary HeroImageVideo layout.',
20
+ },
21
+ };
22
+
23
+ export const Secondary = {
24
+ args: {
25
+ primary: false,
26
+ children: 'This is a secondary HeroImageVideo layout.',
27
+ },
28
+ };
@@ -0,0 +1,16 @@
1
+
2
+ .pagination {
3
+ display: flex;
4
+ flex-wrap: wrap;
5
+ padding: 16px;
6
+ gap: 8px;
7
+ border: 1px solid #ddd;
8
+ }
9
+
10
+ .pagination--primary {
11
+ background-color: #e3f2fd;
12
+ }
13
+
14
+ .pagination--secondary {
15
+ background-color: #fff;
16
+ }
@@ -0,0 +1,31 @@
1
+
2
+ import React from 'react';
3
+ import PropTypes from 'prop-types';
4
+ import './Pagination.css';
5
+
6
+ /**
7
+ * Pagination layout component
8
+ */
9
+ export const Pagination = ({ children, primary, ...props }) => {
10
+ const mode = primary ? 'pagination--primary' : 'pagination--secondary';
11
+ return (
12
+ <div className={['pagination', mode].join(' ')} {...props}>
13
+ {children}
14
+ </div>
15
+ );
16
+ };
17
+
18
+ Pagination.propTypes = {
19
+ /**
20
+ * Primary style for the layout
21
+ */
22
+ primary: PropTypes.bool,
23
+ /**
24
+ * Children components to be rendered inside the layout
25
+ */
26
+ children: PropTypes.node.isRequired,
27
+ };
28
+
29
+ Pagination.defaultProps = {
30
+ primary: false,
31
+ };
@@ -0,0 +1,28 @@
1
+
2
+ import { Pagination } from './Pagination';
3
+
4
+ // Storybook configuration for Pagination component
5
+ export default {
6
+ title: 'Layouts/NavigationAndMenus/Pagination',
7
+ component: Pagination,
8
+ parameters: {
9
+ layout: 'fullscreen',
10
+ },
11
+ argTypes: {
12
+ children: { control: 'text' },
13
+ },
14
+ };
15
+
16
+ export const Primary = {
17
+ args: {
18
+ primary: true,
19
+ children: 'This is a primary Pagination layout.',
20
+ },
21
+ };
22
+
23
+ export const Secondary = {
24
+ args: {
25
+ primary: false,
26
+ children: 'This is a secondary Pagination layout.',
27
+ },
28
+ };
@@ -0,0 +1,16 @@
1
+
2
+ .sidebar {
3
+ display: flex;
4
+ flex-wrap: wrap;
5
+ padding: 16px;
6
+ gap: 8px;
7
+ border: 1px solid #ddd;
8
+ }
9
+
10
+ .sidebar--primary {
11
+ background-color: #e3f2fd;
12
+ }
13
+
14
+ .sidebar--secondary {
15
+ background-color: #fff;
16
+ }
@@ -0,0 +1,71 @@
1
+ import React from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import './Sidebar.css';
4
+
5
+ export const Sidebar = ({
6
+ links = [], // Default value for links
7
+ logo = null, // Default value for logo
8
+ userControls = null, // Default value for userControls
9
+ styleOverrides = {}, // Default value for styleOverrides
10
+ }) => {
11
+ const style = {};
12
+
13
+ // Map of styleOverrides keys to CSS variable names
14
+ const cssVariableMap = {
15
+ sidebarBackgroundColor: '--sidebar-background-color',
16
+ sidebarBorderColor: '--sidebar-border-color',
17
+ sidebarPadding: '--sidebar-padding',
18
+ sidebarWidth: '--sidebar-width',
19
+ logoMarginBottom: '--sidebar-logo-margin-bottom',
20
+ itemMargin: '--sidebar-item-margin',
21
+ linkColor: '--sidebar-link-color',
22
+ linkPadding: '--sidebar-link-padding',
23
+ linkHoverBackgroundColor: '--sidebar-link-hover-background-color',
24
+ linkHoverBorderRadius: '--sidebar-link-hover-border-radius',
25
+ controlsMarginTop: '--sidebar-controls-margin-top',
26
+ };
27
+
28
+ // Set CSS variables based on styleOverrides
29
+ Object.keys(styleOverrides).forEach((key) => {
30
+ const cssVar = cssVariableMap[key];
31
+ if (cssVar) {
32
+ style[cssVar] = styleOverrides[key];
33
+ }
34
+ });
35
+
36
+ return (
37
+ <aside className="sidebar" style={style}>
38
+ <div className="sidebar__logo">
39
+ {logo}
40
+ </div>
41
+ <ul className="sidebar__links">
42
+ {links.map((link, index) => (
43
+ <li key={index} className="sidebar__item">
44
+ <a
45
+ href={link.url}
46
+ className={`sidebar__link ${link.isActive ? 'sidebar__link--active' : ''}`}
47
+ >
48
+ {link.label}
49
+ </a>
50
+ </li>
51
+ ))}
52
+ </ul>
53
+ <div className="sidebar__controls">
54
+ {userControls}
55
+ </div>
56
+ </aside>
57
+ );
58
+ };
59
+
60
+ Sidebar.propTypes = {
61
+ links: PropTypes.arrayOf(
62
+ PropTypes.shape({
63
+ url: PropTypes.string.isRequired,
64
+ label: PropTypes.string.isRequired,
65
+ isActive: PropTypes.bool,
66
+ })
67
+ ),
68
+ logo: PropTypes.node,
69
+ userControls: PropTypes.node,
70
+ styleOverrides: PropTypes.object,
71
+ };
@@ -0,0 +1,28 @@
1
+
2
+ import { Sidebar } from './Sidebar';
3
+
4
+ // Storybook configuration for Sidebar component
5
+ export default {
6
+ title: 'Layouts/ContentOrganization/Sidebar',
7
+ component: Sidebar,
8
+ parameters: {
9
+ layout: 'fullscreen',
10
+ },
11
+ argTypes: {
12
+ children: { control: 'text' },
13
+ },
14
+ };
15
+
16
+ export const Primary = {
17
+ args: {
18
+ primary: true,
19
+ children: 'This is a primary Sidebar layout.',
20
+ },
21
+ };
22
+
23
+ export const Secondary = {
24
+ args: {
25
+ primary: false,
26
+ children: 'This is a secondary Sidebar layout.',
27
+ },
28
+ };
@@ -0,0 +1,16 @@
1
+
2
+ .tabs {
3
+ display: flex;
4
+ flex-wrap: wrap;
5
+ padding: 16px;
6
+ gap: 8px;
7
+ border: 1px solid #ddd;
8
+ }
9
+
10
+ .tabs--primary {
11
+ background-color: #e3f2fd;
12
+ }
13
+
14
+ .tabs--secondary {
15
+ background-color: #fff;
16
+ }
@@ -0,0 +1,31 @@
1
+
2
+ import React from 'react';
3
+ import PropTypes from 'prop-types';
4
+ import './Tabs.css';
5
+
6
+ /**
7
+ * Tabs layout component
8
+ */
9
+ export const Tabs = ({ children, primary, ...props }) => {
10
+ const mode = primary ? 'tabs--primary' : 'tabs--secondary';
11
+ return (
12
+ <div className={['tabs', mode].join(' ')} {...props}>
13
+ {children}
14
+ </div>
15
+ );
16
+ };
17
+
18
+ Tabs.propTypes = {
19
+ /**
20
+ * Primary style for the layout
21
+ */
22
+ primary: PropTypes.bool,
23
+ /**
24
+ * Children components to be rendered inside the layout
25
+ */
26
+ children: PropTypes.node.isRequired,
27
+ };
28
+
29
+ Tabs.defaultProps = {
30
+ primary: false,
31
+ };
@@ -0,0 +1,28 @@
1
+
2
+ import { Tabs } from './Tabs';
3
+
4
+ // Storybook configuration for Tabs component
5
+ export default {
6
+ title: 'Layouts/ContentOrganization/Tabs',
7
+ component: Tabs,
8
+ parameters: {
9
+ layout: 'fullscreen',
10
+ },
11
+ argTypes: {
12
+ children: { control: 'text' },
13
+ },
14
+ };
15
+
16
+ export const Primary = {
17
+ args: {
18
+ primary: true,
19
+ children: 'This is a primary Tabs layout.',
20
+ },
21
+ };
22
+
23
+ export const Secondary = {
24
+ args: {
25
+ primary: false,
26
+ children: 'This is a secondary Tabs layout.',
27
+ },
28
+ };
@@ -0,0 +1,25 @@
1
+ // this.GUI/src/stories/Layouts/index.js
2
+ import { Flexbox } from './Flexbox/Flexbox';
3
+ import { Header } from './Header/Header';
4
+ import { Footer } from './Footer/Footer';
5
+ import { Pagination } from './Pagination/Pagination';
6
+ import { Sidebar } from './Sidebar/Sidebar';
7
+ import { Tabs } from './Tabs/Tabs';
8
+ import { Accordion } from './Accordion/Accordion';
9
+ import { HeroBanner } from './HeroBanner/HeroBanner';
10
+ import { HeroImageVideo } from './HeroImageVideo/HeroImageVideo';
11
+
12
+ // Flattened export of all layout components
13
+ const Layouts = {
14
+ Flexbox,
15
+ Header,
16
+ Footer,
17
+ Pagination,
18
+ Sidebar,
19
+ Tabs,
20
+ Accordion,
21
+ HeroBanner,
22
+ HeroImageVideo,
23
+ };
24
+
25
+ export default Layouts;
@@ -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
+ "FlexboxLayout": [
7
+ { name: "Flexbox", paths: { css: "./Flexbox/Flexbox.css", globalCss: "styles/global.css", jsx: "./Layout/Flexbox/Flexbox.jsx", stories: "src/stories/Layout/Flexbox/Flexbox.stories.jsx" }},
8
+ ],
9
+ "NavigationAndMenus": [
10
+ { name: "Header", paths: { css: "./Header/Header.css", globalCss: "styles/global.css", jsx: "./Layout/Header/Header.jsx", stories: "src/stories/Layout/Header/Header.stories.jsx" }},
11
+ { name: "Footer", paths: { css: "./Footer/Footer.css", globalCss: "styles/global.css", jsx: "./Layout/Footer/Footer.jsx", stories: "src/stories/Layout/Footer/Footer.stories.jsx" }},
12
+ { name: "Dropdown", paths: { css: "./Dropdown/Dropdown.css", globalCss: "styles/global.css", jsx: "./Layout/Dropdown/Dropdown.jsx", stories: "src/stories/Layout/Dropdown/Dropdown.stories.jsx" }},
13
+ { name: "Pagination", paths: { css: "./Pagination/Pagination.css", globalCss: "styles/global.css", jsx: "./Layout/Pagination/Pagination.jsx", stories: "src/stories/Layout/Pagination/Pagination.stories.jsx" }},
14
+ ],
15
+ "Organization": [
16
+ { name: "Sidebar", paths: { css: "./Sidebar/Sidebar.css", globalCss: "styles/global.css", jsx: "./Layout/Sidebar/Sidebar.jsx", stories: "src/stories/Layout/Sidebar/Sidebar.stories.jsx" }},
17
+ { name: "Tabs", paths: { css: "./Tabs/Tabs.css", globalCss: "styles/global.css", jsx: "./Layout/Tabs/Tabs.jsx", stories: "src/stories/Layout/Tabs/Tabs.stories.jsx" }},
18
+ { name: "Accordion", paths: { css: "./Accordion/Accordion.css", globalCss: "styles/global.css", jsx: "./Layout/Accordion/Accordion.jsx", stories: "src/stories/Layout/Accordion/Accordion.stories.jsx" }},
19
+ ],
20
+ "HeroSections": [
21
+ { name: "HeroBanner", paths: { css: "./HeroBanner/HeroBanner.css", globalCss: "styles/global.css", jsx: "./Layout/HeroBanner/HeroBanner.jsx", stories: "src/stories/Layout/HeroBanner/HeroBanner.stories.jsx" }},
22
+ { name: "HeroImageVideo", paths: { css: "./HeroImageVideo/HeroImageVideo.css", globalCss: "styles/global.css", jsx: "./Layout/HeroImageVideo/HeroImageVideo.jsx", stories: "src/stories/Layout/HeroImageVideo/HeroImageVideo.stories.jsx" }},
23
+ ]
24
+ }
25
+ };
26
+
27
+ // Export the Layout object
28
+ export default Layout;
@@ -1,4 +1,4 @@
1
-
1
+ /*this.GUI/src/stories/Molecules/Accordion/Accordion.css*/
2
2
  .accordion {
3
3
  /* Default styles for Accordion */
4
4
  }