ultimate-jekyll-manager 1.0.6 → 1.0.8

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 (95) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/dist/assets/css/bundles/umbra.scss +5 -0
  3. package/dist/assets/js/libs/authorized-fetch.js +6 -7
  4. package/dist/assets/themes/{elegant → umbra}/README.md +11 -11
  5. package/dist/assets/themes/umbra/_config.scss +187 -0
  6. package/dist/assets/themes/{elegant → umbra}/_theme.js +2 -2
  7. package/dist/assets/themes/{elegant → umbra}/css/base/_animations.scss +1 -1
  8. package/dist/assets/themes/{elegant → umbra}/css/base/_backgrounds.scss +7 -7
  9. package/dist/assets/themes/{elegant → umbra}/css/base/_borders.scss +12 -12
  10. package/dist/assets/themes/umbra/css/base/_root.scss +68 -0
  11. package/dist/assets/themes/{elegant → umbra}/css/base/_typography.scss +24 -31
  12. package/dist/assets/themes/umbra/css/base/_utilities.scss +15 -0
  13. package/dist/assets/themes/{elegant → umbra}/css/components/_accordion.scss +1 -1
  14. package/dist/assets/themes/{elegant → umbra}/css/components/_badges.scss +3 -3
  15. package/dist/assets/themes/{elegant → umbra}/css/components/_buttons.scss +18 -18
  16. package/dist/assets/themes/umbra/css/components/_cards.scss +47 -0
  17. package/dist/assets/themes/{elegant → umbra}/css/components/_carousel.scss +1 -1
  18. package/dist/assets/themes/{elegant → umbra}/css/components/_forms.scss +8 -8
  19. package/dist/assets/themes/{elegant → umbra}/css/components/_text.scss +4 -4
  20. package/dist/assets/themes/{elegant → umbra}/css/layout/_backend.scss +1 -1
  21. package/dist/assets/themes/{elegant → umbra}/css/layout/_blog.scss +1 -1
  22. package/dist/assets/themes/{elegant → umbra}/css/layout/_general.scss +1 -1
  23. package/dist/assets/themes/{elegant → umbra}/css/layout/_navigation.scss +13 -13
  24. package/dist/assets/themes/{elegant → umbra}/js/navbar-scroll.js +1 -1
  25. package/dist/build.js +11 -1
  26. package/dist/defaults/dist/_includes/themes/umbra/admin/sections/sidebar.html +3 -0
  27. package/dist/defaults/dist/_includes/themes/umbra/admin/sections/topbar.html +3 -0
  28. package/dist/defaults/dist/_includes/themes/{elegant → umbra}/backend/sections/topbar.html +1 -1
  29. package/dist/defaults/dist/_includes/themes/{elegant → umbra}/frontend/components/testimonial-scroll.html +1 -1
  30. package/dist/defaults/dist/_includes/themes/{elegant → umbra}/frontend/sections/nav.html +2 -2
  31. package/dist/defaults/dist/_layouts/themes/{elegant → umbra}/admin/core/minimal-viewport-locked.html +2 -2
  32. package/dist/defaults/dist/_layouts/themes/{elegant → umbra}/admin/core/minimal.html +2 -2
  33. package/dist/defaults/dist/_layouts/themes/{elegant → umbra}/backend/core/base.html +1 -1
  34. package/dist/defaults/dist/_layouts/themes/{elegant → umbra}/frontend/core/base.html +1 -1
  35. package/dist/defaults/dist/_layouts/themes/umbra/frontend/pages/account/index.html +152 -0
  36. package/dist/defaults/dist/_layouts/themes/umbra/frontend/pages/auth/signin.html +85 -0
  37. package/dist/defaults/dist/_layouts/themes/umbra/frontend/pages/auth/signup.html +97 -0
  38. package/dist/defaults/dist/_layouts/themes/umbra/frontend/pages/index.html +188 -0
  39. package/dist/defaults/dist/_layouts/themes/umbra/frontend/pages/pricing.html +129 -0
  40. package/dist/defaults/src/_config.yml +1 -1
  41. package/dist/defaults/src/assets/css/main.scss +6 -6
  42. package/package.json +5 -5
  43. package/test.css +18 -0
  44. package/dist/assets/themes/elegant/_config.scss +0 -189
  45. package/dist/assets/themes/elegant/css/base/_root.scss +0 -58
  46. package/dist/assets/themes/elegant/css/base/_utilities.scss +0 -15
  47. package/dist/assets/themes/elegant/css/components/_cards.scss +0 -33
  48. package/dist/defaults/dist/_includes/themes/elegant/admin/sections/sidebar.html +0 -3
  49. package/dist/defaults/dist/_includes/themes/elegant/admin/sections/topbar.html +0 -3
  50. package/dist/defaults/dist/_layouts/themes/elegant/frontend/pages/404.html +0 -68
  51. package/dist/defaults/dist/_layouts/themes/elegant/frontend/pages/about.html +0 -338
  52. package/dist/defaults/dist/_layouts/themes/elegant/frontend/pages/account/index.html +0 -1639
  53. package/dist/defaults/dist/_layouts/themes/elegant/frontend/pages/alternatives/alternative.html +0 -583
  54. package/dist/defaults/dist/_layouts/themes/elegant/frontend/pages/alternatives/index.html +0 -353
  55. package/dist/defaults/dist/_layouts/themes/elegant/frontend/pages/app.html +0 -83
  56. package/dist/defaults/dist/_layouts/themes/elegant/frontend/pages/auth/oauth2.html +0 -62
  57. package/dist/defaults/dist/_layouts/themes/elegant/frontend/pages/auth/reset.html +0 -81
  58. package/dist/defaults/dist/_layouts/themes/elegant/frontend/pages/auth/signin.html +0 -109
  59. package/dist/defaults/dist/_layouts/themes/elegant/frontend/pages/auth/signup.html +0 -121
  60. package/dist/defaults/dist/_layouts/themes/elegant/frontend/pages/auth/token.html +0 -42
  61. package/dist/defaults/dist/_layouts/themes/elegant/frontend/pages/blog/categories/category.html +0 -152
  62. package/dist/defaults/dist/_layouts/themes/elegant/frontend/pages/blog/categories/index.html +0 -94
  63. package/dist/defaults/dist/_layouts/themes/elegant/frontend/pages/blog/index.html +0 -381
  64. package/dist/defaults/dist/_layouts/themes/elegant/frontend/pages/blog/post.html +0 -312
  65. package/dist/defaults/dist/_layouts/themes/elegant/frontend/pages/blog/tags/index.html +0 -90
  66. package/dist/defaults/dist/_layouts/themes/elegant/frontend/pages/blog/tags/tag.html +0 -153
  67. package/dist/defaults/dist/_layouts/themes/elegant/frontend/pages/contact.html +0 -338
  68. package/dist/defaults/dist/_layouts/themes/elegant/frontend/pages/download.html +0 -967
  69. package/dist/defaults/dist/_layouts/themes/elegant/frontend/pages/extension/index.html +0 -436
  70. package/dist/defaults/dist/_layouts/themes/elegant/frontend/pages/extension/installed.html +0 -188
  71. package/dist/defaults/dist/_layouts/themes/elegant/frontend/pages/feedback.html +0 -201
  72. package/dist/defaults/dist/_layouts/themes/elegant/frontend/pages/index.html +0 -699
  73. package/dist/defaults/dist/_layouts/themes/elegant/frontend/pages/payment/checkout.html +0 -516
  74. package/dist/defaults/dist/_layouts/themes/elegant/frontend/pages/payment/confirmation.html +0 -98
  75. package/dist/defaults/dist/_layouts/themes/elegant/frontend/pages/portal/email-preferences.html +0 -108
  76. package/dist/defaults/dist/_layouts/themes/elegant/frontend/pages/pricing.html +0 -852
  77. package/dist/defaults/dist/_layouts/themes/elegant/frontend/pages/status.html +0 -388
  78. package/dist/defaults/dist/_layouts/themes/elegant/frontend/pages/team/index.html +0 -204
  79. package/dist/defaults/dist/_layouts/themes/elegant/frontend/pages/team/member.html +0 -151
  80. package/dist/defaults/dist/_layouts/themes/elegant/frontend/pages/updates/index.html +0 -128
  81. package/dist/defaults/dist/_layouts/themes/elegant/frontend/pages/updates/update.html +0 -122
  82. /package/dist/assets/themes/{elegant → umbra}/_theme.scss +0 -0
  83. /package/dist/assets/themes/{elegant → umbra}/css/components/_infinite-scroll.scss +0 -0
  84. /package/dist/assets/themes/{elegant → umbra}/css/layout/_team.scss +0 -0
  85. /package/dist/assets/themes/{elegant → umbra}/js/hero-demo-form.js +0 -0
  86. /package/dist/assets/themes/{elegant → umbra}/js/infinite-scroll.js +0 -0
  87. /package/dist/assets/themes/{elegant → umbra}/js/initialize-tooltips.js +0 -0
  88. /package/dist/defaults/dist/_includes/themes/{elegant → umbra}/backend/sections/sidebar.html +0 -0
  89. /package/dist/defaults/dist/_includes/themes/{elegant → umbra}/frontend/sections/footer.html +0 -0
  90. /package/dist/defaults/dist/_includes/themes/{elegant → umbra}/global/sections/account.html +0 -0
  91. /package/dist/defaults/dist/_layouts/themes/{elegant → umbra}/backend/core/minimal-viewport-locked.html +0 -0
  92. /package/dist/defaults/dist/_layouts/themes/{elegant → umbra}/backend/core/minimal.html +0 -0
  93. /package/dist/defaults/dist/_layouts/themes/{elegant → umbra}/backend/pages/dashboard/index.html +0 -0
  94. /package/dist/defaults/dist/_layouts/themes/{elegant → umbra}/frontend/core/cover.html +0 -0
  95. /package/dist/defaults/dist/_layouts/themes/{elegant → umbra}/frontend/core/minimal.html +0 -0
package/CHANGELOG.md CHANGED
@@ -15,6 +15,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
15
15
  - `Security` in case of vulnerabilities.
16
16
 
17
17
  ---
18
+ ## [1.0.7] - 2026-03-20
19
+ ### Changed
20
+ - Upgrade `web-manager` from ^4.1.29 to ^4.1.30
21
+
18
22
  ## [1.0.3] - 2026-03-16
19
23
  ### Added
20
24
  - Ensure consuming projects have `"private": true` in package.json during setup to prevent accidental npm publishes
@@ -0,0 +1,5 @@
1
+ // Import Ultimate Jekyll Manager
2
+ @use 'ultimate-jekyll-manager' as *;
3
+
4
+ // Custom styles
5
+ // ...
@@ -20,20 +20,19 @@ export async function authorizedFetch(url, options = {}) {
20
20
  const user = auth.currentUser;
21
21
 
22
22
  if (!user) {
23
- console.warn('Did we fully wait for auth state to be determined?');
24
- throw new Error('No authenticated user found');
23
+ console.warn('authorizedFetch: No authenticated user found. Did we fully wait for auth state to be determined?');
25
24
  }
26
25
 
27
- // Get the ID token - let it throw if it fails
28
- const idToken = await user.getIdToken(true);
29
-
30
26
  // Ensure headers object exists
31
27
  if (!requestOptions.headers) {
32
28
  requestOptions.headers = {};
33
29
  }
34
30
 
35
- // Set the Authorization header with Bearer token
36
- requestOptions.headers['Authorization'] = `Bearer ${idToken}`;
31
+ // Set the Authorization header with Bearer token if user is logged in
32
+ if (user) {
33
+ const idToken = await user.getIdToken(true);
34
+ requestOptions.headers['Authorization'] = `Bearer ${idToken}`;
35
+ }
37
36
 
38
37
  // Make the request using wonderful-fetch
39
38
  return fetch(url, requestOptions);
@@ -1,22 +1,22 @@
1
- # elegant Theme Customization Guide
1
+ # Umbra Theme Customization Guide
2
2
 
3
3
  ## How to Customize in Your Consuming Project
4
4
 
5
- The elegant theme is designed to be fully customizable. All theme variables use `!default` which means you can override them BEFORE importing the theme.
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
6
 
7
7
  ### Example: Customizing Colors in Your Project
8
8
 
9
9
  In your consuming project's `src/assets/css/main.scss`:
10
10
 
11
11
  ```scss
12
- // 1. Override elegant theme variables BEFORE importing the theme
12
+ // 1. Override Umbra theme variables BEFORE importing the theme
13
13
  $primary: #FF0000; // Change primary color to red
14
- $elegant-bg-light: #F5F5F5; // Change light mode background
15
- $elegant-bg-dark: #1A1A1A; // Change dark mode background
14
+ $umbra-bg-light: #F5F5F5; // Change light mode background
15
+ $umbra-bg-dark: #1A1A1A; // Change dark mode background
16
16
  $font-family-sans-serif: 'Inter', sans-serif; // Change font
17
17
 
18
- // 2. Now import the elegant theme - it will use YOUR values
19
- @import '~ultimate-jekyll-manager/src/assets/themes/elegant/theme';
18
+ // 2. Now import the Umbra theme - it will use YOUR values
19
+ @import '~ultimate-jekyll-manager/src/assets/themes/umbra/theme';
20
20
 
21
21
  // 3. Add your custom styles below
22
22
  .my-custom-class {
@@ -35,8 +35,8 @@ See `_config.scss` for the full list of variables you can override:
35
35
  - `$light`, `$dark` - Light and dark variants
36
36
 
37
37
  ### Background Colors
38
- - `$elegant-bg-light` - Light mode background
39
- - `$elegant-bg-dark` - Dark mode background
38
+ - `$umbra-bg-light` - Light mode background
39
+ - `$umbra-bg-dark` - Dark mode background
40
40
 
41
41
  ### Typography
42
42
  - `$font-family-sans-serif` - Main font family
@@ -47,12 +47,12 @@ See `_config.scss` for the full list of variables you can override:
47
47
  - `$border-radius-sm`, `$border-radius-lg` - Size variants
48
48
 
49
49
  ### Gradients
50
- - `$elegant-gradient-primary`, `$elegant-gradient-aurora`, etc.
50
+ - `$umbra-gradient-primary`, `$umbra-gradient-aurora`, etc.
51
51
 
52
52
  ## File Structure
53
53
 
54
54
  ```
55
- elegant/
55
+ umbra/
56
56
  ├── _config.scss ← All customizable variables with !default
57
57
  ├── _theme.scss ← Main entry point, imports config then Bootstrap
58
58
  ├── css/base/
@@ -0,0 +1,187 @@
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
+ );
@@ -9,7 +9,7 @@ window.bootstrap = bootstrap;
9
9
  // Log that we've MADE IT
10
10
  /* @dev-only:start */
11
11
  {
12
- console.log('elegant theme loaded successfully (assets/themes/elegant/_theme.js)');
12
+ console.log('Umbra theme loaded successfully (assets/themes/umbra/_theme.js)');
13
13
  }
14
14
  /* @dev-only:end */
15
15
 
@@ -24,7 +24,7 @@ import initHeroDemoForm from './js/hero-demo-form.js';
24
24
 
25
25
  // Initialize theme components when DOM is ready
26
26
  domReady().then(() => {
27
- // elegant Theme Initializations
27
+ // Umbra Theme Initializations
28
28
  setupNavbarScroll();
29
29
  setupInfiniteScroll();
30
30
 
@@ -1,4 +1,4 @@
1
- // elegant Animation Utilities
1
+ // Umbra Animation Utilities
2
2
  // Keyframes and animation classes for dynamic effects
3
3
 
4
4
  // ============================================
@@ -1,36 +1,36 @@
1
- // elegant Background Utilities
1
+ // Umbra Background Utilities
2
2
  // Background gradients, patterns, and visual effects
3
3
 
4
4
  // ============================================
5
5
  // Gradient Backgrounds
6
6
  // ============================================
7
7
  .bg-gradient-primary {
8
- background-image: $elegant-gradient-primary !important;
8
+ background-image: $umbra-gradient-primary !important;
9
9
  background-size: 300% 300% !important;
10
10
  }
11
11
 
12
12
  .bg-gradient-dark {
13
- background-image: $elegant-gradient-dark !important;
13
+ background-image: $umbra-gradient-dark !important;
14
14
  background-size: 300% 300% !important;
15
15
  }
16
16
 
17
17
  .bg-gradient-light {
18
- background-image: $elegant-gradient-light !important;
18
+ background-image: $umbra-gradient-light !important;
19
19
  background-size: 300% 300% !important;
20
20
  }
21
21
 
22
22
  .bg-gradient-sunset {
23
- background-image: $elegant-gradient-sunset !important;
23
+ background-image: $umbra-gradient-sunset !important;
24
24
  background-size: 300% 300% !important;
25
25
  }
26
26
 
27
27
  .bg-gradient-aurora {
28
- background-image: $elegant-gradient-aurora !important;
28
+ background-image: $umbra-gradient-aurora !important;
29
29
  background-size: 300% 300% !important;
30
30
  }
31
31
 
32
32
  .bg-gradient-rainbow {
33
- background-image: $elegant-gradient-rainbow !important;
33
+ background-image: $umbra-gradient-rainbow !important;
34
34
  background-size: 300% 300% !important;
35
35
  }
36
36
 
@@ -1,15 +1,15 @@
1
- // elegant Border Utilities
1
+ // Umbra Border Utilities
2
2
  // Border styles, gradients, and decorative dividers
3
3
 
4
4
  // ============================================
5
5
  // Border Radius
6
6
  // ============================================
7
- .rounded-sm { border-radius: $elegant-radius-sm !important; }
8
- .rounded-md { border-radius: $elegant-radius-md !important; }
9
- .rounded-lg { border-radius: $elegant-radius-lg !important; }
10
- .rounded-xl { border-radius: $elegant-radius-xl !important; }
11
- .rounded-2xl { border-radius: $elegant-radius-2xl !important; }
12
- .rounded-full { border-radius: $elegant-radius-full !important; }
7
+ .rounded-sm { border-radius: $umbra-radius-sm !important; }
8
+ .rounded-md { border-radius: $umbra-radius-md !important; }
9
+ .rounded-lg { border-radius: $umbra-radius-lg !important; }
10
+ .rounded-xl { border-radius: $umbra-radius-xl !important; }
11
+ .rounded-2xl { border-radius: $umbra-radius-2xl !important; }
12
+ .rounded-full { border-radius: $umbra-radius-full !important; }
13
13
 
14
14
  // ============================================
15
15
  // Gradient Borders
@@ -24,7 +24,7 @@
24
24
  position: absolute;
25
25
  inset: calc(var(--bs-border-width) * -1);
26
26
  border-radius: inherit;
27
- background: $elegant-gradient-rainbow;
27
+ background: $umbra-gradient-rainbow;
28
28
  background-size: 300% 300%;
29
29
  z-index: -1;
30
30
  }
@@ -52,14 +52,14 @@
52
52
  // ============================================
53
53
  .divider {
54
54
  height: 1px;
55
- background: $elegant-gray-lighter;
56
- margin: $elegant-spacing-2xl 0;
55
+ background: $umbra-gray-lighter;
56
+ margin: $umbra-spacing-2xl 0;
57
57
 
58
58
  &.divider-gradient {
59
- background: $elegant-gradient-primary;
59
+ background: $umbra-gradient-primary;
60
60
  }
61
61
 
62
62
  &.divider-fade {
63
- background: linear-gradient(to right, transparent, $elegant-gray-lighter 20%, $elegant-gray-lighter 80%, transparent);
63
+ background: linear-gradient(to right, transparent, $umbra-gray-lighter 20%, $umbra-gray-lighter 80%, transparent);
64
64
  }
65
65
  }
@@ -0,0 +1,68 @@
1
+ // Umbra Theme CSS Custom Properties
2
+ // Converts SCSS variables to CSS custom properties for runtime theming
3
+ // These override Bootstrap's CSS variables and allow dynamic theme switching
4
+
5
+ // ============================================
6
+ // Light Mode (Default)
7
+ // ============================================
8
+ :root,
9
+ [data-bs-theme="light"] {
10
+ // Background colors
11
+ --bs-body-bg: #{$umbra-bg-light};
12
+ --bs-body-bg-rgb: #{red($umbra-bg-light)}, #{green($umbra-bg-light)}, #{blue($umbra-bg-light)};
13
+
14
+ --bs-secondary-bg: #{$umbra-bg-light-secondary};
15
+ --bs-secondary-bg-rgb: #{red($umbra-bg-light-secondary)}, #{green($umbra-bg-light-secondary)}, #{blue($umbra-bg-light-secondary)};
16
+
17
+ --bs-tertiary-bg: #{$umbra-bg-light-tertiary};
18
+ --bs-tertiary-bg-rgb: #{red($umbra-bg-light-tertiary)}, #{green($umbra-bg-light-tertiary)}, #{blue($umbra-bg-light-tertiary)};
19
+
20
+ // Add subtle warmth to borders
21
+ --bs-border-color: rgba(139, 122, 117, 0.15);
22
+ --bs-border-color-translucent: rgba(139, 122, 117, 0.1);
23
+
24
+
25
+ // Component backgrounds - use secondary bg for elevated surfaces
26
+ // --bs-card-bg: #{$umbra-bg-light-secondary};
27
+ // --bs-dropdown-bg: #{$umbra-bg-light-secondary};
28
+ // --bs-modal-bg: #{$umbra-bg-light-secondary};
29
+ // --bs-popover-bg: #{$umbra-bg-light-secondary};
30
+ // --bs-offcanvas-bg: #{$umbra-bg-light-secondary};
31
+ // --bs-accordion-bg: #{$umbra-bg-light-secondary};
32
+
33
+ // Add more Bootstrap overrides here as needed
34
+ // Examples:
35
+ // --bs-body-color: #212529;
36
+ // --bs-border-color: #dee2e6;
37
+ // --bs-link-color: #{$primary};
38
+ }
39
+
40
+ // ============================================
41
+ // Dark Mode
42
+ // ============================================
43
+ [data-bs-theme="dark"] {
44
+ // Background colors
45
+ --bs-body-bg: #{$umbra-bg-dark};
46
+ --bs-body-bg-rgb: #{red($umbra-bg-dark)}, #{green($umbra-bg-dark)}, #{blue($umbra-bg-dark)};
47
+
48
+ --bs-secondary-bg: #{$umbra-bg-dark-secondary};
49
+ --bs-secondary-bg-rgb: #{red($umbra-bg-dark-secondary)}, #{green($umbra-bg-dark-secondary)}, #{blue($umbra-bg-dark-secondary)};
50
+
51
+ --bs-tertiary-bg: #{$umbra-bg-dark-tertiary};
52
+ --bs-tertiary-bg-rgb: #{red($umbra-bg-dark-tertiary)}, #{green($umbra-bg-dark-tertiary)}, #{blue($umbra-bg-dark-tertiary)};
53
+
54
+ // Add subtle warmth to borders for dark mode
55
+ --bs-border-color: rgba(226, 114, 91, 0.15); // Terracotta tint
56
+ --bs-border-color-translucent: rgba(226, 114, 91, 0.1);
57
+
58
+
59
+ // Component backgrounds - use secondary bg for elevated surfaces
60
+ // --bs-card-bg: #{$umbra-bg-dark-secondary};
61
+ // --bs-dropdown-bg: #{$umbra-bg-dark-secondary};
62
+ // --bs-modal-bg: #{$umbra-bg-dark-secondary};
63
+ // --bs-popover-bg: #{$umbra-bg-dark-secondary};
64
+ // --bs-offcanvas-bg: #{$umbra-bg-dark-secondary};
65
+ // --bs-accordion-bg: #{$umbra-bg-dark-secondary};
66
+
67
+ // Add more Bootstrap overrides here as needed
68
+ }
@@ -1,4 +1,4 @@
1
- // elegant Typography
1
+ // Umbra Typography
2
2
  // Modern font system with responsive headings and utilities
3
3
 
4
4
  // ============================================
@@ -6,11 +6,11 @@
6
6
  // ============================================
7
7
  :root {
8
8
  --bs-font-sans-serif: #{$font-family-sans-serif};
9
- --bs-font-monospace: #{$elegant-font-mono};
9
+ --bs-font-monospace: #{$umbra-font-mono};
10
10
 
11
11
  // Custom CSS variables for easy access
12
- --elegant-font-primary: #{$font-family-sans-serif};
13
- --elegant-font-mono: #{$elegant-font-mono};
12
+ --umbra-font-primary: #{$font-family-sans-serif};
13
+ --umbra-font-mono: #{$umbra-font-mono};
14
14
  }
15
15
 
16
16
  // ============================================
@@ -18,7 +18,7 @@
18
18
  // ============================================
19
19
  body {
20
20
  font-family: $font-family-sans-serif;
21
- font-size: $elegant-font-size-base;
21
+ font-size: $umbra-font-size-base;
22
22
  font-weight: 400;
23
23
  line-height: 1.6;
24
24
  -webkit-font-smoothing: antialiased;
@@ -42,45 +42,45 @@ h6, .h6 {
42
42
  }
43
43
 
44
44
  h1, .h1 {
45
- font-size: clamp(2.5rem, 5vw, $elegant-font-size-6xl);
45
+ font-size: clamp(2.5rem, 5vw, $umbra-font-size-6xl);
46
46
  font-weight: 800;
47
47
  letter-spacing: -0.03em;
48
48
 
49
- @media (max-width: $elegant-breakpoint-md) {
50
- font-size: $elegant-font-size-4xl;
49
+ @media (max-width: $umbra-breakpoint-md) {
50
+ font-size: $umbra-font-size-4xl;
51
51
  }
52
52
  }
53
53
 
54
54
  h2, .h2 {
55
- font-size: clamp(2rem, 4vw, $elegant-font-size-5xl);
55
+ font-size: clamp(2rem, 4vw, $umbra-font-size-5xl);
56
56
  font-weight: 700;
57
57
 
58
- @media (max-width: $elegant-breakpoint-md) {
59
- font-size: $elegant-font-size-3xl;
58
+ @media (max-width: $umbra-breakpoint-md) {
59
+ font-size: $umbra-font-size-3xl;
60
60
  }
61
61
  }
62
62
 
63
63
  h3, .h3 {
64
- font-size: clamp(1.5rem, 3vw, $elegant-font-size-4xl);
64
+ font-size: clamp(1.5rem, 3vw, $umbra-font-size-4xl);
65
65
  font-weight: 600;
66
66
 
67
- @media (max-width: $elegant-breakpoint-md) {
68
- font-size: $elegant-font-size-2xl;
67
+ @media (max-width: $umbra-breakpoint-md) {
68
+ font-size: $umbra-font-size-2xl;
69
69
  }
70
70
  }
71
71
 
72
72
  h4, .h4 {
73
- font-size: $elegant-font-size-2xl;
73
+ font-size: $umbra-font-size-2xl;
74
74
  font-weight: 600;
75
75
  }
76
76
 
77
77
  h5, .h5 {
78
- font-size: $elegant-font-size-xl;
78
+ font-size: $umbra-font-size-xl;
79
79
  font-weight: 500;
80
80
  }
81
81
 
82
82
  h6, .h6 {
83
- font-size: $elegant-font-size-lg;
83
+ font-size: $umbra-font-size-lg;
84
84
  font-weight: 500;
85
85
  }
86
86
 
@@ -105,7 +105,7 @@ h6, .h6 {
105
105
  // Lead Text
106
106
  // ============================================
107
107
  .lead {
108
- font-size: $elegant-font-size-xl;
108
+ font-size: $umbra-font-size-xl;
109
109
  font-weight: 400;
110
110
  line-height: 1.6;
111
111
  }
@@ -114,18 +114,18 @@ h6, .h6 {
114
114
  // Code Blocks
115
115
  // ============================================
116
116
  code, kbd, pre, samp {
117
- font-family: $elegant-font-mono;
117
+ font-family: $umbra-font-mono;
118
118
  }
119
119
 
120
120
  code {
121
121
  padding: 0.125rem 0.375rem;
122
122
  font-size: 0.875em;
123
- border-radius: $elegant-radius-sm;
123
+ border-radius: $umbra-radius-sm;
124
124
  }
125
125
 
126
126
  pre {
127
- padding: $elegant-spacing-lg;
128
- border-radius: $elegant-radius-lg;
127
+ padding: $umbra-spacing-lg;
128
+ border-radius: $umbra-radius-lg;
129
129
  overflow-x: auto;
130
130
 
131
131
  code {
@@ -139,17 +139,10 @@ pre {
139
139
  // Blockquotes
140
140
  // ============================================
141
141
  blockquote {
142
- padding-left: $elegant-spacing-lg;
142
+ padding-left: $umbra-spacing-lg;
143
143
  border-left-width: 4px;
144
144
  border-left-style: solid;
145
- font-size: $elegant-font-size-lg;
145
+ font-size: $umbra-font-size-lg;
146
146
  font-style: italic;
147
147
  }
148
148
 
149
-
150
- // Elegant Theme Heading Overrides
151
- h1, h2, h3, .h1, .h2, .h3 {
152
- font-family: $elegant-font-accent !important;
153
- font-weight: 500;
154
- letter-spacing: -0.02em;
155
- }
@@ -0,0 +1,15 @@
1
+ // Umbra Utility Classes
2
+ // Custom helper classes and theme-specific utilities
3
+
4
+ // ============================================
5
+ // Shadow Utilities (Umbra-specific)
6
+ // ============================================
7
+ .shadow-xs { box-shadow: $umbra-shadow-xs !important; }
8
+ .shadow-sm { box-shadow: $umbra-shadow-sm !important; }
9
+ .shadow-md { box-shadow: $umbra-shadow-md !important; }
10
+ .shadow-lg { box-shadow: $umbra-shadow-lg !important; }
11
+ .shadow-xl { box-shadow: $umbra-shadow-xl !important; }
12
+ .shadow-2xl { box-shadow: $umbra-shadow-2xl !important; }
13
+ .shadow-glow { box-shadow: $umbra-shadow-glow !important; }
14
+ .shadow-none { box-shadow: none !important; }
15
+
@@ -1,4 +1,4 @@
1
- // elegant Theme Accordion Component
1
+ // Umbra Theme Accordion Component
2
2
  // SVG plus/minus icons using Bootstrap's official approach
3
3
 
4
4
  // ============================================
@@ -1,15 +1,15 @@
1
- // elegant Badge Components
1
+ // Umbra Badge Components
2
2
  // Badges and labels that can extend outside their containers
3
3
 
4
4
  // ============================================
5
5
  // Badge Soft Colors & Gradient
6
6
  // ============================================
7
7
  .badge-gradient {
8
- background: $elegant-gradient-primary;
8
+ background: $umbra-gradient-primary;
9
9
  }
10
10
 
11
11
  .badge-soft-primary {
12
- background: $elegant-primary-soft;
12
+ background: $umbra-primary-soft;
13
13
  }
14
14
 
15
15
  // Global fix - any element containing a badge should not clip