react-spatial 1.1.4-beta.1 → 1.1.6-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -233,7 +233,7 @@ var BasicMap = /*@__PURE__*/(function (PureComponent) {
|
|
|
233
233
|
}
|
|
234
234
|
|
|
235
235
|
if (prevProps.layers !== layers) {
|
|
236
|
-
this.setLayers(layers);
|
|
236
|
+
this.setLayers(layers, prevProps.layers);
|
|
237
237
|
}
|
|
238
238
|
|
|
239
239
|
// Creates a new view if necessary before updating the others prop.
|
|
@@ -293,22 +293,15 @@ var BasicMap = /*@__PURE__*/(function (PureComponent) {
|
|
|
293
293
|
this.setState({ node: node });
|
|
294
294
|
};
|
|
295
295
|
|
|
296
|
-
BasicMap.prototype.setLayers = function setLayers (layers) {
|
|
297
|
-
var this$1 = this;
|
|
296
|
+
BasicMap.prototype.setLayers = function setLayers (layers, prevLayers) {
|
|
298
297
|
if ( layers === void 0 ) layers = [];
|
|
298
|
+
if ( prevLayers === void 0 ) prevLayers = [];
|
|
299
299
|
|
|
300
|
-
var
|
|
301
|
-
|
|
302
|
-
});
|
|
303
|
-
for (var i = 0; i < layersToRemove.length; i += 1) {
|
|
304
|
-
this.terminateLayer(layersToRemove[i]);
|
|
300
|
+
for (var i = 0; i < prevLayers.length; i += 1) {
|
|
301
|
+
this.terminateLayer(prevLayers[i]);
|
|
305
302
|
}
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
return !this$1.layers.includes(layer);
|
|
309
|
-
});
|
|
310
|
-
for (var i$1 = 0; i$1 < layersToInit.length; i$1 += 1) {
|
|
311
|
-
this.initLayer(layersToInit[i$1]);
|
|
303
|
+
for (var i$1 = 0; i$1 < layers.length; i$1 += 1) {
|
|
304
|
+
this.initLayer(layers[i$1]);
|
|
312
305
|
}
|
|
313
306
|
this.layers = layers;
|
|
314
307
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BasicMap.js","sources":["../../../src/components/BasicMap/BasicMap.js"],"sourcesContent":["import React, { PureComponent } from 'react';\nimport PropTypes from 'prop-types';\nimport { defaults as defaultInteractions } from 'ol/interaction';\nimport { equals } from 'ol/extent';\nimport OLMap from 'ol/Map';\nimport OLCollection from 'ol/Collection';\nimport View from 'ol/View';\nimport { unByKey } from 'ol/Observable';\nimport Interaction from 'ol/interaction/Interaction';\nimport { Layer } from 'mobility-toolbox-js/ol';\nimport ResizeHandler from '../ResizeHandler';\n\nconst propTypes = {\n /** Map animation options */\n animationOptions: PropTypes.shape({\n center: PropTypes.arrayOf(PropTypes.number),\n resolution: PropTypes.number,\n zoom: PropTypes.number,\n }),\n\n /** Center of the [ol/View](https://openlayers.org/en/latest/apidoc/module-ol_View-View.html). */\n center: PropTypes.arrayOf(PropTypes.number),\n\n /** Class name of the map container */\n className: PropTypes.string,\n\n /** Map extent */\n extent: PropTypes.arrayOf(PropTypes.number),\n\n /** Openlayers [fit options](https://openlayers.org/en/latest/apidoc/module-ol_View-View.html#fit) when extent is updated */\n fitOptions: PropTypes.object,\n\n /** Array of [ol/interaction](https://openlayers.org/en/latest/apidoc/module-ol_interaction_Interaction-Interaction.html). */\n interactions: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.instanceOf(Interaction)),\n PropTypes.instanceOf(OLCollection),\n ]),\n\n /** Array of [mobility-toolbox-js layers](https://mobility-toolbox-js.geops.io/api/identifiers%20html#ol-layers) to display. */\n layers: PropTypes.arrayOf(PropTypes.instanceOf(Layer)),\n\n /** An [ol/map](https://openlayers.org/en/latest/apidoc/module-ol_Map-Map.html). */\n map: PropTypes.instanceOf(OLMap),\n\n /**\n * Callback when a [ol/Feature](https://openlayers.org/en/latest/apidoc/module-ol_Feature-Feature.html) is clicked.\n * @param {OLFeature[]} features An array of [ol/Feature](https://openlayers.org/en/latest/apidoc/module-ol_Feature-Feature.html).\n * @param {ol.MapBrowserEvent} event The singleclick [ol/MapBrowserEvent](https://openlayers.org/en/latest/apidoc/module-ol_MapBrowserEvent-MapBrowserEvent.html#event:singleclick).\n */\n onFeaturesClick: PropTypes.func,\n\n /**\n * Optional options to pass on feature click. Passed to ol's 'getFeaturesAtPixel' method.\n * https://openlayers.org/en/latest/apidoc/module-ol_Map-Map.html#getFeaturesAtPixel\n */\n featuresClickOptions: PropTypes.shape({\n layerFilter: PropTypes.func,\n hitTolerance: PropTypes.number,\n checkWrapped: PropTypes.bool,\n }),\n\n /**\n * Callback when a [ol/Feature](https://openlayers.org/en/latest/apidoc/module-ol_Feature-Feature.html) is hovered.\n * @param {OLFeature[]} features An array of [ol/Feature](https://openlayers.org/en/latest/apidoc/module-ol_Feature-Feature.html).\n * @param {ol.MapBrowserEvent} event The pointermove [ol/MapBrowserEvent](https://openlayers.org/en/latest/apidoc/module-ol_MapBrowserEvent-MapBrowserEvent.html#event:pointermove).\n */\n onFeaturesHover: PropTypes.func,\n\n /**\n * Callback when the map was moved.\n * @param {ol.MapEvent} event The movend [ol/MapEvent](https://openlayers.org/en/latest/apidoc/module-ol_MapBrowserEvent-MapBrowserEvent.html#event:moveend).\n */\n onMapMoved: PropTypes.func,\n\n /** Map resolution */\n resolution: PropTypes.number,\n\n /** The tabIndex of the map. */\n tabIndex: PropTypes.number,\n\n /** The style of the map. */\n style: PropTypes.object,\n\n /** HTML aria-label. */\n ariaLabel: PropTypes.string,\n\n /** [ol/View](https://openlayers.org/en/latest/apidoc/module-ol_View-View.html) constructor options */\n viewOptions: PropTypes.shape({\n minZoom: PropTypes.number,\n maxZoom: PropTypes.number,\n extent: PropTypes.array,\n projection: PropTypes.string,\n }),\n\n /** Map zoom level */\n zoom: PropTypes.number,\n};\n\nconst defaultProps = {\n animationOptions: undefined,\n center: [0, 0],\n className: 'rs-map',\n extent: undefined,\n fitOptions: {\n duration: 1000,\n padding: [20, 20, 20, 20],\n maxZoom: 23,\n },\n style: undefined,\n interactions: null,\n layers: [],\n map: null,\n onFeaturesClick: undefined,\n featuresClickOptions: {\n hitTolerance: 0,\n },\n onFeaturesHover: undefined,\n onMapMoved: undefined,\n resolution: undefined,\n tabIndex: undefined,\n ariaLabel: 'map',\n viewOptions: {\n minZoom: 0,\n maxZoom: 22,\n extent: undefined,\n projection: 'EPSG:3857',\n },\n zoom: 1,\n};\n\n/**\n * The BasicMap component renders an [ol/map](https://openlayers.org/en/latest/apidoc/module-ol_Map-Map.html).\n *\n * The map's view is created with the following parameters for the view:\n * - projection: 'EPSG:3857'\n * - zoom: 0\n * - minZoom: 0\n * - maxZoom: 22\n *\n * These options can be overridden using the viewOptions property.\n */\nclass BasicMap extends PureComponent {\n constructor(props) {\n super(props);\n const { map, interactions } = this.props;\n\n this.map =\n map ||\n new OLMap({\n controls: [],\n interactions:\n interactions ||\n defaultInteractions({\n altShiftDragRotate: false,\n pinchRotate: false,\n }),\n });\n\n this.state = {\n node: null,\n };\n\n this.layers = [];\n this.moveEndRef = null;\n this.singleClickRef = null;\n this.pointerMoveRef = null;\n this.setNode = this.setNode.bind(this);\n }\n\n componentDidMount() {\n const { layers, extent, viewOptions, center, zoom, resolution } =\n this.props;\n const { node } = this.state;\n this.map.setTarget(node);\n\n // We set the view here otherwise the map is not correctly zoomed.\n this.map.setView(new View({ ...viewOptions, center, zoom, resolution }));\n\n // // Since ol 6.1.0 touch-action is set to auto and creates a bad navigation experience on mobile,\n // // so we have to force it to none for mobile.\n // // https://github.com/openlayers/openlayers/pull/10187/files\n const viewPort = this.map.getViewport();\n viewPort.style.touchAction = 'none';\n viewPort.style.msTouchAction = 'none';\n viewPort.setAttribute('touch-action', 'none');\n\n // Fit only work if the map has a size.\n if (this.map.getSize() && extent) {\n this.map.getView().fit(extent);\n }\n\n this.setLayers(layers);\n this.listenMoveEnd();\n this.listenSingleClick();\n this.listenPointerMove();\n }\n\n componentDidUpdate(prevProps, prevState) {\n const {\n animationOptions,\n center,\n extent,\n fitOptions,\n layers,\n resolution,\n viewOptions,\n zoom,\n onMapMoved,\n onFeaturesClick,\n onFeaturesHover,\n } = this.props;\n const { node } = this.state;\n\n if (prevState.node !== node) {\n this.map.setTarget(node);\n\n // When the node is set we reinitialize the extent with the extent property.\n if (!prevState.node && node && extent) {\n this.map.getView().fit(extent);\n }\n }\n\n if (prevProps.layers !== layers) {\n this.setLayers(layers);\n }\n\n // Creates a new view if necessary before updating the others prop.\n if (\n viewOptions &&\n JSON.stringify(viewOptions) !== JSON.stringify(prevProps.viewOptions)\n ) {\n // Re-create a view, ol doesn't provide any method to setExtent of view.\n this.map.setView(\n new View({\n ...viewOptions,\n center,\n resolution,\n zoom,\n }),\n );\n }\n\n const view = this.map.getView();\n\n if (animationOptions && prevProps.animationOptions !== animationOptions) {\n view.animate(animationOptions);\n }\n\n if (prevProps.center !== center) {\n view.setCenter(center);\n }\n\n if (zoom !== prevProps.zoom) {\n view.setZoom(zoom);\n }\n\n if (resolution !== prevProps.resolution) {\n view.setResolution(resolution);\n }\n\n if (extent && !equals(extent, prevProps.extent || [])) {\n view.fit(extent, fitOptions);\n }\n\n if (onMapMoved !== prevProps.onMapMoved) {\n this.listenMoveEnd();\n }\n\n if (onFeaturesClick !== prevProps.onFeaturesClick) {\n this.listenSingleClick();\n }\n\n if (onFeaturesHover !== prevProps.onFeaturesHover) {\n this.listenPointerMove();\n }\n }\n\n componentWillUnmount() {\n unByKey([this.moveEndRef, this.singleClickRef, this.pointerMoveRef]);\n }\n\n setNode(node) {\n this.setState({ node });\n }\n\n setLayers(layers = []) {\n const layersToRemove = this.layers.filter((layer) => {\n return !layers.includes(layer);\n });\n for (let i = 0; i < layersToRemove.length; i += 1) {\n this.terminateLayer(layersToRemove[i]);\n }\n\n const layersToInit = layers.filter((layer) => {\n return !this.layers.includes(layer);\n });\n for (let i = 0; i < layersToInit.length; i += 1) {\n this.initLayer(layersToInit[i]);\n }\n this.layers = layers;\n }\n\n initLayer(layer) {\n layer.init(this.map);\n if (\n layer.olLayer &&\n this.map.getLayers() &&\n !this.map.getLayers().getArray().includes(layer.olLayer)\n ) {\n this.map.addLayer(layer.olLayer);\n }\n const layers = layer.children || [];\n for (let i = 0; i < layers.length; i += 1) {\n this.initLayer(layers[i]);\n }\n }\n\n terminateLayer(layer) {\n if (\n layer.olLayer &&\n this.map.getLayers() &&\n this.map.getLayers().getArray().includes(layer.olLayer)\n ) {\n this.map.removeLayer(layer.olLayer);\n }\n layer.terminate(this.map);\n const layers = layer.children || [];\n for (let i = 0; i < layers.length; i += 1) {\n this.terminateLayer(layers[i]);\n }\n }\n\n listenMoveEnd() {\n const { onMapMoved } = this.props;\n unByKey(this.moveEndRef);\n\n if (!onMapMoved) {\n return;\n }\n\n this.moveEndRef = this.map.on('moveend', (evt) => {\n return onMapMoved(evt);\n });\n }\n\n listenSingleClick() {\n const { onFeaturesClick, featuresClickOptions } = this.props;\n unByKey(this.singleClickRef);\n\n if (!onFeaturesClick) {\n return;\n }\n\n this.singleClickRef = this.map.on('singleclick', (evt) => {\n const features = evt.map.getFeaturesAtPixel(\n evt.pixel,\n featuresClickOptions,\n );\n onFeaturesClick(features || [], evt);\n });\n }\n\n listenPointerMove() {\n const { onFeaturesHover } = this.props;\n unByKey(this.pointerMoveRef);\n\n if (!onFeaturesHover) {\n return;\n }\n\n this.pointerMoveRef = this.map.on('pointermove', (evt) => {\n const features = evt.map.getFeaturesAtPixel(evt.pixel);\n onFeaturesHover(features || [], evt);\n });\n }\n\n render() {\n const { className, tabIndex, ariaLabel, style } = this.props;\n const { node } = this.state;\n return (\n <div\n className={className}\n ref={this.setNode}\n role=\"presentation\"\n aria-label={ariaLabel}\n tabIndex={tabIndex}\n style={style}\n >\n <ResizeHandler\n maxHeightBrkpts={null}\n maxWidthBrkpts={null}\n observe={node}\n onResize={() => {\n this.map.updateSize();\n }}\n />\n </div>\n );\n }\n}\n\nBasicMap.propTypes = propTypes;\nBasicMap.defaultProps = defaultProps;\n\nexport default BasicMap;\n"],"names":["const","super","i","let","this"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BasicMap.js","sources":["../../../src/components/BasicMap/BasicMap.js"],"sourcesContent":["import React, { PureComponent } from 'react';\nimport PropTypes from 'prop-types';\nimport { defaults as defaultInteractions } from 'ol/interaction';\nimport { equals } from 'ol/extent';\nimport OLMap from 'ol/Map';\nimport OLCollection from 'ol/Collection';\nimport View from 'ol/View';\nimport { unByKey } from 'ol/Observable';\nimport Interaction from 'ol/interaction/Interaction';\nimport { Layer } from 'mobility-toolbox-js/ol';\nimport ResizeHandler from '../ResizeHandler';\n\nconst propTypes = {\n /** Map animation options */\n animationOptions: PropTypes.shape({\n center: PropTypes.arrayOf(PropTypes.number),\n resolution: PropTypes.number,\n zoom: PropTypes.number,\n }),\n\n /** Center of the [ol/View](https://openlayers.org/en/latest/apidoc/module-ol_View-View.html). */\n center: PropTypes.arrayOf(PropTypes.number),\n\n /** Class name of the map container */\n className: PropTypes.string,\n\n /** Map extent */\n extent: PropTypes.arrayOf(PropTypes.number),\n\n /** Openlayers [fit options](https://openlayers.org/en/latest/apidoc/module-ol_View-View.html#fit) when extent is updated */\n fitOptions: PropTypes.object,\n\n /** Array of [ol/interaction](https://openlayers.org/en/latest/apidoc/module-ol_interaction_Interaction-Interaction.html). */\n interactions: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.instanceOf(Interaction)),\n PropTypes.instanceOf(OLCollection),\n ]),\n\n /** Array of [mobility-toolbox-js layers](https://mobility-toolbox-js.geops.io/api/identifiers%20html#ol-layers) to display. */\n layers: PropTypes.arrayOf(PropTypes.instanceOf(Layer)),\n\n /** An [ol/map](https://openlayers.org/en/latest/apidoc/module-ol_Map-Map.html). */\n map: PropTypes.instanceOf(OLMap),\n\n /**\n * Callback when a [ol/Feature](https://openlayers.org/en/latest/apidoc/module-ol_Feature-Feature.html) is clicked.\n * @param {OLFeature[]} features An array of [ol/Feature](https://openlayers.org/en/latest/apidoc/module-ol_Feature-Feature.html).\n * @param {ol.MapBrowserEvent} event The singleclick [ol/MapBrowserEvent](https://openlayers.org/en/latest/apidoc/module-ol_MapBrowserEvent-MapBrowserEvent.html#event:singleclick).\n */\n onFeaturesClick: PropTypes.func,\n\n /**\n * Optional options to pass on feature click. Passed to ol's 'getFeaturesAtPixel' method.\n * https://openlayers.org/en/latest/apidoc/module-ol_Map-Map.html#getFeaturesAtPixel\n */\n featuresClickOptions: PropTypes.shape({\n layerFilter: PropTypes.func,\n hitTolerance: PropTypes.number,\n checkWrapped: PropTypes.bool,\n }),\n\n /**\n * Callback when a [ol/Feature](https://openlayers.org/en/latest/apidoc/module-ol_Feature-Feature.html) is hovered.\n * @param {OLFeature[]} features An array of [ol/Feature](https://openlayers.org/en/latest/apidoc/module-ol_Feature-Feature.html).\n * @param {ol.MapBrowserEvent} event The pointermove [ol/MapBrowserEvent](https://openlayers.org/en/latest/apidoc/module-ol_MapBrowserEvent-MapBrowserEvent.html#event:pointermove).\n */\n onFeaturesHover: PropTypes.func,\n\n /**\n * Callback when the map was moved.\n * @param {ol.MapEvent} event The movend [ol/MapEvent](https://openlayers.org/en/latest/apidoc/module-ol_MapBrowserEvent-MapBrowserEvent.html#event:moveend).\n */\n onMapMoved: PropTypes.func,\n\n /** Map resolution */\n resolution: PropTypes.number,\n\n /** The tabIndex of the map. */\n tabIndex: PropTypes.number,\n\n /** The style of the map. */\n style: PropTypes.object,\n\n /** HTML aria-label. */\n ariaLabel: PropTypes.string,\n\n /** [ol/View](https://openlayers.org/en/latest/apidoc/module-ol_View-View.html) constructor options */\n viewOptions: PropTypes.shape({\n minZoom: PropTypes.number,\n maxZoom: PropTypes.number,\n extent: PropTypes.array,\n projection: PropTypes.string,\n }),\n\n /** Map zoom level */\n zoom: PropTypes.number,\n};\n\nconst defaultProps = {\n animationOptions: undefined,\n center: [0, 0],\n className: 'rs-map',\n extent: undefined,\n fitOptions: {\n duration: 1000,\n padding: [20, 20, 20, 20],\n maxZoom: 23,\n },\n style: undefined,\n interactions: null,\n layers: [],\n map: null,\n onFeaturesClick: undefined,\n featuresClickOptions: {\n hitTolerance: 0,\n },\n onFeaturesHover: undefined,\n onMapMoved: undefined,\n resolution: undefined,\n tabIndex: undefined,\n ariaLabel: 'map',\n viewOptions: {\n minZoom: 0,\n maxZoom: 22,\n extent: undefined,\n projection: 'EPSG:3857',\n },\n zoom: 1,\n};\n\n/**\n * The BasicMap component renders an [ol/map](https://openlayers.org/en/latest/apidoc/module-ol_Map-Map.html).\n *\n * The map's view is created with the following parameters for the view:\n * - projection: 'EPSG:3857'\n * - zoom: 0\n * - minZoom: 0\n * - maxZoom: 22\n *\n * These options can be overridden using the viewOptions property.\n */\nclass BasicMap extends PureComponent {\n constructor(props) {\n super(props);\n const { map, interactions } = this.props;\n\n this.map =\n map ||\n new OLMap({\n controls: [],\n interactions:\n interactions ||\n defaultInteractions({\n altShiftDragRotate: false,\n pinchRotate: false,\n }),\n });\n\n this.state = {\n node: null,\n };\n\n this.layers = [];\n this.moveEndRef = null;\n this.singleClickRef = null;\n this.pointerMoveRef = null;\n this.setNode = this.setNode.bind(this);\n }\n\n componentDidMount() {\n const { layers, extent, viewOptions, center, zoom, resolution } =\n this.props;\n const { node } = this.state;\n this.map.setTarget(node);\n\n // We set the view here otherwise the map is not correctly zoomed.\n this.map.setView(new View({ ...viewOptions, center, zoom, resolution }));\n\n // // Since ol 6.1.0 touch-action is set to auto and creates a bad navigation experience on mobile,\n // // so we have to force it to none for mobile.\n // // https://github.com/openlayers/openlayers/pull/10187/files\n const viewPort = this.map.getViewport();\n viewPort.style.touchAction = 'none';\n viewPort.style.msTouchAction = 'none';\n viewPort.setAttribute('touch-action', 'none');\n\n // Fit only work if the map has a size.\n if (this.map.getSize() && extent) {\n this.map.getView().fit(extent);\n }\n\n this.setLayers(layers);\n this.listenMoveEnd();\n this.listenSingleClick();\n this.listenPointerMove();\n }\n\n componentDidUpdate(prevProps, prevState) {\n const {\n animationOptions,\n center,\n extent,\n fitOptions,\n layers,\n resolution,\n viewOptions,\n zoom,\n onMapMoved,\n onFeaturesClick,\n onFeaturesHover,\n } = this.props;\n const { node } = this.state;\n\n if (prevState.node !== node) {\n this.map.setTarget(node);\n\n // When the node is set we reinitialize the extent with the extent property.\n if (!prevState.node && node && extent) {\n this.map.getView().fit(extent);\n }\n }\n\n if (prevProps.layers !== layers) {\n this.setLayers(layers, prevProps.layers);\n }\n\n // Creates a new view if necessary before updating the others prop.\n if (\n viewOptions &&\n JSON.stringify(viewOptions) !== JSON.stringify(prevProps.viewOptions)\n ) {\n // Re-create a view, ol doesn't provide any method to setExtent of view.\n this.map.setView(\n new View({\n ...viewOptions,\n center,\n resolution,\n zoom,\n }),\n );\n }\n\n const view = this.map.getView();\n\n if (animationOptions && prevProps.animationOptions !== animationOptions) {\n view.animate(animationOptions);\n }\n\n if (prevProps.center !== center) {\n view.setCenter(center);\n }\n\n if (zoom !== prevProps.zoom) {\n view.setZoom(zoom);\n }\n\n if (resolution !== prevProps.resolution) {\n view.setResolution(resolution);\n }\n\n if (extent && !equals(extent, prevProps.extent || [])) {\n view.fit(extent, fitOptions);\n }\n\n if (onMapMoved !== prevProps.onMapMoved) {\n this.listenMoveEnd();\n }\n\n if (onFeaturesClick !== prevProps.onFeaturesClick) {\n this.listenSingleClick();\n }\n\n if (onFeaturesHover !== prevProps.onFeaturesHover) {\n this.listenPointerMove();\n }\n }\n\n componentWillUnmount() {\n unByKey([this.moveEndRef, this.singleClickRef, this.pointerMoveRef]);\n }\n\n setNode(node) {\n this.setState({ node });\n }\n\n setLayers(layers = [], prevLayers = []) {\n for (let i = 0; i < prevLayers.length; i += 1) {\n this.terminateLayer(prevLayers[i]);\n }\n for (let i = 0; i < layers.length; i += 1) {\n this.initLayer(layers[i]);\n }\n this.layers = layers;\n }\n\n initLayer(layer) {\n layer.init(this.map);\n if (\n layer.olLayer &&\n this.map.getLayers() &&\n !this.map.getLayers().getArray().includes(layer.olLayer)\n ) {\n this.map.addLayer(layer.olLayer);\n }\n const layers = layer.children || [];\n for (let i = 0; i < layers.length; i += 1) {\n this.initLayer(layers[i]);\n }\n }\n\n terminateLayer(layer) {\n if (\n layer.olLayer &&\n this.map.getLayers() &&\n this.map.getLayers().getArray().includes(layer.olLayer)\n ) {\n this.map.removeLayer(layer.olLayer);\n }\n layer.terminate(this.map);\n const layers = layer.children || [];\n for (let i = 0; i < layers.length; i += 1) {\n this.terminateLayer(layers[i]);\n }\n }\n\n listenMoveEnd() {\n const { onMapMoved } = this.props;\n unByKey(this.moveEndRef);\n\n if (!onMapMoved) {\n return;\n }\n\n this.moveEndRef = this.map.on('moveend', (evt) => {\n return onMapMoved(evt);\n });\n }\n\n listenSingleClick() {\n const { onFeaturesClick, featuresClickOptions } = this.props;\n unByKey(this.singleClickRef);\n\n if (!onFeaturesClick) {\n return;\n }\n\n this.singleClickRef = this.map.on('singleclick', (evt) => {\n const features = evt.map.getFeaturesAtPixel(\n evt.pixel,\n featuresClickOptions,\n );\n onFeaturesClick(features || [], evt);\n });\n }\n\n listenPointerMove() {\n const { onFeaturesHover } = this.props;\n unByKey(this.pointerMoveRef);\n\n if (!onFeaturesHover) {\n return;\n }\n\n this.pointerMoveRef = this.map.on('pointermove', (evt) => {\n const features = evt.map.getFeaturesAtPixel(evt.pixel);\n onFeaturesHover(features || [], evt);\n });\n }\n\n render() {\n const { className, tabIndex, ariaLabel, style } = this.props;\n const { node } = this.state;\n return (\n <div\n className={className}\n ref={this.setNode}\n role=\"presentation\"\n aria-label={ariaLabel}\n tabIndex={tabIndex}\n style={style}\n >\n <ResizeHandler\n maxHeightBrkpts={null}\n maxWidthBrkpts={null}\n observe={node}\n onResize={() => {\n this.map.updateSize();\n }}\n />\n </div>\n );\n }\n}\n\nBasicMap.propTypes = propTypes;\nBasicMap.defaultProps = defaultProps;\n\nexport default BasicMap;\n"],"names":["const","super","i","let","this"],"mappings":"AAAA,OAAO,KAAK,IAAI,aAAa,QAAQ,OAAO,CAAC;AAC7C,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,SAAS,QAAQ,IAAI,mBAAmB,QAAQ,gBAAgB,CAAC;AACjE,SAAS,MAAM,QAAQ,WAAW,CAAC;AACnC,OAAO,KAAK,MAAM,QAAQ,CAAC;AAC3B,OAAO,YAAY,MAAM,eAAe,CAAC;AACzC,OAAO,IAAI,MAAM,SAAS,CAAC;AAC3B,SAAS,OAAO,QAAQ,eAAe,CAAC;AACxC,OAAO,WAAW,MAAM,4BAA4B,CAAC;AACrD,SAAS,KAAK,QAAQ,wBAAwB,CAAC;AAC/C,OAAO,aAAa,MAAM,kBAAkB,CAAC;AAC7C;AACAA,GAAK,CAAC,SAAS,GAAG;AAClB;AACA,EAAE,gBAAgB,EAAE,SAAS,CAAC,KAAK,CAAC;AACpC,IAAI,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC;AAC/C,IAAI,UAAU,EAAE,SAAS,CAAC,MAAM;AAChC,IAAI,IAAI,EAAE,SAAS,CAAC,MAAM;AAC1B,GAAG,CAAC;AACJ;AACA;AACA,EAAE,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC;AAC7C;AACA;AACA,EAAE,SAAS,EAAE,SAAS,CAAC,MAAM;AAC7B;AACA;AACA,EAAE,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC;AAC7C;AACA;AACA,EAAE,UAAU,EAAE,SAAS,CAAC,MAAM;AAC9B;AACA;AACA,EAAE,YAAY,EAAE,SAAS,CAAC,SAAS,CAAC;AACpC,IAAI,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;AACxD,IAAI,SAAS,CAAC,UAAU,CAAC,YAAY,CAAC,CACpC,CAAC,CAAC;AACJ;AACA;AACA,EAAE,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AACxD;AACA;AACA,EAAE,GAAG,EAAE,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,eAAe,EAAE,SAAS,CAAC,IAAI;AACjC;AACA;AACA;AACA;AACA;AACA,EAAE,oBAAoB,EAAE,SAAS,CAAC,KAAK,CAAC;AACxC,IAAI,WAAW,EAAE,SAAS,CAAC,IAAI;AAC/B,IAAI,YAAY,EAAE,SAAS,CAAC,MAAM;AAClC,IAAI,YAAY,EAAE,SAAS,CAAC,IAAI;AAChC,GAAG,CAAC;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,eAAe,EAAE,SAAS,CAAC,IAAI;AACjC;AACA;AACA;AACA;AACA;AACA,EAAE,UAAU,EAAE,SAAS,CAAC,IAAI;AAC5B;AACA;AACA,EAAE,UAAU,EAAE,SAAS,CAAC,MAAM;AAC9B;AACA;AACA,EAAE,QAAQ,EAAE,SAAS,CAAC,MAAM;AAC5B;AACA;AACA,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM;AACzB;AACA;AACA,EAAE,SAAS,EAAE,SAAS,CAAC,MAAM;AAC7B;AACA;AACA,EAAE,WAAW,EAAE,SAAS,CAAC,KAAK,CAAC;AAC/B,IAAI,OAAO,EAAE,SAAS,CAAC,MAAM;AAC7B,IAAI,OAAO,EAAE,SAAS,CAAC,MAAM;AAC7B,IAAI,MAAM,EAAE,SAAS,CAAC,KAAK;AAC3B,IAAI,UAAU,EAAE,SAAS,CAAC,MAAM;AAChC,GAAG,CAAC;AACJ;AACA;AACA,EAAE,IAAI,EAAE,SAAS,CAAC,MAAM;AACxB,CAAC,CAAC;AACF;AACAA,GAAK,CAAC,YAAY,GAAG;AACrB,EAAE,gBAAgB,EAAE,SAAS;AAC7B,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AAChB,EAAE,SAAS,EAAE,QAAQ;AACrB,EAAE,MAAM,EAAE,SAAS;AACnB,EAAE,UAAU,EAAE;AACd,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AAC7B,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,KAAK,EAAE,SAAS;AAClB,EAAE,YAAY,EAAE,IAAI;AACpB,EAAE,MAAM,EAAE,EAAE;AACZ,EAAE,GAAG,EAAE,IAAI;AACX,EAAE,eAAe,EAAE,SAAS;AAC5B,EAAE,oBAAoB,EAAE;AACxB,IAAI,YAAY,EAAE,CAAC;AACnB,GAAG;AACH,EAAE,eAAe,EAAE,SAAS;AAC5B,EAAE,UAAU,EAAE,SAAS;AACvB,EAAE,UAAU,EAAE,SAAS;AACvB,EAAE,QAAQ,EAAE,SAAS;AACrB,EAAE,SAAS,EAAE,KAAK;AAClB,EAAE,WAAW,EAAE;AACf,IAAI,OAAO,EAAE,CAAC;AACd,IAAI,OAAO,EAAE,EAAE;AACf,IAAI,MAAM,EAAE,SAAS;AACrB,IAAI,UAAU,EAAE,WAAW;AAC3B,GAAG;AACH,EAAE,IAAI,EAAE,CAAC;AACT,CAAC,CAAC;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAM,QAAQ,GAAsB;EAClC,iBAAW,CAAC,KAAK,EAAE;AACrB,IAAIC,kBAAK,OAAC,KAAK,CAAC,CAAC;AACjB,WAA+B,GAAG,IAAI,CAAC;IAA3B;IAAK,oCAA4B;AAC7C;AACA,IAAI,IAAI,CAAC,GAAG;AACZ,MAAM,GAAG;AACT,MAAM,IAAI,KAAK,CAAC;AAChB,QAAQ,QAAQ,EAAE,EAAE;AACpB,QAAQ,YAAY;AACpB,UAAU,YAAY;AACtB,UAAU,mBAAmB,CAAC;AAC9B,YAAY,kBAAkB,EAAE,KAAK;AACrC,YAAY,WAAW,EAAE,KAAK;AAC9B,WAAW,CAAC;AACZ,OAAO,CAAC,CAAC;AACT;AACA,IAAI,IAAI,CAAC,KAAK,GAAG;AACjB,MAAM,IAAI,EAAE,IAAI;AAChB,KAAK,CAAC;AACN;AACA,IAAI,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;AACrB,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;AAC3B,IAAI,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;AAC/B,IAAI,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;AAC/B,IAAI,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3C;;;;4CAAG;AACH;AACA,qBAAE,+CAAiB,GAAG;AACtB,WAAmE;AACnE,MAAM,IAAI,CAAC;IADC;IAAQ;IAAQ;IAAa;IAAQ;IAAM,gCACtC;AACjB,aAAkB,GAAG,IAAI,CAAC;IAAd,sBAAoB;AAChC,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AAC7B;AACA;AACA,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,kBAAK,WAAW,WAAE,MAAM,QAAE,IAAI,cAAE,WAAU,CAAE,CAAC,CAAC,CAAC;AAC7E;AACA;AACA;AACA;AACA,IAAID,GAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;AAC5C,IAAI,QAAQ,CAAC,KAAK,CAAC,WAAW,GAAG,MAAM,CAAC;AACxC,IAAI,QAAQ,CAAC,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC;AAC1C,IAAI,QAAQ,CAAC,YAAY,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;AAClD;AACA;AACA,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,MAAM,EAAE;AACtC,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACrC,KAAK;AACL;AACA,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AAC3B,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;AACzB,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;AAC7B,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;AAC7B,IAAG;AACH;AACA,qBAAE,iDAAkB,CAAC,SAAS,EAAE,SAAS,EAAE;AAC3C,WAYK,GAAG,IAAI,CAAC;IAXP;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,0CACa;AACnB,aAAkB,GAAG,IAAI,CAAC;IAAd,sBAAoB;AAChC;AACA,IAAI,IAAI,SAAS,CAAC,IAAI,KAAK,IAAI,EAAE;AACjC,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AAC/B;AACA;AACA,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,IAAI,IAAI,MAAM,EAAE;AAC7C,QAAQ,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACvC,OAAO;AACP,KAAK;AACL;AACA,IAAI,IAAI,SAAS,CAAC,MAAM,KAAK,MAAM,EAAE;AACrC,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;AAC/C,KAAK;AACL;AACA;AACA,IAAI;AACJ,MAAM,WAAW;AACjB,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC;AAC3E,MAAM;AACN;AACA,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO;AACtB,QAAQ,IAAI,IAAI,CAAC,kBACJ,WAAW;AACxB,mBAAU,MAAM;AAChB,sBAAU,UAAU;AACpB,gBAAU,KAAI,CACL,CAAE;AACX,OAAO,CAAC;AACR,KAAK;AACL;AACA,IAAIA,GAAK,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;AACpC;AACA,IAAI,IAAI,gBAAgB,IAAI,SAAS,CAAC,gBAAgB,KAAK,gBAAgB,EAAE;AAC7E,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;AACrC,KAAK;AACL;AACA,IAAI,IAAI,SAAS,CAAC,MAAM,KAAK,MAAM,EAAE;AACrC,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AAC7B,KAAK;AACL;AACA,IAAI,IAAI,IAAI,KAAK,SAAS,CAAC,IAAI,EAAE;AACjC,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACzB,KAAK;AACL;AACA,IAAI,IAAI,UAAU,KAAK,SAAS,CAAC,UAAU,EAAE;AAC7C,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;AACrC,KAAK;AACL;AACA,IAAI,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE;AAC3D,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AACnC,KAAK;AACL;AACA,IAAI,IAAI,UAAU,KAAK,SAAS,CAAC,UAAU,EAAE;AAC7C,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;AAC3B,KAAK;AACL;AACA,IAAI,IAAI,eAAe,KAAK,SAAS,CAAC,eAAe,EAAE;AACvD,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;AAC/B,KAAK;AACL;AACA,IAAI,IAAI,eAAe,KAAK,SAAS,CAAC,eAAe,EAAE;AACvD,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;AAC/B,KAAK;AACL,IAAG;AACH;AACA,qBAAE,qDAAoB,GAAG;AACzB,IAAI,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;AACzE,IAAG;AACH;AACA,qBAAE,2BAAO,CAAC,IAAI,EAAE;AAChB,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAE,IAAI,EAAE,CAAC,CAAC;AAC5B,IAAG;AACH;AACA,qBAAE,+BAAS,CAAC,MAAW,EAAE,UAAe,EAAE;mCAAxB,GAAG;2CAAc,GAAG;AAAK;AAC3C,IAAI,KAAKG,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;AACnD,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AACzC,KAAK;AACL,IAAI,KAAKA,GAAG,CAACD,GAAC,GAAG,CAAC,EAAEA,GAAC,GAAG,MAAM,CAAC,MAAM,EAAEA,GAAC,IAAI,CAAC,EAAE;AAC/C,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAACA,GAAC,CAAC,CAAC,CAAC;AAChC,KAAK;AACL,IAAI,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;AACzB,IAAG;AACH;AACA,qBAAE,+BAAS,CAAC,KAAK,EAAE;AACnB,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,IAAI;AACJ,MAAM,KAAK,CAAC,OAAO;AACnB,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE;AAC1B,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC;AAC9D,MAAM;AACN,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AACvC,KAAK;AACL,IAAIF,GAAK,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC;AACxC,IAAI,KAAKG,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;AAC/C,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAChC,KAAK;AACL,IAAG;AACH;AACA,qBAAE,yCAAc,CAAC,KAAK,EAAE;AACxB,IAAI;AACJ,MAAM,KAAK,CAAC,OAAO;AACnB,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE;AAC1B,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC;AAC7D,MAAM;AACN,MAAM,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAC1C,KAAK;AACL,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC9B,IAAIH,GAAK,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC;AACxC,IAAI,KAAKG,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;AAC/C,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACrC,KAAK;AACL,IAAG;AACH;AACA,qBAAE,uCAAa,GAAG;AAClB,WAAwB,GAAG,IAAI,CAAC;IAApB,gCAA0B;AACtC,IAAI,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAC7B;AACA,IAAI,IAAI,CAAC,UAAU,EAAE;AACrB,MAAM,OAAO;AACb,KAAK;AACL;AACA,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,WAAE,CAAC,GAAG,EAAK;AACtD,MAAM,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;AAC7B,KAAK,CAAC,CAAC;AACP,IAAG;AACH;AACA,qBAAE,+CAAiB,GAAG;AACtB,WAAmD,GAAG,IAAI,CAAC;IAA/C;IAAiB,oDAAoC;AACjE,IAAI,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AACjC;AACA,IAAI,IAAI,CAAC,eAAe,EAAE;AAC1B,MAAM,OAAO;AACb,KAAK;AACL;AACA,IAAI,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,aAAa,WAAE,CAAC,GAAG,EAAK;AAC9D,MAAMH,GAAK,CAAC,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,kBAAkB;AACjD,QAAQ,GAAG,CAAC,KAAK;AACjB,QAAQ,oBAAqB;AAC7B,OAAO,CAAC;AACR,MAAM,eAAe,CAAC,QAAQ,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;AAC3C,KAAK,CAAC,CAAC;AACP,IAAG;AACH;AACA,qBAAE,+CAAiB,GAAG;AACtB,WAA6B,GAAG,IAAI,CAAC;IAAzB,0CAA+B;AAC3C,IAAI,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AACjC;AACA,IAAI,IAAI,CAAC,eAAe,EAAE;AAC1B,MAAM,OAAO;AACb,KAAK;AACL;AACA,IAAI,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,aAAa,WAAE,CAAC,GAAG,EAAK;AAC9D,MAAMA,GAAK,CAAC,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAC7D,MAAM,eAAe,CAAC,QAAQ,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;AAC3C,KAAK,CAAC,CAAC;AACP,IAAG;AACH;AACA,qBAAE,yBAAM,GAAG;;AAAC;AACZ,WAAmD,GAAG,IAAI,CAAC;IAA/C;IAAW;IAAU;IAAW,sBAAqB;AACjE,aAAkB,GAAG,IAAI,CAAC;IAAd,sBAAoB;AAChC,IAAI,OAAO;AACX,MAAM,sBAAC,OAAG;AACV,QAAQ,WAAW,SAAU,EACrB,KAAK,IAAI,CAAC,OAAQ,EAClB,MAAK,cAAc,EACnB,cAAY,SAAU,EACtB,UAAU,QAAS,EACnB,OAAO,QACR;AACP,QAAQ,qBAAC,gBAAa;AACtB,UAAU,iBAAiB,IAAK,EACtB,gBAAgB,IAAK,EACrB,SAAS,IAAK,EACd,mBAAU,GAAM;AAC1B,YAAYI,MAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;AAClC,aAAY,CACF;AACV,MAAM,CAAM;AACZ,KAAK,CAAC;AACN;;;EA1PuB,gBA2PtB;AACD;AACA,QAAQ,CAAC,SAAS,GAAG,SAAS,CAAC;AAC/B,QAAQ,CAAC,YAAY,GAAG,YAAY,CAAC;AACrC;AACA,eAAe,QAAQ,CAAC;"}
|
|
@@ -238,7 +238,18 @@ var Permalink = /*@__PURE__*/(function (Component) {
|
|
|
238
238
|
var params = ref.params;
|
|
239
239
|
var history = ref.history;
|
|
240
240
|
var oldParams = qs.parse(window.location.search);
|
|
241
|
-
var parameters = Object.assign({}, oldParams,
|
|
241
|
+
var parameters = Object.assign({}, oldParams, this.state, params);
|
|
242
|
+
|
|
243
|
+
// Remove parameters that are undefined or null
|
|
244
|
+
Object.entries(parameters).forEach(function (ref) {
|
|
245
|
+
var key = ref[0];
|
|
246
|
+
var value = ref[1];
|
|
247
|
+
|
|
248
|
+
if (value === undefined || value === null) {
|
|
249
|
+
delete parameters[key];
|
|
250
|
+
}
|
|
251
|
+
});
|
|
252
|
+
|
|
242
253
|
// encodeURI to encode spaces, accents, etc. but not characters like ;,/?:@&=+$-_.!~*'()
|
|
243
254
|
var qStr = encodeURI(qs.stringify(parameters, { encode: false }));
|
|
244
255
|
var search = qStr ? ("?" + qStr) : '';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Permalink.js","sources":["../../../src/components/Permalink/Permalink.js"],"sourcesContent":["import { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport qs from 'query-string';\nimport OLMap from 'ol/Map';\nimport { unByKey } from 'ol/Observable';\nimport LayerService from '../../LayerService';\n\nconst propTypes = {\n /**\n * Either 'react-router' history object:\n * https://github.com/ReactTraining/react-router/blob/master/packages/react-router/docs/api/history.md<br>\n * or default fallback as HTML5 History:\n * https://developer.mozilla.org/en-US/docs/Web/API/History\n */\n history: PropTypes.shape({\n replace: PropTypes.func,\n }),\n\n /**\n * Layers provider.\n */\n layerService: PropTypes.instanceOf(LayerService),\n\n /**\n * An [ol/map](https://openlayers.org/en/latest/apidoc/module-ol_Map-Map.html).\n */\n map: PropTypes.instanceOf(OLMap),\n\n /**\n * Params to be written in url.\n */\n params: PropTypes.object,\n\n /**\n * Maximum number of decimals allowed for coordinates.\n */\n coordinateDecimals: PropTypes.number,\n\n /**\n * Determine if the layer is hidden in the permalink or not.\n *\n * @param {object} item The item to hide or not.\n *\n * @return {bool} true if the item is not displayed in the permalink\n */\n isLayerHidden: PropTypes.func,\n};\n\nconst defaultProps = {\n history: null,\n layerService: null,\n map: null,\n params: {},\n coordinateDecimals: 2,\n isLayerHidden: () => {\n return false;\n },\n};\n\n/**\n * This component handles permalink logic. Injecting an\n * __[ol/map](https://openlayers.org/en/latest/apidoc/module-ol_Map-Map.html)__\n * will add the *map center* (x, y) and the *zoom* (z) parameters to the permalink.\n * Injecting a\n * __[layerService](https://github.com/geops/react-spatial/blob/master/src/LayerService.js)__\n * (including at least one layer)\n * will add the *baselayers* and/or *layers* parameters. Further parameters can\n * be added using __params__.\n */\nclass Permalink extends Component {\n constructor(props) {\n super(props);\n this.state = {};\n this.moveEndRef = null;\n this.updateLayers = this.updateLayers.bind(this);\n }\n\n componentDidMount() {\n const { map, layerService, isLayerHidden } = this.props;\n if (map) {\n this.moveEndRef = map.on('moveend', () => {\n this.onMapMoved();\n });\n }\n\n if (layerService) {\n this.updateLayerService();\n\n // set layer visibility based on 'layers' parameter.\n const urlParams = qs.parse(window.location.search);\n\n if (urlParams.layers) {\n const visibleLayers = urlParams.layers.split(',');\n layerService.getLayersAsFlatArray().forEach((l) => {\n if (visibleLayers.includes(l.key)) {\n l.setVisible(true);\n } else if (\n !l.isBaseLayer &&\n !l.hasVisibleChildren() &&\n !isLayerHidden(l)\n ) {\n l.setVisible(false);\n }\n });\n }\n\n // Set baser layer visibility based on 'baseLayers' parameter.\n const visibleBaseLayers = (urlParams.baselayers || '').split(',');\n layerService.getBaseLayers().forEach((baseLayer) => {\n if (baseLayer.key === visibleBaseLayers[0]) {\n baseLayer.setVisible(true); // The radio group will hide the others baseLayers automatically\n }\n });\n }\n }\n\n componentDidUpdate(prevProps) {\n const { map, layerService } = this.props;\n\n if (layerService !== prevProps.layerService) {\n this.updateLayerService();\n }\n\n if (map !== prevProps.map) {\n this.moveEndRef = map.on('moveend', () => {\n return this.onMapMoved();\n });\n }\n\n this.updateHistory();\n }\n\n componentWillUnmount() {\n const { layerService, map } = this.props;\n\n if (map) {\n unByKey(this.moveEndRef);\n }\n\n if (layerService) {\n layerService.un('change:layers', this.updateLayers);\n layerService.un('change:visible', this.updateLayers);\n }\n }\n\n onMapMoved() {\n const { map } = this.props;\n const mapView = map.getView();\n const { center } = mapView.getProperties();\n\n this.setState({\n x: this.roundCoord(center[0]),\n y: this.roundCoord(center[1]),\n // rounds zoom to two digits max.\n z: +`${Math.round(`${parseFloat(mapView.getZoom())}e+2`)}e-2`,\n });\n }\n\n roundCoord(val) {\n const { coordinateDecimals } = this.props;\n return parseFloat(val.toFixed(coordinateDecimals));\n }\n\n updateLayerService() {\n const { layerService } = this.props;\n if (layerService) {\n layerService.un('change:visible', this.updateState);\n layerService.un('change:layers', this.updateLayers);\n this.updateLayers();\n layerService.on('change:layers', this.updateLayers);\n layerService.on('change:visible', this.updateLayers);\n }\n }\n\n updateLayers() {\n const { layerService, isLayerHidden } = this.props;\n const baseLayers = layerService.getBaseLayers();\n const idx = baseLayers.findIndex((l) => {\n return l.visible;\n });\n if (idx !== -1) {\n const baseLayerVisible = baseLayers.splice(idx, 1);\n baseLayers.unshift(baseLayerVisible[0]);\n }\n\n this.setState({\n layers: layerService\n .getLayersAsFlatArray()\n .filter((l) => {\n return (\n !l.isBaseLayer &&\n l.visible &&\n (!l.hasVisibleChildren() ||\n (l.children || []).every((child) => {\n return isLayerHidden(child);\n })) &&\n !isLayerHidden(l)\n );\n })\n .map((l) => {\n return l.key;\n })\n .join(),\n baselayers:\n baseLayers.length > 1\n ? baseLayers\n .map((l) => {\n return l.key;\n })\n .join()\n : undefined,\n });\n }\n\n updateHistory() {\n const { params, history } = this.props;\n const oldParams = qs.parse(window.location.search);\n const parameters = { ...oldParams, ...params, ...this.state };\n // encodeURI to encode spaces, accents, etc. but not characters like ;,/?:@&=+$-_.!~*'()\n const qStr = encodeURI(qs.stringify(parameters, { encode: false }));\n const search = qStr ? `?${qStr}` : '';\n\n if (\n (!qStr && window.location.search) ||\n (qStr && search !== window.location.search)\n ) {\n if (history) {\n history.replace({ search });\n } else {\n const { hash } = window.location;\n window.history.replaceState(\n undefined,\n undefined,\n `${search}${hash || ''}`,\n );\n }\n }\n }\n\n render() {\n return null;\n }\n}\n\nPermalink.propTypes = propTypes;\nPermalink.defaultProps = defaultProps;\n\nexport default Permalink;\n"],"names":["const","super","this"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Permalink.js","sources":["../../../src/components/Permalink/Permalink.js"],"sourcesContent":["import { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport qs from 'query-string';\nimport OLMap from 'ol/Map';\nimport { unByKey } from 'ol/Observable';\nimport LayerService from '../../LayerService';\n\nconst propTypes = {\n /**\n * Either 'react-router' history object:\n * https://github.com/ReactTraining/react-router/blob/master/packages/react-router/docs/api/history.md<br>\n * or default fallback as HTML5 History:\n * https://developer.mozilla.org/en-US/docs/Web/API/History\n */\n history: PropTypes.shape({\n replace: PropTypes.func,\n }),\n\n /**\n * Layers provider.\n */\n layerService: PropTypes.instanceOf(LayerService),\n\n /**\n * An [ol/map](https://openlayers.org/en/latest/apidoc/module-ol_Map-Map.html).\n */\n map: PropTypes.instanceOf(OLMap),\n\n /**\n * Params to be written in url.\n */\n params: PropTypes.object,\n\n /**\n * Maximum number of decimals allowed for coordinates.\n */\n coordinateDecimals: PropTypes.number,\n\n /**\n * Determine if the layer is hidden in the permalink or not.\n *\n * @param {object} item The item to hide or not.\n *\n * @return {bool} true if the item is not displayed in the permalink\n */\n isLayerHidden: PropTypes.func,\n};\n\nconst defaultProps = {\n history: null,\n layerService: null,\n map: null,\n params: {},\n coordinateDecimals: 2,\n isLayerHidden: () => {\n return false;\n },\n};\n\n/**\n * This component handles permalink logic. Injecting an\n * __[ol/map](https://openlayers.org/en/latest/apidoc/module-ol_Map-Map.html)__\n * will add the *map center* (x, y) and the *zoom* (z) parameters to the permalink.\n * Injecting a\n * __[layerService](https://github.com/geops/react-spatial/blob/master/src/LayerService.js)__\n * (including at least one layer)\n * will add the *baselayers* and/or *layers* parameters. Further parameters can\n * be added using __params__.\n */\nclass Permalink extends Component {\n constructor(props) {\n super(props);\n this.state = {};\n this.moveEndRef = null;\n this.updateLayers = this.updateLayers.bind(this);\n }\n\n componentDidMount() {\n const { map, layerService, isLayerHidden } = this.props;\n if (map) {\n this.moveEndRef = map.on('moveend', () => {\n this.onMapMoved();\n });\n }\n\n if (layerService) {\n this.updateLayerService();\n\n // set layer visibility based on 'layers' parameter.\n const urlParams = qs.parse(window.location.search);\n\n if (urlParams.layers) {\n const visibleLayers = urlParams.layers.split(',');\n layerService.getLayersAsFlatArray().forEach((l) => {\n if (visibleLayers.includes(l.key)) {\n l.setVisible(true);\n } else if (\n !l.isBaseLayer &&\n !l.hasVisibleChildren() &&\n !isLayerHidden(l)\n ) {\n l.setVisible(false);\n }\n });\n }\n\n // Set baser layer visibility based on 'baseLayers' parameter.\n const visibleBaseLayers = (urlParams.baselayers || '').split(',');\n layerService.getBaseLayers().forEach((baseLayer) => {\n if (baseLayer.key === visibleBaseLayers[0]) {\n baseLayer.setVisible(true); // The radio group will hide the others baseLayers automatically\n }\n });\n }\n }\n\n componentDidUpdate(prevProps) {\n const { map, layerService } = this.props;\n\n if (layerService !== prevProps.layerService) {\n this.updateLayerService();\n }\n\n if (map !== prevProps.map) {\n this.moveEndRef = map.on('moveend', () => {\n return this.onMapMoved();\n });\n }\n\n this.updateHistory();\n }\n\n componentWillUnmount() {\n const { layerService, map } = this.props;\n\n if (map) {\n unByKey(this.moveEndRef);\n }\n\n if (layerService) {\n layerService.un('change:layers', this.updateLayers);\n layerService.un('change:visible', this.updateLayers);\n }\n }\n\n onMapMoved() {\n const { map } = this.props;\n const mapView = map.getView();\n const { center } = mapView.getProperties();\n\n this.setState({\n x: this.roundCoord(center[0]),\n y: this.roundCoord(center[1]),\n // rounds zoom to two digits max.\n z: +`${Math.round(`${parseFloat(mapView.getZoom())}e+2`)}e-2`,\n });\n }\n\n roundCoord(val) {\n const { coordinateDecimals } = this.props;\n return parseFloat(val.toFixed(coordinateDecimals));\n }\n\n updateLayerService() {\n const { layerService } = this.props;\n if (layerService) {\n layerService.un('change:visible', this.updateState);\n layerService.un('change:layers', this.updateLayers);\n this.updateLayers();\n layerService.on('change:layers', this.updateLayers);\n layerService.on('change:visible', this.updateLayers);\n }\n }\n\n updateLayers() {\n const { layerService, isLayerHidden } = this.props;\n const baseLayers = layerService.getBaseLayers();\n const idx = baseLayers.findIndex((l) => {\n return l.visible;\n });\n if (idx !== -1) {\n const baseLayerVisible = baseLayers.splice(idx, 1);\n baseLayers.unshift(baseLayerVisible[0]);\n }\n\n this.setState({\n layers: layerService\n .getLayersAsFlatArray()\n .filter((l) => {\n return (\n !l.isBaseLayer &&\n l.visible &&\n (!l.hasVisibleChildren() ||\n (l.children || []).every((child) => {\n return isLayerHidden(child);\n })) &&\n !isLayerHidden(l)\n );\n })\n .map((l) => {\n return l.key;\n })\n .join(),\n baselayers:\n baseLayers.length > 1\n ? baseLayers\n .map((l) => {\n return l.key;\n })\n .join()\n : undefined,\n });\n }\n\n updateHistory() {\n const { params, history } = this.props;\n const oldParams = qs.parse(window.location.search);\n const parameters = { ...oldParams, ...this.state, ...params };\n\n // Remove parameters that are undefined or null\n Object.entries(parameters).forEach(([key, value]) => {\n if (value === undefined || value === null) {\n delete parameters[key];\n }\n });\n\n // encodeURI to encode spaces, accents, etc. but not characters like ;,/?:@&=+$-_.!~*'()\n const qStr = encodeURI(qs.stringify(parameters, { encode: false }));\n const search = qStr ? `?${qStr}` : '';\n\n if (\n (!qStr && window.location.search) ||\n (qStr && search !== window.location.search)\n ) {\n if (history) {\n history.replace({ search });\n } else {\n const { hash } = window.location;\n window.history.replaceState(\n undefined,\n undefined,\n `${search}${hash || ''}`,\n );\n }\n }\n }\n\n render() {\n return null;\n }\n}\n\nPermalink.propTypes = propTypes;\nPermalink.defaultProps = defaultProps;\n\nexport default Permalink;\n"],"names":["const","super","this"],"mappings":"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"}
|
package/package.json
CHANGED
package/propTypes.js
CHANGED
|
@@ -7,22 +7,22 @@ var station = PropTypes.shape({
|
|
|
7
7
|
arrivalDelay: PropTypes.number, // time in milliseconds.
|
|
8
8
|
arrivalTime: PropTypes.number, // time in milliseconds.
|
|
9
9
|
arrivalTimeWithDelay: PropTypes.number, // time in milliseconds with the delay included.
|
|
10
|
-
cancelled: PropTypes.
|
|
10
|
+
cancelled: PropTypes.bool,
|
|
11
11
|
coordinates: PropTypes.arrayOf(PropTypes.number),
|
|
12
12
|
departureDelay: PropTypes.number, // time in milliseconds.
|
|
13
13
|
departureTime: PropTypes.number, // time in milliseconds.
|
|
14
14
|
departureTimeWithDelay: PropTypes.number, // time in milliseconds with the delay included
|
|
15
|
-
noDropOff: PropTypes.
|
|
16
|
-
noPickUp: PropTypes.
|
|
15
|
+
noDropOff: PropTypes.bool,
|
|
16
|
+
noPickUp: PropTypes.bool,
|
|
17
17
|
stationId: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
|
|
18
18
|
stationName: PropTypes.string,
|
|
19
|
-
wheelchairAccessible: PropTypes.
|
|
19
|
+
wheelchairAccessible: PropTypes.bool,
|
|
20
20
|
state: PropTypes.oneOf([null, STATE_BOARDING, STATE_LEAVING]),
|
|
21
21
|
});
|
|
22
22
|
|
|
23
23
|
var lineInfos = PropTypes.shape({
|
|
24
24
|
backgroundColor: PropTypes.string,
|
|
25
|
-
bicyclesAllowed: PropTypes.
|
|
25
|
+
bicyclesAllowed: PropTypes.bool,
|
|
26
26
|
color: PropTypes.string,
|
|
27
27
|
destination: PropTypes.string,
|
|
28
28
|
feedsId: PropTypes.number,
|
|
@@ -42,7 +42,7 @@ var lineInfos = PropTypes.shape({
|
|
|
42
42
|
shortName: PropTypes.string,
|
|
43
43
|
stations: PropTypes.arrayOf(station),
|
|
44
44
|
vehicleType: PropTypes.number,
|
|
45
|
-
wheelchairAccessible: PropTypes.
|
|
45
|
+
wheelchairAccessible: PropTypes.bool,
|
|
46
46
|
});
|
|
47
47
|
|
|
48
48
|
export default {
|
package/propTypes.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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.
|
|
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;"}
|