@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.
- package/dist/_internal/components/data-display/Alert/Alert.js +2 -2
- package/dist/_internal/components/data-display/CardKit/card-actions-context.js +3 -3
- package/dist/_internal/components/data-display/CardKit/use-remove-confirm.js +4 -4
- package/dist/_internal/components/data-display/Carousel/Carousel.js +2 -2
- package/dist/_internal/components/data-display/DataGrid/DataGrid.js +2 -2
- package/dist/_internal/components/data-display/DataViews/DataViewsGrid.js +20 -20
- package/dist/_internal/components/data-display/DataViews/DataViewsTableBase.js +24 -24
- package/dist/_internal/components/data-display/DataViews/base-list-card-geometry.js +1 -1
- package/dist/_internal/components/data-display/DataViews/base-list-card-layout.js +1 -1
- package/dist/_internal/components/data-display/DataViews/base-list-card.js +2 -2
- package/dist/_internal/components/data-display/DataViews/data-views-grid-bodies.js +4 -4
- package/dist/_internal/components/data-display/DataViews/data-views-grid-parts.js +13 -13
- package/dist/_internal/components/data-display/DataViews/data-views-scope-tabs.js +2 -2
- package/dist/_internal/components/data-display/DataViews/data-views-shell-toolbar.js +4 -4
- package/dist/_internal/components/data-display/DataViews/data-views-table-parts.js +3 -3
- package/dist/_internal/components/data-display/DataViews/data-views-toolbar.js +3 -3
- package/dist/_internal/components/data-display/DataViews/use-data-views-state.js +2 -2
- package/dist/_internal/components/data-display/FleetMap/FleetBody.js +13 -13
- package/dist/_internal/components/data-display/FleetMap/FleetCanvas.js +12 -12
- package/dist/_internal/components/data-display/FleetMap/FleetMap.js +14 -14
- package/dist/_internal/components/data-display/Lightbox/Lightbox.js +4 -4
- package/dist/_internal/components/data-display/MapPreview/MapDecorations.js +2 -2
- package/dist/_internal/components/data-display/MapPreview/MapLayers.js +2 -2
- package/dist/_internal/components/data-display/MapPreview/MapMarkers.js +2 -2
- package/dist/_internal/components/data-display/MapPreview/MapPreview.hooks.js +2 -2
- package/dist/_internal/components/data-display/MapPreview/MapPreview.js +11 -11
- package/dist/_internal/components/data-display/MapPreview/MapTiles.js +2 -2
- package/dist/_internal/components/data-display/MapPreview/StaticMapView.js +4 -4
- package/dist/_internal/components/data-display/MapPreview/useMapPreview.js +3 -3
- package/dist/_internal/components/data-display/RegionMap/RegionMap.js +3 -2
- package/dist/_internal/components/data-display/RegionMap/RegionMap.labels.js +12 -0
- package/dist/_internal/components/data-display/RegionMap/RegionMap.labels.js.map +1 -0
- package/dist/_internal/components/data-display/RegionMap/RegionMapDrawing.js +2 -1
- package/dist/_internal/components/data-display/index.js +27 -26
- package/dist/_internal/components/feedback/NotificationStatusNotice/NotificationStatusNotice.js +3 -3
- package/dist/_internal/components/feedback/SequenceResolver/SequenceResolver.js +4 -4
- package/dist/_internal/components/feedback/SequenceResolver/SequenceResolver.parts.js +3 -3
- package/dist/_internal/components/feedback/index.js +5 -5
- package/dist/_internal/components/form/total-form/Fields/SelectField.js +1 -1
- package/dist/_internal/components/form/total-form/Fields/ToggleField.js +1 -1
- package/dist/_internal/components/form/total-form/Fields/index.js +3 -3
- package/dist/_internal/components/index.js +30 -29
- package/dist/{chunk-T6QVM5Q5.js → chunk-4LUWZ6UE.js} +2 -2
- package/dist/{chunk-JKIKHWD2.js → chunk-5NT2M2JI.js} +4 -4
- package/dist/{chunk-I7JUAHUO.js → chunk-65KJLPF5.js} +3 -3
- package/dist/{chunk-C74PDNTF.js → chunk-67ADHGA2.js} +2 -2
- package/dist/{chunk-GCBWZ3MX.js → chunk-6YSGP2WS.js} +2 -1
- package/dist/{chunk-GCBWZ3MX.js.map → chunk-6YSGP2WS.js.map} +1 -1
- package/dist/{chunk-ZLVRCQPG.js → chunk-A5CKUJP2.js} +5 -5
- package/dist/{chunk-A63WU4UZ.js → chunk-AKE6KVQG.js} +70 -41
- package/dist/chunk-AKE6KVQG.js.map +1 -0
- package/dist/{chunk-75I42HHE.js → chunk-AYJGRQT4.js} +2 -1
- package/dist/{chunk-75I42HHE.js.map → chunk-AYJGRQT4.js.map} +1 -1
- package/dist/{chunk-XMWTVDQN.js → chunk-B32554CQ.js} +12 -12
- package/dist/{chunk-OA6T2ME3.js → chunk-BLZDSCIZ.js} +4 -4
- package/dist/{chunk-OZYUE2BI.js → chunk-CJUK32UH.js} +4 -4
- package/dist/{chunk-HWPQKHN2.js → chunk-COKPPU42.js} +7 -7
- package/dist/{chunk-U4WAAZXJ.js → chunk-DVX4HDNP.js} +2 -2
- package/dist/{chunk-CESGZRVQ.js → chunk-EMSMJRP3.js} +4 -4
- package/dist/{chunk-IFX5KP65.js → chunk-EXVCVXFX.js} +4 -4
- package/dist/{chunk-U3HGQHEO.js → chunk-H7CZRKN7.js} +4 -4
- package/dist/{chunk-5ZC7CNU4.js → chunk-I2LMLQGQ.js} +2 -2
- package/dist/chunk-J3AWGTJY.js +29 -0
- package/dist/chunk-J3AWGTJY.js.map +1 -0
- package/dist/{chunk-K6VEN5VN.js → chunk-K3PMMW23.js} +4 -4
- package/dist/{chunk-YHPSPFU5.js → chunk-LIN4A2BW.js} +4 -4
- package/dist/{chunk-LXMFHD7M.js → chunk-LTSVYILY.js} +4 -4
- package/dist/{chunk-IEAPXS57.js → chunk-MW7P2C2C.js} +2 -2
- package/dist/{chunk-JVTZ7FWR.js → chunk-NCI74EOS.js} +4 -4
- package/dist/{chunk-IMCSY2SI.js → chunk-OKRITX4S.js} +7 -7
- package/dist/{chunk-LRQT4MQO.js → chunk-PJNIJIE6.js} +2 -2
- package/dist/{chunk-2WVHZIWP.js → chunk-QSRZOXQI.js} +2 -2
- package/dist/{chunk-IF5UY3CT.js → chunk-QVDEGBME.js} +4 -4
- package/dist/{chunk-XNMU32XC.js → chunk-TMUGBHHG.js} +2 -2
- package/dist/{chunk-LH3YT5NL.js → chunk-TVDHA7BT.js} +3 -3
- package/dist/{chunk-AWUFS2ZC.js → chunk-U2DRE36S.js} +4 -4
- package/dist/{chunk-NEYZV6V5.js → chunk-UAOE3ZPC.js} +6 -6
- package/dist/{chunk-VHGHF537.js → chunk-V4CWJ7Q6.js} +2 -2
- package/dist/{chunk-3OL2TSEJ.js → chunk-WNNA6YYE.js} +2 -2
- package/dist/{chunk-T6YTDEY4.js → chunk-WXZCNHBX.js} +2 -2
- package/dist/{chunk-5XTPEA3O.js → chunk-ZHYLOB7Q.js} +2 -2
- package/dist/{chunk-ARMKSYEQ.js → chunk-ZO2GZRZS.js} +2 -2
- package/dist/data-display/Alert.js +2 -2
- package/dist/data-display/CardKit.js +7 -7
- package/dist/data-display/Carousel.js +2 -2
- package/dist/data-display/DataGrid.js +2 -2
- package/dist/data-display/DataViews.js +31 -31
- package/dist/data-display/FleetMap.js +14 -14
- package/dist/data-display/Lightbox.js +4 -4
- package/dist/data-display/MapPreview.js +11 -11
- package/dist/data-display/RegionMap.js +3 -2
- package/dist/feedback/NotificationStatusNotice.js +3 -3
- package/dist/feedback/SequenceResolver.js +4 -4
- package/dist/form/total-form.js +3 -3
- package/dist/types/components/data-display/RegionMap/RegionMap.labels.d.ts +42 -0
- package/dist/types/components/data-display/RegionMap/RegionMap.labels.d.ts.map +1 -0
- package/dist/types/components/data-display/RegionMap/RegionMapDrawing.d.ts.map +1 -1
- package/dist/types/components/form/total-form/Fields/SelectField.d.ts.map +1 -1
- package/dist/types/components/form/total-form/Fields/ToggleField.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/data-display/RegionMap/RegionMap.labels.ts +60 -0
- package/src/components/data-display/RegionMap/RegionMapDrawing.tsx +87 -45
- package/src/components/form/total-form/Fields/SelectField.tsx +4 -0
- package/src/components/form/total-form/Fields/ToggleField.tsx +3 -0
- package/dist/chunk-A63WU4UZ.js.map +0 -1
- /package/dist/{chunk-T6QVM5Q5.js.map → chunk-4LUWZ6UE.js.map} +0 -0
- /package/dist/{chunk-JKIKHWD2.js.map → chunk-5NT2M2JI.js.map} +0 -0
- /package/dist/{chunk-I7JUAHUO.js.map → chunk-65KJLPF5.js.map} +0 -0
- /package/dist/{chunk-C74PDNTF.js.map → chunk-67ADHGA2.js.map} +0 -0
- /package/dist/{chunk-ZLVRCQPG.js.map → chunk-A5CKUJP2.js.map} +0 -0
- /package/dist/{chunk-XMWTVDQN.js.map → chunk-B32554CQ.js.map} +0 -0
- /package/dist/{chunk-OA6T2ME3.js.map → chunk-BLZDSCIZ.js.map} +0 -0
- /package/dist/{chunk-OZYUE2BI.js.map → chunk-CJUK32UH.js.map} +0 -0
- /package/dist/{chunk-HWPQKHN2.js.map → chunk-COKPPU42.js.map} +0 -0
- /package/dist/{chunk-U4WAAZXJ.js.map → chunk-DVX4HDNP.js.map} +0 -0
- /package/dist/{chunk-CESGZRVQ.js.map → chunk-EMSMJRP3.js.map} +0 -0
- /package/dist/{chunk-IFX5KP65.js.map → chunk-EXVCVXFX.js.map} +0 -0
- /package/dist/{chunk-U3HGQHEO.js.map → chunk-H7CZRKN7.js.map} +0 -0
- /package/dist/{chunk-5ZC7CNU4.js.map → chunk-I2LMLQGQ.js.map} +0 -0
- /package/dist/{chunk-K6VEN5VN.js.map → chunk-K3PMMW23.js.map} +0 -0
- /package/dist/{chunk-YHPSPFU5.js.map → chunk-LIN4A2BW.js.map} +0 -0
- /package/dist/{chunk-LXMFHD7M.js.map → chunk-LTSVYILY.js.map} +0 -0
- /package/dist/{chunk-IEAPXS57.js.map → chunk-MW7P2C2C.js.map} +0 -0
- /package/dist/{chunk-JVTZ7FWR.js.map → chunk-NCI74EOS.js.map} +0 -0
- /package/dist/{chunk-IMCSY2SI.js.map → chunk-OKRITX4S.js.map} +0 -0
- /package/dist/{chunk-LRQT4MQO.js.map → chunk-PJNIJIE6.js.map} +0 -0
- /package/dist/{chunk-2WVHZIWP.js.map → chunk-QSRZOXQI.js.map} +0 -0
- /package/dist/{chunk-IF5UY3CT.js.map → chunk-QVDEGBME.js.map} +0 -0
- /package/dist/{chunk-XNMU32XC.js.map → chunk-TMUGBHHG.js.map} +0 -0
- /package/dist/{chunk-LH3YT5NL.js.map → chunk-TVDHA7BT.js.map} +0 -0
- /package/dist/{chunk-AWUFS2ZC.js.map → chunk-U2DRE36S.js.map} +0 -0
- /package/dist/{chunk-NEYZV6V5.js.map → chunk-UAOE3ZPC.js.map} +0 -0
- /package/dist/{chunk-VHGHF537.js.map → chunk-V4CWJ7Q6.js.map} +0 -0
- /package/dist/{chunk-3OL2TSEJ.js.map → chunk-WNNA6YYE.js.map} +0 -0
- /package/dist/{chunk-T6YTDEY4.js.map → chunk-WXZCNHBX.js.map} +0 -0
- /package/dist/{chunk-5XTPEA3O.js.map → chunk-ZHYLOB7Q.js.map} +0 -0
- /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-
|
|
371
|
+
} from "../../chunk-ZHYLOB7Q.js";
|
|
372
372
|
import "../../chunk-3LUT2C5M.js";
|
|
373
373
|
import "../../chunk-5UBP2DJ4.js";
|
|
374
|
-
import "../../chunk-
|
|
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-
|
|
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-
|
|
527
|
-
import "../../chunk-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
750
|
+
} from "../../chunk-TMUGBHHG.js";
|
|
750
751
|
import "../../chunk-ZCPSND5Y.js";
|
|
751
|
-
import "../../chunk-
|
|
752
|
-
import "../../chunk-
|
|
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-
|
|
771
|
-
import "../../chunk-
|
|
772
|
-
import "../../chunk-
|
|
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-
|
|
781
|
-
import "../../chunk-
|
|
782
|
-
import "../../chunk-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
189
|
+
//# sourceMappingURL=chunk-5NT2M2JI.js.map
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
GridShell
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-B32554CQ.js";
|
|
4
4
|
import {
|
|
5
5
|
useDataViewsState
|
|
6
|
-
} from "./chunk-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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,
|
|
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-
|
|
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-
|
|
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 =
|
|
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
|
-
|
|
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
|
|
168
|
-
|
|
169
|
-
|
|
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
|
-
|
|
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,
|
|
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-
|
|
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-
|
|
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,
|
|
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-
|
|
12
|
+
} from "./chunk-67ADHGA2.js";
|
|
10
13
|
import {
|
|
11
14
|
FilterDialog,
|
|
12
15
|
GridFilterPanel
|
|
13
16
|
} from "./chunk-OPY2AGAU.js";
|
|
14
17
|
import {
|
|
15
|
-
|
|
16
|
-
} from "./chunk-
|
|
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-
|
|
33
|
+
} from "./chunk-K3PMMW23.js";
|
|
34
34
|
import {
|
|
35
35
|
ShellToolbar
|
|
36
|
-
} from "./chunk-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
151
|
+
//# sourceMappingURL=chunk-COKPPU42.js.map
|