react-native-map4d-map-dtqg 0.1.4 → 0.1.5

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 (217) hide show
  1. package/README.md +58 -0
  2. package/android/.gradle/9.2.0/fileHashes/fileHashes.lock +0 -0
  3. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  4. package/android/.gradle/buildOutputCleanup/cache.properties +1 -1
  5. package/android/build.gradle +2 -2
  6. package/android/src/main/java/com/reactnativemap4dmap/Map4dMapModule.java +39 -27
  7. package/ios/Map4dMap.h +12 -3
  8. package/ios/Map4dMap.m +108 -3
  9. package/ios/Map4dMapTurbo.mm +16 -0
  10. package/ios/RMFCircleManager.m +40 -68
  11. package/ios/RMFDirectionsRendererManager.m +26 -24
  12. package/ios/RMFMapViewManager.m +64 -149
  13. package/ios/RMFMarkerManager.m +36 -64
  14. package/ios/RMFPOIManager.m +40 -74
  15. package/ios/RMFPolygonManager.m +38 -60
  16. package/ios/RMFPolylineManager.m +36 -58
  17. package/ios/building/RMFBuildingManager.m +36 -64
  18. package/lib/commonjs/components/MFBanDoSo/constants.js +27 -0
  19. package/lib/commonjs/components/MFBanDoSo/constants.js.map +1 -0
  20. package/lib/commonjs/components/MFBanDoSo/helpers.js +200 -0
  21. package/lib/commonjs/components/MFBanDoSo/helpers.js.map +1 -0
  22. package/lib/commonjs/components/MFBanDoSo/propTypes.js +18 -0
  23. package/lib/commonjs/components/MFBanDoSo/propTypes.js.map +1 -0
  24. package/lib/commonjs/components/MFBanDoSo/styles.js +328 -0
  25. package/lib/commonjs/components/MFBanDoSo/styles.js.map +1 -0
  26. package/lib/commonjs/components/MFBanDoSo/ui.js +220 -0
  27. package/lib/commonjs/components/MFBanDoSo/ui.js.map +1 -0
  28. package/lib/commonjs/components/MFBanDoSo.js +190 -73
  29. package/lib/commonjs/components/MFBanDoSo.js.map +1 -1
  30. package/lib/commonjs/components/MFBuilding.js +15 -90
  31. package/lib/commonjs/components/MFBuilding.js.map +1 -1
  32. package/lib/commonjs/components/MFCircle.js +20 -88
  33. package/lib/commonjs/components/MFCircle.js.map +1 -1
  34. package/lib/commonjs/components/MFDirectionsRenderer.js +15 -93
  35. package/lib/commonjs/components/MFDirectionsRenderer.js.map +1 -1
  36. package/lib/commonjs/components/MFMapView.js +50 -147
  37. package/lib/commonjs/components/MFMapView.js.map +1 -1
  38. package/lib/commonjs/components/MFMarker.js +15 -101
  39. package/lib/commonjs/components/MFMarker.js.map +1 -1
  40. package/lib/commonjs/components/MFPOI.js +17 -92
  41. package/lib/commonjs/components/MFPOI.js.map +1 -1
  42. package/lib/commonjs/components/MFPolygon.js +15 -87
  43. package/lib/commonjs/components/MFPolygon.js.map +1 -1
  44. package/lib/commonjs/components/MFPolyline.js +17 -87
  45. package/lib/commonjs/components/MFPolyline.js.map +1 -1
  46. package/lib/commonjs/components/MFTileOverlay.js +7 -15
  47. package/lib/commonjs/components/MFTileOverlay.js.map +1 -1
  48. package/lib/commonjs/components/Map4dMapView.js +1 -4
  49. package/lib/commonjs/components/Map4dMapView.js.map +1 -1
  50. package/lib/commonjs/components/extends/AreaFocusManager.js +4 -38
  51. package/lib/commonjs/components/extends/AreaFocusManager.js.map +1 -1
  52. package/lib/commonjs/components/extends/AreaFocuser.js +1 -17
  53. package/lib/commonjs/components/extends/AreaFocuser.js.map +1 -1
  54. package/lib/commonjs/components/extends/BoundHelper.js +0 -6
  55. package/lib/commonjs/components/extends/BoundHelper.js.map +1 -1
  56. package/lib/commonjs/components/extends/area/AreaFocusAreas.js +0 -37
  57. package/lib/commonjs/components/extends/area/AreaFocusAreas.js.map +1 -1
  58. package/lib/commonjs/components/extends/area/AreaFocusGeometryUtils.js +1 -35
  59. package/lib/commonjs/components/extends/area/AreaFocusGeometryUtils.js.map +1 -1
  60. package/lib/commonjs/components/extends/area/AreaFocusSession.js +0 -18
  61. package/lib/commonjs/components/extends/area/AreaFocusSession.js.map +1 -1
  62. package/lib/commonjs/components/extends/area/AreaFocusTypes.js +2 -3
  63. package/lib/commonjs/components/extends/area/AreaFocusTypes.js.map +1 -1
  64. package/lib/commonjs/components/internal/DefaultRoadmapStyle.js +1 -2
  65. package/lib/commonjs/components/internal/DefaultRoadmapStyle.js.map +1 -1
  66. package/lib/commonjs/components/internal/GeojsonStyleUtils.js +20 -31
  67. package/lib/commonjs/components/internal/GeojsonStyleUtils.js.map +1 -1
  68. package/lib/commonjs/index.js +0 -11
  69. package/lib/commonjs/index.js.map +1 -1
  70. package/lib/commonjs/native/Map4dMapNativeModule.js +10 -0
  71. package/lib/commonjs/native/Map4dMapNativeModule.js.map +1 -0
  72. package/lib/commonjs/native/NativeModuleResolver.js +35 -0
  73. package/lib/commonjs/native/NativeModuleResolver.js.map +1 -0
  74. package/lib/commonjs/native/ViewManagerCommand.js +67 -0
  75. package/lib/commonjs/native/ViewManagerCommand.js.map +1 -0
  76. package/lib/commonjs/package.json +1 -0
  77. package/lib/commonjs/specs/NativeMap4dMap.js +9 -0
  78. package/lib/commonjs/specs/NativeMap4dMap.js.map +1 -0
  79. package/lib/module/components/MFBanDoSo/constants.js +22 -0
  80. package/lib/module/components/MFBanDoSo/constants.js.map +1 -0
  81. package/lib/module/components/MFBanDoSo/helpers.js +188 -0
  82. package/lib/module/components/MFBanDoSo/helpers.js.map +1 -0
  83. package/lib/module/components/MFBanDoSo/propTypes.js +14 -0
  84. package/lib/module/components/MFBanDoSo/propTypes.js.map +1 -0
  85. package/lib/module/components/MFBanDoSo/styles.js +325 -0
  86. package/lib/module/components/MFBanDoSo/styles.js.map +1 -0
  87. package/lib/module/components/MFBanDoSo/ui.js +213 -0
  88. package/lib/module/components/MFBanDoSo/ui.js.map +1 -0
  89. package/lib/module/components/MFBanDoSo.js +192 -63
  90. package/lib/module/components/MFBanDoSo.js.map +1 -1
  91. package/lib/module/components/MFBuilding.js +17 -82
  92. package/lib/module/components/MFBuilding.js.map +1 -1
  93. package/lib/module/components/MFCircle.js +22 -80
  94. package/lib/module/components/MFCircle.js.map +1 -1
  95. package/lib/module/components/MFDirectionsRenderer.js +16 -85
  96. package/lib/module/components/MFDirectionsRenderer.js.map +1 -1
  97. package/lib/module/components/MFMapView.js +51 -136
  98. package/lib/module/components/MFMapView.js.map +1 -1
  99. package/lib/module/components/MFMarker.js +17 -92
  100. package/lib/module/components/MFMarker.js.map +1 -1
  101. package/lib/module/components/MFPOI.js +19 -84
  102. package/lib/module/components/MFPOI.js.map +1 -1
  103. package/lib/module/components/MFPolygon.js +17 -79
  104. package/lib/module/components/MFPolygon.js.map +1 -1
  105. package/lib/module/components/MFPolyline.js +19 -79
  106. package/lib/module/components/MFPolyline.js.map +1 -1
  107. package/lib/module/components/MFTileOverlay.js +10 -9
  108. package/lib/module/components/MFTileOverlay.js.map +1 -1
  109. package/lib/module/components/Map4dMapView.js +2 -0
  110. package/lib/module/components/Map4dMapView.js.map +1 -1
  111. package/lib/module/components/extends/AreaFocusManager.js +6 -32
  112. package/lib/module/components/extends/AreaFocusManager.js.map +1 -1
  113. package/lib/module/components/extends/AreaFocuser.js +3 -15
  114. package/lib/module/components/extends/AreaFocuser.js.map +1 -1
  115. package/lib/module/components/extends/BoundHelper.js +2 -5
  116. package/lib/module/components/extends/BoundHelper.js.map +1 -1
  117. package/lib/module/components/extends/area/AreaFocusAreas.js +2 -33
  118. package/lib/module/components/extends/area/AreaFocusAreas.js.map +1 -1
  119. package/lib/module/components/extends/area/AreaFocusGeometryUtils.js +2 -32
  120. package/lib/module/components/extends/area/AreaFocusGeometryUtils.js.map +1 -1
  121. package/lib/module/components/extends/area/AreaFocusSession.js +2 -17
  122. package/lib/module/components/extends/area/AreaFocusSession.js.map +1 -1
  123. package/lib/module/components/extends/area/AreaFocusTypes.js +3 -0
  124. package/lib/module/components/extends/area/AreaFocusTypes.js.map +1 -1
  125. package/lib/module/components/internal/DefaultRoadmapStyle.js +2 -0
  126. package/lib/module/components/internal/DefaultRoadmapStyle.js.map +1 -1
  127. package/lib/module/components/internal/GeojsonStyleUtils.js +21 -28
  128. package/lib/module/components/internal/GeojsonStyleUtils.js.map +1 -1
  129. package/lib/module/index.js +2 -0
  130. package/lib/module/index.js.map +1 -1
  131. package/lib/module/native/Map4dMapNativeModule.js +5 -0
  132. package/lib/module/native/Map4dMapNativeModule.js.map +1 -0
  133. package/lib/module/native/NativeModuleResolver.js +29 -0
  134. package/lib/module/native/NativeModuleResolver.js.map +1 -0
  135. package/lib/module/native/ViewManagerCommand.js +61 -0
  136. package/lib/module/native/ViewManagerCommand.js.map +1 -0
  137. package/lib/module/specs/NativeMap4dMap.js +5 -0
  138. package/lib/module/specs/NativeMap4dMap.js.map +1 -0
  139. package/lib/typescript/components/MFBanDoSo/constants.d.ts +8 -0
  140. package/lib/typescript/components/MFBanDoSo/constants.d.ts.map +1 -0
  141. package/lib/typescript/components/MFBanDoSo/helpers.d.ts +14 -0
  142. package/lib/typescript/components/MFBanDoSo/helpers.d.ts.map +1 -0
  143. package/lib/typescript/components/MFBanDoSo/propTypes.d.ts +2 -0
  144. package/lib/typescript/components/MFBanDoSo/propTypes.d.ts.map +1 -0
  145. package/lib/typescript/components/MFBanDoSo/styles.d.ts +462 -0
  146. package/lib/typescript/components/MFBanDoSo/styles.d.ts.map +1 -0
  147. package/lib/typescript/components/MFBanDoSo/ui.d.ts +30 -0
  148. package/lib/typescript/components/MFBanDoSo/ui.d.ts.map +1 -0
  149. package/lib/typescript/components/MFBanDoSo.d.ts +37 -0
  150. package/lib/typescript/components/MFBanDoSo.d.ts.map +1 -0
  151. package/lib/typescript/components/MFBuilding.d.ts +24 -0
  152. package/lib/typescript/components/MFBuilding.d.ts.map +1 -0
  153. package/lib/typescript/components/MFCircle.d.ts +24 -0
  154. package/lib/typescript/components/MFCircle.d.ts.map +1 -0
  155. package/lib/typescript/components/MFDirectionsRenderer.d.ts +19 -0
  156. package/lib/typescript/components/MFDirectionsRenderer.d.ts.map +1 -0
  157. package/lib/typescript/components/MFMapView.d.ts +66 -0
  158. package/lib/typescript/components/MFMapView.d.ts.map +1 -0
  159. package/lib/typescript/components/MFMarker.d.ts +26 -0
  160. package/lib/typescript/components/MFMarker.d.ts.map +1 -0
  161. package/lib/typescript/components/MFPOI.d.ts +24 -0
  162. package/lib/typescript/components/MFPOI.d.ts.map +1 -0
  163. package/lib/typescript/components/MFPolygon.d.ts +24 -0
  164. package/lib/typescript/components/MFPolygon.d.ts.map +1 -0
  165. package/lib/typescript/components/MFPolyline.d.ts +24 -0
  166. package/lib/typescript/components/MFPolyline.d.ts.map +1 -0
  167. package/lib/typescript/components/MFTileOverlay.d.ts +12 -0
  168. package/lib/typescript/components/MFTileOverlay.d.ts.map +1 -0
  169. package/lib/typescript/components/Map4dMapView.d.ts +8 -7
  170. package/lib/typescript/components/Map4dMapView.d.ts.map +1 -0
  171. package/lib/typescript/components/extends/AreaFocusManager.d.ts +34 -0
  172. package/lib/typescript/components/extends/AreaFocusManager.d.ts.map +1 -0
  173. package/lib/typescript/components/extends/AreaFocuser.d.ts +15 -0
  174. package/lib/typescript/components/extends/AreaFocuser.d.ts.map +1 -0
  175. package/lib/typescript/components/extends/BoundHelper.d.ts +11 -0
  176. package/lib/typescript/components/extends/BoundHelper.d.ts.map +1 -0
  177. package/lib/typescript/components/extends/area/AreaFocusAreas.d.ts +58 -0
  178. package/lib/typescript/components/extends/area/AreaFocusAreas.d.ts.map +1 -0
  179. package/lib/typescript/components/extends/area/AreaFocusGeometryUtils.d.ts +19 -0
  180. package/lib/typescript/components/extends/area/AreaFocusGeometryUtils.d.ts.map +1 -0
  181. package/lib/typescript/components/extends/area/AreaFocusSession.d.ts +14 -0
  182. package/lib/typescript/components/extends/area/AreaFocusSession.d.ts.map +1 -0
  183. package/lib/typescript/components/extends/area/AreaFocusTypes.d.ts +40 -0
  184. package/lib/typescript/components/extends/area/AreaFocusTypes.d.ts.map +1 -0
  185. package/lib/typescript/components/internal/DefaultRoadmapStyle.d.ts +820 -0
  186. package/lib/typescript/components/internal/DefaultRoadmapStyle.d.ts.map +1 -0
  187. package/lib/typescript/components/internal/GeojsonStyleUtils.d.ts +3 -0
  188. package/lib/typescript/components/internal/GeojsonStyleUtils.d.ts.map +1 -0
  189. package/lib/typescript/index.d.ts +13 -0
  190. package/lib/typescript/index.d.ts.map +1 -0
  191. package/lib/typescript/native/Map4dMapNativeModule.d.ts +2 -0
  192. package/lib/typescript/native/Map4dMapNativeModule.d.ts.map +1 -0
  193. package/lib/typescript/native/NativeModuleResolver.d.ts +3 -0
  194. package/lib/typescript/native/NativeModuleResolver.d.ts.map +1 -0
  195. package/lib/typescript/native/ViewManagerCommand.d.ts +11 -0
  196. package/lib/typescript/native/ViewManagerCommand.d.ts.map +1 -0
  197. package/package.json +27 -11
  198. package/src/components/MFBanDoSo/constants.js +32 -0
  199. package/src/components/MFBanDoSo/helpers.js +273 -0
  200. package/src/components/MFBanDoSo/propTypes.js +14 -0
  201. package/src/components/MFBanDoSo/styles.js +316 -0
  202. package/src/components/MFBanDoSo/ui.js +230 -0
  203. package/src/components/MFBanDoSo.js +268 -78
  204. package/src/components/MFBuilding.js +8 -48
  205. package/src/components/MFCircle.js +8 -48
  206. package/src/components/MFDirectionsRenderer.js +8 -47
  207. package/src/components/MFMapView.js +31 -53
  208. package/src/components/MFMarker.js +9 -50
  209. package/src/components/MFPOI.js +8 -48
  210. package/src/components/MFPolygon.js +8 -48
  211. package/src/components/MFPolyline.js +8 -48
  212. package/src/components/internal/GeojsonStyleUtils.js +3 -0
  213. package/src/native/Map4dMapNativeModule.js +3 -0
  214. package/src/native/NativeModuleResolver.js +33 -0
  215. package/src/native/ViewManagerCommand.js +82 -0
  216. package/src/specs/NativeMap4dMap.js +12 -0
  217. package/ios/Map4dMapViewManager.m +0 -34
@@ -0,0 +1,220 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.LayerButton = LayerButton;
7
+ exports.LegendButton = LegendButton;
8
+ exports.LegendPanel = LegendPanel;
9
+ exports.SelectorDrawer = SelectorDrawer;
10
+ var _react = _interopRequireDefault(require("react"));
11
+ var _reactNative = require("react-native");
12
+ var _styles = require("./styles");
13
+ var _jsxRuntime = require("react/jsx-runtime");
14
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
+ function LayerButton({
16
+ show,
17
+ isActive,
18
+ onPress
19
+ }) {
20
+ if (!show) {
21
+ return null;
22
+ }
23
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
24
+ style: _styles.styles.layerButtonContainer,
25
+ pointerEvents: "box-none",
26
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Pressable, {
27
+ style: [_styles.styles.layerButton, isActive && _styles.styles.layerButtonActive],
28
+ onPress: onPress,
29
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
30
+ style: _styles.styles.layerIconBoxPrimary
31
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
32
+ style: _styles.styles.layerIconBoxSecondary
33
+ })]
34
+ })
35
+ });
36
+ }
37
+ function LegendButton({
38
+ show,
39
+ isActive,
40
+ onPress
41
+ }) {
42
+ if (!show) {
43
+ return null;
44
+ }
45
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
46
+ style: _styles.styles.layerButtonContainer,
47
+ pointerEvents: "box-none",
48
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Pressable, {
49
+ style: [_styles.styles.layerButton, _styles.styles.legendButton, isActive && _styles.styles.layerButtonActive],
50
+ onPress: onPress,
51
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
52
+ style: _styles.styles.legendToggleIconRow,
53
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
54
+ style: _styles.styles.legendToggleIconDot
55
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
56
+ style: _styles.styles.legendToggleIconLine
57
+ })]
58
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
59
+ style: _styles.styles.legendToggleIconRow,
60
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
61
+ style: _styles.styles.legendToggleIconDot
62
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
63
+ style: _styles.styles.legendToggleIconLine
64
+ })]
65
+ })]
66
+ })
67
+ });
68
+ }
69
+ function SelectorDrawer({
70
+ show,
71
+ title,
72
+ groupSections,
73
+ expandedGroupKeys,
74
+ backdropAnimatedStyle,
75
+ panelAnimatedStyle,
76
+ onClose,
77
+ onToggleGroup,
78
+ onToggleGroupChecked,
79
+ onToggleItem
80
+ }) {
81
+ if (!show) {
82
+ return null;
83
+ }
84
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
85
+ style: _styles.styles.selectorContainer,
86
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Animated.View, {
87
+ style: [_styles.styles.selectorBackdrop, backdropAnimatedStyle],
88
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
89
+ style: _styles.styles.selectorBackdropPressable,
90
+ onPress: onClose
91
+ })
92
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Animated.View, {
93
+ style: [_styles.styles.selectorPanel, panelAnimatedStyle],
94
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
95
+ style: _styles.styles.selectorHeader,
96
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
97
+ style: _styles.styles.selectorTitle,
98
+ children: title
99
+ })
100
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ScrollView, {
101
+ style: _styles.styles.selectorList,
102
+ showsVerticalScrollIndicator: false,
103
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
104
+ style: _styles.styles.selectorGrid,
105
+ children: groupSections.map(group => {
106
+ const groupKey = group?.key || '__group__';
107
+ const groupTitle = group?.title || 'Khac';
108
+ const groupItems = Array.isArray(group?.items) ? group.items : [];
109
+ const isExpanded = expandedGroupKeys[groupKey] !== false;
110
+ const checkedCount = groupItems.reduce((acc, wrapped) => acc + (wrapped?.item?.checked !== false ? 1 : 0), 0);
111
+ const isGroupChecked = groupItems.length > 0 && checkedCount === groupItems.length;
112
+ const isGroupIndeterminate = checkedCount > 0 && checkedCount < groupItems.length;
113
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
114
+ style: _styles.styles.selectorGroupSection,
115
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
116
+ style: _styles.styles.selectorGroupHeader,
117
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
118
+ style: _styles.styles.selectorGroupCheckAction,
119
+ onPress: () => onToggleGroupChecked(groupKey, !isGroupChecked),
120
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
121
+ style: [_styles.styles.groupCheckOuter, isGroupChecked && _styles.styles.groupCheckOuterChecked, isGroupIndeterminate && _styles.styles.groupCheckOuterIndeterminate],
122
+ children: isGroupChecked ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
123
+ style: _styles.styles.groupCheckMark,
124
+ children: "\u2713"
125
+ }) : isGroupIndeterminate ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
126
+ style: _styles.styles.groupCheckIndeterminateMark
127
+ }) : null
128
+ })
129
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Pressable, {
130
+ style: _styles.styles.selectorGroupToggleAction,
131
+ onPress: () => onToggleGroup(groupKey),
132
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
133
+ style: [_styles.styles.selectorGroupChevronTriangle, isExpanded ? _styles.styles.selectorGroupChevronExpanded : _styles.styles.selectorGroupChevronCollapsed]
134
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
135
+ style: _styles.styles.selectorGroupTitle,
136
+ numberOfLines: 1,
137
+ children: groupTitle
138
+ })]
139
+ })]
140
+ }), isExpanded ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
141
+ style: _styles.styles.selectorGroupBody,
142
+ children: groupItems.map(({
143
+ item,
144
+ index
145
+ }) => {
146
+ const itemKey = item?.key ?? `index-${index}`;
147
+ const checked = item?.checked !== false;
148
+ const itemTitle = item?.title || item?.key || `Item ${index + 1}`;
149
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Pressable, {
150
+ style: _styles.styles.selectorRow,
151
+ onPress: () => onToggleItem(itemKey, index),
152
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
153
+ style: [_styles.styles.checkboxOuter, checked && _styles.styles.checkboxOuterChecked],
154
+ children: checked ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
155
+ style: _styles.styles.checkboxMark,
156
+ children: "\u2713"
157
+ }) : null
158
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
159
+ style: _styles.styles.selectorLabel,
160
+ children: itemTitle
161
+ })]
162
+ }, `${itemKey}-${index}`);
163
+ })
164
+ }) : null]
165
+ }, groupKey);
166
+ })
167
+ })
168
+ })]
169
+ })]
170
+ });
171
+ }
172
+ function LegendPanel({
173
+ show,
174
+ title,
175
+ items,
176
+ getItemColor
177
+ }) {
178
+ if (!show) {
179
+ return null;
180
+ }
181
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
182
+ style: _styles.styles.legendContainer,
183
+ pointerEvents: "box-none",
184
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
185
+ style: _styles.styles.legendPanel,
186
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
187
+ style: _styles.styles.legendTitle,
188
+ children: title
189
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
190
+ style: _styles.styles.legendDivider
191
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ScrollView, {
192
+ style: _styles.styles.legendList,
193
+ showsVerticalScrollIndicator: true,
194
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
195
+ style: _styles.styles.legendListInner,
196
+ children: items.map((item, index) => {
197
+ const checked = item?.checked !== false;
198
+ const itemTitle = item?.title || item?.label || item?.name || item?.key || '';
199
+ const dotColor = getItemColor(item, index);
200
+ const hasDotColor = typeof dotColor === 'string' && dotColor.trim().length > 0;
201
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
202
+ style: _styles.styles.legendRow,
203
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
204
+ style: [_styles.styles.legendDot, hasDotColor ? {
205
+ backgroundColor: dotColor,
206
+ borderColor: dotColor
207
+ } : null, !checked && !hasDotColor ? _styles.styles.legendDotUnchecked : null]
208
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
209
+ style: _styles.styles.legendLabel,
210
+ numberOfLines: 1,
211
+ children: itemTitle
212
+ })]
213
+ }, `${item?.key ?? `index-${index}`}-${index}`);
214
+ })
215
+ })
216
+ })]
217
+ })
218
+ });
219
+ }
220
+ //# sourceMappingURL=ui.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_styles","_jsxRuntime","e","__esModule","default","LayerButton","show","isActive","onPress","jsx","View","style","styles","layerButtonContainer","pointerEvents","children","jsxs","Pressable","layerButton","layerButtonActive","layerIconBoxPrimary","layerIconBoxSecondary","LegendButton","legendButton","legendToggleIconRow","legendToggleIconDot","legendToggleIconLine","SelectorDrawer","title","groupSections","expandedGroupKeys","backdropAnimatedStyle","panelAnimatedStyle","onClose","onToggleGroup","onToggleGroupChecked","onToggleItem","selectorContainer","Animated","selectorBackdrop","selectorBackdropPressable","selectorPanel","selectorHeader","Text","selectorTitle","ScrollView","selectorList","showsVerticalScrollIndicator","selectorGrid","map","group","groupKey","key","groupTitle","groupItems","Array","isArray","items","isExpanded","checkedCount","reduce","acc","wrapped","item","checked","isGroupChecked","length","isGroupIndeterminate","selectorGroupSection","selectorGroupHeader","selectorGroupCheckAction","groupCheckOuter","groupCheckOuterChecked","groupCheckOuterIndeterminate","groupCheckMark","groupCheckIndeterminateMark","selectorGroupToggleAction","selectorGroupChevronTriangle","selectorGroupChevronExpanded","selectorGroupChevronCollapsed","selectorGroupTitle","numberOfLines","selectorGroupBody","index","itemKey","itemTitle","selectorRow","checkboxOuter","checkboxOuterChecked","checkboxMark","selectorLabel","LegendPanel","getItemColor","legendContainer","legendPanel","legendTitle","legendDivider","legendList","legendListInner","label","name","dotColor","hasDotColor","trim","legendRow","legendDot","backgroundColor","borderColor","legendDotUnchecked","legendLabel"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/MFBanDoSo/ui.js"],"mappings":"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","ignoreList":[]}
@@ -4,106 +4,223 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.MFBanDoSo = void 0;
7
-
8
- var _propTypes = _interopRequireDefault(require("prop-types"));
9
-
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _constants = require("./MFBanDoSo/constants");
10
+ var _helpers = require("./MFBanDoSo/helpers");
11
+ var _propTypes = require("./MFBanDoSo/propTypes");
10
12
  var _MFMapView = require("./MFMapView");
11
-
13
+ var _ui = require("./MFBanDoSo/ui");
12
14
  var _GeojsonStyleUtils = require("./internal/GeojsonStyleUtils");
13
-
14
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
-
16
- const FilterStylePropType = _propTypes.default.shape({
17
- kind: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.arrayOf(_propTypes.default.string)]),
18
- kind_detail: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.arrayOf(_propTypes.default.string)])
19
- });
20
-
21
- const DrawLinePropType = _propTypes.default.shape({
22
- color: _propTypes.default.string,
23
- width: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.array])
24
- });
25
-
26
- const DrawFillPropType = _propTypes.default.shape({
27
- color: _propTypes.default.string
28
- });
29
-
30
- const DrawSymbolPropType = _propTypes.default.shape({
31
- icon_image: _propTypes.default.string,
32
- icon_index: _propTypes.default.number,
33
- icon_color: _propTypes.default.string,
34
- use_direct_icon_url: _propTypes.default.bool
35
- });
36
-
37
- const CategoryStylePropType = _propTypes.default.shape({
38
- line: _propTypes.default.arrayOf(_propTypes.default.shape({
39
- layer: _propTypes.default.string,
40
- filter: FilterStylePropType,
41
- draw: DrawLinePropType
42
- })),
43
- fill: _propTypes.default.arrayOf(_propTypes.default.shape({
44
- layer: _propTypes.default.string,
45
- filter: FilterStylePropType,
46
- draw: DrawFillPropType
47
- })),
48
- symbol: _propTypes.default.arrayOf(_propTypes.default.shape({
49
- layer: _propTypes.default.string,
50
- filter: FilterStylePropType,
51
- draw: DrawSymbolPropType
52
- }))
53
- });
54
-
55
- const CategoryItemPropType = _propTypes.default.shape({
56
- key: _propTypes.default.string,
57
- title: _propTypes.default.string,
58
- group: _propTypes.default.string,
59
- order: _propTypes.default.number,
60
- checked: _propTypes.default.bool,
61
- style: CategoryStylePropType
62
- });
63
-
15
+ var _jsxRuntime = require("react/jsx-runtime");
16
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
64
17
  class MFBanDoSo extends _MFMapView.MFMapView {
65
18
  constructor(props) {
66
19
  super(props);
67
20
  this._appliedGeojsonStyle = null;
21
+ this._isMounted = false;
22
+ this._categoryRequestId = 0;
23
+ this._selectorAnim = new _reactNative.Animated.Value(0);
24
+ this.state = {
25
+ ...this.state,
26
+ categoryItems: [],
27
+ expandedGroupKeys: {},
28
+ groupTitleByKey: {},
29
+ groupOrderedKeys: [],
30
+ isLegendVisible: false,
31
+ isSelectorVisible: false,
32
+ isSelectorMounted: false
33
+ };
34
+ this._toggleItem = this._toggleItem.bind(this);
35
+ this._toggleGroupChecked = this._toggleGroupChecked.bind(this);
36
+ this._toggleGroup = this._toggleGroup.bind(this);
37
+ this._toggleSelectorVisibility = this._toggleSelectorVisibility.bind(this);
38
+ this._toggleLegendVisibility = this._toggleLegendVisibility.bind(this);
39
+ this._openSelector = this._openSelector.bind(this);
40
+ this._closeSelector = this._closeSelector.bind(this);
68
41
  }
69
-
70
42
  componentDidMount() {
43
+ this._isMounted = true;
44
+ this._loadCategoryItems();
71
45
  this._syncGeojsonStyle();
72
46
  }
73
-
74
47
  componentDidUpdate(prevProps, prevState) {
75
48
  const mapReadyChanged = prevState.isReady !== this.state.isReady;
76
49
  const mapStyleChanged = prevProps.mapStyle !== this.props.mapStyle;
77
- const sourceUrlChanged = prevProps.sourceUrl !== this.props.sourceUrl;
78
- const itemsChanged = (0, _GeojsonStyleUtils.createCategoryItemsSignature)(prevProps.items) !== (0, _GeojsonStyleUtils.createCategoryItemsSignature)(this.props.items);
79
-
80
- if (mapReadyChanged || mapStyleChanged || sourceUrlChanged || itemsChanged) {
50
+ const isStagingChanged = prevProps.isStaging !== this.props.isStaging;
51
+ if (isStagingChanged) {
52
+ this._loadCategoryItems();
53
+ }
54
+ const itemsChanged = (0, _helpers.createSelectedCategoryItemsSignature)(prevState.categoryItems) !== (0, _helpers.createSelectedCategoryItemsSignature)(this.state.categoryItems);
55
+ if (mapReadyChanged || mapStyleChanged || isStagingChanged || itemsChanged) {
81
56
  this._syncGeojsonStyle();
82
57
  }
83
58
  }
84
-
59
+ componentWillUnmount() {
60
+ this._isMounted = false;
61
+ }
62
+ async _loadCategoryItems() {
63
+ const requestId = this._categoryRequestId + 1;
64
+ this._categoryRequestId = requestId;
65
+ try {
66
+ const response = await fetch((0, _constants.getCategoryConfigUrl)(this.props.isStaging));
67
+ if (!response.ok) {
68
+ throw new Error(`Failed to fetch category config: ${response.status}`);
69
+ }
70
+ const json = await response.json();
71
+ const nextItems = (0, _helpers.resolveItemsFromCategoryResponse)(json);
72
+ const groupMetadata = (0, _helpers.resolveCategoryGroupMetadataFromResponse)(json);
73
+ if (!this._isMounted || requestId !== this._categoryRequestId) {
74
+ return;
75
+ }
76
+ this.setState(prevState => {
77
+ const categoryItems = (0, _helpers.normalizeCategoryItems)(nextItems);
78
+ const groupSections = (0, _helpers.createCategoryGroupSections)(categoryItems, groupMetadata.titleByKey, groupMetadata.orderedKeys);
79
+ return {
80
+ categoryItems,
81
+ groupTitleByKey: groupMetadata.titleByKey,
82
+ groupOrderedKeys: groupMetadata.orderedKeys,
83
+ expandedGroupKeys: (0, _helpers.reconcileExpandedGroupKeys)(groupSections, prevState.expandedGroupKeys)
84
+ };
85
+ });
86
+ } catch (error) {
87
+ if (requestId !== this._categoryRequestId) {
88
+ return;
89
+ }
90
+ console.warn('Cannot load category items', error);
91
+ }
92
+ }
93
+ _toggleItem(targetKey, targetIndex) {
94
+ this.setState(prevState => ({
95
+ categoryItems: (0, _helpers.toggleCategoryItemChecked)(prevState.categoryItems, targetKey, targetIndex)
96
+ }));
97
+ }
98
+ _toggleGroup(groupKey) {
99
+ if (typeof groupKey !== 'string' || groupKey.length === 0) {
100
+ return;
101
+ }
102
+ this.setState(prevState => ({
103
+ expandedGroupKeys: {
104
+ ...prevState.expandedGroupKeys,
105
+ [groupKey]: !(prevState.expandedGroupKeys[groupKey] !== false)
106
+ }
107
+ }));
108
+ }
109
+ _toggleGroupChecked(groupKey, checkedValue) {
110
+ this.setState(prevState => ({
111
+ categoryItems: (0, _helpers.toggleCategoryGroupChecked)(prevState.categoryItems, groupKey, checkedValue)
112
+ }));
113
+ }
114
+ _toggleSelectorVisibility() {
115
+ if (this.state.isSelectorVisible) {
116
+ this._closeSelector();
117
+ return;
118
+ }
119
+ this._openSelector();
120
+ }
121
+ _toggleLegendVisibility() {
122
+ this.setState(prevState => ({
123
+ isLegendVisible: !prevState.isLegendVisible
124
+ }));
125
+ }
126
+ _openSelector() {
127
+ this.setState({
128
+ isSelectorMounted: true,
129
+ isSelectorVisible: true
130
+ }, () => {
131
+ _reactNative.Animated.timing(this._selectorAnim, {
132
+ toValue: 1,
133
+ duration: _constants.SELECTOR_OPEN_DURATION_MS,
134
+ easing: _reactNative.Easing.out(_reactNative.Easing.cubic),
135
+ useNativeDriver: true
136
+ }).start();
137
+ });
138
+ }
139
+ _closeSelector() {
140
+ _reactNative.Animated.timing(this._selectorAnim, {
141
+ toValue: 0,
142
+ duration: _constants.SELECTOR_CLOSE_DURATION_MS,
143
+ easing: _reactNative.Easing.in(_reactNative.Easing.cubic),
144
+ useNativeDriver: true
145
+ }).start(() => {
146
+ if (!this._isMounted) {
147
+ return;
148
+ }
149
+ this.setState({
150
+ isSelectorVisible: false,
151
+ isSelectorMounted: false
152
+ });
153
+ });
154
+ }
85
155
  _syncGeojsonStyle() {
86
156
  if (!this.state.isReady) {
87
157
  return;
88
158
  }
89
-
90
- const items = this.props.items || [];
91
- const geojsonStyle = (0, _GeojsonStyleUtils.buildGeojsonStyle)(this.props.mapStyle, this.props.sourceUrl, items);
92
-
159
+ const items = (0, _helpers.getSelectedCategoryItems)(this.state.categoryItems);
160
+ const geojsonStyle = (0, _GeojsonStyleUtils.buildGeojsonStyle)(this.props.mapStyle, (0, _constants.getSourceUrl)(this.props.isStaging), items);
93
161
  if (!geojsonStyle || geojsonStyle === this._appliedGeojsonStyle) {
94
162
  return;
95
163
  }
96
-
97
164
  this._appliedGeojsonStyle = geojsonStyle;
98
-
99
165
  this._runCommand('setMapStyle', [geojsonStyle]);
100
166
  }
101
-
167
+ render() {
168
+ const items = this.state.categoryItems;
169
+ const groupSections = (0, _helpers.createCategoryGroupSections)(items, this.state.groupTitleByKey, this.state.groupOrderedKeys);
170
+ const hasItems = Array.isArray(items) && items.length > 0;
171
+ const showLayerButton = hasItems;
172
+ const showSelector = this.state.isSelectorMounted && hasItems;
173
+ const showLegendButton = hasItems;
174
+ const showLegend = this.state.isLegendVisible && hasItems;
175
+ const selectorTitle = _constants.SELECTOR_TITLE;
176
+ const legendTitle = _constants.LEGEND_TITLE;
177
+ const backdropAnimatedStyle = {
178
+ opacity: this._selectorAnim.interpolate({
179
+ inputRange: [0, 1],
180
+ outputRange: [0, 1]
181
+ })
182
+ };
183
+ const panelAnimatedStyle = {
184
+ transform: [{
185
+ translateX: this._selectorAnim.interpolate({
186
+ inputRange: [0, 1],
187
+ outputRange: [_constants.SELECTOR_DRAWER_TRANSLATE_X, 0]
188
+ })
189
+ }]
190
+ };
191
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_react.default.Fragment, {
192
+ children: [super.render(), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ui.LayerButton, {
193
+ show: showLayerButton,
194
+ isActive: this.state.isSelectorVisible,
195
+ onPress: this._toggleSelectorVisibility
196
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ui.LegendButton, {
197
+ show: showLegendButton,
198
+ isActive: this.state.isLegendVisible,
199
+ onPress: this._toggleLegendVisibility
200
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ui.SelectorDrawer, {
201
+ show: showSelector,
202
+ title: selectorTitle,
203
+ groupSections: groupSections,
204
+ expandedGroupKeys: this.state.expandedGroupKeys,
205
+ backdropAnimatedStyle: backdropAnimatedStyle,
206
+ panelAnimatedStyle: panelAnimatedStyle,
207
+ onClose: this._toggleSelectorVisibility,
208
+ onToggleGroup: this._toggleGroup,
209
+ onToggleGroupChecked: this._toggleGroupChecked,
210
+ onToggleItem: this._toggleItem
211
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ui.LegendPanel, {
212
+ show: showLegend,
213
+ title: legendTitle,
214
+ items: items,
215
+ getItemColor: item => (0, _helpers.resolveCategoryItemColor)(item)
216
+ })]
217
+ });
218
+ }
102
219
  }
103
-
104
220
  exports.MFBanDoSo = MFBanDoSo;
105
- MFBanDoSo.propTypes = { ..._MFMapView.MFMapView.propTypes,
106
- items: _propTypes.default.arrayOf(CategoryItemPropType),
107
- sourceUrl: _propTypes.default.string.isRequired
221
+ MFBanDoSo.propTypes = _propTypes.banDoSoPropTypes;
222
+ MFBanDoSo.defaultProps = {
223
+ ..._MFMapView.MFMapView.defaultProps,
224
+ isStaging: true
108
225
  };
109
226
  //# sourceMappingURL=MFBanDoSo.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["FilterStylePropType","PropTypes","shape","kind","oneOfType","string","arrayOf","kind_detail","DrawLinePropType","color","width","number","array","DrawFillPropType","DrawSymbolPropType","icon_image","icon_index","icon_color","use_direct_icon_url","bool","CategoryStylePropType","line","layer","filter","draw","fill","symbol","CategoryItemPropType","key","title","group","order","checked","style","MFBanDoSo","MFMapView","constructor","props","_appliedGeojsonStyle","componentDidMount","_syncGeojsonStyle","componentDidUpdate","prevProps","prevState","mapReadyChanged","isReady","state","mapStyleChanged","mapStyle","sourceUrlChanged","sourceUrl","itemsChanged","createCategoryItemsSignature","items","geojsonStyle","buildGeojsonStyle","_runCommand","propTypes","isRequired"],"sources":["MFBanDoSo.js"],"sourcesContent":["import PropTypes from 'prop-types';\r\nimport { MFMapView } from './MFMapView';\r\nimport {\r\n buildGeojsonStyle,\r\n createCategoryItemsSignature,\r\n} from './internal/GeojsonStyleUtils';\r\n\r\nconst FilterStylePropType = PropTypes.shape({\r\n kind: PropTypes.oneOfType([\r\n PropTypes.string,\r\n PropTypes.arrayOf(PropTypes.string),\r\n ]),\r\n kind_detail: PropTypes.oneOfType([\r\n PropTypes.string,\r\n PropTypes.arrayOf(PropTypes.string),\r\n ]),\r\n});\r\n\r\nconst DrawLinePropType = PropTypes.shape({\r\n color: PropTypes.string,\r\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.array]),\r\n});\r\n\r\nconst DrawFillPropType = PropTypes.shape({\r\n color: PropTypes.string,\r\n});\r\n\r\nconst DrawSymbolPropType = PropTypes.shape({\r\n icon_image: PropTypes.string,\r\n icon_index: PropTypes.number,\r\n icon_color: PropTypes.string,\r\n use_direct_icon_url: PropTypes.bool,\r\n});\r\n\r\nconst CategoryStylePropType = PropTypes.shape({\r\n line: PropTypes.arrayOf(\r\n PropTypes.shape({\r\n layer: PropTypes.string,\r\n filter: FilterStylePropType,\r\n draw: DrawLinePropType,\r\n })\r\n ),\r\n fill: PropTypes.arrayOf(\r\n PropTypes.shape({\r\n layer: PropTypes.string,\r\n filter: FilterStylePropType,\r\n draw: DrawFillPropType,\r\n })\r\n ),\r\n symbol: PropTypes.arrayOf(\r\n PropTypes.shape({\r\n layer: PropTypes.string,\r\n filter: FilterStylePropType,\r\n draw: DrawSymbolPropType,\r\n })\r\n ),\r\n});\r\n\r\nconst CategoryItemPropType = PropTypes.shape({\r\n key: PropTypes.string,\r\n title: PropTypes.string,\r\n group: PropTypes.string,\r\n order: PropTypes.number,\r\n checked: PropTypes.bool,\r\n style: CategoryStylePropType,\r\n});\r\n\r\nclass MFBanDoSo extends MFMapView {\r\n constructor(props) {\r\n super(props);\r\n this._appliedGeojsonStyle = null;\r\n }\r\n\r\n componentDidMount() {\r\n this._syncGeojsonStyle();\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState) {\r\n const mapReadyChanged = prevState.isReady !== this.state.isReady;\r\n const mapStyleChanged = prevProps.mapStyle !== this.props.mapStyle;\r\n const sourceUrlChanged = prevProps.sourceUrl !== this.props.sourceUrl;\r\n const itemsChanged =\r\n createCategoryItemsSignature(prevProps.items) !==\r\n createCategoryItemsSignature(this.props.items);\r\n\r\n if (\r\n mapReadyChanged ||\r\n mapStyleChanged ||\r\n sourceUrlChanged ||\r\n itemsChanged\r\n ) {\r\n this._syncGeojsonStyle();\r\n }\r\n }\r\n\r\n _syncGeojsonStyle() {\r\n if (!this.state.isReady) {\r\n return;\r\n }\r\n\r\n const items = this.props.items || [];\r\n\r\n const geojsonStyle = buildGeojsonStyle(\r\n this.props.mapStyle,\r\n this.props.sourceUrl,\r\n items\r\n );\r\n\r\n if (!geojsonStyle || geojsonStyle === this._appliedGeojsonStyle) {\r\n return;\r\n }\r\n\r\n this._appliedGeojsonStyle = geojsonStyle;\r\n this._runCommand('setMapStyle', [geojsonStyle]);\r\n }\r\n}\r\n\r\nMFBanDoSo.propTypes = {\r\n ...MFMapView.propTypes,\r\n items: PropTypes.arrayOf(CategoryItemPropType),\r\n sourceUrl: PropTypes.string.isRequired,\r\n};\r\n\r\nexport { MFBanDoSo };\r\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;;;AAKA,MAAMA,mBAAmB,GAAGC,kBAAA,CAAUC,KAAV,CAAgB;EAC1CC,IAAI,EAAEF,kBAAA,CAAUG,SAAV,CAAoB,CACxBH,kBAAA,CAAUI,MADc,EAExBJ,kBAAA,CAAUK,OAAV,CAAkBL,kBAAA,CAAUI,MAA5B,CAFwB,CAApB,CADoC;EAK1CE,WAAW,EAAEN,kBAAA,CAAUG,SAAV,CAAoB,CAC/BH,kBAAA,CAAUI,MADqB,EAE/BJ,kBAAA,CAAUK,OAAV,CAAkBL,kBAAA,CAAUI,MAA5B,CAF+B,CAApB;AAL6B,CAAhB,CAA5B;;AAWA,MAAMG,gBAAgB,GAAGP,kBAAA,CAAUC,KAAV,CAAgB;EACvCO,KAAK,EAAER,kBAAA,CAAUI,MADsB;EAEvCK,KAAK,EAAET,kBAAA,CAAUG,SAAV,CAAoB,CAACH,kBAAA,CAAUU,MAAX,EAAmBV,kBAAA,CAAUW,KAA7B,CAApB;AAFgC,CAAhB,CAAzB;;AAKA,MAAMC,gBAAgB,GAAGZ,kBAAA,CAAUC,KAAV,CAAgB;EACvCO,KAAK,EAAER,kBAAA,CAAUI;AADsB,CAAhB,CAAzB;;AAIA,MAAMS,kBAAkB,GAAGb,kBAAA,CAAUC,KAAV,CAAgB;EACzCa,UAAU,EAAEd,kBAAA,CAAUI,MADmB;EAEzCW,UAAU,EAAEf,kBAAA,CAAUU,MAFmB;EAGzCM,UAAU,EAAEhB,kBAAA,CAAUI,MAHmB;EAIzCa,mBAAmB,EAAEjB,kBAAA,CAAUkB;AAJU,CAAhB,CAA3B;;AAOA,MAAMC,qBAAqB,GAAGnB,kBAAA,CAAUC,KAAV,CAAgB;EAC5CmB,IAAI,EAAEpB,kBAAA,CAAUK,OAAV,CACJL,kBAAA,CAAUC,KAAV,CAAgB;IACdoB,KAAK,EAAErB,kBAAA,CAAUI,MADH;IAEdkB,MAAM,EAAEvB,mBAFM;IAGdwB,IAAI,EAAEhB;EAHQ,CAAhB,CADI,CADsC;EAQ5CiB,IAAI,EAAExB,kBAAA,CAAUK,OAAV,CACJL,kBAAA,CAAUC,KAAV,CAAgB;IACdoB,KAAK,EAAErB,kBAAA,CAAUI,MADH;IAEdkB,MAAM,EAAEvB,mBAFM;IAGdwB,IAAI,EAAEX;EAHQ,CAAhB,CADI,CARsC;EAe5Ca,MAAM,EAAEzB,kBAAA,CAAUK,OAAV,CACNL,kBAAA,CAAUC,KAAV,CAAgB;IACdoB,KAAK,EAAErB,kBAAA,CAAUI,MADH;IAEdkB,MAAM,EAAEvB,mBAFM;IAGdwB,IAAI,EAAEV;EAHQ,CAAhB,CADM;AAfoC,CAAhB,CAA9B;;AAwBA,MAAMa,oBAAoB,GAAG1B,kBAAA,CAAUC,KAAV,CAAgB;EAC3C0B,GAAG,EAAE3B,kBAAA,CAAUI,MAD4B;EAE3CwB,KAAK,EAAE5B,kBAAA,CAAUI,MAF0B;EAG3CyB,KAAK,EAAE7B,kBAAA,CAAUI,MAH0B;EAI3C0B,KAAK,EAAE9B,kBAAA,CAAUU,MAJ0B;EAK3CqB,OAAO,EAAE/B,kBAAA,CAAUkB,IALwB;EAM3Cc,KAAK,EAAEb;AANoC,CAAhB,CAA7B;;AASA,MAAMc,SAAN,SAAwBC,oBAAxB,CAAkC;EAChCC,WAAW,CAACC,KAAD,EAAQ;IACjB,MAAMA,KAAN;IACA,KAAKC,oBAAL,GAA4B,IAA5B;EACD;;EAEDC,iBAAiB,GAAG;IAClB,KAAKC,iBAAL;EACD;;EAEDC,kBAAkB,CAACC,SAAD,EAAYC,SAAZ,EAAuB;IACvC,MAAMC,eAAe,GAAGD,SAAS,CAACE,OAAV,KAAsB,KAAKC,KAAL,CAAWD,OAAzD;IACA,MAAME,eAAe,GAAGL,SAAS,CAACM,QAAV,KAAuB,KAAKX,KAAL,CAAWW,QAA1D;IACA,MAAMC,gBAAgB,GAAGP,SAAS,CAACQ,SAAV,KAAwB,KAAKb,KAAL,CAAWa,SAA5D;IACA,MAAMC,YAAY,GAChB,IAAAC,+CAAA,EAA6BV,SAAS,CAACW,KAAvC,MACA,IAAAD,+CAAA,EAA6B,KAAKf,KAAL,CAAWgB,KAAxC,CAFF;;IAIA,IACET,eAAe,IACfG,eADA,IAEAE,gBAFA,IAGAE,YAJF,EAKE;MACA,KAAKX,iBAAL;IACD;EACF;;EAEDA,iBAAiB,GAAG;IAClB,IAAI,CAAC,KAAKM,KAAL,CAAWD,OAAhB,EAAyB;MACvB;IACD;;IAED,MAAMQ,KAAK,GAAG,KAAKhB,KAAL,CAAWgB,KAAX,IAAoB,EAAlC;IAEA,MAAMC,YAAY,GAAG,IAAAC,oCAAA,EACnB,KAAKlB,KAAL,CAAWW,QADQ,EAEnB,KAAKX,KAAL,CAAWa,SAFQ,EAGnBG,KAHmB,CAArB;;IAMA,IAAI,CAACC,YAAD,IAAiBA,YAAY,KAAK,KAAKhB,oBAA3C,EAAiE;MAC/D;IACD;;IAED,KAAKA,oBAAL,GAA4BgB,YAA5B;;IACA,KAAKE,WAAL,CAAiB,aAAjB,EAAgC,CAACF,YAAD,CAAhC;EACD;;AA/C+B;;;AAkDlCpB,SAAS,CAACuB,SAAV,GAAsB,EACpB,GAAGtB,oBAAA,CAAUsB,SADO;EAEpBJ,KAAK,EAAEpD,kBAAA,CAAUK,OAAV,CAAkBqB,oBAAlB,CAFa;EAGpBuB,SAAS,EAAEjD,kBAAA,CAAUI,MAAV,CAAiBqD;AAHR,CAAtB"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_constants","_helpers","_propTypes","_MFMapView","_ui","_GeojsonStyleUtils","_jsxRuntime","e","__esModule","default","MFBanDoSo","MFMapView","constructor","props","_appliedGeojsonStyle","_isMounted","_categoryRequestId","_selectorAnim","Animated","Value","state","categoryItems","expandedGroupKeys","groupTitleByKey","groupOrderedKeys","isLegendVisible","isSelectorVisible","isSelectorMounted","_toggleItem","bind","_toggleGroupChecked","_toggleGroup","_toggleSelectorVisibility","_toggleLegendVisibility","_openSelector","_closeSelector","componentDidMount","_loadCategoryItems","_syncGeojsonStyle","componentDidUpdate","prevProps","prevState","mapReadyChanged","isReady","mapStyleChanged","mapStyle","isStagingChanged","isStaging","itemsChanged","createSelectedCategoryItemsSignature","componentWillUnmount","requestId","response","fetch","getCategoryConfigUrl","ok","Error","status","json","nextItems","resolveItemsFromCategoryResponse","groupMetadata","resolveCategoryGroupMetadataFromResponse","setState","normalizeCategoryItems","groupSections","createCategoryGroupSections","titleByKey","orderedKeys","reconcileExpandedGroupKeys","error","console","warn","targetKey","targetIndex","toggleCategoryItemChecked","groupKey","length","checkedValue","toggleCategoryGroupChecked","timing","toValue","duration","SELECTOR_OPEN_DURATION_MS","easing","Easing","out","cubic","useNativeDriver","start","SELECTOR_CLOSE_DURATION_MS","in","items","getSelectedCategoryItems","geojsonStyle","buildGeojsonStyle","getSourceUrl","_runCommand","render","hasItems","Array","isArray","showLayerButton","showSelector","showLegendButton","showLegend","selectorTitle","SELECTOR_TITLE","legendTitle","LEGEND_TITLE","backdropAnimatedStyle","opacity","interpolate","inputRange","outputRange","panelAnimatedStyle","transform","translateX","SELECTOR_DRAWER_TRANSLATE_X","jsxs","Fragment","children","jsx","LayerButton","show","isActive","onPress","LegendButton","SelectorDrawer","title","onClose","onToggleGroup","onToggleGroupChecked","onToggleItem","LegendPanel","getItemColor","item","resolveCategoryItemColor","exports","propTypes","banDoSoPropTypes","defaultProps"],"sourceRoot":"..\\..\\..\\src","sources":["components/MFBanDoSo.js"],"mappings":"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","ignoreList":[]}