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

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 +2 -2
  5. package/android/build.gradle +23 -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 +30 -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 +334 -0
  25. package/lib/commonjs/components/MFBanDoSo/styles.js.map +1 -0
  26. package/lib/commonjs/components/MFBanDoSo/ui.js +231 -0
  27. package/lib/commonjs/components/MFBanDoSo/ui.js.map +1 -0
  28. package/lib/commonjs/components/MFBanDoSo.js +201 -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 +25 -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 +332 -0
  86. package/lib/module/components/MFBanDoSo/styles.js.map +1 -0
  87. package/lib/module/components/MFBanDoSo/ui.js +224 -0
  88. package/lib/module/components/MFBanDoSo/ui.js.map +1 -0
  89. package/lib/module/components/MFBanDoSo.js +203 -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 +11 -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 +336 -0
  146. package/lib/typescript/components/MFBanDoSo/styles.d.ts.map +1 -0
  147. package/lib/typescript/components/MFBanDoSo/ui.d.ts +32 -0
  148. package/lib/typescript/components/MFBanDoSo/ui.d.ts.map +1 -0
  149. package/lib/typescript/components/MFBanDoSo.d.ts +38 -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 +38 -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 +323 -0
  202. package/src/components/MFBanDoSo/ui.js +261 -0
  203. package/src/components/MFBanDoSo.js +280 -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,231 @@
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 = _interopRequireWildcard(require("react"));
11
+ var _reactNative = require("react-native");
12
+ var _constants = require("./constants");
13
+ var _styles = require("./styles");
14
+ var _jsxRuntime = require("react/jsx-runtime");
15
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
16
+ function LayerButton({
17
+ show,
18
+ isActive,
19
+ onPress
20
+ }) {
21
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Pressable, {
22
+ style: [_styles.styles.layerButton, isActive && _styles.styles.layerButtonActive, !show && _styles.styles.hiddenButton],
23
+ onPress: onPress,
24
+ pointerEvents: show ? 'auto' : 'none',
25
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
26
+ style: _styles.styles.layerIconBoxPrimary
27
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
28
+ style: _styles.styles.layerIconBoxSecondary
29
+ })]
30
+ });
31
+ }
32
+ function LegendButton({
33
+ show,
34
+ isActive,
35
+ onPress
36
+ }) {
37
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Pressable, {
38
+ style: [_styles.styles.layerButton, _styles.styles.legendButton, isActive && _styles.styles.layerButtonActive, !show && _styles.styles.hiddenButton],
39
+ onPress: onPress,
40
+ pointerEvents: show ? 'auto' : 'none',
41
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
42
+ style: _styles.styles.legendToggleIconRow,
43
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
44
+ style: _styles.styles.legendToggleIconDot
45
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
46
+ style: _styles.styles.legendToggleIconLine
47
+ })]
48
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
49
+ style: _styles.styles.legendToggleIconRow,
50
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
51
+ style: _styles.styles.legendToggleIconDot
52
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
53
+ style: _styles.styles.legendToggleIconLine
54
+ })]
55
+ })]
56
+ });
57
+ }
58
+ function SelectorDrawer({
59
+ show,
60
+ title,
61
+ groupSections,
62
+ expandedGroupKeys,
63
+ dragAnim,
64
+ backdropAnimatedStyle,
65
+ panelAnimatedStyle,
66
+ onClose,
67
+ onDragCancel,
68
+ onToggleGroup,
69
+ onToggleGroupChecked,
70
+ onToggleItem
71
+ }) {
72
+ const panResponder = (0, _react.useRef)(_reactNative.PanResponder.create({
73
+ onMoveShouldSetPanResponder: (evt, gestureState) => Math.abs(gestureState.dx) > _constants.SELECTOR_SWIPE_ACTIVATION_DISTANCE && Math.abs(gestureState.dx) > Math.abs(gestureState.dy),
74
+ onPanResponderMove: (evt, gestureState) => {
75
+ const clampedDx = Math.min(0, gestureState.dx);
76
+ const nextValue = 1 + clampedDx / Math.abs(_constants.SELECTOR_DRAWER_TRANSLATE_X);
77
+ dragAnim.setValue(Math.max(0, Math.min(1, nextValue)));
78
+ },
79
+ onPanResponderRelease: (evt, gestureState) => {
80
+ const shouldClose = gestureState.dx < -_constants.SELECTOR_SWIPE_CLOSE_DISTANCE || gestureState.vx < -_constants.SELECTOR_SWIPE_CLOSE_VELOCITY;
81
+ if (shouldClose) {
82
+ onClose();
83
+ } else {
84
+ onDragCancel();
85
+ }
86
+ },
87
+ onPanResponderTerminate: () => {
88
+ onDragCancel();
89
+ }
90
+ })).current;
91
+ if (!show) {
92
+ return null;
93
+ }
94
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
95
+ style: _styles.styles.selectorContainer,
96
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Animated.View, {
97
+ style: [_styles.styles.selectorBackdrop, backdropAnimatedStyle],
98
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
99
+ style: _styles.styles.selectorBackdropPressable,
100
+ onPress: onClose
101
+ })
102
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Animated.View, {
103
+ style: [_styles.styles.selectorPanel, panelAnimatedStyle],
104
+ ...panResponder.panHandlers,
105
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
106
+ style: _styles.styles.selectorHeader,
107
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
108
+ style: _styles.styles.selectorTitle,
109
+ children: title
110
+ })
111
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ScrollView, {
112
+ style: _styles.styles.selectorList,
113
+ showsVerticalScrollIndicator: false,
114
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
115
+ style: _styles.styles.selectorGrid,
116
+ children: groupSections.map(group => {
117
+ const groupKey = group?.key || '__group__';
118
+ const groupTitle = group?.title || 'Khac';
119
+ const groupItems = Array.isArray(group?.items) ? group.items : [];
120
+ const isExpanded = expandedGroupKeys[groupKey] !== false;
121
+ const checkedCount = groupItems.reduce((acc, wrapped) => acc + (wrapped?.item?.checked !== false ? 1 : 0), 0);
122
+ const isGroupChecked = groupItems.length > 0 && checkedCount === groupItems.length;
123
+ const isGroupIndeterminate = checkedCount > 0 && checkedCount < groupItems.length;
124
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
125
+ style: _styles.styles.selectorGroupSection,
126
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
127
+ style: _styles.styles.selectorGroupHeader,
128
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
129
+ style: _styles.styles.selectorGroupCheckAction,
130
+ onPress: () => onToggleGroupChecked(groupKey, !isGroupChecked),
131
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
132
+ style: [_styles.styles.groupCheckOuter, isGroupChecked && _styles.styles.groupCheckOuterChecked, isGroupIndeterminate && _styles.styles.groupCheckOuterIndeterminate],
133
+ children: isGroupChecked ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
134
+ style: _styles.styles.groupCheckMark,
135
+ children: "\u2713"
136
+ }) : isGroupIndeterminate ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
137
+ style: _styles.styles.groupCheckIndeterminateMark
138
+ }) : null
139
+ })
140
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Pressable, {
141
+ style: _styles.styles.selectorGroupToggleAction,
142
+ onPress: () => onToggleGroup(groupKey),
143
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
144
+ style: [_styles.styles.selectorGroupChevronTriangle, isExpanded ? _styles.styles.selectorGroupChevronExpanded : _styles.styles.selectorGroupChevronCollapsed]
145
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
146
+ style: _styles.styles.selectorGroupTitle,
147
+ numberOfLines: 1,
148
+ children: groupTitle
149
+ })]
150
+ })]
151
+ }), isExpanded ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
152
+ style: _styles.styles.selectorGroupBody,
153
+ children: groupItems.map(({
154
+ item,
155
+ index
156
+ }) => {
157
+ const itemKey = item?.key ?? `index-${index}`;
158
+ const checked = item?.checked !== false;
159
+ const itemTitle = item?.title || item?.key || `Item ${index + 1}`;
160
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Pressable, {
161
+ style: _styles.styles.selectorRow,
162
+ onPress: () => onToggleItem(itemKey, index),
163
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
164
+ style: [_styles.styles.checkboxOuter, checked && _styles.styles.checkboxOuterChecked],
165
+ children: checked ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
166
+ style: _styles.styles.checkboxMark,
167
+ children: "\u2713"
168
+ }) : null
169
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
170
+ style: _styles.styles.selectorLabel,
171
+ children: itemTitle
172
+ })]
173
+ }, `${itemKey}-${index}`);
174
+ })
175
+ }) : null]
176
+ }, groupKey);
177
+ })
178
+ })
179
+ })]
180
+ })]
181
+ });
182
+ }
183
+ function LegendPanel({
184
+ show,
185
+ title,
186
+ items,
187
+ getItemColor
188
+ }) {
189
+ if (!show) {
190
+ return null;
191
+ }
192
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
193
+ style: _styles.styles.legendContainer,
194
+ pointerEvents: "box-none",
195
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
196
+ style: _styles.styles.legendPanel,
197
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
198
+ style: _styles.styles.legendTitle,
199
+ children: title
200
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
201
+ style: _styles.styles.legendDivider
202
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ScrollView, {
203
+ style: _styles.styles.legendList,
204
+ showsVerticalScrollIndicator: true,
205
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
206
+ style: _styles.styles.legendListInner,
207
+ children: items.map((item, index) => {
208
+ const checked = item?.checked !== false;
209
+ const itemTitle = item?.title || item?.label || item?.name || item?.key || '';
210
+ const dotColor = getItemColor(item, index);
211
+ const hasDotColor = typeof dotColor === 'string' && dotColor.trim().length > 0;
212
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
213
+ style: _styles.styles.legendRow,
214
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
215
+ style: [_styles.styles.legendDot, hasDotColor ? {
216
+ backgroundColor: dotColor,
217
+ borderColor: dotColor
218
+ } : null, !checked && !hasDotColor ? _styles.styles.legendDotUnchecked : null]
219
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
220
+ style: _styles.styles.legendLabel,
221
+ numberOfLines: 1,
222
+ children: itemTitle
223
+ })]
224
+ }, `${item?.key ?? `index-${index}`}-${index}`);
225
+ })
226
+ })
227
+ })]
228
+ })
229
+ });
230
+ }
231
+ //# sourceMappingURL=ui.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_constants","_styles","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","LayerButton","show","isActive","onPress","jsxs","Pressable","style","styles","layerButton","layerButtonActive","hiddenButton","pointerEvents","children","jsx","View","layerIconBoxPrimary","layerIconBoxSecondary","LegendButton","legendButton","legendToggleIconRow","legendToggleIconDot","legendToggleIconLine","SelectorDrawer","title","groupSections","expandedGroupKeys","dragAnim","backdropAnimatedStyle","panelAnimatedStyle","onClose","onDragCancel","onToggleGroup","onToggleGroupChecked","onToggleItem","panResponder","useRef","PanResponder","create","onMoveShouldSetPanResponder","evt","gestureState","Math","abs","dx","SELECTOR_SWIPE_ACTIVATION_DISTANCE","dy","onPanResponderMove","clampedDx","min","nextValue","SELECTOR_DRAWER_TRANSLATE_X","setValue","max","onPanResponderRelease","shouldClose","SELECTOR_SWIPE_CLOSE_DISTANCE","vx","SELECTOR_SWIPE_CLOSE_VELOCITY","onPanResponderTerminate","current","selectorContainer","Animated","selectorBackdrop","selectorBackdropPressable","selectorPanel","panHandlers","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":";;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAQA,IAAAE,UAAA,GAAAF,OAAA;AAMA,IAAAG,OAAA,GAAAH,OAAA;AAAkC,IAAAI,WAAA,GAAAJ,OAAA;AAAA,SAAAD,wBAAAM,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAR,uBAAA,YAAAA,CAAAM,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAElC,SAASkB,WAAWA,CAAC;EAAEC,IAAI;EAAEC,QAAQ;EAAEC;AAAQ,CAAC,EAAE;EAChD,oBACE,IAAAvB,WAAA,CAAAwB,IAAA,EAAC3B,YAAA,CAAA4B,SAAS;IACRC,KAAK,EAAE,CACLC,cAAM,CAACC,WAAW,EAClBN,QAAQ,IAAIK,cAAM,CAACE,iBAAiB,EACpC,CAACR,IAAI,IAAIM,cAAM,CAACG,YAAY,CAC5B;IACFP,OAAO,EAAEA,OAAQ;IACjBQ,aAAa,EAAEV,IAAI,GAAG,MAAM,GAAG,MAAO;IAAAW,QAAA,gBAEtC,IAAAhC,WAAA,CAAAiC,GAAA,EAACpC,YAAA,CAAAqC,IAAI;MAACR,KAAK,EAAEC,cAAM,CAACQ;IAAoB,CAAE,CAAC,eAC3C,IAAAnC,WAAA,CAAAiC,GAAA,EAACpC,YAAA,CAAAqC,IAAI;MAACR,KAAK,EAAEC,cAAM,CAACS;IAAsB,CAAE,CAAC;EAAA,CACpC,CAAC;AAEhB;AAEA,SAASC,YAAYA,CAAC;EAAEhB,IAAI;EAAEC,QAAQ;EAAEC;AAAQ,CAAC,EAAE;EACjD,oBACE,IAAAvB,WAAA,CAAAwB,IAAA,EAAC3B,YAAA,CAAA4B,SAAS;IACRC,KAAK,EAAE,CACLC,cAAM,CAACC,WAAW,EAClBD,cAAM,CAACW,YAAY,EACnBhB,QAAQ,IAAIK,cAAM,CAACE,iBAAiB,EACpC,CAACR,IAAI,IAAIM,cAAM,CAACG,YAAY,CAC5B;IACFP,OAAO,EAAEA,OAAQ;IACjBQ,aAAa,EAAEV,IAAI,GAAG,MAAM,GAAG,MAAO;IAAAW,QAAA,gBAEtC,IAAAhC,WAAA,CAAAwB,IAAA,EAAC3B,YAAA,CAAAqC,IAAI;MAACR,KAAK,EAAEC,cAAM,CAACY,mBAAoB;MAAAP,QAAA,gBACtC,IAAAhC,WAAA,CAAAiC,GAAA,EAACpC,YAAA,CAAAqC,IAAI;QAACR,KAAK,EAAEC,cAAM,CAACa;MAAoB,CAAE,CAAC,eAC3C,IAAAxC,WAAA,CAAAiC,GAAA,EAACpC,YAAA,CAAAqC,IAAI;QAACR,KAAK,EAAEC,cAAM,CAACc;MAAqB,CAAE,CAAC;IAAA,CACxC,CAAC,eACP,IAAAzC,WAAA,CAAAwB,IAAA,EAAC3B,YAAA,CAAAqC,IAAI;MAACR,KAAK,EAAEC,cAAM,CAACY,mBAAoB;MAAAP,QAAA,gBACtC,IAAAhC,WAAA,CAAAiC,GAAA,EAACpC,YAAA,CAAAqC,IAAI;QAACR,KAAK,EAAEC,cAAM,CAACa;MAAoB,CAAE,CAAC,eAC3C,IAAAxC,WAAA,CAAAiC,GAAA,EAACpC,YAAA,CAAAqC,IAAI;QAACR,KAAK,EAAEC,cAAM,CAACc;MAAqB,CAAE,CAAC;IAAA,CACxC,CAAC;EAAA,CACE,CAAC;AAEhB;AAEA,SAASC,cAAcA,CAAC;EACtBrB,IAAI;EACJsB,KAAK;EACLC,aAAa;EACbC,iBAAiB;EACjBC,QAAQ;EACRC,qBAAqB;EACrBC,kBAAkB;EAClBC,OAAO;EACPC,YAAY;EACZC,aAAa;EACbC,oBAAoB;EACpBC;AACF,CAAC,EAAE;EACD,MAAMC,YAAY,GAAG,IAAAC,aAAM,EACzBC,yBAAY,CAACC,MAAM,CAAC;IAClBC,2BAA2B,EAAEA,CAACC,GAAG,EAAEC,YAAY,KAC7CC,IAAI,CAACC,GAAG,CAACF,YAAY,CAACG,EAAE,CAAC,GAAGC,6CAAkC,IAC9DH,IAAI,CAACC,GAAG,CAACF,YAAY,CAACG,EAAE,CAAC,GAAGF,IAAI,CAACC,GAAG,CAACF,YAAY,CAACK,EAAE,CAAC;IACvDC,kBAAkB,EAAEA,CAACP,GAAG,EAAEC,YAAY,KAAK;MACzC,MAAMO,SAAS,GAAGN,IAAI,CAACO,GAAG,CAAC,CAAC,EAAER,YAAY,CAACG,EAAE,CAAC;MAC9C,MAAMM,SAAS,GAAG,CAAC,GAAGF,SAAS,GAAGN,IAAI,CAACC,GAAG,CAACQ,sCAA2B,CAAC;MACvExB,QAAQ,CAACyB,QAAQ,CAACV,IAAI,CAACW,GAAG,CAAC,CAAC,EAAEX,IAAI,CAACO,GAAG,CAAC,CAAC,EAAEC,SAAS,CAAC,CAAC,CAAC;IACxD,CAAC;IACDI,qBAAqB,EAAEA,CAACd,GAAG,EAAEC,YAAY,KAAK;MAC5C,MAAMc,WAAW,GACfd,YAAY,CAACG,EAAE,GAAG,CAACY,wCAA6B,IAChDf,YAAY,CAACgB,EAAE,GAAG,CAACC,wCAA6B;MAElD,IAAIH,WAAW,EAAE;QACfzB,OAAO,CAAC,CAAC;MACX,CAAC,MAAM;QACLC,YAAY,CAAC,CAAC;MAChB;IACF,CAAC;IACD4B,uBAAuB,EAAEA,CAAA,KAAM;MAC7B5B,YAAY,CAAC,CAAC;IAChB;EACF,CAAC,CACH,CAAC,CAAC6B,OAAO;EAET,IAAI,CAAC1D,IAAI,EAAE;IACT,OAAO,IAAI;EACb;EAEA,oBACE,IAAArB,WAAA,CAAAwB,IAAA,EAAC3B,YAAA,CAAAqC,IAAI;IAACR,KAAK,EAAEC,cAAM,CAACqD,iBAAkB;IAAAhD,QAAA,gBACpC,IAAAhC,WAAA,CAAAiC,GAAA,EAACpC,YAAA,CAAAoF,QAAQ,CAAC/C,IAAI;MAACR,KAAK,EAAE,CAACC,cAAM,CAACuD,gBAAgB,EAAEnC,qBAAqB,CAAE;MAAAf,QAAA,eACrE,IAAAhC,WAAA,CAAAiC,GAAA,EAACpC,YAAA,CAAA4B,SAAS;QACRC,KAAK,EAAEC,cAAM,CAACwD,yBAA0B;QACxC5D,OAAO,EAAE0B;MAAQ,CAClB;IAAC,CACW,CAAC,eAChB,IAAAjD,WAAA,CAAAwB,IAAA,EAAC3B,YAAA,CAAAoF,QAAQ,CAAC/C,IAAI;MACZR,KAAK,EAAE,CAACC,cAAM,CAACyD,aAAa,EAAEpC,kBAAkB,CAAE;MAAA,GAC9CM,YAAY,CAAC+B,WAAW;MAAArD,QAAA,gBAE5B,IAAAhC,WAAA,CAAAiC,GAAA,EAACpC,YAAA,CAAAqC,IAAI;QAACR,KAAK,EAAEC,cAAM,CAAC2D,cAAe;QAAAtD,QAAA,eACjC,IAAAhC,WAAA,CAAAiC,GAAA,EAACpC,YAAA,CAAA0F,IAAI;UAAC7D,KAAK,EAAEC,cAAM,CAAC6D,aAAc;UAAAxD,QAAA,EAAEW;QAAK,CAAO;MAAC,CAC7C,CAAC,eACP,IAAA3C,WAAA,CAAAiC,GAAA,EAACpC,YAAA,CAAA4F,UAAU;QAAC/D,KAAK,EAAEC,cAAM,CAAC+D,YAAa;QAACC,4BAA4B,EAAE,KAAM;QAAA3D,QAAA,eAC1E,IAAAhC,WAAA,CAAAiC,GAAA,EAACpC,YAAA,CAAAqC,IAAI;UAACR,KAAK,EAAEC,cAAM,CAACiE,YAAa;UAAA5D,QAAA,EAC9BY,aAAa,CAACiD,GAAG,CAAEC,KAAK,IAAK;YAC5B,MAAMC,QAAQ,GAAGD,KAAK,EAAEE,GAAG,IAAI,WAAW;YAC1C,MAAMC,UAAU,GAAGH,KAAK,EAAEnD,KAAK,IAAI,MAAM;YACzC,MAAMuD,UAAU,GAAGC,KAAK,CAACC,OAAO,CAACN,KAAK,EAAEO,KAAK,CAAC,GAAGP,KAAK,CAACO,KAAK,GAAG,EAAE;YACjE,MAAMC,UAAU,GAAGzD,iBAAiB,CAACkD,QAAQ,CAAC,KAAK,KAAK;YACxD,MAAMQ,YAAY,GAAGL,UAAU,CAACM,MAAM,CACpC,CAACC,GAAG,EAAEC,OAAO,KAAKD,GAAG,IAAIC,OAAO,EAAEC,IAAI,EAAEC,OAAO,KAAK,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,EAClE,CACF,CAAC;YACD,MAAMC,cAAc,GAAGX,UAAU,CAACY,MAAM,GAAG,CAAC,IAAIP,YAAY,KAAKL,UAAU,CAACY,MAAM;YAClF,MAAMC,oBAAoB,GACxBR,YAAY,GAAG,CAAC,IAAIA,YAAY,GAAGL,UAAU,CAACY,MAAM;YAEtD,oBACE,IAAA9G,WAAA,CAAAwB,IAAA,EAAC3B,YAAA,CAAAqC,IAAI;cAAgBR,KAAK,EAAEC,cAAM,CAACqF,oBAAqB;cAAAhF,QAAA,gBACtD,IAAAhC,WAAA,CAAAwB,IAAA,EAAC3B,YAAA,CAAAqC,IAAI;gBAACR,KAAK,EAAEC,cAAM,CAACsF,mBAAoB;gBAAAjF,QAAA,gBACtC,IAAAhC,WAAA,CAAAiC,GAAA,EAACpC,YAAA,CAAA4B,SAAS;kBACRC,KAAK,EAAEC,cAAM,CAACuF,wBAAyB;kBACvC3F,OAAO,EAAEA,CAAA,KAAM6B,oBAAoB,CAAC2C,QAAQ,EAAE,CAACc,cAAc,CAAE;kBAAA7E,QAAA,eAE/D,IAAAhC,WAAA,CAAAiC,GAAA,EAACpC,YAAA,CAAAqC,IAAI;oBACHR,KAAK,EAAE,CACLC,cAAM,CAACwF,eAAe,EACtBN,cAAc,IAAIlF,cAAM,CAACyF,sBAAsB,EAC/CL,oBAAoB,IAAIpF,cAAM,CAAC0F,4BAA4B,CAC3D;oBAAArF,QAAA,EAED6E,cAAc,gBACb,IAAA7G,WAAA,CAAAiC,GAAA,EAACpC,YAAA,CAAA0F,IAAI;sBAAC7D,KAAK,EAAEC,cAAM,CAAC2F,cAAe;sBAAAtF,QAAA,EAAC;oBAAC,CAAM,CAAC,GAC1C+E,oBAAoB,gBACtB,IAAA/G,WAAA,CAAAiC,GAAA,EAACpC,YAAA,CAAAqC,IAAI;sBAACR,KAAK,EAAEC,cAAM,CAAC4F;oBAA4B,CAAE,CAAC,GACjD;kBAAI,CACJ;gBAAC,CACE,CAAC,eACZ,IAAAvH,WAAA,CAAAwB,IAAA,EAAC3B,YAAA,CAAA4B,SAAS;kBACRC,KAAK,EAAEC,cAAM,CAAC6F,yBAA0B;kBACxCjG,OAAO,EAAEA,CAAA,KAAM4B,aAAa,CAAC4C,QAAQ,CAAE;kBAAA/D,QAAA,gBAEvC,IAAAhC,WAAA,CAAAiC,GAAA,EAACpC,YAAA,CAAAqC,IAAI;oBACHR,KAAK,EAAE,CACLC,cAAM,CAAC8F,4BAA4B,EACnCnB,UAAU,GACN3E,cAAM,CAAC+F,4BAA4B,GACnC/F,cAAM,CAACgG,6BAA6B;kBACxC,CACH,CAAC,eACF,IAAA3H,WAAA,CAAAiC,GAAA,EAACpC,YAAA,CAAA0F,IAAI;oBAAC7D,KAAK,EAAEC,cAAM,CAACiG,kBAAmB;oBAACC,aAAa,EAAE,CAAE;oBAAA7F,QAAA,EACtDiE;kBAAU,CACP,CAAC;gBAAA,CACE,CAAC;cAAA,CACR,CAAC,EAENK,UAAU,gBACT,IAAAtG,WAAA,CAAAiC,GAAA,EAACpC,YAAA,CAAAqC,IAAI;gBAACR,KAAK,EAAEC,cAAM,CAACmG,iBAAkB;gBAAA9F,QAAA,EACnCkE,UAAU,CAACL,GAAG,CAAC,CAAC;kBAAEc,IAAI;kBAAEoB;gBAAM,CAAC,KAAK;kBACnC,MAAMC,OAAO,GAAGrB,IAAI,EAAEX,GAAG,IAAI,SAAS+B,KAAK,EAAE;kBAC7C,MAAMnB,OAAO,GAAGD,IAAI,EAAEC,OAAO,KAAK,KAAK;kBACvC,MAAMqB,SAAS,GAAGtB,IAAI,EAAEhE,KAAK,IAAIgE,IAAI,EAAEX,GAAG,IAAI,QAAQ+B,KAAK,GAAG,CAAC,EAAE;kBAEjE,oBACE,IAAA/H,WAAA,CAAAwB,IAAA,EAAC3B,YAAA,CAAA4B,SAAS;oBAERC,KAAK,EAAEC,cAAM,CAACuG,WAAY;oBAC1B3G,OAAO,EAAEA,CAAA,KAAM8B,YAAY,CAAC2E,OAAO,EAAED,KAAK,CAAE;oBAAA/F,QAAA,gBAE5C,IAAAhC,WAAA,CAAAiC,GAAA,EAACpC,YAAA,CAAAqC,IAAI;sBACHR,KAAK,EAAE,CACLC,cAAM,CAACwG,aAAa,EACpBvB,OAAO,IAAIjF,cAAM,CAACyG,oBAAoB,CACtC;sBAAApG,QAAA,EAED4E,OAAO,gBACN,IAAA5G,WAAA,CAAAiC,GAAA,EAACpC,YAAA,CAAA0F,IAAI;wBAAC7D,KAAK,EAAEC,cAAM,CAAC0G,YAAa;wBAAArG,QAAA,EAAC;sBAAC,CAAM,CAAC,GACxC;oBAAI,CACJ,CAAC,eACP,IAAAhC,WAAA,CAAAiC,GAAA,EAACpC,YAAA,CAAA0F,IAAI;sBAAC7D,KAAK,EAAEC,cAAM,CAAC2G,aAAc;sBAAAtG,QAAA,EAC/BiG;oBAAS,CACN,CAAC;kBAAA,GAhBF,GAAGD,OAAO,IAAID,KAAK,EAiBf,CAAC;gBAEhB,CAAC;cAAC,CACE,CAAC,GACL,IAAI;YAAA,GApEChC,QAqEL,CAAC;UAEX,CAAC;QAAC,CACE;MAAC,CACG,CAAC;IAAA,CACA,CAAC;EAAA,CACZ,CAAC;AAEX;AAEA,SAASwC,WAAWA,CAAC;EAAElH,IAAI;EAAEsB,KAAK;EAAE0D,KAAK;EAAEmC;AAAa,CAAC,EAAE;EACzD,IAAI,CAACnH,IAAI,EAAE;IACT,OAAO,IAAI;EACb;EAEA,oBACE,IAAArB,WAAA,CAAAiC,GAAA,EAACpC,YAAA,CAAAqC,IAAI;IAACR,KAAK,EAAEC,cAAM,CAAC8G,eAAgB;IAAC1G,aAAa,EAAC,UAAU;IAAAC,QAAA,eAC3D,IAAAhC,WAAA,CAAAwB,IAAA,EAAC3B,YAAA,CAAAqC,IAAI;MAACR,KAAK,EAAEC,cAAM,CAAC+G,WAAY;MAAA1G,QAAA,gBAC9B,IAAAhC,WAAA,CAAAiC,GAAA,EAACpC,YAAA,CAAA0F,IAAI;QAAC7D,KAAK,EAAEC,cAAM,CAACgH,WAAY;QAAA3G,QAAA,EAAEW;MAAK,CAAO,CAAC,eAC/C,IAAA3C,WAAA,CAAAiC,GAAA,EAACpC,YAAA,CAAAqC,IAAI;QAACR,KAAK,EAAEC,cAAM,CAACiH;MAAc,CAAE,CAAC,eACrC,IAAA5I,WAAA,CAAAiC,GAAA,EAACpC,YAAA,CAAA4F,UAAU;QAAC/D,KAAK,EAAEC,cAAM,CAACkH,UAAW;QAAClD,4BAA4B,EAAE,IAAK;QAAA3D,QAAA,eACvE,IAAAhC,WAAA,CAAAiC,GAAA,EAACpC,YAAA,CAAAqC,IAAI;UAACR,KAAK,EAAEC,cAAM,CAACmH,eAAgB;UAAA9G,QAAA,EACjCqE,KAAK,CAACR,GAAG,CAAC,CAACc,IAAI,EAAEoB,KAAK,KAAK;YAC1B,MAAMnB,OAAO,GAAGD,IAAI,EAAEC,OAAO,KAAK,KAAK;YACvC,MAAMqB,SAAS,GACbtB,IAAI,EAAEhE,KAAK,IAAIgE,IAAI,EAAEoC,KAAK,IAAIpC,IAAI,EAAEqC,IAAI,IAAIrC,IAAI,EAAEX,GAAG,IAAI,EAAE;YAC7D,MAAMiD,QAAQ,GAAGT,YAAY,CAAC7B,IAAI,EAAEoB,KAAK,CAAC;YAC1C,MAAMmB,WAAW,GACf,OAAOD,QAAQ,KAAK,QAAQ,IAAIA,QAAQ,CAACE,IAAI,CAAC,CAAC,CAACrC,MAAM,GAAG,CAAC;YAE5D,oBACE,IAAA9G,WAAA,CAAAwB,IAAA,EAAC3B,YAAA,CAAAqC,IAAI;cAEHR,KAAK,EAAEC,cAAM,CAACyH,SAAU;cAAApH,QAAA,gBAExB,IAAAhC,WAAA,CAAAiC,GAAA,EAACpC,YAAA,CAAAqC,IAAI;gBACHR,KAAK,EAAE,CACLC,cAAM,CAAC0H,SAAS,EAChBH,WAAW,GACP;kBAAEI,eAAe,EAAEL,QAAQ;kBAAEM,WAAW,EAAEN;gBAAS,CAAC,GACpD,IAAI,EACR,CAACrC,OAAO,IAAI,CAACsC,WAAW,GAAGvH,cAAM,CAAC6H,kBAAkB,GAAG,IAAI;cAC3D,CACH,CAAC,eACF,IAAAxJ,WAAA,CAAAiC,GAAA,EAACpC,YAAA,CAAA0F,IAAI;gBAAC7D,KAAK,EAAEC,cAAM,CAAC8H,WAAY;gBAAC5B,aAAa,EAAE,CAAE;gBAAA7F,QAAA,EAC/CiG;cAAS,CACN,CAAC;YAAA,GAdF,GAAGtB,IAAI,EAAEX,GAAG,IAAI,SAAS+B,KAAK,EAAE,IAAIA,KAAK,EAe1C,CAAC;UAEX,CAAC;QAAC,CACE;MAAC,CACG,CAAC;IAAA,CACT;EAAC,CACH,CAAC;AAEX","ignoreList":[]}
@@ -4,106 +4,234 @@ 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);
41
+ this._snapSelectorOpen = this._snapSelectorOpen.bind(this);
68
42
  }
69
-
70
43
  componentDidMount() {
44
+ this._isMounted = true;
45
+ this._loadCategoryItems();
71
46
  this._syncGeojsonStyle();
72
47
  }
73
-
74
48
  componentDidUpdate(prevProps, prevState) {
75
49
  const mapReadyChanged = prevState.isReady !== this.state.isReady;
76
50
  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) {
51
+ const isStagingChanged = prevProps.isStaging !== this.props.isStaging;
52
+ if (isStagingChanged) {
53
+ this._loadCategoryItems();
54
+ }
55
+ const itemsChanged = (0, _helpers.createSelectedCategoryItemsSignature)(prevState.categoryItems) !== (0, _helpers.createSelectedCategoryItemsSignature)(this.state.categoryItems);
56
+ if (mapReadyChanged || mapStyleChanged || isStagingChanged || itemsChanged) {
81
57
  this._syncGeojsonStyle();
82
58
  }
83
59
  }
84
-
60
+ componentWillUnmount() {
61
+ this._isMounted = false;
62
+ }
63
+ async _loadCategoryItems() {
64
+ const requestId = this._categoryRequestId + 1;
65
+ this._categoryRequestId = requestId;
66
+ try {
67
+ const response = await fetch((0, _constants.getCategoryConfigUrl)(this.props.isStaging));
68
+ if (!response.ok) {
69
+ throw new Error(`Failed to fetch category config: ${response.status}`);
70
+ }
71
+ const json = await response.json();
72
+ const nextItems = (0, _helpers.resolveItemsFromCategoryResponse)(json);
73
+ const groupMetadata = (0, _helpers.resolveCategoryGroupMetadataFromResponse)(json);
74
+ if (!this._isMounted || requestId !== this._categoryRequestId) {
75
+ return;
76
+ }
77
+ this.setState(prevState => {
78
+ const categoryItems = (0, _helpers.normalizeCategoryItems)(nextItems);
79
+ const groupSections = (0, _helpers.createCategoryGroupSections)(categoryItems, groupMetadata.titleByKey, groupMetadata.orderedKeys);
80
+ return {
81
+ categoryItems,
82
+ groupTitleByKey: groupMetadata.titleByKey,
83
+ groupOrderedKeys: groupMetadata.orderedKeys,
84
+ expandedGroupKeys: (0, _helpers.reconcileExpandedGroupKeys)(groupSections, prevState.expandedGroupKeys)
85
+ };
86
+ });
87
+ } catch (error) {
88
+ if (requestId !== this._categoryRequestId) {
89
+ return;
90
+ }
91
+ console.warn('Cannot load category items', error);
92
+ }
93
+ }
94
+ _toggleItem(targetKey, targetIndex) {
95
+ this.setState(prevState => ({
96
+ categoryItems: (0, _helpers.toggleCategoryItemChecked)(prevState.categoryItems, targetKey, targetIndex)
97
+ }));
98
+ }
99
+ _toggleGroup(groupKey) {
100
+ if (typeof groupKey !== 'string' || groupKey.length === 0) {
101
+ return;
102
+ }
103
+ this.setState(prevState => ({
104
+ expandedGroupKeys: {
105
+ ...prevState.expandedGroupKeys,
106
+ [groupKey]: !(prevState.expandedGroupKeys[groupKey] !== false)
107
+ }
108
+ }));
109
+ }
110
+ _toggleGroupChecked(groupKey, checkedValue) {
111
+ this.setState(prevState => ({
112
+ categoryItems: (0, _helpers.toggleCategoryGroupChecked)(prevState.categoryItems, groupKey, checkedValue)
113
+ }));
114
+ }
115
+ _toggleSelectorVisibility() {
116
+ if (this.state.isSelectorVisible) {
117
+ this._closeSelector();
118
+ return;
119
+ }
120
+ this._openSelector();
121
+ }
122
+ _toggleLegendVisibility() {
123
+ this.setState(prevState => ({
124
+ isLegendVisible: !prevState.isLegendVisible
125
+ }));
126
+ }
127
+ _openSelector() {
128
+ this.setState({
129
+ isSelectorMounted: true,
130
+ isSelectorVisible: true
131
+ }, () => {
132
+ _reactNative.Animated.timing(this._selectorAnim, {
133
+ toValue: 1,
134
+ duration: _constants.SELECTOR_OPEN_DURATION_MS,
135
+ easing: _reactNative.Easing.out(_reactNative.Easing.cubic),
136
+ useNativeDriver: true
137
+ }).start();
138
+ });
139
+ }
140
+ _closeSelector() {
141
+ _reactNative.Animated.timing(this._selectorAnim, {
142
+ toValue: 0,
143
+ duration: _constants.SELECTOR_CLOSE_DURATION_MS,
144
+ easing: _reactNative.Easing.in(_reactNative.Easing.cubic),
145
+ useNativeDriver: true
146
+ }).start(() => {
147
+ if (!this._isMounted) {
148
+ return;
149
+ }
150
+ this.setState({
151
+ isSelectorVisible: false,
152
+ isSelectorMounted: false
153
+ });
154
+ });
155
+ }
156
+ _snapSelectorOpen() {
157
+ _reactNative.Animated.timing(this._selectorAnim, {
158
+ toValue: 1,
159
+ duration: _constants.SELECTOR_OPEN_DURATION_MS,
160
+ easing: _reactNative.Easing.out(_reactNative.Easing.cubic),
161
+ useNativeDriver: true
162
+ }).start();
163
+ }
85
164
  _syncGeojsonStyle() {
86
165
  if (!this.state.isReady) {
87
166
  return;
88
167
  }
89
-
90
- const items = this.props.items || [];
91
- const geojsonStyle = (0, _GeojsonStyleUtils.buildGeojsonStyle)(this.props.mapStyle, this.props.sourceUrl, items);
92
-
168
+ const items = (0, _helpers.getSelectedCategoryItems)(this.state.categoryItems);
169
+ const geojsonStyle = (0, _GeojsonStyleUtils.buildGeojsonStyle)(this.props.mapStyle, (0, _constants.getSourceUrl)(this.props.isStaging), items);
93
170
  if (!geojsonStyle || geojsonStyle === this._appliedGeojsonStyle) {
94
171
  return;
95
172
  }
96
-
97
173
  this._appliedGeojsonStyle = geojsonStyle;
98
-
99
174
  this._runCommand('setMapStyle', [geojsonStyle]);
100
175
  }
101
-
176
+ render() {
177
+ const items = this.state.categoryItems;
178
+ const groupSections = (0, _helpers.createCategoryGroupSections)(items, this.state.groupTitleByKey, this.state.groupOrderedKeys);
179
+ const hasItems = Array.isArray(items) && items.length > 0;
180
+ const showLayerButton = hasItems;
181
+ const showSelector = this.state.isSelectorMounted && hasItems;
182
+ const showLegendButton = hasItems;
183
+ const showLegend = this.state.isLegendVisible && hasItems;
184
+ const selectorTitle = _constants.SELECTOR_TITLE;
185
+ const legendTitle = _constants.LEGEND_TITLE;
186
+ const backdropAnimatedStyle = {
187
+ opacity: this._selectorAnim.interpolate({
188
+ inputRange: [0, 1],
189
+ outputRange: [0, 1]
190
+ })
191
+ };
192
+ const panelAnimatedStyle = {
193
+ transform: [{
194
+ translateX: this._selectorAnim.interpolate({
195
+ inputRange: [0, 1],
196
+ outputRange: [_constants.SELECTOR_DRAWER_TRANSLATE_X, 0]
197
+ })
198
+ }]
199
+ };
200
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_react.default.Fragment, {
201
+ children: [super.render(), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ui.LayerButton, {
202
+ show: showLayerButton,
203
+ isActive: this.state.isSelectorVisible,
204
+ onPress: this._toggleSelectorVisibility
205
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ui.LegendButton, {
206
+ show: showLegendButton,
207
+ isActive: this.state.isLegendVisible,
208
+ onPress: this._toggleLegendVisibility
209
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ui.SelectorDrawer, {
210
+ show: showSelector,
211
+ title: selectorTitle,
212
+ groupSections: groupSections,
213
+ expandedGroupKeys: this.state.expandedGroupKeys,
214
+ dragAnim: this._selectorAnim,
215
+ backdropAnimatedStyle: backdropAnimatedStyle,
216
+ panelAnimatedStyle: panelAnimatedStyle,
217
+ onClose: this._toggleSelectorVisibility,
218
+ onDragCancel: this._snapSelectorOpen,
219
+ onToggleGroup: this._toggleGroup,
220
+ onToggleGroupChecked: this._toggleGroupChecked,
221
+ onToggleItem: this._toggleItem
222
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ui.LegendPanel, {
223
+ show: showLegend,
224
+ title: legendTitle,
225
+ items: items,
226
+ getItemColor: item => (0, _helpers.resolveCategoryItemColor)(item)
227
+ })]
228
+ });
229
+ }
102
230
  }
103
-
104
231
  exports.MFBanDoSo = MFBanDoSo;
105
- MFBanDoSo.propTypes = { ..._MFMapView.MFMapView.propTypes,
106
- items: _propTypes.default.arrayOf(CategoryItemPropType),
107
- sourceUrl: _propTypes.default.string.isRequired
232
+ MFBanDoSo.propTypes = _propTypes.banDoSoPropTypes;
233
+ MFBanDoSo.defaultProps = {
234
+ ..._MFMapView.MFMapView.defaultProps,
235
+ isStaging: true
108
236
  };
109
237
  //# 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":"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"}
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","_snapSelectorOpen","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","dragAnim","onClose","onDragCancel","onToggleGroup","onToggleGroupChecked","onToggleItem","LegendPanel","getItemColor","item","resolveCategoryItemColor","exports","propTypes","banDoSoPropTypes","defaultProps"],"sourceRoot":"..\\..\\..\\src","sources":["components/MFBanDoSo.js"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAIA,IAAAE,UAAA,GAAAF,OAAA;AASA,IAAAG,QAAA,GAAAH,OAAA;AAYA,IAAAI,UAAA,GAAAJ,OAAA;AAGA,IAAAK,UAAA,GAAAL,OAAA;AACA,IAAAM,GAAA,GAAAN,OAAA;AAMA,IAAAO,kBAAA,GAAAP,OAAA;AAEsC,IAAAQ,WAAA,GAAAR,OAAA;AAAA,SAAAD,uBAAAU,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEtC,MAAMG,SAAS,SAASC,oBAAS,CAAC;EAChCC,WAAWA,CAACC,KAAK,EAAE;IACjB,KAAK,CAACA,KAAK,CAAC;IACZ,IAAI,CAACC,oBAAoB,GAAG,IAAI;IAChC,IAAI,CAACC,UAAU,GAAG,KAAK;IACvB,IAAI,CAACC,kBAAkB,GAAG,CAAC;IAC3B,IAAI,CAACC,aAAa,GAAG,IAAIC,qBAAQ,CAACC,KAAK,CAAC,CAAC,CAAC;IAC1C,IAAI,CAACC,KAAK,GAAG;MACX,GAAG,IAAI,CAACA,KAAK;MACbC,aAAa,EAAE,EAAE;MACjBC,iBAAiB,EAAE,CAAC,CAAC;MACrBC,eAAe,EAAE,CAAC,CAAC;MACnBC,gBAAgB,EAAE,EAAE;MACpBC,eAAe,EAAE,KAAK;MACtBC,iBAAiB,EAAE,KAAK;MACxBC,iBAAiB,EAAE;IACrB,CAAC;IAED,IAAI,CAACC,WAAW,GAAG,IAAI,CAACA,WAAW,CAACC,IAAI,CAAC,IAAI,CAAC;IAC9C,IAAI,CAACC,mBAAmB,GAAG,IAAI,CAACA,mBAAmB,CAACD,IAAI,CAAC,IAAI,CAAC;IAC9D,IAAI,CAACE,YAAY,GAAG,IAAI,CAACA,YAAY,CAACF,IAAI,CAAC,IAAI,CAAC;IAChD,IAAI,CAACG,yBAAyB,GAAG,IAAI,CAACA,yBAAyB,CAACH,IAAI,CAAC,IAAI,CAAC;IAC1E,IAAI,CAACI,uBAAuB,GAAG,IAAI,CAACA,uBAAuB,CAACJ,IAAI,CAAC,IAAI,CAAC;IACtE,IAAI,CAACK,aAAa,GAAG,IAAI,CAACA,aAAa,CAACL,IAAI,CAAC,IAAI,CAAC;IAClD,IAAI,CAACM,cAAc,GAAG,IAAI,CAACA,cAAc,CAACN,IAAI,CAAC,IAAI,CAAC;IACpD,IAAI,CAACO,iBAAiB,GAAG,IAAI,CAACA,iBAAiB,CAACP,IAAI,CAAC,IAAI,CAAC;EAC5D;EAEAQ,iBAAiBA,CAAA,EAAG;IAClB,IAAI,CAACtB,UAAU,GAAG,IAAI;IACtB,IAAI,CAACuB,kBAAkB,CAAC,CAAC;IACzB,IAAI,CAACC,iBAAiB,CAAC,CAAC;EAC1B;EAEAC,kBAAkBA,CAACC,SAAS,EAAEC,SAAS,EAAE;IACvC,MAAMC,eAAe,GAAGD,SAAS,CAACE,OAAO,KAAK,IAAI,CAACxB,KAAK,CAACwB,OAAO;IAChE,MAAMC,eAAe,GAAGJ,SAAS,CAACK,QAAQ,KAAK,IAAI,CAACjC,KAAK,CAACiC,QAAQ;IAClE,MAAMC,gBAAgB,GAAGN,SAAS,CAACO,SAAS,KAAK,IAAI,CAACnC,KAAK,CAACmC,SAAS;IAErE,IAAID,gBAAgB,EAAE;MACpB,IAAI,CAACT,kBAAkB,CAAC,CAAC;IAC3B;IAEA,MAAMW,YAAY,GAChB,IAAAC,6CAAoC,EAACR,SAAS,CAACrB,aAAa,CAAC,KAC7D,IAAA6B,6CAAoC,EAAC,IAAI,CAAC9B,KAAK,CAACC,aAAa,CAAC;IAEhE,IAAIsB,eAAe,IAAIE,eAAe,IAAIE,gBAAgB,IAAIE,YAAY,EAAE;MAC1E,IAAI,CAACV,iBAAiB,CAAC,CAAC;IAC1B;EACF;EAEAY,oBAAoBA,CAAA,EAAG;IACrB,IAAI,CAACpC,UAAU,GAAG,KAAK;EACzB;EAEA,MAAMuB,kBAAkBA,CAAA,EAAG;IACzB,MAAMc,SAAS,GAAG,IAAI,CAACpC,kBAAkB,GAAG,CAAC;IAC7C,IAAI,CAACA,kBAAkB,GAAGoC,SAAS;IAEnC,IAAI;MACF,MAAMC,QAAQ,GAAG,MAAMC,KAAK,CAAC,IAAAC,+BAAoB,EAAC,IAAI,CAAC1C,KAAK,CAACmC,SAAS,CAAC,CAAC;MACxE,IAAI,CAACK,QAAQ,CAACG,EAAE,EAAE;QAChB,MAAM,IAAIC,KAAK,CAAC,oCAAoCJ,QAAQ,CAACK,MAAM,EAAE,CAAC;MACxE;MAEA,MAAMC,IAAI,GAAG,MAAMN,QAAQ,CAACM,IAAI,CAAC,CAAC;MAClC,MAAMC,SAAS,GAAG,IAAAC,yCAAgC,EAACF,IAAI,CAAC;MACxD,MAAMG,aAAa,GAAG,IAAAC,iDAAwC,EAACJ,IAAI,CAAC;MAEpE,IAAI,CAAC,IAAI,CAAC5C,UAAU,IAAIqC,SAAS,KAAK,IAAI,CAACpC,kBAAkB,EAAE;QAC7D;MACF;MAEA,IAAI,CAACgD,QAAQ,CAAEtB,SAAS,IAAK;QAC3B,MAAMrB,aAAa,GAAG,IAAA4C,+BAAsB,EAACL,SAAS,CAAC;QACvD,MAAMM,aAAa,GAAG,IAAAC,oCAA2B,EAC/C9C,aAAa,EACbyC,aAAa,CAACM,UAAU,EACxBN,aAAa,CAACO,WAChB,CAAC;QAED,OAAO;UACLhD,aAAa;UACbE,eAAe,EAAEuC,aAAa,CAACM,UAAU;UACzC5C,gBAAgB,EAAEsC,aAAa,CAACO,WAAW;UAC3C/C,iBAAiB,EAAE,IAAAgD,mCAA0B,EAC3CJ,aAAa,EACbxB,SAAS,CAACpB,iBACZ;QACF,CAAC;MACH,CAAC,CAAC;IACJ,CAAC,CAAC,OAAOiD,KAAK,EAAE;MACd,IAAInB,SAAS,KAAK,IAAI,CAACpC,kBAAkB,EAAE;QACzC;MACF;MACAwD,OAAO,CAACC,IAAI,CAAC,4BAA4B,EAAEF,KAAK,CAAC;IACnD;EACF;EAEA3C,WAAWA,CAAC8C,SAAS,EAAEC,WAAW,EAAE;IAClC,IAAI,CAACX,QAAQ,CAAEtB,SAAS,KAAM;MAC5BrB,aAAa,EAAE,IAAAuD,kCAAyB,EACtClC,SAAS,CAACrB,aAAa,EACvBqD,SAAS,EACTC,WACF;IACF,CAAC,CAAC,CAAC;EACL;EAEA5C,YAAYA,CAAC8C,QAAQ,EAAE;IACrB,IAAI,OAAOA,QAAQ,KAAK,QAAQ,IAAIA,QAAQ,CAACC,MAAM,KAAK,CAAC,EAAE;MACzD;IACF;IAEA,IAAI,CAACd,QAAQ,CAAEtB,SAAS,KAAM;MAC5BpB,iBAAiB,EAAE;QACjB,GAAGoB,SAAS,CAACpB,iBAAiB;QAC9B,CAACuD,QAAQ,GAAG,EAAEnC,SAAS,CAACpB,iBAAiB,CAACuD,QAAQ,CAAC,KAAK,KAAK;MAC/D;IACF,CAAC,CAAC,CAAC;EACL;EAEA/C,mBAAmBA,CAAC+C,QAAQ,EAAEE,YAAY,EAAE;IAC1C,IAAI,CAACf,QAAQ,CAAEtB,SAAS,KAAM;MAC5BrB,aAAa,EAAE,IAAA2D,mCAA0B,EACvCtC,SAAS,CAACrB,aAAa,EACvBwD,QAAQ,EACRE,YACF;IACF,CAAC,CAAC,CAAC;EACL;EAEA/C,yBAAyBA,CAAA,EAAG;IAC1B,IAAI,IAAI,CAACZ,KAAK,CAACM,iBAAiB,EAAE;MAChC,IAAI,CAACS,cAAc,CAAC,CAAC;MACrB;IACF;IAEA,IAAI,CAACD,aAAa,CAAC,CAAC;EACtB;EAEAD,uBAAuBA,CAAA,EAAG;IACxB,IAAI,CAAC+B,QAAQ,CAAEtB,SAAS,KAAM;MAC5BjB,eAAe,EAAE,CAACiB,SAAS,CAACjB;IAC9B,CAAC,CAAC,CAAC;EACL;EAEAS,aAAaA,CAAA,EAAG;IACd,IAAI,CAAC8B,QAAQ,CAAC;MACZrC,iBAAiB,EAAE,IAAI;MACvBD,iBAAiB,EAAE;IACrB,CAAC,EAAE,MAAM;MACPR,qBAAQ,CAAC+D,MAAM,CAAC,IAAI,CAAChE,aAAa,EAAE;QAClCiE,OAAO,EAAE,CAAC;QACVC,QAAQ,EAAEC,oCAAyB;QACnCC,MAAM,EAAEC,mBAAM,CAACC,GAAG,CAACD,mBAAM,CAACE,KAAK,CAAC;QAChCC,eAAe,EAAE;MACnB,CAAC,CAAC,CAACC,KAAK,CAAC,CAAC;IACZ,CAAC,CAAC;EACJ;EAEAvD,cAAcA,CAAA,EAAG;IACfjB,qBAAQ,CAAC+D,MAAM,CAAC,IAAI,CAAChE,aAAa,EAAE;MAClCiE,OAAO,EAAE,CAAC;MACVC,QAAQ,EAAEQ,qCAA0B;MACpCN,MAAM,EAAEC,mBAAM,CAACM,EAAE,CAACN,mBAAM,CAACE,KAAK,CAAC;MAC/BC,eAAe,EAAE;IACnB,CAAC,CAAC,CAACC,KAAK,CAAC,MAAM;MACb,IAAI,CAAC,IAAI,CAAC3E,UAAU,EAAE;QACpB;MACF;MAEA,IAAI,CAACiD,QAAQ,CAAC;QACZtC,iBAAiB,EAAE,KAAK;QACxBC,iBAAiB,EAAE;MACrB,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ;EAEAS,iBAAiBA,CAAA,EAAG;IAClBlB,qBAAQ,CAAC+D,MAAM,CAAC,IAAI,CAAChE,aAAa,EAAE;MAClCiE,OAAO,EAAE,CAAC;MACVC,QAAQ,EAAEC,oCAAyB;MACnCC,MAAM,EAAEC,mBAAM,CAACC,GAAG,CAACD,mBAAM,CAACE,KAAK,CAAC;MAChCC,eAAe,EAAE;IACnB,CAAC,CAAC,CAACC,KAAK,CAAC,CAAC;EACZ;EAEAnD,iBAAiBA,CAAA,EAAG;IAClB,IAAI,CAAC,IAAI,CAACnB,KAAK,CAACwB,OAAO,EAAE;MACvB;IACF;IAEA,MAAMiD,KAAK,GAAG,IAAAC,iCAAwB,EAAC,IAAI,CAAC1E,KAAK,CAACC,aAAa,CAAC;IAEhE,MAAM0E,YAAY,GAAG,IAAAC,oCAAiB,EACpC,IAAI,CAACnF,KAAK,CAACiC,QAAQ,EACnB,IAAAmD,uBAAY,EAAC,IAAI,CAACpF,KAAK,CAACmC,SAAS,CAAC,EAClC6C,KACF,CAAC;IAED,IAAI,CAACE,YAAY,IAAIA,YAAY,KAAK,IAAI,CAACjF,oBAAoB,EAAE;MAC/D;IACF;IAEA,IAAI,CAACA,oBAAoB,GAAGiF,YAAY;IACxC,IAAI,CAACG,WAAW,CAAC,aAAa,EAAE,CAACH,YAAY,CAAC,CAAC;EACjD;EAEAI,MAAMA,CAAA,EAAG;IACP,MAAMN,KAAK,GAAG,IAAI,CAACzE,KAAK,CAACC,aAAa;IACtC,MAAM6C,aAAa,GAAG,IAAAC,oCAA2B,EAC/C0B,KAAK,EACL,IAAI,CAACzE,KAAK,CAACG,eAAe,EAC1B,IAAI,CAACH,KAAK,CAACI,gBACb,CAAC;IACD,MAAM4E,QAAQ,GAAGC,KAAK,CAACC,OAAO,CAACT,KAAK,CAAC,IAAIA,KAAK,CAACf,MAAM,GAAG,CAAC;IACzD,MAAMyB,eAAe,GAAGH,QAAQ;IAChC,MAAMI,YAAY,GAAG,IAAI,CAACpF,KAAK,CAACO,iBAAiB,IAAIyE,QAAQ;IAC7D,MAAMK,gBAAgB,GAAGL,QAAQ;IACjC,MAAMM,UAAU,GAAG,IAAI,CAACtF,KAAK,CAACK,eAAe,IAAI2E,QAAQ;IACzD,MAAMO,aAAa,GAAGC,yBAAc;IACpC,MAAMC,WAAW,GAAGC,uBAAY;IAChC,MAAMC,qBAAqB,GAAG;MAC5BC,OAAO,EAAE,IAAI,CAAC/F,aAAa,CAACgG,WAAW,CAAC;QACtCC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAClBC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC;MACpB,CAAC;IACH,CAAC;IACD,MAAMC,kBAAkB,GAAG;MACzBC,SAAS,EAAE,CACT;QACEC,UAAU,EAAE,IAAI,CAACrG,aAAa,CAACgG,WAAW,CAAC;UACzCC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;UAClBC,WAAW,EAAE,CAACI,sCAA2B,EAAE,CAAC;QAC9C,CAAC;MACH,CAAC;IAEL,CAAC;IAED,oBACE,IAAAjH,WAAA,CAAAkH,IAAA,EAAC5H,MAAA,CAAAa,OAAK,CAACgH,QAAQ;MAAAC,QAAA,GACZ,KAAK,CAACvB,MAAM,CAAC,CAAC,eACf,IAAA7F,WAAA,CAAAqH,GAAA,EAACvH,GAAA,CAAAwH,WAAW;QACVC,IAAI,EAAEtB,eAAgB;QACtBuB,QAAQ,EAAE,IAAI,CAAC1G,KAAK,CAACM,iBAAkB;QACvCqG,OAAO,EAAE,IAAI,CAAC/F;MAA0B,CACzC,CAAC,eACF,IAAA1B,WAAA,CAAAqH,GAAA,EAACvH,GAAA,CAAA4H,YAAY;QACXH,IAAI,EAAEpB,gBAAiB;QACvBqB,QAAQ,EAAE,IAAI,CAAC1G,KAAK,CAACK,eAAgB;QACrCsG,OAAO,EAAE,IAAI,CAAC9F;MAAwB,CACvC,CAAC,eACF,IAAA3B,WAAA,CAAAqH,GAAA,EAACvH,GAAA,CAAA6H,cAAc;QACbJ,IAAI,EAAErB,YAAa;QACnB0B,KAAK,EAAEvB,aAAc;QACrBzC,aAAa,EAAEA,aAAc;QAC7B5C,iBAAiB,EAAE,IAAI,CAACF,KAAK,CAACE,iBAAkB;QAChD6G,QAAQ,EAAE,IAAI,CAAClH,aAAc;QAC7B8F,qBAAqB,EAAEA,qBAAsB;QAC7CK,kBAAkB,EAAEA,kBAAmB;QACvCgB,OAAO,EAAE,IAAI,CAACpG,yBAA0B;QACxCqG,YAAY,EAAE,IAAI,CAACjG,iBAAkB;QACrCkG,aAAa,EAAE,IAAI,CAACvG,YAAa;QACjCwG,oBAAoB,EAAE,IAAI,CAACzG,mBAAoB;QAC/C0G,YAAY,EAAE,IAAI,CAAC5G;MAAY,CAChC,CAAC,eACF,IAAAtB,WAAA,CAAAqH,GAAA,EAACvH,GAAA,CAAAqI,WAAW;QACVZ,IAAI,EAAEnB,UAAW;QACjBwB,KAAK,EAAErB,WAAY;QACnBhB,KAAK,EAAEA,KAAM;QACb6C,YAAY,EAAGC,IAAI,IAAK,IAAAC,iCAAwB,EAACD,IAAI;MAAE,CACxD,CAAC;IAAA,CACY,CAAC;EAErB;AACF;AAACE,OAAA,CAAAnI,SAAA,GAAAA,SAAA;AAEDA,SAAS,CAACoI,SAAS,GAAGC,2BAAgB;AACtCrI,SAAS,CAACsI,YAAY,GAAG;EACvB,GAAGrI,oBAAS,CAACqI,YAAY;EACzBhG,SAAS,EAAE;AACb,CAAC","ignoreList":[]}