this.gui 1.0.18 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (480) hide show
  1. package/.storybook/main.js +40 -0
  2. package/.storybook/manager-head.html +13 -0
  3. package/.storybook/manager.js +15 -0
  4. package/.storybook/preview.tsx +54 -0
  5. package/.storybook/vitest.setup.js +6 -0
  6. package/.storybook/withLayout.tsx +18 -0
  7. package/README.md +1 -220
  8. package/dist/GUI.png +0 -0
  9. package/dist/GUI2.png +0 -0
  10. package/dist/favicon.ico +0 -0
  11. package/dist/this-gui.es.js +108493 -5056
  12. package/dist/this-gui.umd.js +239 -44
  13. package/dist/this.GUI.png +0 -0
  14. package/nodes/overall approach.md +93 -0
  15. package/notes/Proyect.md +109 -0
  16. package/package.json +71 -54
  17. package/public/GUI.png +0 -0
  18. package/public/GUI2.png +0 -0
  19. package/public/favicon.ico +0 -0
  20. package/public/this.GUI.png +0 -0
  21. package/src/components/generics/Cards/Gridme.jsx +52 -0
  22. package/src/components/generics/Cards/LilBox.jsx +65 -0
  23. package/src/components/generics/Cards/ModuleCard.jsx +106 -0
  24. package/src/components/generics/Chats/FullChatBot.jsx +223 -0
  25. package/src/components/generics/Code/CodeBlock.jsx +33 -0
  26. package/src/components/generics/Feedback/Callout.jsx +92 -0
  27. package/src/components/generics/Layout/GridX.jsx +29 -0
  28. package/src/components/generics/Layout/Hero2.jsx +132 -0
  29. package/src/components/generics/Layout/PageContainer.jsx +29 -0
  30. package/src/components/generics/Layout/PageDivider.jsx +20 -0
  31. package/src/components/generics/Layout/Section.jsx +43 -0
  32. package/src/components/generics/Layout/SectionHeader.jsx +21 -0
  33. package/src/components/generics/Media/Img.jsx +58 -0
  34. package/src/components/generics/Media/VideoEmbed.jsx +51 -0
  35. package/src/components/generics/Organization/TableOfContents.jsx +51 -0
  36. package/src/components/generics/Organization/Tabs.jsx +45 -0
  37. package/src/components/generics/Text/TextList.jsx +41 -0
  38. package/src/components/generics/Text/TextParagraph.jsx +28 -0
  39. package/src/components/generics/Text/TextQuote.jsx +23 -0
  40. package/src/components/generics/Text/TextTitle.jsx +44 -0
  41. package/src/components/this.me/MeActive.jsx +24 -0
  42. package/src/components/this.me/MeFloating.jsx +183 -0
  43. package/src/components/this.me/MeInactive.jsx +21 -0
  44. package/src/components/this.me/MeListUs.jsx +40 -0
  45. package/src/components/this.me/MeState.jsx +25 -0
  46. package/src/components/this.me/hooks/useMe.js +43 -0
  47. package/src/context/GuiProvider.tsx +243 -0
  48. package/src/gui/atoms/AppBar/AppBar.resolver.tsx +77 -0
  49. package/src/gui/atoms/AppBar/AppBar.stories.tsx +232 -0
  50. package/src/gui/atoms/AppBar/AppBar.tsx +10 -0
  51. package/src/gui/atoms/Box/Box.resolver.tsx +171 -0
  52. package/src/gui/atoms/Box/Box.stories.tsx +271 -0
  53. package/src/gui/atoms/Box/Box.tsx +15 -0
  54. package/src/gui/atoms/Button/Button.resolver.tsx +98 -0
  55. package/src/gui/atoms/Button/Button.stories.tsx +225 -0
  56. package/src/gui/atoms/Button/Button.tsx +40 -0
  57. package/src/gui/atoms/Collapse/Collapse.resolver.tsx +85 -0
  58. package/src/gui/atoms/Collapse/Collapse.stories.tsx +136 -0
  59. package/src/gui/atoms/Collapse/Collapse.tsx +17 -0
  60. package/src/gui/atoms/Divider/Divider.resolver.tsx +95 -0
  61. package/src/gui/atoms/Divider/Divider.stories.tsx +109 -0
  62. package/src/gui/atoms/Divider/Divider.tsx +14 -0
  63. package/src/gui/atoms/Drawer/Drawer.resolver.tsx +116 -0
  64. package/src/gui/atoms/Drawer/Drawer.stories.tsx +229 -0
  65. package/src/gui/atoms/Drawer/Drawer.tsx +8 -0
  66. package/src/gui/atoms/IconButton/IconButton.resolver.tsx +135 -0
  67. package/src/gui/atoms/IconButton/IconButton.stories.tsx +141 -0
  68. package/src/gui/atoms/IconButton/IconButton.tsx +22 -0
  69. package/src/gui/atoms/Link/Link.resolver.tsx +75 -0
  70. package/src/gui/atoms/Link/Link.stories.tsx +164 -0
  71. package/src/gui/atoms/Link/Link.tsx +14 -0
  72. package/src/gui/atoms/List/List.resolver.tsx +95 -0
  73. package/src/gui/atoms/List/List.stories.tsx +143 -0
  74. package/src/gui/atoms/List/List.tsx +20 -0
  75. package/src/gui/atoms/ListItem/ListItem.resolver.tsx +88 -0
  76. package/src/gui/atoms/ListItem/ListItem.stories.tsx +157 -0
  77. package/src/gui/atoms/ListItem/ListItem.tsx +19 -0
  78. package/src/gui/atoms/ListItemButton/ListItemButton.resolver.tsx +208 -0
  79. package/src/gui/atoms/ListItemButton/ListItemButton.stories.tsx +161 -0
  80. package/src/gui/atoms/ListItemButton/ListItemButton.tsx +15 -0
  81. package/src/gui/atoms/ListItemIcon/ListItemIcon.resolver.tsx +102 -0
  82. package/src/gui/atoms/ListItemIcon/ListItemIcon.stories.tsx +135 -0
  83. package/src/gui/atoms/ListItemIcon/ListItemIcon.tsx +11 -0
  84. package/src/gui/atoms/ListItemText/ListItemText.resolver.tsx +112 -0
  85. package/src/gui/atoms/ListItemText/ListItemText.stories.tsx +162 -0
  86. package/src/gui/atoms/ListItemText/ListItemText.tsx +15 -0
  87. package/src/gui/atoms/Menu/Menu.resolver.tsx +112 -0
  88. package/src/gui/atoms/Menu/Menu.stories.tsx +168 -0
  89. package/src/gui/atoms/Menu/Menu.tsx +17 -0
  90. package/src/gui/atoms/MenuItem/MenuItem.resolver.tsx +183 -0
  91. package/src/gui/atoms/MenuItem/MenuItem.stories.tsx +138 -0
  92. package/src/gui/atoms/MenuItem/MenuItem.tsx +14 -0
  93. package/src/gui/atoms/Paper/Paper.resolver.tsx +98 -0
  94. package/src/gui/atoms/Paper/Paper.stories.tsx +191 -0
  95. package/src/gui/atoms/Paper/Paper.tsx +17 -0
  96. package/src/gui/atoms/Stack/Stack.resolver.tsx +94 -0
  97. package/src/gui/atoms/Stack/Stack.stories.tsx +166 -0
  98. package/src/gui/atoms/Stack/Stack.tsx +15 -0
  99. package/src/gui/atoms/Switch/Switch.resolver.tsx +53 -0
  100. package/src/gui/atoms/Switch/Switch.stories.tsx +242 -0
  101. package/src/gui/atoms/Switch/Switch.tsx +22 -0
  102. package/src/gui/atoms/Toolbar/Toolbar.resolver.tsx +60 -0
  103. package/src/gui/atoms/Toolbar/Toolbar.stories.tsx +163 -0
  104. package/src/gui/atoms/Toolbar/Toolbar.tsx +16 -0
  105. package/src/gui/atoms/Tooltip/Tooltip.resolver.tsx +142 -0
  106. package/src/gui/atoms/Tooltip/Tooltip.stories.tsx +118 -0
  107. package/src/gui/atoms/Tooltip/Tooltip.tsx +78 -0
  108. package/src/gui/atoms/Typography/Typography.resolver.tsx +158 -0
  109. package/src/gui/atoms/Typography/Typography.stories.tsx +228 -0
  110. package/src/gui/atoms/Typography/Typography.tsx +27 -0
  111. package/src/gui/atoms.tsx +129 -0
  112. package/src/gui/index.ts +69 -0
  113. package/src/gui/molecules/AppBars/Footer/Footer.resolver.tsx +104 -0
  114. package/src/gui/molecules/AppBars/Footer/Footer.stories.tsx +499 -0
  115. package/src/gui/molecules/AppBars/Footer/Footer.tsx +307 -0
  116. package/src/gui/molecules/AppBars/LeftSidebar/LeftSidebar.resolver.tsx +75 -0
  117. package/src/gui/molecules/AppBars/LeftSidebar/LeftSidebar.stories.tsx +61 -0
  118. package/src/gui/molecules/AppBars/LeftSidebar/LeftSidebar.tsx +511 -0
  119. package/src/gui/molecules/AppBars/LeftSidebar/SidebarToggleButton.tsx +51 -0
  120. package/src/gui/molecules/AppBars/RightSidebar/RightSidebar.resolver.tsx +97 -0
  121. package/src/gui/molecules/AppBars/RightSidebar/RightSidebar.stories.tsx +294 -0
  122. package/src/gui/molecules/AppBars/RightSidebar/RightSidebar.tsx +295 -0
  123. package/src/gui/molecules/AppBars/StickyOptions/StickyOptionsTop.stories.tsx +480 -0
  124. package/src/gui/molecules/AppBars/StickyOptions/StickyOptionsTop.tsx +484 -0
  125. package/src/gui/molecules/AppBars/TopBar/TopBar.resolver.tsx +84 -0
  126. package/src/gui/molecules/AppBars/TopBar/TopBar.stories.tsx +297 -0
  127. package/src/gui/molecules/AppBars/TopBar/TopBar.tsx +299 -0
  128. package/src/gui/molecules/Utilities/ThemeModeToggle/ThemeModeToggle.resolver.tsx +72 -0
  129. package/src/gui/molecules/Utilities/ThemeModeToggle/ThemeModeToggle.stories.tsx +154 -0
  130. package/src/gui/molecules/Utilities/ThemeModeToggle/ThemeModeToggle.tsx +100 -0
  131. package/src/gui/molecules/Utilities/ThemeSelector.jsx +281 -0
  132. package/src/gui/utils/nodeID.ts +8 -0
  133. package/src/index.js +111 -0
  134. package/src/registry/GuiRegistry.ts +19 -0
  135. package/src/registry/factory.ts +12 -0
  136. package/src/registry/index.ts +3 -0
  137. package/src/registry/types.ts +6 -0
  138. package/src/stories/01.Home.mdx +22 -0
  139. package/src/stories/02.Understanding.This.GUI.md +149 -0
  140. package/src/stories/03.Themes.mdx +235 -0
  141. package/src/stories/04.GuiProvider.md +126 -0
  142. package/src/stories/04.GuiProvider.mdx +129 -0
  143. package/src/stories/Theme/BreakPointsAndGrids.stories.jsx +185 -0
  144. package/src/stories/Theme/Colors.stories.jsx +245 -0
  145. package/src/stories/Theme/Icons.stories.jsx +313 -0
  146. package/src/stories/Theme/Motion.stories.jsx +206 -0
  147. package/src/stories/Theme/ShadowAndElevation.stories.jsx +95 -0
  148. package/src/stories/Theme/SpacingAndRadius.stories.jsx +129 -0
  149. package/src/stories/Theme/Typography.stories.jsx +211 -0
  150. package/src/stories/assets/this.GUI.png +0 -0
  151. package/src/templates/BrowserExtension.jsx +56 -0
  152. package/src/templates/Layout.tsx +36 -0
  153. package/src/templates/Minimal.jsx +123 -0
  154. package/src/templates/Shell/Shell.jsx +107 -0
  155. package/src/themes/fromTokens.ts +352 -0
  156. package/src/themes/icons/Icon.tsx +137 -0
  157. package/src/themes/icons/packs/Lucide.ts +72 -0
  158. package/src/themes/icons/packs/Material.ts +87 -0
  159. package/src/themes/icons/registry.tsx +178 -0
  160. package/src/themes/index.js +116 -0
  161. package/src/themes/theme.d.ts +116 -0
  162. package/src/themes/tokens/global.tokens.json +107 -0
  163. package/src/themes/tokens/neurons/dark.tokens.json +45 -0
  164. package/src/themes/tokens/neurons/light.tokens.json +51 -0
  165. package/src/themes/tokens/neurons/manifest.json +23 -0
  166. package/src/types/theme.d.ts +32 -0
  167. package/src/types/viewport.ts +132 -0
  168. package/tsconfig.json +24 -0
  169. package/vite.config.js +74 -0
  170. package/dist/style.css +0 -1
  171. package/src/App.jsx +0 -39
  172. package/src/CreatePage.jsx +0 -61
  173. package/src/MDXEditor.jsx +0 -51
  174. package/src/MdxProvider.jsx +0 -20
  175. package/src/Page.jsx +0 -28
  176. package/src/PageDashboard.jsx +0 -56
  177. package/src/SiteBuilder.jsx +0 -108
  178. package/src/example.json +0 -43
  179. package/src/index.mdx +0 -164
  180. package/src/main.jsx +0 -15
  181. package/src/scripts/ComponentRegistry.js +0 -70
  182. package/src/scripts/logASCIIArt.js +0 -12
  183. package/src/scripts/postinstall.js +0 -111
  184. package/src/scripts/renderComponents.js +0 -11
  185. package/src/stories/Atoms/Alert/Alert.css +0 -211
  186. package/src/stories/Atoms/Alert/Alert.jsx +0 -56
  187. package/src/stories/Atoms/Alert/Alert.stories.jsx +0 -167
  188. package/src/stories/Atoms/Audio/Audio.css +0 -259
  189. package/src/stories/Atoms/Audio/Audio.jsx +0 -216
  190. package/src/stories/Atoms/Audio/Audio.stories.jsx +0 -191
  191. package/src/stories/Atoms/Badge/Badge.css +0 -249
  192. package/src/stories/Atoms/Badge/Badge.jsx +0 -54
  193. package/src/stories/Atoms/Badge/Badge.stories.jsx +0 -121
  194. package/src/stories/Atoms/Button/Button.css +0 -332
  195. package/src/stories/Atoms/Button/Button.jsx +0 -44
  196. package/src/stories/Atoms/Button/Button.stories.jsx +0 -209
  197. package/src/stories/Atoms/Caption/Caption.css +0 -169
  198. package/src/stories/Atoms/Caption/Caption.jsx +0 -72
  199. package/src/stories/Atoms/Caption/Caption.stories.jsx +0 -207
  200. package/src/stories/Atoms/Checkbox/Checkbox.css +0 -182
  201. package/src/stories/Atoms/Checkbox/Checkbox.jsx +0 -83
  202. package/src/stories/Atoms/Checkbox/Checkbox.stories.jsx +0 -112
  203. package/src/stories/Atoms/Container/Container.css +0 -470
  204. package/src/stories/Atoms/Container/Container.jsx +0 -116
  205. package/src/stories/Atoms/Container/Container.stories.jsx +0 -145
  206. package/src/stories/Atoms/Divider/Divider.css +0 -147
  207. package/src/stories/Atoms/Divider/Divider.jsx +0 -62
  208. package/src/stories/Atoms/Divider/Divider.stories.jsx +0 -105
  209. package/src/stories/Atoms/Grid/Grid.css +0 -160
  210. package/src/stories/Atoms/Grid/Grid.jsx +0 -43
  211. package/src/stories/Atoms/Grid/Grid.stories.jsx +0 -84
  212. package/src/stories/Atoms/Heading/Heading.css +0 -112
  213. package/src/stories/Atoms/Heading/Heading.jsx +0 -69
  214. package/src/stories/Atoms/Heading/Heading.stories.jsx +0 -130
  215. package/src/stories/Atoms/Icon/Icon.css +0 -240
  216. package/src/stories/Atoms/Icon/Icon.jsx +0 -80
  217. package/src/stories/Atoms/Icon/Icon.stories.jsx +0 -177
  218. package/src/stories/Atoms/Image/Image.css +0 -245
  219. package/src/stories/Atoms/Image/Image.jsx +0 -175
  220. package/src/stories/Atoms/Image/Image.stories.jsx +0 -332
  221. package/src/stories/Atoms/Label/Label.css +0 -171
  222. package/src/stories/Atoms/Label/Label.jsx +0 -71
  223. package/src/stories/Atoms/Label/Label.stories.jsx +0 -180
  224. package/src/stories/Atoms/Link/Link.css +0 -51
  225. package/src/stories/Atoms/Link/Link.jsx +0 -72
  226. package/src/stories/Atoms/Link/Link.stories.jsx +0 -153
  227. package/src/stories/Atoms/Loader/Loader.css +0 -106
  228. package/src/stories/Atoms/Loader/Loader.jsx +0 -58
  229. package/src/stories/Atoms/Loader/Loader.stories.jsx +0 -99
  230. package/src/stories/Atoms/Logo/Logo.css +0 -94
  231. package/src/stories/Atoms/Logo/Logo.jsx +0 -53
  232. package/src/stories/Atoms/Logo/Logo.stories.jsx +0 -120
  233. package/src/stories/Atoms/Paragraph/Paragraph.css +0 -180
  234. package/src/stories/Atoms/Paragraph/Paragraph.jsx +0 -77
  235. package/src/stories/Atoms/Paragraph/Paragraph.stories.jsx +0 -143
  236. package/src/stories/Atoms/ProgressBar/ProgressBar.css +0 -127
  237. package/src/stories/Atoms/ProgressBar/ProgressBar.jsx +0 -40
  238. package/src/stories/Atoms/ProgressBar/ProgressBar.stories.jsx +0 -86
  239. package/src/stories/Atoms/RadioButton/RadioButton.css +0 -130
  240. package/src/stories/Atoms/RadioButton/RadioButton.jsx +0 -87
  241. package/src/stories/Atoms/RadioButton/RadioButton.stories.jsx +0 -113
  242. package/src/stories/Atoms/Range/Range.css +0 -169
  243. package/src/stories/Atoms/Range/Range.jsx +0 -87
  244. package/src/stories/Atoms/Range/Range.stories.jsx +0 -110
  245. package/src/stories/Atoms/Section/Section.css +0 -268
  246. package/src/stories/Atoms/Section/Section.jsx +0 -63
  247. package/src/stories/Atoms/Section/Section.stories.jsx +0 -46
  248. package/src/stories/Atoms/Select/Select.css +0 -87
  249. package/src/stories/Atoms/Select/Select.jsx +0 -73
  250. package/src/stories/Atoms/Select/Select.stories.jsx +0 -109
  251. package/src/stories/Atoms/Slider/Slider.css +0 -90
  252. package/src/stories/Atoms/Slider/Slider.jsx +0 -129
  253. package/src/stories/Atoms/Slider/Slider.stories.jsx +0 -90
  254. package/src/stories/Atoms/Snackbar/Snackbar.css +0 -313
  255. package/src/stories/Atoms/Snackbar/Snackbar.jsx +0 -72
  256. package/src/stories/Atoms/Snackbar/Snackbar.stories.jsx +0 -78
  257. package/src/stories/Atoms/Spacer/Spacer.css +0 -114
  258. package/src/stories/Atoms/Spacer/Spacer.jsx +0 -35
  259. package/src/stories/Atoms/Spacer/Spacer.stories.jsx +0 -61
  260. package/src/stories/Atoms/Spinner/Spinner.css +0 -110
  261. package/src/stories/Atoms/Spinner/Spinner.jsx +0 -65
  262. package/src/stories/Atoms/Spinner/Spinner.stories.jsx +0 -58
  263. package/src/stories/Atoms/Tag/Tag.css +0 -112
  264. package/src/stories/Atoms/Tag/Tag.jsx +0 -75
  265. package/src/stories/Atoms/Tag/Tag.stories.jsx +0 -67
  266. package/src/stories/Atoms/TextArea/TextArea.css +0 -99
  267. package/src/stories/Atoms/TextArea/TextArea.jsx +0 -118
  268. package/src/stories/Atoms/TextArea/TextArea.stories.jsx +0 -36
  269. package/src/stories/Atoms/TextInput/TextInput.css +0 -102
  270. package/src/stories/Atoms/TextInput/TextInput.jsx +0 -133
  271. package/src/stories/Atoms/TextInput/TextInput.stories.jsx +0 -69
  272. package/src/stories/Atoms/Toggle/Toggle.css +0 -118
  273. package/src/stories/Atoms/Toggle/Toggle.jsx +0 -69
  274. package/src/stories/Atoms/Toggle/Toggle.stories.jsx +0 -35
  275. package/src/stories/Atoms/Tooltip/Tooltip.css +0 -383
  276. package/src/stories/Atoms/Tooltip/Tooltip.jsx +0 -46
  277. package/src/stories/Atoms/Tooltip/Tooltip.stories.jsx +0 -52
  278. package/src/stories/Atoms/Video/Video.css +0 -39
  279. package/src/stories/Atoms/Video/Video.jsx +0 -78
  280. package/src/stories/Atoms/Video/Video.stories.jsx +0 -41
  281. package/src/stories/Atoms/index.js +0 -72
  282. package/src/stories/Atoms/meta_Atoms.js +0 -51
  283. package/src/stories/Components.js +0 -198
  284. package/src/stories/Getting Started.mdx +0 -239
  285. package/src/stories/Layouts/Accordion/Accordion.css +0 -293
  286. package/src/stories/Layouts/Accordion/Accordion.jsx +0 -74
  287. package/src/stories/Layouts/Accordion/Accordion.stories.jsx +0 -39
  288. package/src/stories/Layouts/Flexbox/Flexbox.css +0 -16
  289. package/src/stories/Layouts/Flexbox/Flexbox.jsx +0 -11
  290. package/src/stories/Layouts/Flexbox/Flexbox.stories.jsx +0 -28
  291. package/src/stories/Layouts/Footer/Footer.css +0 -16
  292. package/src/stories/Layouts/Footer/Footer.jsx +0 -31
  293. package/src/stories/Layouts/Footer/Footer.stories.jsx +0 -28
  294. package/src/stories/Layouts/Header/Header.css +0 -16
  295. package/src/stories/Layouts/Header/Header.jsx +0 -31
  296. package/src/stories/Layouts/Header/Header.stories.jsx +0 -28
  297. package/src/stories/Layouts/HeroBanner/HeroBanner.css +0 -16
  298. package/src/stories/Layouts/HeroBanner/HeroBanner.jsx +0 -31
  299. package/src/stories/Layouts/HeroBanner/HeroBanner.stories.jsx +0 -28
  300. package/src/stories/Layouts/HeroImageVideo/HeroImageVideo.css +0 -16
  301. package/src/stories/Layouts/HeroImageVideo/HeroImageVideo.jsx +0 -31
  302. package/src/stories/Layouts/HeroImageVideo/HeroImageVideo.stories.jsx +0 -28
  303. package/src/stories/Layouts/Pagination/Pagination.css +0 -16
  304. package/src/stories/Layouts/Pagination/Pagination.jsx +0 -31
  305. package/src/stories/Layouts/Pagination/Pagination.stories.jsx +0 -28
  306. package/src/stories/Layouts/Sidebar/Sidebar.css +0 -16
  307. package/src/stories/Layouts/Sidebar/Sidebar.jsx +0 -71
  308. package/src/stories/Layouts/Sidebar/Sidebar.stories.jsx +0 -28
  309. package/src/stories/Layouts/Tabs/Tabs.css +0 -16
  310. package/src/stories/Layouts/Tabs/Tabs.jsx +0 -31
  311. package/src/stories/Layouts/Tabs/Tabs.stories.jsx +0 -28
  312. package/src/stories/Layouts/index.js +0 -25
  313. package/src/stories/Layouts/meta_Layouts.js +0 -28
  314. package/src/stories/MDX.mdx +0 -118
  315. package/src/stories/Miscellaneous/Miscellaneous.js +0 -24
  316. package/src/stories/Molecules/Accordion/Accordion.css +0 -4
  317. package/src/stories/Molecules/Accordion/Accordion.jsx +0 -25
  318. package/src/stories/Molecules/Accordion/Accordion.stories.jsx +0 -20
  319. package/src/stories/Molecules/AudioPlayer/AudioPlayer.css +0 -97
  320. package/src/stories/Molecules/AudioPlayer/AudioPlayer.jsx +0 -244
  321. package/src/stories/Molecules/AudioPlayer/AudioPlayer.stories.jsx +0 -55
  322. package/src/stories/Molecules/AvatarWithName/AvatarWithName.css +0 -130
  323. package/src/stories/Molecules/AvatarWithName/AvatarWithName.jsx +0 -80
  324. package/src/stories/Molecules/AvatarWithName/AvatarWithName.stories.jsx +0 -20
  325. package/src/stories/Molecules/Breadcrumbs/Breadcrumbs.css +0 -147
  326. package/src/stories/Molecules/Breadcrumbs/Breadcrumbs.jsx +0 -51
  327. package/src/stories/Molecules/Breadcrumbs/Breadcrumbs.stories.jsx +0 -36
  328. package/src/stories/Molecules/ButtonGroup/ButtonGroup.css +0 -465
  329. package/src/stories/Molecules/ButtonGroup/ButtonGroup.jsx +0 -47
  330. package/src/stories/Molecules/ButtonGroup/ButtonGroup.stories.jsx +0 -44
  331. package/src/stories/Molecules/Card/Card.css +0 -41
  332. package/src/stories/Molecules/Card/Card.jsx +0 -92
  333. package/src/stories/Molecules/Card/Card.stories.jsx +0 -34
  334. package/src/stories/Molecules/ComparisonTable/ComparisonTable.css +0 -35
  335. package/src/stories/Molecules/ComparisonTable/ComparisonTable.jsx +0 -104
  336. package/src/stories/Molecules/ComparisonTable/ComparisonTable.stories.jsx +0 -81
  337. package/src/stories/Molecules/DataTable/DataTable.css +0 -4
  338. package/src/stories/Molecules/DataTable/DataTable.jsx +0 -25
  339. package/src/stories/Molecules/DataTable/DataTable.stories.jsx +0 -20
  340. package/src/stories/Molecules/Dropdown/Dropdown.css +0 -192
  341. package/src/stories/Molecules/Dropdown/Dropdown.jsx +0 -96
  342. package/src/stories/Molecules/Dropdown/Dropdown.stories.jsx +0 -45
  343. package/src/stories/Molecules/FileUpload/FileUpload.css +0 -4
  344. package/src/stories/Molecules/FileUpload/FileUpload.jsx +0 -25
  345. package/src/stories/Molecules/FileUpload/FileUpload.stories.jsx +0 -20
  346. package/src/stories/Molecules/FormField/FormField.css +0 -4
  347. package/src/stories/Molecules/FormField/FormField.jsx +0 -25
  348. package/src/stories/Molecules/FormField/FormField.stories.jsx +0 -20
  349. package/src/stories/Molecules/Header/Header.css +0 -35
  350. package/src/stories/Molecules/Header/Header.jsx +0 -76
  351. package/src/stories/Molecules/Header/Header.stories.jsx +0 -28
  352. package/src/stories/Molecules/IconButton/IconButton.css +0 -4
  353. package/src/stories/Molecules/IconButton/IconButton.jsx +0 -25
  354. package/src/stories/Molecules/IconButton/IconButton.stories.jsx +0 -20
  355. package/src/stories/Molecules/ImageWithCaption/ImageWithCaption.css +0 -4
  356. package/src/stories/Molecules/ImageWithCaption/ImageWithCaption.jsx +0 -25
  357. package/src/stories/Molecules/ImageWithCaption/ImageWithCaption.stories.jsx +0 -20
  358. package/src/stories/Molecules/InputGroup/InputGroup.css +0 -4
  359. package/src/stories/Molecules/InputGroup/InputGroup.jsx +0 -25
  360. package/src/stories/Molecules/InputGroup/InputGroup.stories.jsx +0 -20
  361. package/src/stories/Molecules/InputWithLabel/InputWithLabel.css +0 -4
  362. package/src/stories/Molecules/InputWithLabel/InputWithLabel.jsx +0 -25
  363. package/src/stories/Molecules/InputWithLabel/InputWithLabel.stories.jsx +0 -20
  364. package/src/stories/Molecules/List/List.css +0 -4
  365. package/src/stories/Molecules/List/List.jsx +0 -25
  366. package/src/stories/Molecules/List/List.stories.jsx +0 -20
  367. package/src/stories/Molecules/MediaCard/MediaCard.css +0 -4
  368. package/src/stories/Molecules/MediaCard/MediaCard.jsx +0 -25
  369. package/src/stories/Molecules/MediaCard/MediaCard.stories.jsx +0 -20
  370. package/src/stories/Molecules/Modal/Modal.css +0 -4
  371. package/src/stories/Molecules/Modal/Modal.jsx +0 -25
  372. package/src/stories/Molecules/Modal/Modal.stories.jsx +0 -20
  373. package/src/stories/Molecules/Navbar/Navbar.css +0 -91
  374. package/src/stories/Molecules/Navbar/Navbar.jsx +0 -82
  375. package/src/stories/Molecules/Navbar/Navbar.stories.jsx +0 -70
  376. package/src/stories/Molecules/Notification/Notification.css +0 -4
  377. package/src/stories/Molecules/Notification/Notification.jsx +0 -25
  378. package/src/stories/Molecules/Notification/Notification.stories.jsx +0 -20
  379. package/src/stories/Molecules/PricingTable/PricingTable.css +0 -4
  380. package/src/stories/Molecules/PricingTable/PricingTable.jsx +0 -25
  381. package/src/stories/Molecules/PricingTable/PricingTable.stories.jsx +0 -20
  382. package/src/stories/Molecules/SearchBar/SearchBar.css +0 -69
  383. package/src/stories/Molecules/SearchBar/SearchBar.jsx +0 -73
  384. package/src/stories/Molecules/SearchBar/SearchBar.stories.jsx +0 -29
  385. package/src/stories/Molecules/SelectTheme/SelectTheme.css +0 -25
  386. package/src/stories/Molecules/SelectTheme/SelectTheme.jsx +0 -22
  387. package/src/stories/Molecules/SelectTheme/SelectTheme.stories.jsx +0 -24
  388. package/src/stories/Molecules/Sidebar/Sidebar.css +0 -67
  389. package/src/stories/Molecules/Sidebar/Sidebar.jsx +0 -80
  390. package/src/stories/Molecules/Sidebar/Sidebar.stories.jsx +0 -35
  391. package/src/stories/Molecules/VideoWithDescription/VideoWithDescription.css +0 -4
  392. package/src/stories/Molecules/VideoWithDescription/VideoWithDescription.jsx +0 -25
  393. package/src/stories/Molecules/VideoWithDescription/VideoWithDescription.stories.jsx +0 -20
  394. package/src/stories/Molecules/index.js +0 -58
  395. package/src/stories/Molecules/meta_Molecules.js +0 -47
  396. package/src/stories/Organisms/Profile/UserFriends/UserFriends.context.jsx +0 -15
  397. package/src/stories/Organisms/Profile/UserFriends/UserFriends.css +0 -4
  398. package/src/stories/Organisms/Profile/UserFriends/UserFriends.jsx +0 -13
  399. package/src/stories/Organisms/Profile/UserFriends/UserFriends.stories.jsx +0 -26
  400. package/src/stories/Organisms/Profile/UserPosts/UserPosts.context.jsx +0 -15
  401. package/src/stories/Organisms/Profile/UserPosts/UserPosts.css +0 -4
  402. package/src/stories/Organisms/Profile/UserPosts/UserPosts.jsx +0 -13
  403. package/src/stories/Organisms/Profile/UserPosts/UserPosts.stories.jsx +0 -26
  404. package/src/stories/Organisms/Profile/UserProfile/UserProfile.context.jsx +0 -15
  405. package/src/stories/Organisms/Profile/UserProfile/UserProfile.css +0 -4
  406. package/src/stories/Organisms/Profile/UserProfile/UserProfile.jsx +0 -13
  407. package/src/stories/Organisms/Profile/UserProfile/UserProfile.stories.jsx +0 -26
  408. package/src/stories/Organisms/meta_Organisms.js +0 -39
  409. package/src/stories/Pages/Page/Page.css +0 -69
  410. package/src/stories/Pages/Page/Page.jsx +0 -69
  411. package/src/stories/Pages/Page/Page.stories.js +0 -26
  412. package/src/stories/Pages/Page/Pages.js +0 -31
  413. package/src/stories/Templates/AdminDashboard/AdminDashboard.css +0 -7
  414. package/src/stories/Templates/AdminDashboard/AdminDashboard.jsx +0 -24
  415. package/src/stories/Templates/AdminDashboard/AdminDashboard.stories.jsx +0 -20
  416. package/src/stories/Templates/CallToAction/CallToAction.css +0 -7
  417. package/src/stories/Templates/CallToAction/CallToAction.jsx +0 -24
  418. package/src/stories/Templates/CallToAction/CallToAction.stories.jsx +0 -20
  419. package/src/stories/Templates/FeaturesList/FeaturesList.css +0 -7
  420. package/src/stories/Templates/FeaturesList/FeaturesList.jsx +0 -24
  421. package/src/stories/Templates/FeaturesList/FeaturesList.stories.jsx +0 -20
  422. package/src/stories/Templates/FormSection/FormSection.css +0 -7
  423. package/src/stories/Templates/FormSection/FormSection.jsx +0 -24
  424. package/src/stories/Templates/FormSection/FormSection.stories.jsx +0 -20
  425. package/src/stories/Templates/HeroSection/HeroSection.css +0 -7
  426. package/src/stories/Templates/HeroSection/HeroSection.jsx +0 -24
  427. package/src/stories/Templates/HeroSection/HeroSection.stories.jsx +0 -20
  428. package/src/stories/Templates/LocationInfo/LocationInfo.css +0 -7
  429. package/src/stories/Templates/LocationInfo/LocationInfo.jsx +0 -24
  430. package/src/stories/Templates/LocationInfo/LocationInfo.stories.jsx +0 -20
  431. package/src/stories/Templates/ProductPage/ProductPage.css +0 -7
  432. package/src/stories/Templates/ProductPage/ProductPage.jsx +0 -24
  433. package/src/stories/Templates/ProductPage/ProductPage.stories.jsx +0 -20
  434. package/src/stories/Templates/RegistrationPage/RegistrationPage.css +0 -7
  435. package/src/stories/Templates/RegistrationPage/RegistrationPage.jsx +0 -24
  436. package/src/stories/Templates/RegistrationPage/RegistrationPage.stories.jsx +0 -20
  437. package/src/stories/Templates/ShoppingCart/ShoppingCart.css +0 -7
  438. package/src/stories/Templates/ShoppingCart/ShoppingCart.jsx +0 -24
  439. package/src/stories/Templates/ShoppingCart/ShoppingCart.stories.jsx +0 -20
  440. package/src/stories/Templates/SidebarTopNav/SidebarTopNav.css +0 -7
  441. package/src/stories/Templates/SidebarTopNav/SidebarTopNav.jsx +0 -24
  442. package/src/stories/Templates/SidebarTopNav/SidebarTopNav.stories.jsx +0 -20
  443. package/src/stories/Templates/SignInPage/SignInPage.css +0 -7
  444. package/src/stories/Templates/SignInPage/SignInPage.jsx +0 -24
  445. package/src/stories/Templates/SignInPage/SignInPage.stories.jsx +0 -20
  446. package/src/stories/Templates/SocialMediaLinks/SocialMediaLinks.css +0 -7
  447. package/src/stories/Templates/SocialMediaLinks/SocialMediaLinks.jsx +0 -24
  448. package/src/stories/Templates/SocialMediaLinks/SocialMediaLinks.stories.jsx +0 -20
  449. package/src/stories/Templates/Testimonials/Testimonials.css +0 -7
  450. package/src/stories/Templates/Testimonials/Testimonials.jsx +0 -24
  451. package/src/stories/Templates/Testimonials/Testimonials.stories.jsx +0 -20
  452. package/src/stories/Templates/index.js +0 -33
  453. package/src/stories/Templates/meta_Templates.js +0 -29
  454. package/src/stories/assets/accessibility.png +0 -0
  455. package/src/stories/assets/accessibility.svg +0 -1
  456. package/src/stories/assets/addon-library.png +0 -0
  457. package/src/stories/assets/assets.png +0 -0
  458. package/src/stories/assets/avif-test-image.avif +0 -0
  459. package/src/stories/assets/context.png +0 -0
  460. package/src/stories/assets/discord.svg +0 -1
  461. package/src/stories/assets/docs.png +0 -0
  462. package/src/stories/assets/figma-plugin.png +0 -0
  463. package/src/stories/assets/github.svg +0 -1
  464. package/src/stories/assets/logo.png +0 -0
  465. package/src/stories/assets/logo.svg +0 -106
  466. package/src/stories/assets/share.png +0 -0
  467. package/src/stories/assets/styling.png +0 -0
  468. package/src/stories/assets/test.svg +0 -3
  469. package/src/stories/assets/testing.png +0 -0
  470. package/src/stories/assets/theming.png +0 -0
  471. package/src/stories/assets/tutorials.svg +0 -1
  472. package/src/stories/assets/youtube.svg +0 -1
  473. package/src/themes/README_Styles.md +0 -301
  474. package/src/themes/ThemeProvider.jsx +0 -61
  475. package/src/themes/styles/github/dark.css +0 -0
  476. package/src/themes/styles/github/light.css +0 -0
  477. package/src/themes/styles/neurons/dark.css +0 -247
  478. package/src/themes/styles/neurons/light.css +0 -170
  479. /package/{src/themes/styles/dracula/dark.css → .storybook/preview-head.html} +0 -0
  480. /package/src/{themes/styles/dracula/light.css → components/this.me/MeCard.jsx} +0 -0
@@ -0,0 +1,129 @@
1
+ // src/stories/Theme/SpacingAndRadius.stories.jsx
2
+ import { Box, Stack, Typography, Paper, Divider } from '@mui/material';
3
+ import { useTheme } from '@mui/material/styles';
4
+
5
+ export default {
6
+ title: 'Theme/Spacing & Radius',
7
+ parameters: {
8
+ layout: 'fullscreen',
9
+ },
10
+ };
11
+
12
+ // ————————————————————————————————————————————————
13
+ // Helpers
14
+ // ————————————————————————————————————————————————
15
+ const Row = ({ label, children, hint }) => (
16
+ <Stack direction="row" alignItems="center" spacing={2} sx={{ py: 1 }}>
17
+ <Box sx={{ width: 140 }}>
18
+ <Typography variant="body2" sx={{ fontWeight: 600 }}>{label}</Typography>
19
+ {hint && (
20
+ <Typography variant="caption" sx={{ opacity: 0.7 }}>{hint}</Typography>
21
+ )}
22
+ </Box>
23
+ <Box sx={{ flex: 1 }}>{children}</Box>
24
+ </Stack>
25
+ );
26
+
27
+ // ————————————————————————————————————————————————
28
+ // Spacing scale preview (0..8)
29
+ // ————————————————————————————————————————————————
30
+ function SpacingScaleView() {
31
+ const theme = useTheme();
32
+ // Build a scale of 0..8 using theme.spacing(n)
33
+ const scale = Array.from({ length: 9 }, (_, i) => i);
34
+
35
+ return (
36
+ <Paper elevation={0} sx={{ p: 3 }}>
37
+ <Typography variant="h4" gutterBottom>Spacing</Typography>
38
+ <Typography variant="body2" sx={{ mb: 2, opacity: 0.8 }}>
39
+ The spacing function multiplies the base unit and returns pixel values. Below you can see
40
+ the vertical size for <code>theme.spacing(n)</code> with <code>n = 0..8</code>.
41
+ </Typography>
42
+
43
+ <Divider sx={{ mb: 2 }} />
44
+
45
+ <Stack>
46
+ {scale.map((n) => {
47
+ const px = typeof theme.spacing === 'function' ? theme.spacing(n) : `${Number(theme.spacing || 8) * n}px`;
48
+ const minH = n === 0 ? 1 : undefined;
49
+ return (
50
+ <Row key={n} label={`spacing(${n})`} hint={px}>
51
+ <Box
52
+ sx={{
53
+ height: px,
54
+ minHeight: minH,
55
+ width: '100%',
56
+ background:
57
+ 'linear-gradient(90deg, rgba(0,0,0,0.12) 0 8px, transparent 8px) 0 0/16px 100% no-repeat',
58
+ borderRadius: 1,
59
+ }}
60
+ />
61
+ </Row>
62
+ );
63
+ })}
64
+ </Stack>
65
+ </Paper>
66
+ );
67
+ }
68
+
69
+ // ————————————————————————————————————————————————
70
+ // Radius showcase
71
+ // ————————————————————————————————————————————————
72
+ function RadiusShowcaseView() {
73
+ const theme = useTheme();
74
+ const base = Number(theme.shape?.borderRadius ?? 10);
75
+ const variants = [
76
+ { label: '0 (square)', value: 0 },
77
+ { label: 'sm (½× base)', value: Math.round(base * 0.5) },
78
+ { label: 'md (base)', value: base },
79
+ { label: 'lg (1.5× base)', value: Math.round(base * 1.5) },
80
+ { label: 'xl (2× base)', value: Math.round(base * 2) },
81
+ ];
82
+
83
+ return (
84
+ <Paper elevation={0} sx={{ p: 3 }}>
85
+ <Typography variant="h4" gutterBottom>Radius</Typography>
86
+ <Typography variant="body2" sx={{ mb: 2, opacity: 0.8 }}>
87
+ Shape radius is driven by the global token <code>radius.md</code>. Below are a few
88
+ derived sizes relative to the current base.
89
+ </Typography>
90
+
91
+ <Divider sx={{ mb: 2 }} />
92
+
93
+ <Stack direction="row" spacing={2} useFlexGap flexWrap="wrap">
94
+ {variants.map((r) => (
95
+ <Stack key={r.label} spacing={1} alignItems="center" sx={{ width: 160 }}>
96
+ <Box
97
+ sx={{
98
+ width: '100%',
99
+ height: 72,
100
+ borderRadius: `${r.value}px`,
101
+ border: (t) => `1px solid ${t.palette.divider}`,
102
+ background: (t) => (t.palette.mode === 'dark' ? t.palette.background.paper : '#fff'),
103
+ }}
104
+ />
105
+ <Typography variant="body2" sx={{ fontWeight: 600 }}>{r.label}</Typography>
106
+ <Typography variant="caption" sx={{ opacity: 0.7 }}>{r.value}px</Typography>
107
+ </Stack>
108
+ ))}
109
+ </Stack>
110
+ </Paper>
111
+ );
112
+ }
113
+
114
+ // ————————————————————————————————————————————————
115
+ // Stories
116
+ // ————————————————————————————————————————————————
117
+ export const Spacing = () => (
118
+ <Box sx={{ p: { xs: 2, md: 4 } }}>
119
+ <SpacingScaleView />
120
+ </Box>
121
+ );
122
+ Spacing.storyName = 'Spacing scale';
123
+
124
+ export const Radius = () => (
125
+ <Box sx={{ p: { xs: 2, md: 4 } }}>
126
+ <RadiusShowcaseView />
127
+ </Box>
128
+ );
129
+ Radius.storyName = 'Border radius';
@@ -0,0 +1,211 @@
1
+ // src/stories/Theme/Typography.stories.jsx
2
+ import { Box, Typography, Paper, Divider, Stack, Chip } from '@mui/material';
3
+ import { useTheme } from '@mui/material/styles';
4
+
5
+ /**
6
+ * Small helper to render a sample block for a variant
7
+ */
8
+ const TypeRow = ({ variant, sample = 'The quick brown fox jumps over the lazy dog 1234', extra }) => {
9
+ const theme = useTheme();
10
+ const v = theme.typography?.[variant] || {};
11
+ const lineHeight = typeof v.lineHeight === 'number' ? v.lineHeight : String(v.lineHeight || '');
12
+ const fontSize = v.fontSize || '';
13
+ const weight = v.fontWeight || '';
14
+
15
+ return (
16
+ <Paper
17
+ variant="outlined"
18
+ sx={{
19
+ p: 1.25,
20
+ borderColor: theme.custom?.border || theme.palette.divider,
21
+ bgcolor: 'background.paper',
22
+ minWidth: 280,
23
+ flex: '1 1 320px',
24
+ }}
25
+ >
26
+ <Typography variant="caption" sx={{ color: 'text.secondary', fontWeight: 700 }}>
27
+ {variant}
28
+ </Typography>
29
+ <Typography variant={variant} sx={{ mt: 0.5 }}>
30
+ {sample}
31
+ </Typography>
32
+ <Divider sx={{ my: 1 }} />
33
+ <Typography variant="caption" sx={{ color: 'text.secondary' }}>
34
+ <strong>font-size:</strong> {fontSize}{' '}
35
+ <strong>line-height:</strong> {lineHeight}{' '}
36
+ <strong>font-weight:</strong> {weight || '—'}
37
+ {extra ? <> · {extra}</> : null}
38
+ </Typography>
39
+ </Paper>
40
+ );
41
+ };
42
+
43
+ const Section = ({ title, hint, children }) => (
44
+ <Box sx={{ my: 3 }}>
45
+ <Box sx={{ display: 'flex', alignItems: 'center', gap: 1 }}>
46
+ <Typography variant="h5" sx={{ fontWeight: 700 }}>
47
+ {title}
48
+ </Typography>
49
+ {hint ? <Chip size="small" label={hint} /> : null}
50
+ </Box>
51
+ <Divider sx={{ my: 1.5 }} />
52
+ {children}
53
+ </Box>
54
+ );
55
+
56
+ /**
57
+ * Preview of the main typography scale coming from the active theme.
58
+ * Uses whatever your token engine compiled into theme.typography.
59
+ */
60
+ function TypographyScale() {
61
+ const theme = useTheme();
62
+
63
+ const variants = [
64
+ 'h1',
65
+ 'h2',
66
+ 'h3',
67
+ 'h4',
68
+ 'h5',
69
+ 'subtitle1',
70
+ 'body1',
71
+ 'body2',
72
+ 'button',
73
+ ];
74
+
75
+ return (
76
+ <Box sx={{ p: 2, bgcolor: 'background.default', color: 'text.primary' }}>
77
+ <Section title="Font Family">
78
+ <Typography variant="body2">
79
+ <strong>theme.typography.fontFamily:</strong>{' '}
80
+ <code>{theme.typography?.fontFamily}</code>
81
+ </Typography>
82
+ </Section>
83
+
84
+ <Section title="Variants">
85
+ <Stack direction="row" spacing={1.25} useFlexGap flexWrap="wrap">
86
+ {variants.map((v) => (
87
+ <TypeRow key={v} variant={v} />
88
+ ))}
89
+ </Stack>
90
+ </Section>
91
+ </Box>
92
+ );
93
+ }
94
+
95
+ /**
96
+ * Extra details from tokens exposed in the runtime:
97
+ * - lineHeights scale (if defined in theme.typography.lineHeights)
98
+ * - weights (if your tokens encode them)
99
+ */
100
+ function TypographyDetails() {
101
+ const theme = useTheme();
102
+ const lh = theme.typography?.lineHeights || {};
103
+ const weights = {
104
+ bold: theme.typography?.fontWeightBold,
105
+ medium: theme.typography?.fontWeightMedium,
106
+ regular: theme.typography?.fontWeightRegular,
107
+ };
108
+
109
+ return (
110
+ <Box sx={{ p: 2, bgcolor: 'background.default', color: 'text.primary' }}>
111
+ <Section title="Line Heights Scale" hint="From tokens → theme.typography.lineHeights">
112
+ {Object.keys(lh).length ? (
113
+ <Stack direction="row" spacing={1.25} useFlexGap flexWrap="wrap">
114
+ {Object.entries(lh).map(([k, v]) => (
115
+ <Paper
116
+ key={k}
117
+ variant="outlined"
118
+ sx={{
119
+ p: 1.25,
120
+ minWidth: 160,
121
+ borderColor: theme.custom?.border || theme.palette.divider,
122
+ }}
123
+ >
124
+ <Typography variant="body2" sx={{ fontWeight: 700 }}>
125
+ {k}
126
+ </Typography>
127
+ <Typography variant="caption" sx={{ color: 'text.secondary' }}>
128
+ {String(v)}
129
+ </Typography>
130
+ <Divider sx={{ my: 1 }} />
131
+ <Typography sx={{ lineHeight: Number(v) || v }}>
132
+ The quick brown fox jumps over the lazy dog.
133
+ </Typography>
134
+ </Paper>
135
+ ))}
136
+ </Stack>
137
+ ) : (
138
+ <Typography variant="body2" sx={{ color: 'text.secondary' }}>
139
+ No custom line height scale found in theme.typography.lineHeights.
140
+ </Typography>
141
+ )}
142
+ </Section>
143
+
144
+ <Section title="Font Weights (if provided)">
145
+ <Stack direction="row" spacing={1.25} useFlexGap flexWrap="wrap">
146
+ {Object.entries(weights).map(([k, v]) => (
147
+ <Paper
148
+ key={k}
149
+ variant="outlined"
150
+ sx={{
151
+ p: 1.25,
152
+ minWidth: 160,
153
+ borderColor: theme.custom?.border || theme.palette.divider,
154
+ }}
155
+ >
156
+ <Typography variant="body2" sx={{ fontWeight: 700 }}>
157
+ {k}
158
+ </Typography>
159
+ <Typography variant="caption" sx={{ color: 'text.secondary' }}>
160
+ {v ?? '—'}
161
+ </Typography>
162
+ <Divider sx={{ my: 1 }} />
163
+ <Typography sx={{ fontWeight: v ?? 600 }}>
164
+ The quick brown fox jumps over the lazy dog.
165
+ </Typography>
166
+ </Paper>
167
+ ))}
168
+ </Stack>
169
+ </Section>
170
+ </Box>
171
+ );
172
+ }
173
+
174
+ export default {
175
+ title: 'Theme/Typography',
176
+ tags: ['autodocs'],
177
+ parameters: {
178
+ docs: {
179
+ description: {
180
+ component:
181
+ 'Typography scale compiled from tokens. Shows font family, variant sizes/weights/line-height, and optional line-height scale & weights if your tokens expose them.',
182
+ },
183
+ },
184
+ },
185
+ };
186
+
187
+ export const Scale = {
188
+ name: 'Scale',
189
+ render: () => <TypographyScale />,
190
+ parameters: {
191
+ docs: {
192
+ description: {
193
+ story:
194
+ 'Core typography variants from the active theme (h1–h5, subtitle1, body1, body2, button).',
195
+ },
196
+ },
197
+ },
198
+ };
199
+
200
+ export const Details = {
201
+ name: 'Details (Line Heights & Weights)',
202
+ render: () => <TypographyDetails />,
203
+ parameters: {
204
+ docs: {
205
+ description: {
206
+ story:
207
+ 'Optional token-driven extras: line-height scale and font weights if present in the compiled theme.',
208
+ },
209
+ },
210
+ },
211
+ };
Binary file
@@ -0,0 +1,56 @@
1
+ import { Box, Toolbar, AppBar, Typography, Container } from "@mui/material";
2
+
3
+ /**
4
+ * BrowserExtension Layout
5
+ * Un layout optimizado para popups de extensiones de navegador.
6
+ * Tamaño reducido y estilo minimalista, ideal para entornos con espacio limitado.
7
+ */
8
+ export default function BrowserExtensionLayout({ children, title = "Cleaker Extension" }) {
9
+ return (
10
+ <Box
11
+ sx={{
12
+ width: 300,
13
+ height: 400,
14
+ display: "flex",
15
+ flexDirection: "column",
16
+ backgroundColor: (theme) => theme.palette.background.default,
17
+ color: (theme) => theme.palette.text.primary,
18
+ }}
19
+ >
20
+ <AppBar
21
+ position="static"
22
+ color="default"
23
+ elevation={1}
24
+ sx={{
25
+ minHeight: 40,
26
+ backgroundColor: (theme) =>
27
+ theme.palette.mode === "light"
28
+ ? theme.palette.background.paper
29
+ : theme.palette.background.default,
30
+ borderBottom: (theme) =>
31
+ `1px solid ${
32
+ theme.palette.mode === "light"
33
+ ? "rgba(0,0,0,0.1)"
34
+ : "rgba(255,255,255,0.1)"
35
+ }`,
36
+ }}
37
+ >
38
+ <Toolbar variant="dense" sx={{ minHeight: 40 }}>
39
+ <Typography variant="subtitle1" noWrap component="div">
40
+ {title}
41
+ </Typography>
42
+ </Toolbar>
43
+ </AppBar>
44
+
45
+ <Container
46
+ sx={{
47
+ flex: 1,
48
+ overflowY: "auto",
49
+ padding: 1,
50
+ }}
51
+ >
52
+ {children}
53
+ </Container>
54
+ </Box>
55
+ );
56
+ }
@@ -0,0 +1,36 @@
1
+ import React from 'react';
2
+ import { BrowserRouter } from 'react-router-dom';
3
+ import { Box } from '@/gui/atoms';
4
+ import TopBar from '@/gui/molecules/AppBars/TopBar/TopBar';
5
+ import LeftSidebar from '@/gui/molecules/AppBars/LeftSidebar/LeftSidebar';
6
+
7
+ interface LayoutProps {
8
+ hasTopBar?: boolean;
9
+ hasLeftSidebar?: boolean;
10
+ withRouter?: boolean;
11
+ children: React.ReactNode;
12
+ }
13
+
14
+ function Layout({ hasTopBar = false, hasLeftSidebar = false, withRouter = false, children }: LayoutProps) {
15
+ const sidebarToggleLocation: 'topbar' | 'sidebar' | 'none' =
16
+ hasLeftSidebar ? (hasTopBar ? 'topbar' : 'sidebar') : 'none';
17
+
18
+ const layoutContent = (
19
+ <Box id="layout-root" display="contents">
20
+ {hasTopBar && (
21
+ <TopBar
22
+ showMenuButton={hasLeftSidebar}
23
+ toggleLocation={sidebarToggleLocation}
24
+ />
25
+ )}
26
+ {hasLeftSidebar && (
27
+ <LeftSidebar toggleLocation={sidebarToggleLocation} />
28
+ )}
29
+ {children}
30
+ </Box>
31
+ );
32
+
33
+ return withRouter ? <BrowserRouter>{layoutContent}</BrowserRouter> : layoutContent;
34
+ }
35
+
36
+ export default Layout as React.FC<LayoutProps>;
@@ -0,0 +1,123 @@
1
+ // all.this/packages-src/this.GUI/npm/src/templates/Minimal.jsx
2
+ import React, { useState } from "react";
3
+ class ErrorBoundary extends React.Component {
4
+ constructor(props){ super(props); this.state = { hasError: false, error: null }; }
5
+ static getDerivedStateFromError(error){ return { hasError: true, error }; }
6
+ componentDidCatch(error, info){ console.error(`[MinimalLayout:${this.props.label}]`, error, info); }
7
+ render(){
8
+ if(this.state.hasError){
9
+ return (
10
+ <div style={{ padding: 16, border: '1px solid #f99', borderRadius: 8, background: 'rgba(255,0,0,0.05)', margin: '12px 0' }}>
11
+ <strong>Component "{this.props.label}" failed to render.</strong>
12
+ <div style={{ fontSize: 12, opacity: 0.8, marginTop: 6 }}>{String(this.state.error)}</div>
13
+ </div>
14
+ );
15
+ }
16
+ return this.props.children;
17
+ }
18
+ }
19
+ import { Outlet } from "react-router-dom";
20
+ import { Box } from "@mui/material";
21
+ import TopBarAndSideBar from "../components/generics/AppBars/TopBarAndSideBar/TopBarAndSideBar";
22
+ import PageContainer from "../components/generics/Layout/PageContainer";
23
+ import Footer from "../components/generics/AppBars/Footer/Footer";
24
+ import RightContextDrawer from "../components/generics/AppBars/RightContextDrawer/RightContextDrawer";
25
+ import StickyOptions from "../components/generics/AppBars/StickyOptions/StickyOptions";
26
+
27
+ export default function MinimalLayout({ config, topic, rightContext, stickyOptions, footer }) {
28
+ const {
29
+ title = "This.GUI",
30
+ logo = "https://neurons.me/neurons.me.png",
31
+ sideBarLinks = undefined,
32
+ topNavLinks = undefined
33
+ } = config || {};
34
+
35
+ // ---- Normalize/guards ------------------------------------------------------
36
+ const hasSideBarObject =
37
+ sideBarLinks &&
38
+ typeof sideBarLinks === "object" &&
39
+ !Array.isArray(sideBarLinks) &&
40
+ Object.keys(sideBarLinks).length > 0;
41
+
42
+ // Only pass contexts if we truly have a section map. Otherwise omit the prop entirely.
43
+ const sections = hasSideBarObject ? sideBarLinks : undefined;
44
+
45
+ // StickyOptions: render only if we truly have an items array with content
46
+ const ctaConfig = stickyOptions || (config && config.stickyOptions) || null;
47
+ const hasCtas =
48
+ !!ctaConfig &&
49
+ Array.isArray(ctaConfig.items) &&
50
+ ctaConfig.items.length > 0;
51
+
52
+ // Right drawer width (guard if rightContext is malformed)
53
+ const rightDrawerWidth =
54
+ rightContext && Array.isArray(rightContext.items) && rightContext.items.length > 0 ? 260 : 0;
55
+
56
+ const [drawerOpen, setDrawerOpen] = useState(false);
57
+
58
+ return (
59
+ <>
60
+ <ErrorBoundary label="TopBarAndSideBar">
61
+ <TopBarAndSideBar
62
+ title={title}
63
+ logo={logo}
64
+ drawerWidth={240}
65
+ contexts={sections || {}}
66
+ topic={topic}
67
+ {...(Array.isArray(topNavLinks) ? { topNavLinks } : {})}
68
+ />
69
+ </ErrorBoundary>
70
+
71
+ {hasCtas && (
72
+ <ErrorBoundary label="StickyOptions">
73
+ <StickyOptions
74
+ items={ctaConfig.items}
75
+ positioning={ctaConfig.positioning || {}}
76
+ behavior={{ respectRightDrawer: true, ...(ctaConfig.behavior || {}) }}
77
+ theme={ctaConfig.theme || {}}
78
+ visibility={ctaConfig.visibility || {}}
79
+ i18n={ctaConfig.i18n || {}}
80
+ />
81
+ </ErrorBoundary>
82
+ )}
83
+
84
+ <Box
85
+ sx={{
86
+ flex: 1,
87
+ px: { xs: 2, sm: 3 },
88
+ mt: 5,
89
+ width: "auto",
90
+ "--right-drawer-width": `${rightDrawerWidth}px`,
91
+ ml: { md: "240px", xs: 0 },
92
+ mr: { md: rightDrawerWidth ? `${rightDrawerWidth}px` : 0, xs: 0 }
93
+ }}
94
+ >
95
+ <ErrorBoundary label="Page">
96
+ <PageContainer>
97
+ <Outlet />
98
+ </PageContainer>
99
+ </ErrorBoundary>
100
+ </Box>
101
+
102
+ {footer && (
103
+ <ErrorBoundary label="Footer">
104
+ <Footer
105
+ leftInset={240}
106
+ rightInset={rightDrawerWidth}
107
+ {...(typeof footer === "object" ? footer : {})}
108
+ />
109
+ </ErrorBoundary>
110
+ )}
111
+
112
+ {rightContext && Array.isArray(rightContext.items) && rightContext.items.length > 0 && (
113
+ <ErrorBoundary label="RightContextDrawer">
114
+ <RightContextDrawer
115
+ open={drawerOpen}
116
+ onClose={() => setDrawerOpen(!drawerOpen)}
117
+ rightContext={rightContext}
118
+ />
119
+ </ErrorBoundary>
120
+ )}
121
+ </>
122
+ );
123
+ }
@@ -0,0 +1,107 @@
1
+ // src/templates/Shell.jsx
2
+ // Clean Shell that composes NavBar, LeftDrawer, RightDrawer, StickyOptions and Footer
3
+ // and relies on runtime insets managed by the drawers themselves.
4
+ //
5
+ // Props (clean API)
6
+ // - navBar?: props for <NavBar />
7
+ // - leftDrawer?: { enabled?: boolean, drawerWidth?: number, drawerLinks?: RouteItem[] }
8
+ // - rightDrawer?: props for <RightDrawer /> (enabled inferred by its content)
9
+ // - stickyOptions?: props for <StickyOptions />
10
+ // - footer?: props for <Footer />
11
+ //
12
+ // Notes
13
+ // - Mobile: LeftDrawer is temporary and controlled here via `leftOpen`.
14
+ // - Desktop: LeftDrawer is permanent; it will update theme.layout.insets.left internally.
15
+ // - RightDrawer also updates theme.layout.insets.right when permanent.
16
+ // - Shell itself no longer sets manual `ml/mr`; content adapts via theme/layout insets.
17
+
18
+ import React from 'react';
19
+ import { Outlet } from 'react-router-dom';
20
+ import { Box, useMediaQuery, useTheme } from '@mui/material';
21
+ import NavBar from '../../components/generics/AppBars/NavBar/NavBar';
22
+ import LeftDrawer from '../../components/generics/AppBars/LeftDrawer/LeftDrawer';
23
+ import RightDrawer from '../../components/generics/AppBars/RightDrawer/RightDrawer';
24
+ import StickyOptions from '../../components/generics/AppBars/StickyOptions/StickyOptionsTop';
25
+ import Footer from '../../components/generics/AppBars/Footer/Footer';
26
+ import PageContainer from '../../components/generics/Layout/PageContainer';
27
+
28
+ export default function Shell({
29
+ navBar = {},
30
+ leftDrawer = {},
31
+ rightDrawer = null,
32
+ stickyOptions = null,
33
+ footer = null,
34
+ }) {
35
+ const theme = useTheme();
36
+ const isDesktop = useMediaQuery(theme.breakpoints.up('md'));
37
+
38
+ // ---------------- Left drawer control (mobile temporary) ------------------
39
+ const leftEnabled = leftDrawer?.enabled !== false; // default: true
40
+ const leftWidth = leftDrawer?.drawerWidth ?? 240;
41
+ const [leftOpen, setLeftOpen] = React.useState(false);
42
+ const toggleLeft = () => setLeftOpen((v) => !v);
43
+
44
+ // ---------------- NavBar props -------------------------------------------
45
+ const navProps = {
46
+ title: 'This.GUI',
47
+ logo: 'https://neurons.me/neurons.me.png',
48
+ showMenuButton: leftEnabled,
49
+ onMenuClick: leftEnabled ? toggleLeft : undefined,
50
+ showThemeToggle: true,
51
+ ...navBar,
52
+ };
53
+
54
+ // ---------------- LeftDrawer props ---------------------------------------
55
+ const leftProps = leftEnabled
56
+ ? {
57
+ open: !isDesktop ? leftOpen : true,
58
+ onClose: () => setLeftOpen(false),
59
+ drawerWidth: leftWidth,
60
+ drawerLinks: leftDrawer?.drawerLinks || [],
61
+ // cualquier otra prop declarativa se pasa tal cual
62
+ ...leftDrawer,
63
+ }
64
+ : null;
65
+
66
+ // ---------------- RightDrawer visibility ---------------------------------
67
+ const hasRight = !!rightDrawer && (rightDrawer.enabled !== false);
68
+
69
+ // ---------------- Sticky Options -----------------------------------------
70
+ const hasSticky = !!(stickyOptions && Array.isArray(stickyOptions.items) && stickyOptions.items.length > 0);
71
+
72
+ return (
73
+ <>
74
+ <NavBar {...navProps} />
75
+
76
+ {leftEnabled && <LeftDrawer {...leftProps} />}
77
+
78
+ {hasSticky && (
79
+ <StickyOptions
80
+ items={stickyOptions.items}
81
+ positioning={stickyOptions.positioning || {}}
82
+ behavior={stickyOptions.behavior || {}}
83
+ theme={stickyOptions.theme || {}}
84
+ visibility={stickyOptions.visibility || {}}
85
+ i18n={stickyOptions.i18n || {}}
86
+ />
87
+ )}
88
+
89
+ <Box
90
+ sx={{
91
+ flex: 1,
92
+ px: { xs: 2, sm: 3 },
93
+ mt: 5, // leave space for AppBar (48px dense + 8px tolerance)
94
+ width: 'auto',
95
+ }}
96
+ >
97
+ <PageContainer>
98
+ <Outlet />
99
+ </PageContainer>
100
+ </Box>
101
+
102
+ {footer && <Footer {...(typeof footer === 'object' ? footer : {})} />}
103
+
104
+ {hasRight && <RightDrawer {...rightDrawer} />}
105
+ </>
106
+ );
107
+ }