this.gui 1.0.18 → 1.1.0

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 (480) hide show
  1. package/.storybook/main.js +40 -0
  2. package/.storybook/manager-head.html +13 -0
  3. package/.storybook/manager.js +15 -0
  4. package/.storybook/preview.tsx +54 -0
  5. package/.storybook/vitest.setup.js +6 -0
  6. package/.storybook/withLayout.tsx +18 -0
  7. package/README.md +1 -220
  8. package/dist/GUI.png +0 -0
  9. package/dist/GUI2.png +0 -0
  10. package/dist/favicon.ico +0 -0
  11. package/dist/this-gui.es.js +108493 -5056
  12. package/dist/this-gui.umd.js +239 -44
  13. package/dist/this.GUI.png +0 -0
  14. package/nodes/overall approach.md +93 -0
  15. package/notes/Proyect.md +109 -0
  16. package/package.json +71 -54
  17. package/public/GUI.png +0 -0
  18. package/public/GUI2.png +0 -0
  19. package/public/favicon.ico +0 -0
  20. package/public/this.GUI.png +0 -0
  21. package/src/components/generics/Cards/Gridme.jsx +52 -0
  22. package/src/components/generics/Cards/LilBox.jsx +65 -0
  23. package/src/components/generics/Cards/ModuleCard.jsx +106 -0
  24. package/src/components/generics/Chats/FullChatBot.jsx +223 -0
  25. package/src/components/generics/Code/CodeBlock.jsx +33 -0
  26. package/src/components/generics/Feedback/Callout.jsx +92 -0
  27. package/src/components/generics/Layout/GridX.jsx +29 -0
  28. package/src/components/generics/Layout/Hero2.jsx +132 -0
  29. package/src/components/generics/Layout/PageContainer.jsx +29 -0
  30. package/src/components/generics/Layout/PageDivider.jsx +20 -0
  31. package/src/components/generics/Layout/Section.jsx +43 -0
  32. package/src/components/generics/Layout/SectionHeader.jsx +21 -0
  33. package/src/components/generics/Media/Img.jsx +58 -0
  34. package/src/components/generics/Media/VideoEmbed.jsx +51 -0
  35. package/src/components/generics/Organization/TableOfContents.jsx +51 -0
  36. package/src/components/generics/Organization/Tabs.jsx +45 -0
  37. package/src/components/generics/Text/TextList.jsx +41 -0
  38. package/src/components/generics/Text/TextParagraph.jsx +28 -0
  39. package/src/components/generics/Text/TextQuote.jsx +23 -0
  40. package/src/components/generics/Text/TextTitle.jsx +44 -0
  41. package/src/components/this.me/MeActive.jsx +24 -0
  42. package/src/components/this.me/MeFloating.jsx +183 -0
  43. package/src/components/this.me/MeInactive.jsx +21 -0
  44. package/src/components/this.me/MeListUs.jsx +40 -0
  45. package/src/components/this.me/MeState.jsx +25 -0
  46. package/src/components/this.me/hooks/useMe.js +43 -0
  47. package/src/context/GuiProvider.tsx +243 -0
  48. package/src/gui/atoms/AppBar/AppBar.resolver.tsx +77 -0
  49. package/src/gui/atoms/AppBar/AppBar.stories.tsx +232 -0
  50. package/src/gui/atoms/AppBar/AppBar.tsx +10 -0
  51. package/src/gui/atoms/Box/Box.resolver.tsx +171 -0
  52. package/src/gui/atoms/Box/Box.stories.tsx +271 -0
  53. package/src/gui/atoms/Box/Box.tsx +15 -0
  54. package/src/gui/atoms/Button/Button.resolver.tsx +98 -0
  55. package/src/gui/atoms/Button/Button.stories.tsx +225 -0
  56. package/src/gui/atoms/Button/Button.tsx +40 -0
  57. package/src/gui/atoms/Collapse/Collapse.resolver.tsx +85 -0
  58. package/src/gui/atoms/Collapse/Collapse.stories.tsx +136 -0
  59. package/src/gui/atoms/Collapse/Collapse.tsx +17 -0
  60. package/src/gui/atoms/Divider/Divider.resolver.tsx +95 -0
  61. package/src/gui/atoms/Divider/Divider.stories.tsx +109 -0
  62. package/src/gui/atoms/Divider/Divider.tsx +14 -0
  63. package/src/gui/atoms/Drawer/Drawer.resolver.tsx +116 -0
  64. package/src/gui/atoms/Drawer/Drawer.stories.tsx +229 -0
  65. package/src/gui/atoms/Drawer/Drawer.tsx +8 -0
  66. package/src/gui/atoms/IconButton/IconButton.resolver.tsx +135 -0
  67. package/src/gui/atoms/IconButton/IconButton.stories.tsx +141 -0
  68. package/src/gui/atoms/IconButton/IconButton.tsx +22 -0
  69. package/src/gui/atoms/Link/Link.resolver.tsx +75 -0
  70. package/src/gui/atoms/Link/Link.stories.tsx +164 -0
  71. package/src/gui/atoms/Link/Link.tsx +14 -0
  72. package/src/gui/atoms/List/List.resolver.tsx +95 -0
  73. package/src/gui/atoms/List/List.stories.tsx +143 -0
  74. package/src/gui/atoms/List/List.tsx +20 -0
  75. package/src/gui/atoms/ListItem/ListItem.resolver.tsx +88 -0
  76. package/src/gui/atoms/ListItem/ListItem.stories.tsx +157 -0
  77. package/src/gui/atoms/ListItem/ListItem.tsx +19 -0
  78. package/src/gui/atoms/ListItemButton/ListItemButton.resolver.tsx +208 -0
  79. package/src/gui/atoms/ListItemButton/ListItemButton.stories.tsx +161 -0
  80. package/src/gui/atoms/ListItemButton/ListItemButton.tsx +15 -0
  81. package/src/gui/atoms/ListItemIcon/ListItemIcon.resolver.tsx +102 -0
  82. package/src/gui/atoms/ListItemIcon/ListItemIcon.stories.tsx +135 -0
  83. package/src/gui/atoms/ListItemIcon/ListItemIcon.tsx +11 -0
  84. package/src/gui/atoms/ListItemText/ListItemText.resolver.tsx +112 -0
  85. package/src/gui/atoms/ListItemText/ListItemText.stories.tsx +162 -0
  86. package/src/gui/atoms/ListItemText/ListItemText.tsx +15 -0
  87. package/src/gui/atoms/Menu/Menu.resolver.tsx +112 -0
  88. package/src/gui/atoms/Menu/Menu.stories.tsx +168 -0
  89. package/src/gui/atoms/Menu/Menu.tsx +17 -0
  90. package/src/gui/atoms/MenuItem/MenuItem.resolver.tsx +183 -0
  91. package/src/gui/atoms/MenuItem/MenuItem.stories.tsx +138 -0
  92. package/src/gui/atoms/MenuItem/MenuItem.tsx +14 -0
  93. package/src/gui/atoms/Paper/Paper.resolver.tsx +98 -0
  94. package/src/gui/atoms/Paper/Paper.stories.tsx +191 -0
  95. package/src/gui/atoms/Paper/Paper.tsx +17 -0
  96. package/src/gui/atoms/Stack/Stack.resolver.tsx +94 -0
  97. package/src/gui/atoms/Stack/Stack.stories.tsx +166 -0
  98. package/src/gui/atoms/Stack/Stack.tsx +15 -0
  99. package/src/gui/atoms/Switch/Switch.resolver.tsx +53 -0
  100. package/src/gui/atoms/Switch/Switch.stories.tsx +242 -0
  101. package/src/gui/atoms/Switch/Switch.tsx +22 -0
  102. package/src/gui/atoms/Toolbar/Toolbar.resolver.tsx +60 -0
  103. package/src/gui/atoms/Toolbar/Toolbar.stories.tsx +163 -0
  104. package/src/gui/atoms/Toolbar/Toolbar.tsx +16 -0
  105. package/src/gui/atoms/Tooltip/Tooltip.resolver.tsx +142 -0
  106. package/src/gui/atoms/Tooltip/Tooltip.stories.tsx +118 -0
  107. package/src/gui/atoms/Tooltip/Tooltip.tsx +78 -0
  108. package/src/gui/atoms/Typography/Typography.resolver.tsx +158 -0
  109. package/src/gui/atoms/Typography/Typography.stories.tsx +228 -0
  110. package/src/gui/atoms/Typography/Typography.tsx +27 -0
  111. package/src/gui/atoms.tsx +129 -0
  112. package/src/gui/index.ts +69 -0
  113. package/src/gui/molecules/AppBars/Footer/Footer.resolver.tsx +104 -0
  114. package/src/gui/molecules/AppBars/Footer/Footer.stories.tsx +499 -0
  115. package/src/gui/molecules/AppBars/Footer/Footer.tsx +307 -0
  116. package/src/gui/molecules/AppBars/LeftSidebar/LeftSidebar.resolver.tsx +75 -0
  117. package/src/gui/molecules/AppBars/LeftSidebar/LeftSidebar.stories.tsx +61 -0
  118. package/src/gui/molecules/AppBars/LeftSidebar/LeftSidebar.tsx +511 -0
  119. package/src/gui/molecules/AppBars/LeftSidebar/SidebarToggleButton.tsx +51 -0
  120. package/src/gui/molecules/AppBars/RightSidebar/RightSidebar.resolver.tsx +97 -0
  121. package/src/gui/molecules/AppBars/RightSidebar/RightSidebar.stories.tsx +294 -0
  122. package/src/gui/molecules/AppBars/RightSidebar/RightSidebar.tsx +295 -0
  123. package/src/gui/molecules/AppBars/StickyOptions/StickyOptionsTop.stories.tsx +480 -0
  124. package/src/gui/molecules/AppBars/StickyOptions/StickyOptionsTop.tsx +484 -0
  125. package/src/gui/molecules/AppBars/TopBar/TopBar.resolver.tsx +84 -0
  126. package/src/gui/molecules/AppBars/TopBar/TopBar.stories.tsx +297 -0
  127. package/src/gui/molecules/AppBars/TopBar/TopBar.tsx +299 -0
  128. package/src/gui/molecules/Utilities/ThemeModeToggle/ThemeModeToggle.resolver.tsx +72 -0
  129. package/src/gui/molecules/Utilities/ThemeModeToggle/ThemeModeToggle.stories.tsx +154 -0
  130. package/src/gui/molecules/Utilities/ThemeModeToggle/ThemeModeToggle.tsx +100 -0
  131. package/src/gui/molecules/Utilities/ThemeSelector.jsx +281 -0
  132. package/src/gui/utils/nodeID.ts +8 -0
  133. package/src/index.js +111 -0
  134. package/src/registry/GuiRegistry.ts +19 -0
  135. package/src/registry/factory.ts +12 -0
  136. package/src/registry/index.ts +3 -0
  137. package/src/registry/types.ts +6 -0
  138. package/src/stories/01.Home.mdx +22 -0
  139. package/src/stories/02.Understanding.This.GUI.md +149 -0
  140. package/src/stories/03.Themes.mdx +235 -0
  141. package/src/stories/04.GuiProvider.md +126 -0
  142. package/src/stories/04.GuiProvider.mdx +129 -0
  143. package/src/stories/Theme/BreakPointsAndGrids.stories.jsx +185 -0
  144. package/src/stories/Theme/Colors.stories.jsx +245 -0
  145. package/src/stories/Theme/Icons.stories.jsx +313 -0
  146. package/src/stories/Theme/Motion.stories.jsx +206 -0
  147. package/src/stories/Theme/ShadowAndElevation.stories.jsx +95 -0
  148. package/src/stories/Theme/SpacingAndRadius.stories.jsx +129 -0
  149. package/src/stories/Theme/Typography.stories.jsx +211 -0
  150. package/src/stories/assets/this.GUI.png +0 -0
  151. package/src/templates/BrowserExtension.jsx +56 -0
  152. package/src/templates/Layout.tsx +36 -0
  153. package/src/templates/Minimal.jsx +123 -0
  154. package/src/templates/Shell/Shell.jsx +107 -0
  155. package/src/themes/fromTokens.ts +352 -0
  156. package/src/themes/icons/Icon.tsx +137 -0
  157. package/src/themes/icons/packs/Lucide.ts +72 -0
  158. package/src/themes/icons/packs/Material.ts +87 -0
  159. package/src/themes/icons/registry.tsx +178 -0
  160. package/src/themes/index.js +116 -0
  161. package/src/themes/theme.d.ts +116 -0
  162. package/src/themes/tokens/global.tokens.json +107 -0
  163. package/src/themes/tokens/neurons/dark.tokens.json +45 -0
  164. package/src/themes/tokens/neurons/light.tokens.json +51 -0
  165. package/src/themes/tokens/neurons/manifest.json +23 -0
  166. package/src/types/theme.d.ts +32 -0
  167. package/src/types/viewport.ts +132 -0
  168. package/tsconfig.json +24 -0
  169. package/vite.config.js +74 -0
  170. package/dist/style.css +0 -1
  171. package/src/App.jsx +0 -39
  172. package/src/CreatePage.jsx +0 -61
  173. package/src/MDXEditor.jsx +0 -51
  174. package/src/MdxProvider.jsx +0 -20
  175. package/src/Page.jsx +0 -28
  176. package/src/PageDashboard.jsx +0 -56
  177. package/src/SiteBuilder.jsx +0 -108
  178. package/src/example.json +0 -43
  179. package/src/index.mdx +0 -164
  180. package/src/main.jsx +0 -15
  181. package/src/scripts/ComponentRegistry.js +0 -70
  182. package/src/scripts/logASCIIArt.js +0 -12
  183. package/src/scripts/postinstall.js +0 -111
  184. package/src/scripts/renderComponents.js +0 -11
  185. package/src/stories/Atoms/Alert/Alert.css +0 -211
  186. package/src/stories/Atoms/Alert/Alert.jsx +0 -56
  187. package/src/stories/Atoms/Alert/Alert.stories.jsx +0 -167
  188. package/src/stories/Atoms/Audio/Audio.css +0 -259
  189. package/src/stories/Atoms/Audio/Audio.jsx +0 -216
  190. package/src/stories/Atoms/Audio/Audio.stories.jsx +0 -191
  191. package/src/stories/Atoms/Badge/Badge.css +0 -249
  192. package/src/stories/Atoms/Badge/Badge.jsx +0 -54
  193. package/src/stories/Atoms/Badge/Badge.stories.jsx +0 -121
  194. package/src/stories/Atoms/Button/Button.css +0 -332
  195. package/src/stories/Atoms/Button/Button.jsx +0 -44
  196. package/src/stories/Atoms/Button/Button.stories.jsx +0 -209
  197. package/src/stories/Atoms/Caption/Caption.css +0 -169
  198. package/src/stories/Atoms/Caption/Caption.jsx +0 -72
  199. package/src/stories/Atoms/Caption/Caption.stories.jsx +0 -207
  200. package/src/stories/Atoms/Checkbox/Checkbox.css +0 -182
  201. package/src/stories/Atoms/Checkbox/Checkbox.jsx +0 -83
  202. package/src/stories/Atoms/Checkbox/Checkbox.stories.jsx +0 -112
  203. package/src/stories/Atoms/Container/Container.css +0 -470
  204. package/src/stories/Atoms/Container/Container.jsx +0 -116
  205. package/src/stories/Atoms/Container/Container.stories.jsx +0 -145
  206. package/src/stories/Atoms/Divider/Divider.css +0 -147
  207. package/src/stories/Atoms/Divider/Divider.jsx +0 -62
  208. package/src/stories/Atoms/Divider/Divider.stories.jsx +0 -105
  209. package/src/stories/Atoms/Grid/Grid.css +0 -160
  210. package/src/stories/Atoms/Grid/Grid.jsx +0 -43
  211. package/src/stories/Atoms/Grid/Grid.stories.jsx +0 -84
  212. package/src/stories/Atoms/Heading/Heading.css +0 -112
  213. package/src/stories/Atoms/Heading/Heading.jsx +0 -69
  214. package/src/stories/Atoms/Heading/Heading.stories.jsx +0 -130
  215. package/src/stories/Atoms/Icon/Icon.css +0 -240
  216. package/src/stories/Atoms/Icon/Icon.jsx +0 -80
  217. package/src/stories/Atoms/Icon/Icon.stories.jsx +0 -177
  218. package/src/stories/Atoms/Image/Image.css +0 -245
  219. package/src/stories/Atoms/Image/Image.jsx +0 -175
  220. package/src/stories/Atoms/Image/Image.stories.jsx +0 -332
  221. package/src/stories/Atoms/Label/Label.css +0 -171
  222. package/src/stories/Atoms/Label/Label.jsx +0 -71
  223. package/src/stories/Atoms/Label/Label.stories.jsx +0 -180
  224. package/src/stories/Atoms/Link/Link.css +0 -51
  225. package/src/stories/Atoms/Link/Link.jsx +0 -72
  226. package/src/stories/Atoms/Link/Link.stories.jsx +0 -153
  227. package/src/stories/Atoms/Loader/Loader.css +0 -106
  228. package/src/stories/Atoms/Loader/Loader.jsx +0 -58
  229. package/src/stories/Atoms/Loader/Loader.stories.jsx +0 -99
  230. package/src/stories/Atoms/Logo/Logo.css +0 -94
  231. package/src/stories/Atoms/Logo/Logo.jsx +0 -53
  232. package/src/stories/Atoms/Logo/Logo.stories.jsx +0 -120
  233. package/src/stories/Atoms/Paragraph/Paragraph.css +0 -180
  234. package/src/stories/Atoms/Paragraph/Paragraph.jsx +0 -77
  235. package/src/stories/Atoms/Paragraph/Paragraph.stories.jsx +0 -143
  236. package/src/stories/Atoms/ProgressBar/ProgressBar.css +0 -127
  237. package/src/stories/Atoms/ProgressBar/ProgressBar.jsx +0 -40
  238. package/src/stories/Atoms/ProgressBar/ProgressBar.stories.jsx +0 -86
  239. package/src/stories/Atoms/RadioButton/RadioButton.css +0 -130
  240. package/src/stories/Atoms/RadioButton/RadioButton.jsx +0 -87
  241. package/src/stories/Atoms/RadioButton/RadioButton.stories.jsx +0 -113
  242. package/src/stories/Atoms/Range/Range.css +0 -169
  243. package/src/stories/Atoms/Range/Range.jsx +0 -87
  244. package/src/stories/Atoms/Range/Range.stories.jsx +0 -110
  245. package/src/stories/Atoms/Section/Section.css +0 -268
  246. package/src/stories/Atoms/Section/Section.jsx +0 -63
  247. package/src/stories/Atoms/Section/Section.stories.jsx +0 -46
  248. package/src/stories/Atoms/Select/Select.css +0 -87
  249. package/src/stories/Atoms/Select/Select.jsx +0 -73
  250. package/src/stories/Atoms/Select/Select.stories.jsx +0 -109
  251. package/src/stories/Atoms/Slider/Slider.css +0 -90
  252. package/src/stories/Atoms/Slider/Slider.jsx +0 -129
  253. package/src/stories/Atoms/Slider/Slider.stories.jsx +0 -90
  254. package/src/stories/Atoms/Snackbar/Snackbar.css +0 -313
  255. package/src/stories/Atoms/Snackbar/Snackbar.jsx +0 -72
  256. package/src/stories/Atoms/Snackbar/Snackbar.stories.jsx +0 -78
  257. package/src/stories/Atoms/Spacer/Spacer.css +0 -114
  258. package/src/stories/Atoms/Spacer/Spacer.jsx +0 -35
  259. package/src/stories/Atoms/Spacer/Spacer.stories.jsx +0 -61
  260. package/src/stories/Atoms/Spinner/Spinner.css +0 -110
  261. package/src/stories/Atoms/Spinner/Spinner.jsx +0 -65
  262. package/src/stories/Atoms/Spinner/Spinner.stories.jsx +0 -58
  263. package/src/stories/Atoms/Tag/Tag.css +0 -112
  264. package/src/stories/Atoms/Tag/Tag.jsx +0 -75
  265. package/src/stories/Atoms/Tag/Tag.stories.jsx +0 -67
  266. package/src/stories/Atoms/TextArea/TextArea.css +0 -99
  267. package/src/stories/Atoms/TextArea/TextArea.jsx +0 -118
  268. package/src/stories/Atoms/TextArea/TextArea.stories.jsx +0 -36
  269. package/src/stories/Atoms/TextInput/TextInput.css +0 -102
  270. package/src/stories/Atoms/TextInput/TextInput.jsx +0 -133
  271. package/src/stories/Atoms/TextInput/TextInput.stories.jsx +0 -69
  272. package/src/stories/Atoms/Toggle/Toggle.css +0 -118
  273. package/src/stories/Atoms/Toggle/Toggle.jsx +0 -69
  274. package/src/stories/Atoms/Toggle/Toggle.stories.jsx +0 -35
  275. package/src/stories/Atoms/Tooltip/Tooltip.css +0 -383
  276. package/src/stories/Atoms/Tooltip/Tooltip.jsx +0 -46
  277. package/src/stories/Atoms/Tooltip/Tooltip.stories.jsx +0 -52
  278. package/src/stories/Atoms/Video/Video.css +0 -39
  279. package/src/stories/Atoms/Video/Video.jsx +0 -78
  280. package/src/stories/Atoms/Video/Video.stories.jsx +0 -41
  281. package/src/stories/Atoms/index.js +0 -72
  282. package/src/stories/Atoms/meta_Atoms.js +0 -51
  283. package/src/stories/Components.js +0 -198
  284. package/src/stories/Getting Started.mdx +0 -239
  285. package/src/stories/Layouts/Accordion/Accordion.css +0 -293
  286. package/src/stories/Layouts/Accordion/Accordion.jsx +0 -74
  287. package/src/stories/Layouts/Accordion/Accordion.stories.jsx +0 -39
  288. package/src/stories/Layouts/Flexbox/Flexbox.css +0 -16
  289. package/src/stories/Layouts/Flexbox/Flexbox.jsx +0 -11
  290. package/src/stories/Layouts/Flexbox/Flexbox.stories.jsx +0 -28
  291. package/src/stories/Layouts/Footer/Footer.css +0 -16
  292. package/src/stories/Layouts/Footer/Footer.jsx +0 -31
  293. package/src/stories/Layouts/Footer/Footer.stories.jsx +0 -28
  294. package/src/stories/Layouts/Header/Header.css +0 -16
  295. package/src/stories/Layouts/Header/Header.jsx +0 -31
  296. package/src/stories/Layouts/Header/Header.stories.jsx +0 -28
  297. package/src/stories/Layouts/HeroBanner/HeroBanner.css +0 -16
  298. package/src/stories/Layouts/HeroBanner/HeroBanner.jsx +0 -31
  299. package/src/stories/Layouts/HeroBanner/HeroBanner.stories.jsx +0 -28
  300. package/src/stories/Layouts/HeroImageVideo/HeroImageVideo.css +0 -16
  301. package/src/stories/Layouts/HeroImageVideo/HeroImageVideo.jsx +0 -31
  302. package/src/stories/Layouts/HeroImageVideo/HeroImageVideo.stories.jsx +0 -28
  303. package/src/stories/Layouts/Pagination/Pagination.css +0 -16
  304. package/src/stories/Layouts/Pagination/Pagination.jsx +0 -31
  305. package/src/stories/Layouts/Pagination/Pagination.stories.jsx +0 -28
  306. package/src/stories/Layouts/Sidebar/Sidebar.css +0 -16
  307. package/src/stories/Layouts/Sidebar/Sidebar.jsx +0 -71
  308. package/src/stories/Layouts/Sidebar/Sidebar.stories.jsx +0 -28
  309. package/src/stories/Layouts/Tabs/Tabs.css +0 -16
  310. package/src/stories/Layouts/Tabs/Tabs.jsx +0 -31
  311. package/src/stories/Layouts/Tabs/Tabs.stories.jsx +0 -28
  312. package/src/stories/Layouts/index.js +0 -25
  313. package/src/stories/Layouts/meta_Layouts.js +0 -28
  314. package/src/stories/MDX.mdx +0 -118
  315. package/src/stories/Miscellaneous/Miscellaneous.js +0 -24
  316. package/src/stories/Molecules/Accordion/Accordion.css +0 -4
  317. package/src/stories/Molecules/Accordion/Accordion.jsx +0 -25
  318. package/src/stories/Molecules/Accordion/Accordion.stories.jsx +0 -20
  319. package/src/stories/Molecules/AudioPlayer/AudioPlayer.css +0 -97
  320. package/src/stories/Molecules/AudioPlayer/AudioPlayer.jsx +0 -244
  321. package/src/stories/Molecules/AudioPlayer/AudioPlayer.stories.jsx +0 -55
  322. package/src/stories/Molecules/AvatarWithName/AvatarWithName.css +0 -130
  323. package/src/stories/Molecules/AvatarWithName/AvatarWithName.jsx +0 -80
  324. package/src/stories/Molecules/AvatarWithName/AvatarWithName.stories.jsx +0 -20
  325. package/src/stories/Molecules/Breadcrumbs/Breadcrumbs.css +0 -147
  326. package/src/stories/Molecules/Breadcrumbs/Breadcrumbs.jsx +0 -51
  327. package/src/stories/Molecules/Breadcrumbs/Breadcrumbs.stories.jsx +0 -36
  328. package/src/stories/Molecules/ButtonGroup/ButtonGroup.css +0 -465
  329. package/src/stories/Molecules/ButtonGroup/ButtonGroup.jsx +0 -47
  330. package/src/stories/Molecules/ButtonGroup/ButtonGroup.stories.jsx +0 -44
  331. package/src/stories/Molecules/Card/Card.css +0 -41
  332. package/src/stories/Molecules/Card/Card.jsx +0 -92
  333. package/src/stories/Molecules/Card/Card.stories.jsx +0 -34
  334. package/src/stories/Molecules/ComparisonTable/ComparisonTable.css +0 -35
  335. package/src/stories/Molecules/ComparisonTable/ComparisonTable.jsx +0 -104
  336. package/src/stories/Molecules/ComparisonTable/ComparisonTable.stories.jsx +0 -81
  337. package/src/stories/Molecules/DataTable/DataTable.css +0 -4
  338. package/src/stories/Molecules/DataTable/DataTable.jsx +0 -25
  339. package/src/stories/Molecules/DataTable/DataTable.stories.jsx +0 -20
  340. package/src/stories/Molecules/Dropdown/Dropdown.css +0 -192
  341. package/src/stories/Molecules/Dropdown/Dropdown.jsx +0 -96
  342. package/src/stories/Molecules/Dropdown/Dropdown.stories.jsx +0 -45
  343. package/src/stories/Molecules/FileUpload/FileUpload.css +0 -4
  344. package/src/stories/Molecules/FileUpload/FileUpload.jsx +0 -25
  345. package/src/stories/Molecules/FileUpload/FileUpload.stories.jsx +0 -20
  346. package/src/stories/Molecules/FormField/FormField.css +0 -4
  347. package/src/stories/Molecules/FormField/FormField.jsx +0 -25
  348. package/src/stories/Molecules/FormField/FormField.stories.jsx +0 -20
  349. package/src/stories/Molecules/Header/Header.css +0 -35
  350. package/src/stories/Molecules/Header/Header.jsx +0 -76
  351. package/src/stories/Molecules/Header/Header.stories.jsx +0 -28
  352. package/src/stories/Molecules/IconButton/IconButton.css +0 -4
  353. package/src/stories/Molecules/IconButton/IconButton.jsx +0 -25
  354. package/src/stories/Molecules/IconButton/IconButton.stories.jsx +0 -20
  355. package/src/stories/Molecules/ImageWithCaption/ImageWithCaption.css +0 -4
  356. package/src/stories/Molecules/ImageWithCaption/ImageWithCaption.jsx +0 -25
  357. package/src/stories/Molecules/ImageWithCaption/ImageWithCaption.stories.jsx +0 -20
  358. package/src/stories/Molecules/InputGroup/InputGroup.css +0 -4
  359. package/src/stories/Molecules/InputGroup/InputGroup.jsx +0 -25
  360. package/src/stories/Molecules/InputGroup/InputGroup.stories.jsx +0 -20
  361. package/src/stories/Molecules/InputWithLabel/InputWithLabel.css +0 -4
  362. package/src/stories/Molecules/InputWithLabel/InputWithLabel.jsx +0 -25
  363. package/src/stories/Molecules/InputWithLabel/InputWithLabel.stories.jsx +0 -20
  364. package/src/stories/Molecules/List/List.css +0 -4
  365. package/src/stories/Molecules/List/List.jsx +0 -25
  366. package/src/stories/Molecules/List/List.stories.jsx +0 -20
  367. package/src/stories/Molecules/MediaCard/MediaCard.css +0 -4
  368. package/src/stories/Molecules/MediaCard/MediaCard.jsx +0 -25
  369. package/src/stories/Molecules/MediaCard/MediaCard.stories.jsx +0 -20
  370. package/src/stories/Molecules/Modal/Modal.css +0 -4
  371. package/src/stories/Molecules/Modal/Modal.jsx +0 -25
  372. package/src/stories/Molecules/Modal/Modal.stories.jsx +0 -20
  373. package/src/stories/Molecules/Navbar/Navbar.css +0 -91
  374. package/src/stories/Molecules/Navbar/Navbar.jsx +0 -82
  375. package/src/stories/Molecules/Navbar/Navbar.stories.jsx +0 -70
  376. package/src/stories/Molecules/Notification/Notification.css +0 -4
  377. package/src/stories/Molecules/Notification/Notification.jsx +0 -25
  378. package/src/stories/Molecules/Notification/Notification.stories.jsx +0 -20
  379. package/src/stories/Molecules/PricingTable/PricingTable.css +0 -4
  380. package/src/stories/Molecules/PricingTable/PricingTable.jsx +0 -25
  381. package/src/stories/Molecules/PricingTable/PricingTable.stories.jsx +0 -20
  382. package/src/stories/Molecules/SearchBar/SearchBar.css +0 -69
  383. package/src/stories/Molecules/SearchBar/SearchBar.jsx +0 -73
  384. package/src/stories/Molecules/SearchBar/SearchBar.stories.jsx +0 -29
  385. package/src/stories/Molecules/SelectTheme/SelectTheme.css +0 -25
  386. package/src/stories/Molecules/SelectTheme/SelectTheme.jsx +0 -22
  387. package/src/stories/Molecules/SelectTheme/SelectTheme.stories.jsx +0 -24
  388. package/src/stories/Molecules/Sidebar/Sidebar.css +0 -67
  389. package/src/stories/Molecules/Sidebar/Sidebar.jsx +0 -80
  390. package/src/stories/Molecules/Sidebar/Sidebar.stories.jsx +0 -35
  391. package/src/stories/Molecules/VideoWithDescription/VideoWithDescription.css +0 -4
  392. package/src/stories/Molecules/VideoWithDescription/VideoWithDescription.jsx +0 -25
  393. package/src/stories/Molecules/VideoWithDescription/VideoWithDescription.stories.jsx +0 -20
  394. package/src/stories/Molecules/index.js +0 -58
  395. package/src/stories/Molecules/meta_Molecules.js +0 -47
  396. package/src/stories/Organisms/Profile/UserFriends/UserFriends.context.jsx +0 -15
  397. package/src/stories/Organisms/Profile/UserFriends/UserFriends.css +0 -4
  398. package/src/stories/Organisms/Profile/UserFriends/UserFriends.jsx +0 -13
  399. package/src/stories/Organisms/Profile/UserFriends/UserFriends.stories.jsx +0 -26
  400. package/src/stories/Organisms/Profile/UserPosts/UserPosts.context.jsx +0 -15
  401. package/src/stories/Organisms/Profile/UserPosts/UserPosts.css +0 -4
  402. package/src/stories/Organisms/Profile/UserPosts/UserPosts.jsx +0 -13
  403. package/src/stories/Organisms/Profile/UserPosts/UserPosts.stories.jsx +0 -26
  404. package/src/stories/Organisms/Profile/UserProfile/UserProfile.context.jsx +0 -15
  405. package/src/stories/Organisms/Profile/UserProfile/UserProfile.css +0 -4
  406. package/src/stories/Organisms/Profile/UserProfile/UserProfile.jsx +0 -13
  407. package/src/stories/Organisms/Profile/UserProfile/UserProfile.stories.jsx +0 -26
  408. package/src/stories/Organisms/meta_Organisms.js +0 -39
  409. package/src/stories/Pages/Page/Page.css +0 -69
  410. package/src/stories/Pages/Page/Page.jsx +0 -69
  411. package/src/stories/Pages/Page/Page.stories.js +0 -26
  412. package/src/stories/Pages/Page/Pages.js +0 -31
  413. package/src/stories/Templates/AdminDashboard/AdminDashboard.css +0 -7
  414. package/src/stories/Templates/AdminDashboard/AdminDashboard.jsx +0 -24
  415. package/src/stories/Templates/AdminDashboard/AdminDashboard.stories.jsx +0 -20
  416. package/src/stories/Templates/CallToAction/CallToAction.css +0 -7
  417. package/src/stories/Templates/CallToAction/CallToAction.jsx +0 -24
  418. package/src/stories/Templates/CallToAction/CallToAction.stories.jsx +0 -20
  419. package/src/stories/Templates/FeaturesList/FeaturesList.css +0 -7
  420. package/src/stories/Templates/FeaturesList/FeaturesList.jsx +0 -24
  421. package/src/stories/Templates/FeaturesList/FeaturesList.stories.jsx +0 -20
  422. package/src/stories/Templates/FormSection/FormSection.css +0 -7
  423. package/src/stories/Templates/FormSection/FormSection.jsx +0 -24
  424. package/src/stories/Templates/FormSection/FormSection.stories.jsx +0 -20
  425. package/src/stories/Templates/HeroSection/HeroSection.css +0 -7
  426. package/src/stories/Templates/HeroSection/HeroSection.jsx +0 -24
  427. package/src/stories/Templates/HeroSection/HeroSection.stories.jsx +0 -20
  428. package/src/stories/Templates/LocationInfo/LocationInfo.css +0 -7
  429. package/src/stories/Templates/LocationInfo/LocationInfo.jsx +0 -24
  430. package/src/stories/Templates/LocationInfo/LocationInfo.stories.jsx +0 -20
  431. package/src/stories/Templates/ProductPage/ProductPage.css +0 -7
  432. package/src/stories/Templates/ProductPage/ProductPage.jsx +0 -24
  433. package/src/stories/Templates/ProductPage/ProductPage.stories.jsx +0 -20
  434. package/src/stories/Templates/RegistrationPage/RegistrationPage.css +0 -7
  435. package/src/stories/Templates/RegistrationPage/RegistrationPage.jsx +0 -24
  436. package/src/stories/Templates/RegistrationPage/RegistrationPage.stories.jsx +0 -20
  437. package/src/stories/Templates/ShoppingCart/ShoppingCart.css +0 -7
  438. package/src/stories/Templates/ShoppingCart/ShoppingCart.jsx +0 -24
  439. package/src/stories/Templates/ShoppingCart/ShoppingCart.stories.jsx +0 -20
  440. package/src/stories/Templates/SidebarTopNav/SidebarTopNav.css +0 -7
  441. package/src/stories/Templates/SidebarTopNav/SidebarTopNav.jsx +0 -24
  442. package/src/stories/Templates/SidebarTopNav/SidebarTopNav.stories.jsx +0 -20
  443. package/src/stories/Templates/SignInPage/SignInPage.css +0 -7
  444. package/src/stories/Templates/SignInPage/SignInPage.jsx +0 -24
  445. package/src/stories/Templates/SignInPage/SignInPage.stories.jsx +0 -20
  446. package/src/stories/Templates/SocialMediaLinks/SocialMediaLinks.css +0 -7
  447. package/src/stories/Templates/SocialMediaLinks/SocialMediaLinks.jsx +0 -24
  448. package/src/stories/Templates/SocialMediaLinks/SocialMediaLinks.stories.jsx +0 -20
  449. package/src/stories/Templates/Testimonials/Testimonials.css +0 -7
  450. package/src/stories/Templates/Testimonials/Testimonials.jsx +0 -24
  451. package/src/stories/Templates/Testimonials/Testimonials.stories.jsx +0 -20
  452. package/src/stories/Templates/index.js +0 -33
  453. package/src/stories/Templates/meta_Templates.js +0 -29
  454. package/src/stories/assets/accessibility.png +0 -0
  455. package/src/stories/assets/accessibility.svg +0 -1
  456. package/src/stories/assets/addon-library.png +0 -0
  457. package/src/stories/assets/assets.png +0 -0
  458. package/src/stories/assets/avif-test-image.avif +0 -0
  459. package/src/stories/assets/context.png +0 -0
  460. package/src/stories/assets/discord.svg +0 -1
  461. package/src/stories/assets/docs.png +0 -0
  462. package/src/stories/assets/figma-plugin.png +0 -0
  463. package/src/stories/assets/github.svg +0 -1
  464. package/src/stories/assets/logo.png +0 -0
  465. package/src/stories/assets/logo.svg +0 -106
  466. package/src/stories/assets/share.png +0 -0
  467. package/src/stories/assets/styling.png +0 -0
  468. package/src/stories/assets/test.svg +0 -3
  469. package/src/stories/assets/testing.png +0 -0
  470. package/src/stories/assets/theming.png +0 -0
  471. package/src/stories/assets/tutorials.svg +0 -1
  472. package/src/stories/assets/youtube.svg +0 -1
  473. package/src/themes/README_Styles.md +0 -301
  474. package/src/themes/ThemeProvider.jsx +0 -61
  475. package/src/themes/styles/github/dark.css +0 -0
  476. package/src/themes/styles/github/light.css +0 -0
  477. package/src/themes/styles/neurons/dark.css +0 -247
  478. package/src/themes/styles/neurons/light.css +0 -170
  479. /package/{src/themes/styles/dracula/dark.css → .storybook/preview-head.html} +0 -0
  480. /package/src/{themes/styles/dracula/light.css → components/this.me/MeCard.jsx} +0 -0
package/src/MDXEditor.jsx DELETED
@@ -1,51 +0,0 @@
1
- //this.GUI/src/MDXEditor.jsx
2
- import React, { useState } from 'react';
3
- import { useNavigate, useParams } from 'react-router-dom';
4
- import MdxProvider from './MdxProvider'; // Correct
5
-
6
- const MDXEditor = () => {
7
- const navigate = useNavigate();
8
- const { pageName } = useParams();
9
- const [mdxContent, setMdxContent] = useState(''); // Initial blank content
10
-
11
- const handleInputChange = (e) => {
12
- setMdxContent(e.target.value);
13
- };
14
-
15
- const handleSavePage = () => {
16
- console.log('Saving MDX content:', mdxContent);
17
- // Replace this with actual save functionality (e.g., send to a backend API)
18
-
19
- // Optionally navigate back to the main dashboard or SiteBuilder
20
- navigate(`/`);
21
- };
22
-
23
- return (
24
- <div style={{ display: 'flex', flexDirection: 'column', gap: '20px' }}>
25
- {/* MDX Editor */}
26
- <textarea
27
- value={mdxContent}
28
- onChange={handleInputChange}
29
- rows="15"
30
- cols="80"
31
- placeholder="Write your MDX content here..."
32
- style={{ padding: '10px', fontSize: '16px' }}
33
- />
34
-
35
- {/* Live Preview */}
36
- <div style={{ padding: '20px', border: '1px solid #ccc', marginTop: '20px' }}>
37
- <h2>Live Preview</h2>
38
- <MdxProvider>
39
- <div>{mdxContent ? mdxContent : 'Your MDX preview will appear here.'}</div>
40
- </MdxProvider>
41
- </div>
42
-
43
- {/* Save Button */}
44
- <button onClick={handleSavePage} style={{ padding: '10px 20px', fontSize: '16px' }}>
45
- Save MDX Page
46
- </button>
47
- </div>
48
- );
49
- };
50
-
51
- export default MDXEditor;
@@ -1,20 +0,0 @@
1
- //this.GUI/src/MdxProvider.jsx
2
- import React from 'react';
3
- import { MDXProvider } from '@mdx-js/react';
4
-
5
- // Define custom components without inline styles
6
- const components = {
7
- h1: (props) => <h1 className="mdx-h1" {...props} />, // Let the theme handle the styles
8
- h2: (props) => <h2 className="mdx-h2" {...props} />,
9
- p: (props) => <p className="mdx-p" {...props} />,
10
- a: (props) => <a className="mdx-link" {...props} />,
11
- code: (props) => <code className="mdx-code" {...props} />,
12
- pre: (props) => <pre className="mdx-pre" {...props} />,
13
- // Add more custom components as needed, without inline styles
14
- };
15
-
16
- const MdxProvider = ({ children }) => {
17
- return <MDXProvider components={components}>{children}</MDXProvider>;
18
- };
19
-
20
- export default MdxProvider;
package/src/Page.jsx DELETED
@@ -1,28 +0,0 @@
1
- import React from 'react';
2
- import { renderComponent } from './scripts/renderComponents';
3
-
4
- const Page = ({ config }) => {
5
- return (
6
- <div>
7
- {config.layout.map((item, index) => {
8
- const Component = renderComponent(item.type);
9
- return Component ? (
10
- <Component key={index} {...item.props}>
11
- {item.children && item.children.map((child, childIndex) => {
12
- const ChildComponent = renderComponent(child.type);
13
- return ChildComponent ? (
14
- <ChildComponent key={childIndex} {...child.props} />
15
- ) : (
16
- <p key={childIndex}>Component "{child.type}" not found</p>
17
- );
18
- })}
19
- </Component>
20
- ) : (
21
- <p key={index}>Component "{item.type}" not found</p>
22
- );
23
- })}
24
- </div>
25
- );
26
- };
27
-
28
- export default Page;
@@ -1,56 +0,0 @@
1
- import React from 'react';
2
- import { useNavigate } from 'react-router-dom';
3
- import Atoms from './stories/Atoms'; // Import the Atoms object
4
- import Molecules from './stories/Molecules'; // Import the Atoms object
5
- import siteConfig from '../GUI/config/siteConfig.json'; // Import the config
6
-
7
- const PageDashboard = () => {
8
- const navigate = useNavigate();
9
-
10
- return (
11
- <Atoms.Container
12
- size='medium'>
13
- <h1>Pages Dashboard</h1>
14
-
15
- {/* Use this.GUI Button for "Add New Page" */}
16
- <Atoms.Button
17
- label="+ Add New Page"
18
- variant="solid"
19
- color="primary-color" // Correct color value
20
- onClick={() => navigate('/create-page')}
21
- style={{ marginBottom: '20px' }}
22
- />
23
-
24
- {siteConfig.pages.length === 0 ? (
25
- <p>No pages created yet.</p>
26
- ) : (
27
- <div className="page-grid" style={{ display: 'flex', flexWrap: 'wrap', gap: '20px' }}>
28
- {siteConfig.pages.map((page, index) => (
29
- <Molecules.Card
30
- key={index}
31
- variant="outlined"
32
- color="secondary"
33
- style={{
34
- width: '200px',
35
- padding: '20px',
36
- borderRadius: '8px',
37
- boxShadow: '0 4px 8px rgba(0, 0, 0, 0.1)',
38
- }}
39
- >
40
- <h3>{page.name}</h3>
41
- <p>Type: {page.type}</p>
42
- <Atoms.Button
43
- label="Edit Page"
44
- variant="outline"
45
- color="secondary-color" // Correct the color value here
46
- onClick={() => navigate(page.path)}
47
- />
48
- </Molecules.Card>
49
- ))}
50
- </div>
51
- )}
52
- </Atoms.Container>
53
- );
54
- };
55
-
56
- export default PageDashboard;
@@ -1,108 +0,0 @@
1
- //this.GUI/src/SiteBuilder.jsx
2
- import React, { useState } from 'react';
3
- import { renderComponent } from './scripts/renderComponents';
4
- import ComponentRegistry from './scripts/ComponentRegistry'; // Import the component registry
5
-
6
- const SiteBuilder = () => {
7
- const [pageContent, setPageContent] = useState([]); // Stores the components added to the page
8
- const [selectedComponent, setSelectedComponent] = useState(null); // Currently selected component for configuration
9
-
10
- // Generate available components from the ComponentRegistry
11
- const availableComponents = Object.keys(ComponentRegistry).map((key) => ({
12
- type: key,
13
- label: key,
14
- }));
15
-
16
- // Add a new component to the page
17
- const addComponent = (componentType) => {
18
- setPageContent([...pageContent, { type: componentType, props: {} }]);
19
- };
20
-
21
- // Update a component's properties
22
- const updateComponentProps = (index, newProps) => {
23
- const updatedPage = [...pageContent];
24
- updatedPage[index].props = newProps;
25
- setPageContent(updatedPage);
26
- };
27
-
28
- // Render components on the page
29
- const renderPageContent = () => {
30
- return pageContent.map((component, index) => {
31
- const Component = renderComponent(component.type);
32
- return (
33
- <div
34
- key={index}
35
- onClick={() => setSelectedComponent(index)} // Select component for editing
36
- style={{ border: selectedComponent === index ? '2px solid blue' : 'none' }}
37
- >
38
- {Component ? <Component {...component.props} /> : <p>Component not found</p>}
39
- </div>
40
- );
41
- });
42
- };
43
-
44
- return (
45
- <div style={{ display: 'flex' }}>
46
- {/* Sidebar with available components */}
47
- <div style={{ width: '20%', padding: '10px', backgroundColor: '#f0f0f0' }}>
48
- <h4>Available Components</h4>
49
- <ul>
50
- {availableComponents.map((comp, index) => (
51
- <li key={index}>
52
- <button onClick={() => addComponent(comp.type)}>{comp.label}</button>
53
- </li>
54
- ))}
55
- </ul>
56
- </div>
57
-
58
- {/* Main canvas area for dragging and arranging components */}
59
- <div style={{ width: '60%', padding: '10px' }}>
60
- <h4>Canvas</h4>
61
- {renderPageContent()}
62
- </div>
63
-
64
- {/* Configuration panel for the selected component */}
65
- <div style={{ width: '20%', padding: '10px', backgroundColor: '#f9f9f9' }}>
66
- <h4>Component Properties</h4>
67
- {selectedComponent !== null && (
68
- <ComponentConfigPanel
69
- component={pageContent[selectedComponent]}
70
- onUpdate={(newProps) => updateComponentProps(selectedComponent, newProps)}
71
- />
72
- )}
73
- </div>
74
- </div>
75
- );
76
- };
77
-
78
- // A simple panel to edit component properties
79
- const ComponentConfigPanel = ({ component, onUpdate }) => {
80
- const [props, setProps] = useState(component.props);
81
-
82
- const handleInputChange = (key, value) => {
83
- setProps({ ...props, [key]: value });
84
- };
85
-
86
- const handleSave = () => {
87
- onUpdate(props); // Send the updated props to the SiteBuilder
88
- };
89
-
90
- return (
91
- <div>
92
- <h5>Edit {component.type} Properties</h5>
93
- {Object.keys(props).map((key) => (
94
- <div key={key}>
95
- <label>{key}</label>
96
- <input
97
- type="text"
98
- value={props[key]}
99
- onChange={(e) => handleInputChange(key, e.target.value)}
100
- />
101
- </div>
102
- ))}
103
- <button onClick={handleSave}>Save</button>
104
- </div>
105
- );
106
- };
107
-
108
- export default SiteBuilder;
package/src/example.json DELETED
@@ -1,43 +0,0 @@
1
- {
2
- "layout": [
3
- {
4
- "type": "Card",
5
- "props": {
6
- "variant": "solid",
7
- "color": "primary-color",
8
- "width": "300px"
9
- },
10
- "children": [
11
- {
12
- "type": "Heading",
13
- "props": {
14
- "text": "Welcome to the Site!"
15
- }
16
- },
17
- {
18
- "type": "Paragraph",
19
- "props": {
20
- "text": "This is a description inside the card."
21
- }
22
- },
23
- {
24
- "type": "Button",
25
- "props": {
26
- "label": "Click Me",
27
- "color": "secondary-color"
28
- }
29
- }
30
- ]
31
- },
32
- {
33
- "type": "Navbar",
34
- "props": {
35
- "links": [
36
- { "label": "Home", "url": "/" },
37
- { "label": "About", "url": "/about" },
38
- { "label": "Contact", "url": "/contact" }
39
- ]
40
- }
41
- }
42
- ]
43
- }
package/src/index.mdx DELETED
@@ -1,164 +0,0 @@
1
- import GUI from '../index';
2
-
3
- <GUI.Molecules.Navbar
4
- links={[
5
- { url: '/', label: 'Home', isActive: true },
6
- { url: '/about', label: 'About', isActive: false },
7
- { url: 'http://localhost:6006/', label: 'Storybook', isActive: false },
8
- { url: '/contact', label: 'Contact', isActive: false },
9
- ]}
10
- logo={
11
- <img src="https://suign.github.io/assets/imgs/neurons_me_logo.png" alt="Logo" style={{ height: '40px' }} />
12
- }
13
- userControls={
14
- <GUI.Atoms.Button>Click</GUI.Atoms.Button>
15
- }
16
- />
17
-
18
- <GUI.Molecules.Sidebar
19
- links={[
20
- { url: '#home', label: 'Home', isActive: true },
21
- { url: '#about', label: 'About', isActive: false },
22
- { url: '#services', label: 'Services', isActive: false },
23
- ]}
24
- logo={<img src="https://example.com/logo.png" alt="Logo" />}
25
- userControls={<button>Logout</button>}
26
- />
27
-
28
- # Welcome to THIS.GUI
29
-
30
- ## Understanding MDX (Markdown + JSX)
31
- This page is written in **MDX**, a powerful format that allows you to write Markdown while embedding JSX components. With MDX, you can write documentation or content using Markdown's simplicity and still interact with React components directly within the same file.
32
- For example, in this document, we can use regular Markdown syntax for headings, paragraphs, and links, but we also import and use components from our `this.GUI` library.
33
-
34
- ### Key Concepts of MDX
35
- - **Markdown for Content**: Regular text, links, images, and other static content can be written using Markdown.
36
- - **JSX for Interactivity**: You can directly use any JSX component (like React components) within the MDX file. This makes it ideal for documentation or websites that need to showcase and render components dynamically.
37
-
38
- ## Example: Navbar Component in MDX
39
- In the following example, we use the `Navbar` component from the `this.GUI` library. This demonstrates how we can integrate interactive elements within a Markdown-style document.
40
-
41
-
42
-
43
- ```mdx
44
- <GUI.Molecules.Navbar
45
- links={[
46
- { url: '/', label: 'Home', isActive: true },
47
- { url: '/about', label: 'About', isActive: false },
48
- { url: 'http://localhost:6006/', label: 'Storybook', isActive: false },
49
- { url: '/contact', label: 'Contact', isActive: false },
50
- ]}
51
- logo={
52
- <img src="https://suign.github.io/assets/imgs/neurons_me_logo.png" alt="Logo" style={{ height: '40px' }} />
53
-
54
- }
55
- userControls={
56
- <GUI.Atoms.Button>Click</GUI.Atoms.Button>
57
- }
58
- />
59
- ```
60
-
61
- This renders a live `Navbar` component, with links for navigation, including one to our Storybook instance.
62
-
63
- ---
64
-
65
- ### How This Page is Built with MDX
66
- 1. **Markdown Elements**:
67
- - This heading (`# Welcome to THIS.GUI`) and paragraphs you're reading are written using Markdown.
68
- - Links like [Click here](https://example.com) are also written in Markdown syntax.
69
-
70
- 2. **JSX Elements**:
71
- - Below, we render interactive components from `this.GUI`, such as buttons and the navbar, using JSX.
72
-
73
- ---
74
-
75
- ## Using MDX to Showcase Components
76
- MDX allows you to mix documentation with interactive elements. For instance, let's explore different types of buttons you can use with `this.GUI`. These buttons will be rendered dynamically, and their usage will be demonstrated.
77
-
78
- ### **Atomic Components Example: Buttons**
79
- Below are different variations of the Button component available in `this.GUI`, along with the code examples for each.
80
-
81
- <div>
82
- {/* Primary Button */}
83
- <GUI.Atoms.Button primary size="medium">Primary Button</GUI.Atoms.Button>
84
-
85
- ```jsx
86
- <GUI.Atoms.Button primary size="medium">Primary Button</GUI.Atoms.Button>
87
- ```
88
-
89
- {/* Secondary Button */}
90
- <GUI.Atoms.Button size="medium">Secondary Button</GUI.Atoms.Button>
91
-
92
- ```jsx
93
- <GUI.Atoms.Button size="medium">Secondary Button</GUI.Atoms.Button>
94
- ```
95
-
96
- {/* No Border Button */}
97
- <GUI.Atoms.Button noBorder size="medium">No Border Button</GUI.Atoms.Button>
98
-
99
- ```jsx
100
- <GUI.Atoms.Button noBorder size="medium">No Border Button</GUI.Atoms.Button>
101
- ```
102
-
103
- {/* Small Primary Button */}
104
- <GUI.Atoms.Button primary size="small">Small Primary Button</GUI.Atoms.Button>
105
-
106
- ```jsx
107
- <GUI.Atoms.Button primary size="small">Small Primary Button</GUI.Atoms.Button>
108
- ```
109
-
110
- {/* Large No Border Button */}
111
- <GUI.Atoms.Button noBorder size="large">Large No Border Button</GUI.Atoms.Button>
112
-
113
- ```jsx
114
- <GUI.Atoms.Button noBorder size="large">Large No Border Button</GUI.Atoms.Button>
115
- ```
116
-
117
- {/* Custom Button Example */}
118
- <GUI.Atoms.Button
119
- primary
120
- size="large"
121
- primaryBgColor="#007bff"
122
- primaryTextColor="#ffffff"
123
- primaryHoverBgColor="#0056b3"
124
- padding="12px 24px"
125
- >
126
- Custom Styled Button
127
- </GUI.Atoms.Button>
128
-
129
- ```jsx
130
- <GUI.Atoms.Button
131
- primary
132
- size="large"
133
- primaryBgColor="#007bff"
134
- primaryTextColor="#ffffff"
135
- primaryHoverBgColor="#0056b3"
136
- padding="12px 24px"
137
- >
138
- Custom Styled Button
139
- </GUI.Atoms.Button>
140
- ```
141
- </div>
142
-
143
- ---
144
-
145
- ### How to Use MDX in Your Own Projects
146
- You can use MDX in your own documentation to:
147
-
148
- - Write clear and simple documentation using Markdown.
149
- - Embed interactive React components to showcase examples or provide live demos.
150
- - Combine content and functionality into one coherent file.
151
-
152
- MDX files are ideal for documentation, blog posts, or any content-heavy web pages where you also want to include interactive elements. By leveraging MDX, you're able to write once and render rich, dynamic content with ease.
153
-
154
- ---
155
-
156
- This example showcases how MDX combines the best of both Markdown and JSX, giving you the flexibility to create interactive, component-rich documentation.
157
- ```
158
-
159
- ### Key Changes:
160
- - I've added an explanation of **MDX** and how it combines Markdown and JSX.
161
- - Each button example is now enclosed in a code block to show how MDX renders both the live component and its JSX code.
162
- - The file explains the concepts of MDX, making it clearer for developers and users to understand how this page was created.
163
-
164
- This should provide a solid foundation for users exploring your project and help them understand how MDX can be used effectively.
package/src/main.jsx DELETED
@@ -1,15 +0,0 @@
1
- // main.jsx
2
- import React from 'react';
3
- import { createRoot } from 'react-dom/client';
4
- import App from './App'; // Import App component
5
-
6
- // Grab the container element
7
- const container = document.getElementById('root');
8
- const root = createRoot(container);
9
-
10
- // Render your app using createRoot
11
- root.render(
12
- <React.StrictMode>
13
- <App /> {/* Render the entire App component */}
14
- </React.StrictMode>
15
- );
@@ -1,70 +0,0 @@
1
- // src/ComponentRegistry.js
2
- import Atoms from '../stories/Atoms/index';
3
- import Molecules from '../stories/Molecules/index';
4
- const ComponentRegistry = {
5
- // Atoms
6
- Alert: Atoms.Alert,
7
- Audio: Atoms.Audio,
8
- Badge: Atoms.Badge,
9
- Button: Atoms.Button,
10
- Caption: Atoms.Caption,
11
- Checkbox: Atoms.Checkbox,
12
- Container: Atoms.Container,
13
- Divider: Atoms.Divider,
14
- Grid: Atoms.Grid,
15
- Heading: Atoms.Heading,
16
- Icon: Atoms.Icon,
17
- Image: Atoms.Image,
18
- Label: Atoms.Label,
19
- Link: Atoms.Link,
20
- Loader: Atoms.Loader,
21
- Logo: Atoms.Logo,
22
- Paragraph: Atoms.Paragraph,
23
- ProgressBar: Atoms.ProgressBar,
24
- RadioButton: Atoms.RadioButton,
25
- Range: Atoms.Range,
26
- Section: Atoms.Section,
27
- Select: Atoms.Select,
28
- Slider: Atoms.Slider,
29
- Snackbar: Atoms.Snackbar,
30
- Spacer: Atoms.Spacer,
31
- Spinner: Atoms.Spinner,
32
- Tag: Atoms.Tag,
33
- TextArea: Atoms.TextArea,
34
- TextInput: Atoms.TextInput,
35
- Toggle: Atoms.Toggle,
36
- Tooltip: Atoms.Tooltip,
37
- Video: Atoms.Video,
38
-
39
- // Molecules
40
- Accordion: Molecules.Accordion,
41
- AudioPlayer: Molecules.AudioPlayer,
42
- AvatarWithName: Molecules.AvatarWithName,
43
- Breadcrumbs: Molecules.Breadcrumbs,
44
- ButtonGroup: Molecules.ButtonGroup,
45
- Card: Molecules.Card,
46
- ComparisonTable: Molecules.ComparisonTable,
47
- DataTable: Molecules.DataTable,
48
- Dropdown: Molecules.Dropdown,
49
- FileUpload: Molecules.FileUpload,
50
- FormField: Molecules.FormField,
51
- IconButton: Molecules.IconButton,
52
- ImageWithCaption: Molecules.ImageWithCaption,
53
- InputGroup: Molecules.InputGroup,
54
- InputWithLabel: Molecules.InputWithLabel,
55
- List: Molecules.List,
56
- MediaCard: Molecules.MediaCard,
57
- Modal: Molecules.Modal,
58
- Navbar: Molecules.Navbar,
59
- Notification: Molecules.Notification,
60
- PricingTable: Molecules.PricingTable,
61
- SearchBar: Molecules.SearchBar,
62
- SelectTheme: Molecules.SelectTheme,
63
- Sidebar: Molecules.Sidebar,
64
- VideoWithDescription: Molecules.VideoWithDescription,
65
-
66
- // Layouts and Templates
67
- // Add more components as needed
68
- };
69
-
70
- export default ComponentRegistry;
@@ -1,12 +0,0 @@
1
- // src/scripts/logASCIIArt.js
2
- import figlet from 'figlet';
3
-
4
- function logASCIIArt() {
5
- console.log(figlet.textSync('This.GUI', {
6
- font: 'Big', // Choose a style like 'Big', 'Standard', etc.
7
- horizontalLayout: 'default',
8
- verticalLayout: 'default'
9
- }));
10
- }
11
-
12
- logASCIIArt(); // This calls the function when the script is executed
@@ -1,111 +0,0 @@
1
- // this.GUI/scripts/postinstall.js
2
- import { mkdir, writeFile, access, readFile } from 'fs/promises';
3
- import { join } from 'path';
4
-
5
- const appRootDir = process.env.INIT_CWD || process.cwd();
6
-
7
- // Define paths for directories at the app level
8
- const guiDir = join(appRootDir, 'GUI');
9
- const componentsDir = join(guiDir, 'components');
10
- const pagesDir = join(guiDir, 'pages'); // Pages directory for JSON layouts
11
- const configDir = join(guiDir, 'config');
12
- const configFile = join(configDir, 'siteConfig.json');
13
-
14
- // Helper function to create directories only if they don't already exist
15
- async function createDir(dirPath) {
16
- try {
17
- await access(dirPath);
18
- console.log(`Directory already exists: ${dirPath}`);
19
- } catch {
20
- await mkdir(dirPath, { recursive: true });
21
- console.log(`Created: ${dirPath}`);
22
- }
23
- }
24
-
25
- // Helper function to create initial files only if they don't already exist
26
- async function createFile(filePath, content) {
27
- try {
28
- await access(filePath);
29
- console.log(`File already exists: ${filePath}`);
30
- } catch {
31
- await writeFile(filePath, content);
32
- console.log(`Created: ${filePath}`);
33
- }
34
- }
35
-
36
- // Helper function to update siteConfig.json
37
- async function updateSiteConfig(newPages) {
38
- try {
39
- const configContent = await readFile(configFile, 'utf-8');
40
- const config = JSON.parse(configContent);
41
-
42
- // Add new pages if they don't already exist in the config
43
- newPages.forEach((newPage) => {
44
- const exists = config.pages.find((page) => page.name === newPage.name);
45
- if (!exists) {
46
- config.pages.push(newPage);
47
- }
48
- });
49
-
50
- await writeFile(configFile, JSON.stringify(config, null, 2));
51
- console.log(`Updated: ${configFile}`);
52
- } catch (err) {
53
- console.error(`Failed to update siteConfig: ${err}`);
54
- }
55
- }
56
-
57
- // Function to initialize the directory structure and files
58
- async function initializeFiles() {
59
- const mdxWelcomeFile = join(pagesDir, 'Welcome.mdx');
60
- const samplePageFile = join(pagesDir, 'home.json'); // Sample JSON page
61
-
62
- // Create siteConfig.json
63
- await createFile(
64
- configFile,
65
- `{
66
- "pages": []
67
- }`
68
- );
69
-
70
- // Create Welcome.mdx as a sample MDX file
71
- await createFile(
72
- mdxWelcomeFile,
73
- `# Welcome to Your Custom GUI\n\nThis is your first MDX file. Edit it to start building your pages!`
74
- );
75
-
76
- // Create a sample JSON page layout
77
- await createFile(
78
- samplePageFile,
79
- `{
80
- "layout": [
81
- {
82
- "type": "Card",
83
- "props": { "variant": "solid", "color": "primary-color", "width": "300px" },
84
- "children": [
85
- {
86
- "type": "Paragraph",
87
- "props": { "text": "Welcome to our site!" }
88
- }
89
- ]
90
- }
91
- ]
92
- }`
93
- );
94
-
95
- // Update siteConfig.json with the sample pages
96
- await updateSiteConfig([
97
- { name: 'Welcome', path: '/welcome', type: 'mdx', file: './pages/Welcome.mdx' },
98
- { name: 'Home', path: '/home', type: 'json', file: './pages/home.json' },
99
- ]);
100
- }
101
-
102
- // Create the directory structure and initialize files at the app level
103
- (async () => {
104
- await createDir(guiDir);
105
- await createDir(componentsDir);
106
- await createDir(pagesDir); // New directory for JSON and MDX pages
107
- await createDir(configDir); // Create config directory
108
- await initializeFiles();
109
-
110
- console.log('this.GUI setup complete at the app level!');
111
- })();