@guardian/interactive-component-library 0.1.0-alpha.14 → 0.1.0-alpha.15
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.
|
@@ -3,13 +3,13 @@ import { useRef, useState, useLayoutEffect, useCallback, useEffect, useMemo, use
|
|
|
3
3
|
import { render, createElement, cloneElement, createContext, toChildArray } from "preact";
|
|
4
4
|
import { useSyncExternalStore, createPortal, forwardRef } from "preact/compat";
|
|
5
5
|
import { scaleLinear as scaleLinear$1 } from "d3-scale";
|
|
6
|
-
import { geoStream, geoAlbers, geoPath, geoMercator
|
|
6
|
+
import { geoStream, geoAlbers, geoPath, geoMercator } from "d3-geo";
|
|
7
7
|
const main = "";
|
|
8
8
|
const group = "_group_nq9z3_1";
|
|
9
9
|
const rotated = "_rotated_nq9z3_6";
|
|
10
10
|
const path$4 = "_path_nq9z3_10";
|
|
11
11
|
const active = "_active_nq9z3_14";
|
|
12
|
-
const defaultStyles$
|
|
12
|
+
const defaultStyles$s = {
|
|
13
13
|
group,
|
|
14
14
|
rotated,
|
|
15
15
|
path: path$4,
|
|
@@ -48,13 +48,13 @@ function Chevron({
|
|
|
48
48
|
styles: styles2
|
|
49
49
|
}) {
|
|
50
50
|
const defaultStylesCopy = {
|
|
51
|
-
...defaultStyles$
|
|
51
|
+
...defaultStyles$s
|
|
52
52
|
};
|
|
53
53
|
if (active2) {
|
|
54
|
-
defaultStylesCopy.path = mergeStyles(defaultStyles$
|
|
54
|
+
defaultStylesCopy.path = mergeStyles(defaultStyles$s.path, defaultStyles$s.active);
|
|
55
55
|
}
|
|
56
56
|
if (direction === DIRECTION.up) {
|
|
57
|
-
defaultStylesCopy.group = mergeStyles(defaultStyles$
|
|
57
|
+
defaultStylesCopy.group = mergeStyles(defaultStyles$s.group, defaultStyles$s.rotated);
|
|
58
58
|
}
|
|
59
59
|
styles2 = mergeStyles(defaultStylesCopy, styles2);
|
|
60
60
|
return jsx("svg", {
|
|
@@ -79,7 +79,7 @@ const container$4 = "_container_jzalm_1";
|
|
|
79
79
|
const dot = "_dot_jzalm_6";
|
|
80
80
|
const circle$2 = "_circle_jzalm_13";
|
|
81
81
|
const text$4 = "_text_jzalm_17";
|
|
82
|
-
const defaultStyles$
|
|
82
|
+
const defaultStyles$r = {
|
|
83
83
|
container: container$4,
|
|
84
84
|
dot,
|
|
85
85
|
circle: circle$2,
|
|
@@ -96,10 +96,10 @@ const LegendItem = ({
|
|
|
96
96
|
abbreviation
|
|
97
97
|
}) => {
|
|
98
98
|
const defaultStylesCopy = {
|
|
99
|
-
...defaultStyles$
|
|
99
|
+
...defaultStyles$r
|
|
100
100
|
};
|
|
101
101
|
if (dotType === DOT_TYPE.round) {
|
|
102
|
-
defaultStylesCopy.dot = mergeStyles(defaultStyles$
|
|
102
|
+
defaultStylesCopy.dot = mergeStyles(defaultStyles$r.dot, defaultStyles$r.circle);
|
|
103
103
|
}
|
|
104
104
|
styles2 = mergeStyles(defaultStylesCopy, styles2);
|
|
105
105
|
return jsxs("div", {
|
|
@@ -134,7 +134,7 @@ function isDarkColor(color) {
|
|
|
134
134
|
const bar$2 = "_bar_wmb0k_1";
|
|
135
135
|
const label$1 = "_label_wmb0k_5";
|
|
136
136
|
const backgroundRect = "_backgroundRect_wmb0k_11";
|
|
137
|
-
const defaultStyles$
|
|
137
|
+
const defaultStyles$q = {
|
|
138
138
|
bar: bar$2,
|
|
139
139
|
label: label$1,
|
|
140
140
|
backgroundRect
|
|
@@ -168,7 +168,7 @@ function StackedBar({
|
|
|
168
168
|
setHideLabels(false);
|
|
169
169
|
}, [stack, width, height]);
|
|
170
170
|
styles2 = mergeStyles({
|
|
171
|
-
...defaultStyles$
|
|
171
|
+
...defaultStyles$q
|
|
172
172
|
}, styles2);
|
|
173
173
|
let totalWidth = 0;
|
|
174
174
|
const content2 = stack.map((d2, index2) => {
|
|
@@ -281,7 +281,7 @@ const [useGradients, setGradients, getGradients] = createStore({});
|
|
|
281
281
|
const svg$8 = "_svg_1cajk_6";
|
|
282
282
|
const previous = "_previous_1cajk_12";
|
|
283
283
|
const next = "_next_1cajk_16";
|
|
284
|
-
const defaultStyles$
|
|
284
|
+
const defaultStyles$p = {
|
|
285
285
|
svg: svg$8,
|
|
286
286
|
previous,
|
|
287
287
|
next
|
|
@@ -292,7 +292,7 @@ const GradientIcon = (props) => {
|
|
|
292
292
|
next: next2,
|
|
293
293
|
styles: styles2
|
|
294
294
|
} = props;
|
|
295
|
-
styles2 = mergeStyles(defaultStyles$
|
|
295
|
+
styles2 = mergeStyles(defaultStyles$p, styles2);
|
|
296
296
|
const gradientId = `gv-gradient-def-${previous2}-${next2}`;
|
|
297
297
|
const gradients = useGradients();
|
|
298
298
|
useEffect(() => {
|
|
@@ -361,7 +361,7 @@ function GradientDefs({
|
|
|
361
361
|
}
|
|
362
362
|
const button$4 = "_button_kpmyt_1";
|
|
363
363
|
const svg$7 = "_svg_kpmyt_14";
|
|
364
|
-
const defaultStyles$
|
|
364
|
+
const defaultStyles$o = {
|
|
365
365
|
button: button$4,
|
|
366
366
|
svg: svg$7
|
|
367
367
|
};
|
|
@@ -370,7 +370,7 @@ const InfoButton = ({
|
|
|
370
370
|
styles: styles2
|
|
371
371
|
}) => {
|
|
372
372
|
styles2 = mergeStyles({
|
|
373
|
-
...defaultStyles$
|
|
373
|
+
...defaultStyles$o
|
|
374
374
|
}, styles2);
|
|
375
375
|
return jsx("button", {
|
|
376
376
|
class: styles2.button,
|
|
@@ -388,7 +388,7 @@ const InfoButton = ({
|
|
|
388
388
|
const svg$6 = "_svg_1v49v_1";
|
|
389
389
|
const circle$1 = "_circle_1v49v_5";
|
|
390
390
|
const pulse = "_pulse_1v49v_9";
|
|
391
|
-
const defaultStyles$
|
|
391
|
+
const defaultStyles$n = {
|
|
392
392
|
svg: svg$6,
|
|
393
393
|
circle: circle$1,
|
|
394
394
|
pulse
|
|
@@ -398,7 +398,7 @@ const CircleIcon = ({
|
|
|
398
398
|
pulse: pulse2 = false,
|
|
399
399
|
styles: styles2
|
|
400
400
|
}) => {
|
|
401
|
-
styles2 = mergeStyles(defaultStyles$
|
|
401
|
+
styles2 = mergeStyles(defaultStyles$n, styles2);
|
|
402
402
|
return jsx("svg", {
|
|
403
403
|
style: styles2.svg,
|
|
404
404
|
fill: "none",
|
|
@@ -418,7 +418,7 @@ const CircleIcon = ({
|
|
|
418
418
|
});
|
|
419
419
|
};
|
|
420
420
|
const text$3 = "_text_1okyv_1";
|
|
421
|
-
const defaultStyles$
|
|
421
|
+
const defaultStyles$m = {
|
|
422
422
|
text: text$3
|
|
423
423
|
};
|
|
424
424
|
var commonjsGlobal = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
|
|
@@ -768,7 +768,7 @@ const RelativeTimeSentence = ({
|
|
|
768
768
|
styles: styles2
|
|
769
769
|
}) => {
|
|
770
770
|
styles2 = mergeStyles({
|
|
771
|
-
...defaultStyles$
|
|
771
|
+
...defaultStyles$m
|
|
772
772
|
}, styles2);
|
|
773
773
|
let timeSince = dayjs(timeStamp).fromNow();
|
|
774
774
|
return jsx("span", {
|
|
@@ -778,7 +778,7 @@ const RelativeTimeSentence = ({
|
|
|
778
778
|
};
|
|
779
779
|
const pageContainer = "_pageContainer_1s0yq_9";
|
|
780
780
|
const sideBorders = "_sideBorders_1s0yq_42";
|
|
781
|
-
const defaultStyles$
|
|
781
|
+
const defaultStyles$l = {
|
|
782
782
|
pageContainer,
|
|
783
783
|
sideBorders
|
|
784
784
|
};
|
|
@@ -790,14 +790,14 @@ function Container({
|
|
|
790
790
|
const {
|
|
791
791
|
pageContainer: pageContainer2,
|
|
792
792
|
sideBorders: sideBordersStyle
|
|
793
|
-
} = mergeStyles(defaultStyles$
|
|
793
|
+
} = mergeStyles(defaultStyles$l, styles2);
|
|
794
794
|
return jsx("div", {
|
|
795
795
|
className: [pageContainer2, sideBorders2 && sideBordersStyle].join(" "),
|
|
796
796
|
children
|
|
797
797
|
});
|
|
798
798
|
}
|
|
799
799
|
const bar$1 = "_bar_17pyf_9";
|
|
800
|
-
const defaultStyles$
|
|
800
|
+
const defaultStyles$k = {
|
|
801
801
|
bar: bar$1
|
|
802
802
|
};
|
|
803
803
|
function ChangeBar({
|
|
@@ -815,7 +815,7 @@ function ChangeBar({
|
|
|
815
815
|
let thisStyles = ` height: ${height}; width: ${barwidth}px; ${positive ? `left: ${posleft}` : `left: ${negleft}`}`;
|
|
816
816
|
let thisColor = ` bg-color--${party}`;
|
|
817
817
|
styles2 = mergeStyles({
|
|
818
|
-
...defaultStyles$
|
|
818
|
+
...defaultStyles$k
|
|
819
819
|
}, styles2);
|
|
820
820
|
return jsx("div", {
|
|
821
821
|
className: styles2.wrapper,
|
|
@@ -830,7 +830,7 @@ const svg$5 = "_svg_886i1_9";
|
|
|
830
830
|
const dividingLineColor = "_dividingLineColor_886i1_16";
|
|
831
831
|
const square = "_square_886i1_20";
|
|
832
832
|
const corner = "_corner_886i1_24";
|
|
833
|
-
const defaultStyles$
|
|
833
|
+
const defaultStyles$j = {
|
|
834
834
|
svg: svg$5,
|
|
835
835
|
dividingLineColor,
|
|
836
836
|
square,
|
|
@@ -843,7 +843,7 @@ const SquareCutCornerIcon = ({
|
|
|
843
843
|
styles: styles2
|
|
844
844
|
}) => {
|
|
845
845
|
styles2 = mergeStyles({
|
|
846
|
-
...defaultStyles$
|
|
846
|
+
...defaultStyles$j
|
|
847
847
|
}, styles2);
|
|
848
848
|
let cornerSize = squareSize * 0.625;
|
|
849
849
|
let cornerMargin = squareSize < 100 ? squareSize / 6 : 10;
|
|
@@ -881,7 +881,7 @@ const stackedGridRotateItems0 = "_stackedGridRotateItems0_1e05o_13";
|
|
|
881
881
|
const stackedGridRotateItems90 = "_stackedGridRotateItems90_1e05o_19";
|
|
882
882
|
const stackedGridRotateItems180 = "_stackedGridRotateItems180_1e05o_25";
|
|
883
883
|
const stackedGridRotateItems270 = "_stackedGridRotateItems270_1e05o_31";
|
|
884
|
-
const defaultStyles$
|
|
884
|
+
const defaultStyles$i = {
|
|
885
885
|
stackedGridContainer,
|
|
886
886
|
stackedGridRotateItems0,
|
|
887
887
|
stackedGridRotateItems90,
|
|
@@ -920,7 +920,7 @@ const StackedGrid = ({
|
|
|
920
920
|
width: containerWidth,
|
|
921
921
|
transform: containerFlip
|
|
922
922
|
};
|
|
923
|
-
styles2 = mergeStyles(defaultStyles$
|
|
923
|
+
styles2 = mergeStyles(defaultStyles$i, styles2);
|
|
924
924
|
return jsx("div", {
|
|
925
925
|
style: flexStyles,
|
|
926
926
|
className: `${styles2.stackedGridContainer} ${styles2[itemRotateClass]}`,
|
|
@@ -929,7 +929,7 @@ const StackedGrid = ({
|
|
|
929
929
|
};
|
|
930
930
|
const svg$4 = "_svg_l2fsl_9";
|
|
931
931
|
const squareFill = "_squareFill_l2fsl_16";
|
|
932
|
-
const defaultStyles$
|
|
932
|
+
const defaultStyles$h = {
|
|
933
933
|
svg: svg$4,
|
|
934
934
|
squareFill
|
|
935
935
|
};
|
|
@@ -939,7 +939,7 @@ const SquareIcon = ({
|
|
|
939
939
|
styles: styles2
|
|
940
940
|
}) => {
|
|
941
941
|
styles2 = mergeStyles({
|
|
942
|
-
...defaultStyles$
|
|
942
|
+
...defaultStyles$h
|
|
943
943
|
}, styles2);
|
|
944
944
|
return jsx("svg", {
|
|
945
945
|
width: size,
|
|
@@ -957,7 +957,7 @@ const SquareIcon = ({
|
|
|
957
957
|
};
|
|
958
958
|
const button$3 = "_button_1fees_1";
|
|
959
959
|
const icon = "_icon_1fees_6";
|
|
960
|
-
const defaultStyles$
|
|
960
|
+
const defaultStyles$g = {
|
|
961
961
|
button: button$3,
|
|
962
962
|
icon
|
|
963
963
|
};
|
|
@@ -967,7 +967,7 @@ function ArrowButton({
|
|
|
967
967
|
styles: styles2,
|
|
968
968
|
onClick
|
|
969
969
|
}) {
|
|
970
|
-
styles2 = mergeStyles(defaultStyles$
|
|
970
|
+
styles2 = mergeStyles(defaultStyles$g, styles2);
|
|
971
971
|
return jsx("button", {
|
|
972
972
|
className: styles2.button,
|
|
973
973
|
disabled,
|
|
@@ -993,7 +993,7 @@ function ArrowButton({
|
|
|
993
993
|
}
|
|
994
994
|
const button$2 = "_button_19t7j_1";
|
|
995
995
|
const buttonInner$1 = "_buttonInner_19t7j_6";
|
|
996
|
-
const defaultStyles$
|
|
996
|
+
const defaultStyles$f = {
|
|
997
997
|
button: button$2,
|
|
998
998
|
buttonInner: buttonInner$1
|
|
999
999
|
};
|
|
@@ -1003,7 +1003,7 @@ function Button({
|
|
|
1003
1003
|
styles: styles2,
|
|
1004
1004
|
children
|
|
1005
1005
|
}) {
|
|
1006
|
-
styles2 = mergeStyles(defaultStyles$
|
|
1006
|
+
styles2 = mergeStyles(defaultStyles$f, styles2);
|
|
1007
1007
|
return jsx("button", {
|
|
1008
1008
|
className: styles2.button,
|
|
1009
1009
|
"data-type": type,
|
|
@@ -1018,7 +1018,7 @@ const button$1 = "_button_6w12u_1";
|
|
|
1018
1018
|
const buttonBorder = "_buttonBorder_6w12u_10";
|
|
1019
1019
|
const svg$3 = "_svg_6w12u_18";
|
|
1020
1020
|
const path$3 = "_path_6w12u_24";
|
|
1021
|
-
const defaultStyles$
|
|
1021
|
+
const defaultStyles$e = {
|
|
1022
1022
|
button: button$1,
|
|
1023
1023
|
buttonBorder,
|
|
1024
1024
|
svg: svg$3,
|
|
@@ -1029,7 +1029,7 @@ function CloseButton({
|
|
|
1029
1029
|
onClick,
|
|
1030
1030
|
styles: styles2
|
|
1031
1031
|
}) {
|
|
1032
|
-
styles2 = mergeStyles(defaultStyles$
|
|
1032
|
+
styles2 = mergeStyles(defaultStyles$e, styles2);
|
|
1033
1033
|
return jsx("button", {
|
|
1034
1034
|
className: [styles2.button, border && styles2.buttonBorder].join(" "),
|
|
1035
1035
|
onClick,
|
|
@@ -1172,7 +1172,7 @@ const headerCell = "_headerCell_1b75c_31";
|
|
|
1172
1172
|
const headerCellButton = "_headerCellButton_1b75c_39";
|
|
1173
1173
|
const bodyRow = "_bodyRow_1b75c_48";
|
|
1174
1174
|
const bodyCell = "_bodyCell_1b75c_53";
|
|
1175
|
-
const defaultStyles$
|
|
1175
|
+
const defaultStyles$d = {
|
|
1176
1176
|
table,
|
|
1177
1177
|
hideHeader,
|
|
1178
1178
|
hideHeaderNoBorder,
|
|
@@ -1213,7 +1213,7 @@ function Table({
|
|
|
1213
1213
|
};
|
|
1214
1214
|
});
|
|
1215
1215
|
};
|
|
1216
|
-
styles2 = mergeStyles(defaultStyles$
|
|
1216
|
+
styles2 = mergeStyles(defaultStyles$d, styles2);
|
|
1217
1217
|
return jsxs("table", {
|
|
1218
1218
|
className: styles2.table,
|
|
1219
1219
|
children: [jsx("thead", {
|
|
@@ -1346,7 +1346,7 @@ const y1Label = "_y1Label_gj7pr_24";
|
|
|
1346
1346
|
const y2Label = "_y2Label_gj7pr_28";
|
|
1347
1347
|
const axis$1 = "_axis_gj7pr_32";
|
|
1348
1348
|
const axisLabel = "_axisLabel_gj7pr_37";
|
|
1349
|
-
const defaultStyles$
|
|
1349
|
+
const defaultStyles$c = {
|
|
1350
1350
|
slopeChartContainer,
|
|
1351
1351
|
svg: svg$2,
|
|
1352
1352
|
line,
|
|
@@ -1398,7 +1398,7 @@ const SlopeChart = ({
|
|
|
1398
1398
|
return positionLabels(labels);
|
|
1399
1399
|
}, [lines, y2Label2, yScale]);
|
|
1400
1400
|
styles2 = mergeStyles({
|
|
1401
|
-
...defaultStyles$
|
|
1401
|
+
...defaultStyles$c
|
|
1402
1402
|
}, styles2);
|
|
1403
1403
|
const chart = jsx("svg", {
|
|
1404
1404
|
class: styles2.svg,
|
|
@@ -1491,6 +1491,7 @@ const useTooltipTarget = (targetElement, trackPosition) => {
|
|
|
1491
1491
|
const x = clientX - rect.left;
|
|
1492
1492
|
const y = clientY - rect.top;
|
|
1493
1493
|
requestAnimationFrame(() => {
|
|
1494
|
+
setTargetRect(rect);
|
|
1494
1495
|
setPosition({
|
|
1495
1496
|
x,
|
|
1496
1497
|
y
|
|
@@ -1621,7 +1622,7 @@ function Modal({
|
|
|
1621
1622
|
});
|
|
1622
1623
|
}
|
|
1623
1624
|
const tooltip = "_tooltip_11t5d_1";
|
|
1624
|
-
const defaultStyles$
|
|
1625
|
+
const defaultStyles$b = {
|
|
1625
1626
|
tooltip
|
|
1626
1627
|
};
|
|
1627
1628
|
const TooltipType = {
|
|
@@ -1649,7 +1650,7 @@ function Tooltip({
|
|
|
1649
1650
|
hoverActive
|
|
1650
1651
|
} = useTooltipTarget(targetElement, trackPosition);
|
|
1651
1652
|
const tooltipRef = useRef(null);
|
|
1652
|
-
styles2 = mergeStyles(defaultStyles$
|
|
1653
|
+
styles2 = mergeStyles(defaultStyles$b, styles2);
|
|
1653
1654
|
useEffect(() => {
|
|
1654
1655
|
let element = null;
|
|
1655
1656
|
if (typeof refOrSelector === "string") {
|
|
@@ -1703,17 +1704,18 @@ function Tooltip({
|
|
|
1703
1704
|
}) : tooltip2, displayElement);
|
|
1704
1705
|
}
|
|
1705
1706
|
function tooltipPositionForPoint({
|
|
1707
|
+
targetRect,
|
|
1706
1708
|
positionInTarget,
|
|
1707
1709
|
tooltip: tooltip2,
|
|
1708
1710
|
displayElement
|
|
1709
1711
|
}) {
|
|
1710
|
-
const displayElementRect = displayElement.getBoundingClientRect();
|
|
1711
1712
|
const newPosition = {
|
|
1712
|
-
x: positionInTarget.x +
|
|
1713
|
-
y: positionInTarget.y +
|
|
1713
|
+
x: positionInTarget.x + targetRect.x,
|
|
1714
|
+
y: positionInTarget.y + targetRect.y
|
|
1714
1715
|
};
|
|
1715
1716
|
const tooltipWidth = tooltip2.offsetWidth;
|
|
1716
1717
|
const tooltipHeight = tooltip2.offsetHeight;
|
|
1718
|
+
const displayElementRect = displayElement.getBoundingClientRect();
|
|
1717
1719
|
if (newPosition.x + tooltipWidth > displayElementRect.right) {
|
|
1718
1720
|
newPosition.x -= tooltipWidth;
|
|
1719
1721
|
}
|
|
@@ -1744,7 +1746,7 @@ function tooltipPositionForRect({
|
|
|
1744
1746
|
}
|
|
1745
1747
|
const text$2 = "_text_1b8t2_1";
|
|
1746
1748
|
const container$3 = "_container_1b8t2_10";
|
|
1747
|
-
const defaultStyles$
|
|
1749
|
+
const defaultStyles$a = {
|
|
1748
1750
|
text: text$2,
|
|
1749
1751
|
container: container$3
|
|
1750
1752
|
};
|
|
@@ -1755,7 +1757,7 @@ const ControlChange = ({
|
|
|
1755
1757
|
styles: styles2
|
|
1756
1758
|
}) => {
|
|
1757
1759
|
styles2 = mergeStyles({
|
|
1758
|
-
...defaultStyles$
|
|
1760
|
+
...defaultStyles$a
|
|
1759
1761
|
}, styles2);
|
|
1760
1762
|
let hasChanged = next2 !== previous2;
|
|
1761
1763
|
return jsx("div", {
|
|
@@ -1789,7 +1791,7 @@ const secondaryNumber = "_secondaryNumber_w8o28_58";
|
|
|
1789
1791
|
const displayRow = "_displayRow_w8o28_65";
|
|
1790
1792
|
const displayColumn = "_displayColumn_w8o28_71";
|
|
1791
1793
|
const topRow = "_topRow_w8o28_75";
|
|
1792
|
-
const defaultStyles$
|
|
1794
|
+
const defaultStyles$9 = {
|
|
1793
1795
|
toplineResult,
|
|
1794
1796
|
primaryname,
|
|
1795
1797
|
secondaryname,
|
|
@@ -1814,7 +1816,7 @@ const ToplineResult = ({
|
|
|
1814
1816
|
showInfoButton = false
|
|
1815
1817
|
}) => {
|
|
1816
1818
|
styles2 = mergeStyles({
|
|
1817
|
-
...defaultStyles$
|
|
1819
|
+
...defaultStyles$9
|
|
1818
1820
|
}, styles2);
|
|
1819
1821
|
const displayStyle = displayRow2 ? styles2.displayRow : styles2.displayColumn;
|
|
1820
1822
|
return !secondaryName ? jsxs(Fragment, {
|
|
@@ -1881,7 +1883,7 @@ const section = "_section_12aiu_9";
|
|
|
1881
1883
|
const borderTop = "_borderTop_12aiu_52";
|
|
1882
1884
|
const header = "_header_12aiu_56";
|
|
1883
1885
|
const content = "_content_12aiu_76";
|
|
1884
|
-
const defaultStyles$
|
|
1886
|
+
const defaultStyles$8 = {
|
|
1885
1887
|
section,
|
|
1886
1888
|
borderTop,
|
|
1887
1889
|
header,
|
|
@@ -1894,7 +1896,7 @@ const PageSection = forwardRef(({
|
|
|
1894
1896
|
backgroundColor = "transparent"
|
|
1895
1897
|
}, ref) => {
|
|
1896
1898
|
styles2 = mergeStyles({
|
|
1897
|
-
...defaultStyles$
|
|
1899
|
+
...defaultStyles$8
|
|
1898
1900
|
}, styles2);
|
|
1899
1901
|
return jsxs("section", {
|
|
1900
1902
|
ref,
|
|
@@ -1914,7 +1916,7 @@ const PageSection = forwardRef(({
|
|
|
1914
1916
|
const text$1 = "_text_lo5h3_1";
|
|
1915
1917
|
const axis = "_axis_lo5h3_6";
|
|
1916
1918
|
const bar = "_bar_lo5h3_10";
|
|
1917
|
-
const defaultStyles$
|
|
1919
|
+
const defaultStyles$7 = {
|
|
1918
1920
|
text: text$1,
|
|
1919
1921
|
axis,
|
|
1920
1922
|
bar
|
|
@@ -1929,7 +1931,7 @@ const ColumnChart = ({
|
|
|
1929
1931
|
columnPadding,
|
|
1930
1932
|
styles: styles2
|
|
1931
1933
|
}) => {
|
|
1932
|
-
styles2 = mergeStyles(defaultStyles$
|
|
1934
|
+
styles2 = mergeStyles(defaultStyles$7, styles2);
|
|
1933
1935
|
const yScale = scaleLinear$1([maxValue, minValue], [0, chartHeight]);
|
|
1934
1936
|
const totalColumnWidth = Number(columnWidth) + Number(columnPadding.left) + Number(columnPadding.right);
|
|
1935
1937
|
let marginBottom = minValue < 0 ? 0 : 40;
|
|
@@ -1973,7 +1975,7 @@ const blurb = "_blurb_vd5ly_44";
|
|
|
1973
1975
|
const leftCell = "_leftCell_vd5ly_55";
|
|
1974
1976
|
const rightCell = "_rightCell_vd5ly_55";
|
|
1975
1977
|
const mugshot = "_mugshot_vd5ly_71";
|
|
1976
|
-
const defaultStyles$
|
|
1978
|
+
const defaultStyles$6 = {
|
|
1977
1979
|
text,
|
|
1978
1980
|
container: container$2,
|
|
1979
1981
|
title: title$1,
|
|
@@ -1992,7 +1994,7 @@ const PartyProfile = ({
|
|
|
1992
1994
|
abbreviation
|
|
1993
1995
|
}) => {
|
|
1994
1996
|
styles2 = mergeStyles({
|
|
1995
|
-
...defaultStyles$
|
|
1997
|
+
...defaultStyles$6
|
|
1996
1998
|
}, styles2);
|
|
1997
1999
|
return jsx("div", {
|
|
1998
2000
|
class: styles2.container,
|
|
@@ -2260,6 +2262,33 @@ function bboxFeature(bounds) {
|
|
|
2260
2262
|
return feature;
|
|
2261
2263
|
}
|
|
2262
2264
|
const MapContext = createContext();
|
|
2265
|
+
function calculateScale(mapBounds, mapWidthPixels, mapHeightPixels) {
|
|
2266
|
+
const south = mapBounds[0][1];
|
|
2267
|
+
const west = mapBounds[0][0];
|
|
2268
|
+
const north = mapBounds[1][1];
|
|
2269
|
+
const east = mapBounds[1][0];
|
|
2270
|
+
const widthKilometers = distanceInKmBetweenEarthCoordinates([west, south], [east, south]);
|
|
2271
|
+
const heightKilometers = distanceInKmBetweenEarthCoordinates([west, south], [west, north]);
|
|
2272
|
+
const scaleX = mapWidthPixels / widthKilometers;
|
|
2273
|
+
const scaleY = mapHeightPixels / heightKilometers;
|
|
2274
|
+
const scale = (scaleX + scaleY) / 2;
|
|
2275
|
+
return scale;
|
|
2276
|
+
}
|
|
2277
|
+
function distanceInKmBetweenEarthCoordinates(point1, point2) {
|
|
2278
|
+
let [lon1, lat1] = point1;
|
|
2279
|
+
let [lon2, lat2] = point2;
|
|
2280
|
+
const earthRadiusKm = 6371;
|
|
2281
|
+
const dLat = degreesToRadians(lat2 - lat1);
|
|
2282
|
+
const dLon = degreesToRadians(lon2 - lon1);
|
|
2283
|
+
lat1 = degreesToRadians(lat1);
|
|
2284
|
+
lat2 = degreesToRadians(lat2);
|
|
2285
|
+
const a = Math.sin(dLat / 2) * Math.sin(dLat / 2) + Math.sin(dLon / 2) * Math.sin(dLon / 2) * Math.cos(lat1) * Math.cos(lat2);
|
|
2286
|
+
const c2 = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
|
|
2287
|
+
return earthRadiusKm * c2;
|
|
2288
|
+
}
|
|
2289
|
+
function degreesToRadians(degrees) {
|
|
2290
|
+
return degrees * Math.PI / 180;
|
|
2291
|
+
}
|
|
2263
2292
|
function SVGMapProvider({
|
|
2264
2293
|
id,
|
|
2265
2294
|
mapRef,
|
|
@@ -2279,9 +2308,47 @@ function SVGMapProvider({
|
|
|
2279
2308
|
return config.projection.fitSize([contentSize.width, contentSize.height], bboxFeature(config.bounds));
|
|
2280
2309
|
}, [contentSize, config]);
|
|
2281
2310
|
const path2 = geoPath().projection(projection);
|
|
2311
|
+
const layerSet = useRef(/* @__PURE__ */ new Set());
|
|
2312
|
+
const layers = useRef([]);
|
|
2313
|
+
const updateLayers = useCallback((layerSet2) => {
|
|
2314
|
+
const _layers = Array.from(layerSet2.current);
|
|
2315
|
+
_layers.sort((a, b) => {
|
|
2316
|
+
return b.zIndex - a.zIndex;
|
|
2317
|
+
});
|
|
2318
|
+
layers.current = _layers;
|
|
2319
|
+
}, []);
|
|
2320
|
+
const registerLayer = useCallback((layer) => {
|
|
2321
|
+
layerSet.current.add(layer);
|
|
2322
|
+
updateLayers(layerSet);
|
|
2323
|
+
}, [updateLayers]);
|
|
2324
|
+
const unregisterLayer = useCallback((layer) => {
|
|
2325
|
+
layerSet.current.delete(layer);
|
|
2326
|
+
updateLayers(layerSet);
|
|
2327
|
+
}, [updateLayers]);
|
|
2328
|
+
const findFeatureAtPoint = useCallback(({
|
|
2329
|
+
x,
|
|
2330
|
+
y
|
|
2331
|
+
}) => {
|
|
2332
|
+
const adjustedPoint = [x - padding.left, y - padding.top];
|
|
2333
|
+
for (const layer of layers.current) {
|
|
2334
|
+
if (typeof layer.findFeatureAtPoint === "function") {
|
|
2335
|
+
const feature = layer.findFeatureAtPoint(adjustedPoint);
|
|
2336
|
+
if (feature)
|
|
2337
|
+
return feature;
|
|
2338
|
+
}
|
|
2339
|
+
}
|
|
2340
|
+
return null;
|
|
2341
|
+
}, [padding]);
|
|
2342
|
+
const getVisibleBounds = useCallback(() => {
|
|
2343
|
+
const projectedSW = projection.invert([padding.left, contentSize.height]);
|
|
2344
|
+
const projectedNE = projection.invert([padding.left + contentSize.width, padding.top]);
|
|
2345
|
+
return [projectedSW, projectedNE];
|
|
2346
|
+
}, [projection, contentSize, padding]);
|
|
2347
|
+
const getZoomScale = useCallback(() => {
|
|
2348
|
+
return calculateScale(getVisibleBounds(), contentSize.width, contentSize.height);
|
|
2349
|
+
}, [getVisibleBounds, contentSize]);
|
|
2282
2350
|
const context = {
|
|
2283
2351
|
id,
|
|
2284
|
-
mapRef,
|
|
2285
2352
|
projection,
|
|
2286
2353
|
config,
|
|
2287
2354
|
path: path2,
|
|
@@ -2293,15 +2360,20 @@ function SVGMapProvider({
|
|
|
2293
2360
|
padding,
|
|
2294
2361
|
zoom,
|
|
2295
2362
|
extent: [[0, 0], [width, height]],
|
|
2296
|
-
selectedFeature
|
|
2363
|
+
selectedFeature,
|
|
2364
|
+
getZoomScale,
|
|
2365
|
+
registerLayer,
|
|
2366
|
+
unregisterLayer,
|
|
2367
|
+
findFeatureAtPoint
|
|
2297
2368
|
};
|
|
2369
|
+
mapRef.current = context;
|
|
2298
2370
|
return jsx(MapContext.Provider, {
|
|
2299
2371
|
value: context,
|
|
2300
2372
|
children
|
|
2301
2373
|
});
|
|
2302
2374
|
}
|
|
2303
2375
|
const path$1 = "_path_1cwd5_9";
|
|
2304
|
-
const defaultStyles$
|
|
2376
|
+
const defaultStyles$5 = {
|
|
2305
2377
|
path: path$1
|
|
2306
2378
|
};
|
|
2307
2379
|
function CompositionBorders({
|
|
@@ -2310,7 +2382,7 @@ function CompositionBorders({
|
|
|
2310
2382
|
const {
|
|
2311
2383
|
projection
|
|
2312
2384
|
} = useContext(MapContext);
|
|
2313
|
-
styles2 = mergeStyles(defaultStyles$
|
|
2385
|
+
styles2 = mergeStyles(defaultStyles$5, styles2);
|
|
2314
2386
|
return jsx("path", {
|
|
2315
2387
|
className: styles2.path,
|
|
2316
2388
|
d: projection.getCompositionBorders()
|
|
@@ -2321,7 +2393,6 @@ function SVGRenderer({
|
|
|
2321
2393
|
}) {
|
|
2322
2394
|
const {
|
|
2323
2395
|
id,
|
|
2324
|
-
mapRef,
|
|
2325
2396
|
config,
|
|
2326
2397
|
size,
|
|
2327
2398
|
selectedFeature,
|
|
@@ -2329,7 +2400,6 @@ function SVGRenderer({
|
|
|
2329
2400
|
} = useContext(MapContext);
|
|
2330
2401
|
return jsx("svg", {
|
|
2331
2402
|
id,
|
|
2332
|
-
ref: mapRef,
|
|
2333
2403
|
width: size.width,
|
|
2334
2404
|
height: size.height,
|
|
2335
2405
|
viewBox: `0 0 ${size.width} ${size.height}`,
|
|
@@ -2379,9 +2449,22 @@ function Polygon({
|
|
|
2379
2449
|
fill = null,
|
|
2380
2450
|
stroke = null,
|
|
2381
2451
|
strokeWidth = 1,
|
|
2452
|
+
zIndex = 0,
|
|
2382
2453
|
styles: styles2
|
|
2383
2454
|
}) {
|
|
2384
2455
|
const context = useContext(MapContext);
|
|
2456
|
+
useEffect(() => {
|
|
2457
|
+
function findFeatureAtPoint(point) {
|
|
2458
|
+
}
|
|
2459
|
+
const layer = {
|
|
2460
|
+
zIndex,
|
|
2461
|
+
findFeatureAtPoint
|
|
2462
|
+
};
|
|
2463
|
+
context.registerLayer(layer);
|
|
2464
|
+
return () => {
|
|
2465
|
+
context.unregisterLayer(layer);
|
|
2466
|
+
};
|
|
2467
|
+
}, [context, zIndex]);
|
|
2385
2468
|
return jsx(Fragment, {
|
|
2386
2469
|
children: features.map((d2, index2) => {
|
|
2387
2470
|
return jsx("path", {
|
|
@@ -2462,9 +2545,34 @@ function Point({
|
|
|
2462
2545
|
fill = null,
|
|
2463
2546
|
stroke = null,
|
|
2464
2547
|
strokeWidth = 1,
|
|
2548
|
+
zIndex = 0,
|
|
2465
2549
|
styles: styles2
|
|
2466
2550
|
}) {
|
|
2467
2551
|
const context = useContext(MapContext);
|
|
2552
|
+
useEffect(() => {
|
|
2553
|
+
function findFeatureAtPoint(point) {
|
|
2554
|
+
for (const [index2, feature] of features.entries()) {
|
|
2555
|
+
const resolvedRadius = dynamicPropValue(radius, feature, index2);
|
|
2556
|
+
if (isNaN(resolvedRadius))
|
|
2557
|
+
return;
|
|
2558
|
+
const [cx, cy] = context.projection(feature.geometry.coordinates);
|
|
2559
|
+
const distanceSquared = (point[0] - cx) ** 2 + (point[1] - cy) ** 2;
|
|
2560
|
+
const radiusSquared = resolvedRadius ** 2;
|
|
2561
|
+
if (distanceSquared <= radiusSquared) {
|
|
2562
|
+
return feature;
|
|
2563
|
+
}
|
|
2564
|
+
}
|
|
2565
|
+
return null;
|
|
2566
|
+
}
|
|
2567
|
+
const layer = {
|
|
2568
|
+
zIndex,
|
|
2569
|
+
findFeatureAtPoint
|
|
2570
|
+
};
|
|
2571
|
+
context.registerLayer(layer);
|
|
2572
|
+
return () => {
|
|
2573
|
+
context.unregisterLayer(layer);
|
|
2574
|
+
};
|
|
2575
|
+
}, [context, features, radius, zIndex]);
|
|
2468
2576
|
return jsx(Fragment, {
|
|
2469
2577
|
children: features.map((d2, index2) => {
|
|
2470
2578
|
const [cx, cy] = context.projection(d2.geometry.coordinates);
|
|
@@ -2549,34 +2657,12 @@ const Map$1 = forwardRef(({
|
|
|
2549
2657
|
setIsReady(true);
|
|
2550
2658
|
}
|
|
2551
2659
|
}, [isReady]);
|
|
2552
|
-
|
|
2553
|
-
|
|
2554
|
-
|
|
2555
|
-
|
|
2556
|
-
|
|
2557
|
-
|
|
2558
|
-
}),
|
|
2559
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
2560
|
-
[isReady]
|
|
2561
|
-
);
|
|
2562
|
-
function findFeatureAtPoint({
|
|
2563
|
-
x,
|
|
2564
|
-
y
|
|
2565
|
-
}) {
|
|
2566
|
-
const adjustedPoint = [x - padding.left, y - padding.top];
|
|
2567
|
-
const coordinates = config.projection.invert(adjustedPoint);
|
|
2568
|
-
for (const child of toChildArray(children)) {
|
|
2569
|
-
if (Object.prototype.hasOwnProperty.call(child.props, "features")) {
|
|
2570
|
-
const features = child.props.features;
|
|
2571
|
-
for (const feature of features) {
|
|
2572
|
-
if (geoContains(feature, coordinates)) {
|
|
2573
|
-
return feature;
|
|
2574
|
-
}
|
|
2575
|
-
}
|
|
2576
|
-
}
|
|
2577
|
-
}
|
|
2578
|
-
return null;
|
|
2579
|
-
}
|
|
2660
|
+
const mapRef = useRef();
|
|
2661
|
+
useImperativeHandle(ref, () => ({
|
|
2662
|
+
isReady,
|
|
2663
|
+
getContainer: () => containerRef.current,
|
|
2664
|
+
getContext: () => mapRef.current
|
|
2665
|
+
}), [isReady]);
|
|
2580
2666
|
const containerSize = useContainerSize(containerRef);
|
|
2581
2667
|
const containerStyle = useMemo(() => {
|
|
2582
2668
|
const style = {};
|
|
@@ -2586,7 +2672,6 @@ const Map$1 = forwardRef(({
|
|
|
2586
2672
|
style["height"] = height;
|
|
2587
2673
|
return style;
|
|
2588
2674
|
}, [width, height]);
|
|
2589
|
-
const mapRef = useRef();
|
|
2590
2675
|
const renderSVG = containerSize && !config.drawToCanvas;
|
|
2591
2676
|
return jsx("div", {
|
|
2592
2677
|
ref: containerRef,
|
|
@@ -2602,14 +2687,16 @@ const Map$1 = forwardRef(({
|
|
|
2602
2687
|
selectedFeature,
|
|
2603
2688
|
zoom,
|
|
2604
2689
|
children: jsx(SVGRenderer, {
|
|
2605
|
-
children
|
|
2690
|
+
children: toChildArray(children).map((child, index2) => cloneElement(child, {
|
|
2691
|
+
zIndex: index2
|
|
2692
|
+
}))
|
|
2606
2693
|
})
|
|
2607
2694
|
})
|
|
2608
2695
|
});
|
|
2609
2696
|
});
|
|
2610
2697
|
const container = "_container_azu4a_1";
|
|
2611
2698
|
const paragraph = "_paragraph_azu4a_12";
|
|
2612
|
-
const defaultStyles$
|
|
2699
|
+
const defaultStyles$4 = {
|
|
2613
2700
|
container,
|
|
2614
2701
|
paragraph
|
|
2615
2702
|
};
|
|
@@ -2622,7 +2709,7 @@ function ResultSummary({
|
|
|
2622
2709
|
styles: styles2
|
|
2623
2710
|
}) {
|
|
2624
2711
|
styles2 = mergeStyles({
|
|
2625
|
-
...defaultStyles$
|
|
2712
|
+
...defaultStyles$4
|
|
2626
2713
|
}, styles2);
|
|
2627
2714
|
return jsxs("div", {
|
|
2628
2715
|
class: styles2.container,
|
|
@@ -2665,7 +2752,7 @@ const suggestions = "_suggestions_g5w44_36";
|
|
|
2665
2752
|
const suggestion = "_suggestion_g5w44_36";
|
|
2666
2753
|
const selected = "_selected_g5w44_59";
|
|
2667
2754
|
const highlighted = "_highlighted_g5w44_63";
|
|
2668
|
-
const defaultStyles$
|
|
2755
|
+
const defaultStyles$3 = {
|
|
2669
2756
|
searchContainer,
|
|
2670
2757
|
input,
|
|
2671
2758
|
searchIcon,
|
|
@@ -2686,7 +2773,7 @@ function SearchInput({
|
|
|
2686
2773
|
styles: styles2
|
|
2687
2774
|
}) {
|
|
2688
2775
|
var _a, _b, _c;
|
|
2689
|
-
styles2 = mergeStyles(defaultStyles$
|
|
2776
|
+
styles2 = mergeStyles(defaultStyles$3, styles2);
|
|
2690
2777
|
const inputRef = useRef(null);
|
|
2691
2778
|
const [selectedIndex, setSelectedIndex] = useState(-1);
|
|
2692
2779
|
const [suggestions2, setSuggestions] = useState();
|
|
@@ -2798,7 +2885,7 @@ function SuggestionList({
|
|
|
2798
2885
|
const refreshIndicator = "_refreshIndicator_u6lji_1";
|
|
2799
2886
|
const liveText = "_liveText_u6lji_8";
|
|
2800
2887
|
const refreshText = "_refreshText_u6lji_9";
|
|
2801
|
-
const defaultStyles$
|
|
2888
|
+
const defaultStyles$2 = {
|
|
2802
2889
|
refreshIndicator,
|
|
2803
2890
|
liveText,
|
|
2804
2891
|
refreshText
|
|
@@ -2807,7 +2894,7 @@ function RefreshIndicator({
|
|
|
2807
2894
|
text: text2,
|
|
2808
2895
|
styles: styles2
|
|
2809
2896
|
}) {
|
|
2810
|
-
styles2 = mergeStyles(defaultStyles$
|
|
2897
|
+
styles2 = mergeStyles(defaultStyles$2, styles2);
|
|
2811
2898
|
return jsxs("div", {
|
|
2812
2899
|
className: styles2.refreshIndicator,
|
|
2813
2900
|
children: [jsx(CircleIcon, {
|
|
@@ -2821,6 +2908,34 @@ function RefreshIndicator({
|
|
|
2821
2908
|
})]
|
|
2822
2909
|
});
|
|
2823
2910
|
}
|
|
2911
|
+
const grid = "_grid_xps7m_9";
|
|
2912
|
+
const defaultStyles$1 = {
|
|
2913
|
+
grid
|
|
2914
|
+
};
|
|
2915
|
+
const GridType = {
|
|
2916
|
+
small: "small",
|
|
2917
|
+
medium: "medium",
|
|
2918
|
+
large: "large"
|
|
2919
|
+
};
|
|
2920
|
+
function ResponsiveGrid({
|
|
2921
|
+
type = GridType.medium,
|
|
2922
|
+
children,
|
|
2923
|
+
styles: styles2
|
|
2924
|
+
}) {
|
|
2925
|
+
styles2 = mergeStyles({
|
|
2926
|
+
...defaultStyles$1
|
|
2927
|
+
}, styles2);
|
|
2928
|
+
return jsx("div", {
|
|
2929
|
+
className: styles2.grid,
|
|
2930
|
+
"data-grid-type": type,
|
|
2931
|
+
children: toChildArray(children).map((child, index2) => {
|
|
2932
|
+
return jsx("div", {
|
|
2933
|
+
className: styles2.gridItem,
|
|
2934
|
+
children: child
|
|
2935
|
+
}, index2);
|
|
2936
|
+
})
|
|
2937
|
+
});
|
|
2938
|
+
}
|
|
2824
2939
|
const coalitionsWrapper = "_coalitionsWrapper_1ahqy_9";
|
|
2825
2940
|
const coalitionsContainer = "_coalitionsContainer_1ahqy_14";
|
|
2826
2941
|
const coalition = "_coalition_1ahqy_9";
|
|
@@ -3116,6 +3231,7 @@ export {
|
|
|
3116
3231
|
Container,
|
|
3117
3232
|
ControlChange,
|
|
3118
3233
|
GradientIcon,
|
|
3234
|
+
GridType,
|
|
3119
3235
|
InfoButton,
|
|
3120
3236
|
LegendItem,
|
|
3121
3237
|
Map$1 as Map,
|
|
@@ -3126,6 +3242,7 @@ export {
|
|
|
3126
3242
|
Projection,
|
|
3127
3243
|
RefreshIndicator,
|
|
3128
3244
|
RelativeTimeSentence,
|
|
3245
|
+
ResponsiveGrid,
|
|
3129
3246
|
ResultSummary,
|
|
3130
3247
|
SearchInput,
|
|
3131
3248
|
SlopeChart,
|