this.gui 1.0.17 → 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 -4976
- 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 -53
- 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 -63
- package/src/MdxProvider.jsx +0 -20
- package/src/Page.jsx +0 -28
- package/src/SiteBuilder.jsx +0 -39
- 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 -100
- 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 -131
- package/src/stories/Atoms/Button/Button.jsx +0 -47
- package/src/stories/Atoms/Button/Button.stories.jsx +0 -184
- 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 -89
- package/src/stories/Atoms/Container/Container.jsx +0 -54
- package/src/stories/Atoms/Container/Container.stories.jsx +0 -104
- 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 -71
- package/src/stories/Atoms/Link/Link.jsx +0 -82
- 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 -280
- /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
|
@@ -1,239 +0,0 @@
|
|
|
1
|
-
<img src="https://suign.github.io/assets/imgs/this_GUI.svg" alt="Cleaker Me" width="477" height="477" align="center" style={{marginBottom: '55px'}}/>
|
|
2
|
-
# Welcome to THIS.GUI
|
|
3
|
-
|
|
4
|
-
### **Explanation of Grouping:**
|
|
5
|
-
The **Atomic Design** methodology defines organisms as complex structures built from smaller components, but how we perceive complexity can vary based on context.
|
|
6
|
-
Let’s break it down to align with your insight:
|
|
7
|
-
|
|
8
|
-
• **Atomic**: Smallest components that are not broken down further.
|
|
9
|
-
Alert, Audio, Badge, Button, Caption, Checkbox, Container, Divider, Heading, Icon, Image, Label, Link , Loader, Paragraph, ProgressBar, RadioButton, RangeInput, Select, Slider, Snackbar, Spacer, Spinner, Tag, TextArea, TextInput, Toggle, Tooltip, Video.
|
|
10
|
-
|
|
11
|
-
• **Molecules**: Simple combinations of atomic components that together form a small UI feature.
|
|
12
|
-
Accordion, AudioPlayer, AvatarWithName, Breadcrumbs, ButtonGroup, Card, ComparisonTable, DataTable, FileUpload, FormField, Header, IconButton, ImageWithCaption, InputGroup, InputWithLabel, List, MediaCard, Modal, Navbar, Notification, PricingTable, SearchBar, Sidebar, VideoWithDescription.
|
|
13
|
-
|
|
14
|
-
• **Organisms**: More complex, combining molecules and atomic components to create larger, more detailed features.
|
|
15
|
-
|
|
16
|
-
• **Layout**: Components related to structuring and organizing content across the page.
|
|
17
|
-
|
|
18
|
-
• **Templates**: Layouts of full pages, combining organisms and layout components.
|
|
19
|
-
|
|
20
|
-
• **Pages**: Complete and functional pages made up of templates and content.
|
|
21
|
-
|
|
22
|
-
• **Miscellaneous**: Utility components that don’t fit into the above categories but provide important functions, such as popovers, overlays, and media controls.
|
|
23
|
-
|
|
24
|
-
### Here’s how it breaks down:
|
|
25
|
-
|
|
26
|
-
• Pages combine multiple Organisms (like forms, media collections, and navigation elements) to create a full layout.
|
|
27
|
-
• Organisms themselves are composed of Molecules (which could be form fields, buttons, etc.).
|
|
28
|
-
• Molecules are built from Atoms (the smallest UI components like text, buttons, inputs).
|
|
29
|
-
|
|
30
|
-
# Recap of Hierarchy
|
|
31
|
-
|
|
32
|
-
1. **Atoms:** Basic building blocks (buttons, inputs).
|
|
33
|
-
2. **Molecules:** Small functional units combining Atoms (input groups, button groups).
|
|
34
|
-
3. **Organisms:** Larger functional blocks combining Molecules (forms, media cards).
|
|
35
|
-
4. **Layouts:** Define structure and positioning (grids, sections, flexbox).
|
|
36
|
-
5. **Pages:** Use Layouts, Organisms, Molecules, and Atoms to create entire pages.
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
-------------------
|
|
40
|
-
# 1. Atomic Components (Basic/Building Blocks)
|
|
41
|
-
Atomic components are the smallest building blocks and cannot be broken down further.
|
|
42
|
-
|
|
43
|
-
**Text Components:**
|
|
44
|
-
|
|
45
|
-
• Heading (H1, H2, H3, etc.)
|
|
46
|
-
• Paragraph
|
|
47
|
-
• Label
|
|
48
|
-
• Caption
|
|
49
|
-
|
|
50
|
-
**Interactive Components:**
|
|
51
|
-
|
|
52
|
-
• Button
|
|
53
|
-
• Link (Anchor)
|
|
54
|
-
• Icon (Clickable)
|
|
55
|
-
• Checkbox
|
|
56
|
-
• Radio Button
|
|
57
|
-
• Toggle/Switch
|
|
58
|
-
• Text Input
|
|
59
|
-
• Text Area
|
|
60
|
-
• Select/Dropdown
|
|
61
|
-
• Slider
|
|
62
|
-
• Range Input
|
|
63
|
-
|
|
64
|
-
**Media Components:**
|
|
65
|
-
|
|
66
|
-
• Image
|
|
67
|
-
• Video
|
|
68
|
-
• Audio
|
|
69
|
-
• Icon
|
|
70
|
-
|
|
71
|
-
**Visual Components:**
|
|
72
|
-
|
|
73
|
-
• Divider
|
|
74
|
-
• Spacer (For layout spacing)
|
|
75
|
-
• Tooltip
|
|
76
|
-
• Badge
|
|
77
|
-
• Tag/Chip
|
|
78
|
-
|
|
79
|
-
**Feedback Components:**
|
|
80
|
-
|
|
81
|
-
• Loader/Spinner
|
|
82
|
-
• Progress Bar
|
|
83
|
-
• Alert
|
|
84
|
-
• Snackbar/Toast
|
|
85
|
-
• Tooltip
|
|
86
|
-
|
|
87
|
-
# 2. Molecules (Combining Atomic Components)
|
|
88
|
-
Molecules are combinations of atomic components that work together to form a functional unit.
|
|
89
|
-
|
|
90
|
-
**Form Elements:**
|
|
91
|
-
|
|
92
|
-
• Input Group (Input with Button)
|
|
93
|
-
• Input with Label
|
|
94
|
-
• Search Bar
|
|
95
|
-
• File Upload
|
|
96
|
-
• Form Field (Label + Input + Helper Text)
|
|
97
|
-
|
|
98
|
-
**Buttons with Icons or Text:**
|
|
99
|
-
|
|
100
|
-
• Icon Button (Button with Icon)
|
|
101
|
-
• Button Group (Multiple Buttons together)
|
|
102
|
-
|
|
103
|
-
**Media Molecules:**
|
|
104
|
-
|
|
105
|
-
• Image with Caption
|
|
106
|
-
• Video with Controls and Description
|
|
107
|
-
• Avatar + Name
|
|
108
|
-
• Audio Player
|
|
109
|
-
|
|
110
|
-
**Feedback Molecules:**
|
|
111
|
-
|
|
112
|
-
• Notification (with Alert, Title, and Action)
|
|
113
|
-
• Modal (Header, Body, Footer)
|
|
114
|
-
|
|
115
|
-
# 3. Organisms (Combining Molecules)
|
|
116
|
-
Organisms are larger and more complex UI components formed by grouping together multiple molecules or simple components.
|
|
117
|
-
|
|
118
|
-
**Forms and Form Layouts:**
|
|
119
|
-
|
|
120
|
-
• Sign-In Form (Form fields + Submit Button)
|
|
121
|
-
• Registration Form (Fields for name, email, password + Terms Checkbox + Submit)
|
|
122
|
-
• Contact Form (Input fields + Message TextArea + Send Button)
|
|
123
|
-
|
|
124
|
-
**Content Display:**
|
|
125
|
-
|
|
126
|
-
• Card (Image + Title + Description + Action Button)
|
|
127
|
-
• Media Card (Image/Video + Title + Text)
|
|
128
|
-
• List (Collection of items, e.g., a list of links or products)
|
|
129
|
-
• Accordion (Expandable sections with content inside)
|
|
130
|
-
|
|
131
|
-
**Navigation:**
|
|
132
|
-
|
|
133
|
-
• Navbar (Logo + Links + Search + Menu Toggle)
|
|
134
|
-
• Sidebar (List of links for navigation)
|
|
135
|
-
• Breadcrumbs (Links showing hierarchy)
|
|
136
|
-
|
|
137
|
-
**Media Collections:**
|
|
138
|
-
|
|
139
|
-
• Image Gallery (Grid of images with captions)
|
|
140
|
-
• Video Playlist (List of videos to watch)
|
|
141
|
-
• Carousel/Slider (Image or Media Slider)
|
|
142
|
-
|
|
143
|
-
**Tables:**
|
|
144
|
-
|
|
145
|
-
• Data Table (Rows and Columns for displaying structured data)
|
|
146
|
-
• Pricing Table (Different pricing options)
|
|
147
|
-
• Comparison Table (Compares features/products)
|
|
148
|
-
|
|
149
|
-
# 4. Layout Components (Page-Level Components)
|
|
150
|
-
Layout components are structural elements used to organize content on a page.
|
|
151
|
-
|
|
152
|
-
• **Grid/Section Layouts:**
|
|
153
|
-
|
|
154
|
-
• Grid (Arranges items in a structured layout with rows and columns)
|
|
155
|
-
• Section (A part of the page with a header, content, and actions)
|
|
156
|
-
• Flexbox Layout (Horizontally/Vertically aligned containers)
|
|
157
|
-
|
|
158
|
-
**Navigation & Menus:**
|
|
159
|
-
|
|
160
|
-
• Header (Navbar + Search + Links)
|
|
161
|
-
• Footer (Copyright + Links + Social Media Icons)
|
|
162
|
-
• Dropdown Menu (Toggleable menu of options)
|
|
163
|
-
• Pagination (Buttons for navigating multiple pages)
|
|
164
|
-
|
|
165
|
-
**Content Organization:**
|
|
166
|
-
|
|
167
|
-
• Sidebar (For navigation or additional info)
|
|
168
|
-
• Tabs (Switching between different content views)
|
|
169
|
-
• Accordion (Collapsible sections)
|
|
170
|
-
|
|
171
|
-
**Hero Sections:**
|
|
172
|
-
|
|
173
|
-
• Hero Banner (Large heading, subheading, image, and call to action)
|
|
174
|
-
• Hero Image/Video Section (Introductory section at the top of a page)
|
|
175
|
-
|
|
176
|
-
# 5. Templates (Combining Organisms and Layout Components)
|
|
177
|
-
Templates define the structure of entire pages by arranging multiple organisms and layout components.
|
|
178
|
-
|
|
179
|
-
**Landing Pages:**
|
|
180
|
-
|
|
181
|
-
• Hero Section + Features List + Call-to-Action Button + Testimonials
|
|
182
|
-
• Product Landing Page (Hero, Features, Pricing, CTA)
|
|
183
|
-
|
|
184
|
-
**Dashboard Layouts:**
|
|
185
|
-
|
|
186
|
-
• Sidebar + Top Navbar + Content Area
|
|
187
|
-
• Admin Dashboard (Graphs, Lists, Cards, Notifications)
|
|
188
|
-
|
|
189
|
-
**E-Commerce Pages:**
|
|
190
|
-
|
|
191
|
-
• Product Page (Product Image, Description, Price, Add to Cart Button)
|
|
192
|
-
• Shopping Cart (List of items, quantity, total, checkout button)
|
|
193
|
-
|
|
194
|
-
**Authentication Pages:**
|
|
195
|
-
|
|
196
|
-
• Sign-In Page (Form + Link to Register)
|
|
197
|
-
• Registration Page (Form + Link to Sign In)
|
|
198
|
-
|
|
199
|
-
**Contact Us Page:**
|
|
200
|
-
|
|
201
|
-
• Form Section + Location Info + Social Media Links
|
|
202
|
-
|
|
203
|
-
# 6. Pages (Final Composition of Templates)
|
|
204
|
-
Pages are final representations of the full UI, using templates to create entire sections with components.
|
|
205
|
-
|
|
206
|
-
• Home Page
|
|
207
|
-
• About Us Page
|
|
208
|
-
• Contact Us Page
|
|
209
|
-
• User Profile Page
|
|
210
|
-
• Product Detail Page
|
|
211
|
-
• Checkout Page
|
|
212
|
-
• Blog/Article Page
|
|
213
|
-
• Admin Dashboard
|
|
214
|
-
• Search Results Page
|
|
215
|
-
|
|
216
|
-
# 7. Miscellaneous / Utility Components
|
|
217
|
-
These components often serve specialized purposes and improve user interaction.
|
|
218
|
-
|
|
219
|
-
**Tooltips & Popovers:**
|
|
220
|
-
|
|
221
|
-
• Pop-up information when hovering over or clicking an element.
|
|
222
|
-
**Overlays:**
|
|
223
|
-
|
|
224
|
-
• Modal/Popup Window
|
|
225
|
-
• Drawer (Slide-in navigation or settings panel)
|
|
226
|
-
|
|
227
|
-
**Search Components:**
|
|
228
|
-
|
|
229
|
-
• Search Box (Input field with search button)
|
|
230
|
-
• Autocomplete/Typeahead
|
|
231
|
-
|
|
232
|
-
**Media and Content Controls:**
|
|
233
|
-
|
|
234
|
-
• Audio/Video Controls (Play, Pause, Mute)
|
|
235
|
-
• Filters (Search filters, Tag filters)
|
|
236
|
-
|
|
237
|
-
**Interactive Maps:**
|
|
238
|
-
|
|
239
|
-
• Map (With interactive markers, zoom, and pan)
|
|
@@ -1,293 +0,0 @@
|
|
|
1
|
-
/* Base Accordion Styles */
|
|
2
|
-
.accordion {
|
|
3
|
-
border-radius: var(--border-radius);
|
|
4
|
-
transition: var(--transition-speed) ease;
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
/* Accordion Item Styles */
|
|
8
|
-
.accordion__item {
|
|
9
|
-
margin-bottom: var(--spacing-sm);
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
/* Accordion Header */
|
|
13
|
-
.accordion__header {
|
|
14
|
-
padding: 16px;
|
|
15
|
-
width: 100%;
|
|
16
|
-
text-align: left;
|
|
17
|
-
border: none;
|
|
18
|
-
cursor: pointer;
|
|
19
|
-
display: flex;
|
|
20
|
-
justify-content: space-between;
|
|
21
|
-
align-items: center;
|
|
22
|
-
transition: background-color var(--transition-speed), color var(--transition-speed);
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
/* PRIMARY VARIANT (Full Background Color) */
|
|
26
|
-
.accordion--primary .accordion__header {
|
|
27
|
-
background-color: var(--primary-color);
|
|
28
|
-
color: var(--text-color-inverse);
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
/* Ensure the secondary variant starts with no background */
|
|
32
|
-
.accordion--secondary .accordion__header {
|
|
33
|
-
background-color: transparent;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
/* Background color variants for Primary */
|
|
37
|
-
.accordion--primary.accordion--secondary .accordion__header {
|
|
38
|
-
background-color: var(--secondary-color);
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
.accordion--primary.accordion--info .accordion__header {
|
|
42
|
-
background-color: var(--info-color);
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
.accordion--primary.accordion--warning .accordion__header {
|
|
46
|
-
background-color: var(--warning-color);
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
.accordion--primary.accordion--alert .accordion__header {
|
|
50
|
-
background-color: var(--alert-color);
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
.accordion--primary.accordion--success .accordion__header {
|
|
54
|
-
background-color: var(--success-color);
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
.accordion--primary.accordion--neutral .accordion__header {
|
|
58
|
-
background-color: var(--neutral-color);
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
.accordion--primary.accordion--dark .accordion__header {
|
|
62
|
-
background-color: var(--dark-color);
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
/* Classy Palette */
|
|
66
|
-
.accordion--primary.accordion--classy-color-1 .accordion__header {
|
|
67
|
-
background-color: var(--classy-color-1);
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
.accordion--primary.accordion--classy-color-2 .accordion__header {
|
|
71
|
-
background-color: var(--classy-color-2);
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
.accordion--primary.accordion--classy-color-3 .accordion__header {
|
|
75
|
-
background-color: var(--classy-color-3);
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
.accordion--primary.accordion--classy-color-4 .accordion__header {
|
|
79
|
-
background-color: var(--classy-color-4);
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
.accordion--primary.accordion--classy-color-5 .accordion__header {
|
|
83
|
-
background-color: var(--classy-color-5);
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
/* Small Switch Palette */
|
|
87
|
-
.accordion--primary.accordion--small-switch-color-1 .accordion__header {
|
|
88
|
-
background-color: var(--small-switch-color-1);
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
.accordion--primary.accordion--small-switch-color-2 .accordion__header {
|
|
92
|
-
background-color: var(--small-switch-color-2);
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
/* Natural Palette */
|
|
96
|
-
.accordion--primary.accordion--natural-color-1 .accordion__header {
|
|
97
|
-
background-color: var(--natural-color-1);
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
.accordion--primary.accordion--natural-color-2 .accordion__header {
|
|
101
|
-
background-color: var(--natural-color-2);
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
.accordion--primary.accordion--natural-color-3 .accordion__header {
|
|
105
|
-
background-color: var(--natural-color-3);
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
/* Grey Friends */
|
|
109
|
-
.accordion--primary.accordion--grey-friend-1 .accordion__header {
|
|
110
|
-
background-color: var(--grey-friend-1);
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
.accordion--primary.accordion--grey-friend-2 .accordion__header {
|
|
114
|
-
background-color: var(--grey-friend-2);
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
/* Shades */
|
|
118
|
-
.accordion--primary.accordion--shade-1 .accordion__header {
|
|
119
|
-
background-color: var(--shade-1);
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
.accordion--primary.accordion--shade-2 .accordion__header {
|
|
123
|
-
background-color: var(--shade-2);
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
.accordion--primary.accordion--shade-3 .accordion__header {
|
|
127
|
-
background-color: var(--shade-3);
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
.accordion--primary.accordion--shade-4 .accordion__header {
|
|
131
|
-
background-color: var(--shade-4);
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
/* SECONDARY VARIANT (Border Only) */
|
|
135
|
-
.accordion--secondary .accordion__header {
|
|
136
|
-
background-color: transparent; /* Ensure transparent background */
|
|
137
|
-
border: 2px solid var(--primary-color); /* Default border color */
|
|
138
|
-
color: var(--primary-color); /* Default text color */
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
.accordion--secondary.accordion--secondary .accordion__header {
|
|
142
|
-
border-color: var(--secondary-color);
|
|
143
|
-
color: var(--secondary-color);
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
.accordion--secondary.accordion--info .accordion__header {
|
|
147
|
-
border-color: var(--info-color);
|
|
148
|
-
color: var(--info-color);
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
.accordion--secondary.accordion--warning .accordion__header {
|
|
152
|
-
border-color: var(--warning-color);
|
|
153
|
-
color: var(--warning-color);
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
.accordion--secondary.accordion--alert .accordion__header {
|
|
157
|
-
border-color: var(--alert-color);
|
|
158
|
-
color: var(--alert-color);
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
.accordion--secondary.accordion--success .accordion__header {
|
|
162
|
-
border-color: var(--success-color);
|
|
163
|
-
color: var(--success-color);
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
.accordion--secondary.accordion--neutral .accordion__header {
|
|
167
|
-
border-color: var(--neutral-color);
|
|
168
|
-
color: var(--neutral-color);
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
.accordion--secondary.accordion--dark .accordion__header {
|
|
172
|
-
border-color: var(--dark-color);
|
|
173
|
-
color: var(--dark-color);
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
/* Classy Palette */
|
|
177
|
-
.accordion--secondary.accordion--classy-color-1 .accordion__header {
|
|
178
|
-
border-color: var(--classy-color-1);
|
|
179
|
-
color: var(--classy-color-1);
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
.accordion--secondary.accordion--classy-color-2 .accordion__header {
|
|
183
|
-
border-color: var(--classy-color-2);
|
|
184
|
-
color: var(--classy-color-2);
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
.accordion--secondary.accordion--classy-color-3 .accordion__header {
|
|
188
|
-
border-color: var(--classy-color-3);
|
|
189
|
-
color: var(--classy-color-3);
|
|
190
|
-
}
|
|
191
|
-
|
|
192
|
-
.accordion--secondary.accordion--classy-color-4 .accordion__header {
|
|
193
|
-
border-color: var(--classy-color-4);
|
|
194
|
-
color: var(--classy-color-4);
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
.accordion--secondary.accordion--classy-color-5 .accordion__header {
|
|
198
|
-
border-color: var(--classy-color-5);
|
|
199
|
-
color: var(--classy-color-5);
|
|
200
|
-
}
|
|
201
|
-
|
|
202
|
-
/* Small Switch Palette */
|
|
203
|
-
.accordion--secondary.accordion--small-switch-color-1 .accordion__header {
|
|
204
|
-
border-color: var(--small-switch-color-1);
|
|
205
|
-
color: var(--small-switch-color-1);
|
|
206
|
-
}
|
|
207
|
-
|
|
208
|
-
.accordion--secondary.accordion--small-switch-color-2 .accordion__header {
|
|
209
|
-
border-color: var(--small-switch-color-2);
|
|
210
|
-
color: var(--small-switch-color-2);
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
/* Natural Palette */
|
|
214
|
-
.accordion--secondary.accordion--natural-color-1 .accordion__header {
|
|
215
|
-
border-color: var(--natural-color-1);
|
|
216
|
-
color: var(--natural-color-1);
|
|
217
|
-
}
|
|
218
|
-
|
|
219
|
-
.accordion--secondary.accordion--natural-color-2 .accordion__header {
|
|
220
|
-
border-color: var(--natural-color-2);
|
|
221
|
-
color: var(--natural-color-2);
|
|
222
|
-
}
|
|
223
|
-
|
|
224
|
-
.accordion--secondary.accordion--natural-color-3 .accordion__header {
|
|
225
|
-
border-color: var(--natural-color-3);
|
|
226
|
-
color: var(--natural-color-3);
|
|
227
|
-
}
|
|
228
|
-
|
|
229
|
-
/* Grey Friends */
|
|
230
|
-
.accordion--secondary.accordion--grey-friend-1 .accordion__header {
|
|
231
|
-
border-color: var(--grey-friend-1);
|
|
232
|
-
color: var(--grey-friend-1);
|
|
233
|
-
}
|
|
234
|
-
|
|
235
|
-
.accordion--secondary.accordion--grey-friend-2 .accordion__header {
|
|
236
|
-
border-color: var(--grey-friend-2);
|
|
237
|
-
color: var(--grey-friend-2);
|
|
238
|
-
}
|
|
239
|
-
|
|
240
|
-
/* Shades */
|
|
241
|
-
.accordion--secondary.accordion--shade-1 .accordion__header {
|
|
242
|
-
border-color: var(--shade-1);
|
|
243
|
-
color: var(--shade-1);
|
|
244
|
-
}
|
|
245
|
-
|
|
246
|
-
.accordion--secondary.accordion--shade-2 .accordion__header {
|
|
247
|
-
border-color: var(--shade-2);
|
|
248
|
-
color: var(--shade-2);
|
|
249
|
-
}
|
|
250
|
-
|
|
251
|
-
.accordion--secondary.accordion--shade-3 .accordion__header {
|
|
252
|
-
border-color: var(--shade-3);
|
|
253
|
-
color: var(--shade-3);
|
|
254
|
-
}
|
|
255
|
-
|
|
256
|
-
.accordion--secondary.accordion--shade-4 .accordion__header {
|
|
257
|
-
border-color: var(--shade-4);
|
|
258
|
-
color: var(--shade-4);
|
|
259
|
-
}
|
|
260
|
-
/* Accordion Content */
|
|
261
|
-
.accordion__content {
|
|
262
|
-
max-height: 0;
|
|
263
|
-
overflow: hidden;
|
|
264
|
-
transition: max-height 0.3s ease;
|
|
265
|
-
padding: 0 16px;
|
|
266
|
-
background-color: inherit;
|
|
267
|
-
}
|
|
268
|
-
|
|
269
|
-
/* Border Option for Accordion Content */
|
|
270
|
-
.accordion--border .accordion__content {
|
|
271
|
-
border: 1px solid var(--border-color);
|
|
272
|
-
}
|
|
273
|
-
|
|
274
|
-
.accordion__content--open {
|
|
275
|
-
max-height: 200px;
|
|
276
|
-
padding: 16px;
|
|
277
|
-
}
|
|
278
|
-
|
|
279
|
-
/* Icon for Expand/Collapse */
|
|
280
|
-
.accordion__icon {
|
|
281
|
-
transition: transform var(--transition-speed);
|
|
282
|
-
}
|
|
283
|
-
|
|
284
|
-
.accordion__icon--open {
|
|
285
|
-
transform: rotate(180deg);
|
|
286
|
-
}
|
|
287
|
-
|
|
288
|
-
/* Responsive Styles */
|
|
289
|
-
@media (max-width: 768px) {
|
|
290
|
-
.accordion__header {
|
|
291
|
-
font-size: var(--font-size-small);
|
|
292
|
-
}
|
|
293
|
-
}
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
import React, { useState } from 'react';
|
|
2
|
-
import PropTypes from 'prop-types';
|
|
3
|
-
import './Accordion.css';
|
|
4
|
-
|
|
5
|
-
export const Accordion = ({ allowMultipleOpen, items, color, variant, showArrow, border }) => {
|
|
6
|
-
const [openIndexes, setOpenIndexes] = useState([]);
|
|
7
|
-
|
|
8
|
-
const handleToggle = (index) => {
|
|
9
|
-
if (openIndexes.includes(index)) {
|
|
10
|
-
setOpenIndexes(openIndexes.filter((i) => i !== index));
|
|
11
|
-
} else {
|
|
12
|
-
setOpenIndexes(allowMultipleOpen ? [...openIndexes, index] : [index]);
|
|
13
|
-
}
|
|
14
|
-
};
|
|
15
|
-
|
|
16
|
-
const accordionClass = `accordion accordion--${variant} accordion--${color} ${border ? 'accordion--border' : ''}`;
|
|
17
|
-
|
|
18
|
-
return (
|
|
19
|
-
<div className={accordionClass}>
|
|
20
|
-
{items.map((item, index) => (
|
|
21
|
-
<div key={index} className="accordion__item">
|
|
22
|
-
<button
|
|
23
|
-
className={`accordion__header`}
|
|
24
|
-
onClick={() => handleToggle(index)}
|
|
25
|
-
aria-expanded={openIndexes.includes(index)}
|
|
26
|
-
aria-controls={`accordion__content-${index}`}
|
|
27
|
-
>
|
|
28
|
-
{item.title}
|
|
29
|
-
{showArrow && (
|
|
30
|
-
<span className={`accordion__icon ${openIndexes.includes(index) ? 'accordion__icon--open' : ''}`}>
|
|
31
|
-
▾
|
|
32
|
-
</span>
|
|
33
|
-
)}
|
|
34
|
-
</button>
|
|
35
|
-
<div
|
|
36
|
-
id={`accordion__content-${index}`}
|
|
37
|
-
className={`accordion__content ${openIndexes.includes(index) ? 'accordion__content--open' : ''}`}
|
|
38
|
-
>
|
|
39
|
-
{item.content}
|
|
40
|
-
</div>
|
|
41
|
-
</div>
|
|
42
|
-
))}
|
|
43
|
-
</div>
|
|
44
|
-
);
|
|
45
|
-
};
|
|
46
|
-
|
|
47
|
-
Accordion.propTypes = {
|
|
48
|
-
allowMultipleOpen: PropTypes.bool,
|
|
49
|
-
items: PropTypes.arrayOf(
|
|
50
|
-
PropTypes.shape({
|
|
51
|
-
title: PropTypes.string.isRequired,
|
|
52
|
-
content: PropTypes.node.isRequired,
|
|
53
|
-
})
|
|
54
|
-
).isRequired,
|
|
55
|
-
variant: PropTypes.oneOf(['primary', 'secondary']),
|
|
56
|
-
color: PropTypes.oneOf([
|
|
57
|
-
'primary', 'secondary', 'info', 'warning', 'alert', 'success', 'neutral', 'dark',
|
|
58
|
-
'classy-color-1', 'classy-color-2', 'classy-color-3', 'classy-color-4', 'classy-color-5',
|
|
59
|
-
'small-switch-color-1', 'small-switch-color-2',
|
|
60
|
-
'natural-color-1', 'natural-color-2', 'natural-color-3',
|
|
61
|
-
'grey-friend-1', 'grey-friend-2',
|
|
62
|
-
'shade-1', 'shade-2', 'shade-3', 'shade-4'
|
|
63
|
-
]),
|
|
64
|
-
showArrow: PropTypes.bool,
|
|
65
|
-
border: PropTypes.bool,
|
|
66
|
-
};
|
|
67
|
-
|
|
68
|
-
Accordion.defaultProps = {
|
|
69
|
-
allowMultipleOpen: false,
|
|
70
|
-
color: 'primary',
|
|
71
|
-
variant: 'primary',
|
|
72
|
-
showArrow: true,
|
|
73
|
-
border: false,
|
|
74
|
-
};
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { Accordion } from './Accordion';
|
|
3
|
-
|
|
4
|
-
export default {
|
|
5
|
-
title: 'Molecules/Organization/Accordion',
|
|
6
|
-
component: Accordion,
|
|
7
|
-
argTypes: {
|
|
8
|
-
allowMultipleOpen: { control: 'boolean', defaultValue: false },
|
|
9
|
-
variant: {
|
|
10
|
-
control: 'select',
|
|
11
|
-
options: ['primary', 'secondary'],
|
|
12
|
-
defaultValue: 'primary',
|
|
13
|
-
},
|
|
14
|
-
color: {
|
|
15
|
-
control: 'select',
|
|
16
|
-
options: [
|
|
17
|
-
'primary', 'secondary', 'info', 'warning', 'alert', 'success', 'neutral', 'dark',
|
|
18
|
-
'classy-color-1', 'classy-color-2', 'classy-color-3', 'classy-color-4', 'classy-color-5',
|
|
19
|
-
'small-switch-color-1', 'small-switch-color-2',
|
|
20
|
-
'natural-color-1', 'natural-color-2', 'natural-color-3',
|
|
21
|
-
'grey-friend-1', 'grey-friend-2',
|
|
22
|
-
'shade-1', 'shade-2', 'shade-3', 'shade-4'
|
|
23
|
-
],
|
|
24
|
-
defaultValue: 'primary',
|
|
25
|
-
},
|
|
26
|
-
showArrow: { control: 'boolean', defaultValue: true },
|
|
27
|
-
border: { control: 'boolean', defaultValue: false },
|
|
28
|
-
},
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
const items = [
|
|
32
|
-
{ title: 'Section 1', content: 'Content for section 1' },
|
|
33
|
-
{ title: 'Section 2', content: 'Content for section 2' },
|
|
34
|
-
{ title: 'Section 3', content: 'Content for section 3' },
|
|
35
|
-
];
|
|
36
|
-
|
|
37
|
-
export const DefaultAccordion = (args) => <Accordion {...args} items={items} />;
|
|
38
|
-
export const MultipleOpenAccordion = (args) => <Accordion {...args} allowMultipleOpen={true} items={items} />;
|
|
39
|
-
export const AccordionWithBorder = (args) => <Accordion {...args} border={true} items={items} />;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import './Flexbox.css';
|
|
3
|
-
|
|
4
|
-
export const Flexbox = ({ children, primary, ...props }) => {
|
|
5
|
-
const mode = primary ? 'flexbox--primary' : 'flexbox--secondary';
|
|
6
|
-
return (
|
|
7
|
-
<div className={['flexbox', mode].join(' ')} {...props}>
|
|
8
|
-
{children}
|
|
9
|
-
</div>
|
|
10
|
-
);
|
|
11
|
-
};
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
import { Flexbox } from './Flexbox';
|
|
3
|
-
|
|
4
|
-
// Storybook configuration for Flexbox component
|
|
5
|
-
export default {
|
|
6
|
-
title: 'Layouts/FlexboxLayout/Flexbox',
|
|
7
|
-
component: Flexbox,
|
|
8
|
-
parameters: {
|
|
9
|
-
layout: 'fullscreen',
|
|
10
|
-
},
|
|
11
|
-
argTypes: {
|
|
12
|
-
children: { control: 'text' },
|
|
13
|
-
},
|
|
14
|
-
};
|
|
15
|
-
|
|
16
|
-
export const Primary = {
|
|
17
|
-
args: {
|
|
18
|
-
primary: true,
|
|
19
|
-
children: 'This is a primary Flexbox layout.',
|
|
20
|
-
},
|
|
21
|
-
};
|
|
22
|
-
|
|
23
|
-
export const Secondary = {
|
|
24
|
-
args: {
|
|
25
|
-
primary: false,
|
|
26
|
-
children: 'This is a secondary Flexbox layout.',
|
|
27
|
-
},
|
|
28
|
-
};
|