@guardian/interactive-component-library 0.7.16 → 0.8.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/dist/components/molecules/page-section/index.js +4 -2
- package/dist/components/molecules/page-section/style.module.scss.js +5 -5
- package/dist/components/organisms/index.d.ts +1 -0
- package/dist/components/organisms/ticker-v2/Gradient.d.ts +3 -0
- package/dist/components/organisms/ticker-v2/Gradient.js +40 -0
- package/dist/components/organisms/ticker-v2/index.d.ts +5 -0
- package/dist/components/organisms/ticker-v2/index.js +103 -0
- package/dist/components/organisms/ticker-v2/style.module.scss.js +32 -0
- package/dist/index.js +2 -0
- package/dist/style.css +124 -33
- package/package.json +1 -1
|
@@ -21,7 +21,9 @@ const PageSection = forwardRef(
|
|
|
21
21
|
const headerRef = useRef();
|
|
22
22
|
useLayoutEffect(() => {
|
|
23
23
|
const headerElement = headerRef.current;
|
|
24
|
-
|
|
24
|
+
if (headerElement) {
|
|
25
|
+
setMinHeight(headerElement.offsetHeight);
|
|
26
|
+
}
|
|
25
27
|
}, [children]);
|
|
26
28
|
return /* @__PURE__ */ jsxs(
|
|
27
29
|
"section",
|
|
@@ -32,7 +34,7 @@ const PageSection = forwardRef(
|
|
|
32
34
|
style: { "--background-color": backgroundColor, minHeight },
|
|
33
35
|
children: [
|
|
34
36
|
borderTop && /* @__PURE__ */ jsx("div", { className: styles.borderTop }),
|
|
35
|
-
/* @__PURE__ */ jsx(
|
|
37
|
+
children.header && /* @__PURE__ */ jsx(
|
|
36
38
|
"div",
|
|
37
39
|
{
|
|
38
40
|
className: [styles.header, styles[layout]].join(" "),
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
const borderTop = "
|
|
2
|
-
const section = "
|
|
3
|
-
const fullWidth = "
|
|
4
|
-
const header = "
|
|
5
|
-
const content = "
|
|
1
|
+
const borderTop = "_borderTop_1v72w_9";
|
|
2
|
+
const section = "_section_1v72w_39";
|
|
3
|
+
const fullWidth = "_fullWidth_1v72w_39";
|
|
4
|
+
const header = "_header_1v72w_150";
|
|
5
|
+
const content = "_content_1v72w_187";
|
|
6
6
|
const defaultStyles = {
|
|
7
7
|
borderTop,
|
|
8
8
|
section,
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { jsxs, jsx, Fragment } from "preact/jsx-runtime";
|
|
2
|
+
import defaultStyles from "./style.module.scss.js";
|
|
3
|
+
function Gradient({ position = "left" }) {
|
|
4
|
+
return /* @__PURE__ */ jsxs(
|
|
5
|
+
"svg",
|
|
6
|
+
{
|
|
7
|
+
className: defaultStyles.gradient,
|
|
8
|
+
"data-position": position,
|
|
9
|
+
width: "100%",
|
|
10
|
+
height: "100%",
|
|
11
|
+
viewBox: "0 0 10 10",
|
|
12
|
+
fill: "none",
|
|
13
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
14
|
+
preserveAspectRatio: "none",
|
|
15
|
+
children: [
|
|
16
|
+
/* @__PURE__ */ jsx("g", { children: /* @__PURE__ */ jsx("rect", { width: "100%", height: "100%", fill: "url(#paint0_linear_3798_6653)" }) }),
|
|
17
|
+
/* @__PURE__ */ jsx("defs", { children: /* @__PURE__ */ jsx(
|
|
18
|
+
"linearGradient",
|
|
19
|
+
{
|
|
20
|
+
id: "paint0_linear_3798_6653",
|
|
21
|
+
x1: "0%",
|
|
22
|
+
y1: "0%",
|
|
23
|
+
x2: "100%",
|
|
24
|
+
y2: "0%",
|
|
25
|
+
children: position === "left" ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
26
|
+
/* @__PURE__ */ jsx("stop", { className: defaultStyles.lastStop, offset: "1" }),
|
|
27
|
+
/* @__PURE__ */ jsx("stop", { className: defaultStyles.firstStop })
|
|
28
|
+
] }) : /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
29
|
+
/* @__PURE__ */ jsx("stop", { className: defaultStyles.firstStop }),
|
|
30
|
+
/* @__PURE__ */ jsx("stop", { className: defaultStyles.lastStop, offset: "1" })
|
|
31
|
+
] })
|
|
32
|
+
}
|
|
33
|
+
) })
|
|
34
|
+
]
|
|
35
|
+
}
|
|
36
|
+
);
|
|
37
|
+
}
|
|
38
|
+
export {
|
|
39
|
+
Gradient
|
|
40
|
+
};
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { jsxs, jsx } from "preact/jsx-runtime";
|
|
2
|
+
import { toChildArray } from "preact";
|
|
3
|
+
import { mergeStyles } from "../../../styles/helpers/mergeStyles.js";
|
|
4
|
+
import defaultStyles from "./style.module.scss.js";
|
|
5
|
+
import { Gradient } from "./Gradient.js";
|
|
6
|
+
import { useState, useRef, useEffect } from "preact/hooks";
|
|
7
|
+
import "../../particles/info-button/index.js";
|
|
8
|
+
import "../../particles/relative-time-sentence/index.js";
|
|
9
|
+
import { ArrowButton } from "../../particles/arrow-button/index.js";
|
|
10
|
+
function Ticker({ buttonScrollDistance = 250, styles, children }) {
|
|
11
|
+
styles = mergeStyles({ ...defaultStyles }, styles);
|
|
12
|
+
const [isScrolledToStart, setIsScrolledToStart] = useState(true);
|
|
13
|
+
const [isScrolledToEnd, setIsScrolledToEnd] = useState(false);
|
|
14
|
+
const [isOverflow, setIsOverflow] = useState(false);
|
|
15
|
+
const childArray = toChildArray(children);
|
|
16
|
+
const scrollContainerRef = useRef(null);
|
|
17
|
+
function scrubLeft() {
|
|
18
|
+
const scrollContainer = scrollContainerRef.current;
|
|
19
|
+
if (!scrollContainer) return;
|
|
20
|
+
let newScrollLeft = scrollContainer.scrollLeft - buttonScrollDistance;
|
|
21
|
+
if (newScrollLeft < 100) {
|
|
22
|
+
newScrollLeft = 0;
|
|
23
|
+
}
|
|
24
|
+
scrollContainer.scrollTo({
|
|
25
|
+
left: newScrollLeft,
|
|
26
|
+
behavior: "smooth"
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
function scrubRight() {
|
|
30
|
+
const scrollContainer = scrollContainerRef.current;
|
|
31
|
+
if (!scrollContainer) return;
|
|
32
|
+
let scrollSpace = scrollContainer.scrollWidth - scrollContainer.clientWidth;
|
|
33
|
+
let newScrollLeft = scrollContainer.scrollLeft + buttonScrollDistance;
|
|
34
|
+
if (newScrollLeft > scrollSpace - 100) {
|
|
35
|
+
newScrollLeft = scrollSpace + 1;
|
|
36
|
+
}
|
|
37
|
+
scrollContainer.scrollTo({
|
|
38
|
+
left: newScrollLeft,
|
|
39
|
+
behavior: "smooth"
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
useEffect(() => {
|
|
43
|
+
const scrollContainer = scrollContainerRef.current;
|
|
44
|
+
if (!scrollContainer) return;
|
|
45
|
+
let scrollDebounceTimeout;
|
|
46
|
+
const handleScroll = () => {
|
|
47
|
+
clearTimeout(scrollDebounceTimeout);
|
|
48
|
+
scrollDebounceTimeout = setTimeout(() => {
|
|
49
|
+
const currentScroll = scrollContainer.scrollLeft;
|
|
50
|
+
const scrollSpace = scrollContainer.scrollWidth - scrollContainer.clientWidth - 4;
|
|
51
|
+
setIsScrolledToEnd(currentScroll > scrollSpace);
|
|
52
|
+
setIsScrolledToStart(currentScroll === 0);
|
|
53
|
+
}, 20);
|
|
54
|
+
};
|
|
55
|
+
scrollContainer.addEventListener("scroll", handleScroll);
|
|
56
|
+
return () => {
|
|
57
|
+
clearTimeout(scrollDebounceTimeout);
|
|
58
|
+
scrollContainer.removeEventListener("scroll", handleScroll);
|
|
59
|
+
};
|
|
60
|
+
}, []);
|
|
61
|
+
useEffect(() => {
|
|
62
|
+
const scrollContainer = scrollContainerRef.current;
|
|
63
|
+
if (!scrollContainer) return;
|
|
64
|
+
if (scrollContainer.scrollWidth > scrollContainer.clientWidth) {
|
|
65
|
+
setIsOverflow(true);
|
|
66
|
+
}
|
|
67
|
+
}, [children]);
|
|
68
|
+
return /* @__PURE__ */ jsxs("div", { className: styles.ticker, children: [
|
|
69
|
+
/* @__PURE__ */ jsx("div", { ref: scrollContainerRef, className: styles.scrollContainer, children: childArray.map((child, index) => {
|
|
70
|
+
var _a;
|
|
71
|
+
return /* @__PURE__ */ jsx("div", { className: styles.tickerItem, children: child }, ((_a = child.props) == null ? void 0 : _a.id) ?? index);
|
|
72
|
+
}) }),
|
|
73
|
+
/* @__PURE__ */ jsxs(
|
|
74
|
+
"div",
|
|
75
|
+
{
|
|
76
|
+
className: `${styles.scrubControls} ${isOverflow ? styles.showControls : ""}`,
|
|
77
|
+
children: [
|
|
78
|
+
/* @__PURE__ */ jsx(Gradient, { position: "right" }),
|
|
79
|
+
/* @__PURE__ */ jsx(
|
|
80
|
+
ArrowButton,
|
|
81
|
+
{
|
|
82
|
+
styles: { button: styles.arrowButton },
|
|
83
|
+
onClick: scrubRight,
|
|
84
|
+
disabled: isScrolledToEnd
|
|
85
|
+
}
|
|
86
|
+
),
|
|
87
|
+
/* @__PURE__ */ jsx(
|
|
88
|
+
ArrowButton,
|
|
89
|
+
{
|
|
90
|
+
styles: { button: styles.arrowButton },
|
|
91
|
+
direction: "left",
|
|
92
|
+
onClick: scrubLeft,
|
|
93
|
+
disabled: isScrolledToStart
|
|
94
|
+
}
|
|
95
|
+
)
|
|
96
|
+
]
|
|
97
|
+
}
|
|
98
|
+
)
|
|
99
|
+
] });
|
|
100
|
+
}
|
|
101
|
+
export {
|
|
102
|
+
Ticker
|
|
103
|
+
};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
const ticker = "_ticker_1pk9n_9";
|
|
2
|
+
const scrollContainer = "_scrollContainer_1pk9n_14";
|
|
3
|
+
const tickerItem = "_tickerItem_1pk9n_39";
|
|
4
|
+
const scrubControls = "_scrubControls_1pk9n_43";
|
|
5
|
+
const showControls = "_showControls_1pk9n_53";
|
|
6
|
+
const arrowButton = "_arrowButton_1pk9n_62";
|
|
7
|
+
const gradient = "_gradient_1pk9n_66";
|
|
8
|
+
const firstStop = "_firstStop_1pk9n_81";
|
|
9
|
+
const lastStop = "_lastStop_1pk9n_86";
|
|
10
|
+
const defaultStyles = {
|
|
11
|
+
ticker,
|
|
12
|
+
scrollContainer,
|
|
13
|
+
tickerItem,
|
|
14
|
+
scrubControls,
|
|
15
|
+
showControls,
|
|
16
|
+
arrowButton,
|
|
17
|
+
gradient,
|
|
18
|
+
firstStop,
|
|
19
|
+
lastStop
|
|
20
|
+
};
|
|
21
|
+
export {
|
|
22
|
+
arrowButton,
|
|
23
|
+
defaultStyles as default,
|
|
24
|
+
firstStop,
|
|
25
|
+
gradient,
|
|
26
|
+
lastStop,
|
|
27
|
+
scrollContainer,
|
|
28
|
+
scrubControls,
|
|
29
|
+
showControls,
|
|
30
|
+
ticker,
|
|
31
|
+
tickerItem
|
|
32
|
+
};
|
package/dist/index.js
CHANGED
|
@@ -61,6 +61,7 @@ import "./components/molecules/canvas-map/Map.js";
|
|
|
61
61
|
import { OptionPicker } from "./components/molecules/option-picker/index.js";
|
|
62
62
|
import { CoalitionsTracker } from "./components/organisms/coalitions-tracker/index.js";
|
|
63
63
|
import { Ticker } from "./components/organisms/ticker/index.js";
|
|
64
|
+
import { Ticker as Ticker2 } from "./components/organisms/ticker-v2/index.js";
|
|
64
65
|
import { useContainerSize } from "./shared/hooks/useContainerSize.js";
|
|
65
66
|
import { useTouchOrHover } from "./shared/hooks/useTouchOrHover.js";
|
|
66
67
|
import { useWindowSize } from "./shared/hooks/useWindowSize.js";
|
|
@@ -124,6 +125,7 @@ export {
|
|
|
124
125
|
Text,
|
|
125
126
|
TextLayer,
|
|
126
127
|
Ticker,
|
|
128
|
+
Ticker2,
|
|
127
129
|
Tooltip,
|
|
128
130
|
ToplineResult,
|
|
129
131
|
VectorLayer,
|
package/dist/style.css
CHANGED
|
@@ -1374,8 +1374,7 @@ body {
|
|
|
1374
1374
|
--undeclared: #e7e7e7;
|
|
1375
1375
|
}
|
|
1376
1376
|
@media (prefers-color-scheme: dark) {
|
|
1377
|
-
body
|
|
1378
|
-
body.android {
|
|
1377
|
+
:root:not([data-color-scheme=light]) body {
|
|
1379
1378
|
--border-divider-color: #606060;
|
|
1380
1379
|
--primary-text-color: #dcdcdc;
|
|
1381
1380
|
--secondary-text-color: #c8c8c8;
|
|
@@ -2186,79 +2185,79 @@ body.android {
|
|
|
2186
2185
|
--top-inset: 58px;
|
|
2187
2186
|
}
|
|
2188
2187
|
|
|
2189
|
-
.
|
|
2188
|
+
._borderTop_1v72w_9 {
|
|
2190
2189
|
border-top: 1px solid var(--border-divider-color);
|
|
2191
2190
|
transform: translate(-10px);
|
|
2192
2191
|
width: calc(100% + 20px);
|
|
2193
2192
|
}
|
|
2194
2193
|
@media (min-width: 30em) {
|
|
2195
|
-
.
|
|
2194
|
+
._borderTop_1v72w_9 {
|
|
2196
2195
|
transform: translate(-20px);
|
|
2197
2196
|
width: calc(100% + 40px);
|
|
2198
2197
|
}
|
|
2199
2198
|
}
|
|
2200
2199
|
@media (min-width: 46.25em) {
|
|
2201
|
-
.
|
|
2200
|
+
._borderTop_1v72w_9 {
|
|
2202
2201
|
width: calc(100% + 40px);
|
|
2203
2202
|
}
|
|
2204
2203
|
}
|
|
2205
2204
|
@media (min-width: 71.25em) {
|
|
2206
|
-
.
|
|
2205
|
+
._borderTop_1v72w_9 {
|
|
2207
2206
|
transform: translate(-180px);
|
|
2208
2207
|
width: calc(100% + 197px);
|
|
2209
2208
|
background-color: transparent;
|
|
2210
2209
|
}
|
|
2211
2210
|
}
|
|
2212
2211
|
@media (min-width: 81.25em) {
|
|
2213
|
-
.
|
|
2212
|
+
._borderTop_1v72w_9 {
|
|
2214
2213
|
transform: translate(-260px);
|
|
2215
2214
|
width: calc(100% + 279px);
|
|
2216
2215
|
}
|
|
2217
2216
|
}
|
|
2218
2217
|
|
|
2219
|
-
.
|
|
2218
|
+
._section_1v72w_39._fullWidth_1v72w_39 ._borderTop_1v72w_9 {
|
|
2220
2219
|
transform: none;
|
|
2221
2220
|
width: calc(100% - 1px);
|
|
2222
2221
|
}
|
|
2223
2222
|
|
|
2224
|
-
.
|
|
2223
|
+
._section_1v72w_39 {
|
|
2225
2224
|
position: relative;
|
|
2226
2225
|
z-index: 0;
|
|
2227
2226
|
padding-bottom: var(--space-8);
|
|
2228
2227
|
}
|
|
2229
2228
|
|
|
2230
|
-
.
|
|
2229
|
+
._section_1v72w_39._fullWidth_1v72w_39 {
|
|
2231
2230
|
transform: translate(-10px);
|
|
2232
2231
|
width: calc(100% + 20px);
|
|
2233
2232
|
margin: 0;
|
|
2234
2233
|
padding: 0;
|
|
2235
2234
|
}
|
|
2236
2235
|
@media (min-width: 30em) {
|
|
2237
|
-
.
|
|
2236
|
+
._section_1v72w_39._fullWidth_1v72w_39 {
|
|
2238
2237
|
transform: translate(-20px);
|
|
2239
2238
|
width: calc(100% + 40px);
|
|
2240
2239
|
}
|
|
2241
2240
|
}
|
|
2242
2241
|
@media (min-width: 46.25em) {
|
|
2243
|
-
.
|
|
2242
|
+
._section_1v72w_39._fullWidth_1v72w_39 {
|
|
2244
2243
|
transform: translate(-20px);
|
|
2245
2244
|
width: calc(100% + 40px);
|
|
2246
2245
|
}
|
|
2247
2246
|
}
|
|
2248
2247
|
@media (min-width: 71.25em) {
|
|
2249
|
-
.
|
|
2248
|
+
._section_1v72w_39._fullWidth_1v72w_39 {
|
|
2250
2249
|
transform: translate(-180px);
|
|
2251
2250
|
width: calc(100% + 197px);
|
|
2252
2251
|
}
|
|
2253
2252
|
}
|
|
2254
2253
|
@media (min-width: 81.25em) {
|
|
2255
|
-
.
|
|
2254
|
+
._section_1v72w_39._fullWidth_1v72w_39 {
|
|
2256
2255
|
transform: translate(-260px);
|
|
2257
2256
|
width: calc(100% + 280px);
|
|
2258
2257
|
}
|
|
2259
2258
|
}
|
|
2260
2259
|
|
|
2261
|
-
.
|
|
2260
|
+
._section_1v72w_39::before {
|
|
2262
2261
|
display: block;
|
|
2263
2262
|
content: "";
|
|
2264
2263
|
position: absolute;
|
|
@@ -2271,29 +2270,29 @@ body.android {
|
|
|
2271
2270
|
background-color: var(--background-color);
|
|
2272
2271
|
}
|
|
2273
2272
|
@media (min-width: 30em) {
|
|
2274
|
-
.
|
|
2273
|
+
._section_1v72w_39::before {
|
|
2275
2274
|
transform: translate(-20px);
|
|
2276
2275
|
width: calc(100% + 40px);
|
|
2277
2276
|
}
|
|
2278
2277
|
}
|
|
2279
2278
|
@media (min-width: 46.25em) {
|
|
2280
|
-
.
|
|
2279
|
+
._section_1v72w_39::before {
|
|
2281
2280
|
width: calc(100% + 40px);
|
|
2282
2281
|
}
|
|
2283
2282
|
}
|
|
2284
2283
|
@media (min-width: 71.25em) {
|
|
2285
|
-
.
|
|
2284
|
+
._section_1v72w_39::before {
|
|
2286
2285
|
transform: translateX(-9px);
|
|
2287
2286
|
width: calc(100% + 26px);
|
|
2288
2287
|
}
|
|
2289
2288
|
}
|
|
2290
2289
|
@media (min-width: 81.25em) {
|
|
2291
|
-
.
|
|
2290
|
+
._section_1v72w_39::before {
|
|
2292
2291
|
width: calc(100% + 27px);
|
|
2293
2292
|
}
|
|
2294
2293
|
}
|
|
2295
2294
|
|
|
2296
|
-
.
|
|
2295
|
+
._section_1v72w_39._fullWidth_1v72w_39::before {
|
|
2297
2296
|
transform: none;
|
|
2298
2297
|
width: calc(100% - 3px);
|
|
2299
2298
|
height: 100%;
|
|
@@ -2303,38 +2302,38 @@ body.android {
|
|
|
2303
2302
|
width: calc(100% + 20px);
|
|
2304
2303
|
}
|
|
2305
2304
|
@media (min-width: 30em) {
|
|
2306
|
-
.
|
|
2305
|
+
._section_1v72w_39._fullWidth_1v72w_39::before {
|
|
2307
2306
|
transform: translate(-20px);
|
|
2308
2307
|
width: calc(100% + 40px);
|
|
2309
2308
|
}
|
|
2310
2309
|
}
|
|
2311
2310
|
@media (min-width: 46.25em) {
|
|
2312
|
-
.
|
|
2311
|
+
._section_1v72w_39._fullWidth_1v72w_39::before {
|
|
2313
2312
|
width: 100%;
|
|
2314
2313
|
transform: translateX(-1px);
|
|
2315
2314
|
}
|
|
2316
2315
|
}
|
|
2317
2316
|
@media (min-width: 71.25em) {
|
|
2318
|
-
.
|
|
2317
|
+
._section_1v72w_39._fullWidth_1v72w_39::before {
|
|
2319
2318
|
transform: translateX(-1px);
|
|
2320
2319
|
width: 100%;
|
|
2321
2320
|
}
|
|
2322
2321
|
}
|
|
2323
2322
|
@media (min-width: 81.25em) {
|
|
2324
|
-
.
|
|
2323
|
+
._section_1v72w_39._fullWidth_1v72w_39::before {
|
|
2325
2324
|
transform: none;
|
|
2326
2325
|
width: calc(100% - 3px);
|
|
2327
2326
|
}
|
|
2328
2327
|
}
|
|
2329
2328
|
|
|
2330
|
-
.
|
|
2329
|
+
._header_1v72w_150 {
|
|
2331
2330
|
color: var(--primary-text-color);
|
|
2332
2331
|
padding-top: var(--space-2);
|
|
2333
2332
|
margin-bottom: var(--space-5);
|
|
2334
2333
|
}
|
|
2335
2334
|
|
|
2336
2335
|
@media (min-width: 71.25em) {
|
|
2337
|
-
body:not(.ios, .android) .
|
|
2336
|
+
body:not(.ios, .android) ._header_1v72w_150 {
|
|
2338
2337
|
position: absolute;
|
|
2339
2338
|
max-width: 160px;
|
|
2340
2339
|
transform: translateX(-170px);
|
|
@@ -2342,13 +2341,13 @@ body.android {
|
|
|
2342
2341
|
}
|
|
2343
2342
|
}
|
|
2344
2343
|
@media (min-width: 81.25em) {
|
|
2345
|
-
body:not(.ios, .android) .
|
|
2344
|
+
body:not(.ios, .android) ._header_1v72w_150 {
|
|
2346
2345
|
max-width: 220px;
|
|
2347
2346
|
transform: translateX(-250px);
|
|
2348
2347
|
}
|
|
2349
2348
|
}
|
|
2350
2349
|
|
|
2351
|
-
body .
|
|
2350
|
+
body ._header_1v72w_150._fullWidth_1v72w_39 {
|
|
2352
2351
|
position: absolute;
|
|
2353
2352
|
top: 0;
|
|
2354
2353
|
left: 0;
|
|
@@ -2359,28 +2358,32 @@ body ._header_1xpz0_150._fullWidth_1xpz0_39 {
|
|
|
2359
2358
|
max-width: 100%;
|
|
2360
2359
|
}
|
|
2361
2360
|
@media (min-width: 71.25em) {
|
|
2362
|
-
body .
|
|
2361
|
+
body ._header_1v72w_150._fullWidth_1v72w_39 {
|
|
2363
2362
|
margin-bottom: 0;
|
|
2364
2363
|
}
|
|
2365
2364
|
}
|
|
2366
2365
|
|
|
2367
|
-
.
|
|
2366
|
+
._content_1v72w_187 {
|
|
2368
2367
|
position: relative;
|
|
2369
2368
|
padding-top: 0;
|
|
2370
2369
|
z-index: 0;
|
|
2371
2370
|
color: var(--primary-text-color);
|
|
2372
2371
|
}
|
|
2373
2372
|
@media (min-width: 71.25em) {
|
|
2374
|
-
.
|
|
2373
|
+
._content_1v72w_187 {
|
|
2375
2374
|
padding-top: var(--space-2);
|
|
2376
2375
|
}
|
|
2377
2376
|
}
|
|
2378
2377
|
|
|
2379
|
-
.
|
|
2378
|
+
:not(._header_1v72w_150) + ._content_1v72w_187 {
|
|
2379
|
+
padding-top: var(--space-2);
|
|
2380
|
+
}
|
|
2381
|
+
|
|
2382
|
+
._content_1v72w_187._fullWidth_1v72w_39 {
|
|
2380
2383
|
padding-top: 0;
|
|
2381
2384
|
}
|
|
2382
2385
|
|
|
2383
|
-
.
|
|
2386
|
+
._content_1v72w_187._fullWidth_1v72w_39::before {
|
|
2384
2387
|
display: none;
|
|
2385
2388
|
}._text_1ci1k_1 {
|
|
2386
2389
|
font-family: var(--text-sans);
|
|
@@ -3413,4 +3416,92 @@ body.android {
|
|
|
3413
3416
|
left: 0;
|
|
3414
3417
|
bottom: 0;
|
|
3415
3418
|
padding-bottom: 8px;
|
|
3419
|
+
}body {
|
|
3420
|
+
--top-inset: 0;
|
|
3421
|
+
}
|
|
3422
|
+
|
|
3423
|
+
body.android {
|
|
3424
|
+
--top-inset: 58px;
|
|
3425
|
+
}
|
|
3426
|
+
|
|
3427
|
+
._ticker_1pk9n_9 {
|
|
3428
|
+
width: 100%;
|
|
3429
|
+
position: relative;
|
|
3430
|
+
}
|
|
3431
|
+
|
|
3432
|
+
._scrollContainer_1pk9n_14 {
|
|
3433
|
+
position: relative;
|
|
3434
|
+
padding: 0;
|
|
3435
|
+
cursor: default;
|
|
3436
|
+
display: flex;
|
|
3437
|
+
flex-direction: row;
|
|
3438
|
+
gap: var(--space-2);
|
|
3439
|
+
overflow-x: scroll;
|
|
3440
|
+
}
|
|
3441
|
+
@media (max-width: 29.99em) {
|
|
3442
|
+
._scrollContainer_1pk9n_14 {
|
|
3443
|
+
/* Make room for bottom scroll bar */
|
|
3444
|
+
padding-bottom: 8px;
|
|
3445
|
+
}
|
|
3446
|
+
}
|
|
3447
|
+
@media (min-width: 30em) {
|
|
3448
|
+
._scrollContainer_1pk9n_14 {
|
|
3449
|
+
/* Make room for the scrub controls */
|
|
3450
|
+
padding-right: 36px;
|
|
3451
|
+
}
|
|
3452
|
+
._scrollContainer_1pk9n_14::-webkit-scrollbar {
|
|
3453
|
+
display: none; /* for Chrome, Safari, and Opera */
|
|
3454
|
+
}
|
|
3455
|
+
}
|
|
3456
|
+
|
|
3457
|
+
._tickerItem_1pk9n_39 {
|
|
3458
|
+
flex-shrink: 0;
|
|
3459
|
+
}
|
|
3460
|
+
|
|
3461
|
+
._scrubControls_1pk9n_43 {
|
|
3462
|
+
position: absolute;
|
|
3463
|
+
right: 0;
|
|
3464
|
+
top: 0;
|
|
3465
|
+
height: 100%;
|
|
3466
|
+
flex-direction: column;
|
|
3467
|
+
justify-content: center;
|
|
3468
|
+
display: none;
|
|
3469
|
+
}
|
|
3470
|
+
|
|
3471
|
+
._scrubControls_1pk9n_43._showControls_1pk9n_53 {
|
|
3472
|
+
display: flex;
|
|
3473
|
+
}
|
|
3474
|
+
@media (max-width: 29.99em) {
|
|
3475
|
+
._scrubControls_1pk9n_43._showControls_1pk9n_53 {
|
|
3476
|
+
display: none;
|
|
3477
|
+
}
|
|
3478
|
+
}
|
|
3479
|
+
|
|
3480
|
+
._arrowButton_1pk9n_62 {
|
|
3481
|
+
z-index: 1;
|
|
3482
|
+
}
|
|
3483
|
+
|
|
3484
|
+
._gradient_1pk9n_66 {
|
|
3485
|
+
position: absolute;
|
|
3486
|
+
top: 0;
|
|
3487
|
+
bottom: 0;
|
|
3488
|
+
width: 40px;
|
|
3489
|
+
}
|
|
3490
|
+
|
|
3491
|
+
._gradient_1pk9n_66[data-position=left] {
|
|
3492
|
+
left: 0;
|
|
3493
|
+
}
|
|
3494
|
+
|
|
3495
|
+
._gradient_1pk9n_66[data-position=right] {
|
|
3496
|
+
right: 0;
|
|
3497
|
+
}
|
|
3498
|
+
|
|
3499
|
+
._firstStop_1pk9n_81 {
|
|
3500
|
+
stop-color: var(--tertiary-bg-color);
|
|
3501
|
+
stop-opacity: 0;
|
|
3502
|
+
}
|
|
3503
|
+
|
|
3504
|
+
._lastStop_1pk9n_86 {
|
|
3505
|
+
stop-color: var(--tertiary-bg-color);
|
|
3506
|
+
stop-opacity: 1;
|
|
3416
3507
|
}
|