maverick-wave 5.27.0 → 5.29.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/.claude/skills/mw-maverick-wave/SKILL.md +4 -2
- package/.claude/skills/mw-maverick-wave/references/components.md +212 -0
- package/.claude/skills/mw-maverick-wave/references/javascript.md +6 -1
- package/.claude/skills/mw-maverick-wave/references/theming.md +53 -51
- package/CHANGELOG.md +17 -0
- package/CLAUDE.md +4 -4
- package/README.md +2 -2
- package/index.html +65 -0
- package/maverick-wave.min.css +4 -4
- package/maverick-wave.min.js +1 -1
- package/package.json +2 -2
- package/scripts/verify.js +2 -1
- package/src/assets/images/photo-balloon.svg +35 -0
- package/src/assets/images/photo-forest-path.svg +31 -0
- package/src/assets/images/photo-lighthouse.svg +42 -0
- package/src/assets/images/photo-palm.svg +27 -0
- package/src/assets/images/photo-peak.svg +27 -0
- package/src/assets/images/photo-tower.svg +34 -0
- package/src/assets/images/photo-waterfall.svg +32 -0
- package/src/assets/images/story-aurora.svg +36 -0
- package/src/assets/images/story-beach.svg +34 -0
- package/src/assets/images/story-stars.svg +35 -0
- package/src/assets/media/story-sunrise.jpg +0 -0
- package/src/assets/media/story-sunrise.mp4 +0 -0
- package/src/js/main.js +411 -8
- package/src/partials/avatars-container.html +50 -0
- package/src/partials/calendar-container.html +36 -38
- package/src/partials/feed-container.html +506 -0
- package/src/partials/item-lists-container.html +80 -130
- package/src/partials/kanban-container.html +17 -294
- package/src/partials/mosaic-container.html +173 -0
- package/src/partials/panels-container.html +113 -162
- package/src/partials/portrait-gallery-container.html +175 -0
- package/src/partials/stories-container.html +182 -0
- package/src/partials/tables-container.html +21 -40
- package/src/scss/abstracts/_mixins.scss +2 -0
- package/src/scss/abstracts/_variables.scss +9 -0
- package/src/scss/components/_avatars.scss +52 -0
- package/src/scss/components/_cards.scss +7 -3
- package/src/scss/components/_feed.scss +203 -0
- package/src/scss/components/_hero-badge.scss +48 -0
- package/src/scss/components/_index.scss +8 -0
- package/src/scss/components/_leader-row.scss +24 -18
- package/src/scss/components/_lightbox.scss +178 -0
- package/src/scss/components/_mosaic.scss +83 -0
- package/src/scss/components/_overlay-btn.scss +47 -0
- package/src/scss/components/_portrait-gallery.scss +180 -0
- package/src/scss/components/_stories.scss +443 -0
- package/src/scss/components/_tiles.scss +4 -1
- package/src/scss/components/_tooltip.scss +193 -0
- package/src/scss/layout/_footer.scss +46 -84
- package/src/scss/layout/_grid.scss +48 -45
- package/src/scss/layout/_header-reveal.scss +1 -1
- package/src/scss/layout/_header.scss +49 -66
- package/src/scss/layout/_home.scss +5 -2
- package/src/scss/layout/_main.scss +100 -337
- package/src/scss/layout/_parallax.scss +1 -1
- package/src/scss/layout/_section.scss +24 -17
- package/src/scss/utilities/_fit.scss +29 -0
- package/src/scss/utilities/_index.scss +1 -0
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
<h3 class="mw-section-subtitle">Mosaic</h3>
|
|
2
|
+
<p class="mw-text-muted mw-text-measure">
|
|
3
|
+
Photos of any shape in one grid. The script reads each photo's proportions
|
|
4
|
+
from its <code>width</code> and <code>height</code> and gives it a tile to
|
|
5
|
+
match - wide for landscape, tall for portrait, square for the rest - and the
|
|
6
|
+
smaller tiles fill the holes. The tile crops, the lightbox does not: a tap
|
|
7
|
+
opens the photo whole with its caption, and a swipe moves on to the next one.
|
|
8
|
+
<code>mw-mosaic-gap-sm</code> and <code>mw-mosaic-gap-lg</code> change the
|
|
9
|
+
gaps.
|
|
10
|
+
</p>
|
|
11
|
+
|
|
12
|
+
<div class="mw-segmented mw-mb-5" data-modifier-demo="mosaic-demo">
|
|
13
|
+
<button
|
|
14
|
+
type="button"
|
|
15
|
+
class="mw-segmented-item"
|
|
16
|
+
data-modifier="mw-mosaic-gap-sm"
|
|
17
|
+
>
|
|
18
|
+
Gap sm
|
|
19
|
+
</button>
|
|
20
|
+
<button type="button" class="mw-segmented-item mw-active" data-modifier="">
|
|
21
|
+
Default
|
|
22
|
+
</button>
|
|
23
|
+
<button
|
|
24
|
+
type="button"
|
|
25
|
+
class="mw-segmented-item"
|
|
26
|
+
data-modifier="mw-mosaic-gap-lg"
|
|
27
|
+
>
|
|
28
|
+
Gap lg
|
|
29
|
+
</button>
|
|
30
|
+
</div>
|
|
31
|
+
|
|
32
|
+
<div class="mw-mosaic" id="mosaic-demo">
|
|
33
|
+
<figure class="mw-mosaic-item mw-mosaic-big">
|
|
34
|
+
<a href="images/gallery-mountain.svg">
|
|
35
|
+
<img
|
|
36
|
+
src="images/gallery-mountain.svg"
|
|
37
|
+
alt="Mountain range at sunrise"
|
|
38
|
+
width="800"
|
|
39
|
+
height="450"
|
|
40
|
+
loading="lazy"
|
|
41
|
+
/>
|
|
42
|
+
</a>
|
|
43
|
+
<figcaption>
|
|
44
|
+
First light on the ridge. <code>mw-mosaic-big</code> makes a photo the
|
|
45
|
+
centrepiece.
|
|
46
|
+
</figcaption>
|
|
47
|
+
</figure>
|
|
48
|
+
<figure class="mw-mosaic-item">
|
|
49
|
+
<a href="images/photo-peak.svg">
|
|
50
|
+
<img
|
|
51
|
+
src="images/photo-peak.svg"
|
|
52
|
+
alt="Snowy mountain peak under a starry sky"
|
|
53
|
+
width="600"
|
|
54
|
+
height="800"
|
|
55
|
+
loading="lazy"
|
|
56
|
+
/>
|
|
57
|
+
</a>
|
|
58
|
+
<figcaption>Summit night, 3,000 metres up.</figcaption>
|
|
59
|
+
</figure>
|
|
60
|
+
<figure class="mw-mosaic-item">
|
|
61
|
+
<a href="images/photo-balloon.svg">
|
|
62
|
+
<img
|
|
63
|
+
src="images/photo-balloon.svg"
|
|
64
|
+
alt="Hot air balloon in a morning sky"
|
|
65
|
+
width="800"
|
|
66
|
+
height="800"
|
|
67
|
+
loading="lazy"
|
|
68
|
+
/>
|
|
69
|
+
</a>
|
|
70
|
+
</figure>
|
|
71
|
+
<figure class="mw-mosaic-item">
|
|
72
|
+
<a href="images/photo-palm.svg">
|
|
73
|
+
<img
|
|
74
|
+
src="images/photo-palm.svg"
|
|
75
|
+
alt="Palm tree against a sunset over the sea"
|
|
76
|
+
width="800"
|
|
77
|
+
height="800"
|
|
78
|
+
loading="lazy"
|
|
79
|
+
/>
|
|
80
|
+
</a>
|
|
81
|
+
<figcaption>The last evening on the island.</figcaption>
|
|
82
|
+
</figure>
|
|
83
|
+
<figure class="mw-mosaic-item">
|
|
84
|
+
<a href="images/gallery-lake.svg">
|
|
85
|
+
<img
|
|
86
|
+
src="images/gallery-lake.svg"
|
|
87
|
+
alt="Peaceful lake"
|
|
88
|
+
width="800"
|
|
89
|
+
height="450"
|
|
90
|
+
loading="lazy"
|
|
91
|
+
/>
|
|
92
|
+
</a>
|
|
93
|
+
</figure>
|
|
94
|
+
<figure class="mw-mosaic-item">
|
|
95
|
+
<a href="images/photo-tower.svg">
|
|
96
|
+
<img
|
|
97
|
+
src="images/photo-tower.svg"
|
|
98
|
+
alt="Television tower above the city at night"
|
|
99
|
+
width="600"
|
|
100
|
+
height="800"
|
|
101
|
+
loading="lazy"
|
|
102
|
+
/>
|
|
103
|
+
</a>
|
|
104
|
+
</figure>
|
|
105
|
+
<figure class="mw-mosaic-item">
|
|
106
|
+
<a href="images/photo-waterfall.svg">
|
|
107
|
+
<img
|
|
108
|
+
src="images/photo-waterfall.svg"
|
|
109
|
+
alt="Waterfall between mossy cliffs"
|
|
110
|
+
width="600"
|
|
111
|
+
height="800"
|
|
112
|
+
loading="lazy"
|
|
113
|
+
/>
|
|
114
|
+
</a>
|
|
115
|
+
<figcaption>Two hours up the gorge, and worth every step of it.</figcaption>
|
|
116
|
+
</figure>
|
|
117
|
+
<figure class="mw-mosaic-item">
|
|
118
|
+
<a href="images/gallery-city.svg">
|
|
119
|
+
<img
|
|
120
|
+
src="images/gallery-city.svg"
|
|
121
|
+
alt="City skyline at night"
|
|
122
|
+
width="800"
|
|
123
|
+
height="450"
|
|
124
|
+
loading="lazy"
|
|
125
|
+
/>
|
|
126
|
+
</a>
|
|
127
|
+
</figure>
|
|
128
|
+
<figure class="mw-mosaic-item">
|
|
129
|
+
<a href="images/photo-lighthouse.svg">
|
|
130
|
+
<img
|
|
131
|
+
src="images/photo-lighthouse.svg"
|
|
132
|
+
alt="Lighthouse on a cliff at dusk"
|
|
133
|
+
width="600"
|
|
134
|
+
height="800"
|
|
135
|
+
loading="lazy"
|
|
136
|
+
/>
|
|
137
|
+
</a>
|
|
138
|
+
</figure>
|
|
139
|
+
<figure class="mw-mosaic-item">
|
|
140
|
+
<a href="images/story-aurora.svg">
|
|
141
|
+
<img
|
|
142
|
+
src="images/story-aurora.svg"
|
|
143
|
+
alt="Northern lights over a snowy forest"
|
|
144
|
+
width="720"
|
|
145
|
+
height="1280"
|
|
146
|
+
loading="lazy"
|
|
147
|
+
/>
|
|
148
|
+
</a>
|
|
149
|
+
<figcaption>Minus eighteen degrees. Nobody minded.</figcaption>
|
|
150
|
+
</figure>
|
|
151
|
+
<figure class="mw-mosaic-item">
|
|
152
|
+
<a href="images/gallery-desert.svg">
|
|
153
|
+
<img
|
|
154
|
+
src="images/gallery-desert.svg"
|
|
155
|
+
alt="Desert dunes"
|
|
156
|
+
width="800"
|
|
157
|
+
height="450"
|
|
158
|
+
loading="lazy"
|
|
159
|
+
/>
|
|
160
|
+
</a>
|
|
161
|
+
</figure>
|
|
162
|
+
<figure class="mw-mosaic-item">
|
|
163
|
+
<a href="images/gallery-snow.svg">
|
|
164
|
+
<img
|
|
165
|
+
src="images/gallery-snow.svg"
|
|
166
|
+
alt="Snowy hills"
|
|
167
|
+
width="800"
|
|
168
|
+
height="450"
|
|
169
|
+
loading="lazy"
|
|
170
|
+
/>
|
|
171
|
+
</a>
|
|
172
|
+
</figure>
|
|
173
|
+
</div>
|
|
@@ -1,175 +1,126 @@
|
|
|
1
1
|
<h3 class="mw-section-subtitle">Panels</h3>
|
|
2
2
|
<p class="mw-text-muted mw-text-measure">
|
|
3
3
|
A card whose header and footer are part of the frame rather than the content.
|
|
4
|
-
|
|
4
|
+
<code>mw-panel-primary</code> and <code>mw-panel-secondary</code> fill the
|
|
5
|
+
header. The body scrolls on its own, which is what the max-height variants are
|
|
6
|
+
for: <code>mw-panel-max-height-sm</code>, <code>-md</code> and
|
|
7
|
+
<code>-lg</code> cap the panel at 300, 500 and 700px.
|
|
8
|
+
<code>mw-panel-scrollable</code> is the older name for md.
|
|
5
9
|
</p>
|
|
6
10
|
|
|
7
|
-
<div class="mw-grid-
|
|
8
|
-
<div
|
|
9
|
-
<
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
11
|
+
<div class="mw-grid-2-lg mw-mb-6">
|
|
12
|
+
<div>
|
|
13
|
+
<div class="mw-segmented mw-mb-4" data-modifier-demo="panel-color-demo">
|
|
14
|
+
<button
|
|
15
|
+
type="button"
|
|
16
|
+
class="mw-segmented-item mw-active"
|
|
17
|
+
data-modifier=""
|
|
18
|
+
>
|
|
19
|
+
Default
|
|
20
|
+
</button>
|
|
21
|
+
<button
|
|
22
|
+
type="button"
|
|
23
|
+
class="mw-segmented-item"
|
|
24
|
+
data-modifier="mw-panel-primary"
|
|
25
|
+
>
|
|
26
|
+
Primary
|
|
27
|
+
</button>
|
|
28
|
+
<button
|
|
29
|
+
type="button"
|
|
30
|
+
class="mw-segmented-item"
|
|
31
|
+
data-modifier="mw-panel-secondary"
|
|
32
|
+
>
|
|
33
|
+
Secondary
|
|
34
|
+
</button>
|
|
15
35
|
</div>
|
|
16
|
-
<div class="mw-panel-
|
|
17
|
-
<
|
|
18
|
-
<
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
panel variants to indicate different types of content.
|
|
30
|
-
</p>
|
|
31
|
-
</div>
|
|
32
|
-
<div class="mw-panel-footer">
|
|
33
|
-
<button type="button" class="mw-btn mw-btn-outline">Cancel</button>
|
|
34
|
-
<button type="button" class="mw-btn mw-btn-primary">Save</button>
|
|
35
|
-
</div>
|
|
36
|
-
</div>
|
|
37
|
-
|
|
38
|
-
<div class="mw-panel mw-panel-secondary">
|
|
39
|
-
<h4 class="mw-panel-header">Secondary Panel</h4>
|
|
40
|
-
<div class="mw-panel-body">
|
|
41
|
-
<p>
|
|
42
|
-
This is a secondary panel with a colored header. Panels can contain any
|
|
43
|
-
type of content, including forms, tables, or other components.
|
|
44
|
-
</p>
|
|
45
|
-
</div>
|
|
46
|
-
</div>
|
|
47
|
-
|
|
48
|
-
<div class="mw-panel mw-panel-scrollable">
|
|
49
|
-
<h4 class="mw-panel-header">Scrollable Panel</h4>
|
|
50
|
-
<div class="mw-panel-body">
|
|
51
|
-
<p>
|
|
52
|
-
This panel has a fixed maximum height of 500px and will scroll when
|
|
53
|
-
content exceeds this height. Scrollable panels are ideal for displaying
|
|
54
|
-
large amounts of content in a constrained space.
|
|
55
|
-
</p>
|
|
56
|
-
<p>
|
|
57
|
-
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam in dui
|
|
58
|
-
mauris.
|
|
59
|
-
</p>
|
|
60
|
-
<p>
|
|
61
|
-
Vivamus hendrerit arcu sed erat molestie vehicula. Sed auctor neque eu
|
|
62
|
-
tellus.
|
|
63
|
-
</p>
|
|
64
|
-
<p>
|
|
65
|
-
Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere
|
|
66
|
-
cubilia Curae.
|
|
67
|
-
</p>
|
|
68
|
-
<p>
|
|
69
|
-
Pellentesque habitant morbi tristique senectus et netus et malesuada
|
|
70
|
-
fames ac turpis egestas.
|
|
71
|
-
</p>
|
|
72
|
-
<p>
|
|
73
|
-
Ut aliquam sollicitudin iaculis. Praesent ac semper ante. Interdum et
|
|
74
|
-
malesuada fames ac ante ipsum primis in faucibus.
|
|
75
|
-
</p>
|
|
76
|
-
<p>
|
|
77
|
-
Mauris egestas elit vel nunc maximus, in aliquam magna vehicula. Cras
|
|
78
|
-
vitae sapien a erat facilisis faucibus.
|
|
79
|
-
</p>
|
|
80
|
-
<p>
|
|
81
|
-
Donec dignissim, odio ac imperdiet luctus, elit lorem eleifend massa,
|
|
82
|
-
sed efficitur turpis velit vel odio.
|
|
83
|
-
</p>
|
|
84
|
-
<p>
|
|
85
|
-
Suspendisse potenti. Nullam gravida fermentum turpis eu ultrices.
|
|
86
|
-
Curabitur imperdiet imperdiet lacus.
|
|
87
|
-
</p>
|
|
88
|
-
<p>
|
|
89
|
-
Praesent ac semper ante. Interdum et malesuada fames ac ante ipsum
|
|
90
|
-
primis in faucibus.
|
|
91
|
-
</p>
|
|
92
|
-
</div>
|
|
93
|
-
<div class="mw-panel-footer">
|
|
94
|
-
<button type="button" class="mw-btn mw-btn-outline">Cancel</button>
|
|
95
|
-
<button type="button" class="mw-btn mw-btn-primary">Save</button>
|
|
96
|
-
</div>
|
|
97
|
-
</div>
|
|
98
|
-
</div>
|
|
99
|
-
|
|
100
|
-
<div class="mw-grid-2 mw-my-6">
|
|
101
|
-
<div class="mw-panel mw-panel-primary mw-panel-max-height-md">
|
|
102
|
-
<h4 class="mw-panel-header">Medium Height Panel</h4>
|
|
103
|
-
<div class="mw-panel-body">
|
|
104
|
-
<p>
|
|
105
|
-
This panel uses the medium height variant (500px) and will scroll when
|
|
106
|
-
content exceeds this height.
|
|
107
|
-
</p>
|
|
108
|
-
<p>
|
|
109
|
-
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam in dui
|
|
110
|
-
mauris.
|
|
111
|
-
</p>
|
|
112
|
-
<p>
|
|
113
|
-
Vivamus hendrerit arcu sed erat molestie vehicula. Sed auctor neque eu
|
|
114
|
-
tellus.
|
|
115
|
-
</p>
|
|
116
|
-
<p>
|
|
117
|
-
Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere
|
|
118
|
-
cubilia Curae.
|
|
119
|
-
</p>
|
|
120
|
-
<p>
|
|
121
|
-
Pellentesque habitant morbi tristique senectus et netus et malesuada
|
|
122
|
-
fames ac turpis egestas.
|
|
123
|
-
</p>
|
|
124
|
-
<p>
|
|
125
|
-
Ut aliquam sollicitudin iaculis. Praesent ac semper ante. Interdum et
|
|
126
|
-
malesuada fames ac ante ipsum primis in faucibus.
|
|
127
|
-
</p>
|
|
128
|
-
<p>
|
|
129
|
-
Mauris egestas elit vel nunc maximus, in aliquam magna vehicula. Cras
|
|
130
|
-
vitae sapien a erat facilisis faucibus.
|
|
131
|
-
</p>
|
|
132
|
-
<p>
|
|
133
|
-
Donec dignissim, odio ac imperdiet luctus, elit lorem eleifend massa,
|
|
134
|
-
sed efficitur turpis velit vel odio.
|
|
135
|
-
</p>
|
|
136
|
-
</div>
|
|
137
|
-
<div class="mw-panel-footer">
|
|
138
|
-
<button type="button" class="mw-btn mw-btn-primary">OK</button>
|
|
36
|
+
<div class="mw-panel" id="panel-color-demo">
|
|
37
|
+
<h4 class="mw-panel-header">Panel</h4>
|
|
38
|
+
<div class="mw-panel-body">
|
|
39
|
+
<p>
|
|
40
|
+
This is a panel with header, body, and footer sections. Panels are
|
|
41
|
+
useful for grouping related content, including forms, tables, or other
|
|
42
|
+
components.
|
|
43
|
+
</p>
|
|
44
|
+
</div>
|
|
45
|
+
<div class="mw-panel-footer">
|
|
46
|
+
<button type="button" class="mw-btn mw-btn-outline">Cancel</button>
|
|
47
|
+
<button type="button" class="mw-btn mw-btn-primary">Save</button>
|
|
48
|
+
</div>
|
|
139
49
|
</div>
|
|
140
50
|
</div>
|
|
141
51
|
|
|
142
|
-
<div
|
|
143
|
-
<
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
</
|
|
165
|
-
<p>
|
|
166
|
-
Ut aliquam sollicitudin iaculis. Praesent ac semper ante. Interdum et
|
|
167
|
-
malesuada fames ac ante ipsum primis in faucibus.
|
|
168
|
-
</p>
|
|
52
|
+
<div>
|
|
53
|
+
<div class="mw-segmented mw-mb-4" data-modifier-demo="panel-height-demo">
|
|
54
|
+
<button
|
|
55
|
+
type="button"
|
|
56
|
+
class="mw-segmented-item"
|
|
57
|
+
data-modifier="mw-panel-max-height-sm"
|
|
58
|
+
>
|
|
59
|
+
300px
|
|
60
|
+
</button>
|
|
61
|
+
<button
|
|
62
|
+
type="button"
|
|
63
|
+
class="mw-segmented-item mw-active"
|
|
64
|
+
data-modifier="mw-panel-max-height-md"
|
|
65
|
+
>
|
|
66
|
+
500px
|
|
67
|
+
</button>
|
|
68
|
+
<button
|
|
69
|
+
type="button"
|
|
70
|
+
class="mw-segmented-item"
|
|
71
|
+
data-modifier="mw-panel-max-height-lg"
|
|
72
|
+
>
|
|
73
|
+
700px
|
|
74
|
+
</button>
|
|
169
75
|
</div>
|
|
170
|
-
<div class="mw-panel-
|
|
171
|
-
<
|
|
172
|
-
<
|
|
76
|
+
<div class="mw-panel mw-panel-max-height-md" id="panel-height-demo">
|
|
77
|
+
<h4 class="mw-panel-header">Scrollable Panel</h4>
|
|
78
|
+
<div class="mw-panel-body">
|
|
79
|
+
<p>
|
|
80
|
+
The body scrolls once the content outgrows the cap. Header and footer
|
|
81
|
+
stay where they are.
|
|
82
|
+
</p>
|
|
83
|
+
<p>
|
|
84
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam in dui
|
|
85
|
+
mauris.
|
|
86
|
+
</p>
|
|
87
|
+
<p>
|
|
88
|
+
Vivamus hendrerit arcu sed erat molestie vehicula. Sed auctor neque eu
|
|
89
|
+
tellus.
|
|
90
|
+
</p>
|
|
91
|
+
<p>
|
|
92
|
+
Vestibulum ante ipsum primis in faucibus orci luctus et ultrices
|
|
93
|
+
posuere cubilia Curae.
|
|
94
|
+
</p>
|
|
95
|
+
<p>
|
|
96
|
+
Pellentesque habitant morbi tristique senectus et netus et malesuada
|
|
97
|
+
fames ac turpis egestas.
|
|
98
|
+
</p>
|
|
99
|
+
<p>
|
|
100
|
+
Ut aliquam sollicitudin iaculis. Praesent ac semper ante. Interdum et
|
|
101
|
+
malesuada fames ac ante ipsum primis in faucibus.
|
|
102
|
+
</p>
|
|
103
|
+
<p>
|
|
104
|
+
Mauris egestas elit vel nunc maximus, in aliquam magna vehicula. Cras
|
|
105
|
+
vitae sapien a erat facilisis faucibus.
|
|
106
|
+
</p>
|
|
107
|
+
<p>
|
|
108
|
+
Donec dignissim, odio ac imperdiet luctus, elit lorem eleifend massa,
|
|
109
|
+
sed efficitur turpis velit vel odio.
|
|
110
|
+
</p>
|
|
111
|
+
<p>
|
|
112
|
+
Suspendisse potenti. Nullam gravida fermentum turpis eu ultrices.
|
|
113
|
+
Curabitur imperdiet imperdiet lacus.
|
|
114
|
+
</p>
|
|
115
|
+
<p>
|
|
116
|
+
Praesent ac semper ante. Interdum et malesuada fames ac ante ipsum
|
|
117
|
+
primis in faucibus.
|
|
118
|
+
</p>
|
|
119
|
+
</div>
|
|
120
|
+
<div class="mw-panel-footer">
|
|
121
|
+
<button type="button" class="mw-btn mw-btn-outline">Cancel</button>
|
|
122
|
+
<button type="button" class="mw-btn mw-btn-primary">Save</button>
|
|
123
|
+
</div>
|
|
173
124
|
</div>
|
|
174
125
|
</div>
|
|
175
126
|
</div>
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
<h3 class="mw-section-subtitle">Portrait Gallery</h3>
|
|
2
|
+
<p class="mw-text-muted mw-text-measure">
|
|
3
|
+
Upright photos in a strip the browser scrolls itself: a swipe on a phone,
|
|
4
|
+
arrows under a mouse, and the next photo always peeks in at the edge. One
|
|
5
|
+
slide on a phone, two and a half on a tablet, three on a desktop. A photo in
|
|
6
|
+
the other orientation - the lake below - is not cropped to a sliver but shown
|
|
7
|
+
whole, over a blurred copy of itself.
|
|
8
|
+
<code>mw-portrait-gallery-gap-sm</code> and
|
|
9
|
+
<code>mw-portrait-gallery-gap-lg</code> change the gaps.
|
|
10
|
+
</p>
|
|
11
|
+
|
|
12
|
+
<div class="mw-segmented mw-mb-5" data-modifier-demo="portrait-demo">
|
|
13
|
+
<button
|
|
14
|
+
type="button"
|
|
15
|
+
class="mw-segmented-item"
|
|
16
|
+
data-modifier="mw-portrait-gallery-gap-sm"
|
|
17
|
+
>
|
|
18
|
+
Gap sm
|
|
19
|
+
</button>
|
|
20
|
+
<button type="button" class="mw-segmented-item mw-active" data-modifier="">
|
|
21
|
+
Default
|
|
22
|
+
</button>
|
|
23
|
+
<button
|
|
24
|
+
type="button"
|
|
25
|
+
class="mw-segmented-item"
|
|
26
|
+
data-modifier="mw-portrait-gallery-gap-lg"
|
|
27
|
+
>
|
|
28
|
+
Gap lg
|
|
29
|
+
</button>
|
|
30
|
+
</div>
|
|
31
|
+
|
|
32
|
+
<div class="mw-portrait-gallery mw-mb-8" id="portrait-demo">
|
|
33
|
+
<div
|
|
34
|
+
class="mw-portrait-gallery-track"
|
|
35
|
+
tabindex="0"
|
|
36
|
+
aria-label="Portrait photos"
|
|
37
|
+
>
|
|
38
|
+
<figure class="mw-portrait-gallery-slide">
|
|
39
|
+
<img
|
|
40
|
+
src="images/photo-lighthouse.svg"
|
|
41
|
+
alt="Lighthouse on a cliff at dusk"
|
|
42
|
+
width="600"
|
|
43
|
+
height="800"
|
|
44
|
+
loading="lazy"
|
|
45
|
+
/>
|
|
46
|
+
<figcaption>
|
|
47
|
+
<strong>North Cape</strong>
|
|
48
|
+
The lamp comes on just after the sun goes.
|
|
49
|
+
</figcaption>
|
|
50
|
+
</figure>
|
|
51
|
+
<figure class="mw-portrait-gallery-slide">
|
|
52
|
+
<img
|
|
53
|
+
src="images/photo-peak.svg"
|
|
54
|
+
alt="Snowy mountain peak under a starry sky"
|
|
55
|
+
width="600"
|
|
56
|
+
height="800"
|
|
57
|
+
loading="lazy"
|
|
58
|
+
/>
|
|
59
|
+
<figcaption>
|
|
60
|
+
<strong>Summit night</strong>
|
|
61
|
+
3,000 metres and one thermos of tea.
|
|
62
|
+
</figcaption>
|
|
63
|
+
</figure>
|
|
64
|
+
<figure class="mw-portrait-gallery-slide">
|
|
65
|
+
<img
|
|
66
|
+
src="images/gallery-lake.svg"
|
|
67
|
+
alt="Peaceful lake"
|
|
68
|
+
width="800"
|
|
69
|
+
height="450"
|
|
70
|
+
loading="lazy"
|
|
71
|
+
/>
|
|
72
|
+
<figcaption>
|
|
73
|
+
<strong>Landscape, not cropped</strong>
|
|
74
|
+
Shown whole over a blurred copy of itself.
|
|
75
|
+
</figcaption>
|
|
76
|
+
</figure>
|
|
77
|
+
<figure class="mw-portrait-gallery-slide">
|
|
78
|
+
<img
|
|
79
|
+
src="images/photo-forest-path.svg"
|
|
80
|
+
alt="Path through a sunlit forest"
|
|
81
|
+
width="600"
|
|
82
|
+
height="800"
|
|
83
|
+
loading="lazy"
|
|
84
|
+
/>
|
|
85
|
+
</figure>
|
|
86
|
+
<figure class="mw-portrait-gallery-slide">
|
|
87
|
+
<img
|
|
88
|
+
src="images/photo-tower.svg"
|
|
89
|
+
alt="Television tower above the city at night"
|
|
90
|
+
width="600"
|
|
91
|
+
height="800"
|
|
92
|
+
loading="lazy"
|
|
93
|
+
/>
|
|
94
|
+
<figcaption>
|
|
95
|
+
<strong>Blue hour</strong>
|
|
96
|
+
The tower, the moon and not a single cloud.
|
|
97
|
+
</figcaption>
|
|
98
|
+
</figure>
|
|
99
|
+
<figure class="mw-portrait-gallery-slide">
|
|
100
|
+
<img
|
|
101
|
+
src="images/photo-waterfall.svg"
|
|
102
|
+
alt="Waterfall between mossy cliffs"
|
|
103
|
+
width="600"
|
|
104
|
+
height="800"
|
|
105
|
+
loading="lazy"
|
|
106
|
+
/>
|
|
107
|
+
</figure>
|
|
108
|
+
</div>
|
|
109
|
+
</div>
|
|
110
|
+
|
|
111
|
+
<h4 class="mw-text-medium mw-mb-2">Story shape</h4>
|
|
112
|
+
<p class="mw-text-muted mw-text-measure">
|
|
113
|
+
<code>mw-portrait-gallery-tall</code> turns the slides into 9:16, the shape of
|
|
114
|
+
a phone screen - for stories, reels and screenshots. A video works like a
|
|
115
|
+
photo; the square balloon gets the same blurred frame the lake did.
|
|
116
|
+
</p>
|
|
117
|
+
|
|
118
|
+
<div class="mw-portrait-gallery mw-portrait-gallery-tall">
|
|
119
|
+
<div
|
|
120
|
+
class="mw-portrait-gallery-track"
|
|
121
|
+
tabindex="0"
|
|
122
|
+
aria-label="Story-shaped photos"
|
|
123
|
+
>
|
|
124
|
+
<figure class="mw-portrait-gallery-slide">
|
|
125
|
+
<img
|
|
126
|
+
src="images/story-beach.svg"
|
|
127
|
+
alt="Beach at sunset with waves running up the sand"
|
|
128
|
+
width="720"
|
|
129
|
+
height="1280"
|
|
130
|
+
loading="lazy"
|
|
131
|
+
/>
|
|
132
|
+
</figure>
|
|
133
|
+
<figure class="mw-portrait-gallery-slide">
|
|
134
|
+
<video
|
|
135
|
+
src="media/story-sunrise.mp4"
|
|
136
|
+
poster="media/story-sunrise.jpg"
|
|
137
|
+
autoplay
|
|
138
|
+
muted
|
|
139
|
+
loop
|
|
140
|
+
playsinline
|
|
141
|
+
></video>
|
|
142
|
+
<figcaption>
|
|
143
|
+
<strong>Sunrise</strong>
|
|
144
|
+
A muted, looping video.
|
|
145
|
+
</figcaption>
|
|
146
|
+
</figure>
|
|
147
|
+
<figure class="mw-portrait-gallery-slide">
|
|
148
|
+
<img
|
|
149
|
+
src="images/story-aurora.svg"
|
|
150
|
+
alt="Northern lights over a snowy forest"
|
|
151
|
+
width="720"
|
|
152
|
+
height="1280"
|
|
153
|
+
loading="lazy"
|
|
154
|
+
/>
|
|
155
|
+
</figure>
|
|
156
|
+
<figure class="mw-portrait-gallery-slide">
|
|
157
|
+
<img
|
|
158
|
+
src="images/photo-balloon.svg"
|
|
159
|
+
alt="Hot air balloon in a morning sky"
|
|
160
|
+
width="800"
|
|
161
|
+
height="800"
|
|
162
|
+
loading="lazy"
|
|
163
|
+
/>
|
|
164
|
+
</figure>
|
|
165
|
+
<figure class="mw-portrait-gallery-slide">
|
|
166
|
+
<img
|
|
167
|
+
src="images/story-stars.svg"
|
|
168
|
+
alt="Tent glowing under the milky way"
|
|
169
|
+
width="720"
|
|
170
|
+
height="1280"
|
|
171
|
+
loading="lazy"
|
|
172
|
+
/>
|
|
173
|
+
</figure>
|
|
174
|
+
</div>
|
|
175
|
+
</div>
|