react-spatial 1.5.3 → 1.5.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/BaseLayerSwitcher/BaseLayerSwitcher.js +231 -0
- package/components/BaseLayerSwitcher/BaseLayerSwitcher.js.map +7 -0
- package/components/BaseLayerSwitcher/index.js +1 -0
- package/components/BaseLayerSwitcher/index.js.map +7 -0
- package/components/BasicMap/BasicMap.js +278 -0
- package/components/BasicMap/BasicMap.js.map +7 -0
- package/components/BasicMap/index.js +1 -0
- package/components/BasicMap/index.js.map +7 -0
- package/{src/components → components}/CanvasSaveButton/CanvasSaveButton.js +93 -320
- package/components/CanvasSaveButton/CanvasSaveButton.js.map +7 -0
- package/components/CanvasSaveButton/index.js +1 -0
- package/components/CanvasSaveButton/index.js.map +7 -0
- package/components/Copyright/Copyright.js +55 -0
- package/components/Copyright/Copyright.js.map +7 -0
- package/components/Copyright/index.js +1 -0
- package/components/Copyright/index.js.map +7 -0
- package/components/FeatureExportButton/FeatureExportButton.js +62 -0
- package/components/FeatureExportButton/FeatureExportButton.js.map +7 -0
- package/components/FeatureExportButton/index.js +1 -0
- package/components/FeatureExportButton/index.js.map +7 -0
- package/components/FitExtent/FitExtent.js +32 -0
- package/components/FitExtent/FitExtent.js.map +7 -0
- package/components/FitExtent/index.js +1 -0
- package/components/FitExtent/index.js.map +7 -0
- package/{src/components → components}/Geolocation/Geolocation.js +61 -144
- package/components/Geolocation/Geolocation.js.map +7 -0
- package/components/Geolocation/index.js +1 -0
- package/components/Geolocation/index.js.map +7 -0
- package/components/LayerTree/LayerTree.js +278 -0
- package/components/LayerTree/LayerTree.js.map +7 -0
- package/components/LayerTree/index.js +1 -0
- package/components/LayerTree/index.js.map +7 -0
- package/components/MousePosition/MousePosition.js +110 -0
- package/components/MousePosition/MousePosition.js.map +7 -0
- package/components/MousePosition/index.js +1 -0
- package/components/MousePosition/index.js.map +7 -0
- package/components/NorthArrow/NorthArrow.js +43 -0
- package/components/NorthArrow/NorthArrow.js.map +7 -0
- package/components/NorthArrow/index.js +1 -0
- package/components/NorthArrow/index.js.map +7 -0
- package/components/Overlay/Overlay.js +122 -0
- package/components/Overlay/Overlay.js.map +7 -0
- package/components/Overlay/index.js +1 -0
- package/components/Overlay/index.js.map +7 -0
- package/components/Permalink/Permalink.js +206 -0
- package/components/Permalink/Permalink.js.map +7 -0
- package/components/Permalink/index.js +1 -0
- package/components/Permalink/index.js.map +7 -0
- package/{src/components → components}/Popup/Popup.js +55 -165
- package/components/Popup/Popup.js.map +7 -0
- package/components/Popup/index.js +1 -0
- package/components/Popup/index.js.map +7 -0
- package/{src/components → components}/ResizeHandler/ResizeHandler.js +15 -50
- package/components/ResizeHandler/ResizeHandler.js.map +7 -0
- package/components/ResizeHandler/index.js +1 -0
- package/components/ResizeHandler/index.js.map +7 -0
- package/components/RouteSchedule/RouteSchedule.js +223 -0
- package/components/RouteSchedule/RouteSchedule.js.map +7 -0
- package/components/RouteSchedule/index.js +1 -0
- package/components/RouteSchedule/index.js.map +7 -0
- package/components/ScaleLine/ScaleLine.js +32 -0
- package/components/ScaleLine/ScaleLine.js.map +7 -0
- package/components/ScaleLine/index.js +1 -0
- package/components/ScaleLine/index.js.map +7 -0
- package/components/StopsFinder/StopsFinder.js +210 -0
- package/components/StopsFinder/StopsFinder.js.map +7 -0
- package/components/StopsFinder/StopsFinderOption.js +51 -0
- package/components/StopsFinder/StopsFinderOption.js.map +7 -0
- package/components/StopsFinder/index.js +1 -0
- package/components/StopsFinder/index.js.map +7 -0
- package/components/Zoom/Zoom.js +130 -0
- package/components/Zoom/Zoom.js.map +7 -0
- package/components/Zoom/index.js +1 -0
- package/components/Zoom/index.js.map +7 -0
- package/package.json +1 -1
- package/{src/propTypes.js → propTypes.js} +12 -16
- package/propTypes.js.map +7 -0
- package/{src/setupTests.js → setupTests.js} +1 -1
- package/setupTests.js.map +7 -0
- package/utils/GlobalsForOle.js +94 -0
- package/utils/GlobalsForOle.js.map +7 -0
- package/utils/KML.js +412 -0
- package/utils/KML.js.map +7 -0
- package/utils/KMLFormat.js +69 -0
- package/utils/KMLFormat.js.map +7 -0
- package/{src/utils → utils}/Styles.js +14 -20
- package/utils/Styles.js.map +7 -0
- package/{src/utils → utils}/getPolygonPattern.js +6 -34
- package/utils/getPolygonPattern.js.map +7 -0
- package/{src/utils → utils}/timeUtils.js +5 -22
- package/utils/timeUtils.js.map +7 -0
- package/.github/workflows/conventional-pr-title.yml +0 -21
- package/.github/workflows/main.yml +0 -28
- package/.husky/commit-msg +0 -4
- package/.husky/post-checkout +0 -4
- package/.husky/post-merge +0 -4
- package/.husky/post-rebase +0 -4
- package/.husky/pre-commit +0 -4
- package/.nvmrc +0 -1
- package/.whitesource +0 -8
- package/CHANGELOG.md +0 -65
- package/DEVELOP.md +0 -113
- package/__mocks__/mapbox-gl.js +0 -11
- package/__mocks__/resize-observer-polyfill.js +0 -9
- package/babel.config.js +0 -3
- package/commitlint.config.js +0 -1
- package/data/topic1.js +0 -119
- package/data/topic2.js +0 -28
- package/doc/README.md +0 -21
- package/doc/doc-config.json +0 -4
- package/pull_request_template.md +0 -16
- package/renovate.json +0 -4
- package/scripts/read-pkg-json.js +0 -17
- package/src/components/BaseLayerSwitcher/BaseLayerSwitcher.js +0 -322
- package/src/components/BaseLayerSwitcher/BaseLayerSwitcher.test.js +0 -69
- package/src/components/BaseLayerSwitcher/README.md +0 -61
- package/src/components/BaseLayerSwitcher/__snapshots__/BaseLayerSwitcher.test.js.snap +0 -88
- package/src/components/BaseLayerSwitcher/index.js +0 -1
- package/src/components/BasicMap/BasicMap.js +0 -413
- package/src/components/BasicMap/BasicMap.test.js +0 -281
- package/src/components/BasicMap/README.md +0 -18
- package/src/components/BasicMap/index.js +0 -1
- package/src/components/CanvasSaveButton/CanvasSaveButton.test.js +0 -148
- package/src/components/CanvasSaveButton/README.md +0 -76
- package/src/components/CanvasSaveButton/__snapshots__/CanvasSaveButton.test.js.snap +0 -76
- package/src/components/CanvasSaveButton/index.js +0 -1
- package/src/components/Copyright/Copyright.js +0 -89
- package/src/components/Copyright/Copyright.test.js +0 -134
- package/src/components/Copyright/README.md +0 -36
- package/src/components/Copyright/index.js +0 -1
- package/src/components/FeatureExportButton/FeatureExportButton.js +0 -118
- package/src/components/FeatureExportButton/FeatureExportButton.test.js +0 -417
- package/src/components/FeatureExportButton/README.md +0 -76
- package/src/components/FeatureExportButton/__snapshots__/FeatureExportButton.test.js.snap +0 -67
- package/src/components/FeatureExportButton/index.js +0 -1
- package/src/components/FitExtent/FitExtent.js +0 -62
- package/src/components/FitExtent/FitExtent.test.js +0 -48
- package/src/components/FitExtent/README.md +0 -34
- package/src/components/FitExtent/__snapshots__/FitExtent.test.js.snap +0 -13
- package/src/components/FitExtent/index.js +0 -1
- package/src/components/Geolocation/Geolocation.test.js +0 -267
- package/src/components/Geolocation/README.md +0 -25
- package/src/components/Geolocation/__snapshots__/Geolocation.test.js.snap +0 -92
- package/src/components/Geolocation/index.js +0 -1
- package/src/components/LayerTree/LayerTree.js +0 -487
- package/src/components/LayerTree/LayerTree.test.js +0 -337
- package/src/components/LayerTree/README.md +0 -92
- package/src/components/LayerTree/__snapshots__/LayerTree.test.js.snap +0 -1746
- package/src/components/LayerTree/index.js +0 -1
- package/src/components/MousePosition/MousePosition.js +0 -175
- package/src/components/MousePosition/MousePosition.test.js +0 -132
- package/src/components/MousePosition/README.md +0 -50
- package/src/components/MousePosition/__snapshots__/MousePosition.test.js.snap +0 -76
- package/src/components/MousePosition/index.js +0 -1
- package/src/components/NorthArrow/NorthArrow.js +0 -75
- package/src/components/NorthArrow/NorthArrow.test.js +0 -104
- package/src/components/NorthArrow/README.md +0 -59
- package/src/components/NorthArrow/__snapshots__/NorthArrow.test.js.snap +0 -117
- package/src/components/NorthArrow/index.js +0 -1
- package/src/components/Overlay/Overlay.js +0 -176
- package/src/components/Overlay/Overlay.test.js +0 -149
- package/src/components/Overlay/README.md +0 -59
- package/src/components/Overlay/__snapshots__/Overlay.test.js.snap +0 -9
- package/src/components/Overlay/index.js +0 -1
- package/src/components/Permalink/Permalink.js +0 -326
- package/src/components/Permalink/Permalink.test.js +0 -285
- package/src/components/Permalink/README.md +0 -105
- package/src/components/Permalink/index.js +0 -1
- package/src/components/Popup/Popup.test.js +0 -307
- package/src/components/Popup/README.md +0 -93
- package/src/components/Popup/__snapshots__/Popup.test.js.snap +0 -180
- package/src/components/Popup/index.js +0 -1
- package/src/components/README.md +0 -41
- package/src/components/ResizeHandler/ResizeHandler.test.js +0 -344
- package/src/components/ResizeHandler/index.js +0 -1
- package/src/components/RouteSchedule/README.md +0 -118
- package/src/components/RouteSchedule/RouteSchedule.js +0 -370
- package/src/components/RouteSchedule/RouteSchedule.test.js +0 -113
- package/src/components/RouteSchedule/__snapshots__/RouteSchedule.test.js.snap +0 -248
- package/src/components/RouteSchedule/index.js +0 -1
- package/src/components/ScaleLine/README.md +0 -29
- package/src/components/ScaleLine/ScaleLine.js +0 -50
- package/src/components/ScaleLine/ScaleLine.test.js +0 -30
- package/src/components/ScaleLine/__snapshots__/ScaleLine.test.js.snap +0 -7
- package/src/components/ScaleLine/index.js +0 -1
- package/src/components/StopsFinder/README.md +0 -50
- package/src/components/StopsFinder/StopsFinder.js +0 -284
- package/src/components/StopsFinder/StopsFinder.test.js +0 -17
- package/src/components/StopsFinder/StopsFinderOption.js +0 -61
- package/src/components/StopsFinder/__snapshots__/StopsFinder.test.js.snap +0 -133
- package/src/components/StopsFinder/index.js +0 -1
- package/src/components/Zoom/README.md +0 -25
- package/src/components/Zoom/Zoom.js +0 -180
- package/src/components/Zoom/Zoom.test.js +0 -141
- package/src/components/Zoom/__snapshots__/Zoom.test.js.snap +0 -201
- package/src/components/Zoom/index.js +0 -1
- package/src/styleguidist/ComponentsList.js +0 -52
- package/src/styleguidist/StyleGuide.js +0 -277
- package/src/styleguidist/styleguidist.css +0 -38
- package/src/utils/GlobalsForOle.js +0 -99
- package/src/utils/KML.js +0 -594
- package/src/utils/KML.test.js +0 -337
- package/src/utils/KMLFormat.js +0 -100
- package/src/utils/KMLFormat.test.js +0 -50
- package/src/utils/__snapshots__/KML.test.js.snap.KML-readFeatures()-and-writeFeatures()-should-read-and-write-lineDash-and-fillPattern-style-for-polygon.canvas-image.png +0 -0
- package/src/utils/__snapshots__/getPolygonPattern.test.js.snap.getPolygonPattern()-render-pattern-2-(cross)-color-and-(light-blue)-opacity.canvas-image.png +0 -0
- package/src/utils/__snapshots__/getPolygonPattern.test.js.snap.getPolygonPattern()-render-pattern-3-(diagonal-line-from-bottom-left-tot-top-right)-with-color-(light-blue)-and-opacity.canvas-image.png +0 -0
- package/src/utils/__snapshots__/getPolygonPattern.test.js.snap.getPolygonPattern()-render-pattern-4-(diagonal-line-from-top-left-to-bottom-right)-with-color-(light-blue)-and-opacity.canvas-image.png +0 -0
- package/src/utils/getPolygonPattern.test.js +0 -61
- package/src/utils/timeUtils.test.js +0 -30
- package/styleguide.config.js +0 -251
- /package/{src/components → components}/BaseLayerSwitcher/BaseLayerSwitcher.md.scss +0 -0
- /package/{src/components → components}/BaseLayerSwitcher/BaseLayerSwitcher.scss +0 -0
- /package/{src/components → components}/BasicMap/BasicMap.md.scss +0 -0
- /package/{src/components → components}/CanvasSaveButton/CanvasSaveButton.md.scss +0 -0
- /package/{src/components → components}/Copyright/Copyright.md.scss +0 -0
- /package/{src/components → components}/FeatureExportButton/FeatureExportButton.md.scss +0 -0
- /package/{src/components → components}/FitExtent/FitExtent.md.scss +0 -0
- /package/{src/components → components}/Geolocation/Geolocation.md.scss +0 -0
- /package/{src/components → components}/Geolocation/Geolocation.scss +0 -0
- /package/{src/components → components}/LayerTree/LayerTree.md.scss +0 -0
- /package/{src/components → components}/LayerTree/LayerTree.scss +0 -0
- /package/{src/components → components}/MousePosition/MousePosition.md.scss +0 -0
- /package/{src/components → components}/NorthArrow/NorthArrow.scss +0 -0
- /package/{src/components → components}/Overlay/Overlay.md.scss +0 -0
- /package/{src/components → components}/Overlay/Overlay.scss +0 -0
- /package/{src/components → components}/Permalink/Permalink.md.scss +0 -0
- /package/{src/components → components}/Popup/Popup.md.scss +0 -0
- /package/{src/components → components}/Popup/Popup.scss +0 -0
- /package/{src/components → components}/RouteSchedule/RouteSchedule.md.scss +0 -0
- /package/{src/components → components}/RouteSchedule/RouteSchedule.scss +0 -0
- /package/{src/components → components}/ScaleLine/ScaleLine.scss +0 -0
- /package/{src/components → components}/Zoom/Zoom.md.scss +0 -0
- /package/{src/components → components}/Zoom/Zoom.scss +0 -0
- /package/{src/images → images}/RouteSchedule/firstStation.png +0 -0
- /package/{src/images → images}/RouteSchedule/lastStation.png +0 -0
- /package/{src/images → images}/RouteSchedule/line.png +0 -0
- /package/{src/images → images}/RouteSchedule/station.png +0 -0
- /package/{src/images → images}/baselayer/baselayer.basebright.png +0 -0
- /package/{src/images → images}/baselayer/baselayer.osm.png +0 -0
- /package/{src/images → images}/baselayer/baselayer.travic.png +0 -0
- /package/{src/images → images}/baselayer/open.topo.map.png +0 -0
- /package/{src/images → images}/baselayer/osm.baselayer.hot.png +0 -0
- /package/{src/images → images}/baselayer/osm.baselayer.png +0 -0
- /package/{src/images → images}/favicon.png +0 -0
- /package/{src/images → images}/geops_logo.png +0 -0
- /package/{src/images → images}/geops_logo.svg +0 -0
- /package/{src/images → images}/geops_qr.png +0 -0
- /package/{src/images → images}/mots/bus_poi-blue-01.svg +0 -0
- /package/{src/images → images}/mots/bus_poi-grey-01.svg +0 -0
- /package/{src/images → images}/mots/bus_round-blue-01.svg +0 -0
- /package/{src/images → images}/mots/bus_round-grey-01.svg +0 -0
- /package/{src/images → images}/mots/bus_square-blue-01.svg +0 -0
- /package/{src/images → images}/mots/bus_square-grey-01.svg +0 -0
- /package/{src/images → images}/mots/cable_car_poi-blue-01.svg +0 -0
- /package/{src/images → images}/mots/cable_car_poi-grey-01.svg +0 -0
- /package/{src/images → images}/mots/cable_car_round-blue-01.svg +0 -0
- /package/{src/images → images}/mots/cable_car_round-grey-01.svg +0 -0
- /package/{src/images → images}/mots/cable_car_square-blue-01.svg +0 -0
- /package/{src/images → images}/mots/cable_car_square-grey-01.svg +0 -0
- /package/{src/images → images}/mots/ferry_poi-blue-01.svg +0 -0
- /package/{src/images → images}/mots/ferry_poi-grey-01.svg +0 -0
- /package/{src/images → images}/mots/ferry_round-blue-01.svg +0 -0
- /package/{src/images → images}/mots/ferry_round-grey-01.svg +0 -0
- /package/{src/images → images}/mots/ferry_square-blue-01.svg +0 -0
- /package/{src/images → images}/mots/ferry_square-grey-01.svg +0 -0
- /package/{src/images → images}/mots/funicular_round-blue-01.svg +0 -0
- /package/{src/images → images}/mots/funicular_round-grey-01.svg +0 -0
- /package/{src/images → images}/mots/funicular_square-blue-01.svg +0 -0
- /package/{src/images → images}/mots/gondola_round-blue-01.svg +0 -0
- /package/{src/images → images}/mots/rail_poi-blue-01.svg +0 -0
- /package/{src/images → images}/mots/rail_poi-grey-01.svg +0 -0
- /package/{src/images → images}/mots/rail_round-blue-01.svg +0 -0
- /package/{src/images → images}/mots/rail_round-grey-01.svg +0 -0
- /package/{src/images → images}/mots/rail_square-blue-01.svg +0 -0
- /package/{src/images → images}/mots/rail_square-grey-01.svg +0 -0
- /package/{src/images → images}/mots/subway_round blue-01.svg +0 -0
- /package/{src/images → images}/mots/subway_round-blue-01.svg +0 -0
- /package/{src/images → images}/mots/tram_poi-blue-01.svg +0 -0
- /package/{src/images → images}/mots/tram_poi-grey-01.svg +0 -0
- /package/{src/images → images}/mots/tram_round-blue-01.svg +0 -0
- /package/{src/images → images}/mots/tram_round-grey-01.svg +0 -0
- /package/{src/images → images}/mots/tram_square-blue-01.svg +0 -0
- /package/{src/images → images}/mots/tram_square-grey-01.svg +0 -0
- /package/{src/images → images}/northArrow.svg +0 -0
- /package/{src/images → images}/northArrow.url.svg +0 -0
- /package/{src/images → images}/northArrowCircle.svg +0 -0
- /package/{src/images → images}/northArrowCircle.url.svg +0 -0
- /package/{src/themes → themes}/README.md +0 -0
- /package/{src/themes → themes}/default/components.scss +0 -0
- /package/{src/themes → themes}/default/examples.scss +0 -0
- /package/{src/themes → themes}/default/index.scss +0 -0
- /package/{src/themes → themes}/default/mixins.scss +0 -0
- /package/{src/themes → themes}/default/variables.scss +0 -0
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import React, {
|
|
2
|
+
useEffect,
|
|
3
|
+
useRef,
|
|
4
|
+
useCallback,
|
|
5
|
+
useState,
|
|
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
|
+
import { easeOut } from "ol/easing";
|
|
13
|
+
import { unByKey } from "ol/Observable";
|
|
14
|
+
const propTypes = {
|
|
15
|
+
map: PropTypes.instanceOf(OLMap).isRequired,
|
|
16
|
+
delta: PropTypes.number,
|
|
17
|
+
titles: PropTypes.shape({
|
|
18
|
+
zoomIn: PropTypes.string,
|
|
19
|
+
zoomOut: PropTypes.string
|
|
20
|
+
}),
|
|
21
|
+
zoomInChildren: PropTypes.node,
|
|
22
|
+
zoomOutChildren: PropTypes.node,
|
|
23
|
+
zoomSlider: PropTypes.bool
|
|
24
|
+
};
|
|
25
|
+
const defaultProps = {
|
|
26
|
+
titles: {
|
|
27
|
+
zoomIn: "Zoom in",
|
|
28
|
+
zoomOut: "Zoom out"
|
|
29
|
+
},
|
|
30
|
+
zoomInChildren: /* @__PURE__ */ React.createElement(FaPlus, {
|
|
31
|
+
focusable: false
|
|
32
|
+
}),
|
|
33
|
+
zoomOutChildren: /* @__PURE__ */ React.createElement(FaMinus, {
|
|
34
|
+
focusable: false
|
|
35
|
+
}),
|
|
36
|
+
zoomSlider: false,
|
|
37
|
+
delta: 1
|
|
38
|
+
};
|
|
39
|
+
const updateZoom = (map, delta) => {
|
|
40
|
+
const view = map.getView();
|
|
41
|
+
const currentZoom = view.getZoom();
|
|
42
|
+
const newZoom = currentZoom + delta;
|
|
43
|
+
const constrainedZoom = view.getConstrainedZoom(newZoom);
|
|
44
|
+
if (view.getAnimating()) {
|
|
45
|
+
view.cancelAnimations();
|
|
46
|
+
}
|
|
47
|
+
view.animate({
|
|
48
|
+
zoom: constrainedZoom,
|
|
49
|
+
duration: 250,
|
|
50
|
+
easing: easeOut
|
|
51
|
+
});
|
|
52
|
+
};
|
|
53
|
+
function Zoom({
|
|
54
|
+
map,
|
|
55
|
+
titles,
|
|
56
|
+
zoomInChildren,
|
|
57
|
+
zoomOutChildren,
|
|
58
|
+
zoomSlider,
|
|
59
|
+
delta,
|
|
60
|
+
...other
|
|
61
|
+
}) {
|
|
62
|
+
const ref = useRef();
|
|
63
|
+
const [currentZoom, setZoom] = useState();
|
|
64
|
+
const zoomIn = useCallback(
|
|
65
|
+
(evt) => {
|
|
66
|
+
if (!evt.which || evt.which === 13) {
|
|
67
|
+
updateZoom(map, delta);
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
[delta, map]
|
|
71
|
+
);
|
|
72
|
+
const zoomOut = useCallback(
|
|
73
|
+
(evt) => {
|
|
74
|
+
if (!evt.which || evt.which === 13) {
|
|
75
|
+
updateZoom(map, -delta);
|
|
76
|
+
}
|
|
77
|
+
},
|
|
78
|
+
[delta, map]
|
|
79
|
+
);
|
|
80
|
+
const zoomInDisabled = useMemo(() => {
|
|
81
|
+
return currentZoom >= map.getView().getConstrainedZoom(map.getView().getMaxZoom());
|
|
82
|
+
}, [currentZoom, map]);
|
|
83
|
+
const zoomOutDisabled = useMemo(() => {
|
|
84
|
+
return currentZoom <= map.getView().getConstrainedZoom(map.getView().getMinZoom());
|
|
85
|
+
}, [currentZoom, map]);
|
|
86
|
+
useEffect(() => {
|
|
87
|
+
const listenerKey = map.on("moveend", () => {
|
|
88
|
+
setZoom(map.getView().getZoom());
|
|
89
|
+
});
|
|
90
|
+
let control;
|
|
91
|
+
if (zoomSlider && ref.current) {
|
|
92
|
+
control = new ZoomSlider();
|
|
93
|
+
control.element.firstElementChild.tabIndex = -1;
|
|
94
|
+
control.setTarget(ref.current);
|
|
95
|
+
map.addControl(control);
|
|
96
|
+
}
|
|
97
|
+
return () => {
|
|
98
|
+
unByKey(listenerKey);
|
|
99
|
+
if (control) {
|
|
100
|
+
map.removeControl(control);
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
}, [map, zoomSlider]);
|
|
104
|
+
return /* @__PURE__ */ React.createElement("div", {
|
|
105
|
+
className: "rs-zooms-bar",
|
|
106
|
+
...other
|
|
107
|
+
}, /* @__PURE__ */ React.createElement("button", {
|
|
108
|
+
type: "button",
|
|
109
|
+
tabIndex: 0,
|
|
110
|
+
className: "rs-zoom-in",
|
|
111
|
+
title: titles.zoomIn,
|
|
112
|
+
onClick: zoomIn,
|
|
113
|
+
onKeyPress: zoomIn,
|
|
114
|
+
disabled: zoomInDisabled
|
|
115
|
+
}, zoomInChildren), zoomSlider ? /* @__PURE__ */ React.createElement("div", {
|
|
116
|
+
className: "rs-zoomslider-wrapper",
|
|
117
|
+
ref
|
|
118
|
+
}) : null, /* @__PURE__ */ React.createElement("button", {
|
|
119
|
+
type: "button",
|
|
120
|
+
tabIndex: 0,
|
|
121
|
+
className: "rs-zoom-out",
|
|
122
|
+
title: titles.zoomOut,
|
|
123
|
+
onClick: zoomOut,
|
|
124
|
+
onKeyPress: zoomOut,
|
|
125
|
+
disabled: zoomOutDisabled
|
|
126
|
+
}, zoomOutChildren));
|
|
127
|
+
}
|
|
128
|
+
Zoom.propTypes = propTypes;
|
|
129
|
+
Zoom.defaultProps = defaultProps;
|
|
130
|
+
export default React.memo(Zoom);
|
|
@@ -0,0 +1,7 @@
|
|
|
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';\nimport { easeOut } from 'ol/easing';\nimport { unByKey } from 'ol/Observable';\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, delta) => {\n const view = map.getView();\n const currentZoom = view.getZoom();\n const newZoom = currentZoom + delta;\n const constrainedZoom = view.getConstrainedZoom(newZoom);\n if (view.getAnimating()) {\n view.cancelAnimations();\n }\n view.animate({\n zoom: constrainedZoom,\n duration: 250,\n easing: easeOut,\n });\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 listenerKey = map.on('moveend', () => {\n setZoom(map.getView().getZoom());\n });\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 unByKey(listenerKey);\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
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from "./Zoom";
|
package/package.json
CHANGED
|
@@ -1,25 +1,22 @@
|
|
|
1
|
-
import PropTypes from
|
|
2
|
-
|
|
3
|
-
const
|
|
4
|
-
const STATE_LEAVING = 'LEAVING';
|
|
5
|
-
|
|
1
|
+
import PropTypes from "prop-types";
|
|
2
|
+
const STATE_BOARDING = "BOARDING";
|
|
3
|
+
const STATE_LEAVING = "LEAVING";
|
|
6
4
|
const station = PropTypes.shape({
|
|
7
|
-
arrivalDelay: PropTypes.number,
|
|
8
|
-
aimedArrivalTime: PropTypes.number,
|
|
9
|
-
arrivalTime: PropTypes.number,
|
|
5
|
+
arrivalDelay: PropTypes.number,
|
|
6
|
+
aimedArrivalTime: PropTypes.number,
|
|
7
|
+
arrivalTime: PropTypes.number,
|
|
10
8
|
cancelled: PropTypes.bool,
|
|
11
9
|
coordinates: PropTypes.arrayOf(PropTypes.number),
|
|
12
|
-
aimedDepartureTime: PropTypes.number,
|
|
13
|
-
departureDelay: PropTypes.number,
|
|
14
|
-
departureTime: PropTypes.number,
|
|
10
|
+
aimedDepartureTime: PropTypes.number,
|
|
11
|
+
departureDelay: PropTypes.number,
|
|
12
|
+
departureTime: 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
20
|
const lineInfos = PropTypes.shape({
|
|
24
21
|
backgroundColor: PropTypes.string,
|
|
25
22
|
bicyclesAllowed: PropTypes.bool,
|
|
@@ -42,12 +39,11 @@ const 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
45
|
lineInfos,
|
|
50
46
|
station,
|
|
51
47
|
STATE_BOARDING,
|
|
52
|
-
STATE_LEAVING
|
|
48
|
+
STATE_LEAVING
|
|
53
49
|
};
|
package/propTypes.js.map
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
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 aimedArrivalTime: PropTypes.number, // time in milliseconds.\n arrivalTime: PropTypes.number, // time in milliseconds with the delay included.\n cancelled: PropTypes.bool,\n coordinates: PropTypes.arrayOf(PropTypes.number),\n aimedDepartureTime: PropTypes.number, // time in milliseconds.\n departureDelay: PropTypes.number, // time in milliseconds.\n departureTime: 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,kBAAkB,UAAU;AAAA,EAC5B,aAAa,UAAU;AAAA,EACvB,WAAW,UAAU;AAAA,EACrB,aAAa,UAAU,QAAQ,UAAU,MAAM;AAAA,EAC/C,oBAAoB,UAAU;AAAA,EAC9B,gBAAgB,UAAU;AAAA,EAC1B,eAAe,UAAU;AAAA,EACzB,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
|
+
}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import OLVectorLayer from "ol/layer/Vector";
|
|
2
|
+
import VectorSource from "ol/source/Vector";
|
|
3
|
+
import Control from "ol/control/Control";
|
|
4
|
+
import Draw from "ol/interaction/Draw";
|
|
5
|
+
import Snap from "ol/interaction/Snap";
|
|
6
|
+
import Pointer from "ol/interaction/Pointer";
|
|
7
|
+
import Select from "ol/interaction/Select";
|
|
8
|
+
import Modify from "ol/interaction/Modify";
|
|
9
|
+
import Style from "ol/style/Style";
|
|
10
|
+
import Fill from "ol/style/Fill";
|
|
11
|
+
import Stroke from "ol/style/Stroke";
|
|
12
|
+
import Circle from "ol/style/Circle";
|
|
13
|
+
import Icon from "ol/style/Icon";
|
|
14
|
+
import RegularShape from "ol/style/RegularShape";
|
|
15
|
+
import Collection from "ol/Collection";
|
|
16
|
+
import Feature from "ol/Feature";
|
|
17
|
+
import Observable, { unByKey } from "ol/Observable";
|
|
18
|
+
import { getCenter } from "ol/extent";
|
|
19
|
+
import {
|
|
20
|
+
Point,
|
|
21
|
+
LineString,
|
|
22
|
+
Polygon,
|
|
23
|
+
MultiPoint,
|
|
24
|
+
MultiLineString,
|
|
25
|
+
MultiPolygon
|
|
26
|
+
} from "ol/geom";
|
|
27
|
+
import LinearRing from "ol/geom/LinearRing";
|
|
28
|
+
import { fromExtent } from "ol/geom/Polygon";
|
|
29
|
+
import * as events from "ol/events";
|
|
30
|
+
import * as condition from "ol/events/condition";
|
|
31
|
+
import { OL3Parser } from "jsts/org/locationtech/jts/io";
|
|
32
|
+
import { BufferOp } from "jsts/org/locationtech/jts/operation/buffer";
|
|
33
|
+
import { OverlayOp } from "jsts/org/locationtech/jts/operation/overlay";
|
|
34
|
+
if (!window.ol) {
|
|
35
|
+
window.ol = {
|
|
36
|
+
Feature,
|
|
37
|
+
Collection,
|
|
38
|
+
layer: {
|
|
39
|
+
Vector: OLVectorLayer
|
|
40
|
+
},
|
|
41
|
+
source: {
|
|
42
|
+
Vector: VectorSource
|
|
43
|
+
},
|
|
44
|
+
interaction: {
|
|
45
|
+
Draw,
|
|
46
|
+
Snap,
|
|
47
|
+
Pointer,
|
|
48
|
+
Select,
|
|
49
|
+
Modify
|
|
50
|
+
},
|
|
51
|
+
control: {
|
|
52
|
+
Control
|
|
53
|
+
},
|
|
54
|
+
style: {
|
|
55
|
+
Style,
|
|
56
|
+
Fill,
|
|
57
|
+
Stroke,
|
|
58
|
+
Circle,
|
|
59
|
+
RegularShape,
|
|
60
|
+
Icon
|
|
61
|
+
},
|
|
62
|
+
geom: {
|
|
63
|
+
Point,
|
|
64
|
+
LineString,
|
|
65
|
+
Polygon,
|
|
66
|
+
MultiPoint,
|
|
67
|
+
MultiLineString,
|
|
68
|
+
MultiPolygon,
|
|
69
|
+
LinearRing
|
|
70
|
+
},
|
|
71
|
+
extent: {
|
|
72
|
+
getCenter
|
|
73
|
+
},
|
|
74
|
+
Observable: {
|
|
75
|
+
...Observable,
|
|
76
|
+
unByKey
|
|
77
|
+
},
|
|
78
|
+
events: {
|
|
79
|
+
...events,
|
|
80
|
+
condition: {
|
|
81
|
+
...condition
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
window.ol.geom.Polygon.fromExtent = fromExtent;
|
|
86
|
+
}
|
|
87
|
+
if (!window.jsts) {
|
|
88
|
+
window.jsts = {
|
|
89
|
+
io: {
|
|
90
|
+
OL3Parser
|
|
91
|
+
},
|
|
92
|
+
operation: { buffer: { BufferOp }, overlay: { OverlayOp } }
|
|
93
|
+
};
|
|
94
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/utils/GlobalsForOle.js"],
|
|
4
|
+
"sourcesContent": ["import OLVectorLayer from 'ol/layer/Vector';\nimport VectorSource from 'ol/source/Vector';\nimport Control from 'ol/control/Control';\nimport Draw from 'ol/interaction/Draw';\nimport Snap from 'ol/interaction/Snap';\nimport Pointer from 'ol/interaction/Pointer';\nimport Select from 'ol/interaction/Select';\nimport Modify from 'ol/interaction/Modify';\nimport Style from 'ol/style/Style';\nimport Fill from 'ol/style/Fill';\nimport Stroke from 'ol/style/Stroke';\nimport Circle from 'ol/style/Circle';\nimport Icon from 'ol/style/Icon';\nimport RegularShape from 'ol/style/RegularShape';\nimport Collection from 'ol/Collection';\nimport Feature from 'ol/Feature';\nimport Observable, { unByKey } from 'ol/Observable';\nimport { getCenter } from 'ol/extent';\nimport {\n Point,\n LineString,\n Polygon,\n MultiPoint,\n MultiLineString,\n MultiPolygon,\n} from 'ol/geom';\nimport LinearRing from 'ol/geom/LinearRing';\nimport { fromExtent } from 'ol/geom/Polygon';\nimport * as events from 'ol/events';\nimport * as condition from 'ol/events/condition';\nimport { OL3Parser } from 'jsts/org/locationtech/jts/io';\nimport { BufferOp } from 'jsts/org/locationtech/jts/operation/buffer';\nimport { OverlayOp } from 'jsts/org/locationtech/jts/operation/overlay';\n\n/**\n * This module create window.ol and window.jsts variables for ole editor.\n */\nif (!window.ol) {\n window.ol = {\n Feature,\n Collection,\n layer: {\n Vector: OLVectorLayer,\n },\n source: {\n Vector: VectorSource,\n },\n interaction: {\n Draw,\n Snap,\n Pointer,\n Select,\n Modify,\n },\n control: {\n Control,\n },\n style: {\n Style,\n Fill,\n Stroke,\n Circle,\n RegularShape,\n Icon,\n },\n geom: {\n Point,\n LineString,\n Polygon,\n MultiPoint,\n MultiLineString,\n MultiPolygon,\n LinearRing,\n },\n extent: {\n getCenter,\n },\n Observable: {\n ...Observable,\n unByKey,\n },\n events: {\n ...events,\n condition: {\n ...condition,\n },\n },\n };\n window.ol.geom.Polygon.fromExtent = fromExtent;\n}\n\nif (!window.jsts) {\n window.jsts = {\n io: {\n OL3Parser,\n },\n operation: { buffer: { BufferOp }, overlay: { OverlayOp } },\n };\n}\n"],
|
|
5
|
+
"mappings": "AAAA,OAAO,mBAAmB;AAC1B,OAAO,kBAAkB;AACzB,OAAO,aAAa;AACpB,OAAO,UAAU;AACjB,OAAO,UAAU;AACjB,OAAO,aAAa;AACpB,OAAO,YAAY;AACnB,OAAO,YAAY;AACnB,OAAO,WAAW;AAClB,OAAO,UAAU;AACjB,OAAO,YAAY;AACnB,OAAO,YAAY;AACnB,OAAO,UAAU;AACjB,OAAO,kBAAkB;AACzB,OAAO,gBAAgB;AACvB,OAAO,aAAa;AACpB,OAAO,cAAc,eAAe;AACpC,SAAS,iBAAiB;AAC1B;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,OAAO,gBAAgB;AACvB,SAAS,kBAAkB;AAC3B,YAAY,YAAY;AACxB,YAAY,eAAe;AAC3B,SAAS,iBAAiB;AAC1B,SAAS,gBAAgB;AACzB,SAAS,iBAAiB;AAK1B,IAAI,CAAC,OAAO,IAAI;AACd,SAAO,KAAK;AAAA,IACV;AAAA,IACA;AAAA,IACA,OAAO;AAAA,MACL,QAAQ;AAAA,IACV;AAAA,IACA,QAAQ;AAAA,MACN,QAAQ;AAAA,IACV;AAAA,IACA,aAAa;AAAA,MACX;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,SAAS;AAAA,MACP;AAAA,IACF;AAAA,IACA,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,MAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,QAAQ;AAAA,MACN;AAAA,IACF;AAAA,IACA,YAAY;AAAA,MACV,GAAG;AAAA,MACH;AAAA,IACF;AAAA,IACA,QAAQ;AAAA,MACN,GAAG;AAAA,MACH,WAAW;AAAA,QACT,GAAG;AAAA,MACL;AAAA,IACF;AAAA,EACF;AACA,SAAO,GAAG,KAAK,QAAQ,aAAa;AACtC;AAEA,IAAI,CAAC,OAAO,MAAM;AAChB,SAAO,OAAO;AAAA,IACZ,IAAI;AAAA,MACF;AAAA,IACF;AAAA,IACA,WAAW,EAAE,QAAQ,EAAE,SAAS,GAAG,SAAS,EAAE,UAAU,EAAE;AAAA,EAC5D;AACF;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|