this.gui 1.0.14 → 1.0.16
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/README.md +0 -39
- package/dist/style.css +1 -1
- package/dist/this-gui.es.js +3751 -1882
- package/dist/this-gui.umd.js +34 -22
- package/package.json +14 -12
- package/src/App.jsx +50 -21
- package/src/SiteBuilder.jsx +39 -0
- package/src/index.mdx +10 -0
- package/src/main.jsx +11 -14
- package/src/scripts/postinstall.js +28 -31
- package/src/scripts/verifyLayouts.js +175 -0
- package/src/scripts/verifyTemplates.js +154 -0
- package/src/stories/Atoms/Alert/Alert.css +196 -14
- package/src/stories/Atoms/Alert/Alert.jsx +43 -28
- package/src/stories/Atoms/Alert/Alert.stories.jsx +154 -28
- package/src/stories/Atoms/Audio/Audio.css +246 -16
- package/src/stories/Atoms/Audio/Audio.jsx +204 -29
- package/src/stories/Atoms/Audio/Audio.stories.jsx +178 -28
- package/src/stories/Atoms/Badge/Badge.css +234 -15
- package/src/stories/Atoms/Badge/Badge.jsx +44 -31
- package/src/stories/Atoms/Badge/Badge.stories.jsx +108 -29
- package/src/stories/Atoms/Button/Button.css +106 -45
- package/src/stories/Atoms/Button/Button.jsx +31 -82
- package/src/stories/Atoms/Button/Button.stories.jsx +170 -40
- package/src/stories/Atoms/Caption/Caption.css +156 -16
- package/src/stories/Atoms/Caption/Caption.jsx +62 -31
- package/src/stories/Atoms/Caption/Caption.stories.jsx +194 -28
- package/src/stories/Atoms/Checkbox/Checkbox.css +168 -15
- package/src/stories/Atoms/Checkbox/Checkbox.jsx +73 -31
- package/src/stories/Atoms/Checkbox/Checkbox.stories.jsx +98 -27
- package/src/stories/Atoms/Container/Container.css +75 -15
- package/src/stories/Atoms/Container/Container.jsx +41 -28
- package/src/stories/Atoms/Container/Container.stories.jsx +92 -29
- package/src/stories/Atoms/Divider/Divider.css +131 -13
- package/src/stories/Atoms/Divider/Divider.jsx +54 -33
- package/src/stories/Atoms/Divider/Divider.stories.jsx +93 -29
- package/src/stories/Atoms/Heading/Heading.css +99 -16
- package/src/stories/Atoms/Heading/Heading.jsx +57 -29
- package/src/stories/Atoms/Heading/Heading.stories.jsx +117 -28
- package/src/stories/Atoms/Icon/Icon.css +219 -27
- package/src/stories/Atoms/Icon/Icon.jsx +67 -38
- package/src/stories/Atoms/Icon/Icon.stories.jsx +156 -51
- package/src/stories/Atoms/Image/Image.css +231 -15
- package/src/stories/Atoms/Image/Image.jsx +166 -32
- package/src/stories/Atoms/Image/Image.stories.jsx +319 -28
- package/src/stories/Atoms/Label/Label.css +158 -16
- package/src/stories/Atoms/Label/Label.jsx +61 -31
- package/src/stories/Atoms/Label/Label.stories.jsx +167 -28
- package/src/stories/Atoms/Link/Link.css +58 -16
- package/src/stories/Atoms/Link/Link.jsx +73 -32
- package/src/stories/Atoms/Link/Link.stories.jsx +141 -29
- package/src/stories/Atoms/Loader/Loader.css +93 -16
- package/src/stories/Atoms/Loader/Loader.jsx +47 -30
- package/src/stories/Atoms/Loader/Loader.stories.jsx +86 -28
- package/src/stories/Atoms/Logo/Logo.css +94 -0
- package/src/stories/Atoms/Logo/Logo.jsx +53 -0
- package/src/stories/Atoms/Logo/Logo.stories.jsx +120 -0
- package/src/stories/Atoms/Paragraph/Paragraph.css +167 -16
- package/src/stories/Atoms/Paragraph/Paragraph.jsx +67 -31
- package/src/stories/Atoms/Paragraph/Paragraph.stories.jsx +130 -28
- package/src/stories/Atoms/ProgressBar/ProgressBar.css +115 -17
- package/src/stories/Atoms/ProgressBar/ProgressBar.jsx +30 -31
- package/src/stories/Atoms/ProgressBar/ProgressBar.stories.jsx +72 -27
- package/src/stories/Atoms/RadioButton/RadioButton.css +118 -17
- package/src/stories/Atoms/RadioButton/RadioButton.jsx +77 -31
- package/src/stories/Atoms/RadioButton/RadioButton.stories.jsx +99 -27
- package/src/stories/Atoms/Range/Range.css +169 -0
- package/src/stories/Atoms/Range/Range.jsx +87 -0
- package/src/stories/Atoms/Range/Range.stories.jsx +110 -0
- package/src/stories/Atoms/Select/Select.css +74 -16
- package/src/stories/Atoms/Select/Select.jsx +62 -30
- package/src/stories/Atoms/Select/Select.stories.jsx +95 -27
- package/src/stories/Atoms/Slider/Slider.css +77 -16
- package/src/stories/Atoms/Slider/Slider.jsx +119 -31
- package/src/stories/Atoms/Slider/Slider.stories.jsx +77 -28
- package/src/stories/Atoms/Snackbar/Snackbar.css +297 -13
- package/src/stories/Atoms/Snackbar/Snackbar.jsx +62 -31
- package/src/stories/Atoms/Snackbar/Snackbar.stories.jsx +63 -26
- package/src/stories/Atoms/Spacer/Spacer.css +101 -16
- package/src/stories/Atoms/Spacer/Spacer.jsx +26 -32
- package/src/stories/Atoms/Spacer/Spacer.stories.jsx +50 -30
- package/src/stories/Atoms/Spinner/Spinner.css +97 -16
- package/src/stories/Atoms/Spinner/Spinner.jsx +50 -26
- package/src/stories/Atoms/Spinner/Spinner.stories.jsx +47 -30
- package/src/stories/Atoms/Tag/Tag.css +97 -14
- package/src/stories/Atoms/Tag/Tag.jsx +58 -24
- package/src/stories/Atoms/Tag/Tag.stories.jsx +55 -29
- package/src/stories/Atoms/TextArea/TextArea.css +84 -15
- package/src/stories/Atoms/TextArea/TextArea.jsx +107 -31
- package/src/stories/Atoms/TextArea/TextArea.stories.jsx +24 -30
- package/src/stories/Atoms/TextInput/TextInput.css +89 -17
- package/src/stories/Atoms/TextInput/TextInput.jsx +118 -27
- package/src/stories/Atoms/TextInput/TextInput.stories.jsx +52 -25
- package/src/stories/Atoms/Toggle/Toggle.css +105 -17
- package/src/stories/Atoms/Toggle/Toggle.jsx +55 -28
- package/src/stories/Atoms/Toggle/Toggle.stories.jsx +23 -30
- package/src/stories/Atoms/Tooltip/Tooltip.css +367 -14
- package/src/stories/Atoms/Tooltip/Tooltip.jsx +32 -28
- package/src/stories/Atoms/Tooltip/Tooltip.stories.jsx +41 -31
- package/src/stories/Atoms/Video/Video.css +27 -18
- package/src/stories/Atoms/Video/Video.jsx +65 -29
- package/src/stories/Atoms/Video/Video.stories.jsx +29 -30
- package/src/stories/Atoms/index.js +5 -2
- package/src/stories/Atoms/meta_Atoms.js +3 -1
- package/src/stories/Layouts/Accordion/Accordion.css +16 -0
- package/src/stories/Layouts/Accordion/Accordion.jsx +31 -0
- package/src/stories/Layouts/Accordion/Accordion.stories.jsx +28 -0
- package/src/stories/Layouts/DropdownMenu/DropdownMenu.css +16 -0
- package/src/stories/Layouts/DropdownMenu/DropdownMenu.jsx +31 -0
- package/src/stories/Layouts/DropdownMenu/DropdownMenu.stories.jsx +28 -0
- package/src/stories/Layouts/Flexbox/Flexbox.css +16 -0
- package/src/stories/Layouts/Flexbox/Flexbox.jsx +11 -0
- package/src/stories/Layouts/Flexbox/Flexbox.stories.jsx +28 -0
- package/src/stories/Layouts/Footer/Footer.css +16 -0
- package/src/stories/Layouts/Footer/Footer.jsx +31 -0
- package/src/stories/Layouts/Footer/Footer.stories.jsx +28 -0
- package/src/stories/Layouts/Grid/Grid.jsx +2 -4
- package/src/stories/Layouts/Grid/Grid.stories.jsx +20 -18
- package/src/stories/Layouts/Header/Header.css +16 -0
- package/src/stories/Layouts/Header/Header.jsx +31 -0
- package/src/stories/Layouts/Header/Header.stories.jsx +28 -0
- package/src/stories/Layouts/HeroBanner/HeroBanner.css +16 -0
- package/src/stories/Layouts/HeroBanner/HeroBanner.jsx +31 -0
- package/src/stories/Layouts/HeroBanner/HeroBanner.stories.jsx +28 -0
- package/src/stories/Layouts/HeroImageVideo/HeroImageVideo.css +16 -0
- package/src/stories/Layouts/HeroImageVideo/HeroImageVideo.jsx +31 -0
- package/src/stories/Layouts/HeroImageVideo/HeroImageVideo.stories.jsx +28 -0
- package/src/stories/Layouts/Pagination/Pagination.css +16 -0
- package/src/stories/Layouts/Pagination/Pagination.jsx +31 -0
- package/src/stories/Layouts/Pagination/Pagination.stories.jsx +28 -0
- package/src/stories/Layouts/Section/Section.css +16 -0
- package/src/stories/Layouts/Section/Section.jsx +31 -0
- package/src/stories/Layouts/Section/Section.stories.jsx +28 -0
- package/src/stories/Layouts/Sidebar/Sidebar.css +16 -0
- package/src/stories/Layouts/Sidebar/Sidebar.jsx +71 -0
- package/src/stories/Layouts/Sidebar/Sidebar.stories.jsx +28 -0
- package/src/stories/Layouts/Tabs/Tabs.css +16 -0
- package/src/stories/Layouts/Tabs/Tabs.jsx +31 -0
- package/src/stories/Layouts/Tabs/Tabs.stories.jsx +28 -0
- package/src/stories/Layouts/index.js +31 -0
- package/src/stories/Layouts/meta_Layouts.js +31 -0
- package/src/stories/Molecules/Navbar/Navbar.css +63 -59
- package/src/stories/Molecules/Navbar/Navbar.jsx +43 -48
- package/src/stories/Molecules/Navbar/Navbar.stories.jsx +58 -8
- package/src/stories/Molecules/SearchBar/SearchBar.css +66 -1
- package/src/stories/Molecules/SearchBar/SearchBar.jsx +59 -11
- package/src/stories/Molecules/SearchBar/SearchBar.stories.jsx +16 -7
- package/src/stories/Molecules/SelectTheme/SelectTheme.jsx +16 -38
- package/src/stories/Molecules/SelectTheme/SelectTheme.stories.jsx +1 -2
- package/src/stories/Molecules/Sidebar/Sidebar.css +65 -2
- package/src/stories/Molecules/Sidebar/Sidebar.jsx +66 -11
- package/src/stories/Molecules/Sidebar/Sidebar.stories.jsx +20 -5
- package/src/stories/Templates/AdminDashboard/AdminDashboard.css +7 -0
- package/src/stories/Templates/AdminDashboard/AdminDashboard.jsx +24 -0
- package/src/stories/Templates/AdminDashboard/AdminDashboard.stories.jsx +20 -0
- package/src/stories/Templates/CallToAction/CallToAction.css +7 -0
- package/src/stories/Templates/CallToAction/CallToAction.jsx +24 -0
- package/src/stories/Templates/CallToAction/CallToAction.stories.jsx +20 -0
- package/src/stories/Templates/FeaturesList/FeaturesList.css +7 -0
- package/src/stories/Templates/FeaturesList/FeaturesList.jsx +24 -0
- package/src/stories/Templates/FeaturesList/FeaturesList.stories.jsx +20 -0
- package/src/stories/Templates/FormSection/FormSection.css +7 -0
- package/src/stories/Templates/FormSection/FormSection.jsx +24 -0
- package/src/stories/Templates/FormSection/FormSection.stories.jsx +20 -0
- package/src/stories/Templates/HeroSection/HeroSection.css +7 -0
- package/src/stories/Templates/HeroSection/HeroSection.jsx +24 -0
- package/src/stories/Templates/HeroSection/HeroSection.stories.jsx +20 -0
- package/src/stories/Templates/LocationInfo/LocationInfo.css +7 -0
- package/src/stories/Templates/LocationInfo/LocationInfo.jsx +24 -0
- package/src/stories/Templates/LocationInfo/LocationInfo.stories.jsx +20 -0
- package/src/stories/Templates/ProductPage/ProductPage.css +7 -0
- package/src/stories/Templates/ProductPage/ProductPage.jsx +24 -0
- package/src/stories/Templates/ProductPage/ProductPage.stories.jsx +20 -0
- package/src/stories/Templates/RegistrationPage/RegistrationPage.css +7 -0
- package/src/stories/Templates/RegistrationPage/RegistrationPage.jsx +24 -0
- package/src/stories/Templates/RegistrationPage/RegistrationPage.stories.jsx +20 -0
- package/src/stories/Templates/ShoppingCart/ShoppingCart.css +7 -0
- package/src/stories/Templates/ShoppingCart/ShoppingCart.jsx +24 -0
- package/src/stories/Templates/ShoppingCart/ShoppingCart.stories.jsx +20 -0
- package/src/stories/Templates/SidebarTopNav/SidebarTopNav.css +7 -0
- package/src/stories/Templates/SidebarTopNav/SidebarTopNav.jsx +24 -0
- package/src/stories/Templates/SidebarTopNav/SidebarTopNav.stories.jsx +20 -0
- package/src/stories/Templates/SignInPage/SignInPage.css +7 -0
- package/src/stories/Templates/SignInPage/SignInPage.jsx +24 -0
- package/src/stories/Templates/SignInPage/SignInPage.stories.jsx +20 -0
- package/src/stories/Templates/SocialMediaLinks/SocialMediaLinks.css +7 -0
- package/src/stories/Templates/SocialMediaLinks/SocialMediaLinks.jsx +24 -0
- package/src/stories/Templates/SocialMediaLinks/SocialMediaLinks.stories.jsx +20 -0
- package/src/stories/Templates/Testimonials/Testimonials.css +7 -0
- package/src/stories/Templates/Testimonials/Testimonials.jsx +24 -0
- package/src/stories/Templates/Testimonials/Testimonials.stories.jsx +20 -0
- package/src/stories/Templates/index.js +33 -0
- package/src/stories/Templates/{Templates.js → meta_Templates.js} +3 -1
- package/src/stories/assets/logo.png +0 -0
- package/src/stories/assets/logo.svg +106 -0
- package/src/stories/assets/test.svg +3 -0
- package/src/themes/README.md +301 -0
- package/src/themes/ThemeProvider.jsx +47 -22
- package/src/themes/styles/dracula/dark.css +0 -0
- package/src/themes/styles/dracula/light.css +0 -0
- 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 +247 -0
- package/src/themes/styles/neurons/light.css +280 -0
- package/dist/github-3688a83a.js +0 -5
- package/dist/gothic-94a7ecd6.js +0 -5
- package/dist/newsprint-32bf94d9.js +0 -5
- package/dist/night-4a954853.js +0 -5
- package/dist/pixyll-94de4610.js +0 -5
- package/dist/whitey-db68723e.js +0 -5
- package/src/MDXEditor.jsx +0 -32
- package/src/stories/Atoms/RangeInput/RangeInput.css +0 -29
- package/src/stories/Atoms/RangeInput/RangeInput.jsx +0 -41
- package/src/stories/Atoms/RangeInput/RangeInput.stories.jsx +0 -41
- package/src/stories/Components.md +0 -189
- package/src/stories/Layouts/Layout.js +0 -28
- package/src/styles/Header.modules.css +0 -32
- package/src/styles/global.css +0 -59
- package/src/themes/Themes.js +0 -44
- package/src/themes/dark.js +0 -22
- package/src/themes/light.js +0 -22
- package/src/themes/typ/Readme.md +0 -4
- package/src/themes/typ/github/open-sans-v17-latin-ext_latin-700.woff2 +0 -0
- package/src/themes/typ/github/open-sans-v17-latin-ext_latin-700italic.woff2 +0 -0
- package/src/themes/typ/github/open-sans-v17-latin-ext_latin-italic.woff2 +0 -0
- package/src/themes/typ/github/open-sans-v17-latin-ext_latin-regular.woff2 +0 -0
- package/src/themes/typ/github.css +0 -416
- package/src/themes/typ/gothic/GUST e-foundry License.txt +0 -29
- package/src/themes/typ/gothic/didact-gothic-c-ext.woff2 +0 -0
- package/src/themes/typ/gothic/didact-gothic-c.woff2 +0 -0
- package/src/themes/typ/gothic/texgyreadventor-bold.woff +0 -0
- package/src/themes/typ/gothic/texgyreadventor-bolditalic.woff +0 -0
- package/src/themes/typ/gothic/texgyreadventor-italic.woff +0 -0
- package/src/themes/typ/gothic/texgyreadventor-regular.woff +0 -0
- package/src/themes/typ/gothic.css +0 -410
- package/src/themes/typ/newsprint/pt-serif-v11-latin-700.woff2 +0 -0
- package/src/themes/typ/newsprint/pt-serif-v11-latin-700italic.woff2 +0 -0
- package/src/themes/typ/newsprint/pt-serif-v11-latin-italic.woff2 +0 -0
- package/src/themes/typ/newsprint/pt-serif-v11-latin-regular.woff2 +0 -0
- package/src/themes/typ/newsprint.css +0 -622
- package/src/themes/typ/night/codeblock.dark.css +0 -113
- package/src/themes/typ/night/credit.html +0 -1
- package/src/themes/typ/night/cursor.png +0 -0
- package/src/themes/typ/night/cursor@2x.png +0 -0
- package/src/themes/typ/night/mermaid.dark.css +0 -7
- package/src/themes/typ/night/sourcemode.dark.css +0 -38
- package/src/themes/typ/night.css +0 -1032
- package/src/themes/typ/pixyll/lato-v14-latin-300.woff +0 -0
- package/src/themes/typ/pixyll/lato-v14-latin-300italic.woff +0 -0
- package/src/themes/typ/pixyll/lato-v14-latin-900.woff +0 -0
- package/src/themes/typ/pixyll/lato-v14-latin-900italic.woff +0 -0
- package/src/themes/typ/pixyll/merriweather-v19-latin-300.woff +0 -0
- package/src/themes/typ/pixyll/merriweather-v19-latin-300italic.woff +0 -0
- package/src/themes/typ/pixyll/merriweather-v19-latin-700.woff +0 -0
- package/src/themes/typ/pixyll/merriweather-v19-latin-700italic.woff +0 -0
- package/src/themes/typ/pixyll.css +0 -528
- package/src/themes/typ/whitey.css +0 -299
- /package/src/stories/Molecules/{Molecules.js → meta_Molecules.js} +0 -0
- /package/src/stories/Organisms/{Organisms.js → meta_Organisms.js} +0 -0
|
@@ -0,0 +1,301 @@
|
|
|
1
|
+
A **complete global CSS** should establish the foundational design rules and visual consistency across an application. It should cover general aspects like colors, typography, spacing, layout, forms, buttons, and interactions. The component-specific styles will then build on top of this global foundation.
|
|
2
|
+
|
|
3
|
+
Here’s a **meta description** of the key sections and properties that should be included in any global CSS file:
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
### **Meta Description of a Complete Global CSS**
|
|
8
|
+
|
|
9
|
+
#### 1. **CSS Variables (Design Tokens)**
|
|
10
|
+
Define **CSS variables** at the root level (`:root`) to store your design tokens. This ensures flexibility and consistency across the application.
|
|
11
|
+
|
|
12
|
+
##### Key Design Tokens:
|
|
13
|
+
- **Primary and Secondary Colors**:
|
|
14
|
+
- `--primary-color`: Main action color (e.g., for buttons, links).
|
|
15
|
+
- `--secondary-color`: Supportive action color (e.g., for secondary buttons or highlights).
|
|
16
|
+
- `--background-color`: Global background color.
|
|
17
|
+
- `--text-color`: Main text color.
|
|
18
|
+
- `--border-color`: Default color for borders.
|
|
19
|
+
- `--link-color`: Color for links.
|
|
20
|
+
|
|
21
|
+
Example:
|
|
22
|
+
```css
|
|
23
|
+
:root {
|
|
24
|
+
--primary-color: #0366d6;
|
|
25
|
+
--secondary-color: #586069;
|
|
26
|
+
--background-color: #ffffff;
|
|
27
|
+
--text-color: #333333;
|
|
28
|
+
--border-color: #e1e4e8;
|
|
29
|
+
--link-color: #0366d6;
|
|
30
|
+
}
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
- **Typography**:
|
|
34
|
+
- `--font-family`: Base font family for all text.
|
|
35
|
+
- `--font-size-base`: Base font size (e.g., 16px).
|
|
36
|
+
- `--line-height`: Global line height (e.g., 1.6).
|
|
37
|
+
- `--font-weight-regular`: Regular font weight.
|
|
38
|
+
- `--font-weight-bold`: Bold font weight.
|
|
39
|
+
|
|
40
|
+
Example:
|
|
41
|
+
```css
|
|
42
|
+
:root {
|
|
43
|
+
--font-family: 'Open Sans', sans-serif;
|
|
44
|
+
--font-size-base: 16px;
|
|
45
|
+
--line-height: 1.6;
|
|
46
|
+
--font-weight-regular: 400;
|
|
47
|
+
--font-weight-bold: 700;
|
|
48
|
+
}
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
- **Spacing**:
|
|
52
|
+
- `--spacing-xs`: Extra small spacing (e.g., padding, margins).
|
|
53
|
+
- `--spacing-sm`: Small spacing.
|
|
54
|
+
- `--spacing-md`: Medium spacing.
|
|
55
|
+
- `--spacing-lg`: Large spacing.
|
|
56
|
+
|
|
57
|
+
Example:
|
|
58
|
+
```css
|
|
59
|
+
:root {
|
|
60
|
+
--spacing-xs: 4px;
|
|
61
|
+
--spacing-sm: 8px;
|
|
62
|
+
--spacing-md: 16px;
|
|
63
|
+
--spacing-lg: 32px;
|
|
64
|
+
}
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
- **Borders**:
|
|
68
|
+
- `--border-radius`: Default radius for rounded elements.
|
|
69
|
+
- `--border-width`: Default border width.
|
|
70
|
+
|
|
71
|
+
Example:
|
|
72
|
+
```css
|
|
73
|
+
:root {
|
|
74
|
+
--border-radius: 4px;
|
|
75
|
+
--border-width: 1px;
|
|
76
|
+
}
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
- **Z-index**:
|
|
80
|
+
- `--z-index-modal`: Z-index for modals.
|
|
81
|
+
- `--z-index-tooltip`: Z-index for tooltips.
|
|
82
|
+
|
|
83
|
+
Example:
|
|
84
|
+
```css
|
|
85
|
+
:root {
|
|
86
|
+
--z-index-modal: 1000;
|
|
87
|
+
--z-index-tooltip: 1050;
|
|
88
|
+
}
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
#### 2. **Global Resets and Base Styles**
|
|
92
|
+
Implement styles to reset common browser inconsistencies and define the base font, color, and layout properties.
|
|
93
|
+
|
|
94
|
+
##### Example:
|
|
95
|
+
```css
|
|
96
|
+
/* Global Reset */
|
|
97
|
+
* {
|
|
98
|
+
margin: 0;
|
|
99
|
+
padding: 0;
|
|
100
|
+
box-sizing: border-box;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
/* Base Styles */
|
|
104
|
+
body {
|
|
105
|
+
font-family: var(--font-family);
|
|
106
|
+
font-size: var(--font-size-base);
|
|
107
|
+
line-height: var(--line-height);
|
|
108
|
+
color: var(--text-color);
|
|
109
|
+
background-color: var(--background-color);
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
a {
|
|
113
|
+
color: var(--link-color);
|
|
114
|
+
text-decoration: none;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
a:hover {
|
|
118
|
+
text-decoration: underline;
|
|
119
|
+
}
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
#### 3. **Typography**
|
|
123
|
+
Define global typography rules to ensure a consistent appearance for all headings, paragraphs, and text elements.
|
|
124
|
+
|
|
125
|
+
##### Example:
|
|
126
|
+
```css
|
|
127
|
+
h1, h2, h3, h4, h5, h6 {
|
|
128
|
+
color: var(--text-color);
|
|
129
|
+
font-weight: var(--font-weight-bold);
|
|
130
|
+
margin-bottom: var(--spacing-md);
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
h1 { font-size: 2.25em; }
|
|
134
|
+
h2 { font-size: 1.75em; }
|
|
135
|
+
h3 { font-size: 1.5em; }
|
|
136
|
+
h4 { font-size: 1.25em; }
|
|
137
|
+
h5, h6 { font-size: 1em; color: var(--secondary-color); }
|
|
138
|
+
|
|
139
|
+
p {
|
|
140
|
+
margin-bottom: var(--spacing-md);
|
|
141
|
+
color: var(--text-color);
|
|
142
|
+
}
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
#### 4. **Buttons**
|
|
146
|
+
Global button styles that cover primary, secondary, and disabled states.
|
|
147
|
+
|
|
148
|
+
##### Example:
|
|
149
|
+
```css
|
|
150
|
+
.button {
|
|
151
|
+
padding: var(--spacing-sm) var(--spacing-md);
|
|
152
|
+
border-radius: var(--border-radius);
|
|
153
|
+
border: none;
|
|
154
|
+
cursor: pointer;
|
|
155
|
+
font-size: 1rem;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
.button--primary {
|
|
159
|
+
background-color: var(--primary-color);
|
|
160
|
+
color: #ffffff;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
.button--secondary {
|
|
164
|
+
background-color: var(--secondary-color);
|
|
165
|
+
color: #ffffff;
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
.button--disabled {
|
|
169
|
+
background-color: #cccccc;
|
|
170
|
+
cursor: not-allowed;
|
|
171
|
+
}
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
#### 5. **Form Elements**
|
|
175
|
+
Global styles for form elements like `input`, `textarea`, and `select`.
|
|
176
|
+
|
|
177
|
+
##### Example:
|
|
178
|
+
```css
|
|
179
|
+
input, textarea, select {
|
|
180
|
+
padding: var(--spacing-sm);
|
|
181
|
+
border-radius: var(--border-radius);
|
|
182
|
+
border: var(--border-width) solid var(--border-color);
|
|
183
|
+
font-size: var(--font-size-base);
|
|
184
|
+
font-family: var(--font-family);
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
input:focus, textarea:focus, select:focus {
|
|
188
|
+
border-color: var(--primary-color);
|
|
189
|
+
outline: none;
|
|
190
|
+
}
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
#### 6. **Containers and Layout**
|
|
194
|
+
Define a layout system with containers, grid systems, and common utilities.
|
|
195
|
+
|
|
196
|
+
##### Example (Container):
|
|
197
|
+
```css
|
|
198
|
+
.container {
|
|
199
|
+
max-width: 1200px;
|
|
200
|
+
margin: 0 auto;
|
|
201
|
+
padding: var(--spacing-md);
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
/* Responsive Grid */
|
|
205
|
+
.grid {
|
|
206
|
+
display: flex;
|
|
207
|
+
gap: var(--spacing-md);
|
|
208
|
+
flex-wrap: wrap;
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
.grid__item {
|
|
212
|
+
flex: 1;
|
|
213
|
+
min-width: 200px;
|
|
214
|
+
}
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
#### 7. **Spacing and Utility Classes**
|
|
218
|
+
Define utility classes for common spacing, alignment, and display patterns.
|
|
219
|
+
|
|
220
|
+
##### Example:
|
|
221
|
+
```css
|
|
222
|
+
/* Margin utilities */
|
|
223
|
+
.mt-sm { margin-top: var(--spacing-sm); }
|
|
224
|
+
.mb-md { margin-bottom: var(--spacing-md); }
|
|
225
|
+
|
|
226
|
+
/* Text alignment */
|
|
227
|
+
.text-center { text-align: center; }
|
|
228
|
+
|
|
229
|
+
/* Flex utilities */
|
|
230
|
+
.d-flex { display: flex; }
|
|
231
|
+
.flex-column { flex-direction: column; }
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
#### 8. **Media Queries**
|
|
235
|
+
Define breakpoints for responsive design and apply styles accordingly.
|
|
236
|
+
|
|
237
|
+
##### Example:
|
|
238
|
+
```css
|
|
239
|
+
@media (max-width: 768px) {
|
|
240
|
+
.container {
|
|
241
|
+
padding: var(--spacing-sm);
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
h1 {
|
|
245
|
+
font-size: 1.75em;
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
#### 9. **Dark Mode and Light Mode (Theming)**
|
|
251
|
+
Define rules for light and dark themes. Switch the theme by changing the root variables.
|
|
252
|
+
|
|
253
|
+
##### Example:
|
|
254
|
+
```css
|
|
255
|
+
/* Light Mode */
|
|
256
|
+
.light-theme {
|
|
257
|
+
--background-color: #ffffff;
|
|
258
|
+
--text-color: #333333;
|
|
259
|
+
--primary-color: #0366d6;
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
/* Dark Mode */
|
|
263
|
+
.dark-theme {
|
|
264
|
+
--background-color: #181818;
|
|
265
|
+
--text-color: #eaeaea;
|
|
266
|
+
--primary-color: #539bf5;
|
|
267
|
+
}
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
#### 10. **Accessibility**
|
|
271
|
+
Ensure accessibility by focusing on contrasts, keyboard focus states, and screen reader support.
|
|
272
|
+
|
|
273
|
+
##### Example:
|
|
274
|
+
```css
|
|
275
|
+
a:focus, button:focus {
|
|
276
|
+
outline: 2px solid var(--primary-color);
|
|
277
|
+
outline-offset: 2px;
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
@media (prefers-reduced-motion: reduce) {
|
|
281
|
+
* {
|
|
282
|
+
animation: none;
|
|
283
|
+
transition: none;
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
---
|
|
289
|
+
|
|
290
|
+
### **Key Elements to Include in Each CSS**
|
|
291
|
+
|
|
292
|
+
1. **Colors**: Primary, secondary, background, text, border colors.
|
|
293
|
+
2. **Typography**: Font family, font sizes, line heights, weights.
|
|
294
|
+
3. **Spacing**: Padding, margins, grid, and layout utilities.
|
|
295
|
+
4. **Components**: Buttons, forms, links, containers.
|
|
296
|
+
5. **Theming**: Light mode, dark mode, and accessible states.
|
|
297
|
+
6. **Accessibility**: Focus states, reduced motion, high contrast.
|
|
298
|
+
7. **Responsive**: Media queries for different screen sizes.
|
|
299
|
+
8. **Utility Classes**: For common patterns like alignment, display, spacing.
|
|
300
|
+
|
|
301
|
+
By following this structure, you ensure that your global CSS provides a robust, consistent, and easily customizable foundation for your application’s design.
|
|
@@ -1,34 +1,59 @@
|
|
|
1
|
+
// src/themes/ThemeProvider.jsx
|
|
1
2
|
import React, { useState, useEffect } from 'react';
|
|
2
|
-
import { SelectTheme } from '../stories/Molecules/SelectTheme/SelectTheme'; // Import the SelectTheme component
|
|
3
3
|
|
|
4
4
|
const ThemeContext = React.createContext();
|
|
5
5
|
|
|
6
|
-
export const ThemeProvider = ({
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
export const ThemeProvider = ({
|
|
7
|
+
children,
|
|
8
|
+
initialTheme = 'neurons',
|
|
9
|
+
initialMode = 'light',
|
|
10
|
+
targetDocument = document, // Default to global document
|
|
11
|
+
}) => {
|
|
12
|
+
const [theme, setTheme] = useState(initialTheme);
|
|
13
|
+
const [mode, setMode] = useState(initialMode);
|
|
14
|
+
|
|
15
|
+
// Preload themes with Vite's `import.meta.glob`
|
|
16
|
+
// Updated to use 'query' and 'import' options instead of 'as'
|
|
17
|
+
const themes = import.meta.glob('./styles/**/*.css', {
|
|
18
|
+
query: '?raw',
|
|
19
|
+
import: 'default',
|
|
20
|
+
});
|
|
9
21
|
|
|
10
22
|
useEffect(() => {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
console.log(`${theme} theme loaded`);
|
|
14
|
-
setThemeLoaded(true);
|
|
15
|
-
})
|
|
16
|
-
.catch((error) => {
|
|
17
|
-
console.error(`Error loading ${theme} theme: `, error);
|
|
18
|
-
});
|
|
19
|
-
}, [theme]);
|
|
23
|
+
setTheme(initialTheme);
|
|
24
|
+
}, [initialTheme]);
|
|
20
25
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
26
|
+
useEffect(() => {
|
|
27
|
+
setMode(initialMode);
|
|
28
|
+
}, [initialMode]);
|
|
29
|
+
|
|
30
|
+
useEffect(() => {
|
|
31
|
+
const themePath = `./styles/${theme}/${mode}.css`;
|
|
32
|
+
|
|
33
|
+
if (themes[themePath]) {
|
|
34
|
+
themes[themePath]().then((cssContent) => {
|
|
35
|
+
// Remove any existing theme styles
|
|
36
|
+
const existingStyle = targetDocument.getElementById('theme-styles');
|
|
37
|
+
if (existingStyle) {
|
|
38
|
+
existingStyle.parentNode.removeChild(existingStyle);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
// Create a new style element
|
|
42
|
+
const style = targetDocument.createElement('style');
|
|
43
|
+
style.id = 'theme-styles';
|
|
44
|
+
style.textContent = cssContent;
|
|
45
|
+
|
|
46
|
+
// Append the style to the head
|
|
47
|
+
targetDocument.head.appendChild(style);
|
|
48
|
+
});
|
|
49
|
+
} else {
|
|
50
|
+
console.error(`Theme not found: ${theme} ${mode}`);
|
|
51
|
+
}
|
|
52
|
+
}, [theme, mode, targetDocument]);
|
|
25
53
|
|
|
26
54
|
return (
|
|
27
|
-
<ThemeContext.Provider value={{ theme, setTheme }}>
|
|
28
|
-
|
|
29
|
-
<SelectTheme onThemeChange={(newTheme) => setTheme(newTheme)} />
|
|
30
|
-
{children}
|
|
31
|
-
</div>
|
|
55
|
+
<ThemeContext.Provider value={{ theme, mode, setTheme, setMode }}>
|
|
56
|
+
{children}
|
|
32
57
|
</ThemeContext.Provider>
|
|
33
58
|
);
|
|
34
59
|
};
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
/* src/themes/styles/neurons/dark.css */
|
|
2
|
+
|
|
3
|
+
/* Design Tokens (CSS Variables) */
|
|
4
|
+
:root {
|
|
5
|
+
/* Primary Colors */
|
|
6
|
+
--primary-color: #1F877D; /* Neurons teal */
|
|
7
|
+
--primary-color-hover: #16655C; /* Color teal más oscuro para hover */
|
|
8
|
+
--secondary-color: #00A99D; /* Teal brillante */
|
|
9
|
+
|
|
10
|
+
/* Accent Colors */
|
|
11
|
+
--accent-color-1: #00B4B8; /* Teal claro */
|
|
12
|
+
--accent-color-2: #FF6F61; /* Coral suave */
|
|
13
|
+
--accent-color-3: #6B3F87; /* Ciruela */
|
|
14
|
+
--accent-color-4: #FFFFFF; /* Blanco (para texto y acentos en modo oscuro) */
|
|
15
|
+
--accent-color-5: #2C2C2C; /* Gris oscuro */
|
|
16
|
+
|
|
17
|
+
/* Background and Text */
|
|
18
|
+
--background-color: #1E1E1E; /* Fondo ligeramente más oscuro */
|
|
19
|
+
--text-color: #FFFFFF; /* Texto blanco puro */
|
|
20
|
+
--muted-text-color: #B0B0B0; /* Color de texto atenuado */
|
|
21
|
+
--border-color: #3A3A3A; /* Color de borde consistente */
|
|
22
|
+
|
|
23
|
+
/* Link Colors */
|
|
24
|
+
--link-color: #1F877D; /* Neurons teal */
|
|
25
|
+
--link-hover-color: #CCCCCC; /* Color grisáceo al pasar el cursor */
|
|
26
|
+
|
|
27
|
+
/* Typography */
|
|
28
|
+
--font-family: 'Roboto', sans-serif;
|
|
29
|
+
--font-size-base: 17px; /* Tamaño de fuente base ajustado para coincidir con light.css */
|
|
30
|
+
--font-size-small: 15px;
|
|
31
|
+
--font-size-large: 19px;
|
|
32
|
+
--line-height: 1.6; /* Line-height ajustado para coincidir */
|
|
33
|
+
--font-weight-regular: 400; /* Peso de fuente normal */
|
|
34
|
+
--font-weight-medium: 500; /* Peso de fuente medio */
|
|
35
|
+
--font-weight-bold: 600; /* Peso de fuente bold */
|
|
36
|
+
--font-weight-heavy: 700; /* Para encabezados */
|
|
37
|
+
|
|
38
|
+
/* Spacing */
|
|
39
|
+
--spacing-xs: 4px;
|
|
40
|
+
--spacing-sm: 8px;
|
|
41
|
+
--spacing-md: 16px;
|
|
42
|
+
--spacing-lg: 32px;
|
|
43
|
+
|
|
44
|
+
/* Borders */
|
|
45
|
+
--border-radius: 6px; /* Esquinas ligeramente más redondeadas */
|
|
46
|
+
--border-width: 1px;
|
|
47
|
+
|
|
48
|
+
/* Shadows */
|
|
49
|
+
--box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.3); /* Sombra sutil */
|
|
50
|
+
|
|
51
|
+
/* Transitions */
|
|
52
|
+
--transition-speed: 0.3s;
|
|
53
|
+
|
|
54
|
+
/* Z-index */
|
|
55
|
+
--z-index-modal: 1000;
|
|
56
|
+
--z-index-tooltip: 1050;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/* Global Reset */
|
|
60
|
+
* {
|
|
61
|
+
margin: 0;
|
|
62
|
+
padding: 0;
|
|
63
|
+
box-sizing: border-box;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
/* Base Styles */
|
|
67
|
+
body {
|
|
68
|
+
font-family: var(--font-family);
|
|
69
|
+
font-size: var(--font-size-base);
|
|
70
|
+
line-height: var(--line-height);
|
|
71
|
+
color: var(--text-color);
|
|
72
|
+
background-color: var(--background-color);
|
|
73
|
+
font-weight: var(--font-weight-regular);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
/* Typography */
|
|
77
|
+
h1, h2, h3, h4, h5, h6 {
|
|
78
|
+
color: var(--text-color);
|
|
79
|
+
font-weight: var(--font-weight-heavy);
|
|
80
|
+
margin-bottom: var(--spacing-md);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
h1 { font-size: 2.2em; }
|
|
84
|
+
h2 { font-size: 1.9em; }
|
|
85
|
+
h3 { font-size: 1.6em; }
|
|
86
|
+
h4 { font-size: 1.4em; }
|
|
87
|
+
h5, h6 { font-size: 1.2em; }
|
|
88
|
+
|
|
89
|
+
p {
|
|
90
|
+
margin-bottom: var(--spacing-md);
|
|
91
|
+
color: var(--text-color);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
/* Links */
|
|
95
|
+
a {
|
|
96
|
+
color: var(--link-color);
|
|
97
|
+
text-decoration: none;
|
|
98
|
+
transition: color var(--transition-speed) ease;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
a:hover {
|
|
102
|
+
color: var(--link-hover-color);
|
|
103
|
+
text-decoration: underline;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
/* Buttons */
|
|
107
|
+
.button {
|
|
108
|
+
padding: var(--spacing-sm) var(--spacing-md);
|
|
109
|
+
border-radius: var(--border-radius);
|
|
110
|
+
border: none;
|
|
111
|
+
cursor: pointer;
|
|
112
|
+
font-size: 1rem;
|
|
113
|
+
font-weight: var(--font-weight-medium);
|
|
114
|
+
text-align: center;
|
|
115
|
+
display: inline-block;
|
|
116
|
+
box-shadow: var(--box-shadow);
|
|
117
|
+
transition: background-color var(--transition-speed) ease, color var(--transition-speed) ease;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
.button--primary {
|
|
121
|
+
background-color: var(--primary-color);
|
|
122
|
+
color: #ffffff;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
.button--primary:hover {
|
|
126
|
+
background-color: var(--primary-color-hover);
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
.button--secondary {
|
|
130
|
+
background-color: var(--secondary-color);
|
|
131
|
+
color: #ffffff;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
.button--disabled {
|
|
135
|
+
background-color: #555555;
|
|
136
|
+
cursor: not-allowed;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
/* Forms */
|
|
140
|
+
input, textarea, select {
|
|
141
|
+
padding: var(--spacing-sm);
|
|
142
|
+
border-radius: var(--border-radius);
|
|
143
|
+
border: var(--border-width) solid var(--border-color);
|
|
144
|
+
font-size: var(--font-size-base);
|
|
145
|
+
font-family: var(--font-family);
|
|
146
|
+
background-color: #2C2C2C;
|
|
147
|
+
color: var(--text-color);
|
|
148
|
+
transition: border-color var(--transition-speed) ease;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
input:focus, textarea:focus, select:focus {
|
|
152
|
+
border-color: var(--primary-color);
|
|
153
|
+
outline: none;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
/* Layout */
|
|
157
|
+
.container {
|
|
158
|
+
max-width: 1200px;
|
|
159
|
+
margin: 0 auto;
|
|
160
|
+
padding: var(--spacing-md);
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
.grid {
|
|
164
|
+
display: flex;
|
|
165
|
+
gap: var(--spacing-md);
|
|
166
|
+
flex-wrap: wrap;
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
.grid__item {
|
|
170
|
+
flex: 1;
|
|
171
|
+
min-width: 200px;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
/* Sidebar */
|
|
175
|
+
.sidebar {
|
|
176
|
+
background-color: #2B2B2B; /* Gris oscuro para sidebar */
|
|
177
|
+
padding: var(--spacing-md);
|
|
178
|
+
border-right: var(--border-width) solid var(--border-color); /* Borde consistente */
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
.sidebar__link {
|
|
182
|
+
display: block;
|
|
183
|
+
padding: var(--spacing-sm);
|
|
184
|
+
color: var(--text-color);
|
|
185
|
+
text-decoration: none;
|
|
186
|
+
font-weight: var(--font-weight-medium);
|
|
187
|
+
transition: background-color var(--transition-speed) ease, color var(--transition-speed) ease;
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
.sidebar__link:hover {
|
|
191
|
+
background-color: #3A3A3A; /* Un poco más claro al pasar el cursor */
|
|
192
|
+
color: var(--text-color);
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
/* Navbar */
|
|
196
|
+
.navbar {
|
|
197
|
+
background-color: #2B2B2B;
|
|
198
|
+
padding: var(--spacing-md);
|
|
199
|
+
border-bottom: var(--border-width) solid var(--border-color); /* Borde consistente */
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
.navbar__link {
|
|
203
|
+
color: var(--link-color);
|
|
204
|
+
text-decoration: none;
|
|
205
|
+
margin-right: var(--spacing-md);
|
|
206
|
+
font-weight: var(--font-weight-medium);
|
|
207
|
+
transition: color var(--transition-speed) ease;
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
.navbar__link:hover {
|
|
211
|
+
color: var(--link-hover-color);
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
/* Utility Classes */
|
|
215
|
+
.mt-sm { margin-top: var(--spacing-sm); }
|
|
216
|
+
.mb-md { margin-bottom: var(--spacing-md); }
|
|
217
|
+
.text-center { text-align: center; }
|
|
218
|
+
.d-flex { display: flex; }
|
|
219
|
+
.flex-column { flex-direction: column; }
|
|
220
|
+
|
|
221
|
+
/* Accessibility */
|
|
222
|
+
a:focus, button:focus {
|
|
223
|
+
outline: 2px solid var(--primary-color);
|
|
224
|
+
outline-offset: 2px;
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
@media (prefers-reduced-motion: reduce) {
|
|
228
|
+
* {
|
|
229
|
+
animation: none;
|
|
230
|
+
transition: none;
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
/* Media Queries */
|
|
235
|
+
@media (max-width: 768px) {
|
|
236
|
+
.container {
|
|
237
|
+
padding: var(--spacing-sm);
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
h1 {
|
|
241
|
+
font-size: 1.9em;
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
.navbar {
|
|
245
|
+
padding: var(--spacing-sm);
|
|
246
|
+
}
|
|
247
|
+
}
|