@ilo-org/styles 1.14.0 → 1.14.2
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/css/components/audioplayer.css +1 -1
- package/css/components/video.css +1 -1
- package/css/index.css +1 -1
- package/css/index.css.map +1 -1
- package/css/monorepo.css +1 -1
- package/css/monorepo.css.map +1 -1
- package/package.json +1 -1
- package/scss/components/_audioplayer.scss +35 -4
- package/scss/components/_video.scss +48 -20
package/package.json
CHANGED
|
@@ -38,12 +38,27 @@
|
|
|
38
38
|
padding-block-end: spacing(3);
|
|
39
39
|
}
|
|
40
40
|
&--track-name {
|
|
41
|
+
// `display: block` is required for the ellipsis to apply: when `nameHref`
|
|
42
|
+
// is set the name renders as an inline `<a>`, and text-overflow/overflow
|
|
43
|
+
// are no-ops on inline elements, so long linked titles would overflow
|
|
44
|
+
// instead of truncating.
|
|
45
|
+
display: block;
|
|
41
46
|
font-size: var(--ilo-font-size-sm);
|
|
42
47
|
font-weight: var(--ilo-font-weight-medium);
|
|
43
48
|
line-height: var(--ilo-line-height-lg);
|
|
49
|
+
text-overflow: ellipsis;
|
|
50
|
+
overflow: hidden;
|
|
51
|
+
white-space: nowrap;
|
|
44
52
|
}
|
|
45
53
|
&--track-details {
|
|
46
|
-
|
|
54
|
+
// Block (not flex) so the combined "programme • creator" line truncates
|
|
55
|
+
// with an ellipsis when it overflows; text-overflow is a no-op on a flex
|
|
56
|
+
// container. The child spans stay inline, so the bullet separator and
|
|
57
|
+
// spacing are unchanged.
|
|
58
|
+
display: block;
|
|
59
|
+
overflow: hidden;
|
|
60
|
+
text-overflow: ellipsis;
|
|
61
|
+
white-space: nowrap;
|
|
47
62
|
font-size: var(--ilo-font-size-xsm);
|
|
48
63
|
line-height: var(--ilo-line-height-xlg);
|
|
49
64
|
color: var(--ilo-color-gray-light);
|
|
@@ -186,18 +201,34 @@
|
|
|
186
201
|
|
|
187
202
|
@include breakpoint("md") {
|
|
188
203
|
&--body {
|
|
189
|
-
|
|
204
|
+
// The center column hugs its content while the equal minmax(0, 1fr) side
|
|
205
|
+
// tracks keep it optically centered. minmax(0, 1fr) (not plain 1fr, which
|
|
206
|
+
// has an implicit min-content floor) lets the side tracks shrink below
|
|
207
|
+
// their content so the title/authors can truncate instead of pushing the
|
|
208
|
+
// center off-axis.
|
|
209
|
+
grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
|
|
190
210
|
grid-template-rows: auto;
|
|
191
211
|
grid-template-areas: "left center right";
|
|
192
212
|
}
|
|
193
213
|
&--left {
|
|
194
214
|
border-bottom: none;
|
|
195
|
-
padding-inline: spacing(3) 0;
|
|
196
215
|
padding-block: 0;
|
|
216
|
+
// Trailing gap separating the title/authors from the centered controls.
|
|
217
|
+
// The 5vw term scales with the viewport — tighter when narrow, roomier
|
|
218
|
+
// when wide. vw (not %, which resolves against this item's own narrow grid
|
|
219
|
+
// track and so never reaches the bounds) ties the gap to viewport width so
|
|
220
|
+
// the clamp's floor (narrow `md`) and ceiling (ultra-wide) actually engage.
|
|
221
|
+
padding-inline: spacing(3) clamp(spacing(3), 4vw, spacing(11));
|
|
222
|
+
// Allow the column to shrink below its content's intrinsic width so the
|
|
223
|
+
// title/authors can truncate.
|
|
224
|
+
min-width: 0;
|
|
197
225
|
}
|
|
198
226
|
&--center {
|
|
199
227
|
justify-content: center;
|
|
200
|
-
padding
|
|
228
|
+
// Horizontal padding gives the play controls breathing room from the
|
|
229
|
+
// title (left) and time/volume cluster (right). The center track is
|
|
230
|
+
// auto-sized, so this widens the gap on both sides while staying centered.
|
|
231
|
+
padding-block: 0;
|
|
201
232
|
}
|
|
202
233
|
&--volume-slider {
|
|
203
234
|
width: 40%;
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
// Video Button
|
|
7
7
|
// ======================================
|
|
8
8
|
@mixin videobutton($name, $size: "standard") {
|
|
9
|
-
$height: if($size == "big", 72px,
|
|
9
|
+
$height: if($size == "big", 72px, 24px);
|
|
10
10
|
$box: if($size == "big", 80px, 40px);
|
|
11
11
|
$width: $height;
|
|
12
12
|
$icon-color-default: rgba(237, 240, 242, 1);
|
|
@@ -233,7 +233,7 @@
|
|
|
233
233
|
}
|
|
234
234
|
|
|
235
235
|
.vjs-menu {
|
|
236
|
-
background: var(--ilo-color-brand-
|
|
236
|
+
background: var(--ilo-color-brand-100);
|
|
237
237
|
border: 0;
|
|
238
238
|
bottom: calc(100% + #{px-to-rem(8px)});
|
|
239
239
|
display: none;
|
|
@@ -243,7 +243,7 @@
|
|
|
243
243
|
right: auto;
|
|
244
244
|
transform: translateX(-50%);
|
|
245
245
|
z-index: 40;
|
|
246
|
-
padding-top: px-to-rem(
|
|
246
|
+
padding-top: px-to-rem(8px);
|
|
247
247
|
|
|
248
248
|
// gap added to ensure vjs-hover persists when hovering to menu from captions button
|
|
249
249
|
&::after {
|
|
@@ -256,13 +256,12 @@
|
|
|
256
256
|
}
|
|
257
257
|
|
|
258
258
|
&:before {
|
|
259
|
-
@include typography("
|
|
259
|
+
@include typography("highlight-medium-bold");
|
|
260
260
|
content: var(--ilo-video-choose-subtitle-text, "Choose subtitles");
|
|
261
261
|
color: var(--ilo-color-gray-charcoal);
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
top: px-to-rem(8px);
|
|
262
|
+
display: block;
|
|
263
|
+
margin-bottom: spacing(2);
|
|
264
|
+
padding-left: px-to-rem(12px);
|
|
266
265
|
}
|
|
267
266
|
}
|
|
268
267
|
|
|
@@ -278,10 +277,13 @@
|
|
|
278
277
|
max-height: px-to-rem(120px);
|
|
279
278
|
overflow-y: auto;
|
|
280
279
|
padding: 0 0 px-to-rem(4px);
|
|
280
|
+
display: flex;
|
|
281
|
+
flex-direction: column;
|
|
282
|
+
gap: spacing(2);
|
|
281
283
|
}
|
|
282
284
|
|
|
283
285
|
.vjs-menu-item {
|
|
284
|
-
@include typography("body-
|
|
286
|
+
@include typography("body-small");
|
|
285
287
|
align-items: center;
|
|
286
288
|
color: var(--ilo-color-gray-charcoal);
|
|
287
289
|
display: flex;
|
|
@@ -294,37 +296,63 @@
|
|
|
294
296
|
|
|
295
297
|
&:hover {
|
|
296
298
|
background: var(--ilo-color-neutrals-200);
|
|
299
|
+
cursor: pointer;
|
|
297
300
|
}
|
|
298
301
|
|
|
302
|
+
// Radio control — mirrors .ilo--radio in _radio.scss:
|
|
303
|
+
// :before is the outer 20px circle (in flow, reserves space),
|
|
304
|
+
// :after is the inner 14px dot overlaid on top.
|
|
299
305
|
&:before {
|
|
300
|
-
background: transparent;
|
|
301
|
-
border: 2px solid var(--ilo-color-neutrals-500);
|
|
302
|
-
border-radius: 50%;
|
|
303
306
|
content: "";
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
+
background-color: var(--ilo-color-gray-base);
|
|
308
|
+
border-radius: 50%;
|
|
309
|
+
height: px-to-rem(20px);
|
|
310
|
+
width: px-to-rem(20px);
|
|
307
311
|
flex-shrink: 0;
|
|
312
|
+
display: inline-block;
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
&:after {
|
|
316
|
+
content: "";
|
|
317
|
+
background-color: var(--ilo-color-gray-base);
|
|
318
|
+
border: px-to-rem(4px) solid var(--ilo-color-gray-base);
|
|
319
|
+
border-radius: 50%;
|
|
320
|
+
height: px-to-rem(14px);
|
|
321
|
+
width: px-to-rem(14px);
|
|
322
|
+
// padding-left (12px) + radio's 3px inset
|
|
323
|
+
left: px-to-rem(15px);
|
|
324
|
+
top: 50%;
|
|
325
|
+
transform: translateY(-50%);
|
|
326
|
+
position: absolute;
|
|
327
|
+
z-index: 1;
|
|
328
|
+
pointer-events: none;
|
|
308
329
|
}
|
|
309
330
|
|
|
310
331
|
&.vjs-selected {
|
|
311
332
|
color: var(--ilo-color-gray-charcoal);
|
|
312
333
|
|
|
313
334
|
&:before {
|
|
314
|
-
|
|
315
|
-
box-shadow: inset 0 0 0 px-to-rem(2px) var(--ilo-color-neutrals-200);
|
|
316
|
-
background: var(--ilo-color-neutrals-black);
|
|
335
|
+
background-color: var(--ilo-color-blue-dark);
|
|
317
336
|
}
|
|
337
|
+
|
|
338
|
+
&:after {
|
|
339
|
+
background-color: var(--ilo-color-blue-lighter);
|
|
340
|
+
border-color: var(--ilo-color-blue-dark);
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
|
|
344
|
+
&:focus:before {
|
|
345
|
+
background-color: var(--ilo-color-yellow);
|
|
318
346
|
}
|
|
319
347
|
}
|
|
320
348
|
|
|
321
349
|
.vjs-menu-item[tabindex="-1"]:first-child .vjs-menu-item-text {
|
|
322
350
|
font-size: 0;
|
|
351
|
+
line-height: 0; // collapse the zeroed-text strut so it can't inflate the row
|
|
323
352
|
|
|
324
353
|
&:after {
|
|
325
|
-
@include typography("body-
|
|
354
|
+
@include typography("body-small");
|
|
326
355
|
content: var(--ilo-video-none, "None");
|
|
327
|
-
font-size: px-to-rem(12px);
|
|
328
356
|
line-height: px-to-rem(20px);
|
|
329
357
|
}
|
|
330
358
|
}
|