maverick-wave 3.1.0 → 3.1.3
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/.claude/commands/mw.md +51 -34
- package/CHANGELOG.md +6 -0
- package/index.html +54 -52
- package/maverick-wave.min.css +1 -1
- package/package.json +1 -1
- package/src/partials/divider-container.html +48 -34
- package/src/partials/form-elements-container.html +0 -82
- package/src/partials/home-container.html +1 -1
- package/src/partials/item-lists-container.html +38 -38
- package/src/partials/modals-container.html +176 -54
- package/src/partials/panels-container.html +10 -35
- package/src/scss/abstracts/_variables.scss +19 -17
- package/src/scss/base/_reset.scss +15 -10
- package/src/scss/base/_typography.scss +13 -1
- package/src/scss/components/_accordions.scss +1 -1
- package/src/scss/components/_alerts.scss +2 -4
- package/src/scss/components/_avatars.scss +1 -1
- package/src/scss/components/_blog-post.scss +5 -5
- package/src/scss/components/_breadcrumbs.scss +2 -2
- package/src/scss/components/_buttons.scss +2 -2
- package/src/scss/components/_cards.scss +12 -16
- package/src/scss/components/_coming-soon.scss +4 -4
- package/src/scss/components/_content-slider.scss +2 -4
- package/src/scss/components/_divider.scss +4 -1
- package/src/scss/components/_empty-state.scss +9 -9
- package/src/scss/components/_gallery.scss +14 -13
- package/src/scss/components/_info.scss +6 -6
- package/src/scss/components/_lists.scss +29 -26
- package/src/scss/components/_meta-info.scss +1 -1
- package/src/scss/components/_modals.scss +4 -6
- package/src/scss/components/_pagination.scss +3 -2
- package/src/scss/components/_panels.scss +13 -7
- package/src/scss/components/_progress.scss +5 -4
- package/src/scss/components/_ratings.scss +2 -2
- package/src/scss/components/_skeleton.scss +6 -6
- package/src/scss/components/_spinners.scss +8 -8
- package/src/scss/components/_stepper.scss +6 -5
- package/src/scss/components/_tables.scss +4 -2
- package/src/scss/components/_tabs.scss +7 -6
- package/src/scss/components/_tags.scss +10 -3
- package/src/scss/components/_techstack-bucket.scss +12 -11
- package/src/scss/components/_theme-toggle.scss +4 -3
- package/src/scss/components/_tiles.scss +5 -5
- package/src/scss/components/_timelines.scss +130 -133
- package/src/scss/form-elements/_checkbox.scss +12 -27
- package/src/scss/form-elements/_form.scss +2 -2
- package/src/scss/form-elements/_input-group.scss +2 -2
- package/src/scss/form-elements/_input.scss +1 -5
- package/src/scss/form-elements/_login.scss +1 -1
- package/src/scss/form-elements/_radio.scss +4 -14
- package/src/scss/form-elements/_select.scss +3 -8
- package/src/scss/form-elements/_slider.scss +1 -18
- package/src/scss/form-elements/_textarea.scss +2 -7
- package/src/scss/form-elements/_toggle.scss +6 -6
- package/src/scss/layout/_footer.scss +8 -7
- package/src/scss/layout/_grid.scss +1 -3
- package/src/scss/layout/_header.scss +53 -141
- package/src/scss/layout/_home.scss +2 -2
- package/src/scss/layout/_section.scss +36 -2
- package/src/scss/utilities/_display.scss +4 -0
- package/src/scss/utilities/_flex.scss +8 -0
- package/src/scss/utilities/_spacing.scss +7 -5
package/.claude/commands/mw.md
CHANGED
|
@@ -68,10 +68,12 @@ Use the `mw-field` wrapper to group label + control + hint/error:
|
|
|
68
68
|
<label class="mw-field-label mw-required" for="email">Email</label>
|
|
69
69
|
<input id="email" type="email" class="mw-input" formControlName="email" />
|
|
70
70
|
<span class="mw-field-hint">Used for account notifications.</span>
|
|
71
|
-
|
|
71
|
+
@if (email.invalid && email.touched) {
|
|
72
|
+
<span class="mw-field-error">
|
|
72
73
|
<i class="fas fa-exclamation-circle"></i>
|
|
73
74
|
Please enter a valid email address.
|
|
74
75
|
</span>
|
|
76
|
+
}
|
|
75
77
|
</div>
|
|
76
78
|
```
|
|
77
79
|
|
|
@@ -85,7 +87,6 @@ Use the `mw-field` wrapper to group label + control + hint/error:
|
|
|
85
87
|
<input type="text" class="mw-input" />
|
|
86
88
|
<input type="text" class="mw-input mw-input-sm" />
|
|
87
89
|
<input type="text" class="mw-input mw-input-lg" />
|
|
88
|
-
<input type="text" class="mw-input mw-input-xl" />
|
|
89
90
|
```
|
|
90
91
|
|
|
91
92
|
### Input Group (prefix / suffix / button)
|
|
@@ -166,13 +167,18 @@ Use the `mw-field` wrapper to group label + control + hint/error:
|
|
|
166
167
|
<option value="" disabled selected>Choose...</option>
|
|
167
168
|
<option value="a">Option A</option>
|
|
168
169
|
</select>
|
|
170
|
+
|
|
171
|
+
<!-- Sizes: mw-select-sm / mw-select-lg -->
|
|
169
172
|
```
|
|
170
173
|
|
|
171
174
|
### Textarea
|
|
172
175
|
|
|
173
176
|
```html
|
|
174
177
|
<textarea class="mw-textarea" rows="4" placeholder="..."></textarea>
|
|
175
|
-
<textarea class="mw-textarea mw-textarea-
|
|
178
|
+
<textarea class="mw-textarea mw-textarea-sm"></textarea>
|
|
179
|
+
<textarea class="mw-textarea mw-textarea-lg"></textarea>
|
|
180
|
+
|
|
181
|
+
<!-- Resize variants: mw-textarea-resizable / mw-textarea-resizable-vertical / mw-textarea-resizable-horizontal -->
|
|
176
182
|
```
|
|
177
183
|
|
|
178
184
|
### Checkbox
|
|
@@ -185,7 +191,8 @@ Use the `mw-field` wrapper to group label + control + hint/error:
|
|
|
185
191
|
</label>
|
|
186
192
|
|
|
187
193
|
<!-- Color variants: mw-checkbox-primary / secondary / success / warning / danger / info -->
|
|
188
|
-
<!-- Size variants: mw-checkbox-sm / mw-checkbox-lg
|
|
194
|
+
<!-- Size variants: mw-checkbox-sm / mw-checkbox-lg -->
|
|
195
|
+
<!-- Disabled: add class mw-checkbox-disabled + disabled attr on input -->
|
|
189
196
|
```
|
|
190
197
|
|
|
191
198
|
### Radio
|
|
@@ -198,7 +205,8 @@ Use the `mw-field` wrapper to group label + control + hint/error:
|
|
|
198
205
|
</label>
|
|
199
206
|
|
|
200
207
|
<!-- Color variants: mw-radio-primary / secondary / success / warning / danger / info -->
|
|
201
|
-
<!-- Size variants: mw-radio-sm / mw-radio-lg
|
|
208
|
+
<!-- Size variants: mw-radio-sm / mw-radio-lg -->
|
|
209
|
+
<!-- Disabled: add class mw-radio-disabled + disabled attr on input -->
|
|
202
210
|
```
|
|
203
211
|
|
|
204
212
|
### Toggle Switch
|
|
@@ -222,9 +230,11 @@ Use the `mw-field` wrapper to group label + control + hint/error:
|
|
|
222
230
|
<label class="mw-field-label mw-required" for="name">Full Name</label>
|
|
223
231
|
<input id="name" type="text" class="mw-input" formControlName="name" />
|
|
224
232
|
<span class="mw-field-hint">As it appears on your ID.</span>
|
|
225
|
-
|
|
233
|
+
@if (name.invalid && name.touched) {
|
|
234
|
+
<span class="mw-field-error">
|
|
226
235
|
<i class="fas fa-exclamation-circle"></i> Name is required.
|
|
227
236
|
</span>
|
|
237
|
+
}
|
|
228
238
|
</div>
|
|
229
239
|
```
|
|
230
240
|
|
|
@@ -274,8 +284,8 @@ Use the `mw-field` wrapper to group label + control + hint/error:
|
|
|
274
284
|
<div class="mw-grid-4 mw-gap-4">...</div>
|
|
275
285
|
<!-- 4-col grid -->
|
|
276
286
|
|
|
277
|
-
<!-- Spacing: mw-mt-4, mw-mb-6, mw-mx-3, mw-
|
|
278
|
-
<!-- Gap
|
|
287
|
+
<!-- Spacing keys: -6 to 13 (e.g. mw-mt-4, mw-mb-6, mw-mx-3, mw-p-4, mw-px-6) -->
|
|
288
|
+
<!-- Gap keys: 0–13 (negative values are invalid for gap and not generated) -->
|
|
279
289
|
```
|
|
280
290
|
|
|
281
291
|
---
|
|
@@ -312,12 +322,14 @@ Use the `mw-field` wrapper to group label + control + hint/error:
|
|
|
312
322
|
<div class="mw-alert mw-alert-danger">Error message.</div>
|
|
313
323
|
|
|
314
324
|
<!-- Closable (handle dismiss in component) -->
|
|
315
|
-
|
|
325
|
+
@if (showAlert) {
|
|
326
|
+
<div class="mw-alert mw-alert-primary">
|
|
316
327
|
Message
|
|
317
328
|
<button class="mw-btn mw-btn-link" (click)="showAlert = false">
|
|
318
329
|
<i class="fas fa-times"></i>
|
|
319
330
|
</button>
|
|
320
331
|
</div>
|
|
332
|
+
}
|
|
321
333
|
```
|
|
322
334
|
|
|
323
335
|
---
|
|
@@ -334,12 +346,14 @@ Use the `mw-field` wrapper to group label + control + hint/error:
|
|
|
334
346
|
</tr>
|
|
335
347
|
</thead>
|
|
336
348
|
<tbody>
|
|
337
|
-
|
|
349
|
+
@for (item of items; track item.id) {
|
|
350
|
+
<tr>
|
|
338
351
|
<td>{{ item.name }}</td>
|
|
339
352
|
<td>
|
|
340
353
|
<span class="mw-tag mw-tag-success">Active</span>
|
|
341
354
|
</td>
|
|
342
355
|
</tr>
|
|
356
|
+
}
|
|
343
357
|
</tbody>
|
|
344
358
|
</table>
|
|
345
359
|
</div>
|
|
@@ -396,9 +410,11 @@ Use the `mw-field` wrapper to group label + control + hint/error:
|
|
|
396
410
|
<div class="mw-spinner mw-spinner-sm mw-spinner-secondary"></div>
|
|
397
411
|
|
|
398
412
|
<!-- With overlay (e.g., on async operations) -->
|
|
399
|
-
|
|
413
|
+
@if (isLoading) {
|
|
414
|
+
<div class="mw-spinner-overlay">
|
|
400
415
|
<div class="mw-spinner mw-spinner-primary"></div>
|
|
401
416
|
</div>
|
|
417
|
+
}
|
|
402
418
|
```
|
|
403
419
|
|
|
404
420
|
---
|
|
@@ -407,14 +423,17 @@ Use the `mw-field` wrapper to group label + control + hint/error:
|
|
|
407
423
|
|
|
408
424
|
```html
|
|
409
425
|
<!-- Show while data is loading -->
|
|
410
|
-
|
|
426
|
+
@if (isLoading) {
|
|
427
|
+
<div class="mw-skeleton-card">
|
|
411
428
|
<span class="mw-skeleton mw-skeleton-title"></span>
|
|
412
429
|
<span class="mw-skeleton mw-skeleton-text"></span>
|
|
413
430
|
<span class="mw-skeleton mw-skeleton-text"></span>
|
|
414
431
|
</div>
|
|
432
|
+
}
|
|
415
433
|
|
|
416
434
|
<!-- Avatar + text placeholder -->
|
|
417
|
-
|
|
435
|
+
@if (isLoading) {
|
|
436
|
+
<div class="mw-skeleton-card">
|
|
418
437
|
<div class="mw-skeleton-row">
|
|
419
438
|
<span class="mw-skeleton mw-skeleton-circle"></span>
|
|
420
439
|
<div class="mw-skeleton-body">
|
|
@@ -423,6 +442,7 @@ Use the `mw-field` wrapper to group label + control + hint/error:
|
|
|
423
442
|
</div>
|
|
424
443
|
</div>
|
|
425
444
|
</div>
|
|
445
|
+
}
|
|
426
446
|
```
|
|
427
447
|
|
|
428
448
|
---
|
|
@@ -505,6 +525,8 @@ Use the `mw-field` wrapper to group label + control + hint/error:
|
|
|
505
525
|
|
|
506
526
|
```typescript
|
|
507
527
|
// component.ts
|
|
528
|
+
private fb = inject(FormBuilder);
|
|
529
|
+
|
|
508
530
|
form = this.fb.group({
|
|
509
531
|
email: ['', [Validators.required, Validators.email]],
|
|
510
532
|
name: ['', Validators.required],
|
|
@@ -526,19 +548,16 @@ get email() { return this.form.get('email')!; }
|
|
|
526
548
|
<span class="mw-input-group-prefix"><i class="fas fa-envelope"></i></span>
|
|
527
549
|
<input id="email" type="email" class="mw-input" formControlName="email" />
|
|
528
550
|
</div>
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
*ngIf="email.errors?.['required'] && email.touched"
|
|
532
|
-
>
|
|
551
|
+
@if (email.errors?.['required'] && email.touched) {
|
|
552
|
+
<span class="mw-field-error">
|
|
533
553
|
<i class="fas fa-exclamation-circle"></i> Email is required.
|
|
534
554
|
</span>
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
*ngIf="email.errors?.['email'] && email.touched"
|
|
538
|
-
>
|
|
555
|
+
} @if (email.errors?.['email'] && email.touched) {
|
|
556
|
+
<span class="mw-field-error">
|
|
539
557
|
<i class="fas fa-exclamation-circle"></i> Please enter a valid email
|
|
540
558
|
address.
|
|
541
559
|
</span>
|
|
560
|
+
}
|
|
542
561
|
</div>
|
|
543
562
|
|
|
544
563
|
<div class="mw-field">
|
|
@@ -564,17 +583,15 @@ get email() { return this.form.get('email')!; }
|
|
|
564
583
|
### Loading state pattern
|
|
565
584
|
|
|
566
585
|
```html
|
|
567
|
-
|
|
568
|
-
<
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
<
|
|
574
|
-
<
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
</div>
|
|
579
|
-
</ng-template>
|
|
586
|
+
@if (!isLoading) {
|
|
587
|
+
<div class="mw-card mw-card-simple">
|
|
588
|
+
<!-- real content -->
|
|
589
|
+
</div>
|
|
590
|
+
} @else {
|
|
591
|
+
<div class="mw-skeleton-card">
|
|
592
|
+
<span class="mw-skeleton mw-skeleton-title"></span>
|
|
593
|
+
<span class="mw-skeleton mw-skeleton-text"></span>
|
|
594
|
+
<span class="mw-skeleton mw-skeleton-text"></span>
|
|
595
|
+
</div>
|
|
596
|
+
}
|
|
580
597
|
```
|
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,12 @@ Patch releases are only for test purposes - here I only document major and minor
|
|
|
6
6
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
7
7
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
8
8
|
|
|
9
|
+
## [3.2.0] - 2026-04-11
|
|
10
|
+
|
|
11
|
+
### Changed
|
|
12
|
+
|
|
13
|
+
- complete rework of spacing
|
|
14
|
+
|
|
9
15
|
## [3.1.0] - 2026-04-04
|
|
10
16
|
|
|
11
17
|
### Changed
|
package/index.html
CHANGED
|
@@ -154,14 +154,16 @@
|
|
|
154
154
|
<section id="foundations">
|
|
155
155
|
<div class="mw-container">
|
|
156
156
|
<h2 class="mw-section-title">Foundations</h2>
|
|
157
|
-
<
|
|
158
|
-
<a href="#typography" class="mw-btn">Typography</a>
|
|
159
|
-
<a href="#colors" class="mw-btn">Main Colors</a>
|
|
160
|
-
<a href="#utilities" class="mw-btn">Utilities</a>
|
|
161
|
-
<a href="#header-utilities" class="mw-btn"
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
157
|
+
<nav class="mw-section-nav">
|
|
158
|
+
<a href="#typography" class="mw-section-btn">Typography</a>
|
|
159
|
+
<a href="#colors" class="mw-section-btn">Main Colors</a>
|
|
160
|
+
<a href="#utilities" class="mw-section-btn">Utilities</a>
|
|
161
|
+
<a href="#header-utilities" class="mw-section-btn"
|
|
162
|
+
>Header Utilities</a
|
|
163
|
+
>
|
|
164
|
+
<a href="#coming-soon" class="mw-section-btn">Coming Soon Banner</a>
|
|
165
|
+
<a href="#divider" class="mw-section-btn">Divider</a>
|
|
166
|
+
</nav>
|
|
165
167
|
|
|
166
168
|
<!-- Typography container -->
|
|
167
169
|
<div id="typography">
|
|
@@ -199,19 +201,19 @@
|
|
|
199
201
|
<section id="layout" class="mw-section-alternate">
|
|
200
202
|
<div class="mw-container">
|
|
201
203
|
<h2 class="mw-section-title">Layout</h2>
|
|
202
|
-
<
|
|
203
|
-
<a href="#grid" class="mw-btn">Grid System</a>
|
|
204
|
-
<a href="#cards" class="mw-btn">Cards</a>
|
|
205
|
-
<a href="#panels" class="mw-btn">Panels</a>
|
|
206
|
-
<a href="#tabs" class="mw-btn">Tabs</a>
|
|
207
|
-
<a href="#accordions" class="mw-btn">Accordions</a>
|
|
208
|
-
<a href="#tiles" class="mw-btn">Tiles</a>
|
|
209
|
-
<a href="#breadcrumbs" class="mw-btn">Breadcrumbs</a>
|
|
210
|
-
<a href="#modals" class="mw-btn">Modals</a>
|
|
211
|
-
<a href="#html-lists" class="mw-btn">HTML Lists</a>
|
|
212
|
-
<a href="#item-lists" class="mw-btn">Item Lists</a>
|
|
213
|
-
<a href="#stepper" class="mw-btn">Stepper</a>
|
|
214
|
-
</
|
|
204
|
+
<nav class="mw-section-nav">
|
|
205
|
+
<a href="#grid" class="mw-section-btn">Grid System</a>
|
|
206
|
+
<a href="#cards" class="mw-section-btn">Cards</a>
|
|
207
|
+
<a href="#panels" class="mw-section-btn">Panels</a>
|
|
208
|
+
<a href="#tabs" class="mw-section-btn">Tabs</a>
|
|
209
|
+
<a href="#accordions" class="mw-section-btn">Accordions</a>
|
|
210
|
+
<a href="#tiles" class="mw-section-btn">Tiles</a>
|
|
211
|
+
<a href="#breadcrumbs" class="mw-section-btn">Breadcrumbs</a>
|
|
212
|
+
<a href="#modals" class="mw-section-btn">Modals</a>
|
|
213
|
+
<a href="#html-lists" class="mw-section-btn">HTML Lists</a>
|
|
214
|
+
<a href="#item-lists" class="mw-section-btn">Item Lists</a>
|
|
215
|
+
<a href="#stepper" class="mw-section-btn">Stepper</a>
|
|
216
|
+
</nav>
|
|
215
217
|
|
|
216
218
|
<!-- Grid container -->
|
|
217
219
|
<div id="grid">@@include('./src/partials/grid-container.html')</div>
|
|
@@ -266,20 +268,20 @@
|
|
|
266
268
|
<section id="components">
|
|
267
269
|
<div class="mw-container">
|
|
268
270
|
<h2 class="mw-section-title">Components</h2>
|
|
269
|
-
<
|
|
270
|
-
<a href="#buttons" class="mw-btn">Buttons</a>
|
|
271
|
-
<a href="#button-bar" class="mw-btn">Button Bar</a>
|
|
272
|
-
<a href="#progress" class="mw-btn">Progress Bars</a>
|
|
273
|
-
<a href="#spinners" class="mw-btn">Loading Spinners</a>
|
|
274
|
-
<a href="#avatars" class="mw-btn">Avatars</a>
|
|
275
|
-
<a href="#tags" class="mw-btn">Tags</a>
|
|
276
|
-
<a href="#ratings" class="mw-btn">Ratings</a>
|
|
277
|
-
<a href="#info" class="mw-btn">Info</a>
|
|
278
|
-
<a href="#alerts" class="mw-btn">Alerts</a>
|
|
279
|
-
<a href="#code" class="mw-btn">Code</a>
|
|
280
|
-
<a href="#skeleton" class="mw-btn">Skeleton</a>
|
|
281
|
-
<a href="#empty-state" class="mw-btn">Empty State</a>
|
|
282
|
-
</
|
|
271
|
+
<nav class="mw-section-nav">
|
|
272
|
+
<a href="#buttons" class="mw-section-btn">Buttons</a>
|
|
273
|
+
<a href="#button-bar" class="mw-section-btn">Button Bar</a>
|
|
274
|
+
<a href="#progress" class="mw-section-btn">Progress Bars</a>
|
|
275
|
+
<a href="#spinners" class="mw-section-btn">Loading Spinners</a>
|
|
276
|
+
<a href="#avatars" class="mw-section-btn">Avatars</a>
|
|
277
|
+
<a href="#tags" class="mw-section-btn">Tags</a>
|
|
278
|
+
<a href="#ratings" class="mw-section-btn">Ratings</a>
|
|
279
|
+
<a href="#info" class="mw-section-btn">Info</a>
|
|
280
|
+
<a href="#alerts" class="mw-section-btn">Alerts</a>
|
|
281
|
+
<a href="#code" class="mw-section-btn">Code</a>
|
|
282
|
+
<a href="#skeleton" class="mw-section-btn">Skeleton</a>
|
|
283
|
+
<a href="#empty-state" class="mw-section-btn">Empty State</a>
|
|
284
|
+
</nav>
|
|
283
285
|
|
|
284
286
|
<!-- Buttons container -->
|
|
285
287
|
<div id="buttons">
|
|
@@ -341,13 +343,13 @@
|
|
|
341
343
|
<section id="forms" class="mw-section-alternate">
|
|
342
344
|
<div class="mw-container">
|
|
343
345
|
<h2 class="mw-section-title">Forms</h2>
|
|
344
|
-
<
|
|
345
|
-
<a href="#form-elements" class="mw-btn">Form Elements</a>
|
|
346
|
-
<a href="#input-group" class="mw-btn">Input Group</a>
|
|
347
|
-
<a href="#form-field" class="mw-btn">Field Pattern</a>
|
|
348
|
-
<a href="#form" class="mw-btn">Form</a>
|
|
349
|
-
<a href="#login" class="mw-btn">Login</a>
|
|
350
|
-
</
|
|
346
|
+
<nav class="mw-section-nav">
|
|
347
|
+
<a href="#form-elements" class="mw-section-btn">Form Elements</a>
|
|
348
|
+
<a href="#input-group" class="mw-section-btn">Input Group</a>
|
|
349
|
+
<a href="#form-field" class="mw-section-btn">Field Pattern</a>
|
|
350
|
+
<a href="#form" class="mw-section-btn">Form</a>
|
|
351
|
+
<a href="#login" class="mw-section-btn">Login</a>
|
|
352
|
+
</nav>
|
|
351
353
|
|
|
352
354
|
<!-- Form elements container -->
|
|
353
355
|
<div id="form-elements">
|
|
@@ -376,18 +378,18 @@
|
|
|
376
378
|
<section id="data-display">
|
|
377
379
|
<div class="mw-container">
|
|
378
380
|
<h2 class="mw-section-title">Data & Display</h2>
|
|
379
|
-
<
|
|
380
|
-
<a href="#meta-info" class="mw-btn">Meta Info</a>
|
|
381
|
-
<a href="#tables" class="mw-btn">Tables</a>
|
|
382
|
-
<a href="#pagination" class="mw-btn">Pagination</a>
|
|
383
|
-
<a href="#timelines" class="mw-btn">Timelines</a>
|
|
384
|
-
<a href="#gallery" class="mw-btn">Image Gallery</a>
|
|
385
|
-
<a href="#techstack-bucket" class="mw-btn"
|
|
381
|
+
<nav class="mw-section-nav">
|
|
382
|
+
<a href="#meta-info" class="mw-section-btn">Meta Info</a>
|
|
383
|
+
<a href="#tables" class="mw-section-btn">Tables</a>
|
|
384
|
+
<a href="#pagination" class="mw-section-btn">Pagination</a>
|
|
385
|
+
<a href="#timelines" class="mw-section-btn">Timelines</a>
|
|
386
|
+
<a href="#gallery" class="mw-section-btn">Image Gallery</a>
|
|
387
|
+
<a href="#techstack-bucket" class="mw-section-btn"
|
|
386
388
|
>Technology Stack Bucket</a
|
|
387
389
|
>
|
|
388
|
-
<a href="#content-slider" class="mw-btn">Content Slider</a>
|
|
389
|
-
<a href="#blog-posts" class="mw-btn">Blog Posts</a>
|
|
390
|
-
</
|
|
390
|
+
<a href="#content-slider" class="mw-section-btn">Content Slider</a>
|
|
391
|
+
<a href="#blog-posts" class="mw-section-btn">Blog Posts</a>
|
|
392
|
+
</nav>
|
|
391
393
|
|
|
392
394
|
<!-- Meta Info container -->
|
|
393
395
|
<div id="meta-info">
|