maverick-wave 5.22.0 → 5.23.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/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "maverick-wave",
3
- "version": "5.22.0",
3
+ "version": "5.23.0",
4
4
  "config": {
5
- "version_short": "5.22"
5
+ "version_short": "5.23"
6
6
  },
7
7
  "description": "A lightweight, modern CSS framework for building responsive websites with elegance and speed.",
8
8
  "main": "src/js/main.js",
@@ -0,0 +1,85 @@
1
+ <h3 class="mw-section-subtitle">Contact</h3>
2
+ <p class="mw-text-muted mw-text-measure mw-mb-6">
3
+ The practical block at the end of a site - when we are open, how to reach us.
4
+ Only the second half is a component: <code>mw-contact</code> is an
5
+ <code>&lt;address&gt;</code> with its italics undone and a label column that
6
+ keeps the values under each other. The hours are a <code>&lt;dl&gt;</code> of
7
+ <code>mw-leader-row</code>, because a day and its times with a line between
8
+ them is the row that component already is.
9
+ </p>
10
+
11
+ <div class="mw-grid-auto-md">
12
+ <article class="mw-card">
13
+ <div class="mw-card-body">
14
+ <h4 class="mw-card-title">
15
+ <span class="mw-card-title-icon">
16
+ <i class="fas fa-clock" aria-hidden="true"></i>
17
+ </span>
18
+ Opening hours
19
+ </h4>
20
+ <hr class="mw-card-title-divider" />
21
+
22
+ <dl class="mw-item-list">
23
+ <div class="mw-leader-row">
24
+ <dt class="mw-leader-row-label">Monday to Friday</dt>
25
+ <dd class="mw-leader-row-value">11.30 - 14.00</dd>
26
+ <dd class="mw-leader-row-value">17.00 - 23.00</dd>
27
+ </div>
28
+ <div class="mw-leader-row">
29
+ <dt class="mw-leader-row-label">Saturday</dt>
30
+ <dd class="mw-leader-row-value">17.00 - 23.00</dd>
31
+ </div>
32
+ <div class="mw-leader-row">
33
+ <dt class="mw-leader-row-label">Sunday</dt>
34
+ <dd class="mw-leader-row-value">11.30 - 20.00</dd>
35
+ </div>
36
+ </dl>
37
+
38
+ <p class="mw-text-sm mw-text-muted mw-mt-6 mw-mb-0">
39
+ Hot food all day on Sunday. Otherwise the kitchen closes an hour before
40
+ the house does.
41
+ </p>
42
+ </div>
43
+ </article>
44
+
45
+ <article class="mw-card mw-card-addon-secondary">
46
+ <div class="mw-card-body">
47
+ <h4 class="mw-card-title">
48
+ <span class="mw-card-title-icon">
49
+ <i class="fas fa-location-dot" aria-hidden="true"></i>
50
+ </span>
51
+ How to reach us
52
+ </h4>
53
+ <hr class="mw-card-title-divider" />
54
+
55
+ <address class="mw-contact mw-mb-6">
56
+ <p class="mw-text-bold">Gasthaus Lamm</p>
57
+ <p>
58
+ Marktplatz 3<br />
59
+ 72622 Musterhausen
60
+ </p>
61
+ <p class="mw-contact-row">
62
+ <span class="mw-contact-label">Phone</span>
63
+ <a class="mw-link" href="tel:+497123456789">07123 456789</a>
64
+ </p>
65
+ <p class="mw-contact-row">
66
+ <span class="mw-contact-label">Email</span>
67
+ <a class="mw-link" href="mailto:info@gasthaus-lamm.de"
68
+ >info@gasthaus-lamm.de</a
69
+ >
70
+ </p>
71
+ </address>
72
+
73
+ <div class="mw-button-bar mw-button-bar-left">
74
+ <a class="mw-btn mw-btn-primary" href="tel:+497123456789">
75
+ <i class="fas fa-phone" aria-hidden="true"></i>
76
+ Call us
77
+ </a>
78
+ <a class="mw-btn mw-btn-outline" href="mailto:info@gasthaus-lamm.de">
79
+ <i class="fas fa-envelope" aria-hidden="true"></i>
80
+ Write us
81
+ </a>
82
+ </div>
83
+ </div>
84
+ </article>
85
+ </div>
@@ -59,6 +59,7 @@
59
59
  </li>
60
60
  <li>
61
61
  <a href="#item-lists">Item Lists</a>
62
+ <a href="#leader-row">Leader Row</a>
62
63
  </li>
63
64
  <li>
64
65
  <a href="#stepper">Stepper</a>
@@ -164,6 +165,8 @@
164
165
  </li>
165
166
  <li>
166
167
  <a href="#calendar">Calendar</a>
168
+ <a href="#lunch-menu">Lunch Menu</a>
169
+ <a href="#contact">Contact</a>
167
170
  </li>
168
171
  <li>
169
172
  <a href="#pagination">Pagination</a>
@@ -0,0 +1,139 @@
1
+ <h3 class="mw-section-subtitle">Leader row</h3>
2
+ <p class="mw-text-muted mw-text-measure mw-mb-6">
3
+ A label, its value, and a dotted line connecting the two - the row a menu, a
4
+ table of contents and an invoice all draw. The line is generated by the row
5
+ itself, so the markup is two spans.
6
+ </p>
7
+ <p class="mw-text-muted mw-text-measure mw-mb-6">
8
+ Label and value is what <code>&lt;dl&gt;</code> is for, and since HTML 5.2 a
9
+ <code>&lt;div&gt;</code> may group a <code>&lt;dt&gt;</code> and its
10
+ <code>&lt;dd&gt;</code> inside one - so the semantic version costs no extra
11
+ element over the plain <code>&lt;p&gt;</code>. Put
12
+ <code>mw-leader-row</code> on that <code>&lt;div&gt;</code> and the two
13
+ classes on the <code>&lt;dt&gt;</code> and <code>&lt;dd&gt;</code>. Use it
14
+ where the pair <em>is</em> the content; where every row also carries a
15
+ description, a <code>&lt;p&gt;</code> stays simpler.
16
+ </p>
17
+
18
+ <div class="mw-grid-2 mw-gap-6">
19
+ <div>
20
+ <h3 class="mw-card-title mw-mb-4">On a menu</h3>
21
+ <div class="mw-card mw-card-simple">
22
+ <div class="mw-item-list">
23
+ <div>
24
+ <p class="mw-leader-row">
25
+ <span class="mw-leader-row-label mw-text-bold">Flatbread soup</span>
26
+ <span class="mw-leader-row-value mw-text-bold mw-text-primary"
27
+ >5.80</span
28
+ >
29
+ </p>
30
+ <p class="mw-text-sm mw-text-muted mw-mb-0">
31
+ Beef broth with pancake strips and chives
32
+ </p>
33
+ </div>
34
+ <div>
35
+ <p class="mw-leader-row">
36
+ <span class="mw-leader-row-label mw-text-bold"
37
+ >Roast pork with dumpling and red cabbage</span
38
+ >
39
+ <span class="mw-leader-row-value mw-text-bold mw-text-primary"
40
+ >17.50</span
41
+ >
42
+ </p>
43
+ <p class="mw-text-sm mw-text-muted mw-mb-0">
44
+ A long label wraps and the leader stays beside its last line
45
+ </p>
46
+ </div>
47
+ </div>
48
+ </div>
49
+
50
+ <h3 class="mw-card-title mw-mb-4 mw-mt-6">Value on the first line</h3>
51
+ <div class="mw-card mw-card-simple">
52
+ <p class="mw-text-muted mw-text-sm mw-mb-5">
53
+ <code>mw-leader-row-top</code> keeps the value beside the
54
+ <em>first</em> line of a wrapping label instead of the last. On a menu
55
+ that is where the price belongs - next to the dish, not somewhere down
56
+ in its description.
57
+ </p>
58
+ <p class="mw-leader-row mw-leader-row-top">
59
+ <span class="mw-leader-row-label mw-text-bold"
60
+ >Roast pork with dumpling and red cabbage</span
61
+ >
62
+ <span class="mw-leader-row-value mw-text-bold mw-text-primary"
63
+ >17.50</span
64
+ >
65
+ </p>
66
+ </div>
67
+
68
+ <h3 class="mw-card-title mw-mb-4 mw-mt-6">Semantic markup</h3>
69
+ <div class="mw-card mw-card-simple">
70
+ <p class="mw-text-muted mw-text-sm mw-mb-5">
71
+ The same row as a <code>&lt;dl&gt;</code>: the group
72
+ <code>&lt;div&gt;</code> carries <code>mw-leader-row</code>, the
73
+ <code>&lt;dt&gt;</code> and <code>&lt;dd&gt;</code> carry the other two
74
+ classes. No extra element over the <code>&lt;p&gt;</code> version.
75
+ </p>
76
+ <dl class="mw-item-list">
77
+ <div class="mw-leader-row">
78
+ <dt class="mw-leader-row-label">Potato soup with marjoram</dt>
79
+ <dd class="mw-leader-row-value">4.90</dd>
80
+ </div>
81
+ <div class="mw-leader-row">
82
+ <dt class="mw-leader-row-label">Mixed leaf salad</dt>
83
+ <dd class="mw-leader-row-value">3.80</dd>
84
+ </div>
85
+ </dl>
86
+ </div>
87
+ </div>
88
+
89
+ <div>
90
+ <h3 class="mw-card-title mw-mb-4">Line styles</h3>
91
+ <div class="mw-card mw-card-simple mw-grid-1 mw-gap-6">
92
+ <div>
93
+ <h4 class="mw-text-medium mw-mb-2">Dotted (default)</h4>
94
+ <p class="mw-leader-row">
95
+ <span class="mw-leader-row-label">Introduction</span>
96
+ <span class="mw-leader-row-value">7</span>
97
+ </p>
98
+ </div>
99
+ <div>
100
+ <h4 class="mw-text-medium mw-mb-2">Dashed</h4>
101
+ <p class="mw-leader-row mw-leader-row-dashed">
102
+ <span class="mw-leader-row-label">Second movement</span>
103
+ <span class="mw-leader-row-value">24</span>
104
+ </p>
105
+ </div>
106
+ <div>
107
+ <h4 class="mw-text-medium mw-mb-2">Solid</h4>
108
+ <p class="mw-leader-row mw-leader-row-solid">
109
+ <span class="mw-leader-row-label">Appendix</span>
110
+ <span class="mw-leader-row-value">128</span>
111
+ </p>
112
+ </div>
113
+ <div>
114
+ <h4 class="mw-text-medium mw-mb-2">Retuned per row</h4>
115
+ <p
116
+ class="mw-leader-row"
117
+ style="--mw-leader-row-color: var(--mw-primary-color)"
118
+ >
119
+ <span class="mw-leader-row-label">Total</span>
120
+ <span class="mw-leader-row-value mw-text-bold">1 284.00</span>
121
+ </p>
122
+ </div>
123
+ </div>
124
+
125
+ <h3 class="mw-card-title mw-mb-4 mw-mt-6">Two values</h3>
126
+ <div class="mw-card mw-card-simple">
127
+ <p class="mw-text-muted mw-text-sm mw-mb-5">
128
+ A second <code>mw-leader-row-value</code> needs no extra class - both
129
+ sit after the leader, and a mark in the leader's colour goes between
130
+ them so the pair does not read as one long range.
131
+ </p>
132
+ <p class="mw-leader-row">
133
+ <span class="mw-leader-row-label">Wiener schnitzel with fries</span>
134
+ <span class="mw-leader-row-value mw-text-muted">11.50</span>
135
+ <span class="mw-leader-row-value mw-text-bold">15.90</span>
136
+ </p>
137
+ </div>
138
+ </div>
139
+ </div>
@@ -0,0 +1,341 @@
1
+ <h3 class="mw-section-subtitle">Lunch menu</h3>
2
+ <p class="mw-text-muted mw-text-measure mw-mb-6">
3
+ Nothing below is a lunch-menu component. It is <code>mw-card</code>,
4
+ <code>mw-price</code>, <code>mw-date-stamp</code> and two grid classes - a
5
+ weekly menu is a composition, not a widget. One day per row: five columns
6
+ would squeeze a dish name into a fifth of the page, and a wrapping grid would
7
+ orphan the fifth card into a row of its own. <code>mw-grid-even</code> gives
8
+ every row the height of the tallest, so a day with a second line of
9
+ description does not make its card taller than the rest of the week.
10
+ </p>
11
+ <p class="mw-text-muted mw-text-measure mw-mb-6">
12
+ <code>mw-date-stamp</code> answers to the card, not the viewport. On a narrow
13
+ card it is a muted line above the title; once the card is wide enough that a
14
+ single column would leave its right half empty - as every card in a stacked
15
+ list is - the same markup becomes the column on the left. Because the width it
16
+ switches at is the card's, a stamp behaves the same whichever grid it is
17
+ dropped into. <code>mw-date-stamp-today</code> fills that column instead of
18
+ recolouring it: the price is already primary, and two blues compete where one
19
+ would point.
20
+ </p>
21
+
22
+ <div class="mw-container-narrow">
23
+ <div class="mw-grid-1 mw-grid-even">
24
+ <article class="mw-card mw-offer">
25
+ <div class="mw-card-body">
26
+ <p class="mw-date-stamp">
27
+ <span class="mw-date-stamp-day">Mon</span>
28
+ <span class="mw-date-stamp-date">14.09.</span>
29
+ </p>
30
+ <div class="mw-date-stamp-body">
31
+ <h4 class="mw-text-base mw-text-bold mw-mb-2">
32
+ Lentils with spaetzle
33
+ </h4>
34
+ <p class="mw-text-sm mw-text-muted mw-mb-0">
35
+ Two sausages, a splash of vinegar, and bread on the side.
36
+ </p>
37
+ </div>
38
+ <p class="mw-price mw-price-xs">
39
+ <span class="mw-price-amount">10.90</span>
40
+ <span class="mw-price-currency">Euro</span>
41
+ </p>
42
+ </div>
43
+ </article>
44
+
45
+ <article class="mw-card mw-offer">
46
+ <div class="mw-card-body">
47
+ <p class="mw-date-stamp">
48
+ <span class="mw-date-stamp-day">Tue</span>
49
+ <span class="mw-date-stamp-date">15.09.</span>
50
+ </p>
51
+ <div class="mw-date-stamp-body">
52
+ <h4 class="mw-text-base mw-text-bold mw-mb-2">Roast pork</h4>
53
+ <p class="mw-text-sm mw-text-muted mw-mb-0">
54
+ Bread dumpling, red cabbage and a dark gravy.
55
+ </p>
56
+ </div>
57
+ <p class="mw-price mw-price-xs">
58
+ <span class="mw-price-amount">11.90</span>
59
+ <span class="mw-price-currency">Euro</span>
60
+ </p>
61
+ </div>
62
+ </article>
63
+
64
+ <article class="mw-card mw-offer">
65
+ <div class="mw-card-body">
66
+ <p class="mw-date-stamp">
67
+ <span class="mw-date-stamp-day">Wed</span>
68
+ <span class="mw-date-stamp-date">16.09.</span>
69
+ </p>
70
+ <div class="mw-date-stamp-body">
71
+ <h4 class="mw-text-base mw-text-bold mw-mb-2">Cheese spaetzle</h4>
72
+ <p class="mw-text-sm mw-text-muted mw-mb-0">
73
+ Hand-scraped, mountain cheese, roasted onions, leaf salad.
74
+ </p>
75
+ <p class="mw-tags">
76
+ <span class="mw-tag mw-tag-success">veggie</span>
77
+ </p>
78
+ </div>
79
+ <p class="mw-price mw-price-xs">
80
+ <span class="mw-price-amount">10.50</span>
81
+ <span class="mw-price-currency">Euro</span>
82
+ </p>
83
+ </div>
84
+ </article>
85
+
86
+ <article class="mw-card mw-offer">
87
+ <div class="mw-card-body">
88
+ <p class="mw-date-stamp">
89
+ <span class="mw-date-stamp-day">Thu</span>
90
+ <span class="mw-date-stamp-date">17.09.</span>
91
+ </p>
92
+ <div class="mw-date-stamp-body">
93
+ <h4 class="mw-text-base mw-text-bold mw-mb-2">
94
+ Schnitzel in cream sauce
95
+ </h4>
96
+ <p class="mw-text-sm mw-text-muted mw-mb-0">
97
+ Pork, with spaetzle and a small salad.
98
+ </p>
99
+ </div>
100
+ <p class="mw-price mw-price-xs">
101
+ <span class="mw-price-amount">12.90</span>
102
+ <span class="mw-price-currency">Euro</span>
103
+ </p>
104
+ </div>
105
+ </article>
106
+
107
+ <article class="mw-card mw-offer">
108
+ <div class="mw-card-body">
109
+ <p class="mw-date-stamp mw-date-stamp-today">
110
+ <span class="mw-sr-only">Today,</span>
111
+ <span class="mw-date-stamp-day">Fri</span>
112
+ <span class="mw-date-stamp-date">18.09.</span>
113
+ </p>
114
+ <div class="mw-date-stamp-body">
115
+ <h4 class="mw-text-base mw-text-bold mw-mb-2">Baked fish fillet</h4>
116
+ <p class="mw-text-sm mw-text-muted mw-mb-0">
117
+ In beer batter, with warm potato salad and remoulade.
118
+ </p>
119
+ </div>
120
+ <p class="mw-price mw-price-xs">
121
+ <span class="mw-price-amount">11.90</span>
122
+ <span class="mw-price-currency">Euro</span>
123
+ </p>
124
+ </div>
125
+ </article>
126
+ </div>
127
+ </div>
128
+
129
+ <h3 class="mw-card-title mw-mb-4 mw-mt-10">Two dishes a day</h3>
130
+ <p class="mw-text-muted mw-text-measure mw-mb-6">
131
+ The day is the card, so a second dish is another row inside it rather than a
132
+ second card. With a price per dish there is nothing left for a price column to
133
+ hold, so it goes instead where a printed menu puts it - on a
134
+ <code>mw-leader-row</code>, at the end of the line it prices. The stamp does
135
+ not change at all: it still centres against whatever the card holds beside it,
136
+ two rows or ten.
137
+ </p>
138
+
139
+ <div class="mw-container-narrow">
140
+ <div class="mw-grid-1 mw-grid-even">
141
+ <article class="mw-card">
142
+ <div class="mw-card-body">
143
+ <p class="mw-date-stamp">
144
+ <span class="mw-date-stamp-day">Mon</span>
145
+ <span class="mw-date-stamp-date">14.09.</span>
146
+ </p>
147
+ <div class="mw-date-stamp-body">
148
+ <div class="mw-item-list">
149
+ <div>
150
+ <p class="mw-leader-row mw-leader-row-top">
151
+ <span class="mw-leader-row-label mw-text-bold">
152
+ Lentils with spaetzle
153
+ </span>
154
+ <span class="mw-leader-row-value mw-text-bold mw-text-primary">
155
+ 10.90 &euro;
156
+ </span>
157
+ </p>
158
+ <p class="mw-text-sm mw-text-muted mw-mb-0">
159
+ Two sausages and a splash of vinegar.
160
+ </p>
161
+ </div>
162
+ <div>
163
+ <p class="mw-leader-row mw-leader-row-top">
164
+ <span class="mw-leader-row-label mw-text-bold">
165
+ Potato soup with marjoram
166
+ <span class="mw-tag mw-tag-success">veggie</span>
167
+ </span>
168
+ <span class="mw-leader-row-value mw-text-bold mw-text-primary">
169
+ 6.50 &euro;
170
+ </span>
171
+ </p>
172
+ <p class="mw-text-sm mw-text-muted mw-mb-0">
173
+ With a slice of farmhouse bread.
174
+ </p>
175
+ </div>
176
+ </div>
177
+ </div>
178
+ </div>
179
+ </article>
180
+ <article class="mw-card">
181
+ <div class="mw-card-body">
182
+ <p class="mw-date-stamp">
183
+ <span class="mw-date-stamp-day">Tue</span>
184
+ <span class="mw-date-stamp-date">15.09.</span>
185
+ </p>
186
+ <div class="mw-date-stamp-body">
187
+ <div class="mw-item-list">
188
+ <div>
189
+ <p class="mw-leader-row mw-leader-row-top">
190
+ <span class="mw-leader-row-label mw-text-bold">
191
+ Roast pork
192
+ </span>
193
+ <span class="mw-leader-row-value mw-text-bold mw-text-primary">
194
+ 11.90 &euro;
195
+ </span>
196
+ </p>
197
+ <p class="mw-text-sm mw-text-muted mw-mb-0">
198
+ Bread dumpling, red cabbage, dark gravy.
199
+ </p>
200
+ </div>
201
+ <div>
202
+ <p class="mw-leader-row mw-leader-row-top">
203
+ <span class="mw-leader-row-label mw-text-bold">
204
+ Cheese spaetzle
205
+ <span class="mw-tag mw-tag-success">veggie</span>
206
+ </span>
207
+ <span class="mw-leader-row-value mw-text-bold mw-text-primary">
208
+ 10.50 &euro;
209
+ </span>
210
+ </p>
211
+ <p class="mw-text-sm mw-text-muted mw-mb-0">
212
+ Mountain cheese, roasted onions, leaf salad.
213
+ </p>
214
+ </div>
215
+ </div>
216
+ </div>
217
+ </div>
218
+ </article>
219
+ <article class="mw-card">
220
+ <div class="mw-card-body">
221
+ <p class="mw-date-stamp">
222
+ <span class="mw-date-stamp-day">Wed</span>
223
+ <span class="mw-date-stamp-date">16.09.</span>
224
+ </p>
225
+ <div class="mw-date-stamp-body">
226
+ <div class="mw-item-list">
227
+ <div>
228
+ <p class="mw-leader-row mw-leader-row-top">
229
+ <span class="mw-leader-row-label mw-text-bold">
230
+ Barley stew
231
+ <span class="mw-tag mw-tag-success">veggie</span>
232
+ </span>
233
+ <span class="mw-leader-row-value mw-text-bold mw-text-primary">
234
+ 9.50 &euro;
235
+ </span>
236
+ </p>
237
+ <p class="mw-text-sm mw-text-muted mw-mb-0">
238
+ Root vegetables, simmered since morning.
239
+ </p>
240
+ </div>
241
+ <div>
242
+ <p class="mw-leader-row mw-leader-row-top">
243
+ <span class="mw-leader-row-label mw-text-bold">
244
+ Beef roulade
245
+ </span>
246
+ <span class="mw-leader-row-value mw-text-bold mw-text-primary">
247
+ 13.50 &euro;
248
+ </span>
249
+ </p>
250
+ <p class="mw-text-sm mw-text-muted mw-mb-0">
251
+ Mashed potato and green beans.
252
+ </p>
253
+ </div>
254
+ </div>
255
+ </div>
256
+ </div>
257
+ </article>
258
+ <article class="mw-card">
259
+ <div class="mw-card-body">
260
+ <p class="mw-date-stamp">
261
+ <span class="mw-date-stamp-day">Thu</span>
262
+ <span class="mw-date-stamp-date">17.09.</span>
263
+ </p>
264
+ <div class="mw-date-stamp-body">
265
+ <div class="mw-item-list">
266
+ <div>
267
+ <p class="mw-leader-row mw-leader-row-top">
268
+ <span class="mw-leader-row-label mw-text-bold">
269
+ Schnitzel in cream sauce
270
+ </span>
271
+ <span class="mw-leader-row-value mw-text-bold mw-text-primary">
272
+ 12.90 &euro;
273
+ </span>
274
+ </p>
275
+ <p class="mw-text-sm mw-text-muted mw-mb-0">
276
+ Pork, with spaetzle and a small salad.
277
+ </p>
278
+ </div>
279
+ <div>
280
+ <p class="mw-leader-row mw-leader-row-top">
281
+ <span class="mw-leader-row-label mw-text-bold">
282
+ Mushroom ragout
283
+ <span class="mw-tag mw-tag-success">veggie</span>
284
+ </span>
285
+ <span class="mw-leader-row-value mw-text-bold mw-text-primary">
286
+ 10.90 &euro;
287
+ </span>
288
+ </p>
289
+ <p class="mw-text-sm mw-text-muted mw-mb-0">
290
+ With a bread dumpling.
291
+ </p>
292
+ </div>
293
+ </div>
294
+ </div>
295
+ </div>
296
+ </article>
297
+ <article class="mw-card">
298
+ <div class="mw-card-body">
299
+ <p class="mw-date-stamp mw-date-stamp-today">
300
+ <span class="mw-sr-only">Today,</span>
301
+ <span class="mw-date-stamp-day">Fri</span>
302
+ <span class="mw-date-stamp-date">18.09.</span>
303
+ </p>
304
+ <div class="mw-date-stamp-body">
305
+ <div class="mw-item-list">
306
+ <div>
307
+ <p class="mw-leader-row mw-leader-row-top">
308
+ <span class="mw-leader-row-label mw-text-bold">
309
+ Baked fish fillet
310
+ </span>
311
+ <span class="mw-leader-row-value mw-text-bold mw-text-primary">
312
+ 11.90 &euro;
313
+ </span>
314
+ </p>
315
+ <p class="mw-text-sm mw-text-muted mw-mb-0">
316
+ Beer batter, warm potato salad, remoulade.
317
+ </p>
318
+ </div>
319
+ <div>
320
+ <p class="mw-leader-row mw-leader-row-top">
321
+ <span class="mw-leader-row-label mw-text-bold">
322
+ Pancake soup
323
+ </span>
324
+ <span class="mw-leader-row-value mw-text-bold mw-text-primary">
325
+ 5.80 &euro;
326
+ </span>
327
+ </p>
328
+ <p class="mw-text-sm mw-text-muted mw-mb-0">
329
+ Beef broth with chives.
330
+ </p>
331
+ </div>
332
+ </div>
333
+ </div>
334
+ </div>
335
+ </article>
336
+ </div>
337
+ </div>
338
+
339
+ <p class="mw-text-muted mw-text-sm mw-mt-6">
340
+ The menu changes every week. No reservation, while the pot lasts.
341
+ </p>
@@ -23,17 +23,48 @@
23
23
  // Only the slope is in vw: a size in vw alone ignores the reader's font size and
24
24
  // stops responding to zoom, the rem term is what keeps that alive.
25
25
  @function fluid($min, $max, $from: 'xs', $to: 'md') {
26
- $min-rem: _to-rem($min, 'min');
27
- $max-rem: _to-rem($max, 'max');
28
- $vw-from: math.div(map.get(v.$breakpoints, $from), 16px);
29
- $vw-to: math.div(map.get(v.$breakpoints, $to), 16px);
26
+ @return _ramp(
27
+ _to-rem($min, 'min'),
28
+ _to-rem($max, 'max'),
29
+ math.div(map.get(v.$breakpoints, $from), 16px),
30
+ math.div(map.get(v.$breakpoints, $to), 16px),
31
+ vw
32
+ );
33
+ }
34
+
35
+ // The same ramp against the container instead of the viewport. For anything
36
+ // inside a `@container` block: sizing there off vw means a 440px card on a
37
+ // 1400px screen takes the width a 900px card was measured for, which is the
38
+ // mismatch container queries exist to remove. The endpoints are container
39
+ // widths rather than breakpoint names, because a container has no breakpoints.
40
+ @function fluid-container($min, $max, $from, $to) {
41
+ $from-rem: _to-rem($from, 'from');
42
+ $to-rem: _to-rem($to, 'to');
43
+
44
+ @if $from-rem == $to-rem {
45
+ @error "fluid-container(): $from and $to must differ, both are #{$from}.";
46
+ }
47
+
48
+ @return _ramp(
49
+ _to-rem($min, 'min'),
50
+ _to-rem($max, 'max'),
51
+ $from-rem,
52
+ $to-rem,
53
+ cqi
54
+ );
55
+ }
30
56
 
31
- $slope: math.div($max-rem - $min-rem, $vw-to - $vw-from);
32
- $intercept: $min-rem - $slope * $vw-from;
57
+ // Both of the above draw the same line through (from, min) and (to, max) and
58
+ // disagree only on what measures the axis. Shared so a change to the rem term -
59
+ // the part that keeps the size responding to zoom - cannot reach one and miss
60
+ // the other.
61
+ @function _ramp($min-rem, $max-rem, $from-rem, $to-rem, $unit) {
62
+ $slope: math.div($max-rem - $min-rem, $to-rem - $from-rem);
63
+ $intercept: $min-rem - $slope * $from-rem;
33
64
 
34
65
  @return clamp(
35
66
  #{$min-rem}rem,
36
- #{_round4($intercept)}rem + #{_round4($slope * 100)}vw,
67
+ #{_round4($intercept)}rem + #{_round4($slope * 100)}#{$unit},
37
68
  #{$max-rem}rem
38
69
  );
39
70
  }