maverick-wave 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (141) hide show
  1. package/.claude/commands/mw.md +580 -0
  2. package/.claude/settings.local.json +11 -0
  3. package/.idea/codeStyles/Project.xml +59 -0
  4. package/.idea/codeStyles/codeStyleConfig.xml +5 -0
  5. package/.idea/maverick-wave.iml +12 -0
  6. package/.idea/modules.xml +8 -0
  7. package/.idea/prettier.xml +6 -0
  8. package/.idea/vcs.xml +6 -0
  9. package/.prettierignore +6 -0
  10. package/.prettierrc.json +7 -0
  11. package/CHANGELOG.md +420 -0
  12. package/CLAUDE.md +53 -0
  13. package/LICENSE +21 -0
  14. package/README.md +191 -0
  15. package/gulpfile.js +158 -0
  16. package/index.html +472 -0
  17. package/maverick-wave.min.css +1 -0
  18. package/maverick-wave.min.js +1 -0
  19. package/package.json +52 -0
  20. package/release.sh +17 -0
  21. package/src/assets/favicon/android-chrome-192x192.png +0 -0
  22. package/src/assets/favicon/android-chrome-512x512.png +0 -0
  23. package/src/assets/favicon/apple-touch-icon.png +0 -0
  24. package/src/assets/favicon/favicon-16x16.png +0 -0
  25. package/src/assets/favicon/favicon-32x32.png +0 -0
  26. package/src/assets/favicon/site.webmanifest +1 -0
  27. package/src/assets/favicon.ico +0 -0
  28. package/src/assets/header-logo.svg +24 -0
  29. package/src/js/main.js +587 -0
  30. package/src/partials/accordions-container.html +163 -0
  31. package/src/partials/alerts-container.html +120 -0
  32. package/src/partials/avatars-container.html +84 -0
  33. package/src/partials/blog-posts-container.html +157 -0
  34. package/src/partials/breadcrumbs-container.html +126 -0
  35. package/src/partials/button-bar-container.html +168 -0
  36. package/src/partials/buttons-container.html +133 -0
  37. package/src/partials/cards-container.html +508 -0
  38. package/src/partials/code-container.html +194 -0
  39. package/src/partials/colors-container.html +125 -0
  40. package/src/partials/coming-soon-container.html +6 -0
  41. package/src/partials/content-slider-container.html +47 -0
  42. package/src/partials/divider-container.html +52 -0
  43. package/src/partials/documentation-container.html +161 -0
  44. package/src/partials/empty-state-container.html +74 -0
  45. package/src/partials/footer-container.html +113 -0
  46. package/src/partials/form-container.html +257 -0
  47. package/src/partials/form-elements-container.html +595 -0
  48. package/src/partials/form-field-container.html +141 -0
  49. package/src/partials/gallery-container.html +49 -0
  50. package/src/partials/get-started-container.html +294 -0
  51. package/src/partials/grid-container.html +171 -0
  52. package/src/partials/header-container.html +49 -0
  53. package/src/partials/header-utilities-container.html +80 -0
  54. package/src/partials/home-container.html +48 -0
  55. package/src/partials/html-lists-container.html +58 -0
  56. package/src/partials/info-container.html +87 -0
  57. package/src/partials/input-group-container.html +285 -0
  58. package/src/partials/item-lists-container.html +413 -0
  59. package/src/partials/login-container.html +61 -0
  60. package/src/partials/meta-info-container.html +16 -0
  61. package/src/partials/modals-container.html +136 -0
  62. package/src/partials/pagination-container.html +27 -0
  63. package/src/partials/panels-container.html +196 -0
  64. package/src/partials/progress-container.html +226 -0
  65. package/src/partials/ratings-container.html +104 -0
  66. package/src/partials/skeleton-container.html +82 -0
  67. package/src/partials/spinners-container.html +92 -0
  68. package/src/partials/stepper-container.html +107 -0
  69. package/src/partials/tables-container.html +120 -0
  70. package/src/partials/tabs-container.html +263 -0
  71. package/src/partials/tags-container.html +168 -0
  72. package/src/partials/techstack-bucket-container.html +174 -0
  73. package/src/partials/tiles-container.html +245 -0
  74. package/src/partials/timelines-container.html +196 -0
  75. package/src/partials/typography-container.html +66 -0
  76. package/src/partials/utilities-container.html +85 -0
  77. package/src/scss/abstracts/_functions.scss +37 -0
  78. package/src/scss/abstracts/_index.scss +3 -0
  79. package/src/scss/abstracts/_mixins.scss +45 -0
  80. package/src/scss/abstracts/_variables.scss +222 -0
  81. package/src/scss/base/_base.scss +165 -0
  82. package/src/scss/base/_index.scss +3 -0
  83. package/src/scss/base/_reset.scss +75 -0
  84. package/src/scss/base/_typography.scss +230 -0
  85. package/src/scss/components/_accordions.scss +91 -0
  86. package/src/scss/components/_alerts.scss +105 -0
  87. package/src/scss/components/_avatars.scss +123 -0
  88. package/src/scss/components/_blog-post.scss +268 -0
  89. package/src/scss/components/_breadcrumbs.scss +108 -0
  90. package/src/scss/components/_button-bar.scss +139 -0
  91. package/src/scss/components/_buttons.scss +164 -0
  92. package/src/scss/components/_cards.scss +316 -0
  93. package/src/scss/components/_code.scss +252 -0
  94. package/src/scss/components/_coming-soon.scss +92 -0
  95. package/src/scss/components/_content-slider.scss +119 -0
  96. package/src/scss/components/_divider.scss +70 -0
  97. package/src/scss/components/_empty-state.scss +73 -0
  98. package/src/scss/components/_gallery.scss +158 -0
  99. package/src/scss/components/_index.scss +33 -0
  100. package/src/scss/components/_info.scss +143 -0
  101. package/src/scss/components/_lists.scss +653 -0
  102. package/src/scss/components/_localhost-indicator.scss +29 -0
  103. package/src/scss/components/_meta-info.scss +34 -0
  104. package/src/scss/components/_modals.scss +118 -0
  105. package/src/scss/components/_pagination.scss +99 -0
  106. package/src/scss/components/_panels.scss +112 -0
  107. package/src/scss/components/_progress.scss +107 -0
  108. package/src/scss/components/_ratings.scss +47 -0
  109. package/src/scss/components/_skeleton.scss +90 -0
  110. package/src/scss/components/_spinners.scss +208 -0
  111. package/src/scss/components/_stepper.scss +145 -0
  112. package/src/scss/components/_tables.scss +127 -0
  113. package/src/scss/components/_tabs.scss +146 -0
  114. package/src/scss/components/_tags.scss +93 -0
  115. package/src/scss/components/_techstack-bucket.scss +145 -0
  116. package/src/scss/components/_theme-toggle.scss +50 -0
  117. package/src/scss/components/_tiles.scss +217 -0
  118. package/src/scss/components/_timelines.scss +339 -0
  119. package/src/scss/form-elements/_checkbox.scss +174 -0
  120. package/src/scss/form-elements/_form.scss +122 -0
  121. package/src/scss/form-elements/_index.scss +10 -0
  122. package/src/scss/form-elements/_input-group.scss +103 -0
  123. package/src/scss/form-elements/_input.scss +72 -0
  124. package/src/scss/form-elements/_login.scss +62 -0
  125. package/src/scss/form-elements/_radio.scss +144 -0
  126. package/src/scss/form-elements/_select.scss +56 -0
  127. package/src/scss/form-elements/_slider.scss +174 -0
  128. package/src/scss/form-elements/_textarea.scss +74 -0
  129. package/src/scss/form-elements/_toggle.scss +174 -0
  130. package/src/scss/layout/_footer.scss +214 -0
  131. package/src/scss/layout/_grid.scss +287 -0
  132. package/src/scss/layout/_header.scss +441 -0
  133. package/src/scss/layout/_home.scss +40 -0
  134. package/src/scss/layout/_index.scss +6 -0
  135. package/src/scss/layout/_main.scss +116 -0
  136. package/src/scss/layout/_section.scss +89 -0
  137. package/src/scss/main.scss +5 -0
  138. package/src/scss/utilities/_display.scss +35 -0
  139. package/src/scss/utilities/_flex.scss +66 -0
  140. package/src/scss/utilities/_index.scss +3 -0
  141. package/src/scss/utilities/_spacing.scss +78 -0
@@ -0,0 +1,163 @@
1
+ <h3 class="mw-section-subtitle">Accordions</h3>
2
+
3
+ <div class="mw-accordion">
4
+ <div class="mw-accordion-item">
5
+ <div class="mw-accordion-header active">
6
+ <h3>What is MaverickWave?</h3>
7
+ <i class="fas fa-chevron-down mw-accordion-icon"></i>
8
+ </div>
9
+ <div class="mw-accordion-content active">
10
+ <div class="mw-accordion-content-inner">
11
+ <p>
12
+ MaverickWave is a lightweight, responsive CSS framework designed for
13
+ modern web development. It provides a clean foundation with
14
+ customizable components and utility classes to help you build
15
+ beautiful, responsive websites quickly.
16
+ </p>
17
+ </div>
18
+ </div>
19
+ </div>
20
+
21
+ <div class="mw-accordion-item">
22
+ <div class="mw-accordion-header">
23
+ <h3>How do I customize MaverickWave?</h3>
24
+ <i class="fas fa-chevron-down mw-accordion-icon"></i>
25
+ </div>
26
+ <div class="mw-accordion-content">
27
+ <div class="mw-accordion-content-inner">
28
+ <p>
29
+ MaverickWave offers two main ways to customize its appearance to match
30
+ your project's needs:
31
+ </p>
32
+
33
+ <h5 class="mw-mt-4 mw-mb-2">
34
+ 1. Using CSS Variables (Recommended for CDN/CSS Users)
35
+ </h5>
36
+ <p>
37
+ If you're using the pre-compiled CSS file (via CDN or download), you
38
+ can override MaverickWave's default styles by redefining its CSS
39
+ variables in your own stylesheet (loaded *after* MaverickWave's CSS).
40
+ </p>
41
+ <pre class="mw-code-block"><code>/* Your custom-styles.css */
42
+ :root {
43
+ /* Override base colors */
44
+ --mw-primary-color: #e94560;
45
+ --mw-secondary-color: #f39c12;
46
+
47
+ /* Override specific theme colors */
48
+ --mw-dark-page-background: #1a1a2e;
49
+ --mw-light-card-background: #f0f0f5;
50
+
51
+ /* Override component variables */
52
+ --mw-alert-primary-bg: rgba(233, 69, 96, 0.15);
53
+
54
+ /* Override font */
55
+ --mw-font-family-base: 'Your Custom Font', sans-serif;
56
+ }</code></pre>
57
+ <p>This method is flexible and doesn't require a Sass build process.</p>
58
+
59
+ <h5 class="mw-mt-4 mw-mb-2">
60
+ 2. Using SCSS Variables (Requires Sass Build Process)
61
+ </h5>
62
+ <p>
63
+ If you integrate MaverickWave's SCSS source files into your project,
64
+ you can override the framework's default Sass variables
65
+ <em>before</em> importing it. This gives you deeper control and allows
66
+ derived colors (calculated using Sass functions like
67
+ <code>rgba()</code> or <code>color.adjust()</code> within the
68
+ framework) to automatically use your custom base colors.
69
+ </p>
70
+ <pre class="mw-code-block"><code>// Your main.scss
71
+
72
+ // Override Sass variables BEFORE importing
73
+ $primary-color: #e94560;
74
+ $font-family: 'Your Custom Font', sans-serif;
75
+ $mw-theme-mode: 'dark'; // Optionally set theme mode
76
+
77
+ // Import MaverickWave
78
+ @import 'path/to/maverick-wave/scss/maverick-wave';</code></pre>
79
+ <p>
80
+ This method requires you to have a Sass compiler set up in your
81
+ project.
82
+ </p>
83
+ <p class="mw-mt-4">
84
+ <button
85
+ type="button"
86
+ onclick="location.href = '#get-started'"
87
+ class="mw-btn mw-btn-link mw-p-0"
88
+ >
89
+ See the "Get Started" section
90
+ </button>
91
+ for more detailed integration examples for both methods.
92
+ </p>
93
+ </div>
94
+ </div>
95
+ </div>
96
+
97
+ <div class="mw-accordion-item">
98
+ <div class="mw-accordion-header">
99
+ <h3>Is MaverickWave responsive?</h3>
100
+ <i class="fas fa-chevron-down mw-accordion-icon"></i>
101
+ </div>
102
+ <div class="mw-accordion-content">
103
+ <div class="mw-accordion-content-inner">
104
+ <p>
105
+ Yes, MaverickWave CSS framework is fully responsive and works on all
106
+ devices. It uses a mobile-first approach with responsive breakpoints
107
+ for different screen sizes, ensuring your website looks great on
108
+ phones, tablets, laptops, and desktops.
109
+ </p>
110
+ </div>
111
+ </div>
112
+ </div>
113
+
114
+ <div class="mw-accordion-item">
115
+ <div class="mw-accordion-header">
116
+ <h3>Scrollable Content Example</h3>
117
+ <i class="fas fa-chevron-down mw-accordion-icon"></i>
118
+ </div>
119
+ <div class="mw-accordion-content">
120
+ <div class="mw-accordion-content-inner">
121
+ <p>
122
+ This accordion panel demonstrates scrollable content when the content
123
+ exceeds the available space. This is useful for displaying large
124
+ amounts of information in a compact format.
125
+ </p>
126
+ <p>
127
+ Accordions are excellent UI components for FAQs, product details, or
128
+ any content that benefits from progressive disclosure. They help
129
+ reduce cognitive load by showing only the most relevant information at
130
+ first.
131
+ </p>
132
+ <p>When designing with accordions, consider these best practices:</p>
133
+ <ul>
134
+ <li>
135
+ Use clear, descriptive headers that indicate the content inside
136
+ </li>
137
+ <li>Keep content concise and focused on a single topic per panel</li>
138
+ <li>
139
+ Consider whether users need to compare information across panels
140
+ </li>
141
+ <li>Ensure keyboard accessibility for navigation</li>
142
+ <li>Provide visual feedback for interactive elements</li>
143
+ </ul>
144
+ <p>
145
+ MaverickWave accordions are designed with accessibility in mind,
146
+ ensuring they work well with screen readers and keyboard navigation.
147
+ The smooth animations provide visual feedback without being
148
+ distracting.
149
+ </p>
150
+ <p>
151
+ You can customize the appearance of accordions using CSS variables to
152
+ match your brand colors and design language. The component is built
153
+ with flexibility in mind.
154
+ </p>
155
+ <p>
156
+ For more complex use cases, you can nest accordions or combine them
157
+ with other components like tabs or cards to create rich, interactive
158
+ interfaces that guide users through complex information hierarchies.
159
+ </p>
160
+ </div>
161
+ </div>
162
+ </div>
163
+ </div>
@@ -0,0 +1,120 @@
1
+ <h3 class="mw-section-subtitle">Alerts System</h3>
2
+
3
+ <div class="mw-grid-2 mw-gap-4">
4
+ <!-- Primary: System Notifications -->
5
+ <div class="mw-alert mw-alert-primary">
6
+ <div class="mw-alert-icon">
7
+ <i class="fas fa-info-circle"></i>
8
+ </div>
9
+ <div class="mw-alert-content">
10
+ <span class="mw-alert-title">System Update</span>
11
+ <p>Please note that maintenance is scheduled for tonight at 02:00 AM.</p>
12
+ </div>
13
+ <button
14
+ type="button"
15
+ class="mw-btn-mini mw-btn-mini-danger mw-alert-close"
16
+ onclick="this.closest('.mw-alert').remove()"
17
+ >
18
+ <i class="fas fa-times"></i>
19
+ </button>
20
+ </div>
21
+
22
+ <!-- Secondary: Generic Info -->
23
+ <div class="mw-alert mw-alert-secondary">
24
+ <div class="mw-alert-icon">
25
+ <i class="fas fa-bell"></i>
26
+ </div>
27
+ <div class="mw-alert-content">
28
+ <span class="mw-alert-title">Notification</span>
29
+ <p>You have unread messages in your inbox.</p>
30
+ </div>
31
+ <button
32
+ type="button"
33
+ class="mw-btn-mini mw-btn-mini-danger mw-alert-close"
34
+ onclick="this.closest('.mw-alert').remove()"
35
+ >
36
+ <i class="fas fa-times"></i>
37
+ </button>
38
+ </div>
39
+
40
+ <!-- Success: Actions -->
41
+ <div class="mw-alert mw-alert-success">
42
+ <div class="mw-alert-icon">
43
+ <i class="fas fa-check-circle"></i>
44
+ </div>
45
+ <div class="mw-alert-content">
46
+ <span class="mw-alert-title">Profile Updated</span>
47
+ <p>Your settings have been saved successfully.</p>
48
+ </div>
49
+ <button
50
+ type="button"
51
+ class="mw-btn-mini mw-btn-mini-danger mw-alert-close"
52
+ onclick="this.closest('.mw-alert').remove()"
53
+ >
54
+ <i class="fas fa-times"></i>
55
+ </button>
56
+ </div>
57
+
58
+ <!-- Warning: Caution needed -->
59
+ <div class="mw-alert mw-alert-warning">
60
+ <div class="mw-alert-icon">
61
+ <i class="fas fa-exclamation-triangle"></i>
62
+ </div>
63
+ <div class="mw-alert-content">
64
+ <span class="mw-alert-title">Storage Low</span>
65
+ <p>
66
+ You are running out of storage space (95% used). Consider upgrading your
67
+ plan.
68
+ </p>
69
+ </div>
70
+ <button
71
+ type="button"
72
+ class="mw-btn-mini mw-btn-mini-danger mw-alert-close"
73
+ onclick="this.closest('.mw-alert').remove()"
74
+ >
75
+ <i class="fas fa-times"></i>
76
+ </button>
77
+ </div>
78
+
79
+ <!-- Danger: Critical Errors -->
80
+ <div class="mw-alert mw-alert-danger">
81
+ <div class="mw-alert-icon">
82
+ <i class="fas fa-times-circle"></i>
83
+ </div>
84
+ <div class="mw-alert-content">
85
+ <span class="mw-alert-title">Connection Failed</span>
86
+ <p>
87
+ Could not connect to database. Please check your credentials and try
88
+ again.
89
+ </p>
90
+ </div>
91
+ <button
92
+ type="button"
93
+ class="mw-btn-mini mw-btn-mini-danger mw-alert-close"
94
+ onclick="this.closest('.mw-alert').remove()"
95
+ >
96
+ <i class="fas fa-times"></i>
97
+ </button>
98
+ </div>
99
+
100
+ <!-- Info: Context / Tips -->
101
+ <div class="mw-alert mw-alert-info">
102
+ <div class="mw-alert-icon">
103
+ <i class="fas fa-lightbulb"></i>
104
+ </div>
105
+ <div class="mw-alert-content">
106
+ <span class="mw-alert-title">Did you know?</span>
107
+ <p>
108
+ You can use keyboard shortcuts to navigate faster. Press
109
+ <strong>?</strong> to see help.
110
+ </p>
111
+ </div>
112
+ <button
113
+ type="button"
114
+ class="mw-btn-mini mw-btn-mini-danger mw-alert-close"
115
+ onclick="this.closest('.mw-alert').remove()"
116
+ >
117
+ <i class="fas fa-times"></i>
118
+ </button>
119
+ </div>
120
+ </div>
@@ -0,0 +1,84 @@
1
+ <h3 class="mw-section-subtitle">Avatars</h3>
2
+
3
+ <div class="mw-grid-2">
4
+ <div>
5
+ <h3 class="mw-mb-4">Avatar Sizes</h3>
6
+ <div class="mw-card mw-card-simple">
7
+ <div class="mw-grid-stack-center">
8
+ <div class="mw-avatar mw-avatar-xs">
9
+ <img src="https://i.pravatar.cc/150?img=1" alt="Avatar" />
10
+ </div>
11
+ <div class="mw-avatar mw-avatar-sm">
12
+ <img src="https://i.pravatar.cc/150?img=2" alt="Avatar" />
13
+ </div>
14
+ <div class="mw-avatar">
15
+ <img src="https://i.pravatar.cc/150?img=3" alt="Avatar" />
16
+ </div>
17
+ <div class="mw-avatar mw-avatar-lg">
18
+ <img src="https://i.pravatar.cc/150?img=4" alt="Avatar" />
19
+ </div>
20
+ <div class="mw-avatar mw-avatar-xl">
21
+ <img src="https://i.pravatar.cc/150?img=5" alt="Avatar" />
22
+ </div>
23
+ </div>
24
+ </div>
25
+ </div>
26
+
27
+ <div>
28
+ <h3 class="mw-mb-4">Avatar Shapes & Colors & Group</h3>
29
+ <div class="mw-card mw-card-simple">
30
+ <h4 class="mw-mb-2">Avatar Shapes</h4>
31
+ <div>
32
+ <div class="mw-avatar">
33
+ <img src="https://i.pravatar.cc/150?img=6" alt="Avatar" />
34
+ </div>
35
+ <div class="mw-avatar mw-avatar-square">
36
+ <img src="https://i.pravatar.cc/150?img=7" alt="Avatar" />
37
+ </div>
38
+ </div>
39
+
40
+ <h4 class="mw-mb-2 mw-mt-4">Avatar Colors</h4>
41
+ <div>
42
+ <div class="mw-avatar mw-avatar-primary">
43
+ <img src="https://i.pravatar.cc/150?img=9" alt="Avatar" />
44
+ </div>
45
+ <div class="mw-avatar mw-avatar-secondary">
46
+ <img src="https://i.pravatar.cc/150?img=10" alt="Avatar" />
47
+ </div>
48
+ </div>
49
+ <div>
50
+ <div class="mw-avatar mw-avatar-success">
51
+ <img src="https://i.pravatar.cc/150?img=11" alt="Avatar" />
52
+ </div>
53
+
54
+ <div class="mw-avatar mw-avatar-warning">
55
+ <img src="https://i.pravatar.cc/150?img=12" alt="Avatar" />
56
+ </div>
57
+
58
+ <div class="mw-avatar mw-avatar-danger">
59
+ <img src="https://i.pravatar.cc/150?img=13" alt="Avatar" />
60
+ </div>
61
+
62
+ <div class="mw-avatar">
63
+ <img src="https://i.pravatar.cc/150?img=14" alt="Avatar" />
64
+ </div>
65
+ </div>
66
+
67
+ <h4 class="mw-mb-2 mw-mt-4">Avatar Group</h4>
68
+ <div class="mw-avatar-group mw-mt-3 mw-mb-5">
69
+ <div class="mw-avatar mw-avatar-sm">
70
+ <img src="https://i.pravatar.cc/150?img=19" alt="Avatar" />
71
+ </div>
72
+ <div class="mw-avatar mw-avatar-sm">
73
+ <img src="https://i.pravatar.cc/150?img=20" alt="Avatar" />
74
+ </div>
75
+ <div class="mw-avatar mw-avatar-sm">
76
+ <img src="https://i.pravatar.cc/150?img=21" alt="Avatar" />
77
+ </div>
78
+ <div class="mw-avatar mw-avatar-sm">
79
+ <img src="https://i.pravatar.cc/150?img=22" alt="Avatar" />
80
+ </div>
81
+ </div>
82
+ </div>
83
+ </div>
84
+ </div>
@@ -0,0 +1,157 @@
1
+ <h3 class="mw-section-subtitle">Blog Posts</h3>
2
+
3
+ <div class="mw-blog-post mw-mt-9">
4
+ <h2 class="mw-blog-post-title">Just a dummy blog post</h2>
5
+
6
+ <div class="mw-blog-post-header">
7
+ <div class="mw-blog-post-header-icon">
8
+ <i class="fas fa-code"></i>
9
+ </div>
10
+ <div class="mw-blog-post-meta">
11
+ <div class="mw-blog-post-meta-item">
12
+ <i class="far fa-calendar"></i>
13
+ <span>April 10, 2025</span>
14
+ </div>
15
+ <div class="mw-blog-post-meta-item">
16
+ <i class="far fa-user"></i>
17
+ <span>By Sarah Johnson</span>
18
+ </div>
19
+ <div class="mw-blog-post-meta-item">
20
+ <i class="far fa-clock"></i>
21
+ <span>8 min read</span>
22
+ </div>
23
+ </div>
24
+ </div>
25
+
26
+ <img
27
+ src="https://images.unsplash.com/photo-1603969072881-b0fc7f3d77d7?q=80&w=3540&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D"
28
+ alt="UI/UX design"
29
+ class="mw-blog-post-featured-image"
30
+ />
31
+
32
+ <div class="mw-blog-post-content-markdown">
33
+ <p>
34
+ The landscape of web development continues to evolve at a rapid pace. In
35
+ this article, we explore the latest frameworks, tools, and methodologies
36
+ that are shaping the industry in 2025.
37
+ </p>
38
+
39
+ <h3>The Rise of AI-Assisted Development</h3>
40
+ <p>
41
+ Artificial intelligence has transformed how we approach coding. Modern
42
+ IDEs now come equipped with sophisticated AI assistants that can generate
43
+ entire components, optimize performance, and even identify potential bugs
44
+ before they manifest.
45
+ </p>
46
+ <p>
47
+ <button type="button" class="mw-btn mw-btn-primary">
48
+ Just s simple button
49
+ </button>
50
+ </p>
51
+
52
+ <p>
53
+ The most significant advancement has been in the realm of natural language
54
+ programming, where developers can describe functionality in plain English
55
+ and have the AI generate the corresponding code.
56
+ </p>
57
+
58
+ <blockquote>
59
+ "AI hasn't replaced developers; it has elevated them. We now spend more
60
+ time on architecture and problem-solving rather than writing boilerplate
61
+ code." — Elena Vega, Lead Developer at TechFront
62
+ </blockquote>
63
+
64
+ <h3>Serverless Architecture: Beyond the Basics</h3>
65
+ <p>
66
+ Serverless computing has matured significantly, moving beyond simple
67
+ function execution to comprehensive application architectures. The new
68
+ generation of serverless platforms offers:
69
+ </p>
70
+
71
+ <ul class="mw-list-dot">
72
+ <li>Stateful serverless functions with built-in memory persistence</li>
73
+ <li>Edge-optimized execution for global performance</li>
74
+ <li>Integrated database connections with automatic scaling</li>
75
+ <li>Real-time monitoring and debugging capabilities</li>
76
+ </ul>
77
+
78
+ <h4>Code Example: Modern Serverless Function</h4>
79
+ <pre><code>// Modern serverless function with state management
80
+ export async function handler(event, context) {
81
+ // Access persistent state across invocations
82
+ const state = await context.getState();
83
+
84
+ // Process the incoming request
85
+ const result = processRequest(event, state);
86
+
87
+ // Update the state for future invocations
88
+ await context.setState({
89
+ lastProcessed: new Date(),
90
+ counter: (state.counter || 0) + 1,
91
+ recentRequests: [...(state.recentRequests || []), event.id].slice(-10)
92
+ });
93
+
94
+ return {
95
+ statusCode: 200,
96
+ body: JSON.stringify(result)
97
+ };
98
+ }</code></pre>
99
+
100
+ <h3>Web Components and Micro-Frontends</h3>
101
+ <p>
102
+ The component-based architecture has evolved into a more standardized
103
+ approach with Web Components becoming the foundation of modern frontend
104
+ development. This has enabled true interoperability between different
105
+ frameworks and libraries.
106
+ </p>
107
+
108
+ <p>
109
+ Micro-frontends have also gained widespread adoption, allowing teams to
110
+ develop, test, and deploy parts of a frontend independently, using
111
+ different technologies if necessary.
112
+ </p>
113
+
114
+ <ul>
115
+ <li>
116
+ DOP is not anti-OOP - it's a refinement for clearer thinking and
117
+ modeling.
118
+ </li>
119
+ <li>
120
+ With <code>record</code>, <code>sealed interface</code>, and Pattern
121
+ Matching, Java is finally ready for this style.
122
+ </li>
123
+ <li>
124
+ You’ll get:
125
+ <ul>
126
+ <li>Transparent and predictable models</li>
127
+ <li>Easier testing and logging</li>
128
+ <li>Less coupling and fewer side effects</li>
129
+ </ul>
130
+ </li>
131
+ <li>
132
+ This approach can make your domain models sharper and your codebase
133
+ easier to reason about.
134
+ </li>
135
+ </ul>
136
+
137
+ <h3>Conclusion</h3>
138
+ <p>
139
+ As we move further into 2025, the web development landscape continues to
140
+ prioritize developer experience, performance, and scalability. By
141
+ embracing these modern techniques, developers can create more robust,
142
+ efficient, and maintainable applications.
143
+ </p>
144
+ </div>
145
+
146
+ <div class="mw-blog-post-footer">
147
+ <button type="button" class="mw-btn mw-blog-post-footer-button">
148
+ <i class="fas fa-arrow-left"></i>
149
+ <span>Previous Post</span>
150
+ </button>
151
+ <button type="button" class="mw-btn mw-btn-primary">Back to Blog</button>
152
+ <button type="button" class="mw-btn mw-blog-post-footer-button next">
153
+ <i class="fas fa-arrow-right"></i>
154
+ <span>Next Post</span>
155
+ </button>
156
+ </div>
157
+ </div>
@@ -0,0 +1,126 @@
1
+ <h3 class="mw-section-subtitle">Breadcrumbs</h3>
2
+ <p class="mw-text-muted">
3
+ Modern skewed navigation breadcrumbs with overlapping design.
4
+ </p>
5
+
6
+ <div class="mw-grid-stack-stretch">
7
+ <div>
8
+ <h4 class="mw-mb-2">Basic Breadcrumbs</h4>
9
+ <nav class="mw-breadcrumbs" aria-label="Breadcrumb">
10
+ <ol class="mw-breadcrumbs-list">
11
+ <li class="mw-breadcrumbs-item">
12
+ <a href="#">
13
+ <span>Home</span>
14
+ </a>
15
+ </li>
16
+ <li class="mw-breadcrumbs-item">
17
+ <a href="#">
18
+ <span>Products</span>
19
+ </a>
20
+ </li>
21
+ <li class="mw-breadcrumbs-item">
22
+ <a href="#">
23
+ <span>Electronics</span>
24
+ </a>
25
+ </li>
26
+ <li class="mw-breadcrumbs-item mw-breadcrumbs-current">
27
+ <a href="#" class="mw-breadcrumbs-active">
28
+ <span>Phones</span>
29
+ </a>
30
+ </li>
31
+ </ol>
32
+ </nav>
33
+ </div>
34
+
35
+ <div>
36
+ <h4 class="mw-mb-2">With Home Icon</h4>
37
+ <nav class="mw-breadcrumbs" aria-label="Breadcrumb">
38
+ <ol class="mw-breadcrumbs-list">
39
+ <li class="mw-breadcrumbs-item">
40
+ <a href="#" aria-label="Home">
41
+ <i class="fas fa-home"></i>
42
+ </a>
43
+ </li>
44
+ <li class="mw-breadcrumbs-item">
45
+ <a href="#">
46
+ <span>Products</span>
47
+ </a>
48
+ </li>
49
+ <li class="mw-breadcrumbs-item">
50
+ <a href="#">
51
+ <span>Electronics</span>
52
+ </a>
53
+ </li>
54
+ <li class="mw-breadcrumbs-item mw-breadcrumbs-current">
55
+ <a href="#" class="mw-breadcrumbs-active">
56
+ <span>Phones</span>
57
+ </a>
58
+ </li>
59
+ </ol>
60
+ </nav>
61
+ </div>
62
+
63
+ <div>
64
+ <h4 class="mw-mb-2">Small Size Variant</h4>
65
+ <nav class="mw-breadcrumbs mw-breadcrumbs-sm" aria-label="Breadcrumb">
66
+ <ol class="mw-breadcrumbs-list">
67
+ <li class="mw-breadcrumbs-item">
68
+ <a href="#">
69
+ <span>Admin</span>
70
+ </a>
71
+ </li>
72
+ <li class="mw-breadcrumbs-item">
73
+ <a href="#">
74
+ <span>Users</span>
75
+ </a>
76
+ </li>
77
+ <li class="mw-breadcrumbs-item mw-breadcrumbs-current">
78
+ <a href="#" class="mw-breadcrumbs-active">
79
+ <span>Profile</span>
80
+ </a>
81
+ </li>
82
+ </ol>
83
+ </nav>
84
+ </div>
85
+
86
+ <div>
87
+ <h4 class="mw-mb-2">Long Path (Responsive Collapse)</h4>
88
+ <p class="mw-text-muted mw-text-sm mw-mt-1">
89
+ Middle items collapse on smaller screens.
90
+ </p>
91
+ <nav class="mw-breadcrumbs mw-breadcrumbs-collapse" aria-label="Breadcrumb">
92
+ <ol class="mw-breadcrumbs-list">
93
+ <li class="mw-breadcrumbs-item">
94
+ <a href="#">
95
+ <span>E-commerce</span>
96
+ </a>
97
+ </li>
98
+ <li class="mw-breadcrumbs-item">
99
+ <a href="#">
100
+ <span>Electronics</span>
101
+ </a>
102
+ </li>
103
+ <li class="mw-breadcrumbs-item">
104
+ <a href="#">
105
+ <span>Computers</span>
106
+ </a>
107
+ </li>
108
+ <li class="mw-breadcrumbs-item">
109
+ <a href="#">
110
+ <span>Laptops</span>
111
+ </a>
112
+ </li>
113
+ <li class="mw-breadcrumbs-item">
114
+ <a href="#">
115
+ <span>Gaming</span>
116
+ </a>
117
+ </li>
118
+ <li class="mw-breadcrumbs-item mw-breadcrumbs-current">
119
+ <a href="#" class="mw-breadcrumbs-active">
120
+ <span>RTX 4080</span>
121
+ </a>
122
+ </li>
123
+ </ol>
124
+ </nav>
125
+ </div>
126
+ </div>