@12-apps/ui 6.85.0 → 6.86.1

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 (137) hide show
  1. package/dist/_internal/components/data-display/Alert/Alert.js +2 -2
  2. package/dist/_internal/components/data-display/CardKit/card-actions-context.js +3 -3
  3. package/dist/_internal/components/data-display/CardKit/use-remove-confirm.js +4 -4
  4. package/dist/_internal/components/data-display/Carousel/Carousel.js +2 -2
  5. package/dist/_internal/components/data-display/DataGrid/DataGrid.js +2 -2
  6. package/dist/_internal/components/data-display/DataViews/DataViewsGrid.js +20 -20
  7. package/dist/_internal/components/data-display/DataViews/DataViewsTableBase.js +24 -24
  8. package/dist/_internal/components/data-display/DataViews/base-list-card-geometry.js +1 -1
  9. package/dist/_internal/components/data-display/DataViews/base-list-card-layout.js +1 -1
  10. package/dist/_internal/components/data-display/DataViews/base-list-card.js +2 -2
  11. package/dist/_internal/components/data-display/DataViews/data-views-grid-bodies.js +4 -4
  12. package/dist/_internal/components/data-display/DataViews/data-views-grid-parts.js +13 -13
  13. package/dist/_internal/components/data-display/DataViews/data-views-scope-tabs.js +2 -2
  14. package/dist/_internal/components/data-display/DataViews/data-views-shell-toolbar.js +4 -4
  15. package/dist/_internal/components/data-display/DataViews/data-views-table-parts.js +3 -3
  16. package/dist/_internal/components/data-display/DataViews/data-views-toolbar.js +3 -3
  17. package/dist/_internal/components/data-display/DataViews/use-data-views-state.js +2 -2
  18. package/dist/_internal/components/data-display/FleetMap/FleetBody.js +13 -13
  19. package/dist/_internal/components/data-display/FleetMap/FleetCanvas.js +12 -12
  20. package/dist/_internal/components/data-display/FleetMap/FleetMap.js +14 -14
  21. package/dist/_internal/components/data-display/Lightbox/Lightbox.js +4 -4
  22. package/dist/_internal/components/data-display/MapPreview/MapDecorations.js +2 -2
  23. package/dist/_internal/components/data-display/MapPreview/MapLayers.js +2 -2
  24. package/dist/_internal/components/data-display/MapPreview/MapMarkers.js +2 -2
  25. package/dist/_internal/components/data-display/MapPreview/MapPreview.hooks.js +2 -2
  26. package/dist/_internal/components/data-display/MapPreview/MapPreview.js +11 -11
  27. package/dist/_internal/components/data-display/MapPreview/MapTiles.js +2 -2
  28. package/dist/_internal/components/data-display/MapPreview/StaticMapView.js +4 -4
  29. package/dist/_internal/components/data-display/MapPreview/useMapPreview.js +3 -3
  30. package/dist/_internal/components/data-display/RegionMap/RegionMap.js +3 -2
  31. package/dist/_internal/components/data-display/RegionMap/RegionMap.labels.js +12 -0
  32. package/dist/_internal/components/data-display/RegionMap/RegionMap.labels.js.map +1 -0
  33. package/dist/_internal/components/data-display/RegionMap/RegionMapDrawing.js +2 -1
  34. package/dist/_internal/components/data-display/index.js +27 -26
  35. package/dist/_internal/components/feedback/NotificationStatusNotice/NotificationStatusNotice.js +3 -3
  36. package/dist/_internal/components/feedback/SequenceResolver/SequenceResolver.js +4 -4
  37. package/dist/_internal/components/feedback/SequenceResolver/SequenceResolver.parts.js +3 -3
  38. package/dist/_internal/components/feedback/index.js +5 -5
  39. package/dist/_internal/components/form/total-form/Fields/SelectField.js +1 -1
  40. package/dist/_internal/components/form/total-form/Fields/ToggleField.js +1 -1
  41. package/dist/_internal/components/form/total-form/Fields/index.js +3 -3
  42. package/dist/_internal/components/index.js +30 -29
  43. package/dist/{chunk-T6QVM5Q5.js → chunk-4LUWZ6UE.js} +2 -2
  44. package/dist/{chunk-JKIKHWD2.js → chunk-5NT2M2JI.js} +4 -4
  45. package/dist/{chunk-I7JUAHUO.js → chunk-65KJLPF5.js} +3 -3
  46. package/dist/{chunk-C74PDNTF.js → chunk-67ADHGA2.js} +2 -2
  47. package/dist/{chunk-GCBWZ3MX.js → chunk-6YSGP2WS.js} +2 -1
  48. package/dist/{chunk-GCBWZ3MX.js.map → chunk-6YSGP2WS.js.map} +1 -1
  49. package/dist/{chunk-ZLVRCQPG.js → chunk-A5CKUJP2.js} +5 -5
  50. package/dist/{chunk-A63WU4UZ.js → chunk-AKE6KVQG.js} +70 -41
  51. package/dist/chunk-AKE6KVQG.js.map +1 -0
  52. package/dist/{chunk-75I42HHE.js → chunk-AYJGRQT4.js} +2 -1
  53. package/dist/{chunk-75I42HHE.js.map → chunk-AYJGRQT4.js.map} +1 -1
  54. package/dist/{chunk-XMWTVDQN.js → chunk-B32554CQ.js} +12 -12
  55. package/dist/{chunk-OA6T2ME3.js → chunk-BLZDSCIZ.js} +4 -4
  56. package/dist/{chunk-OZYUE2BI.js → chunk-CJUK32UH.js} +4 -4
  57. package/dist/{chunk-HWPQKHN2.js → chunk-COKPPU42.js} +7 -7
  58. package/dist/{chunk-U4WAAZXJ.js → chunk-DVX4HDNP.js} +2 -2
  59. package/dist/{chunk-CESGZRVQ.js → chunk-EMSMJRP3.js} +4 -4
  60. package/dist/{chunk-IFX5KP65.js → chunk-EXVCVXFX.js} +4 -4
  61. package/dist/{chunk-U3HGQHEO.js → chunk-H7CZRKN7.js} +4 -4
  62. package/dist/{chunk-5ZC7CNU4.js → chunk-I2LMLQGQ.js} +2 -2
  63. package/dist/chunk-J3AWGTJY.js +29 -0
  64. package/dist/chunk-J3AWGTJY.js.map +1 -0
  65. package/dist/{chunk-K6VEN5VN.js → chunk-K3PMMW23.js} +4 -4
  66. package/dist/{chunk-YHPSPFU5.js → chunk-LIN4A2BW.js} +4 -4
  67. package/dist/{chunk-LXMFHD7M.js → chunk-LTSVYILY.js} +4 -4
  68. package/dist/{chunk-IEAPXS57.js → chunk-MW7P2C2C.js} +2 -2
  69. package/dist/{chunk-JVTZ7FWR.js → chunk-NCI74EOS.js} +4 -4
  70. package/dist/{chunk-IMCSY2SI.js → chunk-OKRITX4S.js} +7 -7
  71. package/dist/{chunk-LRQT4MQO.js → chunk-PJNIJIE6.js} +2 -2
  72. package/dist/{chunk-2WVHZIWP.js → chunk-QSRZOXQI.js} +2 -2
  73. package/dist/{chunk-IF5UY3CT.js → chunk-QVDEGBME.js} +4 -4
  74. package/dist/{chunk-XNMU32XC.js → chunk-TMUGBHHG.js} +2 -2
  75. package/dist/{chunk-LH3YT5NL.js → chunk-TVDHA7BT.js} +3 -3
  76. package/dist/{chunk-AWUFS2ZC.js → chunk-U2DRE36S.js} +4 -4
  77. package/dist/{chunk-NEYZV6V5.js → chunk-UAOE3ZPC.js} +6 -6
  78. package/dist/{chunk-VHGHF537.js → chunk-V4CWJ7Q6.js} +2 -2
  79. package/dist/{chunk-3OL2TSEJ.js → chunk-WNNA6YYE.js} +2 -2
  80. package/dist/{chunk-T6YTDEY4.js → chunk-WXZCNHBX.js} +2 -2
  81. package/dist/{chunk-5XTPEA3O.js → chunk-ZHYLOB7Q.js} +2 -2
  82. package/dist/{chunk-ARMKSYEQ.js → chunk-ZO2GZRZS.js} +2 -2
  83. package/dist/data-display/Alert.js +2 -2
  84. package/dist/data-display/CardKit.js +7 -7
  85. package/dist/data-display/Carousel.js +2 -2
  86. package/dist/data-display/DataGrid.js +2 -2
  87. package/dist/data-display/DataViews.js +31 -31
  88. package/dist/data-display/FleetMap.js +14 -14
  89. package/dist/data-display/Lightbox.js +4 -4
  90. package/dist/data-display/MapPreview.js +11 -11
  91. package/dist/data-display/RegionMap.js +3 -2
  92. package/dist/feedback/NotificationStatusNotice.js +3 -3
  93. package/dist/feedback/SequenceResolver.js +4 -4
  94. package/dist/form/total-form.js +3 -3
  95. package/dist/types/components/data-display/RegionMap/RegionMap.labels.d.ts +42 -0
  96. package/dist/types/components/data-display/RegionMap/RegionMap.labels.d.ts.map +1 -0
  97. package/dist/types/components/data-display/RegionMap/RegionMapDrawing.d.ts.map +1 -1
  98. package/dist/types/components/form/total-form/Fields/SelectField.d.ts.map +1 -1
  99. package/dist/types/components/form/total-form/Fields/ToggleField.d.ts.map +1 -1
  100. package/package.json +1 -1
  101. package/src/components/data-display/RegionMap/RegionMap.labels.ts +60 -0
  102. package/src/components/data-display/RegionMap/RegionMapDrawing.tsx +87 -45
  103. package/src/components/form/total-form/Fields/SelectField.tsx +4 -0
  104. package/src/components/form/total-form/Fields/ToggleField.tsx +3 -0
  105. package/dist/chunk-A63WU4UZ.js.map +0 -1
  106. /package/dist/{chunk-T6QVM5Q5.js.map → chunk-4LUWZ6UE.js.map} +0 -0
  107. /package/dist/{chunk-JKIKHWD2.js.map → chunk-5NT2M2JI.js.map} +0 -0
  108. /package/dist/{chunk-I7JUAHUO.js.map → chunk-65KJLPF5.js.map} +0 -0
  109. /package/dist/{chunk-C74PDNTF.js.map → chunk-67ADHGA2.js.map} +0 -0
  110. /package/dist/{chunk-ZLVRCQPG.js.map → chunk-A5CKUJP2.js.map} +0 -0
  111. /package/dist/{chunk-XMWTVDQN.js.map → chunk-B32554CQ.js.map} +0 -0
  112. /package/dist/{chunk-OA6T2ME3.js.map → chunk-BLZDSCIZ.js.map} +0 -0
  113. /package/dist/{chunk-OZYUE2BI.js.map → chunk-CJUK32UH.js.map} +0 -0
  114. /package/dist/{chunk-HWPQKHN2.js.map → chunk-COKPPU42.js.map} +0 -0
  115. /package/dist/{chunk-U4WAAZXJ.js.map → chunk-DVX4HDNP.js.map} +0 -0
  116. /package/dist/{chunk-CESGZRVQ.js.map → chunk-EMSMJRP3.js.map} +0 -0
  117. /package/dist/{chunk-IFX5KP65.js.map → chunk-EXVCVXFX.js.map} +0 -0
  118. /package/dist/{chunk-U3HGQHEO.js.map → chunk-H7CZRKN7.js.map} +0 -0
  119. /package/dist/{chunk-5ZC7CNU4.js.map → chunk-I2LMLQGQ.js.map} +0 -0
  120. /package/dist/{chunk-K6VEN5VN.js.map → chunk-K3PMMW23.js.map} +0 -0
  121. /package/dist/{chunk-YHPSPFU5.js.map → chunk-LIN4A2BW.js.map} +0 -0
  122. /package/dist/{chunk-LXMFHD7M.js.map → chunk-LTSVYILY.js.map} +0 -0
  123. /package/dist/{chunk-IEAPXS57.js.map → chunk-MW7P2C2C.js.map} +0 -0
  124. /package/dist/{chunk-JVTZ7FWR.js.map → chunk-NCI74EOS.js.map} +0 -0
  125. /package/dist/{chunk-IMCSY2SI.js.map → chunk-OKRITX4S.js.map} +0 -0
  126. /package/dist/{chunk-LRQT4MQO.js.map → chunk-PJNIJIE6.js.map} +0 -0
  127. /package/dist/{chunk-2WVHZIWP.js.map → chunk-QSRZOXQI.js.map} +0 -0
  128. /package/dist/{chunk-IF5UY3CT.js.map → chunk-QVDEGBME.js.map} +0 -0
  129. /package/dist/{chunk-XNMU32XC.js.map → chunk-TMUGBHHG.js.map} +0 -0
  130. /package/dist/{chunk-LH3YT5NL.js.map → chunk-TVDHA7BT.js.map} +0 -0
  131. /package/dist/{chunk-AWUFS2ZC.js.map → chunk-U2DRE36S.js.map} +0 -0
  132. /package/dist/{chunk-NEYZV6V5.js.map → chunk-UAOE3ZPC.js.map} +0 -0
  133. /package/dist/{chunk-VHGHF537.js.map → chunk-V4CWJ7Q6.js.map} +0 -0
  134. /package/dist/{chunk-3OL2TSEJ.js.map → chunk-WNNA6YYE.js.map} +0 -0
  135. /package/dist/{chunk-T6YTDEY4.js.map → chunk-WXZCNHBX.js.map} +0 -0
  136. /package/dist/{chunk-5XTPEA3O.js.map → chunk-ZHYLOB7Q.js.map} +0 -0
  137. /package/dist/{chunk-ARMKSYEQ.js.map → chunk-ZO2GZRZS.js.map} +0 -0
@@ -368,10 +368,10 @@ import "../../chunk-SUTOAW7I.js";
368
368
  import "../../chunk-TWAKMV5B.js";
369
369
  import {
370
370
  SequenceResolver
371
- } from "../../chunk-5XTPEA3O.js";
371
+ } from "../../chunk-ZHYLOB7Q.js";
372
372
  import "../../chunk-3LUT2C5M.js";
373
373
  import "../../chunk-5UBP2DJ4.js";
374
- import "../../chunk-T6YTDEY4.js";
374
+ import "../../chunk-WXZCNHBX.js";
375
375
  import "../../chunk-CHP3QIS3.js";
376
376
  import "../../chunk-HHPFWEJY.js";
377
377
  import "../../chunk-JD5BVIM7.js";
@@ -457,7 +457,7 @@ import "../../chunk-N7GE6BGM.js";
457
457
  import "../../chunk-JQRKXMSH.js";
458
458
  import {
459
459
  NotificationStatusNotice
460
- } from "../../chunk-VHGHF537.js";
460
+ } from "../../chunk-V4CWJ7Q6.js";
461
461
  import "../../chunk-55FFONIV.js";
462
462
  import {
463
463
  detectNotificationBrowser,
@@ -523,8 +523,9 @@ import {
523
523
  import "../../chunk-ACFKPE2T.js";
524
524
  import {
525
525
  RegionMap
526
- } from "../../chunk-3OL2TSEJ.js";
527
- import "../../chunk-A63WU4UZ.js";
526
+ } from "../../chunk-WNNA6YYE.js";
527
+ import "../../chunk-AKE6KVQG.js";
528
+ import "../../chunk-J3AWGTJY.js";
528
529
  import "../../chunk-GMRQPNG3.js";
529
530
  import {
530
531
  decodePolyline,
@@ -567,23 +568,24 @@ import "../../chunk-724ZONOL.js";
567
568
  import "../../chunk-UM35GGCS.js";
568
569
  import {
569
570
  Lightbox_default
570
- } from "../../chunk-HWPQKHN2.js";
571
+ } from "../../chunk-COKPPU42.js";
572
+ import "../../chunk-T2G4LDU5.js";
571
573
  import "../../chunk-RBGUS7WO.js";
572
574
  import "../../chunk-IOCY5G43.js";
575
+ import "../../chunk-P772HCHI.js";
573
576
  import "../../chunk-UOS7DEQZ.js";
574
577
  import "../../chunk-HZBDTPPV.js";
575
578
  import "../../chunk-WZERH7E3.js";
576
579
  import "../../chunk-BP3ZKIPE.js";
577
- import "../../chunk-SYGM4SHY.js";
578
- import "../../chunk-T2G4LDU5.js";
579
- import "../../chunk-P772HCHI.js";
580
580
  import "../../chunk-TEQYTEM2.js";
581
+ import "../../chunk-SYGM4SHY.js";
581
582
  import "../../chunk-VQU3CBAL.js";
582
583
  import "../../chunk-EJDOH7IN.js";
583
584
  import "../../chunk-62FET2BM.js";
584
585
  import {
585
586
  Carousel
586
- } from "../../chunk-JVTZ7FWR.js";
587
+ } from "../../chunk-NCI74EOS.js";
588
+ import "../../chunk-6FDLBWTE.js";
587
589
  import "../../chunk-RUIV5TVA.js";
588
590
  import "../../chunk-U2ILXZDG.js";
589
591
  import {
@@ -592,7 +594,6 @@ import {
592
594
  CarouselThumbnails
593
595
  } from "../../chunk-BECKKDYG.js";
594
596
  import "../../chunk-Z64TMGYT.js";
595
- import "../../chunk-6FDLBWTE.js";
596
597
  import "../../chunk-2GTORM5E.js";
597
598
  import {
598
599
  Chip
@@ -733,11 +734,11 @@ import "../../chunk-LV7LSPBF.js";
733
734
  import "../../chunk-L5CPOEDP.js";
734
735
  import {
735
736
  DataGrid
736
- } from "../../chunk-OA6T2ME3.js";
737
+ } from "../../chunk-BLZDSCIZ.js";
738
+ import "../../chunk-LDROG4QI.js";
737
739
  import "../../chunk-5RYPVYWP.js";
738
740
  import "../../chunk-K6FW4YDA.js";
739
741
  import "../../chunk-EARWC6PD.js";
740
- import "../../chunk-LDROG4QI.js";
741
742
  import "../../chunk-G3E66C6J.js";
742
743
  import "../../chunk-SNCSGLJ6.js";
743
744
  import {
@@ -746,10 +747,10 @@ import {
746
747
  import "../../chunk-RQWZYD6H.js";
747
748
  import {
748
749
  FleetMap
749
- } from "../../chunk-XNMU32XC.js";
750
+ } from "../../chunk-TMUGBHHG.js";
750
751
  import "../../chunk-ZCPSND5Y.js";
751
- import "../../chunk-ARMKSYEQ.js";
752
- import "../../chunk-IEAPXS57.js";
752
+ import "../../chunk-ZO2GZRZS.js";
753
+ import "../../chunk-MW7P2C2C.js";
753
754
  import "../../chunk-7VUXSNVZ.js";
754
755
  import "../../chunk-BTQZ3EX3.js";
755
756
  import {
@@ -767,21 +768,21 @@ import "../../chunk-QD4TM6UK.js";
767
768
  import "../../chunk-EMPVMZAB.js";
768
769
  import {
769
770
  MapPreview
770
- } from "../../chunk-IMCSY2SI.js";
771
- import "../../chunk-OZYUE2BI.js";
772
- import "../../chunk-IFX5KP65.js";
771
+ } from "../../chunk-OKRITX4S.js";
772
+ import "../../chunk-CJUK32UH.js";
773
+ import "../../chunk-EXVCVXFX.js";
773
774
  import "../../chunk-ZZ4MMUBY.js";
774
775
  import "../../chunk-6WHIJPEF.js";
775
- import "../../chunk-NEYZV6V5.js";
776
- import "../../chunk-LXMFHD7M.js";
777
- import "../../chunk-CESGZRVQ.js";
778
- import "../../chunk-MIUPTZS6.js";
779
776
  import "../../chunk-CSGBHYW6.js";
780
- import "../../chunk-2WVHZIWP.js";
781
- import "../../chunk-JKIKHWD2.js";
782
- import "../../chunk-CB6DTWD5.js";
783
- import "../../chunk-H2J2MTRE.js";
777
+ import "../../chunk-UAOE3ZPC.js";
778
+ import "../../chunk-LTSVYILY.js";
779
+ import "../../chunk-EMSMJRP3.js";
784
780
  import "../../chunk-4YYFZ6TE.js";
781
+ import "../../chunk-MIUPTZS6.js";
782
+ import "../../chunk-QSRZOXQI.js";
783
+ import "../../chunk-5NT2M2JI.js";
784
+ import "../../chunk-H2J2MTRE.js";
785
+ import "../../chunk-CB6DTWD5.js";
785
786
  import "../../chunk-FEKWKWGK.js";
786
787
  import "../../chunk-PZS7N74L.js";
787
788
  import "../../chunk-AA2X5GOT.js";
@@ -793,11 +794,11 @@ import "../../chunk-MWFSIB6K.js";
793
794
  import "../../chunk-NUGT7LMR.js";
794
795
  import {
795
796
  Alert
796
- } from "../../chunk-IF5UY3CT.js";
797
+ } from "../../chunk-QVDEGBME.js";
797
798
  import "../../chunk-7HZ36QDH.js";
798
799
  import "../../chunk-L5RS6QAT.js";
799
- import "../../chunk-QXUXO22M.js";
800
800
  import "../../chunk-L7VH6IMR.js";
801
+ import "../../chunk-QXUXO22M.js";
801
802
  import "../../chunk-2IBFEHIX.js";
802
803
  import {
803
804
  AlertDialog
@@ -12,7 +12,7 @@ import {
12
12
  } from "./chunk-4SQ2WCZA.js";
13
13
  import {
14
14
  Alert
15
- } from "./chunk-IF5UY3CT.js";
15
+ } from "./chunk-QVDEGBME.js";
16
16
 
17
17
  // src/components/data-display/DataViews/data-views-table-parts.tsx
18
18
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
@@ -121,4 +121,4 @@ export {
121
121
  ViewsMenuSlot,
122
122
  ViewDialogs
123
123
  };
124
- //# sourceMappingURL=chunk-T6QVM5Q5.js.map
124
+ //# sourceMappingURL=chunk-4LUWZ6UE.js.map
@@ -1,6 +1,3 @@
1
- import {
2
- geocode
3
- } from "./chunk-CB6DTWD5.js";
4
1
  import {
5
2
  CITY_ZOOM,
6
3
  CLICK_JITTER_DEGREES,
@@ -9,6 +6,9 @@ import {
9
6
  MAX_ZOOM,
10
7
  MIN_ZOOM
11
8
  } from "./chunk-H2J2MTRE.js";
9
+ import {
10
+ geocode
11
+ } from "./chunk-CB6DTWD5.js";
12
12
 
13
13
  // src/components/data-display/MapPreview/MapPreview.hooks.ts
14
14
  import { useCallback, useEffect, useRef, useState } from "react";
@@ -186,4 +186,4 @@ export {
186
186
  useMapSearch,
187
187
  useMapClick
188
188
  };
189
- //# sourceMappingURL=chunk-JKIKHWD2.js.map
189
+ //# sourceMappingURL=chunk-5NT2M2JI.js.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  GridShell
3
- } from "./chunk-XMWTVDQN.js";
3
+ } from "./chunk-B32554CQ.js";
4
4
  import {
5
5
  useDataViewsState
6
- } from "./chunk-U3HGQHEO.js";
6
+ } from "./chunk-H7CZRKN7.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-I7JUAHUO.js.map
30
+ //# sourceMappingURL=chunk-65KJLPF5.js.map
@@ -28,7 +28,7 @@ import {
28
28
  } from "./chunk-KHG57NAE.js";
29
29
  import {
30
30
  DataGrid
31
- } from "./chunk-OA6T2ME3.js";
31
+ } from "./chunk-BLZDSCIZ.js";
32
32
  import {
33
33
  default as default2
34
34
  } from "./chunk-6DPAWXZ3.js";
@@ -250,4 +250,4 @@ function GridMain(props) {
250
250
  export {
251
251
  GridMain
252
252
  };
253
- //# sourceMappingURL=chunk-C74PDNTF.js.map
253
+ //# sourceMappingURL=chunk-67ADHGA2.js.map
@@ -25,6 +25,7 @@ function SelectField({ name, options, label, placeholder }) {
25
25
  placeholder,
26
26
  value: values[name] ?? "",
27
27
  error: Boolean(error),
28
+ "aria-label": label,
28
29
  "data-testid": testId,
29
30
  onChange: (event) => setFieldValue(name, String(event.target.value))
30
31
  }
@@ -36,4 +37,4 @@ function SelectField({ name, options, label, placeholder }) {
36
37
  export {
37
38
  SelectField
38
39
  };
39
- //# sourceMappingURL=chunk-GCBWZ3MX.js.map
40
+ //# sourceMappingURL=chunk-6YSGP2WS.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/form/total-form/Fields/SelectField.tsx"],"sourcesContent":["'use client';\n\nimport React from 'react';\n\nimport { FormControl, FormLabel, FormMessage } from '../../Form';\nimport { Select } from '../../Select';\nimport type { SelectOption } from '../../Select';\nimport { useFormContext } from '../FormContext';\n\n/** Props for the `total-form` {@link SelectField}. */\nexport interface SelectFieldProps {\n /** Field name; also the key into the form's values/errors. */\n name: string;\n /** Selectable options. */\n options: SelectOption[];\n /** Optional visible label rendered above the select. */\n label?: string;\n /** Placeholder shown when no option is selected. */\n placeholder?: string;\n}\n\n/**\n * Select field bound to {@link useFormContext}. Composes the existing\n * `@12-apps/ui` `Form*` primitives and the `Select` control, reading its\n * value/error from context and writing the chosen value back through it.\n *\n * Renders its error via `total-form-field-<name>-message` and the select via\n * `total-form-field-<name>`.\n */\nexport function SelectField({ name, options, label, placeholder }: SelectFieldProps): React.ReactElement {\n const { values, errors, setFieldValue } = useFormContext();\n const error = errors[name];\n const testId = `total-form-field-${name}`;\n\n return (\n <FormControl fullWidth>\n {label && (\n <FormLabel htmlFor={name} error={Boolean(error)}>\n {label}\n </FormLabel>\n )}\n <Select\n options={options}\n placeholder={placeholder}\n value={values[name] ?? ''}\n error={Boolean(error)}\n data-testid={testId}\n onChange={(event) => setFieldValue(name, String(event.target.value))}\n />\n {error && (\n <FormMessage error dataTestId={`${testId}-message`}>\n {error}\n </FormMessage>\n )}\n </FormControl>\n );\n}\n"],"mappings":";;;;;;;;;;;;;AAmCI,SAEI,KAFJ;AANG,SAAS,YAAY,EAAE,MAAM,SAAS,OAAO,YAAY,GAAyC;AACvG,QAAM,EAAE,QAAQ,QAAQ,cAAc,IAAI,eAAe;AACzD,QAAM,QAAQ,OAAO,IAAI;AACzB,QAAM,SAAS,oBAAoB,IAAI;AAEvC,SACE,qBAAC,eAAY,WAAS,MACnB;AAAA,aACC,oBAAC,aAAU,SAAS,MAAM,OAAO,QAAQ,KAAK,GAC3C,iBACH;AAAA,IAEF;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA,OAAO,OAAO,IAAI,KAAK;AAAA,QACvB,OAAO,QAAQ,KAAK;AAAA,QACpB,eAAa;AAAA,QACb,UAAU,CAAC,UAAU,cAAc,MAAM,OAAO,MAAM,OAAO,KAAK,CAAC;AAAA;AAAA,IACrE;AAAA,IACC,SACC,oBAAC,eAAY,OAAK,MAAC,YAAY,GAAG,MAAM,YACrC,iBACH;AAAA,KAEJ;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../src/components/form/total-form/Fields/SelectField.tsx"],"sourcesContent":["'use client';\n\nimport React from 'react';\n\nimport { FormControl, FormLabel, FormMessage } from '../../Form';\nimport { Select } from '../../Select';\nimport type { SelectOption } from '../../Select';\nimport { useFormContext } from '../FormContext';\n\n/** Props for the `total-form` {@link SelectField}. */\nexport interface SelectFieldProps {\n /** Field name; also the key into the form's values/errors. */\n name: string;\n /** Selectable options. */\n options: SelectOption[];\n /** Optional visible label rendered above the select. */\n label?: string;\n /** Placeholder shown when no option is selected. */\n placeholder?: string;\n}\n\n/**\n * Select field bound to {@link useFormContext}. Composes the existing\n * `@12-apps/ui` `Form*` primitives and the `Select` control, reading its\n * value/error from context and writing the chosen value back through it.\n *\n * Renders its error via `total-form-field-<name>-message` and the select via\n * `total-form-field-<name>`.\n */\nexport function SelectField({ name, options, label, placeholder }: SelectFieldProps): React.ReactElement {\n const { values, errors, setFieldValue } = useFormContext();\n const error = errors[name];\n const testId = `total-form-field-${name}`;\n\n return (\n <FormControl fullWidth>\n {label && (\n <FormLabel htmlFor={name} error={Boolean(error)}>\n {label}\n </FormLabel>\n )}\n <Select\n options={options}\n placeholder={placeholder}\n value={values[name] ?? ''}\n error={Boolean(error)}\n // The `<label htmlFor>` above names nothing: the combobox is MUI's\n // display div, not a labelable element. `Select` puts `aria-label` on\n // that div, so the question names the control (FUT-4157).\n aria-label={label}\n data-testid={testId}\n onChange={(event) => setFieldValue(name, String(event.target.value))}\n />\n {error && (\n <FormMessage error dataTestId={`${testId}-message`}>\n {error}\n </FormMessage>\n )}\n </FormControl>\n );\n}\n"],"mappings":";;;;;;;;;;;;;AAmCI,SAEI,KAFJ;AANG,SAAS,YAAY,EAAE,MAAM,SAAS,OAAO,YAAY,GAAyC;AACvG,QAAM,EAAE,QAAQ,QAAQ,cAAc,IAAI,eAAe;AACzD,QAAM,QAAQ,OAAO,IAAI;AACzB,QAAM,SAAS,oBAAoB,IAAI;AAEvC,SACE,qBAAC,eAAY,WAAS,MACnB;AAAA,aACC,oBAAC,aAAU,SAAS,MAAM,OAAO,QAAQ,KAAK,GAC3C,iBACH;AAAA,IAEF;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA,OAAO,OAAO,IAAI,KAAK;AAAA,QACvB,OAAO,QAAQ,KAAK;AAAA,QAIpB,cAAY;AAAA,QACZ,eAAa;AAAA,QACb,UAAU,CAAC,UAAU,cAAc,MAAM,OAAO,MAAM,OAAO,KAAK,CAAC;AAAA;AAAA,IACrE;AAAA,IACC,SACC,oBAAC,eAAY,OAAK,MAAC,YAAY,GAAG,MAAM,YACrC,iBACH;AAAA,KAEJ;AAEJ;","names":[]}
@@ -1,9 +1,9 @@
1
- import {
2
- DataViewsGrid
3
- } from "./chunk-I7JUAHUO.js";
4
1
  import {
5
2
  DeleteViewDialog
6
3
  } from "./chunk-CPZGFIFH.js";
4
+ import {
5
+ DataViewsGrid
6
+ } from "./chunk-65KJLPF5.js";
7
7
  import {
8
8
  viewStateKey
9
9
  } from "./chunk-ZOLAYP2D.js";
@@ -14,7 +14,7 @@ import {
14
14
  import {
15
15
  ViewDialogs,
16
16
  ViewMutationErrorAlert
17
- } from "./chunk-T6QVM5Q5.js";
17
+ } from "./chunk-4LUWZ6UE.js";
18
18
  import {
19
19
  useSavedViewsController
20
20
  } from "./chunk-B2JSUFDX.js";
@@ -166,4 +166,4 @@ function renderViewDialogs(ctl, fields, columns, views, testIdPrefix, onSaved) {
166
166
  export {
167
167
  DataViewsTableBase
168
168
  };
169
- //# sourceMappingURL=chunk-ZLVRCQPG.js.map
169
+ //# sourceMappingURL=chunk-A5CKUJP2.js.map
@@ -1,3 +1,7 @@
1
+ import {
2
+ labelOrder,
3
+ placeLabels
4
+ } from "./chunk-J3AWGTJY.js";
1
5
  import {
2
6
  labelPosition
3
7
  } from "./chunk-COOSJKZL.js";
@@ -26,7 +30,9 @@ function RegionMapDrawing({
26
30
  const { view, drawn } = model;
27
31
  const wanted = new Set(highlightedIds);
28
32
  const highlighted = drawn.filter((d) => wanted.has(d.id));
29
- const labelled = [...drawn.filter((d) => d.excluded), ...highlighted.filter((d) => !d.excluded)];
33
+ const labelled = labelOrder(drawn.filter((d) => d.excluded || wanted.has(d.id)), wanted);
34
+ const boxRef = React.useRef(null);
35
+ useLabelPlacement(boxRef, labelled.map((d) => d.id).join("|"), remPx(theme, 4));
30
36
  const base = drawn.map((d) => ({ id: d.id, name: d.name, geometry: d.geometry, outside: d.outside === true }));
31
37
  return /* @__PURE__ */ jsxs(
32
38
  Box,
@@ -44,6 +50,7 @@ function RegionMapDrawing({
44
50
  bgcolor: "background.paper"
45
51
  },
46
52
  "data-testid": `${testId}-canvas`,
53
+ ref: boxRef,
47
54
  children: [
48
55
  /* @__PURE__ */ jsxs(
49
56
  "svg",
@@ -59,20 +66,7 @@ function RegionMapDrawing({
59
66
  /* @__PURE__ */ jsx(BaseAreas, { areas: base, testId, theme }),
60
67
  /* @__PURE__ */ jsx(ExcludedAreas, { drawn, hatchId, testId, theme }),
61
68
  /* @__PURE__ */ jsx(Circles, { radii: model.radii, theme }),
62
- highlighted.map((d) => /* @__PURE__ */ jsx(
63
- "path",
64
- {
65
- d: d.geometry.path,
66
- fillRule: "evenodd",
67
- vectorEffect: "non-scaling-stroke",
68
- fill: alpha(theme.palette.primary.main, 0.3),
69
- stroke: theme.palette.primary.main,
70
- strokeWidth: 2.5,
71
- pointerEvents: "none",
72
- "data-testid": `${testId}-highlight-${d.id}`
73
- },
74
- `h-${d.id}`
75
- )),
69
+ /* @__PURE__ */ jsx(Highlights, { areas: highlighted, testId, theme }),
76
70
  showCenter && /* @__PURE__ */ jsx(
77
71
  "circle",
78
72
  {
@@ -95,6 +89,26 @@ function RegionMapDrawing({
95
89
  }
96
90
  );
97
91
  }
92
+ function Highlights({
93
+ areas,
94
+ testId,
95
+ theme
96
+ }) {
97
+ return /* @__PURE__ */ jsx(Fragment, { children: areas.map((d) => /* @__PURE__ */ jsx(
98
+ "path",
99
+ {
100
+ d: d.geometry.path,
101
+ fillRule: "evenodd",
102
+ vectorEffect: "non-scaling-stroke",
103
+ fill: alpha(theme.palette.primary.main, 0.3),
104
+ stroke: theme.palette.primary.main,
105
+ strokeWidth: 2.5,
106
+ pointerEvents: "none",
107
+ "data-testid": `${testId}-highlight-${d.id}`
108
+ },
109
+ `h-${d.id}`
110
+ )) });
111
+ }
98
112
  function Hatch({ id, pitch, theme }) {
99
113
  return /* @__PURE__ */ jsx("defs", { children: /* @__PURE__ */ jsxs("pattern", { id, width: pitch, height: pitch, patternUnits: "userSpaceOnUse", patternTransform: "rotate(45)", children: [
100
114
  /* @__PURE__ */ jsx("rect", { width: pitch, height: pitch, fill: alpha(theme.palette.text.primary, 0.1) }),
@@ -164,9 +178,38 @@ function Circles({ radii, theme }) {
164
178
  radius
165
179
  )) });
166
180
  }
167
- function clampCentre(wanted, half, span, gap) {
168
- if (span <= 2 * (half + gap)) return span / 2;
169
- return Math.min(span - half - gap, Math.max(half + gap, wanted));
181
+ function useLabelPlacement(boxRef, key, gap) {
182
+ React.useEffect(() => {
183
+ const box = boxRef.current;
184
+ if (!box || typeof ResizeObserver === "undefined") return void 0;
185
+ const labels = Array.from(box.querySelectorAll("[data-region-label]"));
186
+ const place = () => {
187
+ const spanX = box.clientWidth;
188
+ const spanY = box.clientHeight;
189
+ if (spanX === 0 || spanY === 0) return;
190
+ const placed = placeLabels(
191
+ labels.map((label) => ({
192
+ fractionX: Number(label.dataset.fractionX),
193
+ fractionY: Number(label.dataset.fractionY),
194
+ spanX: label.offsetWidth,
195
+ spanY: label.offsetHeight
196
+ })),
197
+ { spanX, spanY },
198
+ gap
199
+ );
200
+ placed.forEach(({ x, y, visible }, index) => {
201
+ const label = labels[index];
202
+ label.style.left = `${x / spanX * 100}%`;
203
+ label.style.top = `${y / spanY * 100}%`;
204
+ label.style.visibility = visible ? "visible" : "hidden";
205
+ label.dataset.hidden = visible ? "false" : "true";
206
+ });
207
+ };
208
+ const observer = new ResizeObserver(place);
209
+ observer.observe(box);
210
+ for (const label of labels) observer.observe(label);
211
+ return () => observer.disconnect();
212
+ }, [boxRef, key, gap]);
170
213
  }
171
214
  function AreaLabel({
172
215
  area,
@@ -175,38 +218,24 @@ function AreaLabel({
175
218
  theme
176
219
  }) {
177
220
  const at = labelPosition(area.geometry.rings, view);
178
- const ref = React.useRef(null);
179
- const gap = remPx(theme, 4);
180
- React.useEffect(() => {
181
- const label = ref.current;
182
- const box = label?.parentElement;
183
- if (!label || !box || typeof ResizeObserver === "undefined") return void 0;
184
- const observer = new ResizeObserver(() => {
185
- const width = box.clientWidth;
186
- const height = box.clientHeight;
187
- if (width === 0 || height === 0) return;
188
- const x = clampCentre(at.fractionX * width, label.offsetWidth / 2, width, gap);
189
- const y = clampCentre(at.fractionY * height, label.offsetHeight / 2, height, gap);
190
- label.style.left = `${x / width * 100}%`;
191
- label.style.top = `${y / height * 100}%`;
192
- });
193
- observer.observe(box);
194
- observer.observe(label);
195
- return () => observer.disconnect();
196
- }, [at.fractionX, at.fractionY, gap]);
197
221
  const halo = `0 0 ${rem(theme, 3)} ${theme.palette.background.paper}`;
198
222
  return /* @__PURE__ */ jsx(
199
223
  Typography,
200
224
  {
201
- ref,
202
225
  component: "span",
203
226
  "aria-hidden": true,
204
227
  "data-testid": `${testId}-label-${area.id}`,
205
- style: { left: `${(at.fractionX * 100).toFixed(2)}%`, top: `${(at.fractionY * 100).toFixed(2)}%` },
228
+ "data-region-label": "",
229
+ "data-fraction-x": at.fractionX,
230
+ "data-fraction-y": at.fractionY,
231
+ style: {
232
+ left: `${(at.fractionX * 100).toFixed(2)}%`,
233
+ top: `${(at.fractionY * 100).toFixed(2)}%`
234
+ },
206
235
  sx: {
207
236
  position: "absolute",
208
237
  transform: "translate(-50%, -50%)",
209
- fontSize: rem(theme, 11),
238
+ fontSize: rem(theme, 12),
210
239
  fontWeight: 700,
211
240
  lineHeight: 1.1,
212
241
  textAlign: "center",
@@ -223,4 +252,4 @@ function AreaLabel({
223
252
  export {
224
253
  RegionMapDrawing
225
254
  };
226
- //# sourceMappingURL=chunk-A63WU4UZ.js.map
255
+ //# sourceMappingURL=chunk-AKE6KVQG.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';\n\nexport interface RegionMapDrawingProps {\n model: RegionMapModel & { view: PlaneBox };\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 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 <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"]}
@@ -25,6 +25,7 @@ function ToggleField({ name, options, label }) {
25
25
  options,
26
26
  value: values[name] ?? "",
27
27
  fullWidth: true,
28
+ "aria-label": label,
28
29
  dataTestId: testId,
29
30
  onChange: (_event, next) => {
30
31
  if (typeof next === "string") setFieldValue(name, next);
@@ -38,4 +39,4 @@ function ToggleField({ name, options, label }) {
38
39
  export {
39
40
  ToggleField
40
41
  };
41
- //# sourceMappingURL=chunk-75I42HHE.js.map
42
+ //# sourceMappingURL=chunk-AYJGRQT4.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/form/total-form/Fields/ToggleField.tsx"],"sourcesContent":["'use client';\n\nimport React from 'react';\n\nimport { FormControl, FormLabel, FormMessage } from '../../Form';\nimport { ToggleGroup } from '../../ToggleGroup';\nimport type { ToggleOption } from '../../ToggleGroup';\nimport { useFormContext } from '../FormContext';\n\n/** Props for the `total-form` {@link ToggleField}. */\nexport interface ToggleFieldProps {\n /** Field name; also the key into the form's values/errors. */\n name: string;\n /** The mutually-exclusive options (one is always selected). */\n options: ToggleOption[];\n /** Optional visible label rendered above the toggle. */\n label?: string;\n}\n\n/**\n * Exclusive toggle (segmented control) bound to {@link useFormContext} — a\n * label-height-matched alternative to {@link SelectField} for a short, always-set\n * enum. Composes the `Form*` primitives and the `ToggleGroup` control, reading\n * its value from context and writing the chosen value back through it. Ignores a\n * deselect (clicking the active segment) so a value is always kept.\n *\n * Renders its error via `total-form-field-<name>-message` and the toggle via\n * `total-form-field-<name>` (each segment at `total-form-field-<name>-item-<value>`).\n */\nexport function ToggleField({ name, options, label }: ToggleFieldProps): React.ReactElement {\n const { values, errors, setFieldValue } = useFormContext();\n const error = errors[name];\n const testId = `total-form-field-${name}`;\n\n return (\n <FormControl fullWidth>\n {label && (\n <FormLabel htmlFor={name} error={Boolean(error)}>\n {label}\n </FormLabel>\n )}\n <ToggleGroup\n variant=\"exclusive\"\n options={options}\n value={values[name] ?? ''}\n fullWidth\n dataTestId={testId}\n onChange={(_event, next) => {\n if (typeof next === 'string') setFieldValue(name, next);\n }}\n />\n {error && (\n <FormMessage error dataTestId={`${testId}-message`}>\n {error}\n </FormMessage>\n )}\n </FormControl>\n );\n}\n"],"mappings":";;;;;;;;;;;;;AAmCI,SAEI,KAFJ;AANG,SAAS,YAAY,EAAE,MAAM,SAAS,MAAM,GAAyC;AAC1F,QAAM,EAAE,QAAQ,QAAQ,cAAc,IAAI,eAAe;AACzD,QAAM,QAAQ,OAAO,IAAI;AACzB,QAAM,SAAS,oBAAoB,IAAI;AAEvC,SACE,qBAAC,eAAY,WAAS,MACnB;AAAA,aACC,oBAAC,aAAU,SAAS,MAAM,OAAO,QAAQ,KAAK,GAC3C,iBACH;AAAA,IAEF;AAAA,MAAC;AAAA;AAAA,QACC,SAAQ;AAAA,QACR;AAAA,QACA,OAAO,OAAO,IAAI,KAAK;AAAA,QACvB,WAAS;AAAA,QACT,YAAY;AAAA,QACZ,UAAU,CAAC,QAAQ,SAAS;AAC1B,cAAI,OAAO,SAAS,SAAU,eAAc,MAAM,IAAI;AAAA,QACxD;AAAA;AAAA,IACF;AAAA,IACC,SACC,oBAAC,eAAY,OAAK,MAAC,YAAY,GAAG,MAAM,YACrC,iBACH;AAAA,KAEJ;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../src/components/form/total-form/Fields/ToggleField.tsx"],"sourcesContent":["'use client';\n\nimport React from 'react';\n\nimport { FormControl, FormLabel, FormMessage } from '../../Form';\nimport { ToggleGroup } from '../../ToggleGroup';\nimport type { ToggleOption } from '../../ToggleGroup';\nimport { useFormContext } from '../FormContext';\n\n/** Props for the `total-form` {@link ToggleField}. */\nexport interface ToggleFieldProps {\n /** Field name; also the key into the form's values/errors. */\n name: string;\n /** The mutually-exclusive options (one is always selected). */\n options: ToggleOption[];\n /** Optional visible label rendered above the toggle. */\n label?: string;\n}\n\n/**\n * Exclusive toggle (segmented control) bound to {@link useFormContext} — a\n * label-height-matched alternative to {@link SelectField} for a short, always-set\n * enum. Composes the `Form*` primitives and the `ToggleGroup` control, reading\n * its value from context and writing the chosen value back through it. Ignores a\n * deselect (clicking the active segment) so a value is always kept.\n *\n * Renders its error via `total-form-field-<name>-message` and the toggle via\n * `total-form-field-<name>` (each segment at `total-form-field-<name>-item-<value>`).\n */\nexport function ToggleField({ name, options, label }: ToggleFieldProps): React.ReactElement {\n const { values, errors, setFieldValue } = useFormContext();\n const error = errors[name];\n const testId = `total-form-field-${name}`;\n\n return (\n <FormControl fullWidth>\n {label && (\n <FormLabel htmlFor={name} error={Boolean(error)}>\n {label}\n </FormLabel>\n )}\n <ToggleGroup\n variant=\"exclusive\"\n options={options}\n value={values[name] ?? ''}\n fullWidth\n // A `role=\"group\"` div is not labelable, so the `<label htmlFor>`\n // above names nothing; the group carries the question itself (FUT-4157).\n aria-label={label}\n dataTestId={testId}\n onChange={(_event, next) => {\n if (typeof next === 'string') setFieldValue(name, next);\n }}\n />\n {error && (\n <FormMessage error dataTestId={`${testId}-message`}>\n {error}\n </FormMessage>\n )}\n </FormControl>\n );\n}\n"],"mappings":";;;;;;;;;;;;;AAmCI,SAEI,KAFJ;AANG,SAAS,YAAY,EAAE,MAAM,SAAS,MAAM,GAAyC;AAC1F,QAAM,EAAE,QAAQ,QAAQ,cAAc,IAAI,eAAe;AACzD,QAAM,QAAQ,OAAO,IAAI;AACzB,QAAM,SAAS,oBAAoB,IAAI;AAEvC,SACE,qBAAC,eAAY,WAAS,MACnB;AAAA,aACC,oBAAC,aAAU,SAAS,MAAM,OAAO,QAAQ,KAAK,GAC3C,iBACH;AAAA,IAEF;AAAA,MAAC;AAAA;AAAA,QACC,SAAQ;AAAA,QACR;AAAA,QACA,OAAO,OAAO,IAAI,KAAK;AAAA,QACvB,WAAS;AAAA,QAGT,cAAY;AAAA,QACZ,YAAY;AAAA,QACZ,UAAU,CAAC,QAAQ,SAAS;AAC1B,cAAI,OAAO,SAAS,SAAU,eAAc,MAAM,IAAI;AAAA,QACxD;AAAA;AAAA,IACF;AAAA,IACC,SACC,oBAAC,eAAY,OAAK,MAAC,YAAY,GAAG,MAAM,YACrC,iBACH;AAAA,KAEJ;AAEJ;","names":[]}
@@ -1,19 +1,22 @@
1
1
  import {
2
2
  ShellEmpty
3
3
  } from "./chunk-NTRWUDP6.js";
4
+ import {
5
+ InlineFilterControls
6
+ } from "./chunk-52RHAAIH.js";
4
7
  import {
5
8
  GridHeaderRow
6
9
  } from "./chunk-X3AFXHY5.js";
7
10
  import {
8
11
  GridMain
9
- } from "./chunk-C74PDNTF.js";
12
+ } from "./chunk-67ADHGA2.js";
10
13
  import {
11
14
  FilterDialog,
12
15
  GridFilterPanel
13
16
  } from "./chunk-OPY2AGAU.js";
14
17
  import {
15
- InlineFilterControls
16
- } from "./chunk-52RHAAIH.js";
18
+ DataViewsPagination
19
+ } from "./chunk-K6WY2CHG.js";
17
20
  import {
18
21
  useFilterOverflow
19
22
  } from "./chunk-WWH674WU.js";
@@ -21,30 +24,27 @@ import {
21
24
  toOverflowFields,
22
25
  toggleQuick
23
26
  } from "./chunk-KYUEO2IO.js";
24
- import {
25
- DataViewsPagination
26
- } from "./chunk-K6WY2CHG.js";
27
27
  import {
28
28
  allOnPageSelected,
29
29
  resolveSelectionExtra
30
30
  } from "./chunk-5YDS6HO3.js";
31
31
  import {
32
32
  ScopeTabsSlot
33
- } from "./chunk-K6VEN5VN.js";
33
+ } from "./chunk-K3PMMW23.js";
34
34
  import {
35
35
  ShellToolbar
36
- } from "./chunk-5ZC7CNU4.js";
36
+ } from "./chunk-I2LMLQGQ.js";
37
37
  import {
38
38
  SHELL_PROPS,
39
39
  useStickyBarTop
40
40
  } from "./chunk-4IE66GY2.js";
41
+ import {
42
+ togglePillValues
43
+ } from "./chunk-WTOA52EQ.js";
41
44
  import {
42
45
  DataViewsLayoutProvider,
43
46
  useDataViewsLayout
44
47
  } from "./chunk-5CAWRMDX.js";
45
- import {
46
- togglePillValues
47
- } from "./chunk-WTOA52EQ.js";
48
48
  import {
49
49
  useDataViewsCopy
50
50
  } from "./chunk-KHG57NAE.js";
@@ -252,4 +252,4 @@ function GridShell(props) {
252
252
  export {
253
253
  GridShell
254
254
  };
255
- //# sourceMappingURL=chunk-XMWTVDQN.js.map
255
+ //# sourceMappingURL=chunk-B32554CQ.js.map
@@ -1,3 +1,6 @@
1
+ import {
2
+ useDataGridModel
3
+ } from "./chunk-LDROG4QI.js";
1
4
  import {
2
5
  GridBody,
3
6
  GridHeader
@@ -7,9 +10,6 @@ import {
7
10
  DataGridError,
8
11
  DataGridLoading
9
12
  } from "./chunk-EARWC6PD.js";
10
- import {
11
- useDataGridModel
12
- } from "./chunk-LDROG4QI.js";
13
13
 
14
14
  // src/components/data-display/DataGrid/DataGrid.tsx
15
15
  import Paper from "@mui/material/Paper/index.js";
@@ -120,4 +120,4 @@ export {
120
120
  DataGrid,
121
121
  GRID_ONLY_PROPS
122
122
  };
123
- //# sourceMappingURL=chunk-OA6T2ME3.js.map
123
+ //# sourceMappingURL=chunk-BLZDSCIZ.js.map
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  resolveMapCopy
3
3
  } from "./chunk-CSGBHYW6.js";
4
- import {
5
- MARKER_PIXELS_PER_DEGREE
6
- } from "./chunk-H2J2MTRE.js";
7
4
  import {
8
5
  bounceKeyframes
9
6
  } from "./chunk-4YYFZ6TE.js";
7
+ import {
8
+ MARKER_PIXELS_PER_DEGREE
9
+ } from "./chunk-H2J2MTRE.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-OZYUE2BI.js.map
88
+ //# sourceMappingURL=chunk-CJUK32UH.js.map
@@ -1,3 +1,6 @@
1
+ import {
2
+ LightboxOverlay
3
+ } from "./chunk-T2G4LDU5.js";
1
4
  import {
2
5
  LightboxCurrentMedia
3
6
  } from "./chunk-RBGUS7WO.js";
@@ -10,15 +13,12 @@ import {
10
13
  import {
11
14
  LightboxThumbnails
12
15
  } from "./chunk-BP3ZKIPE.js";
13
- import {
14
- LightboxStage
15
- } from "./chunk-SYGM4SHY.js";
16
- import {
17
- LightboxOverlay
18
- } from "./chunk-T2G4LDU5.js";
19
16
  import {
20
17
  LightboxCopyProvider
21
18
  } from "./chunk-TEQYTEM2.js";
19
+ import {
20
+ LightboxStage
21
+ } from "./chunk-SYGM4SHY.js";
22
22
  import {
23
23
  makeTestId
24
24
  } from "./chunk-VQU3CBAL.js";
@@ -148,4 +148,4 @@ export {
148
148
  Lightbox,
149
149
  Lightbox_default
150
150
  };
151
- //# sourceMappingURL=chunk-HWPQKHN2.js.map
151
+ //# sourceMappingURL=chunk-COKPPU42.js.map