react-spatial 1.2.0 → 1.2.3-beta.2

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 (185) hide show
  1. package/LayerService.js +128 -184
  2. package/LayerService.js.map +7 -1
  3. package/Projections.js +29 -12
  4. package/Projections.js.map +7 -1
  5. package/components/BaseLayerSwitcher/BaseLayerSwitcher.js +163 -221
  6. package/components/BaseLayerSwitcher/BaseLayerSwitcher.js.map +7 -1
  7. package/components/BaseLayerSwitcher/index.js +1 -3
  8. package/components/BaseLayerSwitcher/index.js.map +7 -1
  9. package/components/BasicMap/BasicMap.js +147 -285
  10. package/components/BasicMap/BasicMap.js.map +7 -1
  11. package/components/BasicMap/index.js +1 -3
  12. package/components/BasicMap/index.js.map +7 -1
  13. package/components/CanvasSaveButton/CanvasSaveButton.js +165 -419
  14. package/components/CanvasSaveButton/CanvasSaveButton.js.map +7 -1
  15. package/components/CanvasSaveButton/index.js +1 -3
  16. package/components/CanvasSaveButton/index.js.map +7 -1
  17. package/components/Copyright/Copyright.js +29 -70
  18. package/components/Copyright/Copyright.js.map +7 -1
  19. package/components/Copyright/index.js +1 -3
  20. package/components/Copyright/index.js.map +7 -1
  21. package/components/FeatureExportButton/FeatureExportButton.js +40 -106
  22. package/components/FeatureExportButton/FeatureExportButton.js.map +7 -1
  23. package/components/FeatureExportButton/index.js +1 -3
  24. package/components/FeatureExportButton/index.js.map +7 -1
  25. package/components/FilterButton/FilterButton.js +41 -106
  26. package/components/FilterButton/FilterButton.js.map +7 -1
  27. package/components/FilterButton/index.js +1 -3
  28. package/components/FilterButton/index.js.map +7 -1
  29. package/components/FitExtent/FitExtent.js +17 -50
  30. package/components/FitExtent/FitExtent.js.map +7 -1
  31. package/components/FitExtent/index.js +1 -3
  32. package/components/FitExtent/index.js.map +7 -1
  33. package/components/FollowButton/FollowButton.js +41 -111
  34. package/components/FollowButton/FollowButton.js.map +7 -1
  35. package/components/FollowButton/index.js +1 -3
  36. package/components/FollowButton/index.js.map +7 -1
  37. package/components/Geolocation/Geolocation.js +104 -213
  38. package/components/Geolocation/Geolocation.js.map +7 -1
  39. package/components/Geolocation/index.js +1 -3
  40. package/components/Geolocation/index.js.map +7 -1
  41. package/components/LayerTree/LayerTree.js +207 -397
  42. package/components/LayerTree/LayerTree.js.map +7 -1
  43. package/components/LayerTree/index.js +1 -3
  44. package/components/LayerTree/index.js.map +7 -1
  45. package/components/MousePosition/MousePosition.js +61 -130
  46. package/components/MousePosition/MousePosition.js.map +7 -1
  47. package/components/MousePosition/index.js +1 -3
  48. package/components/MousePosition/index.js.map +7 -1
  49. package/components/NorthArrow/NorthArrow.js +22 -62
  50. package/components/NorthArrow/NorthArrow.js.map +7 -1
  51. package/components/NorthArrow/index.js +1 -3
  52. package/components/NorthArrow/index.js.map +7 -1
  53. package/components/Overlay/Overlay.js +85 -132
  54. package/components/Overlay/Overlay.js.map +7 -1
  55. package/components/Overlay/index.js +1 -3
  56. package/components/Overlay/index.js.map +7 -1
  57. package/components/Permalink/Permalink.js +151 -231
  58. package/components/Permalink/Permalink.js.map +7 -1
  59. package/components/Permalink/index.js +1 -3
  60. package/components/Permalink/index.js.map +7 -1
  61. package/components/Popup/Popup.js +106 -233
  62. package/components/Popup/Popup.js.map +7 -1
  63. package/components/Popup/index.js +1 -3
  64. package/components/Popup/index.js.map +7 -1
  65. package/components/ResizeHandler/ResizeHandler.js +60 -115
  66. package/components/ResizeHandler/ResizeHandler.js.map +7 -1
  67. package/components/ResizeHandler/index.js +1 -3
  68. package/components/ResizeHandler/index.js.map +7 -1
  69. package/components/RouteSchedule/RouteSchedule.js +153 -285
  70. package/components/RouteSchedule/RouteSchedule.js.map +7 -1
  71. package/components/RouteSchedule/index.js +1 -3
  72. package/components/RouteSchedule/index.js.map +7 -1
  73. package/components/ScaleLine/ScaleLine.js +21 -45
  74. package/components/ScaleLine/ScaleLine.js.map +7 -1
  75. package/components/ScaleLine/index.js +1 -3
  76. package/components/ScaleLine/index.js.map +7 -1
  77. package/components/Search/Search.js +122 -186
  78. package/components/Search/Search.js.map +7 -1
  79. package/components/Search/SearchService.js +45 -69
  80. package/components/Search/SearchService.js.map +7 -1
  81. package/components/Search/engines/Engine.js +18 -25
  82. package/components/Search/engines/Engine.js.map +7 -1
  83. package/components/Search/engines/StopFinder.js +21 -38
  84. package/components/Search/engines/StopFinder.js.map +7 -1
  85. package/components/Search/index.js +3 -6
  86. package/components/Search/index.js.map +7 -1
  87. package/components/StopsFinder/StopsFinder.js +123 -174
  88. package/components/StopsFinder/StopsFinder.js.map +7 -1
  89. package/components/StopsFinder/StopsFinderOption.js +37 -54
  90. package/components/StopsFinder/StopsFinderOption.js.map +7 -1
  91. package/components/StopsFinder/index.js +1 -3
  92. package/components/StopsFinder/index.js.map +7 -1
  93. package/components/TrackerControl/TrackerControl.js +73 -128
  94. package/components/TrackerControl/TrackerControl.js.map +7 -1
  95. package/components/TrackerControl/index.js +1 -3
  96. package/components/TrackerControl/index.js.map +7 -1
  97. package/components/Zoom/Zoom.js +69 -112
  98. package/components/Zoom/Zoom.js.map +7 -1
  99. package/components/Zoom/index.js +1 -3
  100. package/components/Zoom/index.js.map +7 -1
  101. package/package.json +20 -15
  102. package/propTypes.js +17 -23
  103. package/propTypes.js.map +7 -1
  104. package/setupTests.js +2 -4
  105. package/setupTests.js.map +7 -1
  106. package/themes/default/components.scss +0 -1
  107. package/themes/default/examples.scss +0 -1
  108. package/utils/GlobalsForOle.js +63 -64
  109. package/utils/GlobalsForOle.js.map +7 -1
  110. package/utils/KML.js +178 -364
  111. package/utils/KML.js.map +7 -1
  112. package/utils/KMLFormat.js +37 -73
  113. package/utils/KMLFormat.js.map +7 -1
  114. package/utils/Styles.js +24 -32
  115. package/utils/Styles.js.map +7 -1
  116. package/utils/getPolygonPattern.js +11 -44
  117. package/utils/getPolygonPattern.js.map +7 -1
  118. package/utils/timeUtils.js +16 -35
  119. package/utils/timeUtils.js.map +7 -1
  120. package/LayerService.test.js +0 -160
  121. package/LayerService.test.js.map +0 -1
  122. package/components/BaseLayerSwitcher/BaseLayerSwitcher.test.js +0 -88
  123. package/components/BaseLayerSwitcher/BaseLayerSwitcher.test.js.map +0 -1
  124. package/components/BaseLayerToggler/BaseLayerToggler.js +0 -490
  125. package/components/BaseLayerToggler/BaseLayerToggler.js.map +0 -1
  126. package/components/BaseLayerToggler/BaseLayerToggler.md.scss +0 -9
  127. package/components/BaseLayerToggler/BaseLayerToggler.scss +0 -49
  128. package/components/BaseLayerToggler/BaseLayerToggler.test.js +0 -127
  129. package/components/BaseLayerToggler/BaseLayerToggler.test.js.map +0 -1
  130. package/components/BaseLayerToggler/index.js +0 -3
  131. package/components/BaseLayerToggler/index.js.map +0 -1
  132. package/components/BasicMap/BasicMap.test.js +0 -288
  133. package/components/BasicMap/BasicMap.test.js.map +0 -1
  134. package/components/CanvasSaveButton/CanvasSaveButton.test.js +0 -173
  135. package/components/CanvasSaveButton/CanvasSaveButton.test.js.map +0 -1
  136. package/components/Copyright/Copyright.test.js +0 -133
  137. package/components/Copyright/Copyright.test.js.map +0 -1
  138. package/components/FeatureExportButton/FeatureExportButton.test.js +0 -407
  139. package/components/FeatureExportButton/FeatureExportButton.test.js.map +0 -1
  140. package/components/FilterButton/FilterButton.test.js +0 -48
  141. package/components/FilterButton/FilterButton.test.js.map +0 -1
  142. package/components/FitExtent/FitExtent.test.js +0 -44
  143. package/components/FitExtent/FitExtent.test.js.map +0 -1
  144. package/components/FollowButton/FollowButton.test.js +0 -57
  145. package/components/FollowButton/FollowButton.test.js.map +0 -1
  146. package/components/Geolocation/Geolocation.test.js +0 -263
  147. package/components/Geolocation/Geolocation.test.js.map +0 -1
  148. package/components/LayerTree/LayerTree.test.js +0 -323
  149. package/components/LayerTree/LayerTree.test.js.map +0 -1
  150. package/components/MousePosition/MousePosition.test.js +0 -125
  151. package/components/MousePosition/MousePosition.test.js.map +0 -1
  152. package/components/NorthArrow/NorthArrow.test.js +0 -106
  153. package/components/NorthArrow/NorthArrow.test.js.map +0 -1
  154. package/components/Overlay/Overlay.test.js +0 -145
  155. package/components/Overlay/Overlay.test.js.map +0 -1
  156. package/components/Permalink/Permalink.test.js +0 -267
  157. package/components/Permalink/Permalink.test.js.map +0 -1
  158. package/components/Popup/Popup.test.js +0 -291
  159. package/components/Popup/Popup.test.js.map +0 -1
  160. package/components/ResizeHandler/ResizeHandler.test.js +0 -410
  161. package/components/ResizeHandler/ResizeHandler.test.js.map +0 -1
  162. package/components/RouteSchedule/RouteSchedule.test.js +0 -102
  163. package/components/RouteSchedule/RouteSchedule.test.js.map +0 -1
  164. package/components/ScaleLine/ScaleLine.test.js +0 -32
  165. package/components/ScaleLine/ScaleLine.test.js.map +0 -1
  166. package/components/Search/Search.test.js +0 -15
  167. package/components/Search/Search.test.js.map +0 -1
  168. package/components/StopsFinder/StopsFinder.test.js +0 -19
  169. package/components/StopsFinder/StopsFinder.test.js.map +0 -1
  170. package/components/TrackerControl/TrackerControl.test.js +0 -17
  171. package/components/TrackerControl/TrackerControl.test.js.map +0 -1
  172. package/components/Zoom/Zoom.test.js +0 -150
  173. package/components/Zoom/Zoom.test.js.map +0 -1
  174. package/styleguidist/ComponentsList.js +0 -52
  175. package/styleguidist/ComponentsList.js.map +0 -1
  176. package/styleguidist/StyleGuide.js +0 -253
  177. package/styleguidist/StyleGuide.js.map +0 -1
  178. package/utils/KML.test.js +0 -163
  179. package/utils/KML.test.js.map +0 -1
  180. package/utils/KMLFormat.test.js +0 -22
  181. package/utils/KMLFormat.test.js.map +0 -1
  182. package/utils/getPolygonPattern.test.js +0 -66
  183. package/utils/getPolygonPattern.test.js.map +0 -1
  184. package/utils/timeUtils.test.js +0 -32
  185. package/utils/timeUtils.test.js.map +0 -1
@@ -1,163 +1,120 @@
1
- function objectWithoutProperties (obj, exclude) { var target = {}; for (var k in obj) if (Object.prototype.hasOwnProperty.call(obj, k) && exclude.indexOf(k) === -1) target[k] = obj[k]; return target; }
2
1
  import React, {
3
2
  useEffect,
4
3
  useRef,
5
4
  useCallback,
6
5
  useState,
7
- useMemo,
8
- } from 'react';
9
- import PropTypes from 'prop-types';
10
- import { FaPlus, FaMinus } from 'react-icons/fa';
11
- import { ZoomSlider } from 'ol/control';
12
- import OLMap from 'ol/Map';
13
-
14
- var propTypes = {
15
- /**
16
- * An [ol/map](https://openlayers.org/en/latest/apidoc/module-ol_Map-Map.html).
17
- */
6
+ useMemo
7
+ } from "react";
8
+ import PropTypes from "prop-types";
9
+ import { FaPlus, FaMinus } from "react-icons/fa";
10
+ import { ZoomSlider } from "ol/control";
11
+ import OLMap from "ol/Map";
12
+ const propTypes = {
18
13
  map: PropTypes.instanceOf(OLMap).isRequired,
19
-
20
- /**
21
- * The zoom delta applied on each click.
22
- */
23
14
  delta: PropTypes.number,
24
-
25
- /**
26
- * Titles HTML attribtues for button.
27
- */
28
15
  titles: PropTypes.shape({
29
16
  zoomIn: PropTypes.string,
30
- zoomOut: PropTypes.string,
17
+ zoomOut: PropTypes.string
31
18
  }),
32
-
33
- /**
34
- * Children content of the zoom in button.
35
- */
36
19
  zoomInChildren: PropTypes.node,
37
-
38
- /**
39
- * Children content of the zoom out button.
40
- */
41
20
  zoomOutChildren: PropTypes.node,
42
-
43
- /**
44
- * Display a slider to zoom.
45
- */
46
- zoomSlider: PropTypes.bool,
21
+ zoomSlider: PropTypes.bool
47
22
  };
48
-
49
- var defaultProps = {
23
+ const defaultProps = {
50
24
  titles: {
51
- zoomIn: 'Zoom in',
52
- zoomOut: 'Zoom out',
25
+ zoomIn: "Zoom in",
26
+ zoomOut: "Zoom out"
53
27
  },
54
- zoomInChildren: React.createElement( FaPlus, { focusable: false }),
55
- zoomOutChildren: React.createElement( FaMinus, { focusable: false }),
28
+ zoomInChildren: /* @__PURE__ */ React.createElement(FaPlus, {
29
+ focusable: false
30
+ }),
31
+ zoomOutChildren: /* @__PURE__ */ React.createElement(FaMinus, {
32
+ focusable: false
33
+ }),
56
34
  zoomSlider: false,
57
- delta: 1,
35
+ delta: 1
58
36
  };
59
-
60
- var updateZoom = function (map, zoomAction) {
37
+ const updateZoom = (map, zoomAction) => {
61
38
  map.getView().cancelAnimations();
62
- var zoom = map.getView().getZoom();
63
-
39
+ const zoom = map.getView().getZoom();
64
40
  map.getView().animate({ zoom: zoom + zoomAction });
65
41
  };
66
-
67
- /**
68
- * The Zoom component creates a zoom wrapper containing zoom-in and zoom-out buttons
69
- * and an optional [ol/ZoomSlider](https://openlayers.org/en/latest/apidoc/module-ol_control_ZoomSlider-ZoomSlider.html).
70
- */
71
- function Zoom(ref$1) {
72
- var map = ref$1.map;
73
- var titles = ref$1.titles;
74
- var zoomInChildren = ref$1.zoomInChildren;
75
- var zoomOutChildren = ref$1.zoomOutChildren;
76
- var zoomSlider = ref$1.zoomSlider;
77
- var delta = ref$1.delta;
78
- var rest = objectWithoutProperties( ref$1, ["map", "titles", "zoomInChildren", "zoomOutChildren", "zoomSlider", "delta"] );
79
- var other = rest;
80
-
81
- var ref = useRef();
82
- var ref$2 = useState();
83
- var currentZoom = ref$2[0];
84
- var setZoom = ref$2[1];
85
-
86
- var zoomIn = useCallback(
87
- function (evt) {
42
+ function Zoom({
43
+ map,
44
+ titles,
45
+ zoomInChildren,
46
+ zoomOutChildren,
47
+ zoomSlider,
48
+ delta,
49
+ ...other
50
+ }) {
51
+ const ref = useRef();
52
+ const [currentZoom, setZoom] = useState();
53
+ const zoomIn = useCallback(
54
+ (evt) => {
88
55
  if (!evt.which || evt.which === 13) {
89
56
  updateZoom(map, delta);
90
57
  }
91
58
  },
92
59
  [delta, map]
93
60
  );
94
-
95
- var zoomOut = useCallback(
96
- function (evt) {
61
+ const zoomOut = useCallback(
62
+ (evt) => {
97
63
  if (!evt.which || evt.which === 13) {
98
64
  updateZoom(map, -delta);
99
65
  }
100
66
  },
101
67
  [delta, map]
102
68
  );
103
-
104
- var zoomInDisabled = useMemo(function () {
105
- return (
106
- currentZoom >=
107
- map.getView().getConstrainedZoom(map.getView().getMaxZoom())
108
- );
69
+ const zoomInDisabled = useMemo(() => {
70
+ return currentZoom >= map.getView().getConstrainedZoom(map.getView().getMaxZoom());
109
71
  }, [currentZoom, map]);
110
-
111
- var zoomOutDisabled = useMemo(function () {
112
- return (
113
- currentZoom <=
114
- map.getView().getConstrainedZoom(map.getView().getMinZoom())
115
- );
72
+ const zoomOutDisabled = useMemo(() => {
73
+ return currentZoom <= map.getView().getConstrainedZoom(map.getView().getMinZoom());
116
74
  }, [currentZoom, map]);
117
-
118
- useEffect(function () {
119
- /* Trigger zoom update to disable zooms on max and min */
120
- var zoomListener = function () {
75
+ useEffect(() => {
76
+ const zoomListener = () => {
121
77
  return setZoom(map.getView().getZoom());
122
78
  };
123
- map.on('moveend', zoomListener);
124
-
125
- var control;
79
+ map.on("moveend", zoomListener);
80
+ let control;
126
81
  if (zoomSlider && ref.current) {
127
82
  control = new ZoomSlider();
128
- // We don't want to navigate to the zoom slider using TAB navigation.
129
83
  control.element.firstElementChild.tabIndex = -1;
130
- // Set the zoom slider in the custom control wrapper.
131
84
  control.setTarget(ref.current);
132
85
  map.addControl(control);
133
86
  }
134
- return function () {
135
- map.un('moveend', zoomListener);
87
+ return () => {
88
+ map.un("moveend", zoomListener);
136
89
  if (control) {
137
90
  map.removeControl(control);
138
91
  }
139
92
  };
140
93
  }, [map, zoomSlider]);
141
-
142
- return (
143
- // eslint-disable-next-line react/jsx-props-no-spreading
144
- React.createElement( 'div', Object.assign({}, { className: "rs-zooms-bar" }, other),
145
- React.createElement( 'button', {
146
- type: "button", tabIndex: 0, className: "rs-zoom-in", title: titles.zoomIn, onClick: zoomIn, onKeyPress: zoomIn, disabled: zoomInDisabled },
147
- zoomInChildren
148
- ),
149
- zoomSlider ? React.createElement( 'div', { className: "rs-zoomslider-wrapper", ref: ref }) : null,
150
- React.createElement( 'button', {
151
- type: "button", tabIndex: 0, className: "rs-zoom-out", title: titles.zoomOut, onClick: zoomOut, onKeyPress: zoomOut, disabled: zoomOutDisabled },
152
- zoomOutChildren
153
- )
154
- )
155
- );
94
+ return /* @__PURE__ */ React.createElement("div", {
95
+ className: "rs-zooms-bar",
96
+ ...other
97
+ }, /* @__PURE__ */ React.createElement("button", {
98
+ type: "button",
99
+ tabIndex: 0,
100
+ className: "rs-zoom-in",
101
+ title: titles.zoomIn,
102
+ onClick: zoomIn,
103
+ onKeyPress: zoomIn,
104
+ disabled: zoomInDisabled
105
+ }, zoomInChildren), zoomSlider ? /* @__PURE__ */ React.createElement("div", {
106
+ className: "rs-zoomslider-wrapper",
107
+ ref
108
+ }) : null, /* @__PURE__ */ React.createElement("button", {
109
+ type: "button",
110
+ tabIndex: 0,
111
+ className: "rs-zoom-out",
112
+ title: titles.zoomOut,
113
+ onClick: zoomOut,
114
+ onKeyPress: zoomOut,
115
+ disabled: zoomOutDisabled
116
+ }, zoomOutChildren));
156
117
  }
157
-
158
118
  Zoom.propTypes = propTypes;
159
119
  Zoom.defaultProps = defaultProps;
160
-
161
120
  export default React.memo(Zoom);
162
-
163
- //# sourceMappingURL=Zoom.js.map
@@ -1 +1,7 @@
1
- {"version":3,"file":"Zoom.js","sources":["../../../src/components/Zoom/Zoom.js"],"sourcesContent":["import React, {\n useEffect,\n useRef,\n useCallback,\n useState,\n useMemo,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport { FaPlus, FaMinus } from 'react-icons/fa';\nimport { ZoomSlider } from 'ol/control';\nimport OLMap from 'ol/Map';\n\nconst propTypes = {\n /**\n * An [ol/map](https://openlayers.org/en/latest/apidoc/module-ol_Map-Map.html).\n */\n map: PropTypes.instanceOf(OLMap).isRequired,\n\n /**\n * The zoom delta applied on each click.\n */\n delta: PropTypes.number,\n\n /**\n * Titles HTML attribtues for button.\n */\n titles: PropTypes.shape({\n zoomIn: PropTypes.string,\n zoomOut: PropTypes.string,\n }),\n\n /**\n * Children content of the zoom in button.\n */\n zoomInChildren: PropTypes.node,\n\n /**\n * Children content of the zoom out button.\n */\n zoomOutChildren: PropTypes.node,\n\n /**\n * Display a slider to zoom.\n */\n zoomSlider: PropTypes.bool,\n};\n\nconst defaultProps = {\n titles: {\n zoomIn: 'Zoom in',\n zoomOut: 'Zoom out',\n },\n zoomInChildren: <FaPlus focusable={false} />,\n zoomOutChildren: <FaMinus focusable={false} />,\n zoomSlider: false,\n delta: 1,\n};\n\nconst updateZoom = (map, zoomAction) => {\n map.getView().cancelAnimations();\n const zoom = map.getView().getZoom();\n\n map.getView().animate({ zoom: zoom + zoomAction });\n};\n\n/**\n * The Zoom component creates a zoom wrapper containing zoom-in and zoom-out buttons\n * and an optional [ol/ZoomSlider](https://openlayers.org/en/latest/apidoc/module-ol_control_ZoomSlider-ZoomSlider.html).\n */\nfunction Zoom({\n map,\n titles,\n zoomInChildren,\n zoomOutChildren,\n zoomSlider,\n delta,\n ...other\n}) {\n const ref = useRef();\n const [currentZoom, setZoom] = useState();\n\n const zoomIn = useCallback(\n (evt) => {\n if (!evt.which || evt.which === 13) {\n updateZoom(map, delta);\n }\n },\n [delta, map],\n );\n\n const zoomOut = useCallback(\n (evt) => {\n if (!evt.which || evt.which === 13) {\n updateZoom(map, -delta);\n }\n },\n [delta, map],\n );\n\n const zoomInDisabled = useMemo(() => {\n return (\n currentZoom >=\n map.getView().getConstrainedZoom(map.getView().getMaxZoom())\n );\n }, [currentZoom, map]);\n\n const zoomOutDisabled = useMemo(() => {\n return (\n currentZoom <=\n map.getView().getConstrainedZoom(map.getView().getMinZoom())\n );\n }, [currentZoom, map]);\n\n useEffect(() => {\n /* Trigger zoom update to disable zooms on max and min */\n const zoomListener = () => {\n return setZoom(map.getView().getZoom());\n };\n map.on('moveend', zoomListener);\n\n let control;\n if (zoomSlider && ref.current) {\n control = new ZoomSlider();\n // We don't want to navigate to the zoom slider using TAB navigation.\n control.element.firstElementChild.tabIndex = -1;\n // Set the zoom slider in the custom control wrapper.\n control.setTarget(ref.current);\n map.addControl(control);\n }\n return () => {\n map.un('moveend', zoomListener);\n if (control) {\n map.removeControl(control);\n }\n };\n }, [map, zoomSlider]);\n\n return (\n // eslint-disable-next-line react/jsx-props-no-spreading\n <div className=\"rs-zooms-bar\" {...other}>\n <button\n type=\"button\"\n tabIndex={0}\n className=\"rs-zoom-in\"\n title={titles.zoomIn}\n onClick={zoomIn}\n onKeyPress={zoomIn}\n disabled={zoomInDisabled}\n >\n {zoomInChildren}\n </button>\n {zoomSlider ? <div className=\"rs-zoomslider-wrapper\" ref={ref} /> : null}\n <button\n type=\"button\"\n tabIndex={0}\n className=\"rs-zoom-out\"\n title={titles.zoomOut}\n onClick={zoomOut}\n onKeyPress={zoomOut}\n disabled={zoomOutDisabled}\n >\n {zoomOutChildren}\n </button>\n </div>\n );\n}\n\nZoom.propTypes = propTypes;\nZoom.defaultProps = defaultProps;\n\nexport default React.memo(Zoom);\n"],"names":["const","let"],"mappings":"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"}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/Zoom/Zoom.js"],
4
+ "sourcesContent": ["import React, {\n useEffect,\n useRef,\n useCallback,\n useState,\n useMemo,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport { FaPlus, FaMinus } from 'react-icons/fa';\nimport { ZoomSlider } from 'ol/control';\nimport OLMap from 'ol/Map';\n\nconst propTypes = {\n /**\n * An [ol/map](https://openlayers.org/en/latest/apidoc/module-ol_Map-Map.html).\n */\n map: PropTypes.instanceOf(OLMap).isRequired,\n\n /**\n * The zoom delta applied on each click.\n */\n delta: PropTypes.number,\n\n /**\n * Titles HTML attribtues for button.\n */\n titles: PropTypes.shape({\n zoomIn: PropTypes.string,\n zoomOut: PropTypes.string,\n }),\n\n /**\n * Children content of the zoom in button.\n */\n zoomInChildren: PropTypes.node,\n\n /**\n * Children content of the zoom out button.\n */\n zoomOutChildren: PropTypes.node,\n\n /**\n * Display a slider to zoom.\n */\n zoomSlider: PropTypes.bool,\n};\n\nconst defaultProps = {\n titles: {\n zoomIn: 'Zoom in',\n zoomOut: 'Zoom out',\n },\n zoomInChildren: <FaPlus focusable={false} />,\n zoomOutChildren: <FaMinus focusable={false} />,\n zoomSlider: false,\n delta: 1,\n};\n\nconst updateZoom = (map, zoomAction) => {\n map.getView().cancelAnimations();\n const zoom = map.getView().getZoom();\n\n map.getView().animate({ zoom: zoom + zoomAction });\n};\n\n/**\n * The Zoom component creates a zoom wrapper containing zoom-in and zoom-out buttons\n * and an optional [ol/ZoomSlider](https://openlayers.org/en/latest/apidoc/module-ol_control_ZoomSlider-ZoomSlider.html).\n */\nfunction Zoom({\n map,\n titles,\n zoomInChildren,\n zoomOutChildren,\n zoomSlider,\n delta,\n ...other\n}) {\n const ref = useRef();\n const [currentZoom, setZoom] = useState();\n\n const zoomIn = useCallback(\n (evt) => {\n if (!evt.which || evt.which === 13) {\n updateZoom(map, delta);\n }\n },\n [delta, map],\n );\n\n const zoomOut = useCallback(\n (evt) => {\n if (!evt.which || evt.which === 13) {\n updateZoom(map, -delta);\n }\n },\n [delta, map],\n );\n\n const zoomInDisabled = useMemo(() => {\n return (\n currentZoom >=\n map.getView().getConstrainedZoom(map.getView().getMaxZoom())\n );\n }, [currentZoom, map]);\n\n const zoomOutDisabled = useMemo(() => {\n return (\n currentZoom <=\n map.getView().getConstrainedZoom(map.getView().getMinZoom())\n );\n }, [currentZoom, map]);\n\n useEffect(() => {\n /* Trigger zoom update to disable zooms on max and min */\n const zoomListener = () => {\n return setZoom(map.getView().getZoom());\n };\n map.on('moveend', zoomListener);\n\n let control;\n if (zoomSlider && ref.current) {\n control = new ZoomSlider();\n // We don't want to navigate to the zoom slider using TAB navigation.\n control.element.firstElementChild.tabIndex = -1;\n // Set the zoom slider in the custom control wrapper.\n control.setTarget(ref.current);\n map.addControl(control);\n }\n return () => {\n map.un('moveend', zoomListener);\n if (control) {\n map.removeControl(control);\n }\n };\n }, [map, zoomSlider]);\n\n return (\n // eslint-disable-next-line react/jsx-props-no-spreading\n <div className=\"rs-zooms-bar\" {...other}>\n <button\n type=\"button\"\n tabIndex={0}\n className=\"rs-zoom-in\"\n title={titles.zoomIn}\n onClick={zoomIn}\n onKeyPress={zoomIn}\n disabled={zoomInDisabled}\n >\n {zoomInChildren}\n </button>\n {zoomSlider ? <div className=\"rs-zoomslider-wrapper\" ref={ref} /> : null}\n <button\n type=\"button\"\n tabIndex={0}\n className=\"rs-zoom-out\"\n title={titles.zoomOut}\n onClick={zoomOut}\n onKeyPress={zoomOut}\n disabled={zoomOutDisabled}\n >\n {zoomOutChildren}\n </button>\n </div>\n );\n}\n\nZoom.propTypes = propTypes;\nZoom.defaultProps = defaultProps;\n\nexport default React.memo(Zoom);\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -1,3 +1 @@
1
- export { default } from './Zoom';
2
-
3
- //# sourceMappingURL=index.js.map
1
+ export { default } from "./Zoom";
@@ -1 +1,7 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/components/Zoom/index.js"],"sourcesContent":["export { default } from './Zoom';\n"],"names":[],"mappings":"AAAA,SAAS,OAAO,QAAQ,QAAQ,CAAC;"}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/Zoom/index.js"],
4
+ "sourcesContent": ["export { default } from './Zoom';\n"],
5
+ "mappings": "AAAA,wBAAwB;",
6
+ "names": []
7
+ }
package/package.json CHANGED
@@ -1,11 +1,9 @@
1
1
  {
2
2
  "name": "react-spatial",
3
3
  "description": "Components to build React map apps.",
4
- "version": "1.2.0",
4
+ "version": "1.2.3-beta.2",
5
5
  "license": "MIT",
6
6
  "dependencies": {
7
- "@commitlint/cli": "17.0.2",
8
- "@commitlint/config-conventional": "17.0.2",
9
7
  "@geops/geops-ui": "0.1.13",
10
8
  "@material-ui/core": "4.12.3",
11
9
  "@material-ui/icons": "4.11.2",
@@ -32,18 +30,21 @@
32
30
  "@babel/plugin-transform-runtime": "7.15.0",
33
31
  "@babel/preset-env": "7.15.0",
34
32
  "@babel/preset-react": "7.14.5",
33
+ "@commitlint/cli": "17.0.2",
34
+ "@commitlint/config-conventional": "17.0.2",
35
35
  "@svgr/webpack": "5.5.0",
36
36
  "@testing-library/jest-dom": "5.16.3",
37
37
  "@testing-library/react": "12.1.4",
38
38
  "@testing-library/user-event": "13.5.0",
39
+ "@wojtekmaj/enzyme-adapter-react-17": "0.6.7",
39
40
  "babel-core": "7.0.0-bridge.0",
40
- "babel-jest": "27.0.2",
41
+ "babel-jest": "27.2.4",
41
42
  "babel-loader": "8.2.2",
42
43
  "buble": "0.20.0",
43
44
  "canvas": "2.8.0",
44
45
  "css-loader": "5.2.6",
45
46
  "enzyme": "3.11.0",
46
- "enzyme-adapter-react-16": "1.15.6",
47
+ "esbuild": "^0.15.6",
47
48
  "eslint": "7.32.0",
48
49
  "eslint-config-airbnb": "18.2.1",
49
50
  "eslint-config-prettier": "8.3.0",
@@ -68,17 +69,18 @@
68
69
  "jsts": "2.7.3",
69
70
  "lint-staged": "11.2.0",
70
71
  "mapbox-gl": "1.13.1",
71
- "mobility-toolbox-js": "1.6.3",
72
- "ol": "6.6.1",
72
+ "maplibre-gl": "2.4.0",
73
+ "mobility-toolbox-js": "2.0.0-beta.39",
74
+ "ol": "6.14.1",
73
75
  "prettier": "2.4.1",
74
76
  "proj4": "2.7.5",
75
77
  "prop-types": "15.7.2",
76
- "react": "16.14.0",
78
+ "react": "17.0.2",
77
79
  "react-app-polyfill": "2.0.0",
78
- "react-dom": "16.14.0",
80
+ "react-dom": "17.0.2",
79
81
  "react-styleguidist": "11.0.8",
80
82
  "react-svg-loader": "3.0.3",
81
- "react-test-renderer": "16.13.1",
83
+ "react-test-renderer": "17.0.2",
82
84
  "sass": "1.49.9",
83
85
  "sass-loader": "10.2.0",
84
86
  "standard-version": "9.5.0",
@@ -94,7 +96,9 @@
94
96
  "xml-beautifier": "0.5.0"
95
97
  },
96
98
  "scripts": {
97
- "build": "buble --no modules,asyncAwait -i src -o build --objectAssign Object.assign --sourcemap && cp package.json README.md LICENSE build && cp -rf src/images build",
99
+ "esbuild": "esbuild src/*.js src/**/*.js src/**/**/*.js src/**/**/**/*.js --target=chrome100 --outdir=build/ --loader:.js=jsx --sourcemap=external",
100
+ "buble": "buble --no modules,asyncAwait -i src -o build --objectAssign Object.assign --sourcemap",
101
+ "build": "yarn esbuild && find build -type f -name '*.test.*' -delete && rm -rf build/styleguidist && cp package.json README.md LICENSE build && cp -rf src/images build",
98
102
  "coverage": "yarn test --coverage --coverageDirectory=coverage",
99
103
  "cp": "generact --root src/components",
100
104
  "doc": "styleguidist build",
@@ -103,7 +107,7 @@
103
107
  "lint": "eslint 'src/**/*.js' && stylelint 'src/**/*.css' 'src/**/*.scss'",
104
108
  "postbuild": "cp package.json build/ && cd src && find . -name '*.scss' | cpio -pdm ../build",
105
109
  "prebuild": "rm -rf build/",
106
- "publish:beta": "yarn release -- --prerelease beta --skip.changelog && git push origin HEAD && yarn run build && yarn publish build/ --access public --tag beta",
110
+ "publish:beta": "yarn release -- --prerelease beta --skip.changelog && git push origin HEAD && yarn run build && git push --tags && yarn publish build/ --tag beta",
107
111
  "publish:beta:dryrun": "yarn release -- --prerelease beta --dry-run --skip.changelog",
108
112
  "publish:public": "yarn release && git push origin HEAD && yarn build && git push --tags && yarn publish build/",
109
113
  "publish:public:dryrun": "yarn release --dry-run",
@@ -114,8 +118,9 @@
114
118
  "browserslist": [
115
119
  ">0.2%",
116
120
  "not dead",
117
- "not ie <= 10",
118
- "not op_mini all"
121
+ "not op_mini all",
122
+ "not ie <= 11",
123
+ "not android < 5"
119
124
  ],
120
125
  "eslintConfig": {
121
126
  "env": {
@@ -166,7 +171,7 @@
166
171
  "\\.(jpg|jpeg|png|gif|webp)$": "jest-transform-file"
167
172
  },
168
173
  "transformIgnorePatterns": [
169
- "node_modules/(?!(jsts|ol|mobility-toolbox-js)|@geops)"
174
+ "node_modules/(?!(jsts|ol|mobility-toolbox-js)|@geops|geotiff|quick-lru)"
170
175
  ],
171
176
  "testMatch": [
172
177
  "<rootDir>/src/**/?(*.)+(spec|test).[jt]s?(x)"
package/propTypes.js CHANGED
@@ -1,26 +1,23 @@
1
- import PropTypes from 'prop-types';
2
-
3
- var STATE_BOARDING = 'BOARDING';
4
- var STATE_LEAVING = 'LEAVING';
5
-
6
- var station = PropTypes.shape({
7
- arrivalDelay: PropTypes.number, // time in milliseconds.
8
- arrivalTime: PropTypes.number, // time in milliseconds.
9
- arrivalTimeWithDelay: PropTypes.number, // time in milliseconds with the delay included.
1
+ import PropTypes from "prop-types";
2
+ const STATE_BOARDING = "BOARDING";
3
+ const STATE_LEAVING = "LEAVING";
4
+ const station = PropTypes.shape({
5
+ arrivalDelay: PropTypes.number,
6
+ arrivalTime: PropTypes.number,
7
+ arrivalTimeWithDelay: PropTypes.number,
10
8
  cancelled: PropTypes.bool,
11
9
  coordinates: PropTypes.arrayOf(PropTypes.number),
12
- departureDelay: PropTypes.number, // time in milliseconds.
13
- departureTime: PropTypes.number, // time in milliseconds.
14
- departureTimeWithDelay: PropTypes.number, // time in milliseconds with the delay included
10
+ departureDelay: PropTypes.number,
11
+ departureTime: PropTypes.number,
12
+ departureTimeWithDelay: PropTypes.number,
15
13
  noDropOff: PropTypes.bool,
16
14
  noPickUp: PropTypes.bool,
17
15
  stationId: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
18
16
  stationName: PropTypes.string,
19
17
  wheelchairAccessible: PropTypes.bool,
20
- state: PropTypes.oneOf([null, STATE_BOARDING, STATE_LEAVING]),
18
+ state: PropTypes.oneOf([null, STATE_BOARDING, STATE_LEAVING])
21
19
  });
22
-
23
- var lineInfos = PropTypes.shape({
20
+ const lineInfos = PropTypes.shape({
24
21
  backgroundColor: PropTypes.string,
25
22
  bicyclesAllowed: PropTypes.bool,
26
23
  color: PropTypes.string,
@@ -42,14 +39,11 @@ var lineInfos = PropTypes.shape({
42
39
  shortName: PropTypes.string,
43
40
  stations: PropTypes.arrayOf(station),
44
41
  vehicleType: PropTypes.number,
45
- wheelchairAccessible: PropTypes.bool,
42
+ wheelchairAccessible: PropTypes.bool
46
43
  });
47
-
48
44
  export default {
49
- lineInfos: lineInfos,
50
- station: station,
51
- STATE_BOARDING: STATE_BOARDING,
52
- STATE_LEAVING: STATE_LEAVING,
45
+ lineInfos,
46
+ station,
47
+ STATE_BOARDING,
48
+ STATE_LEAVING
53
49
  };
54
-
55
- //# sourceMappingURL=propTypes.js.map
package/propTypes.js.map CHANGED
@@ -1 +1,7 @@
1
- {"version":3,"file":"propTypes.js","sources":["../src/propTypes.js"],"sourcesContent":["import PropTypes from 'prop-types';\n\nconst STATE_BOARDING = 'BOARDING';\nconst STATE_LEAVING = 'LEAVING';\n\nconst station = PropTypes.shape({\n arrivalDelay: PropTypes.number, // time in milliseconds.\n arrivalTime: PropTypes.number, // time in milliseconds.\n arrivalTimeWithDelay: PropTypes.number, // time in milliseconds with the delay included.\n cancelled: PropTypes.bool,\n coordinates: PropTypes.arrayOf(PropTypes.number),\n departureDelay: PropTypes.number, // time in milliseconds.\n departureTime: PropTypes.number, // time in milliseconds.\n departureTimeWithDelay: PropTypes.number, // time in milliseconds with the delay included\n noDropOff: PropTypes.bool,\n noPickUp: PropTypes.bool,\n stationId: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n stationName: PropTypes.string,\n wheelchairAccessible: PropTypes.bool,\n state: PropTypes.oneOf([null, STATE_BOARDING, STATE_LEAVING]),\n});\n\nconst lineInfos = PropTypes.shape({\n backgroundColor: PropTypes.string,\n bicyclesAllowed: PropTypes.bool,\n color: PropTypes.string,\n destination: PropTypes.string,\n feedsId: PropTypes.number,\n id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n license: PropTypes.string,\n licenseNote: PropTypes.string,\n licenseUrl: PropTypes.string,\n longName: PropTypes.string,\n operatingInformations: PropTypes.object,\n operator: PropTypes.string,\n operatorTimeZone: PropTypes.string,\n operatorUrl: PropTypes.string,\n publisher: PropTypes.string,\n publisherTimeZone: PropTypes.string,\n publisherUrl: PropTypes.string,\n realTime: PropTypes.number,\n shortName: PropTypes.string,\n stations: PropTypes.arrayOf(station),\n vehicleType: PropTypes.number,\n wheelchairAccessible: PropTypes.bool,\n});\n\nexport default {\n lineInfos,\n station,\n STATE_BOARDING,\n STATE_LEAVING,\n};\n"],"names":["const"],"mappings":"AAAA,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC;AACAA,GAAK,CAAC,cAAc,GAAG,UAAU,CAAC;AAClCA,GAAK,CAAC,aAAa,GAAG,SAAS,CAAC;AAChC;AACAA,GAAK,CAAC,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC;AAChC,EAAE,YAAY,EAAE,SAAS,CAAC,MAAM;AAChC,EAAE,WAAW,EAAE,SAAS,CAAC,MAAM;AAC/B,EAAE,oBAAoB,EAAE,SAAS,CAAC,MAAM;AACxC,EAAE,SAAS,EAAE,SAAS,CAAC,IAAI;AAC3B,EAAE,WAAW,EAAE,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC;AAClD,EAAE,cAAc,EAAE,SAAS,CAAC,MAAM;AAClC,EAAE,aAAa,EAAE,SAAS,CAAC,MAAM;AACjC,EAAE,sBAAsB,EAAE,SAAS,CAAC,MAAM;AAC1C,EAAE,SAAS,EAAE,SAAS,CAAC,IAAI;AAC3B,EAAE,QAAQ,EAAE,SAAS,CAAC,IAAI;AAC1B,EAAE,SAAS,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;AACtE,EAAE,WAAW,EAAE,SAAS,CAAC,MAAM;AAC/B,EAAE,oBAAoB,EAAE,SAAS,CAAC,IAAI;AACtC,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,cAAc,EAAE,aAAa,CAAC,CAAC;AAC/D,CAAC,CAAC,CAAC;AACH;AACAA,GAAK,CAAC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC;AAClC,EAAE,eAAe,EAAE,SAAS,CAAC,MAAM;AACnC,EAAE,eAAe,EAAE,SAAS,CAAC,IAAI;AACjC,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM;AACzB,EAAE,WAAW,EAAE,SAAS,CAAC,MAAM;AAC/B,EAAE,OAAO,EAAE,SAAS,CAAC,MAAM;AAC3B,EAAE,EAAE,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;AAC/D,EAAE,OAAO,EAAE,SAAS,CAAC,MAAM;AAC3B,EAAE,WAAW,EAAE,SAAS,CAAC,MAAM;AAC/B,EAAE,UAAU,EAAE,SAAS,CAAC,MAAM;AAC9B,EAAE,QAAQ,EAAE,SAAS,CAAC,MAAM;AAC5B,EAAE,qBAAqB,EAAE,SAAS,CAAC,MAAM;AACzC,EAAE,QAAQ,EAAE,SAAS,CAAC,MAAM;AAC5B,EAAE,gBAAgB,EAAE,SAAS,CAAC,MAAM;AACpC,EAAE,WAAW,EAAE,SAAS,CAAC,MAAM;AAC/B,EAAE,SAAS,EAAE,SAAS,CAAC,MAAM;AAC7B,EAAE,iBAAiB,EAAE,SAAS,CAAC,MAAM;AACrC,EAAE,YAAY,EAAE,SAAS,CAAC,MAAM;AAChC,EAAE,QAAQ,EAAE,SAAS,CAAC,MAAM;AAC5B,EAAE,SAAS,EAAE,SAAS,CAAC,MAAM;AAC7B,EAAE,QAAQ,EAAE,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC;AACtC,EAAE,WAAW,EAAE,SAAS,CAAC,MAAM;AAC/B,EAAE,oBAAoB,EAAE,SAAS,CAAC,IAAI;AACtC,CAAC,CAAC,CAAC;AACH;AACA,eAAe;AACf,aAAE,SAAS;AACX,WAAE,OAAO;AACT,kBAAE,cAAc;AAChB,iBAAE,aAAa;AACf,CAAC,CAAC;"}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/propTypes.js"],
4
+ "sourcesContent": ["import PropTypes from 'prop-types';\n\nconst STATE_BOARDING = 'BOARDING';\nconst STATE_LEAVING = 'LEAVING';\n\nconst station = PropTypes.shape({\n arrivalDelay: PropTypes.number, // time in milliseconds.\n arrivalTime: PropTypes.number, // time in milliseconds.\n arrivalTimeWithDelay: PropTypes.number, // time in milliseconds with the delay included.\n cancelled: PropTypes.bool,\n coordinates: PropTypes.arrayOf(PropTypes.number),\n departureDelay: PropTypes.number, // time in milliseconds.\n departureTime: PropTypes.number, // time in milliseconds.\n departureTimeWithDelay: PropTypes.number, // time in milliseconds with the delay included\n noDropOff: PropTypes.bool,\n noPickUp: PropTypes.bool,\n stationId: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n stationName: PropTypes.string,\n wheelchairAccessible: PropTypes.bool,\n state: PropTypes.oneOf([null, STATE_BOARDING, STATE_LEAVING]),\n});\n\nconst lineInfos = PropTypes.shape({\n backgroundColor: PropTypes.string,\n bicyclesAllowed: PropTypes.bool,\n color: PropTypes.string,\n destination: PropTypes.string,\n feedsId: PropTypes.number,\n id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n license: PropTypes.string,\n licenseNote: PropTypes.string,\n licenseUrl: PropTypes.string,\n longName: PropTypes.string,\n operatingInformations: PropTypes.object,\n operator: PropTypes.string,\n operatorTimeZone: PropTypes.string,\n operatorUrl: PropTypes.string,\n publisher: PropTypes.string,\n publisherTimeZone: PropTypes.string,\n publisherUrl: PropTypes.string,\n realTime: PropTypes.number,\n shortName: PropTypes.string,\n stations: PropTypes.arrayOf(station),\n vehicleType: PropTypes.number,\n wheelchairAccessible: PropTypes.bool,\n});\n\nexport default {\n lineInfos,\n station,\n STATE_BOARDING,\n STATE_LEAVING,\n};\n"],
5
+ "mappings": "AAAA,OAAO,eAAe;AAEtB,MAAM,iBAAiB;AACvB,MAAM,gBAAgB;AAEtB,MAAM,UAAU,UAAU,MAAM;AAAA,EAC9B,cAAc,UAAU;AAAA,EACxB,aAAa,UAAU;AAAA,EACvB,sBAAsB,UAAU;AAAA,EAChC,WAAW,UAAU;AAAA,EACrB,aAAa,UAAU,QAAQ,UAAU,MAAM;AAAA,EAC/C,gBAAgB,UAAU;AAAA,EAC1B,eAAe,UAAU;AAAA,EACzB,wBAAwB,UAAU;AAAA,EAClC,WAAW,UAAU;AAAA,EACrB,UAAU,UAAU;AAAA,EACpB,WAAW,UAAU,UAAU,CAAC,UAAU,QAAQ,UAAU,MAAM,CAAC;AAAA,EACnE,aAAa,UAAU;AAAA,EACvB,sBAAsB,UAAU;AAAA,EAChC,OAAO,UAAU,MAAM,CAAC,MAAM,gBAAgB,aAAa,CAAC;AAC9D,CAAC;AAED,MAAM,YAAY,UAAU,MAAM;AAAA,EAChC,iBAAiB,UAAU;AAAA,EAC3B,iBAAiB,UAAU;AAAA,EAC3B,OAAO,UAAU;AAAA,EACjB,aAAa,UAAU;AAAA,EACvB,SAAS,UAAU;AAAA,EACnB,IAAI,UAAU,UAAU,CAAC,UAAU,QAAQ,UAAU,MAAM,CAAC;AAAA,EAC5D,SAAS,UAAU;AAAA,EACnB,aAAa,UAAU;AAAA,EACvB,YAAY,UAAU;AAAA,EACtB,UAAU,UAAU;AAAA,EACpB,uBAAuB,UAAU;AAAA,EACjC,UAAU,UAAU;AAAA,EACpB,kBAAkB,UAAU;AAAA,EAC5B,aAAa,UAAU;AAAA,EACvB,WAAW,UAAU;AAAA,EACrB,mBAAmB,UAAU;AAAA,EAC7B,cAAc,UAAU;AAAA,EACxB,UAAU,UAAU;AAAA,EACpB,WAAW,UAAU;AAAA,EACrB,UAAU,UAAU,QAAQ,OAAO;AAAA,EACnC,aAAa,UAAU;AAAA,EACvB,sBAAsB,UAAU;AAClC,CAAC;AAED,eAAe;AAAA,EACb;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;",
6
+ "names": []
7
+ }
package/setupTests.js CHANGED
@@ -1,5 +1,3 @@
1
- global.URL.createObjectURL = jest.fn(function () {
2
- return 'fooblob';
1
+ global.URL.createObjectURL = jest.fn(() => {
2
+ return "fooblob";
3
3
  });
4
-
5
- //# sourceMappingURL=setupTests.js.map
package/setupTests.js.map CHANGED
@@ -1 +1,7 @@
1
- {"version":3,"file":"setupTests.js","sources":["../src/setupTests.js"],"sourcesContent":["global.URL.createObjectURL = jest.fn(() => {\n return 'fooblob';\n});\n"],"names":[],"mappings":"AAAA,MAAM,CAAC,GAAG,CAAC,eAAe,GAAG,IAAI,CAAC,EAAE,UAAC,GAAM;AAC3C,EAAE,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC,CAAC;"}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/setupTests.js"],
4
+ "sourcesContent": ["global.URL.createObjectURL = jest.fn(() => {\n return 'fooblob';\n});\n"],
5
+ "mappings": "AAAA,OAAO,IAAI,kBAAkB,KAAK,GAAG,MAAM;AACzC,SAAO;AACT,CAAC;",
6
+ "names": []
7
+ }
@@ -4,7 +4,6 @@
4
4
  @import '../../components/FilterButton/FilterButton.scss';
5
5
  @import '../../components/FollowButton/FollowButton.scss';
6
6
  @import '../../components/BaseLayerSwitcher/BaseLayerSwitcher.scss';
7
- @import '../../components/BaseLayerToggler/BaseLayerToggler.scss';
8
7
  @import '../../components/Geolocation/Geolocation.scss';
9
8
  @import '../../components/LayerTree/LayerTree.scss';
10
9
  @import '../../components/NorthArrow/NorthArrow.scss';
@@ -3,7 +3,6 @@
3
3
  */
4
4
  @import './index.scss';
5
5
  @import '../../components/BaseLayerSwitcher/BaseLayerSwitcher.md.scss';
6
- @import '../../components/BaseLayerToggler/BaseLayerToggler.md.scss';
7
6
  @import '../../components/BasicMap/BasicMap.md.scss';
8
7
  @import '../../components/CanvasSaveButton/CanvasSaveButton.md.scss';
9
8
  @import '../../components/FeatureExportButton/FeatureExportButton.md.scss';