maverick-wave 5.30.0 → 5.32.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.
- package/README.md +2 -2
- package/maverick-wave.min.css +2 -2
- package/package.json +8 -2
- package/src/scss/abstracts/_variables.scss +2 -0
- package/src/scss/components/_modals.scss +23 -9
- package/src/scss/components/_testimonial.scss +2 -0
- package/src/scss/layout/_home.scss +46 -0
- package/src/scss/layout/_main.scss +20 -0
- package/src/scss/layout/_parallax.scss +2 -2
- package/src/scss/main-lean.scss +8 -3
- package/.claude/settings.local.json +0 -43
- package/.claude/skills/mw-maverick-wave/SKILL.md +0 -532
- package/.claude/skills/mw-maverick-wave/examples/angular-form.md +0 -279
- package/.claude/skills/mw-maverick-wave/examples/angular-list-page.md +0 -309
- package/.claude/skills/mw-maverick-wave/examples/angular-services.md +0 -538
- package/.claude/skills/mw-maverick-wave/examples/static-landing-page.md +0 -530
- package/.claude/skills/mw-maverick-wave/references/components.md +0 -2170
- package/.claude/skills/mw-maverick-wave/references/forms.md +0 -358
- package/.claude/skills/mw-maverick-wave/references/javascript.md +0 -164
- package/.claude/skills/mw-maverick-wave/references/layout.md +0 -764
- package/.claude/skills/mw-maverick-wave/references/theming.md +0 -530
- package/.github/workflows/ci.yml +0 -41
- package/.idea/codeStyles/Project.xml +0 -59
- package/.idea/codeStyles/codeStyleConfig.xml +0 -5
- package/.idea/maverick-wave.iml +0 -12
- package/.idea/modules.xml +0 -8
- package/.idea/prettier.xml +0 -6
- package/.idea/vcs.xml +0 -6
- package/.prettierignore +0 -8
- package/.prettierrc.json +0 -7
- package/CHANGELOG.md +0 -956
- package/CLAUDE.md +0 -60
- package/gulpfile.js +0 -167
- package/index.html +0 -1730
- package/release.sh +0 -31
- package/scripts/verify.js +0 -252
- package/src/assets/favicon/apple-touch-icon.png +0 -0
- package/src/assets/favicon/favicon-96x96.png +0 -0
- package/src/assets/favicon/favicon.svg +0 -1
- package/src/assets/favicon/site.webmanifest +0 -37
- package/src/assets/favicon/web-app-manifest-192x192.png +0 -0
- package/src/assets/favicon/web-app-manifest-512x512.png +0 -0
- package/src/assets/favicon.ico +0 -0
- package/src/assets/header-logo.svg +0 -24
- package/src/assets/images/gallery-city.svg +0 -49
- package/src/assets/images/gallery-desert.svg +0 -25
- package/src/assets/images/gallery-forest.svg +0 -46
- package/src/assets/images/gallery-lake.svg +0 -26
- package/src/assets/images/gallery-mountain.svg +0 -19
- package/src/assets/images/gallery-ocean.svg +0 -26
- package/src/assets/images/gallery-oldtown.svg +0 -41
- package/src/assets/images/gallery-snow.svg +0 -39
- package/src/assets/images/photo-balloon.svg +0 -35
- package/src/assets/images/photo-forest-path.svg +0 -31
- package/src/assets/images/photo-lighthouse.svg +0 -42
- package/src/assets/images/photo-palm.svg +0 -27
- package/src/assets/images/photo-peak.svg +0 -27
- package/src/assets/images/photo-tower.svg +0 -34
- package/src/assets/images/photo-waterfall.svg +0 -32
- package/src/assets/images/slider-field.svg +0 -124
- package/src/assets/images/slider-forest.svg +0 -33
- package/src/assets/images/slider-lake.svg +0 -35
- package/src/assets/images/slider-mountains.svg +0 -29
- package/src/assets/images/slider-trees.svg +0 -41
- package/src/assets/images/story-aurora.svg +0 -36
- package/src/assets/images/story-beach.svg +0 -34
- package/src/assets/images/story-stars.svg +0 -35
- package/src/assets/images/tile-analytics.svg +0 -22
- package/src/assets/images/tile-cloud.svg +0 -19
- package/src/assets/images/tile-ecommerce.svg +0 -14
- package/src/assets/images/tile-enterprise.svg +0 -22
- package/src/assets/images/tile-marketing.svg +0 -16
- package/src/assets/media/demo-chime.wav +0 -0
- package/src/assets/media/story-sunrise.jpg +0 -0
- package/src/assets/media/story-sunrise.mp4 +0 -0
- package/src/partials/accordions-container.html +0 -179
- package/src/partials/alerts-container.html +0 -151
- package/src/partials/announcement-container.html +0 -67
- package/src/partials/avatars-container.html +0 -229
- package/src/partials/badges-container.html +0 -114
- package/src/partials/blog-posts-container.html +0 -158
- package/src/partials/breadcrumbs-container.html +0 -126
- package/src/partials/button-bar-container.html +0 -175
- package/src/partials/buttons-container.html +0 -272
- package/src/partials/calendar-container.html +0 -203
- package/src/partials/cards-container.html +0 -727
- package/src/partials/code-container.html +0 -194
- package/src/partials/colors-container.html +0 -263
- package/src/partials/coming-soon-container.html +0 -10
- package/src/partials/contact-container.html +0 -85
- package/src/partials/content-slider-container.html +0 -36
- package/src/partials/divider-container.html +0 -70
- package/src/partials/documentation-container.html +0 -204
- package/src/partials/dropdown-container.html +0 -119
- package/src/partials/empty-state-container.html +0 -79
- package/src/partials/feed-container.html +0 -506
- package/src/partials/footer-container.html +0 -113
- package/src/partials/form-container.html +0 -262
- package/src/partials/form-elements-container.html +0 -616
- package/src/partials/form-field-container.html +0 -166
- package/src/partials/gallery-container.html +0 -62
- package/src/partials/get-started-container.html +0 -423
- package/src/partials/grid-container.html +0 -191
- package/src/partials/header-container.html +0 -69
- package/src/partials/header-utilities-container.html +0 -331
- package/src/partials/highlights-container.html +0 -71
- package/src/partials/history-container.html +0 -67
- package/src/partials/home-container.html +0 -31
- package/src/partials/html-lists-container.html +0 -63
- package/src/partials/info-container.html +0 -104
- package/src/partials/input-group-container.html +0 -299
- package/src/partials/item-lists-container.html +0 -368
- package/src/partials/kanban-container.html +0 -459
- package/src/partials/kbd-container.html +0 -63
- package/src/partials/leader-row-container.html +0 -139
- package/src/partials/login-container.html +0 -65
- package/src/partials/lunch-menu-container.html +0 -341
- package/src/partials/media-container.html +0 -27
- package/src/partials/meta-info-container.html +0 -21
- package/src/partials/modals-container.html +0 -199
- package/src/partials/mosaic-container.html +0 -173
- package/src/partials/page-header-container.html +0 -78
- package/src/partials/pagination-container.html +0 -64
- package/src/partials/palette-container.html +0 -480
- package/src/partials/panels-container.html +0 -126
- package/src/partials/parallax-container.html +0 -147
- package/src/partials/portrait-gallery-container.html +0 -175
- package/src/partials/preview-container.html +0 -136
- package/src/partials/pricing-container.html +0 -523
- package/src/partials/progress-container.html +0 -230
- package/src/partials/prose-container.html +0 -43
- package/src/partials/ratings-container.html +0 -104
- package/src/partials/section-head-container.html +0 -77
- package/src/partials/segmented-container.html +0 -66
- package/src/partials/skeleton-container.html +0 -87
- package/src/partials/spinners-container.html +0 -96
- package/src/partials/stepper-container.html +0 -111
- package/src/partials/stories-container.html +0 -182
- package/src/partials/tables-container.html +0 -309
- package/src/partials/tabs-container.html +0 -290
- package/src/partials/tags-container.html +0 -242
- package/src/partials/techstack-bucket-container.html +0 -187
- package/src/partials/testimonials-container.html +0 -88
- package/src/partials/tiles-container.html +0 -247
- package/src/partials/timelines-container.html +0 -196
- package/src/partials/typography-container.html +0 -74
- package/src/partials/utilities-container.html +0 -553
|
@@ -1,175 +0,0 @@
|
|
|
1
|
-
<h3 class="mw-section-subtitle">Button Bars</h3>
|
|
2
|
-
<p class="mw-text-muted mw-text-measure">
|
|
3
|
-
A framed row of actions. Below 576px it stacks and every button takes the full
|
|
4
|
-
width. The colour variants style whatever is inside them, so a bar of five
|
|
5
|
-
buttons needs one class rather than five.
|
|
6
|
-
</p>
|
|
7
|
-
|
|
8
|
-
<div class="mw-grid-stack-stretch">
|
|
9
|
-
<div>
|
|
10
|
-
<h3 class="mw-mb-4">Basic Button Bar</h3>
|
|
11
|
-
<div class="mw-button-bar">
|
|
12
|
-
<button class="mw-btn mw-btn-primary">Previous Post</button>
|
|
13
|
-
<button class="mw-btn mw-btn-primary">Back to Main</button>
|
|
14
|
-
<button class="mw-btn mw-btn-primary">Next Post</button>
|
|
15
|
-
<button class="mw-btn mw-btn-primary">Next Post</button>
|
|
16
|
-
<button class="mw-btn mw-btn-primary">Next Post</button>
|
|
17
|
-
<button class="mw-btn mw-btn-primary">Next Post</button>
|
|
18
|
-
<button class="mw-btn mw-btn-primary">Next Post</button>
|
|
19
|
-
<button class="mw-btn mw-btn-primary">Next Post</button>
|
|
20
|
-
<button class="mw-btn mw-btn-primary">Next Post</button>
|
|
21
|
-
<button class="mw-btn mw-btn-primary">Next Post</button>
|
|
22
|
-
</div>
|
|
23
|
-
</div>
|
|
24
|
-
|
|
25
|
-
<div>
|
|
26
|
-
<h3 class="mw-mb-4">Auto-styled Primary Button Bar</h3>
|
|
27
|
-
<div class="mw-button-bar mw-button-bar-primary">
|
|
28
|
-
<button class="mw-btn">Previous Post</button>
|
|
29
|
-
<button class="mw-btn">Back to Main</button>
|
|
30
|
-
<button class="mw-btn">Next Post</button>
|
|
31
|
-
</div>
|
|
32
|
-
</div>
|
|
33
|
-
|
|
34
|
-
<div>
|
|
35
|
-
<h3 class="mw-mb-4">Auto-styled Secondary Button Bar</h3>
|
|
36
|
-
<div class="mw-button-bar mw-button-bar-secondary">
|
|
37
|
-
<button class="mw-btn">Previous Post</button>
|
|
38
|
-
<button class="mw-btn">Back to Main</button>
|
|
39
|
-
<button class="mw-btn">Next Post</button>
|
|
40
|
-
</div>
|
|
41
|
-
</div>
|
|
42
|
-
|
|
43
|
-
<div>
|
|
44
|
-
<h3 class="mw-mb-4">Outline Button Bar</h3>
|
|
45
|
-
<div class="mw-button-bar mw-button-bar-outline">
|
|
46
|
-
<button class="mw-btn">Previous Post</button>
|
|
47
|
-
<button class="mw-btn">Back to Main</button>
|
|
48
|
-
<button class="mw-btn">Next Post</button>
|
|
49
|
-
</div>
|
|
50
|
-
</div>
|
|
51
|
-
|
|
52
|
-
<div>
|
|
53
|
-
<h3 class="mw-mb-4">Navigation Style (Mixed Buttons)</h3>
|
|
54
|
-
<div class="mw-button-bar mw-button-bar-nav">
|
|
55
|
-
<button class="mw-btn"><i class="fas fa-arrow-left"></i>Previous</button>
|
|
56
|
-
<button class="mw-btn">Back to Main</button>
|
|
57
|
-
<button class="mw-btn">Next<i class="fas fa-arrow-right"></i></button>
|
|
58
|
-
</div>
|
|
59
|
-
</div>
|
|
60
|
-
|
|
61
|
-
<div>
|
|
62
|
-
<h3 class="mw-mb-4">Space Between Layout</h3>
|
|
63
|
-
<div class="mw-button-bar mw-button-bar-between">
|
|
64
|
-
<button class="mw-btn mw-btn-outline">
|
|
65
|
-
<i class="fas fa-arrow-left"></i>Previous
|
|
66
|
-
</button>
|
|
67
|
-
<button class="mw-btn mw-btn-primary">Main</button>
|
|
68
|
-
<button class="mw-btn mw-btn-outline">
|
|
69
|
-
Next<i class="fas fa-arrow-right"></i>
|
|
70
|
-
</button>
|
|
71
|
-
</div>
|
|
72
|
-
</div>
|
|
73
|
-
|
|
74
|
-
<div>
|
|
75
|
-
<h3 class="mw-mb-4">Button Bar Alignments</h3>
|
|
76
|
-
<div class="mw-d-flex mw-flex-column mw-gap-4">
|
|
77
|
-
<div>
|
|
78
|
-
<p class="mw-mb-2"><strong>Left Aligned:</strong></p>
|
|
79
|
-
<div class="mw-button-bar mw-button-bar-left mw-button-bar-primary">
|
|
80
|
-
<button class="mw-btn">Left</button>
|
|
81
|
-
<button class="mw-btn">Center</button>
|
|
82
|
-
<button class="mw-btn">Right</button>
|
|
83
|
-
</div>
|
|
84
|
-
</div>
|
|
85
|
-
<div>
|
|
86
|
-
<p class="mw-mb-2"><strong>Right Aligned:</strong></p>
|
|
87
|
-
<div class="mw-button-bar mw-button-bar-right mw-button-bar-secondary">
|
|
88
|
-
<button class="mw-btn">Left</button>
|
|
89
|
-
<button class="mw-btn">Center</button>
|
|
90
|
-
<button class="mw-btn">Right</button>
|
|
91
|
-
</div>
|
|
92
|
-
</div>
|
|
93
|
-
<div>
|
|
94
|
-
<p class="mw-mb-2">
|
|
95
|
-
<strong>Center Aligned (also the default):</strong>
|
|
96
|
-
</p>
|
|
97
|
-
<div class="mw-button-bar mw-button-bar-center mw-button-bar-outline">
|
|
98
|
-
<button class="mw-btn">Left</button>
|
|
99
|
-
<button class="mw-btn">Center</button>
|
|
100
|
-
<button class="mw-btn">Right</button>
|
|
101
|
-
</div>
|
|
102
|
-
</div>
|
|
103
|
-
</div>
|
|
104
|
-
</div>
|
|
105
|
-
|
|
106
|
-
<div>
|
|
107
|
-
<h3 class="mw-mb-4">Button Bar Sizes</h3>
|
|
108
|
-
<div class="mw-d-flex mw-flex-column mw-gap-4">
|
|
109
|
-
<div>
|
|
110
|
-
<p class="mw-mb-2"><strong>Small:</strong></p>
|
|
111
|
-
<div class="mw-button-bar mw-button-bar-sm mw-button-bar-secondary">
|
|
112
|
-
<button class="mw-btn mw-btn-sm">Prev</button>
|
|
113
|
-
<button class="mw-btn mw-btn-sm">Main</button>
|
|
114
|
-
<button class="mw-btn mw-btn-sm">Next</button>
|
|
115
|
-
</div>
|
|
116
|
-
</div>
|
|
117
|
-
<div>
|
|
118
|
-
<p class="mw-mb-2"><strong>Default:</strong></p>
|
|
119
|
-
<div class="mw-button-bar mw-button-bar-primary">
|
|
120
|
-
<button class="mw-btn">Previous</button>
|
|
121
|
-
<button class="mw-btn">Main</button>
|
|
122
|
-
<button class="mw-btn">Next</button>
|
|
123
|
-
</div>
|
|
124
|
-
</div>
|
|
125
|
-
<div>
|
|
126
|
-
<p class="mw-mb-2"><strong>Large:</strong></p>
|
|
127
|
-
<div class="mw-button-bar mw-button-bar-lg mw-button-bar-primary">
|
|
128
|
-
<button class="mw-btn">Previous</button>
|
|
129
|
-
<button class="mw-btn">Main</button>
|
|
130
|
-
<button class="mw-btn">Next</button>
|
|
131
|
-
</div>
|
|
132
|
-
</div>
|
|
133
|
-
</div>
|
|
134
|
-
</div>
|
|
135
|
-
|
|
136
|
-
<div>
|
|
137
|
-
<h3 class="mw-mb-4">Button Bars with Icons</h3>
|
|
138
|
-
<div class="mw-d-flex mw-flex-column mw-gap-4">
|
|
139
|
-
<div>
|
|
140
|
-
<p class="mw-mb-2"><strong>Navigation with Icons:</strong></p>
|
|
141
|
-
<div class="mw-button-bar mw-button-bar-nav">
|
|
142
|
-
<button class="mw-btn">
|
|
143
|
-
<i class="fas fa-arrow-left"></i>
|
|
144
|
-
Previous Post
|
|
145
|
-
</button>
|
|
146
|
-
<button class="mw-btn">
|
|
147
|
-
<i class="fas fa-home"></i>
|
|
148
|
-
Back to Main
|
|
149
|
-
</button>
|
|
150
|
-
<button class="mw-btn">
|
|
151
|
-
Next Post
|
|
152
|
-
<i class="fas fa-arrow-right"></i>
|
|
153
|
-
</button>
|
|
154
|
-
</div>
|
|
155
|
-
</div>
|
|
156
|
-
<div>
|
|
157
|
-
<p class="mw-mb-2"><strong>Action Buttons:</strong></p>
|
|
158
|
-
<div class="mw-button-bar mw-button-bar-primary">
|
|
159
|
-
<button class="mw-btn">
|
|
160
|
-
<i class="fas fa-save"></i>
|
|
161
|
-
Save Draft
|
|
162
|
-
</button>
|
|
163
|
-
<button class="mw-btn">
|
|
164
|
-
<i class="fas fa-eye"></i>
|
|
165
|
-
Preview
|
|
166
|
-
</button>
|
|
167
|
-
<button class="mw-btn">
|
|
168
|
-
<i class="fas fa-upload"></i>
|
|
169
|
-
Publish
|
|
170
|
-
</button>
|
|
171
|
-
</div>
|
|
172
|
-
</div>
|
|
173
|
-
</div>
|
|
174
|
-
</div>
|
|
175
|
-
</div>
|
|
@@ -1,272 +0,0 @@
|
|
|
1
|
-
<h3 class="mw-section-subtitle">Buttons</h3>
|
|
2
|
-
<p class="mw-text-muted mw-text-measure">
|
|
3
|
-
Three emphasis levels: primary fills, outline draws a line, ghost does neither
|
|
4
|
-
until you point at it. Every variant dips a pixel when pressed - on touch that
|
|
5
|
-
press is the only feedback there is.
|
|
6
|
-
</p>
|
|
7
|
-
|
|
8
|
-
<div class="mw-grid-1">
|
|
9
|
-
<div>
|
|
10
|
-
<h3 class="mw-mb-4">Button Styles</h3>
|
|
11
|
-
<div class="mw-card mw-card-simple">
|
|
12
|
-
<div class="mw-d-flex mw-flex-wrap mw-items-center mw-gap-4">
|
|
13
|
-
<button type="button" class="mw-btn mw-btn-primary">
|
|
14
|
-
Primary Button
|
|
15
|
-
</button>
|
|
16
|
-
<button type="button" class="mw-btn mw-btn-secondary">
|
|
17
|
-
Secondary Button
|
|
18
|
-
</button>
|
|
19
|
-
<button type="button" class="mw-btn mw-btn-danger">
|
|
20
|
-
Danger Button
|
|
21
|
-
</button>
|
|
22
|
-
<button type="button" class="mw-btn mw-btn-success">
|
|
23
|
-
Success Button
|
|
24
|
-
</button>
|
|
25
|
-
<button type="button" class="mw-btn mw-btn-outline">
|
|
26
|
-
Outline Button
|
|
27
|
-
</button>
|
|
28
|
-
<button type="button" class="mw-btn mw-btn-link">Link Button</button>
|
|
29
|
-
<button type="button" class="mw-btn mw-btn-link-muted">
|
|
30
|
-
Link Muted
|
|
31
|
-
</button>
|
|
32
|
-
<button type="button" class="mw-btn mw-btn-primary" disabled>
|
|
33
|
-
Primary Button Disabled
|
|
34
|
-
</button>
|
|
35
|
-
</div>
|
|
36
|
-
</div>
|
|
37
|
-
</div>
|
|
38
|
-
|
|
39
|
-
<div>
|
|
40
|
-
<h3 class="mw-mb-4">Ghost, Icon & Block</h3>
|
|
41
|
-
<div class="mw-card mw-card-simple mw-grid-1 mw-gap-6">
|
|
42
|
-
<div>
|
|
43
|
-
<h4 class="mw-text-medium mw-mb-2">Ghost</h4>
|
|
44
|
-
<div class="mw-d-flex mw-flex-wrap mw-items-center mw-gap-3">
|
|
45
|
-
<button type="button" class="mw-btn mw-btn-ghost">Rename</button>
|
|
46
|
-
<button type="button" class="mw-btn mw-btn-ghost mw-active">
|
|
47
|
-
Selected
|
|
48
|
-
</button>
|
|
49
|
-
<button type="button" class="mw-btn mw-btn-ghost mw-btn-ghost-danger">
|
|
50
|
-
Remove
|
|
51
|
-
</button>
|
|
52
|
-
</div>
|
|
53
|
-
<p class="mw-text-muted mw-text-sm mw-mt-3 mw-mb-0">
|
|
54
|
-
The third emphasis level: primary fills, outline draws a line, ghost
|
|
55
|
-
does neither until you point at it. For a toolbar or a card's own
|
|
56
|
-
actions, where five outlined boxes would fight the content under them.
|
|
57
|
-
Not <code>mw-btn-plain</code> - this keeps the shape, the padding and
|
|
58
|
-
the hit area, it just does not paint them at rest.
|
|
59
|
-
</p>
|
|
60
|
-
</div>
|
|
61
|
-
<div>
|
|
62
|
-
<h4 class="mw-text-medium mw-mb-2">Icon only</h4>
|
|
63
|
-
<div class="mw-d-flex mw-flex-wrap mw-items-center mw-gap-3">
|
|
64
|
-
<button
|
|
65
|
-
type="button"
|
|
66
|
-
class="mw-btn mw-btn-ghost mw-btn-icon mw-btn-sm"
|
|
67
|
-
aria-label="Edit"
|
|
68
|
-
data-tooltip="Edit"
|
|
69
|
-
>
|
|
70
|
-
<i class="fas fa-pen"></i>
|
|
71
|
-
</button>
|
|
72
|
-
<button
|
|
73
|
-
type="button"
|
|
74
|
-
class="mw-btn mw-btn-ghost mw-btn-icon"
|
|
75
|
-
aria-label="Duplicate"
|
|
76
|
-
data-tooltip="Duplicate"
|
|
77
|
-
>
|
|
78
|
-
<i class="fas fa-copy"></i>
|
|
79
|
-
</button>
|
|
80
|
-
<button
|
|
81
|
-
type="button"
|
|
82
|
-
class="mw-btn mw-btn-outline mw-btn-icon"
|
|
83
|
-
aria-label="Share"
|
|
84
|
-
data-tooltip="Share"
|
|
85
|
-
>
|
|
86
|
-
<i class="fas fa-share"></i>
|
|
87
|
-
</button>
|
|
88
|
-
<button
|
|
89
|
-
type="button"
|
|
90
|
-
class="mw-btn mw-btn-primary mw-btn-icon mw-btn-lg"
|
|
91
|
-
aria-label="Add"
|
|
92
|
-
data-tooltip="Add"
|
|
93
|
-
>
|
|
94
|
-
<i class="fas fa-plus"></i>
|
|
95
|
-
</button>
|
|
96
|
-
</div>
|
|
97
|
-
<p class="mw-text-muted mw-text-sm mw-mt-3 mw-mb-0">
|
|
98
|
-
<code>mw-btn-icon</code> makes the button square. Without it the
|
|
99
|
-
horizontal padding is the only thing setting the width, so an icon
|
|
100
|
-
button ends up wider than it is tall and a row of them lines up on
|
|
101
|
-
nothing. It always needs an <code>aria-label</code> - there is no text
|
|
102
|
-
to read out.
|
|
103
|
-
</p>
|
|
104
|
-
</div>
|
|
105
|
-
<div>
|
|
106
|
-
<h4 class="mw-text-medium mw-mb-2">Block</h4>
|
|
107
|
-
<button type="button" class="mw-btn mw-btn-primary mw-btn-block">
|
|
108
|
-
Sign in
|
|
109
|
-
</button>
|
|
110
|
-
<p class="mw-text-muted mw-text-sm mw-mt-3 mw-mb-0">
|
|
111
|
-
<code>mw-btn-block</code> takes the full width - the one action on a
|
|
112
|
-
sheet, a sign-in form, a narrow sidebar.
|
|
113
|
-
</p>
|
|
114
|
-
</div>
|
|
115
|
-
</div>
|
|
116
|
-
</div>
|
|
117
|
-
|
|
118
|
-
<div>
|
|
119
|
-
<h3 class="mw-mb-4">Button Sizes</h3>
|
|
120
|
-
<div class="mw-card mw-card-simple">
|
|
121
|
-
<div class="mw-d-flex mw-flex-wrap mw-items-center mw-gap-4">
|
|
122
|
-
<button type="button" class="mw-btn mw-btn-primary mw-btn-sm">
|
|
123
|
-
Small Button
|
|
124
|
-
</button>
|
|
125
|
-
<button type="button" class="mw-btn mw-btn-primary">
|
|
126
|
-
Default Button
|
|
127
|
-
</button>
|
|
128
|
-
<button type="button" class="mw-btn mw-btn-primary mw-btn-lg">
|
|
129
|
-
Large Button
|
|
130
|
-
</button>
|
|
131
|
-
</div>
|
|
132
|
-
</div>
|
|
133
|
-
</div>
|
|
134
|
-
|
|
135
|
-
<div>
|
|
136
|
-
<h3 class="mw-mb-4">Buttons with Icons</h3>
|
|
137
|
-
<div class="mw-card mw-card-simple">
|
|
138
|
-
<div class="mw-d-flex mw-flex-wrap mw-items-center mw-gap-4">
|
|
139
|
-
<button type="button" class="mw-btn mw-btn-primary">
|
|
140
|
-
<i class="fas fa-save"></i>
|
|
141
|
-
Save Changes
|
|
142
|
-
</button>
|
|
143
|
-
|
|
144
|
-
<button type="button" class="mw-btn mw-btn-secondary">
|
|
145
|
-
<i class="fas fa-plus"></i>
|
|
146
|
-
Add Item
|
|
147
|
-
</button>
|
|
148
|
-
|
|
149
|
-
<button type="button" href="#" class="mw-btn mw-btn-outline">
|
|
150
|
-
<i class="fas fa-arrow-left"></i>
|
|
151
|
-
Go Back
|
|
152
|
-
</button>
|
|
153
|
-
|
|
154
|
-
<button type="button" class="mw-btn mw-btn-primary mw-btn-sm">
|
|
155
|
-
<i class="fas fa-check"></i>
|
|
156
|
-
OK
|
|
157
|
-
</button>
|
|
158
|
-
|
|
159
|
-
<button type="button" class="mw-btn mw-btn-outline mw-btn-lg">
|
|
160
|
-
<i class="fas fa-upload"></i>
|
|
161
|
-
Upload File
|
|
162
|
-
</button>
|
|
163
|
-
</div>
|
|
164
|
-
</div>
|
|
165
|
-
</div>
|
|
166
|
-
|
|
167
|
-
<div>
|
|
168
|
-
<h3 class="mw-mb-4">Mini Icon Buttons</h3>
|
|
169
|
-
<div class="mw-card mw-card-simple">
|
|
170
|
-
<div class="mw-d-flex mw-flex-wrap mw-items-center mw-gap-4">
|
|
171
|
-
<button type="button" class="mw-btn-mini" title="Default / Plus">
|
|
172
|
-
<i class="fas fa-plus"></i>
|
|
173
|
-
</button>
|
|
174
|
-
<button
|
|
175
|
-
type="button"
|
|
176
|
-
class="mw-btn-mini mw-btn-mini-danger"
|
|
177
|
-
title="Danger / Minus"
|
|
178
|
-
>
|
|
179
|
-
<i class="fas fa-minus"></i>
|
|
180
|
-
</button>
|
|
181
|
-
<button
|
|
182
|
-
type="button"
|
|
183
|
-
class="mw-btn-mini mw-btn-mini-success"
|
|
184
|
-
title="Success / Check"
|
|
185
|
-
>
|
|
186
|
-
<i class="fas fa-check"></i>
|
|
187
|
-
</button>
|
|
188
|
-
<button
|
|
189
|
-
type="button"
|
|
190
|
-
class="mw-btn-mini mw-btn-mini-primary"
|
|
191
|
-
title="Primary / Address Card"
|
|
192
|
-
>
|
|
193
|
-
<i class="fas fa-address-card"></i>
|
|
194
|
-
</button>
|
|
195
|
-
<a
|
|
196
|
-
href="#"
|
|
197
|
-
class="mw-btn-mini mw-btn-mini-primary"
|
|
198
|
-
title="Als Link (a-Tag)"
|
|
199
|
-
>
|
|
200
|
-
<i class="fas fa-external-link-alt"></i>
|
|
201
|
-
</a>
|
|
202
|
-
<button
|
|
203
|
-
type="button"
|
|
204
|
-
class="mw-btn-mini"
|
|
205
|
-
disabled
|
|
206
|
-
title="Disabled Mini"
|
|
207
|
-
>
|
|
208
|
-
<i class="fas fa-times"></i>
|
|
209
|
-
</button>
|
|
210
|
-
</div>
|
|
211
|
-
</div>
|
|
212
|
-
</div>
|
|
213
|
-
</div>
|
|
214
|
-
|
|
215
|
-
<h3 class="mw-mb-4 mw-mt-6">Plain Buttons</h3>
|
|
216
|
-
<p class="mw-text-muted">
|
|
217
|
-
<code>mw-btn-plain</code> is for everywhere a <code><button></code> is
|
|
218
|
-
the right element and a button is the wrong look - a calendar day, a time in a
|
|
219
|
-
request row, a modal backdrop. It brings nothing but the focus ring and the
|
|
220
|
-
pointer; everything else it inherits. Not the same as
|
|
221
|
-
<code>mw-btn-link</code>, which is a button dressed as a link with a colour
|
|
222
|
-
and a control height of its own, nor the same as <code>mw-link</code>, which
|
|
223
|
-
is the link inside a sentence.
|
|
224
|
-
</p>
|
|
225
|
-
<div class="mw-card mw-card-simple">
|
|
226
|
-
<p class="mw-mb-4">
|
|
227
|
-
Booked for
|
|
228
|
-
<button type="button" class="mw-btn-plain mw-text-bold">14:30</button>
|
|
229
|
-
on
|
|
230
|
-
<button type="button" class="mw-btn-plain mw-text-bold">19.09.2026</button>
|
|
231
|
-
- both are real buttons, reachable by tab.
|
|
232
|
-
</p>
|
|
233
|
-
<div class="mw-d-flex mw-gap-4 mw-flex-wrap">
|
|
234
|
-
<button type="button" class="mw-btn mw-btn-link">mw-btn-link</button>
|
|
235
|
-
<button type="button" class="mw-btn-plain">mw-btn-plain</button>
|
|
236
|
-
<button type="button" class="mw-btn-plain" disabled>disabled</button>
|
|
237
|
-
</div>
|
|
238
|
-
</div>
|
|
239
|
-
|
|
240
|
-
<h3 class="mw-mb-4 mw-mt-6">Text Links</h3>
|
|
241
|
-
<p class="mw-text-muted">
|
|
242
|
-
<code>mw-link</code> is the link inside a sentence,
|
|
243
|
-
<code>mw-link-muted</code> the quieter one. Same look as
|
|
244
|
-
<code>mw-btn-link</code>, without the button: <code>mw-btn</code> carries a
|
|
245
|
-
control height, and in running text that lifts the one line the link sits on
|
|
246
|
-
above every line around it - glaring in a footer disclaimer, where the text is
|
|
247
|
-
a size smaller to begin with. So <code>mw-link</code> in a paragraph,
|
|
248
|
-
<code>mw-btn mw-btn-link</code> where the link really is one of several
|
|
249
|
-
buttons and has to line up with them. Both work on an
|
|
250
|
-
<code><a></code> and on a <code><button></code>.
|
|
251
|
-
</p>
|
|
252
|
-
<div class="mw-card mw-card-simple">
|
|
253
|
-
<p class="mw-mb-0">
|
|
254
|
-
Built with
|
|
255
|
-
<a href="https://astro.build" target="_blank" class="mw-link">Astro</a>
|
|
256
|
-
and written up in the
|
|
257
|
-
<a href="#get-started" class="mw-link-muted">Get Started</a> section - both
|
|
258
|
-
sit on the line, not above it.
|
|
259
|
-
</p>
|
|
260
|
-
</div>
|
|
261
|
-
|
|
262
|
-
<h3 class="mw-mb-4 mw-mt-6">Touch Targets</h3>
|
|
263
|
-
<p class="mw-text-muted">
|
|
264
|
-
On a coarse pointer or below 768px the compact controls grow to a size a thumb
|
|
265
|
-
can actually hit: <code>mw-btn-sm</code>, <code>mw-input-sm</code> and
|
|
266
|
-
<code>mw-select-sm</code> to 2.5rem, a tab to 2.75rem, a calendar day to 44px.
|
|
267
|
-
WCAG 2.5.8 puts the floor at 24px, and that is a floor, not a goal.
|
|
268
|
-
<code>mw-btn-mini</code> keeps its 18px circle - it sits in tag rows and table
|
|
269
|
-
cells where a bigger one would shift the layout - and grows its hit area to
|
|
270
|
-
28px instead, as does a kanban action button on its 32px box. Nothing to
|
|
271
|
-
switch on; resize this page or open it on a phone.
|
|
272
|
-
</p>
|
|
@@ -1,203 +0,0 @@
|
|
|
1
|
-
<h3 class="mw-section-subtitle">Calendar</h3>
|
|
2
|
-
<p class="mw-text-muted mw-text-measure">
|
|
3
|
-
Month, compact and week share every class - a week is seven cells instead of
|
|
4
|
-
forty-two, <code>mw-calendar-compact</code> drops the dots and a third of the
|
|
5
|
-
height. The status dots come in as
|
|
6
|
-
<code>data-calendar-markers='{"2026-08-19": ["success", "warning"]}'</code>.
|
|
7
|
-
</p>
|
|
8
|
-
<p class="mw-text-muted">
|
|
9
|
-
What a dot <em>means</em> belongs to the caller: the same calendar reads
|
|
10
|
-
“request pending / booked / time offered” in a scheduling app and
|
|
11
|
-
something else entirely on a public booking page. So the colour is a property,
|
|
12
|
-
<code>--mw-calendar-dot</code>, settable per dot or inherited from the cell -
|
|
13
|
-
<code>mw-calendar-dot-success</code> and friends are named presets for it, not
|
|
14
|
-
the only way in.
|
|
15
|
-
</p>
|
|
16
|
-
<div class="mw-card mw-card-simple mw-mb-6">
|
|
17
|
-
<div class="mw-row-split mw-row-split-center">
|
|
18
|
-
<span>Any colour, set on the dot itself</span>
|
|
19
|
-
<span class="mw-d-flex mw-items-center mw-gap-3">
|
|
20
|
-
<span class="mw-calendar-dot" style="--mw-calendar-dot: #7a4fd4"></span>
|
|
21
|
-
<span class="mw-calendar-dot" style="--mw-calendar-dot: #d47a4f"></span>
|
|
22
|
-
<span class="mw-calendar-dot mw-calendar-dot-success"></span>
|
|
23
|
-
<code>--mw-calendar-dot</code>
|
|
24
|
-
</span>
|
|
25
|
-
</div>
|
|
26
|
-
</div>
|
|
27
|
-
|
|
28
|
-
<div class="mw-grid-2 calendar-demos mw-my-6">
|
|
29
|
-
<div class="calendar-demo">
|
|
30
|
-
<h4 class="mw-mb-2">Month</h4>
|
|
31
|
-
<div class="mw-segmented mw-mb-4" data-modifier-demo="calendar-month">
|
|
32
|
-
<button
|
|
33
|
-
type="button"
|
|
34
|
-
class="mw-segmented-item mw-active"
|
|
35
|
-
data-modifier=""
|
|
36
|
-
>
|
|
37
|
-
Default
|
|
38
|
-
</button>
|
|
39
|
-
<button
|
|
40
|
-
type="button"
|
|
41
|
-
class="mw-segmented-item"
|
|
42
|
-
data-modifier="mw-calendar-compact"
|
|
43
|
-
>
|
|
44
|
-
Compact
|
|
45
|
-
</button>
|
|
46
|
-
</div>
|
|
47
|
-
<div
|
|
48
|
-
class="mw-calendar"
|
|
49
|
-
id="calendar-month"
|
|
50
|
-
data-calendar="month"
|
|
51
|
-
data-calendar-locale="en-GB"
|
|
52
|
-
>
|
|
53
|
-
<div class="mw-calendar-header">
|
|
54
|
-
<button
|
|
55
|
-
type="button"
|
|
56
|
-
class="mw-btn mw-btn-outline mw-btn-sm mw-calendar-nav"
|
|
57
|
-
data-calendar-nav="-1"
|
|
58
|
-
aria-label="Previous month"
|
|
59
|
-
>
|
|
60
|
-
<i class="fas fa-chevron-left"></i>
|
|
61
|
-
</button>
|
|
62
|
-
|
|
63
|
-
<div class="mw-calendar-title" aria-live="polite"></div>
|
|
64
|
-
|
|
65
|
-
<button
|
|
66
|
-
type="button"
|
|
67
|
-
class="mw-btn mw-btn-outline mw-btn-sm mw-calendar-nav"
|
|
68
|
-
data-calendar-nav="1"
|
|
69
|
-
aria-label="Next month"
|
|
70
|
-
>
|
|
71
|
-
<i class="fas fa-chevron-right"></i>
|
|
72
|
-
</button>
|
|
73
|
-
</div>
|
|
74
|
-
|
|
75
|
-
<div class="mw-calendar-grid"></div>
|
|
76
|
-
|
|
77
|
-
<div class="mw-calendar-legend">
|
|
78
|
-
<span class="mw-calendar-legend-item">
|
|
79
|
-
<span class="mw-calendar-dot mw-calendar-dot-success"></span>
|
|
80
|
-
Slots free
|
|
81
|
-
</span>
|
|
82
|
-
<span class="mw-calendar-legend-item">
|
|
83
|
-
<span class="mw-calendar-dot mw-calendar-dot-warning"></span>
|
|
84
|
-
Almost booked
|
|
85
|
-
</span>
|
|
86
|
-
<span class="mw-calendar-legend-item">
|
|
87
|
-
<span class="mw-calendar-dot mw-calendar-dot-danger"></span>
|
|
88
|
-
Fully booked
|
|
89
|
-
</span>
|
|
90
|
-
<span class="mw-calendar-legend-item">
|
|
91
|
-
<span class="mw-calendar-dot mw-calendar-dot-info"></span>
|
|
92
|
-
Public holiday
|
|
93
|
-
</span>
|
|
94
|
-
</div>
|
|
95
|
-
</div>
|
|
96
|
-
</div>
|
|
97
|
-
|
|
98
|
-
<div class="calendar-demo">
|
|
99
|
-
<h4 class="mw-mb-2">Week</h4>
|
|
100
|
-
<div class="mw-segmented mw-mb-4" data-modifier-demo="calendar-week">
|
|
101
|
-
<button
|
|
102
|
-
type="button"
|
|
103
|
-
class="mw-segmented-item mw-active"
|
|
104
|
-
data-modifier=""
|
|
105
|
-
>
|
|
106
|
-
Default
|
|
107
|
-
</button>
|
|
108
|
-
<button
|
|
109
|
-
type="button"
|
|
110
|
-
class="mw-segmented-item"
|
|
111
|
-
data-modifier="mw-calendar-compact"
|
|
112
|
-
>
|
|
113
|
-
Compact
|
|
114
|
-
</button>
|
|
115
|
-
</div>
|
|
116
|
-
<div
|
|
117
|
-
class="mw-calendar"
|
|
118
|
-
id="calendar-week"
|
|
119
|
-
data-calendar="week"
|
|
120
|
-
data-calendar-locale="en-GB"
|
|
121
|
-
>
|
|
122
|
-
<div class="mw-calendar-header">
|
|
123
|
-
<button
|
|
124
|
-
type="button"
|
|
125
|
-
class="mw-btn mw-btn-outline mw-btn-sm mw-calendar-nav"
|
|
126
|
-
data-calendar-nav="-1"
|
|
127
|
-
aria-label="Previous week"
|
|
128
|
-
>
|
|
129
|
-
<i class="fas fa-chevron-left"></i>
|
|
130
|
-
</button>
|
|
131
|
-
|
|
132
|
-
<div class="mw-calendar-title" aria-live="polite"></div>
|
|
133
|
-
|
|
134
|
-
<button
|
|
135
|
-
type="button"
|
|
136
|
-
class="mw-btn mw-btn-outline mw-btn-sm mw-calendar-nav"
|
|
137
|
-
data-calendar-nav="1"
|
|
138
|
-
aria-label="Next week"
|
|
139
|
-
>
|
|
140
|
-
<i class="fas fa-chevron-right"></i>
|
|
141
|
-
</button>
|
|
142
|
-
</div>
|
|
143
|
-
|
|
144
|
-
<div class="mw-calendar-grid"></div>
|
|
145
|
-
|
|
146
|
-
<div class="mw-calendar-legend">
|
|
147
|
-
<span class="mw-calendar-legend-item">
|
|
148
|
-
<span class="mw-calendar-dot mw-calendar-dot-success"></span>
|
|
149
|
-
Slots free
|
|
150
|
-
</span>
|
|
151
|
-
<span class="mw-calendar-legend-item">
|
|
152
|
-
<span class="mw-calendar-dot mw-calendar-dot-warning"></span>
|
|
153
|
-
Almost booked
|
|
154
|
-
</span>
|
|
155
|
-
<span class="mw-calendar-legend-item">
|
|
156
|
-
<span class="mw-calendar-dot mw-calendar-dot-danger"></span>
|
|
157
|
-
Fully booked
|
|
158
|
-
</span>
|
|
159
|
-
<span class="mw-calendar-legend-item">
|
|
160
|
-
<span class="mw-calendar-dot mw-calendar-dot-info"></span>
|
|
161
|
-
Public holiday
|
|
162
|
-
</span>
|
|
163
|
-
</div>
|
|
164
|
-
</div>
|
|
165
|
-
</div>
|
|
166
|
-
</div>
|
|
167
|
-
|
|
168
|
-
<script>
|
|
169
|
-
// Showcase only: the demo markers hang off today, so the dots stay in view no
|
|
170
|
-
// matter when this page is opened. A real page ships them as a literal.
|
|
171
|
-
(function () {
|
|
172
|
-
const markers = {};
|
|
173
|
-
|
|
174
|
-
const add = (offset, tones) => {
|
|
175
|
-
const date = new Date();
|
|
176
|
-
date.setDate(date.getDate() + offset);
|
|
177
|
-
const key =
|
|
178
|
-
date.getFullYear() +
|
|
179
|
-
'-' +
|
|
180
|
-
String(date.getMonth() + 1).padStart(2, '0') +
|
|
181
|
-
'-' +
|
|
182
|
-
String(date.getDate()).padStart(2, '0');
|
|
183
|
-
markers[key] = tones;
|
|
184
|
-
};
|
|
185
|
-
|
|
186
|
-
add(-6, ['danger']);
|
|
187
|
-
add(-4, ['success']);
|
|
188
|
-
add(-1, ['warning', 'info']);
|
|
189
|
-
add(0, ['success', 'warning']);
|
|
190
|
-
add(1, ['success']);
|
|
191
|
-
add(2, ['info']);
|
|
192
|
-
add(3, ['danger', 'warning', 'success']);
|
|
193
|
-
add(5, ['secondary']);
|
|
194
|
-
add(8, ['success']);
|
|
195
|
-
add(11, ['warning']);
|
|
196
|
-
add(14, ['danger']);
|
|
197
|
-
|
|
198
|
-
const encoded = JSON.stringify(markers);
|
|
199
|
-
document.querySelectorAll('[data-calendar]').forEach((calendar) => {
|
|
200
|
-
calendar.dataset.calendarMarkers = encoded;
|
|
201
|
-
});
|
|
202
|
-
})();
|
|
203
|
-
</script>
|