@12-apps/ui 6.90.0 → 6.91.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.
Files changed (205) hide show
  1. package/components-catalog.md +1 -1
  2. package/dist/_internal/components/data-display/AsyncStateContainer/AsyncStateContainer.js +3 -3
  3. package/dist/_internal/components/data-display/Avatar/Avatar.js +2 -2
  4. package/dist/_internal/components/data-display/Carousel/Carousel.js +2 -2
  5. package/dist/_internal/components/data-display/Chart/Chart.js +4 -4
  6. package/dist/_internal/components/data-display/Chart/SpecChart.js +5 -5
  7. package/dist/_internal/components/data-display/Chart/chart-context.js +2 -2
  8. package/dist/_internal/components/data-display/Chart/chart-renderers.js +3 -3
  9. package/dist/_internal/components/data-display/Chip/Chip.js +3 -3
  10. package/dist/_internal/components/data-display/Chip/Chip.styles.js +2 -2
  11. package/dist/_internal/components/data-display/DataGrid/DataGrid.js +1 -1
  12. package/dist/_internal/components/data-display/DataViews/DataViewsGrid.js +21 -21
  13. package/dist/_internal/components/data-display/DataViews/DataViewsTableBase.js +25 -25
  14. package/dist/_internal/components/data-display/DataViews/base-list-card-geometry.js +6 -6
  15. package/dist/_internal/components/data-display/DataViews/base-list-card-layout.js +7 -7
  16. package/dist/_internal/components/data-display/DataViews/base-list-card-slots.js +5 -5
  17. package/dist/_internal/components/data-display/DataViews/base-list-card.js +8 -8
  18. package/dist/_internal/components/data-display/DataViews/data-views-filter-panel.js +6 -6
  19. package/dist/_internal/components/data-display/DataViews/data-views-grid-bodies.js +7 -7
  20. package/dist/_internal/components/data-display/DataViews/data-views-grid-parts.js +18 -18
  21. package/dist/_internal/components/data-display/DataViews/data-views-inline-bar.js +8 -8
  22. package/dist/_internal/components/data-display/DataViews/data-views-more-fields.js +6 -6
  23. package/dist/_internal/components/data-display/DataViews/data-views-more-filters.js +7 -7
  24. package/dist/_internal/components/data-display/DataViews/data-views-range-bounds.js +4 -4
  25. package/dist/_internal/components/data-display/DataViews/data-views-range-pill.js +5 -5
  26. package/dist/_internal/components/data-display/DataViews/data-views-table-parts.js +2 -2
  27. package/dist/_internal/components/data-display/DataViews/list-card-rails.js +4 -4
  28. package/dist/_internal/components/data-display/DataViews/use-data-views-state.js +2 -2
  29. package/dist/_internal/components/data-display/EmptyState/EmptyState.js +2 -2
  30. package/dist/_internal/components/data-display/FleetMap/FleetBody.js +9 -9
  31. package/dist/_internal/components/data-display/FleetMap/FleetCanvas.js +8 -8
  32. package/dist/_internal/components/data-display/FleetMap/FleetMap.js +12 -12
  33. package/dist/_internal/components/data-display/InteractiveTooltip/InteractiveTooltip.js +2 -2
  34. package/dist/_internal/components/data-display/Lightbox/Lightbox.js +7 -7
  35. package/dist/_internal/components/data-display/Lightbox/LightboxControls.js +2 -2
  36. package/dist/_internal/components/data-display/Lightbox/LightboxOverlay.js +3 -3
  37. package/dist/_internal/components/data-display/Lightbox/LightboxThumbnails.js +2 -2
  38. package/dist/_internal/components/data-display/MapPreview/MapLayers.js +2 -2
  39. package/dist/_internal/components/data-display/MapPreview/MapMarkers.js +2 -2
  40. package/dist/_internal/components/data-display/MapPreview/MapPreview.js +7 -7
  41. package/dist/_internal/components/data-display/RegionMap/RegionMap.hooks.js +2 -1
  42. package/dist/_internal/components/data-display/RegionMap/RegionMap.js +4 -3
  43. package/dist/_internal/components/data-display/RegionMap/RegionMap.view.js +19 -0
  44. package/dist/_internal/components/data-display/RegionMap/RegionMapDrawing.js +1 -1
  45. package/dist/_internal/components/data-display/SectionOnboarding/SectionOnboarding.js +3 -3
  46. package/dist/_internal/components/data-display/index.js +50 -44
  47. package/dist/_internal/components/index.js +57 -51
  48. package/dist/_internal/components/layout/SettingCard/SettingCard.js +8 -8
  49. package/dist/_internal/components/layout/SettingCard/SettingCard.parts.js +4 -4
  50. package/dist/_internal/components/layout/SettingCard/SettingCard.summary.js +7 -7
  51. package/dist/_internal/components/layout/SettingCard/SettingGrid.js +5 -5
  52. package/dist/_internal/components/layout/SettingCard/SettingGroup.js +9 -9
  53. package/dist/_internal/components/layout/SettingCard/SettingSwitch.js +8 -8
  54. package/dist/_internal/components/layout/SettingCard/SettingToggle.js +9 -9
  55. package/dist/_internal/components/layout/index.js +12 -12
  56. package/dist/_internal/user-avatar/user-avatar.js +3 -3
  57. package/dist/charts.js +5 -5
  58. package/dist/{chunk-K2VDRODL.js → chunk-3IDL7NK7.js} +2 -2
  59. package/dist/{chunk-QADTI63U.js → chunk-3JZ3KEQQ.js} +2 -2
  60. package/dist/{chunk-EOIRU62W.js → chunk-42D7KBDH.js} +2 -2
  61. package/dist/{chunk-LXIPBHNJ.js → chunk-42TOCPXB.js} +5 -5
  62. package/dist/{chunk-KANCE4MS.js → chunk-4KWDNGMA.js} +3 -3
  63. package/dist/{chunk-7YJYIMWP.js → chunk-4QR7LM5F.js} +6 -6
  64. package/dist/{chunk-SCXVTNLE.js → chunk-5E2CRRD4.js} +4 -4
  65. package/dist/{chunk-ZDAAHCIS.js → chunk-5HADIIWN.js} +3 -3
  66. package/dist/{chunk-BP3ZKIPE.js → chunk-64UNVW6D.js} +4 -4
  67. package/dist/{chunk-7F6D73NL.js → chunk-76DX2IMH.js} +2 -2
  68. package/dist/{chunk-FI2CQOGC.js → chunk-7NP2JHGM.js} +2 -2
  69. package/dist/{chunk-BMTIBQQC.js → chunk-BBBHPK2Q.js} +6 -6
  70. package/dist/{chunk-EUR2ORTN.js → chunk-CSJ7WNXU.js} +2 -2
  71. package/dist/{chunk-WWR6APJR.js → chunk-DA3D5X5Z.js} +5 -5
  72. package/dist/chunk-DY2I6LMX.js +1 -0
  73. package/dist/chunk-DY2I6LMX.js.map +1 -0
  74. package/dist/{chunk-QKOJ4637.js → chunk-E6K2UZGR.js} +3 -3
  75. package/dist/{chunk-VIMMEADQ.js → chunk-FORAVDJF.js} +9 -9
  76. package/dist/chunk-FWAY2SAI.js +72 -0
  77. package/dist/chunk-FWAY2SAI.js.map +1 -0
  78. package/dist/{chunk-GMRQPNG3.js → chunk-G2NVBCF7.js} +20 -25
  79. package/dist/chunk-G2NVBCF7.js.map +1 -0
  80. package/dist/{chunk-Z5WUSI47.js → chunk-G3JFESKD.js} +6 -6
  81. package/dist/{chunk-3EIRRLCQ.js → chunk-HC6OZ7QK.js} +2 -2
  82. package/dist/{chunk-SKIAWOUC.js → chunk-HOPRZEBM.js} +3 -3
  83. package/dist/{chunk-JHWEL4NX.js → chunk-HS662RLW.js} +2 -2
  84. package/dist/{chunk-BZBLPXV7.js → chunk-IWSTMVCA.js} +4 -4
  85. package/dist/{chunk-TZC6KIK2.js → chunk-JG733RMP.js} +5 -5
  86. package/dist/{chunk-CW5Z67NA.js → chunk-JH2XLVWM.js} +2 -2
  87. package/dist/{chunk-3OTGREQG.js → chunk-JKZPGCN7.js} +11 -11
  88. package/dist/{chunk-DSBC6O46.js → chunk-JN2IANXD.js} +3 -3
  89. package/dist/{chunk-GBB23QLL.js → chunk-KJKD6Y6V.js} +3 -3
  90. package/dist/{chunk-KRBPWTXW.js → chunk-L3PDY7CJ.js} +2 -2
  91. package/dist/{chunk-HI7JPDD6.js → chunk-M3XJVD5G.js} +2 -2
  92. package/dist/{chunk-EEO7M5GU.js → chunk-MYTV353T.js} +4 -4
  93. package/dist/{chunk-3HZKUN5J.js → chunk-MZAYIG2I.js} +2 -2
  94. package/dist/{chunk-AKE6KVQG.js → chunk-NGXL4R54.js} +5 -1
  95. package/dist/chunk-NGXL4R54.js.map +1 -0
  96. package/dist/{chunk-3X2MA47R.js → chunk-NKEFH3RS.js} +5 -5
  97. package/dist/{chunk-NI67M453.js → chunk-PGANINQD.js} +5 -5
  98. package/dist/{chunk-BV2LOTMC.js → chunk-Q3SILZTQ.js} +2 -2
  99. package/dist/{chunk-TIM4PXWN.js → chunk-QHIWV55K.js} +2 -2
  100. package/dist/{chunk-DHAXUVMR.js → chunk-QN7FVZQD.js} +4 -4
  101. package/dist/{chunk-X2GWR75Q.js → chunk-TSEBMVYY.js} +3 -3
  102. package/dist/{chunk-CJ6XXM4X.js → chunk-U2AEM3K4.js} +6 -6
  103. package/dist/{chunk-ZH6NYB6Y.js → chunk-U2QXQ7D4.js} +4 -4
  104. package/dist/{chunk-SK2CTB3O.js → chunk-U2SAW6DH.js} +5 -5
  105. package/dist/{chunk-DAHSKQBV.js → chunk-UMOHHWXY.js} +2 -2
  106. package/dist/{chunk-P772HCHI.js → chunk-W676GY42.js} +4 -4
  107. package/dist/{chunk-JFD742C3.js → chunk-WCF56ZCD.js} +2 -2
  108. package/dist/{chunk-T2G4LDU5.js → chunk-WLLUARTC.js} +2 -2
  109. package/dist/{chunk-NK6O4NE4.js → chunk-XILMDEGZ.js} +3 -3
  110. package/dist/{chunk-QAEO52Z4.js → chunk-YGQM6GFQ.js} +2 -2
  111. package/dist/{chunk-WNNA6YYE.js → chunk-Z7T4EFEC.js} +7 -4
  112. package/dist/chunk-Z7T4EFEC.js.map +1 -0
  113. package/dist/{chunk-LOLYBFYY.js → chunk-ZCNR4DN5.js} +5 -5
  114. package/dist/{chunk-COKPPU42.js → chunk-ZIHSCBMN.js} +12 -12
  115. package/dist/data-display/AsyncStateContainer.js +3 -3
  116. package/dist/data-display/Avatar.js +2 -2
  117. package/dist/data-display/CardKit.js +7 -7
  118. package/dist/data-display/Carousel.js +2 -2
  119. package/dist/data-display/Chart.js +5 -5
  120. package/dist/data-display/Chip.js +3 -3
  121. package/dist/data-display/DataGrid.js +1 -1
  122. package/dist/data-display/DataViews.js +34 -34
  123. package/dist/data-display/DayRuler.js +4 -4
  124. package/dist/data-display/EmptyState.js +2 -2
  125. package/dist/data-display/FleetMap.js +12 -12
  126. package/dist/data-display/InteractiveTooltip.js +2 -2
  127. package/dist/data-display/Lightbox.js +7 -7
  128. package/dist/data-display/MapPreview.js +7 -7
  129. package/dist/data-display/RegionMap.js +11 -5
  130. package/dist/data-display/SectionOnboarding.js +3 -3
  131. package/dist/layout/SettingCard.js +12 -12
  132. package/dist/types/components/data-display/RegionMap/RegionMap.d.ts +4 -1
  133. package/dist/types/components/data-display/RegionMap/RegionMap.d.ts.map +1 -1
  134. package/dist/types/components/data-display/RegionMap/RegionMap.hooks.d.ts +4 -2
  135. package/dist/types/components/data-display/RegionMap/RegionMap.hooks.d.ts.map +1 -1
  136. package/dist/types/components/data-display/RegionMap/RegionMap.types.d.ts +40 -0
  137. package/dist/types/components/data-display/RegionMap/RegionMap.types.d.ts.map +1 -1
  138. package/dist/types/components/data-display/RegionMap/RegionMap.view.d.ts +36 -0
  139. package/dist/types/components/data-display/RegionMap/RegionMap.view.d.ts.map +1 -0
  140. package/dist/types/components/data-display/RegionMap/RegionMapDrawing.d.ts +4 -1
  141. package/dist/types/components/data-display/RegionMap/RegionMapDrawing.d.ts.map +1 -1
  142. package/dist/types/components/data-display/RegionMap/index.d.ts +3 -2
  143. package/dist/types/components/data-display/RegionMap/index.d.ts.map +1 -1
  144. package/dist/user-avatar.js +3 -3
  145. package/package.json +1 -1
  146. package/src/components/data-display/RegionMap/RegionMap.hooks.ts +24 -33
  147. package/src/components/data-display/RegionMap/RegionMap.md +27 -0
  148. package/src/components/data-display/RegionMap/RegionMap.tsx +7 -1
  149. package/src/components/data-display/RegionMap/RegionMap.types.ts +41 -0
  150. package/src/components/data-display/RegionMap/RegionMap.view.ts +105 -0
  151. package/src/components/data-display/RegionMap/RegionMapDrawing.tsx +11 -0
  152. package/src/components/data-display/RegionMap/index.ts +5 -1
  153. package/src/components/data-display/RegionMap/tests.md +10 -2
  154. package/dist/chunk-ACFKPE2T.js +0 -1
  155. package/dist/chunk-AKE6KVQG.js.map +0 -1
  156. package/dist/chunk-GMRQPNG3.js.map +0 -1
  157. package/dist/chunk-WNNA6YYE.js.map +0 -1
  158. /package/dist/{chunk-ACFKPE2T.js.map → _internal/components/data-display/RegionMap/RegionMap.view.js.map} +0 -0
  159. /package/dist/{chunk-K2VDRODL.js.map → chunk-3IDL7NK7.js.map} +0 -0
  160. /package/dist/{chunk-QADTI63U.js.map → chunk-3JZ3KEQQ.js.map} +0 -0
  161. /package/dist/{chunk-EOIRU62W.js.map → chunk-42D7KBDH.js.map} +0 -0
  162. /package/dist/{chunk-LXIPBHNJ.js.map → chunk-42TOCPXB.js.map} +0 -0
  163. /package/dist/{chunk-KANCE4MS.js.map → chunk-4KWDNGMA.js.map} +0 -0
  164. /package/dist/{chunk-7YJYIMWP.js.map → chunk-4QR7LM5F.js.map} +0 -0
  165. /package/dist/{chunk-SCXVTNLE.js.map → chunk-5E2CRRD4.js.map} +0 -0
  166. /package/dist/{chunk-ZDAAHCIS.js.map → chunk-5HADIIWN.js.map} +0 -0
  167. /package/dist/{chunk-BP3ZKIPE.js.map → chunk-64UNVW6D.js.map} +0 -0
  168. /package/dist/{chunk-7F6D73NL.js.map → chunk-76DX2IMH.js.map} +0 -0
  169. /package/dist/{chunk-FI2CQOGC.js.map → chunk-7NP2JHGM.js.map} +0 -0
  170. /package/dist/{chunk-BMTIBQQC.js.map → chunk-BBBHPK2Q.js.map} +0 -0
  171. /package/dist/{chunk-EUR2ORTN.js.map → chunk-CSJ7WNXU.js.map} +0 -0
  172. /package/dist/{chunk-WWR6APJR.js.map → chunk-DA3D5X5Z.js.map} +0 -0
  173. /package/dist/{chunk-QKOJ4637.js.map → chunk-E6K2UZGR.js.map} +0 -0
  174. /package/dist/{chunk-VIMMEADQ.js.map → chunk-FORAVDJF.js.map} +0 -0
  175. /package/dist/{chunk-Z5WUSI47.js.map → chunk-G3JFESKD.js.map} +0 -0
  176. /package/dist/{chunk-3EIRRLCQ.js.map → chunk-HC6OZ7QK.js.map} +0 -0
  177. /package/dist/{chunk-SKIAWOUC.js.map → chunk-HOPRZEBM.js.map} +0 -0
  178. /package/dist/{chunk-JHWEL4NX.js.map → chunk-HS662RLW.js.map} +0 -0
  179. /package/dist/{chunk-BZBLPXV7.js.map → chunk-IWSTMVCA.js.map} +0 -0
  180. /package/dist/{chunk-TZC6KIK2.js.map → chunk-JG733RMP.js.map} +0 -0
  181. /package/dist/{chunk-CW5Z67NA.js.map → chunk-JH2XLVWM.js.map} +0 -0
  182. /package/dist/{chunk-3OTGREQG.js.map → chunk-JKZPGCN7.js.map} +0 -0
  183. /package/dist/{chunk-DSBC6O46.js.map → chunk-JN2IANXD.js.map} +0 -0
  184. /package/dist/{chunk-GBB23QLL.js.map → chunk-KJKD6Y6V.js.map} +0 -0
  185. /package/dist/{chunk-KRBPWTXW.js.map → chunk-L3PDY7CJ.js.map} +0 -0
  186. /package/dist/{chunk-HI7JPDD6.js.map → chunk-M3XJVD5G.js.map} +0 -0
  187. /package/dist/{chunk-EEO7M5GU.js.map → chunk-MYTV353T.js.map} +0 -0
  188. /package/dist/{chunk-3HZKUN5J.js.map → chunk-MZAYIG2I.js.map} +0 -0
  189. /package/dist/{chunk-3X2MA47R.js.map → chunk-NKEFH3RS.js.map} +0 -0
  190. /package/dist/{chunk-NI67M453.js.map → chunk-PGANINQD.js.map} +0 -0
  191. /package/dist/{chunk-BV2LOTMC.js.map → chunk-Q3SILZTQ.js.map} +0 -0
  192. /package/dist/{chunk-TIM4PXWN.js.map → chunk-QHIWV55K.js.map} +0 -0
  193. /package/dist/{chunk-DHAXUVMR.js.map → chunk-QN7FVZQD.js.map} +0 -0
  194. /package/dist/{chunk-X2GWR75Q.js.map → chunk-TSEBMVYY.js.map} +0 -0
  195. /package/dist/{chunk-CJ6XXM4X.js.map → chunk-U2AEM3K4.js.map} +0 -0
  196. /package/dist/{chunk-ZH6NYB6Y.js.map → chunk-U2QXQ7D4.js.map} +0 -0
  197. /package/dist/{chunk-SK2CTB3O.js.map → chunk-U2SAW6DH.js.map} +0 -0
  198. /package/dist/{chunk-DAHSKQBV.js.map → chunk-UMOHHWXY.js.map} +0 -0
  199. /package/dist/{chunk-P772HCHI.js.map → chunk-W676GY42.js.map} +0 -0
  200. /package/dist/{chunk-JFD742C3.js.map → chunk-WCF56ZCD.js.map} +0 -0
  201. /package/dist/{chunk-T2G4LDU5.js.map → chunk-WLLUARTC.js.map} +0 -0
  202. /package/dist/{chunk-NK6O4NE4.js.map → chunk-XILMDEGZ.js.map} +0 -0
  203. /package/dist/{chunk-QAEO52Z4.js.map → chunk-YGQM6GFQ.js.map} +0 -0
  204. /package/dist/{chunk-LOLYBFYY.js.map → chunk-ZCNR4DN5.js.map} +0 -0
  205. /package/dist/{chunk-COKPPU42.js.map → chunk-ZIHSCBMN.js.map} +0 -0
@@ -1,22 +1,19 @@
1
+ import {
2
+ centreOf,
3
+ reachBox,
4
+ viewWithin
5
+ } from "./chunk-FWAY2SAI.js";
1
6
  import {
2
7
  drawOrder,
3
8
  extent,
4
9
  geometryCache,
5
10
  hitRegion,
6
- projectionAt,
7
- viewBoxFor
11
+ projectionAt
8
12
  } from "./chunk-COOSJKZL.js";
9
13
 
10
14
  // src/components/data-display/RegionMap/RegionMap.hooks.ts
11
15
  import React from "react";
12
16
  var TOLERANCE_SHARE = 1 / 45;
13
- function centreOf(regions) {
14
- const points = regions.flatMap((r) => r.rings.flat());
15
- const lats = extent(points.map(([lat]) => lat));
16
- const lngs = extent(points.map(([, lng]) => lng));
17
- if (lats === null || lngs === null) return null;
18
- return { latitude: (lats.min + lats.max) / 2, longitude: (lngs.min + lngs.max) / 2 };
19
- }
20
17
  function svgPoint(event) {
21
18
  const svg = event.currentTarget;
22
19
  const matrix = typeof svg.getScreenCTM === "function" ? svg.getScreenCTM() : null;
@@ -24,14 +21,6 @@ function svgPoint(event) {
24
21
  const point = new DOMPoint(event.clientX, event.clientY).matrixTransform(matrix.inverse());
25
22
  return { x: point.x, y: point.y };
26
23
  }
27
- function viewOf(outermostMetres, drawable) {
28
- if (outermostMetres !== null) return viewBoxFor(outermostMetres, null);
29
- const boxes = drawable().filter((box) => box !== null);
30
- const xs = extent(boxes.flatMap((b) => [b.minX, b.minX + b.spanX]));
31
- const ys = extent(boxes.flatMap((b) => [b.minY, b.minY + b.spanY]));
32
- if (xs === null || ys === null) return null;
33
- return viewBoxFor(null, { minX: xs.min, minY: ys.min, spanX: xs.max - xs.min, spanY: ys.max - ys.min });
34
- }
35
24
  function tappedRegion(event, pointer, drawn, view) {
36
25
  const targetId = event.target.getAttribute("data-region-id");
37
26
  if (pointer === "mouse" && targetId) return targetId;
@@ -46,21 +35,27 @@ function tappedRegion(event, pointer, drawn, view) {
46
35
  function useGeometry(origin) {
47
36
  const lat = origin?.latitude ?? null;
48
37
  const lng = origin?.longitude ?? null;
49
- return React.useMemo(
50
- () => lat === null || lng === null ? null : geometryCache(projectionAt({ latitude: lat, longitude: lng })),
51
- [lat, lng]
52
- );
38
+ return React.useMemo(() => {
39
+ if (lat === null || lng === null) return { projection: null, geometryOf: null };
40
+ const projection = projectionAt({ latitude: lat, longitude: lng });
41
+ return { projection, geometryOf: geometryCache(projection) };
42
+ }, [lat, lng]);
53
43
  }
54
44
  function useRegionMap({
55
45
  regions,
56
46
  center,
57
47
  circles = [],
48
+ reach,
58
49
  onToggle
59
50
  }) {
60
- const geometryOf = useGeometry(center ?? centreOf(regions));
51
+ const { projection, geometryOf } = useGeometry(center ?? centreOf(regions));
61
52
  const radii = circles.map((c) => c.radiusMetres);
62
53
  const outermostMetres = extent(radii)?.max ?? null;
63
- const view = geometryOf === null ? null : viewOf(outermostMetres, () => regions.map((r) => geometryOf(r.rings).bounds));
54
+ const view = projection === null || geometryOf === null ? null : viewWithin(
55
+ outermostMetres,
56
+ reach === void 0 ? null : reachBox(reach, projection),
57
+ () => regions.map((r) => geometryOf(r.rings).bounds)
58
+ );
64
59
  const drawn = geometryOf && view ? drawOrder(regions, geometryOf, view) : [];
65
60
  const pointerType = React.useRef("mouse");
66
61
  const onPointerDown = (event) => {
@@ -71,10 +66,10 @@ function useRegionMap({
71
66
  const hit = tappedRegion(event, pointerType.current, drawn, view);
72
67
  if (hit) onToggle(hit);
73
68
  };
74
- return { view, drawn, radii, outermostMetres, onPointerDown, onClick };
69
+ return { view, projection, drawn, radii, outermostMetres, onPointerDown, onClick };
75
70
  }
76
71
 
77
72
  export {
78
73
  useRegionMap
79
74
  };
80
- //# sourceMappingURL=chunk-GMRQPNG3.js.map
75
+ //# sourceMappingURL=chunk-G2NVBCF7.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/data-display/RegionMap/RegionMap.hooks.ts"],"sourcesContent":["import React from 'react';\n\nimport {\n drawOrder,\n extent,\n geometryCache,\n hitRegion,\n projectionAt,\n type DrawnRegion,\n type PlaneBox,\n type Projection,\n} from './RegionMap.helpers';\nimport type { RegionMapProps } from './RegionMap.types';\nimport { centreOf, reachBox, viewWithin } from './RegionMap.view';\n\n/** What the drawing needs, derived from the props. */\nexport interface RegionMapModel {\n /** The square shown, or null when there is nothing to centre on. */\n view: PlaneBox | null;\n /** The projection drawn with, or null when there is nothing to centre on. */\n projection: Projection | null;\n drawn: DrawnRegion[];\n /** Radii drawn, in metres; empty without circles. */\n radii: number[];\n outermostMetres: number | null;\n /** The tap handlers for the drawing's `<svg>`. */\n onPointerDown: (event: React.PointerEvent<SVGSVGElement>) => void;\n onClick: (event: React.MouseEvent<SVGSVGElement>) => void;\n}\n\n/** A tap reaches an area this close: a share of the view (~8 px on a phone). */\nconst TOLERANCE_SHARE = 1 / 45;\n\n/** The click, in the drawing's own coordinates — or null where it cannot be read. */\nfunction svgPoint(event: React.MouseEvent<SVGSVGElement>): { x: number; y: number } | null {\n const svg = event.currentTarget;\n const matrix = typeof svg.getScreenCTM === 'function' ? svg.getScreenCTM() : null;\n if (!matrix || typeof DOMPoint === 'undefined') return null;\n const point = new DOMPoint(event.clientX, event.clientY).matrixTransform(matrix.inverse());\n return { x: point.x, y: point.y };\n}\n\n/** Which area a click or tap means — see `useRegionMap`. */\nfunction tappedRegion(\n event: React.MouseEvent<SVGSVGElement>,\n pointer: string,\n drawn: readonly DrawnRegion[],\n view: PlaneBox,\n): string | null {\n const targetId = (event.target as Element).getAttribute('data-region-id');\n if (pointer === 'mouse' && targetId) return targetId;\n const point = svgPoint(event);\n if (point === null) return targetId;\n return hitRegion(\n drawn.map((d) => ({ id: d.id, geometry: d.geometry })),\n point,\n view.spanX * TOLERANCE_SHARE,\n );\n}\n\n/** The projection and geometry cache for a centre, or nulls without one. */\nfunction useGeometry(origin: { latitude: number; longitude: number } | null): {\n projection: Projection | null;\n geometryOf: ReturnType<typeof geometryCache> | null;\n} {\n const lat = origin?.latitude ?? null;\n const lng = origin?.longitude ?? null;\n return React.useMemo(() => {\n if (lat === null || lng === null) return { projection: null, geometryOf: null };\n const projection = projectionAt({ latitude: lat, longitude: lng });\n return { projection, geometryOf: geometryCache(projection) };\n }, [lat, lng]);\n}\n\n/**\n * The projection, the view, the areas in draw order and the tap handlers.\n *\n * Geometry is projected once per `rings` identity and centre\n * (`geometryCache`), so a toggle — which changes `excluded`, not `rings` —\n * re-projects nothing.\n *\n * A MOUSE click on a path is that path's area: a pointer is precise. Any\n * other tap — a finger, a pen — goes to `hitRegion`: the smallest area within\n * a few pixels, so a sliver beside a big area is reachable from the map.\n */\nexport function useRegionMap({\n regions,\n center,\n circles = [],\n reach,\n onToggle,\n}: Pick<RegionMapProps, 'regions' | 'center' | 'circles' | 'reach' | 'onToggle'>): RegionMapModel {\n const { projection, geometryOf } = useGeometry(center ?? centreOf(regions));\n const radii = circles.map((c) => c.radiusMetres);\n const outermostMetres = extent(radii)?.max ?? null;\n const view =\n projection === null || geometryOf === null\n ? null\n : viewWithin(outermostMetres, reach === undefined ? null : reachBox(reach, projection), () =>\n regions.map((r) => geometryOf(r.rings).bounds),\n );\n const drawn = geometryOf && view ? drawOrder(regions, geometryOf, view) : [];\n const pointerType = React.useRef<string>('mouse');\n\n const onPointerDown = (event: React.PointerEvent<SVGSVGElement>): void => {\n pointerType.current = event.pointerType || 'mouse';\n };\n\n const onClick = (event: React.MouseEvent<SVGSVGElement>): void => {\n if (!onToggle || view === null) return;\n const hit = tappedRegion(event, pointerType.current, drawn, view);\n if (hit) onToggle(hit);\n };\n\n return { view, projection, drawn, radii, outermostMetres, onPointerDown, onClick };\n}\n"],"mappings":";;;;;;;;;;;;;;AAAA,OAAO,WAAW;AA+BlB,IAAM,kBAAkB,IAAI;AAG5B,SAAS,SAAS,OAAyE;AACzF,QAAM,MAAM,MAAM;AAClB,QAAM,SAAS,OAAO,IAAI,iBAAiB,aAAa,IAAI,aAAa,IAAI;AAC7E,MAAI,CAAC,UAAU,OAAO,aAAa,YAAa,QAAO;AACvD,QAAM,QAAQ,IAAI,SAAS,MAAM,SAAS,MAAM,OAAO,EAAE,gBAAgB,OAAO,QAAQ,CAAC;AACzF,SAAO,EAAE,GAAG,MAAM,GAAG,GAAG,MAAM,EAAE;AAClC;AAGA,SAAS,aACP,OACA,SACA,OACA,MACe;AACf,QAAM,WAAY,MAAM,OAAmB,aAAa,gBAAgB;AACxE,MAAI,YAAY,WAAW,SAAU,QAAO;AAC5C,QAAM,QAAQ,SAAS,KAAK;AAC5B,MAAI,UAAU,KAAM,QAAO;AAC3B,SAAO;AAAA,IACL,MAAM,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,UAAU,EAAE,SAAS,EAAE;AAAA,IACrD;AAAA,IACA,KAAK,QAAQ;AAAA,EACf;AACF;AAGA,SAAS,YAAY,QAGnB;AACA,QAAM,MAAM,QAAQ,YAAY;AAChC,QAAM,MAAM,QAAQ,aAAa;AACjC,SAAO,MAAM,QAAQ,MAAM;AACzB,QAAI,QAAQ,QAAQ,QAAQ,KAAM,QAAO,EAAE,YAAY,MAAM,YAAY,KAAK;AAC9E,UAAM,aAAa,aAAa,EAAE,UAAU,KAAK,WAAW,IAAI,CAAC;AACjE,WAAO,EAAE,YAAY,YAAY,cAAc,UAAU,EAAE;AAAA,EAC7D,GAAG,CAAC,KAAK,GAAG,CAAC;AACf;AAaO,SAAS,aAAa;AAAA,EAC3B;AAAA,EACA;AAAA,EACA,UAAU,CAAC;AAAA,EACX;AAAA,EACA;AACF,GAAkG;AAChG,QAAM,EAAE,YAAY,WAAW,IAAI,YAAY,UAAU,SAAS,OAAO,CAAC;AAC1E,QAAM,QAAQ,QAAQ,IAAI,CAAC,MAAM,EAAE,YAAY;AAC/C,QAAM,kBAAkB,OAAO,KAAK,GAAG,OAAO;AAC9C,QAAM,OACJ,eAAe,QAAQ,eAAe,OAClC,OACA;AAAA,IAAW;AAAA,IAAiB,UAAU,SAAY,OAAO,SAAS,OAAO,UAAU;AAAA,IAAG,MACpF,QAAQ,IAAI,CAAC,MAAM,WAAW,EAAE,KAAK,EAAE,MAAM;AAAA,EAC/C;AACN,QAAM,QAAQ,cAAc,OAAO,UAAU,SAAS,YAAY,IAAI,IAAI,CAAC;AAC3E,QAAM,cAAc,MAAM,OAAe,OAAO;AAEhD,QAAM,gBAAgB,CAAC,UAAmD;AACxE,gBAAY,UAAU,MAAM,eAAe;AAAA,EAC7C;AAEA,QAAM,UAAU,CAAC,UAAiD;AAChE,QAAI,CAAC,YAAY,SAAS,KAAM;AAChC,UAAM,MAAM,aAAa,OAAO,YAAY,SAAS,OAAO,IAAI;AAChE,QAAI,IAAK,UAAS,GAAG;AAAA,EACvB;AAEA,SAAO,EAAE,MAAM,YAAY,OAAO,OAAO,iBAAiB,eAAe,QAAQ;AACnF;","names":[]}
@@ -1,3 +1,8 @@
1
+ import {
2
+ resolveTooltipProps,
3
+ useHoverOpen,
4
+ usePinnedTooltip
5
+ } from "./chunk-QYJ25FWM.js";
1
6
  import {
2
7
  arrowColor,
3
8
  emphasisStyles,
@@ -5,11 +10,6 @@ import {
5
10
  tooltipCap,
6
11
  variantStyles
7
12
  } from "./chunk-BCWL7HUO.js";
8
- import {
9
- resolveTooltipProps,
10
- useHoverOpen,
11
- usePinnedTooltip
12
- } from "./chunk-QYJ25FWM.js";
13
13
 
14
14
  // src/components/data-display/InteractiveTooltip/InteractiveTooltip.tsx
15
15
  import MuiTooltip from "@mui/material/Tooltip/index.js";
@@ -96,4 +96,4 @@ InteractiveTooltip.displayName = "InteractiveTooltip";
96
96
  export {
97
97
  InteractiveTooltip
98
98
  };
99
- //# sourceMappingURL=chunk-Z5WUSI47.js.map
99
+ //# sourceMappingURL=chunk-G3JFESKD.js.map
@@ -12,7 +12,7 @@ import {
12
12
  } from "./chunk-JYWF76Z5.js";
13
13
  import {
14
14
  Chip
15
- } from "./chunk-NI67M453.js";
15
+ } from "./chunk-PGANINQD.js";
16
16
  import {
17
17
  Icon
18
18
  } from "./chunk-YEKPQAOW.js";
@@ -139,4 +139,4 @@ export {
139
139
  PendingSpinner,
140
140
  LearnMore
141
141
  };
142
- //# sourceMappingURL=chunk-3EIRRLCQ.js.map
142
+ //# sourceMappingURL=chunk-HC6OZ7QK.js.map
@@ -3,14 +3,14 @@ import {
3
3
  } from "./chunk-SALQ65SM.js";
4
4
  import {
5
5
  useSummaryInfo
6
- } from "./chunk-X2GWR75Q.js";
6
+ } from "./chunk-TSEBMVYY.js";
7
7
  import {
8
8
  LearnMore,
9
9
  PendingSpinner,
10
10
  SaveError,
11
11
  SettingHeader,
12
12
  partTestId
13
- } from "./chunk-3EIRRLCQ.js";
13
+ } from "./chunk-HC6OZ7QK.js";
14
14
  import {
15
15
  SETTING_CARD_OPEN_ATTR,
16
16
  actionsStyles,
@@ -170,4 +170,4 @@ SettingCard.displayName = "SettingCard";
170
170
  export {
171
171
  SettingCard
172
172
  };
173
- //# sourceMappingURL=chunk-SKIAWOUC.js.map
173
+ //# sourceMappingURL=chunk-HOPRZEBM.js.map
@@ -2,7 +2,7 @@ import {
2
2
  MoreGroup,
3
3
  MoreQuick,
4
4
  fieldClearing
5
- } from "./chunk-3HZKUN5J.js";
5
+ } from "./chunk-MZAYIG2I.js";
6
6
  import {
7
7
  useStillAnchor
8
8
  } from "./chunk-7CUZTWKW.js";
@@ -222,4 +222,4 @@ function MoreFilters({
222
222
  export {
223
223
  MoreFilters
224
224
  };
225
- //# sourceMappingURL=chunk-JHWEL4NX.js.map
225
+ //# sourceMappingURL=chunk-HS662RLW.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  StandaloneContainer,
3
3
  useRowLayout
4
- } from "./chunk-QKOJ4637.js";
4
+ } from "./chunk-E6K2UZGR.js";
5
5
  import {
6
6
  DiscloseSlot,
7
7
  DragSlot,
@@ -12,13 +12,13 @@ import {
12
12
  metaShape,
13
13
  rowStyles,
14
14
  useRowShell
15
- } from "./chunk-DAHSKQBV.js";
15
+ } from "./chunk-UMOHHWXY.js";
16
16
  import {
17
17
  ListCardActions,
18
18
  ListCardCaption,
19
19
  ListCardMeta,
20
20
  ListCardTail
21
- } from "./chunk-EUR2ORTN.js";
21
+ } from "./chunk-CSJ7WNXU.js";
22
22
  import {
23
23
  useDisclosure
24
24
  } from "./chunk-2JCRNWHE.js";
@@ -185,4 +185,4 @@ function BaseListCard(props) {
185
185
  export {
186
186
  BaseListCard
187
187
  };
188
- //# sourceMappingURL=chunk-BZBLPXV7.js.map
188
+ //# sourceMappingURL=chunk-IWSTMVCA.js.map
@@ -1,13 +1,13 @@
1
+ import {
2
+ resolveAxisConfig,
3
+ resolveBarGeometry
4
+ } from "./chunk-SOHQPPYJ.js";
1
5
  import {
2
6
  getAxisStyles,
3
7
  getDefaultColors,
4
8
  getSizeStyles,
5
9
  resolveSeries
6
10
  } from "./chunk-TCWISGSS.js";
7
- import {
8
- resolveAxisConfig,
9
- resolveBarGeometry
10
- } from "./chunk-SOHQPPYJ.js";
11
11
  import {
12
12
  remPx
13
13
  } from "./chunk-YKCAJ2TN.js";
@@ -73,4 +73,4 @@ function marginPx(theme, margin) {
73
73
  export {
74
74
  buildChartContext
75
75
  };
76
- //# sourceMappingURL=chunk-TZC6KIK2.js.map
76
+ //# sourceMappingURL=chunk-JG733RMP.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  partTestId
3
- } from "./chunk-3EIRRLCQ.js";
3
+ } from "./chunk-HC6OZ7QK.js";
4
4
  import {
5
5
  SETTING_CARD_OPEN_ATTR,
6
6
  withCallerSx
@@ -79,4 +79,4 @@ export {
79
79
  settingGridStyles,
80
80
  SettingGrid
81
81
  };
82
- //# sourceMappingURL=chunk-CW5Z67NA.js.map
82
+ //# sourceMappingURL=chunk-JH2XLVWM.js.map
@@ -1,19 +1,19 @@
1
+ import {
2
+ FilterDialog,
3
+ GridFilterPanel
4
+ } from "./chunk-L3PDY7CJ.js";
1
5
  import {
2
6
  ShellEmpty
3
7
  } from "./chunk-MKVDHR3B.js";
4
8
  import {
5
9
  InlineFilterControls
6
- } from "./chunk-NK6O4NE4.js";
10
+ } from "./chunk-XILMDEGZ.js";
7
11
  import {
8
12
  GridHeaderRow
9
13
  } from "./chunk-X3AFXHY5.js";
10
14
  import {
11
15
  GridMain
12
- } from "./chunk-3X2MA47R.js";
13
- import {
14
- FilterDialog,
15
- GridFilterPanel
16
- } from "./chunk-KRBPWTXW.js";
16
+ } from "./chunk-NKEFH3RS.js";
17
17
  import {
18
18
  DataViewsPagination
19
19
  } from "./chunk-XZFTRGRW.js";
@@ -30,14 +30,14 @@ import {
30
30
  import {
31
31
  ShellToolbar
32
32
  } from "./chunk-Z2WZDVGG.js";
33
- import {
34
- allOnPageSelected,
35
- resolveSelectionExtra
36
- } from "./chunk-5YDS6HO3.js";
37
33
  import {
38
34
  SHELL_PROPS,
39
35
  useStickyBarTop
40
36
  } from "./chunk-4IE66GY2.js";
37
+ import {
38
+ allOnPageSelected,
39
+ resolveSelectionExtra
40
+ } from "./chunk-5YDS6HO3.js";
41
41
  import {
42
42
  togglePillValues
43
43
  } from "./chunk-UKNMPGEM.js";
@@ -252,4 +252,4 @@ function GridShell(props) {
252
252
  export {
253
253
  GridShell
254
254
  };
255
- //# sourceMappingURL=chunk-3OTGREQG.js.map
255
+ //# sourceMappingURL=chunk-JKZPGCN7.js.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  GridShell
3
- } from "./chunk-3OTGREQG.js";
3
+ } from "./chunk-JKZPGCN7.js";
4
4
  import {
5
5
  useDataViewsState
6
- } from "./chunk-LOLYBFYY.js";
6
+ } from "./chunk-ZCNR4DN5.js";
7
7
 
8
8
  // src/components/data-display/DataViews/DataViewsGrid.tsx
9
9
  import { useEffect, useRef } from "react";
@@ -27,4 +27,4 @@ function DataViewsGrid(props) {
27
27
  export {
28
28
  DataViewsGrid
29
29
  };
30
- //# sourceMappingURL=chunk-DSBC6O46.js.map
30
+ //# sourceMappingURL=chunk-JN2IANXD.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  SettingSwitchBlock,
3
3
  useSettingSwitchIds
4
- } from "./chunk-ZDAAHCIS.js";
4
+ } from "./chunk-5HADIIWN.js";
5
5
  import {
6
6
  SettingGroupContext
7
7
  } from "./chunk-XJQNSMGA.js";
@@ -10,7 +10,7 @@ import {
10
10
  } from "./chunk-SALQ65SM.js";
11
11
  import {
12
12
  partTestId
13
- } from "./chunk-3EIRRLCQ.js";
13
+ } from "./chunk-HC6OZ7QK.js";
14
14
  import {
15
15
  dependentsStyles,
16
16
  hintStyles,
@@ -84,4 +84,4 @@ SettingGroup.displayName = "SettingGroup";
84
84
  export {
85
85
  SettingGroup
86
86
  };
87
- //# sourceMappingURL=chunk-GBB23QLL.js.map
87
+ //# sourceMappingURL=chunk-KJKD6Y6V.js.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-AJ6KFHEE.js";
4
4
  import {
5
5
  PanelRangeField
6
- } from "./chunk-FI2CQOGC.js";
6
+ } from "./chunk-7NP2JHGM.js";
7
7
  import {
8
8
  useDataViewsCopy
9
9
  } from "./chunk-KHG57NAE.js";
@@ -157,4 +157,4 @@ export {
157
157
  GridFilterPanel,
158
158
  FilterDialog
159
159
  };
160
- //# sourceMappingURL=chunk-KRBPWTXW.js.map
160
+ //# sourceMappingURL=chunk-L3PDY7CJ.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  renderChartByType
3
- } from "./chunk-QADTI63U.js";
3
+ } from "./chunk-3JZ3KEQQ.js";
4
4
  import {
5
5
  ChartContainer
6
6
  } from "./chunk-RIRTW5EU.js";
@@ -111,4 +111,4 @@ var Chart = (props) => {
111
111
  export {
112
112
  Chart
113
113
  };
114
- //# sourceMappingURL=chunk-HI7JPDD6.js.map
114
+ //# sourceMappingURL=chunk-M3XJVD5G.js.map
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  resolveMapCopy
3
3
  } from "./chunk-M5Y42AZ4.js";
4
- import {
5
- bounceKeyframes
6
- } from "./chunk-4YYFZ6TE.js";
7
4
  import {
8
5
  MARKER_PIXELS_PER_DEGREE
9
6
  } from "./chunk-H2J2MTRE.js";
7
+ import {
8
+ bounceKeyframes
9
+ } from "./chunk-4YYFZ6TE.js";
10
10
  import {
11
11
  shadowInk
12
12
  } from "./chunk-XJAD6E3V.js";
@@ -85,4 +85,4 @@ export {
85
85
  MapMarkers,
86
86
  MapCoordinates
87
87
  };
88
- //# sourceMappingURL=chunk-EEO7M5GU.js.map
88
+ //# sourceMappingURL=chunk-MYTV353T.js.map
@@ -6,7 +6,7 @@ import {
6
6
  } from "./chunk-KYUEO2IO.js";
7
7
  import {
8
8
  RangeBounds
9
- } from "./chunk-VIMMEADQ.js";
9
+ } from "./chunk-FORAVDJF.js";
10
10
  import {
11
11
  QuickRow
12
12
  } from "./chunk-AT6UKTH4.js";
@@ -228,4 +228,4 @@ export {
228
228
  MoreQuick,
229
229
  MoreGroup
230
230
  };
231
- //# sourceMappingURL=chunk-3HZKUN5J.js.map
231
+ //# sourceMappingURL=chunk-MZAYIG2I.js.map
@@ -18,6 +18,7 @@ import React from "react";
18
18
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
19
19
  function RegionMapDrawing({
20
20
  model,
21
+ overlay,
21
22
  showCenter,
22
23
  highlightedIds,
23
24
  maxHeight,
@@ -65,6 +66,9 @@ function RegionMapDrawing({
65
66
  /* @__PURE__ */ jsx(Hatch, { id: hatchId, pitch: view.spanX / 70, theme }),
66
67
  /* @__PURE__ */ jsx(BaseAreas, { areas: base, testId, theme }),
67
68
  /* @__PURE__ */ jsx(ExcludedAreas, { drawn, hatchId, testId, theme }),
69
+ overlay && model.projection && // `pointer-events` is inherited in SVG: nothing the host draws here
70
+ // takes a tap from the areas beneath.
71
+ /* @__PURE__ */ jsx("g", { pointerEvents: "none", "data-testid": `${testId}-overlay`, children: overlay({ view, projection: model.projection }) }),
68
72
  /* @__PURE__ */ jsx(Circles, { radii: model.radii, theme }),
69
73
  /* @__PURE__ */ jsx(Highlights, { areas: highlighted, testId, theme }),
70
74
  showCenter && /* @__PURE__ */ jsx(
@@ -252,4 +256,4 @@ function AreaLabel({
252
256
  export {
253
257
  RegionMapDrawing
254
258
  };
255
- //# sourceMappingURL=chunk-AKE6KVQG.js.map
259
+ //# sourceMappingURL=chunk-NGXL4R54.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/data-display/RegionMap/RegionMapDrawing.tsx"],"sourcesContent":["import Box from '@mui/material/Box/index.js';\nimport Typography from '@mui/material/Typography/index.js';\nimport { alpha, type Theme } from '@mui/material/styles/index.js';\nimport React from 'react';\n\nimport { rem, remPx } from '../../../tokens/relative';\n\nimport { labelPosition, type AreaGeometry, type DrawnRegion, type PlaneBox } from './RegionMap.helpers';\nimport type { RegionMapModel } from './RegionMap.hooks';\nimport { labelOrder, placeLabels } from './RegionMap.labels';\nimport type { RegionMapLayer } from './RegionMap.types';\n\nexport interface RegionMapDrawingProps {\n model: RegionMapModel & { view: PlaneBox };\n /** The host's layer, drawn inside the SVG under the circles (`RegionMapProps.overlay`). */\n overlay?: (layer: RegionMapLayer) => React.ReactNode;\n showCenter: boolean;\n highlightedIds: readonly string[];\n maxHeight: string | undefined;\n label: string;\n tappable: boolean;\n testId: string;\n theme: Theme;\n}\n\n/**\n * The drawing: one `role=\"img\"`, square, with HTML labels laid over it.\n *\n * Strokes are `non-scaling-stroke` and labels are HTML at theme sizes, so the\n * picture reads the same at 320 px and 1600 px; `maxHeight` caps it on a wide\n * screen. Where it sits in a wider box is the host's call.\n *\n * The base areas are a memoised layer: a toggle changes `excluded`, not the\n * geometry, so only the hatch, highlight and label layers re-render.\n */\nexport function RegionMapDrawing({\n model,\n overlay,\n showCenter,\n highlightedIds,\n maxHeight,\n label,\n tappable,\n testId,\n theme,\n}: RegionMapDrawingProps): React.JSX.Element {\n const hatchId = `${React.useId().replace(/:/g, '')}-hatch`;\n const { view, drawn } = model;\n const wanted = new Set(highlightedIds);\n const highlighted = drawn.filter((d) => wanted.has(d.id));\n // Highlighted, then excluded, then larger, then by name: the order labels\n // claim their place in, so a collision hides the less important one.\n const labelled = labelOrder(drawn.filter((d) => d.excluded || wanted.has(d.id)), wanted);\n const boxRef = React.useRef<HTMLDivElement>(null);\n useLabelPlacement(boxRef, labelled.map((d) => d.id).join('|'), remPx(theme, 4));\n const base = drawn.map((d) => ({ id: d.id, name: d.name, geometry: d.geometry, outside: d.outside === true }));\n return (\n <Box\n sx={{\n position: 'relative',\n width: '100%',\n maxWidth: maxHeight,\n maxHeight,\n aspectRatio: '1 / 1',\n border: 1,\n borderColor: 'divider',\n borderRadius: 1,\n overflow: 'hidden',\n bgcolor: 'background.paper',\n }}\n data-testid={`${testId}-canvas`}\n ref={boxRef}\n >\n <svg\n viewBox={`${view.minX} ${view.minY} ${view.spanX} ${view.spanY}`}\n role=\"img\"\n aria-label={label}\n onPointerDown={model.onPointerDown}\n onClick={model.onClick}\n style={{ display: 'block', width: '100%', height: '100%', cursor: tappable ? 'pointer' : 'default' }}\n >\n <Hatch id={hatchId} pitch={view.spanX / 70} theme={theme} />\n <BaseAreas areas={base} testId={testId} theme={theme} />\n <ExcludedAreas drawn={drawn} hatchId={hatchId} testId={testId} theme={theme} />\n {overlay && model.projection && (\n // `pointer-events` is inherited in SVG: nothing the host draws here\n // takes a tap from the areas beneath.\n <g pointerEvents=\"none\" data-testid={`${testId}-overlay`}>\n {overlay({ view, projection: model.projection })}\n </g>\n )}\n <Circles radii={model.radii} theme={theme} />\n <Highlights areas={highlighted} testId={testId} theme={theme} />\n {showCenter && (\n <circle\n cx={0}\n cy={0}\n r={view.spanX / 90}\n fill={theme.palette.primary.main}\n stroke={theme.palette.background.paper}\n strokeWidth={2}\n vectorEffect=\"non-scaling-stroke\"\n pointerEvents=\"none\"\n data-testid={`${testId}-center`}\n />\n )}\n </svg>\n {labelled.map((d) => (\n <AreaLabel key={`l-${d.id}`} area={d} view={view} testId={testId} theme={theme} />\n ))}\n </Box>\n );\n}\n\n/** The highlighted areas, drawn over everything but the centre. */\nfunction Highlights({\n areas,\n testId,\n theme,\n}: {\n areas: readonly DrawnRegion[];\n testId: string;\n theme: Theme;\n}): React.JSX.Element {\n return (\n <>\n {areas.map((d) => (\n <path\n key={`h-${d.id}`}\n d={d.geometry.path}\n fillRule=\"evenodd\"\n vectorEffect=\"non-scaling-stroke\"\n fill={alpha(theme.palette.primary.main, 0.3)}\n stroke={theme.palette.primary.main}\n strokeWidth={2.5}\n pointerEvents=\"none\"\n data-testid={`${testId}-highlight-${d.id}`}\n />\n ))}\n </>\n );\n}\n\n/** The hatch an excluded area is filled with: lines, not a colour. */\nfunction Hatch({ id, pitch, theme }: { id: string; pitch: number; theme: Theme }): React.JSX.Element {\n return (\n <defs>\n <pattern id={id} width={pitch} height={pitch} patternUnits=\"userSpaceOnUse\" patternTransform=\"rotate(45)\">\n <rect width={pitch} height={pitch} fill={alpha(theme.palette.text.primary, 0.1)} />\n <rect width={pitch / 3} height={pitch} fill={theme.palette.text.secondary} />\n </pattern>\n </defs>\n );\n}\n\ninterface BaseArea {\n id: string;\n name: string;\n geometry: AreaGeometry;\n outside: boolean;\n}\n\ninterface BaseAreasProps {\n areas: readonly BaseArea[];\n testId: string;\n theme: Theme;\n}\n\n/** Same areas, same geometry objects, same look: nothing to re-render. */\nfunction sameBase(a: BaseAreasProps, b: BaseAreasProps): boolean {\n if (a.theme !== b.theme || a.testId !== b.testId || a.areas.length !== b.areas.length) return false;\n return a.areas.every((area, i) => {\n const other = b.areas[i]!;\n return (\n area.id === other.id &&\n area.geometry === other.geometry &&\n area.outside === other.outside &&\n area.name === other.name\n );\n });\n}\n\n/** Every area's fill and border — the tap targets. Memoised: see `sameBase`. */\nconst BaseAreas = React.memo(function BaseAreas({ areas, testId, theme }: BaseAreasProps): React.JSX.Element {\n const { palette } = theme;\n return (\n <>\n {areas.map((d) => (\n <path\n key={d.id}\n d={d.geometry.path}\n fillRule=\"evenodd\"\n vectorEffect=\"non-scaling-stroke\"\n fill={d.outside ? palette.background.paper : palette.action.hover}\n stroke={palette.divider}\n strokeWidth={1}\n data-region-id={d.id}\n data-testid={`${testId}-area-${d.id}`}\n >\n <title>{d.name}</title>\n </path>\n ))}\n </>\n );\n}, sameBase);\n\n/** The hatch over every excluded area. */\nfunction ExcludedAreas({\n drawn,\n hatchId,\n testId,\n theme,\n}: {\n drawn: readonly DrawnRegion[];\n hatchId: string;\n testId: string;\n theme: Theme;\n}): React.JSX.Element {\n return (\n <>\n {drawn\n .filter((d) => d.excluded)\n .map((d) => (\n <path\n key={`x-${d.id}`}\n d={d.geometry.path}\n fillRule=\"evenodd\"\n vectorEffect=\"non-scaling-stroke\"\n fill={`url(#${hatchId})`}\n stroke={theme.palette.text.secondary}\n strokeWidth={1.5}\n pointerEvents=\"none\"\n data-testid={`${testId}-excluded-${d.id}`}\n />\n ))}\n </>\n );\n}\n\n/** The dashed circles around the centre. */\nfunction Circles({ radii, theme }: { radii: readonly number[]; theme: Theme }): React.JSX.Element {\n return (\n <>\n {radii.map((radius) => (\n <circle\n key={radius}\n cx={0}\n cy={0}\n r={radius}\n fill=\"none\"\n stroke={theme.palette.info.main}\n strokeWidth={1.75}\n strokeDasharray=\"7 5\"\n vectorEffect=\"non-scaling-stroke\"\n pointerEvents=\"none\"\n />\n ))}\n </>\n );\n}\n\n/**\n * Places every label the drawing carries, in their DOM order (the priority\n * order), and hides one that would overlap a label already drawn\n * (`placeLabels`). Measured by a ResizeObserver, never in a layout effect: its\n * first call comes after the browser's own layout, so mounting a label on a\n * tap forces no synchronous reflow of the drawing.\n */\nfunction useLabelPlacement(boxRef: React.RefObject<HTMLDivElement | null>, key: string, gap: number): void {\n React.useEffect(() => {\n const box = boxRef.current;\n if (!box || typeof ResizeObserver === 'undefined') return undefined;\n const labels = Array.from(box.querySelectorAll<HTMLElement>('[data-region-label]'));\n const place = (): void => {\n const spanX = box.clientWidth;\n const spanY = box.clientHeight;\n if (spanX === 0 || spanY === 0) return;\n const placed = placeLabels(\n labels.map((label) => ({\n fractionX: Number(label.dataset.fractionX),\n fractionY: Number(label.dataset.fractionY),\n spanX: label.offsetWidth,\n spanY: label.offsetHeight,\n })),\n { spanX, spanY },\n gap,\n );\n placed.forEach(({ x, y, visible }, index) => {\n const label = labels[index]!;\n label.style.left = `${(x / spanX) * 100}%`;\n label.style.top = `${(y / spanY) * 100}%`;\n label.style.visibility = visible ? 'visible' : 'hidden';\n label.dataset.hidden = visible ? 'false' : 'true';\n });\n };\n const observer = new ResizeObserver(place);\n observer.observe(box);\n for (const label of labels) observer.observe(label);\n return () => observer.disconnect();\n }, [boxRef, key, gap]);\n}\n\n/**\n * An area's name over the drawing, at the theme's type size whatever the\n * width. Placed — and hidden on a collision — by {@link useLabelPlacement}.\n * Decorative (`aria-hidden`): the area's name is its `<title>` and its row in\n * the list.\n */\nfunction AreaLabel({\n area,\n view,\n testId,\n theme,\n}: {\n area: DrawnRegion;\n view: PlaneBox;\n testId: string;\n theme: Theme;\n}): React.JSX.Element {\n const at = labelPosition(area.geometry.rings, view);\n const halo = `0 0 ${rem(theme, 3)} ${theme.palette.background.paper}`;\n return (\n <Typography\n component=\"span\"\n aria-hidden\n data-testid={`${testId}-label-${area.id}`}\n data-region-label=\"\"\n data-fraction-x={at.fractionX}\n data-fraction-y={at.fractionY}\n // Position as an inline style, not `sx`: a per-label class would insert\n // a new CSS rule (and a style recalculation) on every tap.\n style={{\n left: `${(at.fractionX * 100).toFixed(2)}%`,\n top: `${(at.fractionY * 100).toFixed(2)}%`,\n }}\n sx={{\n position: 'absolute',\n transform: 'translate(-50%, -50%)',\n fontSize: rem(theme, 12),\n fontWeight: 700,\n lineHeight: 1.1,\n textAlign: 'center',\n maxWidth: '45%',\n color: 'text.primary',\n pointerEvents: 'none',\n textShadow: `${halo}, ${halo}`,\n }}\n >\n {area.name}\n </Typography>\n );\n}\n"],"mappings":"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","names":["BaseAreas"]}
@@ -4,18 +4,18 @@ import {
4
4
  import {
5
5
  CardBody
6
6
  } from "./chunk-4ZQQUICR.js";
7
- import {
8
- toGridExpansion
9
- } from "./chunk-O5UGAL2V.js";
10
7
  import {
11
8
  SelectAllStrip
12
9
  } from "./chunk-OY437NRJ.js";
10
+ import {
11
+ toGridExpansion
12
+ } from "./chunk-O5UGAL2V.js";
13
13
  import {
14
14
  useStickyTableHead
15
15
  } from "./chunk-4IE66GY2.js";
16
16
  import {
17
17
  ListCardGroup
18
- } from "./chunk-BMTIBQQC.js";
18
+ } from "./chunk-BBBHPK2Q.js";
19
19
  import {
20
20
  DENSITY_BOARD_SCALE,
21
21
  DENSITY_ROW_PADDING,
@@ -250,4 +250,4 @@ function GridMain(props) {
250
250
  export {
251
251
  GridMain
252
252
  };
253
- //# sourceMappingURL=chunk-3X2MA47R.js.map
253
+ //# sourceMappingURL=chunk-NKEFH3RS.js.map
@@ -3,15 +3,15 @@ import {
3
3
  chipStyles,
4
4
  iconWithTestId,
5
5
  makeKeyDownHandler
6
- } from "./chunk-DHAXUVMR.js";
7
- import {
8
- chipMuiSize
9
- } from "./chunk-E5I776YW.js";
6
+ } from "./chunk-QN7FVZQD.js";
10
7
  import {
11
8
  chipRole,
12
9
  isClickable,
13
10
  makeTestId
14
11
  } from "./chunk-BF4FYOAR.js";
12
+ import {
13
+ chipMuiSize
14
+ } from "./chunk-E5I776YW.js";
15
15
 
16
16
  // src/components/data-display/Chip/Chip.tsx
17
17
  import CancelIcon from "@mui/icons-material/Cancel";
@@ -77,4 +77,4 @@ Chip.displayName = "Chip";
77
77
  export {
78
78
  Chip
79
79
  };
80
- //# sourceMappingURL=chunk-NI67M453.js.map
80
+ //# sourceMappingURL=chunk-PGANINQD.js.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-DQ22UKMZ.js";
4
4
  import {
5
5
  Avatar
6
- } from "./chunk-7YJYIMWP.js";
6
+ } from "./chunk-4QR7LM5F.js";
7
7
  import {
8
8
  Card
9
9
  } from "./chunk-4XBAEKQQ.js";
@@ -80,4 +80,4 @@ export {
80
80
  UserAvatar,
81
81
  UserMenu
82
82
  };
83
- //# sourceMappingURL=chunk-BV2LOTMC.js.map
83
+ //# sourceMappingURL=chunk-Q3SILZTQ.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Chart
3
- } from "./chunk-HI7JPDD6.js";
3
+ } from "./chunk-M3XJVD5G.js";
4
4
  import {
5
5
  CHART_SEMANTIC_COLORS,
6
6
  specToChartProps
@@ -46,4 +46,4 @@ var SpecChart = ({
46
46
  export {
47
47
  SpecChart
48
48
  };
49
- //# sourceMappingURL=chunk-TIM4PXWN.js.map
49
+ //# sourceMappingURL=chunk-QHIWV55K.js.map
@@ -1,3 +1,6 @@
1
+ import {
2
+ chipKeyAction
3
+ } from "./chunk-BF4FYOAR.js";
1
4
  import {
2
5
  CHIP_SIZES,
3
6
  CHIP_TRANSITION_EASING,
@@ -7,9 +10,6 @@ import {
7
10
  SOFT_GROUND_ALPHA,
8
11
  SOFT_HOVER_ALPHA
9
12
  } from "./chunk-E5I776YW.js";
10
- import {
11
- chipKeyAction
12
- } from "./chunk-BF4FYOAR.js";
13
13
  import {
14
14
  shadowInk
15
15
  } from "./chunk-XJAD6E3V.js";
@@ -110,4 +110,4 @@ export {
110
110
  chipStyles,
111
111
  iconWithTestId
112
112
  };
113
- //# sourceMappingURL=chunk-DHAXUVMR.js.map
113
+ //# sourceMappingURL=chunk-QN7FVZQD.js.map
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  partTestId
3
- } from "./chunk-3EIRRLCQ.js";
3
+ } from "./chunk-HC6OZ7QK.js";
4
4
  import {
5
5
  SETTING_CARD
6
6
  } from "./chunk-BFRVMCQM.js";
7
7
  import {
8
8
  InteractiveTooltip
9
- } from "./chunk-Z5WUSI47.js";
9
+ } from "./chunk-G3JFESKD.js";
10
10
  import {
11
11
  Icon
12
12
  } from "./chunk-YEKPQAOW.js";
@@ -92,4 +92,4 @@ export {
92
92
  SummaryInfo,
93
93
  useSummaryInfo
94
94
  };
95
- //# sourceMappingURL=chunk-X2GWR75Q.js.map
95
+ //# sourceMappingURL=chunk-TSEBMVYY.js.map
@@ -1,21 +1,21 @@
1
1
  import {
2
2
  MapCoordinates,
3
3
  MapMarkers
4
- } from "./chunk-EEO7M5GU.js";
4
+ } from "./chunk-MYTV353T.js";
5
5
  import {
6
6
  MapLayers
7
- } from "./chunk-ZH6NYB6Y.js";
7
+ } from "./chunk-U2QXQ7D4.js";
8
8
  import {
9
9
  glassStyles,
10
10
  resolveMapCopy,
11
11
  resolveMapPreviewProps
12
12
  } from "./chunk-M5Y42AZ4.js";
13
- import {
14
- StaticMapView
15
- } from "./chunk-UAOE3ZPC.js";
16
13
  import {
17
14
  useMapPreview
18
15
  } from "./chunk-QSRZOXQI.js";
16
+ import {
17
+ StaticMapView
18
+ } from "./chunk-UAOE3ZPC.js";
19
19
  import {
20
20
  rem
21
21
  } from "./chunk-YKCAJ2TN.js";
@@ -113,4 +113,4 @@ export {
113
113
  MapPreview,
114
114
  MapPreview_default
115
115
  };
116
- //# sourceMappingURL=chunk-CJ6XXM4X.js.map
116
+ //# sourceMappingURL=chunk-U2AEM3K4.js.map