ultimate-jekyll-manager 1.0.8 → 1.0.9
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/dist/build.js +1 -11
- package/dist/defaults/src/_config.yml +1 -1
- package/dist/defaults/src/assets/css/main.scss +6 -6
- package/package.json +1 -1
- package/dist/assets/css/bundles/umbra.scss +0 -5
- package/dist/assets/themes/umbra/README.md +0 -75
- package/dist/assets/themes/umbra/_config.scss +0 -187
- package/dist/assets/themes/umbra/_theme.js +0 -36
- package/dist/assets/themes/umbra/_theme.scss +0 -34
- package/dist/assets/themes/umbra/css/base/_animations.scss +0 -27
- package/dist/assets/themes/umbra/css/base/_backgrounds.scss +0 -191
- package/dist/assets/themes/umbra/css/base/_borders.scss +0 -65
- package/dist/assets/themes/umbra/css/base/_root.scss +0 -68
- package/dist/assets/themes/umbra/css/base/_typography.scss +0 -148
- package/dist/assets/themes/umbra/css/base/_utilities.scss +0 -15
- package/dist/assets/themes/umbra/css/components/_accordion.scss +0 -44
- package/dist/assets/themes/umbra/css/components/_badges.scss +0 -25
- package/dist/assets/themes/umbra/css/components/_buttons.scss +0 -264
- package/dist/assets/themes/umbra/css/components/_cards.scss +0 -47
- package/dist/assets/themes/umbra/css/components/_carousel.scss +0 -41
- package/dist/assets/themes/umbra/css/components/_forms.scss +0 -150
- package/dist/assets/themes/umbra/css/components/_infinite-scroll.scss +0 -140
- package/dist/assets/themes/umbra/css/components/_text.scss +0 -53
- package/dist/assets/themes/umbra/css/layout/_backend.scss +0 -59
- package/dist/assets/themes/umbra/css/layout/_blog.scss +0 -42
- package/dist/assets/themes/umbra/css/layout/_general.scss +0 -142
- package/dist/assets/themes/umbra/css/layout/_navigation.scss +0 -602
- package/dist/assets/themes/umbra/css/layout/_team.scss +0 -18
- package/dist/assets/themes/umbra/js/hero-demo-form.js +0 -42
- package/dist/assets/themes/umbra/js/infinite-scroll.js +0 -139
- package/dist/assets/themes/umbra/js/initialize-tooltips.js +0 -20
- package/dist/assets/themes/umbra/js/navbar-scroll.js +0 -65
- package/dist/defaults/dist/_includes/themes/umbra/admin/sections/sidebar.html +0 -3
- package/dist/defaults/dist/_includes/themes/umbra/admin/sections/topbar.html +0 -3
- package/dist/defaults/dist/_includes/themes/umbra/backend/sections/sidebar.html +0 -347
- package/dist/defaults/dist/_includes/themes/umbra/backend/sections/topbar.html +0 -184
- package/dist/defaults/dist/_includes/themes/umbra/frontend/components/testimonial-scroll.html +0 -84
- package/dist/defaults/dist/_includes/themes/umbra/frontend/sections/footer.html +0 -158
- package/dist/defaults/dist/_includes/themes/umbra/frontend/sections/nav.html +0 -276
- package/dist/defaults/dist/_includes/themes/umbra/global/sections/account.html +0 -72
- package/dist/defaults/dist/_layouts/themes/umbra/admin/core/minimal-viewport-locked.html +0 -31
- package/dist/defaults/dist/_layouts/themes/umbra/admin/core/minimal.html +0 -32
- package/dist/defaults/dist/_layouts/themes/umbra/backend/core/base.html +0 -55
- package/dist/defaults/dist/_layouts/themes/umbra/backend/core/minimal-viewport-locked.html +0 -149
- package/dist/defaults/dist/_layouts/themes/umbra/backend/core/minimal.html +0 -149
- package/dist/defaults/dist/_layouts/themes/umbra/backend/pages/dashboard/index.html +0 -247
- package/dist/defaults/dist/_layouts/themes/umbra/frontend/core/base.html +0 -32
- package/dist/defaults/dist/_layouts/themes/umbra/frontend/core/cover.html +0 -41
- package/dist/defaults/dist/_layouts/themes/umbra/frontend/core/minimal.html +0 -42
- package/dist/defaults/dist/_layouts/themes/umbra/frontend/pages/account/index.html +0 -152
- package/dist/defaults/dist/_layouts/themes/umbra/frontend/pages/auth/signin.html +0 -85
- package/dist/defaults/dist/_layouts/themes/umbra/frontend/pages/auth/signup.html +0 -97
- package/dist/defaults/dist/_layouts/themes/umbra/frontend/pages/index.html +0 -188
- package/dist/defaults/dist/_layouts/themes/umbra/frontend/pages/pricing.html +0 -129
- package/test.css +0 -18
package/dist/build.js
CHANGED
|
@@ -142,17 +142,7 @@ Manager.prototype.getPackage = Manager.getPackage;
|
|
|
142
142
|
// getUJMConfig: requires and parses ultimate-jekyll-manager.json
|
|
143
143
|
Manager.getUJMConfig = function () {
|
|
144
144
|
const configPath = path.join(process.cwd(), 'config', 'ultimate-jekyll-manager.json');
|
|
145
|
-
|
|
146
|
-
return {};
|
|
147
|
-
}
|
|
148
|
-
const content = jetpack.read(configPath);
|
|
149
|
-
if (!content) return {};
|
|
150
|
-
try {
|
|
151
|
-
return JSON5.parse(content);
|
|
152
|
-
} catch (e) {
|
|
153
|
-
console.error('Failed to parse ' + configPath, e);
|
|
154
|
-
return {};
|
|
155
|
-
}
|
|
145
|
+
return JSON5.parse(jetpack.read(configPath));
|
|
156
146
|
}
|
|
157
147
|
Manager.prototype.getUJMConfig = Manager.getUJMConfig;
|
|
158
148
|
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
// ============================================
|
|
2
2
|
// Theme Configuration
|
|
3
3
|
// ============================================
|
|
4
|
-
// Customize theme variables here
|
|
5
|
-
// See: ultimate-jekyll-manager/src/assets/themes/
|
|
4
|
+
// Customize Classy theme variables here
|
|
5
|
+
// See: ultimate-jekyll-manager/src/assets/themes/classy/_config.scss for all available variables
|
|
6
6
|
|
|
7
7
|
@use 'ultimate-jekyll-manager' as * with (
|
|
8
8
|
// ============================================
|
|
9
9
|
// Brand Colors
|
|
10
10
|
// ============================================
|
|
11
|
-
|
|
12
|
-
// $secondary: #
|
|
11
|
+
$primary: #5B47FB,
|
|
12
|
+
// $secondary: #6C757D,
|
|
13
13
|
|
|
14
14
|
// ============================================
|
|
15
15
|
// Backgrounds
|
|
16
16
|
// ============================================
|
|
17
|
-
// $
|
|
18
|
-
// $
|
|
17
|
+
// $classy-bg-light: #FFFFFF,
|
|
18
|
+
// $classy-bg-dark: #212529,
|
|
19
19
|
|
|
20
20
|
// ============================================
|
|
21
21
|
// Typography (uncomment to customize)
|
package/package.json
CHANGED
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
# Umbra Theme Customization Guide
|
|
2
|
-
|
|
3
|
-
## How to Customize in Your Consuming Project
|
|
4
|
-
|
|
5
|
-
The Umbra theme is designed to be fully customizable. All theme variables use `!default` which means you can override them BEFORE importing the theme.
|
|
6
|
-
|
|
7
|
-
### Example: Customizing Colors in Your Project
|
|
8
|
-
|
|
9
|
-
In your consuming project's `src/assets/css/main.scss`:
|
|
10
|
-
|
|
11
|
-
```scss
|
|
12
|
-
// 1. Override Umbra theme variables BEFORE importing the theme
|
|
13
|
-
$primary: #FF0000; // Change primary color to red
|
|
14
|
-
$umbra-bg-light: #F5F5F5; // Change light mode background
|
|
15
|
-
$umbra-bg-dark: #1A1A1A; // Change dark mode background
|
|
16
|
-
$font-family-sans-serif: 'Inter', sans-serif; // Change font
|
|
17
|
-
|
|
18
|
-
// 2. Now import the Umbra theme - it will use YOUR values
|
|
19
|
-
@import '~ultimate-jekyll-manager/src/assets/themes/umbra/theme';
|
|
20
|
-
|
|
21
|
-
// 3. Add your custom styles below
|
|
22
|
-
.my-custom-class {
|
|
23
|
-
// Your custom CSS
|
|
24
|
-
}
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
## Available Customizable Variables
|
|
28
|
-
|
|
29
|
-
See `_config.scss` for the full list of variables you can override:
|
|
30
|
-
|
|
31
|
-
### Bootstrap Colors
|
|
32
|
-
- `$primary` - Primary brand color
|
|
33
|
-
- `$secondary` - Secondary color
|
|
34
|
-
- `$success`, `$info`, `$warning`, `$danger` - Utility colors
|
|
35
|
-
- `$light`, `$dark` - Light and dark variants
|
|
36
|
-
|
|
37
|
-
### Background Colors
|
|
38
|
-
- `$umbra-bg-light` - Light mode background
|
|
39
|
-
- `$umbra-bg-dark` - Dark mode background
|
|
40
|
-
|
|
41
|
-
### Typography
|
|
42
|
-
- `$font-family-sans-serif` - Main font family
|
|
43
|
-
- `$headings-font-weight` - Heading font weight
|
|
44
|
-
|
|
45
|
-
### Border Radius
|
|
46
|
-
- `$border-radius` - Default border radius
|
|
47
|
-
- `$border-radius-sm`, `$border-radius-lg` - Size variants
|
|
48
|
-
|
|
49
|
-
### Gradients
|
|
50
|
-
- `$umbra-gradient-primary`, `$umbra-gradient-aurora`, etc.
|
|
51
|
-
|
|
52
|
-
## File Structure
|
|
53
|
-
|
|
54
|
-
```
|
|
55
|
-
umbra/
|
|
56
|
-
├── _config.scss ← All customizable variables with !default
|
|
57
|
-
├── _theme.scss ← Main entry point, imports config then Bootstrap
|
|
58
|
-
├── css/base/
|
|
59
|
-
│ ├── _variables.scss ← Internal non-customizable values
|
|
60
|
-
│ └── _root.scss ← CSS custom property overrides
|
|
61
|
-
└── ...
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
## How It Works
|
|
65
|
-
|
|
66
|
-
1. **`_config.scss`**: Defines all variables with `!default` (can be overridden)
|
|
67
|
-
2. **Your `main.scss`**: Sets custom values BEFORE importing theme
|
|
68
|
-
3. **`_theme.scss`**: Imports config (uses your values or defaults), then Bootstrap
|
|
69
|
-
4. **`_root.scss`**: Converts SCSS variables to CSS custom properties for runtime
|
|
70
|
-
|
|
71
|
-
This ensures:
|
|
72
|
-
- ✅ You can customize anything
|
|
73
|
-
- ✅ Bootstrap gets configured with your colors
|
|
74
|
-
- ✅ CSS custom properties update for light/dark mode
|
|
75
|
-
- ✅ No need to modify theme files
|
|
@@ -1,187 +0,0 @@
|
|
|
1
|
-
// Umbra Theme Configuration
|
|
2
|
-
// ALL customizable variables are defined here with !default
|
|
3
|
-
// Consuming projects can override any of these using @use ... with ()
|
|
4
|
-
|
|
5
|
-
// ============================================
|
|
6
|
-
// Bootstrap Color Overrides
|
|
7
|
-
// ============================================
|
|
8
|
-
$primary: #E2725B !default; // Terracotta
|
|
9
|
-
$secondary: #8B7A75 !default; // Warm Gray
|
|
10
|
-
$success: #2A9D8F !default;
|
|
11
|
-
$info: #E9C46A !default; // Soft Gold
|
|
12
|
-
$warning: #F4A261 !default;
|
|
13
|
-
$danger: #E76F51 !default;
|
|
14
|
-
$light: #FDFBF7 !default; // Warm Cream
|
|
15
|
-
$dark: #1E1A18 !default; // Warm Charcoal
|
|
16
|
-
|
|
17
|
-
// ============================================
|
|
18
|
-
// Typography
|
|
19
|
-
// ============================================
|
|
20
|
-
$font-family-sans-serif: 'Figtree', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif !default;
|
|
21
|
-
$headings-font-weight: 600 !default;
|
|
22
|
-
$umbra-font-mono: monospace !default;
|
|
23
|
-
$umbra-font-accent: 'Figtree', sans-serif !default;
|
|
24
|
-
|
|
25
|
-
// ============================================
|
|
26
|
-
// Border Radius
|
|
27
|
-
// ============================================
|
|
28
|
-
$border-radius: 0.5rem !default;
|
|
29
|
-
$border-radius-sm: 0.375rem !default;
|
|
30
|
-
$border-radius-lg: 0.75rem !default;
|
|
31
|
-
$border-radius-xl: 1rem !default;
|
|
32
|
-
$border-radius-2xl: 1.5rem !default;
|
|
33
|
-
$border-radius-pill: 50rem !default;
|
|
34
|
-
|
|
35
|
-
// Umbra-specific border radius aliases
|
|
36
|
-
$umbra-radius-sm: $border-radius-sm !default;
|
|
37
|
-
$umbra-radius-md: $border-radius !default;
|
|
38
|
-
$umbra-radius-lg: $border-radius-lg !default;
|
|
39
|
-
$umbra-radius-xl: $border-radius-xl !default;
|
|
40
|
-
$umbra-radius-2xl: $border-radius-2xl !default;
|
|
41
|
-
$umbra-radius-full: 9999px !default;
|
|
42
|
-
|
|
43
|
-
// ============================================
|
|
44
|
-
// Background Colors (Light Mode)
|
|
45
|
-
// ============================================
|
|
46
|
-
$umbra-bg-light: #FDFBF7 !default; // Main body background (warm cream)
|
|
47
|
-
$umbra-bg-light-secondary: #F5F2EC !default; // Secondary backgrounds
|
|
48
|
-
$umbra-bg-light-tertiary: #EBE5DB !default; // Tertiary backgrounds
|
|
49
|
-
|
|
50
|
-
// ============================================
|
|
51
|
-
// Background Colors (Dark Mode)
|
|
52
|
-
// ============================================
|
|
53
|
-
$umbra-bg-dark: #1E1A18 !default; // Main body background (warm charcoal)
|
|
54
|
-
$umbra-bg-dark-secondary: #2A2421 !default; // Secondary backgrounds
|
|
55
|
-
$umbra-bg-dark-tertiary: #372F2B !default; // Tertiary backgrounds
|
|
56
|
-
|
|
57
|
-
// ============================================
|
|
58
|
-
// Umbra-Specific Colors
|
|
59
|
-
// ============================================
|
|
60
|
-
$umbra-primary: $primary !default;
|
|
61
|
-
$umbra-primary-dark: darken($primary, 10%) !default;
|
|
62
|
-
$umbra-primary-light: lighten($primary, 10%) !default;
|
|
63
|
-
$umbra-primary-soft: mix($primary, white, 10%) !default;
|
|
64
|
-
|
|
65
|
-
$umbra-secondary: $secondary !default;
|
|
66
|
-
$umbra-secondary-dark: darken($secondary, 5%) !default;
|
|
67
|
-
$umbra-secondary-light: lighten($secondary, 5%) !default;
|
|
68
|
-
|
|
69
|
-
$umbra-accent: $info !default;
|
|
70
|
-
$umbra-accent-dark: darken($info, 10%) !default;
|
|
71
|
-
$umbra-accent-light: lighten($info, 10%) !default;
|
|
72
|
-
|
|
73
|
-
$umbra-dark: $dark !default;
|
|
74
|
-
$umbra-dark-900: lighten($dark, 5%) !default;
|
|
75
|
-
$umbra-dark-800: lighten($dark, 10%) !default;
|
|
76
|
-
$umbra-dark-700: lighten($dark, 15%) !default;
|
|
77
|
-
$umbra-dark-600: lighten($dark, 20%) !default;
|
|
78
|
-
|
|
79
|
-
$umbra-gray: #6B7280 !default;
|
|
80
|
-
$umbra-gray-light: #9CA3AF !default;
|
|
81
|
-
$umbra-gray-lighter: #D1D5DB !default;
|
|
82
|
-
$umbra-gray-lightest: #F3F4F6 !default;
|
|
83
|
-
|
|
84
|
-
$umbra-white: #FFFFFF !default;
|
|
85
|
-
$umbra-off-white: #FAFBFC !default;
|
|
86
|
-
$umbra-cream: #FFF9F5 !default;
|
|
87
|
-
|
|
88
|
-
// ============================================
|
|
89
|
-
// Gradient Definitions
|
|
90
|
-
// ============================================
|
|
91
|
-
$umbra-gradient-primary: linear-gradient(135deg, $umbra-primary 0%, #D58C40 100%) !default;
|
|
92
|
-
$umbra-gradient-dark: linear-gradient(135deg, $umbra-dark 0%, $umbra-dark-800 100%) !default;
|
|
93
|
-
$umbra-gradient-light: linear-gradient(135deg, $umbra-white 0%, $umbra-off-white 100%) !default;
|
|
94
|
-
$umbra-gradient-sunset: linear-gradient(135deg, #E2725B 0%, #F4A261 100%) !default;
|
|
95
|
-
$umbra-gradient-aurora: linear-gradient(135deg, #E2725B 0%, #D58C40 50%, #2A9D8F 100%) !default;
|
|
96
|
-
$umbra-gradient-rainbow: linear-gradient(60deg, #E2725B, #D58C40, #F4A261, #E9C46A, #2A9D8F, #8B7A75) !default;
|
|
97
|
-
|
|
98
|
-
// ============================================
|
|
99
|
-
// Typography Scale
|
|
100
|
-
// ============================================
|
|
101
|
-
$umbra-font-size-xs: 0.75rem !default;
|
|
102
|
-
$umbra-font-size-sm: 0.875rem !default;
|
|
103
|
-
$umbra-font-size-base: 1rem !default;
|
|
104
|
-
$umbra-font-size-lg: 1.125rem !default;
|
|
105
|
-
$umbra-font-size-xl: 1.25rem !default;
|
|
106
|
-
$umbra-font-size-2xl: 1.5rem !default;
|
|
107
|
-
$umbra-font-size-3xl: 1.875rem !default;
|
|
108
|
-
$umbra-font-size-4xl: 2.25rem !default;
|
|
109
|
-
$umbra-font-size-5xl: 3rem !default;
|
|
110
|
-
$umbra-font-size-6xl: 3.75rem !default;
|
|
111
|
-
|
|
112
|
-
// ============================================
|
|
113
|
-
// Spacing Scale
|
|
114
|
-
// ============================================
|
|
115
|
-
$umbra-spacing-xs: 0.25rem !default;
|
|
116
|
-
$umbra-spacing-sm: 0.5rem !default;
|
|
117
|
-
$umbra-spacing-md: 1rem !default;
|
|
118
|
-
$umbra-spacing-lg: 1.5rem !default;
|
|
119
|
-
$umbra-spacing-xl: 2rem !default;
|
|
120
|
-
$umbra-spacing-2xl: 3rem !default;
|
|
121
|
-
$umbra-spacing-3xl: 4rem !default;
|
|
122
|
-
$umbra-spacing-4xl: 6rem !default;
|
|
123
|
-
|
|
124
|
-
// ============================================
|
|
125
|
-
// Shadow System
|
|
126
|
-
// ============================================
|
|
127
|
-
$umbra-shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !default;
|
|
128
|
-
$umbra-shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06) !default;
|
|
129
|
-
$umbra-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06) !default;
|
|
130
|
-
$umbra-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05) !default;
|
|
131
|
-
$umbra-shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04) !default;
|
|
132
|
-
$umbra-shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25) !default;
|
|
133
|
-
$umbra-shadow-glow: 0 0 40px rgba(91, 71, 251, 0.15) !default;
|
|
134
|
-
|
|
135
|
-
// ============================================
|
|
136
|
-
// Transition Timing
|
|
137
|
-
// ============================================
|
|
138
|
-
$umbra-transition-fast: all 0.15s cubic-bezier(.2,.3,0,1) !default;
|
|
139
|
-
$umbra-transition-base: all 0.3s cubic-bezier(.2,.3,0,1) !default;
|
|
140
|
-
$umbra-transition-slow: all 0.5s cubic-bezier(.2,.3,0,1) !default;
|
|
141
|
-
$umbra-transition-bounce: all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55) !default;
|
|
142
|
-
|
|
143
|
-
// ============================================
|
|
144
|
-
// Responsive Breakpoints
|
|
145
|
-
// ============================================
|
|
146
|
-
// Bootstrap-compatible breakpoint values
|
|
147
|
-
$umbra-breakpoint-sm: 576px !default;
|
|
148
|
-
$umbra-breakpoint-md: 768px !default;
|
|
149
|
-
$umbra-breakpoint-lg: 992px !default;
|
|
150
|
-
$umbra-breakpoint-xl: 1200px !default;
|
|
151
|
-
$umbra-breakpoint-xxl: 1400px !default;
|
|
152
|
-
|
|
153
|
-
// ============================================
|
|
154
|
-
// Component Sizing
|
|
155
|
-
// ============================================
|
|
156
|
-
// Avatar sizes map
|
|
157
|
-
$avatar-sizes: (
|
|
158
|
-
null: 3rem, // default
|
|
159
|
-
2xs: 0.5rem,
|
|
160
|
-
xs: 1.5rem,
|
|
161
|
-
sm: 2rem,
|
|
162
|
-
md: 2.5rem,
|
|
163
|
-
lg: 3.5rem,
|
|
164
|
-
xl: 5rem,
|
|
165
|
-
2xl: 7.5rem,
|
|
166
|
-
3xl: 10rem,
|
|
167
|
-
4xl: 12.5rem,
|
|
168
|
-
5xl: 15rem
|
|
169
|
-
) !default;
|
|
170
|
-
|
|
171
|
-
// Forward Bootstrap with our configuration
|
|
172
|
-
@forward '../bootstrap/scss/bootstrap.scss' with (
|
|
173
|
-
$primary: $primary,
|
|
174
|
-
$secondary: $secondary,
|
|
175
|
-
$success: $success,
|
|
176
|
-
$info: $info,
|
|
177
|
-
$warning: $warning,
|
|
178
|
-
$danger: $danger,
|
|
179
|
-
$light: $light,
|
|
180
|
-
$dark: $dark,
|
|
181
|
-
$font-family-sans-serif: $font-family-sans-serif,
|
|
182
|
-
$headings-font-weight: $headings-font-weight,
|
|
183
|
-
$border-radius: $border-radius,
|
|
184
|
-
$border-radius-sm: $border-radius-sm,
|
|
185
|
-
$border-radius-lg: $border-radius-lg,
|
|
186
|
-
$enable-negative-margins: true
|
|
187
|
-
);
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
// Import the theme entry point
|
|
2
|
-
// __main_assets__ is a webpack alias that resolves to UJM's dist/assets
|
|
3
|
-
import bootstrap from '__main_assets__/themes/bootstrap/js/index.umd.js';
|
|
4
|
-
import { ready as domReady } from 'web-manager/modules/dom.js';
|
|
5
|
-
|
|
6
|
-
// Make Bootstrap available globally
|
|
7
|
-
window.bootstrap = bootstrap;
|
|
8
|
-
|
|
9
|
-
// Log that we've MADE IT
|
|
10
|
-
/* @dev-only:start */
|
|
11
|
-
{
|
|
12
|
-
console.log('Umbra theme loaded successfully (assets/themes/umbra/_theme.js)');
|
|
13
|
-
}
|
|
14
|
-
/* @dev-only:end */
|
|
15
|
-
|
|
16
|
-
// Import navbar scroll functionality
|
|
17
|
-
import setupNavbarScroll from './js/navbar-scroll.js';
|
|
18
|
-
// Import infinite scroll functionality (used by logo scroll, testimonials, etc.)
|
|
19
|
-
import { setupInfiniteScroll } from './js/infinite-scroll.js';
|
|
20
|
-
// Import tooltip initialization
|
|
21
|
-
import initializeTooltips from './js/initialize-tooltips.js';
|
|
22
|
-
// Import hero demo form initialization
|
|
23
|
-
import initHeroDemoForm from './js/hero-demo-form.js';
|
|
24
|
-
|
|
25
|
-
// Initialize theme components when DOM is ready
|
|
26
|
-
domReady().then(() => {
|
|
27
|
-
// Umbra Theme Initializations
|
|
28
|
-
setupNavbarScroll();
|
|
29
|
-
setupInfiniteScroll();
|
|
30
|
-
|
|
31
|
-
// Generic Bootstrap initializations
|
|
32
|
-
initializeTooltips();
|
|
33
|
-
|
|
34
|
-
// Initialize hero demo form if present
|
|
35
|
-
initHeroDemoForm();
|
|
36
|
-
});
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
// Forward theme configuration (allows consuming project to override)
|
|
2
|
-
@forward 'config';
|
|
3
|
-
@use 'config' as *;
|
|
4
|
-
|
|
5
|
-
// Import root overrides (CSS custom properties)
|
|
6
|
-
@import 'css/base/root';
|
|
7
|
-
|
|
8
|
-
// Import base styles
|
|
9
|
-
@import 'css/base/animations';
|
|
10
|
-
@import 'css/base/backgrounds';
|
|
11
|
-
@import 'css/base/borders';
|
|
12
|
-
@import 'css/base/typography';
|
|
13
|
-
@import 'css/base/utilities';
|
|
14
|
-
|
|
15
|
-
// Import layout styles
|
|
16
|
-
@import 'css/layout/backend';
|
|
17
|
-
@import 'css/layout/blog';
|
|
18
|
-
@import 'css/layout/general';
|
|
19
|
-
@import 'css/layout/navigation';
|
|
20
|
-
@import 'css/layout/team';
|
|
21
|
-
|
|
22
|
-
// Import component styles
|
|
23
|
-
@import 'css/components/accordion';
|
|
24
|
-
@import 'css/components/badges';
|
|
25
|
-
@import 'css/components/buttons';
|
|
26
|
-
@import 'css/components/cards';
|
|
27
|
-
@import 'css/components/carousel';
|
|
28
|
-
@import 'css/components/forms';
|
|
29
|
-
@import 'css/components/infinite-scroll';
|
|
30
|
-
@import 'css/components/text';
|
|
31
|
-
|
|
32
|
-
// Import universal Bootstrap overrides (shared across all UJ themes)
|
|
33
|
-
// Must come AFTER Bootstrap is loaded via config to use @extend
|
|
34
|
-
@import '../bootstrap/overrides';
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
// Umbra Animation Utilities
|
|
2
|
-
// Keyframes and animation classes for dynamic effects
|
|
3
|
-
|
|
4
|
-
// ============================================
|
|
5
|
-
// Keyframe Animations
|
|
6
|
-
// ============================================
|
|
7
|
-
|
|
8
|
-
@keyframes gradient-shimmer {
|
|
9
|
-
0% {
|
|
10
|
-
background-position: 0% 50%;
|
|
11
|
-
}
|
|
12
|
-
50% {
|
|
13
|
-
background-position: 100% 50%;
|
|
14
|
-
}
|
|
15
|
-
100% {
|
|
16
|
-
background-position: 0% 50%;
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
// ============================================
|
|
21
|
-
// Animation Classes
|
|
22
|
-
// ============================================
|
|
23
|
-
|
|
24
|
-
// Gradient animation modifier - works with all rainbow gradient classes
|
|
25
|
-
.gradient-animated {
|
|
26
|
-
animation: gradient-shimmer 5s ease-out infinite alternate !important;
|
|
27
|
-
}
|
|
@@ -1,191 +0,0 @@
|
|
|
1
|
-
// Umbra Background Utilities
|
|
2
|
-
// Background gradients, patterns, and visual effects
|
|
3
|
-
|
|
4
|
-
// ============================================
|
|
5
|
-
// Gradient Backgrounds
|
|
6
|
-
// ============================================
|
|
7
|
-
.bg-gradient-primary {
|
|
8
|
-
background-image: $umbra-gradient-primary !important;
|
|
9
|
-
background-size: 300% 300% !important;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
.bg-gradient-dark {
|
|
13
|
-
background-image: $umbra-gradient-dark !important;
|
|
14
|
-
background-size: 300% 300% !important;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
.bg-gradient-light {
|
|
18
|
-
background-image: $umbra-gradient-light !important;
|
|
19
|
-
background-size: 300% 300% !important;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
.bg-gradient-sunset {
|
|
23
|
-
background-image: $umbra-gradient-sunset !important;
|
|
24
|
-
background-size: 300% 300% !important;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
.bg-gradient-aurora {
|
|
28
|
-
background-image: $umbra-gradient-aurora !important;
|
|
29
|
-
background-size: 300% 300% !important;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
.bg-gradient-rainbow {
|
|
33
|
-
background-image: $umbra-gradient-rainbow !important;
|
|
34
|
-
background-size: 300% 300% !important;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
// Grain texture modifier - add this class alongside bg-gradient-* to add grain effect
|
|
38
|
-
.gradient-grain {
|
|
39
|
-
position: relative;
|
|
40
|
-
|
|
41
|
-
&::before {
|
|
42
|
-
content: '';
|
|
43
|
-
position: absolute;
|
|
44
|
-
top: 0;
|
|
45
|
-
left: 0;
|
|
46
|
-
width: 100%;
|
|
47
|
-
height: 100%;
|
|
48
|
-
background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 400 400' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='2.5' numOctaves='5' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");
|
|
49
|
-
opacity: 0.6;
|
|
50
|
-
mix-blend-mode: overlay;
|
|
51
|
-
pointer-events: none;
|
|
52
|
-
z-index: 1;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
// Ensure content stays above the grain overlay
|
|
56
|
-
> * {
|
|
57
|
-
position: relative;
|
|
58
|
-
z-index: 2;
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
// @keyframes gradient-shift {
|
|
63
|
-
// 0%, 100% {
|
|
64
|
-
// background-position: 0% 50%, 0% 0%;
|
|
65
|
-
// }
|
|
66
|
-
// 25% {
|
|
67
|
-
// background-position: 100% 50%, 100% 100%;
|
|
68
|
-
// }
|
|
69
|
-
// 50% {
|
|
70
|
-
// background-position: 100% 0%, 50% 50%;
|
|
71
|
-
// }
|
|
72
|
-
// 75% {
|
|
73
|
-
// background-position: 0% 100%, 100% 0%;
|
|
74
|
-
// }
|
|
75
|
-
// }
|
|
76
|
-
|
|
77
|
-
// .bg-gradient-rainbow {
|
|
78
|
-
// position: relative;
|
|
79
|
-
// background:
|
|
80
|
-
// linear-gradient(
|
|
81
|
-
// to bottom right,
|
|
82
|
-
// rgba(0, 255, 209, 0.5),
|
|
83
|
-
// rgba(170, 70, 252, 0.69)
|
|
84
|
-
// ),
|
|
85
|
-
// radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.5), rgba(0, 0, 0, 0.5)) !important;
|
|
86
|
-
// background-size: 200% 200%, 200% 200% !important;
|
|
87
|
-
// animation: gradient-shift 15s ease infinite;
|
|
88
|
-
|
|
89
|
-
// &::before {
|
|
90
|
-
// content: '';
|
|
91
|
-
// position: absolute;
|
|
92
|
-
// top: 0;
|
|
93
|
-
// left: 0;
|
|
94
|
-
// width: 100%;
|
|
95
|
-
// height: 100%;
|
|
96
|
-
// background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 400 400' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='2.5' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");
|
|
97
|
-
// opacity: 1;
|
|
98
|
-
// mix-blend-mode: overlay;
|
|
99
|
-
// pointer-events: none;
|
|
100
|
-
// z-index: 1;
|
|
101
|
-
// filter: contrast(110%) brightness(105%);
|
|
102
|
-
// }
|
|
103
|
-
|
|
104
|
-
// // Ensure content stays above the grain overlay
|
|
105
|
-
// > * {
|
|
106
|
-
// position: relative;
|
|
107
|
-
// z-index: 2;
|
|
108
|
-
// }
|
|
109
|
-
// }
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
// ============================================
|
|
114
|
-
// Glass Morphism Mixin
|
|
115
|
-
// ============================================
|
|
116
|
-
@mixin glassy-effect {
|
|
117
|
-
background: transparent !important;
|
|
118
|
-
backdrop-filter: blur(20px) saturate(180%);
|
|
119
|
-
-webkit-backdrop-filter: blur(20px) saturate(180%);
|
|
120
|
-
border: 1px solid rgba(255, 255, 255, 0.15) !important;
|
|
121
|
-
position: relative;
|
|
122
|
-
|
|
123
|
-
// Glass effect overlay with body color using custom property
|
|
124
|
-
&::before {
|
|
125
|
-
content: "";
|
|
126
|
-
position: absolute;
|
|
127
|
-
inset: 0;
|
|
128
|
-
background: var(--bs-body-bg);
|
|
129
|
-
opacity: var(--navbar-before-opacity, 0.25);
|
|
130
|
-
border-radius: inherit;
|
|
131
|
-
z-index: -1;
|
|
132
|
-
pointer-events: none;
|
|
133
|
-
transition: opacity 0.3s ease;
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
// Dark mode adjustments
|
|
137
|
-
[data-bs-theme="dark"] & {
|
|
138
|
-
border: 1px solid rgba(255, 255, 255, 0.1) !important;
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
// ============================================
|
|
143
|
-
// Glass Morphism Classes
|
|
144
|
-
// ============================================
|
|
145
|
-
.bg-glassy {
|
|
146
|
-
@include glassy-effect;
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
// ============================================
|
|
150
|
-
// Pattern Overlays
|
|
151
|
-
// ============================================
|
|
152
|
-
.bg-pattern {
|
|
153
|
-
background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%235B47FB' fill-opacity='0.05'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
// ============================================
|
|
157
|
-
// Blur Effects
|
|
158
|
-
// ============================================
|
|
159
|
-
.blur-sm {
|
|
160
|
-
filter: blur(4px);
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
.blur-md {
|
|
164
|
-
filter: blur(8px);
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
.blur-lg {
|
|
168
|
-
filter: blur(16px);
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
// ============================================
|
|
172
|
-
// Filter Effects
|
|
173
|
-
// ============================================
|
|
174
|
-
.grayscale {
|
|
175
|
-
filter: grayscale(100%);
|
|
176
|
-
|
|
177
|
-
&:hover {
|
|
178
|
-
filter: grayscale(0);
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
// ============================================
|
|
183
|
-
// Adaptive Inverse Background
|
|
184
|
-
// ============================================
|
|
185
|
-
.bg-adaptive-inverse {
|
|
186
|
-
@extend .bg-dark;
|
|
187
|
-
}
|
|
188
|
-
|
|
189
|
-
[data-bs-theme="dark"] .bg-adaptive-inverse {
|
|
190
|
-
@extend .bg-light;
|
|
191
|
-
}
|