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.
- package/.storybook/main.js +40 -0
- package/.storybook/manager-head.html +13 -0
- package/.storybook/manager.js +15 -0
- package/.storybook/preview.tsx +54 -0
- package/.storybook/vitest.setup.js +6 -0
- package/.storybook/withLayout.tsx +18 -0
- package/README.md +1 -220
- package/dist/GUI.png +0 -0
- package/dist/GUI2.png +0 -0
- package/dist/favicon.ico +0 -0
- package/dist/this-gui.es.js +108493 -5056
- package/dist/this-gui.umd.js +239 -44
- package/dist/this.GUI.png +0 -0
- package/nodes/overall approach.md +93 -0
- package/notes/Proyect.md +109 -0
- package/package.json +71 -54
- package/public/GUI.png +0 -0
- package/public/GUI2.png +0 -0
- package/public/favicon.ico +0 -0
- package/public/this.GUI.png +0 -0
- package/src/components/generics/Cards/Gridme.jsx +52 -0
- package/src/components/generics/Cards/LilBox.jsx +65 -0
- package/src/components/generics/Cards/ModuleCard.jsx +106 -0
- package/src/components/generics/Chats/FullChatBot.jsx +223 -0
- package/src/components/generics/Code/CodeBlock.jsx +33 -0
- package/src/components/generics/Feedback/Callout.jsx +92 -0
- package/src/components/generics/Layout/GridX.jsx +29 -0
- package/src/components/generics/Layout/Hero2.jsx +132 -0
- package/src/components/generics/Layout/PageContainer.jsx +29 -0
- package/src/components/generics/Layout/PageDivider.jsx +20 -0
- package/src/components/generics/Layout/Section.jsx +43 -0
- package/src/components/generics/Layout/SectionHeader.jsx +21 -0
- package/src/components/generics/Media/Img.jsx +58 -0
- package/src/components/generics/Media/VideoEmbed.jsx +51 -0
- package/src/components/generics/Organization/TableOfContents.jsx +51 -0
- package/src/components/generics/Organization/Tabs.jsx +45 -0
- package/src/components/generics/Text/TextList.jsx +41 -0
- package/src/components/generics/Text/TextParagraph.jsx +28 -0
- package/src/components/generics/Text/TextQuote.jsx +23 -0
- package/src/components/generics/Text/TextTitle.jsx +44 -0
- package/src/components/this.me/MeActive.jsx +24 -0
- package/src/components/this.me/MeFloating.jsx +183 -0
- package/src/components/this.me/MeInactive.jsx +21 -0
- package/src/components/this.me/MeListUs.jsx +40 -0
- package/src/components/this.me/MeState.jsx +25 -0
- package/src/components/this.me/hooks/useMe.js +43 -0
- package/src/context/GuiProvider.tsx +243 -0
- package/src/gui/atoms/AppBar/AppBar.resolver.tsx +77 -0
- package/src/gui/atoms/AppBar/AppBar.stories.tsx +232 -0
- package/src/gui/atoms/AppBar/AppBar.tsx +10 -0
- package/src/gui/atoms/Box/Box.resolver.tsx +171 -0
- package/src/gui/atoms/Box/Box.stories.tsx +271 -0
- package/src/gui/atoms/Box/Box.tsx +15 -0
- package/src/gui/atoms/Button/Button.resolver.tsx +98 -0
- package/src/gui/atoms/Button/Button.stories.tsx +225 -0
- package/src/gui/atoms/Button/Button.tsx +40 -0
- package/src/gui/atoms/Collapse/Collapse.resolver.tsx +85 -0
- package/src/gui/atoms/Collapse/Collapse.stories.tsx +136 -0
- package/src/gui/atoms/Collapse/Collapse.tsx +17 -0
- package/src/gui/atoms/Divider/Divider.resolver.tsx +95 -0
- package/src/gui/atoms/Divider/Divider.stories.tsx +109 -0
- package/src/gui/atoms/Divider/Divider.tsx +14 -0
- package/src/gui/atoms/Drawer/Drawer.resolver.tsx +116 -0
- package/src/gui/atoms/Drawer/Drawer.stories.tsx +229 -0
- package/src/gui/atoms/Drawer/Drawer.tsx +8 -0
- package/src/gui/atoms/IconButton/IconButton.resolver.tsx +135 -0
- package/src/gui/atoms/IconButton/IconButton.stories.tsx +141 -0
- package/src/gui/atoms/IconButton/IconButton.tsx +22 -0
- package/src/gui/atoms/Link/Link.resolver.tsx +75 -0
- package/src/gui/atoms/Link/Link.stories.tsx +164 -0
- package/src/gui/atoms/Link/Link.tsx +14 -0
- package/src/gui/atoms/List/List.resolver.tsx +95 -0
- package/src/gui/atoms/List/List.stories.tsx +143 -0
- package/src/gui/atoms/List/List.tsx +20 -0
- package/src/gui/atoms/ListItem/ListItem.resolver.tsx +88 -0
- package/src/gui/atoms/ListItem/ListItem.stories.tsx +157 -0
- package/src/gui/atoms/ListItem/ListItem.tsx +19 -0
- package/src/gui/atoms/ListItemButton/ListItemButton.resolver.tsx +208 -0
- package/src/gui/atoms/ListItemButton/ListItemButton.stories.tsx +161 -0
- package/src/gui/atoms/ListItemButton/ListItemButton.tsx +15 -0
- package/src/gui/atoms/ListItemIcon/ListItemIcon.resolver.tsx +102 -0
- package/src/gui/atoms/ListItemIcon/ListItemIcon.stories.tsx +135 -0
- package/src/gui/atoms/ListItemIcon/ListItemIcon.tsx +11 -0
- package/src/gui/atoms/ListItemText/ListItemText.resolver.tsx +112 -0
- package/src/gui/atoms/ListItemText/ListItemText.stories.tsx +162 -0
- package/src/gui/atoms/ListItemText/ListItemText.tsx +15 -0
- package/src/gui/atoms/Menu/Menu.resolver.tsx +112 -0
- package/src/gui/atoms/Menu/Menu.stories.tsx +168 -0
- package/src/gui/atoms/Menu/Menu.tsx +17 -0
- package/src/gui/atoms/MenuItem/MenuItem.resolver.tsx +183 -0
- package/src/gui/atoms/MenuItem/MenuItem.stories.tsx +138 -0
- package/src/gui/atoms/MenuItem/MenuItem.tsx +14 -0
- package/src/gui/atoms/Paper/Paper.resolver.tsx +98 -0
- package/src/gui/atoms/Paper/Paper.stories.tsx +191 -0
- package/src/gui/atoms/Paper/Paper.tsx +17 -0
- package/src/gui/atoms/Stack/Stack.resolver.tsx +94 -0
- package/src/gui/atoms/Stack/Stack.stories.tsx +166 -0
- package/src/gui/atoms/Stack/Stack.tsx +15 -0
- package/src/gui/atoms/Switch/Switch.resolver.tsx +53 -0
- package/src/gui/atoms/Switch/Switch.stories.tsx +242 -0
- package/src/gui/atoms/Switch/Switch.tsx +22 -0
- package/src/gui/atoms/Toolbar/Toolbar.resolver.tsx +60 -0
- package/src/gui/atoms/Toolbar/Toolbar.stories.tsx +163 -0
- package/src/gui/atoms/Toolbar/Toolbar.tsx +16 -0
- package/src/gui/atoms/Tooltip/Tooltip.resolver.tsx +142 -0
- package/src/gui/atoms/Tooltip/Tooltip.stories.tsx +118 -0
- package/src/gui/atoms/Tooltip/Tooltip.tsx +78 -0
- package/src/gui/atoms/Typography/Typography.resolver.tsx +158 -0
- package/src/gui/atoms/Typography/Typography.stories.tsx +228 -0
- package/src/gui/atoms/Typography/Typography.tsx +27 -0
- package/src/gui/atoms.tsx +129 -0
- package/src/gui/index.ts +69 -0
- package/src/gui/molecules/AppBars/Footer/Footer.resolver.tsx +104 -0
- package/src/gui/molecules/AppBars/Footer/Footer.stories.tsx +499 -0
- package/src/gui/molecules/AppBars/Footer/Footer.tsx +307 -0
- package/src/gui/molecules/AppBars/LeftSidebar/LeftSidebar.resolver.tsx +75 -0
- package/src/gui/molecules/AppBars/LeftSidebar/LeftSidebar.stories.tsx +61 -0
- package/src/gui/molecules/AppBars/LeftSidebar/LeftSidebar.tsx +511 -0
- package/src/gui/molecules/AppBars/LeftSidebar/SidebarToggleButton.tsx +51 -0
- package/src/gui/molecules/AppBars/RightSidebar/RightSidebar.resolver.tsx +97 -0
- package/src/gui/molecules/AppBars/RightSidebar/RightSidebar.stories.tsx +294 -0
- package/src/gui/molecules/AppBars/RightSidebar/RightSidebar.tsx +295 -0
- package/src/gui/molecules/AppBars/StickyOptions/StickyOptionsTop.stories.tsx +480 -0
- package/src/gui/molecules/AppBars/StickyOptions/StickyOptionsTop.tsx +484 -0
- package/src/gui/molecules/AppBars/TopBar/TopBar.resolver.tsx +84 -0
- package/src/gui/molecules/AppBars/TopBar/TopBar.stories.tsx +297 -0
- package/src/gui/molecules/AppBars/TopBar/TopBar.tsx +299 -0
- package/src/gui/molecules/Utilities/ThemeModeToggle/ThemeModeToggle.resolver.tsx +72 -0
- package/src/gui/molecules/Utilities/ThemeModeToggle/ThemeModeToggle.stories.tsx +154 -0
- package/src/gui/molecules/Utilities/ThemeModeToggle/ThemeModeToggle.tsx +100 -0
- package/src/gui/molecules/Utilities/ThemeSelector.jsx +281 -0
- package/src/gui/utils/nodeID.ts +8 -0
- package/src/index.js +111 -0
- package/src/registry/GuiRegistry.ts +19 -0
- package/src/registry/factory.ts +12 -0
- package/src/registry/index.ts +3 -0
- package/src/registry/types.ts +6 -0
- package/src/stories/01.Home.mdx +22 -0
- package/src/stories/02.Understanding.This.GUI.md +149 -0
- package/src/stories/03.Themes.mdx +235 -0
- package/src/stories/04.GuiProvider.md +126 -0
- package/src/stories/04.GuiProvider.mdx +129 -0
- package/src/stories/Theme/BreakPointsAndGrids.stories.jsx +185 -0
- package/src/stories/Theme/Colors.stories.jsx +245 -0
- package/src/stories/Theme/Icons.stories.jsx +313 -0
- package/src/stories/Theme/Motion.stories.jsx +206 -0
- package/src/stories/Theme/ShadowAndElevation.stories.jsx +95 -0
- package/src/stories/Theme/SpacingAndRadius.stories.jsx +129 -0
- package/src/stories/Theme/Typography.stories.jsx +211 -0
- package/src/stories/assets/this.GUI.png +0 -0
- package/src/templates/BrowserExtension.jsx +56 -0
- package/src/templates/Layout.tsx +36 -0
- package/src/templates/Minimal.jsx +123 -0
- package/src/templates/Shell/Shell.jsx +107 -0
- package/src/themes/fromTokens.ts +352 -0
- package/src/themes/icons/Icon.tsx +137 -0
- package/src/themes/icons/packs/Lucide.ts +72 -0
- package/src/themes/icons/packs/Material.ts +87 -0
- package/src/themes/icons/registry.tsx +178 -0
- package/src/themes/index.js +116 -0
- package/src/themes/theme.d.ts +116 -0
- package/src/themes/tokens/global.tokens.json +107 -0
- package/src/themes/tokens/neurons/dark.tokens.json +45 -0
- package/src/themes/tokens/neurons/light.tokens.json +51 -0
- package/src/themes/tokens/neurons/manifest.json +23 -0
- package/src/types/theme.d.ts +32 -0
- package/src/types/viewport.ts +132 -0
- package/tsconfig.json +24 -0
- package/vite.config.js +74 -0
- package/dist/style.css +0 -1
- package/src/App.jsx +0 -39
- package/src/CreatePage.jsx +0 -61
- package/src/MDXEditor.jsx +0 -51
- package/src/MdxProvider.jsx +0 -20
- package/src/Page.jsx +0 -28
- package/src/PageDashboard.jsx +0 -56
- package/src/SiteBuilder.jsx +0 -108
- package/src/example.json +0 -43
- package/src/index.mdx +0 -164
- package/src/main.jsx +0 -15
- package/src/scripts/ComponentRegistry.js +0 -70
- package/src/scripts/logASCIIArt.js +0 -12
- package/src/scripts/postinstall.js +0 -111
- package/src/scripts/renderComponents.js +0 -11
- package/src/stories/Atoms/Alert/Alert.css +0 -211
- package/src/stories/Atoms/Alert/Alert.jsx +0 -56
- package/src/stories/Atoms/Alert/Alert.stories.jsx +0 -167
- package/src/stories/Atoms/Audio/Audio.css +0 -259
- package/src/stories/Atoms/Audio/Audio.jsx +0 -216
- package/src/stories/Atoms/Audio/Audio.stories.jsx +0 -191
- package/src/stories/Atoms/Badge/Badge.css +0 -249
- package/src/stories/Atoms/Badge/Badge.jsx +0 -54
- package/src/stories/Atoms/Badge/Badge.stories.jsx +0 -121
- package/src/stories/Atoms/Button/Button.css +0 -332
- package/src/stories/Atoms/Button/Button.jsx +0 -44
- package/src/stories/Atoms/Button/Button.stories.jsx +0 -209
- package/src/stories/Atoms/Caption/Caption.css +0 -169
- package/src/stories/Atoms/Caption/Caption.jsx +0 -72
- package/src/stories/Atoms/Caption/Caption.stories.jsx +0 -207
- package/src/stories/Atoms/Checkbox/Checkbox.css +0 -182
- package/src/stories/Atoms/Checkbox/Checkbox.jsx +0 -83
- package/src/stories/Atoms/Checkbox/Checkbox.stories.jsx +0 -112
- package/src/stories/Atoms/Container/Container.css +0 -470
- package/src/stories/Atoms/Container/Container.jsx +0 -116
- package/src/stories/Atoms/Container/Container.stories.jsx +0 -145
- package/src/stories/Atoms/Divider/Divider.css +0 -147
- package/src/stories/Atoms/Divider/Divider.jsx +0 -62
- package/src/stories/Atoms/Divider/Divider.stories.jsx +0 -105
- package/src/stories/Atoms/Grid/Grid.css +0 -160
- package/src/stories/Atoms/Grid/Grid.jsx +0 -43
- package/src/stories/Atoms/Grid/Grid.stories.jsx +0 -84
- package/src/stories/Atoms/Heading/Heading.css +0 -112
- package/src/stories/Atoms/Heading/Heading.jsx +0 -69
- package/src/stories/Atoms/Heading/Heading.stories.jsx +0 -130
- package/src/stories/Atoms/Icon/Icon.css +0 -240
- package/src/stories/Atoms/Icon/Icon.jsx +0 -80
- package/src/stories/Atoms/Icon/Icon.stories.jsx +0 -177
- package/src/stories/Atoms/Image/Image.css +0 -245
- package/src/stories/Atoms/Image/Image.jsx +0 -175
- package/src/stories/Atoms/Image/Image.stories.jsx +0 -332
- package/src/stories/Atoms/Label/Label.css +0 -171
- package/src/stories/Atoms/Label/Label.jsx +0 -71
- package/src/stories/Atoms/Label/Label.stories.jsx +0 -180
- package/src/stories/Atoms/Link/Link.css +0 -51
- package/src/stories/Atoms/Link/Link.jsx +0 -72
- package/src/stories/Atoms/Link/Link.stories.jsx +0 -153
- package/src/stories/Atoms/Loader/Loader.css +0 -106
- package/src/stories/Atoms/Loader/Loader.jsx +0 -58
- package/src/stories/Atoms/Loader/Loader.stories.jsx +0 -99
- package/src/stories/Atoms/Logo/Logo.css +0 -94
- package/src/stories/Atoms/Logo/Logo.jsx +0 -53
- package/src/stories/Atoms/Logo/Logo.stories.jsx +0 -120
- package/src/stories/Atoms/Paragraph/Paragraph.css +0 -180
- package/src/stories/Atoms/Paragraph/Paragraph.jsx +0 -77
- package/src/stories/Atoms/Paragraph/Paragraph.stories.jsx +0 -143
- package/src/stories/Atoms/ProgressBar/ProgressBar.css +0 -127
- package/src/stories/Atoms/ProgressBar/ProgressBar.jsx +0 -40
- package/src/stories/Atoms/ProgressBar/ProgressBar.stories.jsx +0 -86
- package/src/stories/Atoms/RadioButton/RadioButton.css +0 -130
- package/src/stories/Atoms/RadioButton/RadioButton.jsx +0 -87
- package/src/stories/Atoms/RadioButton/RadioButton.stories.jsx +0 -113
- package/src/stories/Atoms/Range/Range.css +0 -169
- package/src/stories/Atoms/Range/Range.jsx +0 -87
- package/src/stories/Atoms/Range/Range.stories.jsx +0 -110
- package/src/stories/Atoms/Section/Section.css +0 -268
- package/src/stories/Atoms/Section/Section.jsx +0 -63
- package/src/stories/Atoms/Section/Section.stories.jsx +0 -46
- package/src/stories/Atoms/Select/Select.css +0 -87
- package/src/stories/Atoms/Select/Select.jsx +0 -73
- package/src/stories/Atoms/Select/Select.stories.jsx +0 -109
- package/src/stories/Atoms/Slider/Slider.css +0 -90
- package/src/stories/Atoms/Slider/Slider.jsx +0 -129
- package/src/stories/Atoms/Slider/Slider.stories.jsx +0 -90
- package/src/stories/Atoms/Snackbar/Snackbar.css +0 -313
- package/src/stories/Atoms/Snackbar/Snackbar.jsx +0 -72
- package/src/stories/Atoms/Snackbar/Snackbar.stories.jsx +0 -78
- package/src/stories/Atoms/Spacer/Spacer.css +0 -114
- package/src/stories/Atoms/Spacer/Spacer.jsx +0 -35
- package/src/stories/Atoms/Spacer/Spacer.stories.jsx +0 -61
- package/src/stories/Atoms/Spinner/Spinner.css +0 -110
- package/src/stories/Atoms/Spinner/Spinner.jsx +0 -65
- package/src/stories/Atoms/Spinner/Spinner.stories.jsx +0 -58
- package/src/stories/Atoms/Tag/Tag.css +0 -112
- package/src/stories/Atoms/Tag/Tag.jsx +0 -75
- package/src/stories/Atoms/Tag/Tag.stories.jsx +0 -67
- package/src/stories/Atoms/TextArea/TextArea.css +0 -99
- package/src/stories/Atoms/TextArea/TextArea.jsx +0 -118
- package/src/stories/Atoms/TextArea/TextArea.stories.jsx +0 -36
- package/src/stories/Atoms/TextInput/TextInput.css +0 -102
- package/src/stories/Atoms/TextInput/TextInput.jsx +0 -133
- package/src/stories/Atoms/TextInput/TextInput.stories.jsx +0 -69
- package/src/stories/Atoms/Toggle/Toggle.css +0 -118
- package/src/stories/Atoms/Toggle/Toggle.jsx +0 -69
- package/src/stories/Atoms/Toggle/Toggle.stories.jsx +0 -35
- package/src/stories/Atoms/Tooltip/Tooltip.css +0 -383
- package/src/stories/Atoms/Tooltip/Tooltip.jsx +0 -46
- package/src/stories/Atoms/Tooltip/Tooltip.stories.jsx +0 -52
- package/src/stories/Atoms/Video/Video.css +0 -39
- package/src/stories/Atoms/Video/Video.jsx +0 -78
- package/src/stories/Atoms/Video/Video.stories.jsx +0 -41
- package/src/stories/Atoms/index.js +0 -72
- package/src/stories/Atoms/meta_Atoms.js +0 -51
- package/src/stories/Components.js +0 -198
- package/src/stories/Getting Started.mdx +0 -239
- package/src/stories/Layouts/Accordion/Accordion.css +0 -293
- package/src/stories/Layouts/Accordion/Accordion.jsx +0 -74
- package/src/stories/Layouts/Accordion/Accordion.stories.jsx +0 -39
- package/src/stories/Layouts/Flexbox/Flexbox.css +0 -16
- package/src/stories/Layouts/Flexbox/Flexbox.jsx +0 -11
- package/src/stories/Layouts/Flexbox/Flexbox.stories.jsx +0 -28
- package/src/stories/Layouts/Footer/Footer.css +0 -16
- package/src/stories/Layouts/Footer/Footer.jsx +0 -31
- package/src/stories/Layouts/Footer/Footer.stories.jsx +0 -28
- package/src/stories/Layouts/Header/Header.css +0 -16
- package/src/stories/Layouts/Header/Header.jsx +0 -31
- package/src/stories/Layouts/Header/Header.stories.jsx +0 -28
- package/src/stories/Layouts/HeroBanner/HeroBanner.css +0 -16
- package/src/stories/Layouts/HeroBanner/HeroBanner.jsx +0 -31
- package/src/stories/Layouts/HeroBanner/HeroBanner.stories.jsx +0 -28
- package/src/stories/Layouts/HeroImageVideo/HeroImageVideo.css +0 -16
- package/src/stories/Layouts/HeroImageVideo/HeroImageVideo.jsx +0 -31
- package/src/stories/Layouts/HeroImageVideo/HeroImageVideo.stories.jsx +0 -28
- package/src/stories/Layouts/Pagination/Pagination.css +0 -16
- package/src/stories/Layouts/Pagination/Pagination.jsx +0 -31
- package/src/stories/Layouts/Pagination/Pagination.stories.jsx +0 -28
- package/src/stories/Layouts/Sidebar/Sidebar.css +0 -16
- package/src/stories/Layouts/Sidebar/Sidebar.jsx +0 -71
- package/src/stories/Layouts/Sidebar/Sidebar.stories.jsx +0 -28
- package/src/stories/Layouts/Tabs/Tabs.css +0 -16
- package/src/stories/Layouts/Tabs/Tabs.jsx +0 -31
- package/src/stories/Layouts/Tabs/Tabs.stories.jsx +0 -28
- package/src/stories/Layouts/index.js +0 -25
- package/src/stories/Layouts/meta_Layouts.js +0 -28
- package/src/stories/MDX.mdx +0 -118
- package/src/stories/Miscellaneous/Miscellaneous.js +0 -24
- package/src/stories/Molecules/Accordion/Accordion.css +0 -4
- package/src/stories/Molecules/Accordion/Accordion.jsx +0 -25
- package/src/stories/Molecules/Accordion/Accordion.stories.jsx +0 -20
- package/src/stories/Molecules/AudioPlayer/AudioPlayer.css +0 -97
- package/src/stories/Molecules/AudioPlayer/AudioPlayer.jsx +0 -244
- package/src/stories/Molecules/AudioPlayer/AudioPlayer.stories.jsx +0 -55
- package/src/stories/Molecules/AvatarWithName/AvatarWithName.css +0 -130
- package/src/stories/Molecules/AvatarWithName/AvatarWithName.jsx +0 -80
- package/src/stories/Molecules/AvatarWithName/AvatarWithName.stories.jsx +0 -20
- package/src/stories/Molecules/Breadcrumbs/Breadcrumbs.css +0 -147
- package/src/stories/Molecules/Breadcrumbs/Breadcrumbs.jsx +0 -51
- package/src/stories/Molecules/Breadcrumbs/Breadcrumbs.stories.jsx +0 -36
- package/src/stories/Molecules/ButtonGroup/ButtonGroup.css +0 -465
- package/src/stories/Molecules/ButtonGroup/ButtonGroup.jsx +0 -47
- package/src/stories/Molecules/ButtonGroup/ButtonGroup.stories.jsx +0 -44
- package/src/stories/Molecules/Card/Card.css +0 -41
- package/src/stories/Molecules/Card/Card.jsx +0 -92
- package/src/stories/Molecules/Card/Card.stories.jsx +0 -34
- package/src/stories/Molecules/ComparisonTable/ComparisonTable.css +0 -35
- package/src/stories/Molecules/ComparisonTable/ComparisonTable.jsx +0 -104
- package/src/stories/Molecules/ComparisonTable/ComparisonTable.stories.jsx +0 -81
- package/src/stories/Molecules/DataTable/DataTable.css +0 -4
- package/src/stories/Molecules/DataTable/DataTable.jsx +0 -25
- package/src/stories/Molecules/DataTable/DataTable.stories.jsx +0 -20
- package/src/stories/Molecules/Dropdown/Dropdown.css +0 -192
- package/src/stories/Molecules/Dropdown/Dropdown.jsx +0 -96
- package/src/stories/Molecules/Dropdown/Dropdown.stories.jsx +0 -45
- package/src/stories/Molecules/FileUpload/FileUpload.css +0 -4
- package/src/stories/Molecules/FileUpload/FileUpload.jsx +0 -25
- package/src/stories/Molecules/FileUpload/FileUpload.stories.jsx +0 -20
- package/src/stories/Molecules/FormField/FormField.css +0 -4
- package/src/stories/Molecules/FormField/FormField.jsx +0 -25
- package/src/stories/Molecules/FormField/FormField.stories.jsx +0 -20
- package/src/stories/Molecules/Header/Header.css +0 -35
- package/src/stories/Molecules/Header/Header.jsx +0 -76
- package/src/stories/Molecules/Header/Header.stories.jsx +0 -28
- package/src/stories/Molecules/IconButton/IconButton.css +0 -4
- package/src/stories/Molecules/IconButton/IconButton.jsx +0 -25
- package/src/stories/Molecules/IconButton/IconButton.stories.jsx +0 -20
- package/src/stories/Molecules/ImageWithCaption/ImageWithCaption.css +0 -4
- package/src/stories/Molecules/ImageWithCaption/ImageWithCaption.jsx +0 -25
- package/src/stories/Molecules/ImageWithCaption/ImageWithCaption.stories.jsx +0 -20
- package/src/stories/Molecules/InputGroup/InputGroup.css +0 -4
- package/src/stories/Molecules/InputGroup/InputGroup.jsx +0 -25
- package/src/stories/Molecules/InputGroup/InputGroup.stories.jsx +0 -20
- package/src/stories/Molecules/InputWithLabel/InputWithLabel.css +0 -4
- package/src/stories/Molecules/InputWithLabel/InputWithLabel.jsx +0 -25
- package/src/stories/Molecules/InputWithLabel/InputWithLabel.stories.jsx +0 -20
- package/src/stories/Molecules/List/List.css +0 -4
- package/src/stories/Molecules/List/List.jsx +0 -25
- package/src/stories/Molecules/List/List.stories.jsx +0 -20
- package/src/stories/Molecules/MediaCard/MediaCard.css +0 -4
- package/src/stories/Molecules/MediaCard/MediaCard.jsx +0 -25
- package/src/stories/Molecules/MediaCard/MediaCard.stories.jsx +0 -20
- package/src/stories/Molecules/Modal/Modal.css +0 -4
- package/src/stories/Molecules/Modal/Modal.jsx +0 -25
- package/src/stories/Molecules/Modal/Modal.stories.jsx +0 -20
- package/src/stories/Molecules/Navbar/Navbar.css +0 -91
- package/src/stories/Molecules/Navbar/Navbar.jsx +0 -82
- package/src/stories/Molecules/Navbar/Navbar.stories.jsx +0 -70
- package/src/stories/Molecules/Notification/Notification.css +0 -4
- package/src/stories/Molecules/Notification/Notification.jsx +0 -25
- package/src/stories/Molecules/Notification/Notification.stories.jsx +0 -20
- package/src/stories/Molecules/PricingTable/PricingTable.css +0 -4
- package/src/stories/Molecules/PricingTable/PricingTable.jsx +0 -25
- package/src/stories/Molecules/PricingTable/PricingTable.stories.jsx +0 -20
- package/src/stories/Molecules/SearchBar/SearchBar.css +0 -69
- package/src/stories/Molecules/SearchBar/SearchBar.jsx +0 -73
- package/src/stories/Molecules/SearchBar/SearchBar.stories.jsx +0 -29
- package/src/stories/Molecules/SelectTheme/SelectTheme.css +0 -25
- package/src/stories/Molecules/SelectTheme/SelectTheme.jsx +0 -22
- package/src/stories/Molecules/SelectTheme/SelectTheme.stories.jsx +0 -24
- package/src/stories/Molecules/Sidebar/Sidebar.css +0 -67
- package/src/stories/Molecules/Sidebar/Sidebar.jsx +0 -80
- package/src/stories/Molecules/Sidebar/Sidebar.stories.jsx +0 -35
- package/src/stories/Molecules/VideoWithDescription/VideoWithDescription.css +0 -4
- package/src/stories/Molecules/VideoWithDescription/VideoWithDescription.jsx +0 -25
- package/src/stories/Molecules/VideoWithDescription/VideoWithDescription.stories.jsx +0 -20
- package/src/stories/Molecules/index.js +0 -58
- package/src/stories/Molecules/meta_Molecules.js +0 -47
- package/src/stories/Organisms/Profile/UserFriends/UserFriends.context.jsx +0 -15
- package/src/stories/Organisms/Profile/UserFriends/UserFriends.css +0 -4
- package/src/stories/Organisms/Profile/UserFriends/UserFriends.jsx +0 -13
- package/src/stories/Organisms/Profile/UserFriends/UserFriends.stories.jsx +0 -26
- package/src/stories/Organisms/Profile/UserPosts/UserPosts.context.jsx +0 -15
- package/src/stories/Organisms/Profile/UserPosts/UserPosts.css +0 -4
- package/src/stories/Organisms/Profile/UserPosts/UserPosts.jsx +0 -13
- package/src/stories/Organisms/Profile/UserPosts/UserPosts.stories.jsx +0 -26
- package/src/stories/Organisms/Profile/UserProfile/UserProfile.context.jsx +0 -15
- package/src/stories/Organisms/Profile/UserProfile/UserProfile.css +0 -4
- package/src/stories/Organisms/Profile/UserProfile/UserProfile.jsx +0 -13
- package/src/stories/Organisms/Profile/UserProfile/UserProfile.stories.jsx +0 -26
- package/src/stories/Organisms/meta_Organisms.js +0 -39
- package/src/stories/Pages/Page/Page.css +0 -69
- package/src/stories/Pages/Page/Page.jsx +0 -69
- package/src/stories/Pages/Page/Page.stories.js +0 -26
- package/src/stories/Pages/Page/Pages.js +0 -31
- package/src/stories/Templates/AdminDashboard/AdminDashboard.css +0 -7
- package/src/stories/Templates/AdminDashboard/AdminDashboard.jsx +0 -24
- package/src/stories/Templates/AdminDashboard/AdminDashboard.stories.jsx +0 -20
- package/src/stories/Templates/CallToAction/CallToAction.css +0 -7
- package/src/stories/Templates/CallToAction/CallToAction.jsx +0 -24
- package/src/stories/Templates/CallToAction/CallToAction.stories.jsx +0 -20
- package/src/stories/Templates/FeaturesList/FeaturesList.css +0 -7
- package/src/stories/Templates/FeaturesList/FeaturesList.jsx +0 -24
- package/src/stories/Templates/FeaturesList/FeaturesList.stories.jsx +0 -20
- package/src/stories/Templates/FormSection/FormSection.css +0 -7
- package/src/stories/Templates/FormSection/FormSection.jsx +0 -24
- package/src/stories/Templates/FormSection/FormSection.stories.jsx +0 -20
- package/src/stories/Templates/HeroSection/HeroSection.css +0 -7
- package/src/stories/Templates/HeroSection/HeroSection.jsx +0 -24
- package/src/stories/Templates/HeroSection/HeroSection.stories.jsx +0 -20
- package/src/stories/Templates/LocationInfo/LocationInfo.css +0 -7
- package/src/stories/Templates/LocationInfo/LocationInfo.jsx +0 -24
- package/src/stories/Templates/LocationInfo/LocationInfo.stories.jsx +0 -20
- package/src/stories/Templates/ProductPage/ProductPage.css +0 -7
- package/src/stories/Templates/ProductPage/ProductPage.jsx +0 -24
- package/src/stories/Templates/ProductPage/ProductPage.stories.jsx +0 -20
- package/src/stories/Templates/RegistrationPage/RegistrationPage.css +0 -7
- package/src/stories/Templates/RegistrationPage/RegistrationPage.jsx +0 -24
- package/src/stories/Templates/RegistrationPage/RegistrationPage.stories.jsx +0 -20
- package/src/stories/Templates/ShoppingCart/ShoppingCart.css +0 -7
- package/src/stories/Templates/ShoppingCart/ShoppingCart.jsx +0 -24
- package/src/stories/Templates/ShoppingCart/ShoppingCart.stories.jsx +0 -20
- package/src/stories/Templates/SidebarTopNav/SidebarTopNav.css +0 -7
- package/src/stories/Templates/SidebarTopNav/SidebarTopNav.jsx +0 -24
- package/src/stories/Templates/SidebarTopNav/SidebarTopNav.stories.jsx +0 -20
- package/src/stories/Templates/SignInPage/SignInPage.css +0 -7
- package/src/stories/Templates/SignInPage/SignInPage.jsx +0 -24
- package/src/stories/Templates/SignInPage/SignInPage.stories.jsx +0 -20
- package/src/stories/Templates/SocialMediaLinks/SocialMediaLinks.css +0 -7
- package/src/stories/Templates/SocialMediaLinks/SocialMediaLinks.jsx +0 -24
- package/src/stories/Templates/SocialMediaLinks/SocialMediaLinks.stories.jsx +0 -20
- package/src/stories/Templates/Testimonials/Testimonials.css +0 -7
- package/src/stories/Templates/Testimonials/Testimonials.jsx +0 -24
- package/src/stories/Templates/Testimonials/Testimonials.stories.jsx +0 -20
- package/src/stories/Templates/index.js +0 -33
- package/src/stories/Templates/meta_Templates.js +0 -29
- package/src/stories/assets/accessibility.png +0 -0
- package/src/stories/assets/accessibility.svg +0 -1
- package/src/stories/assets/addon-library.png +0 -0
- package/src/stories/assets/assets.png +0 -0
- package/src/stories/assets/avif-test-image.avif +0 -0
- package/src/stories/assets/context.png +0 -0
- package/src/stories/assets/discord.svg +0 -1
- package/src/stories/assets/docs.png +0 -0
- package/src/stories/assets/figma-plugin.png +0 -0
- package/src/stories/assets/github.svg +0 -1
- package/src/stories/assets/logo.png +0 -0
- package/src/stories/assets/logo.svg +0 -106
- package/src/stories/assets/share.png +0 -0
- package/src/stories/assets/styling.png +0 -0
- package/src/stories/assets/test.svg +0 -3
- package/src/stories/assets/testing.png +0 -0
- package/src/stories/assets/theming.png +0 -0
- package/src/stories/assets/tutorials.svg +0 -1
- package/src/stories/assets/youtube.svg +0 -1
- package/src/themes/README_Styles.md +0 -301
- package/src/themes/ThemeProvider.jsx +0 -61
- package/src/themes/styles/github/dark.css +0 -0
- package/src/themes/styles/github/light.css +0 -0
- package/src/themes/styles/neurons/dark.css +0 -247
- package/src/themes/styles/neurons/light.css +0 -170
- /package/{src/themes/styles/dracula/dark.css → .storybook/preview-head.html} +0 -0
- /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;
|
package/src/MdxProvider.jsx
DELETED
|
@@ -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;
|
package/src/PageDashboard.jsx
DELETED
|
@@ -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;
|
package/src/SiteBuilder.jsx
DELETED
|
@@ -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
|
-
})();
|