@redus/georedus-ui 0.10.1 → 0.11.0

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/dist/main.js CHANGED
@@ -12,15 +12,16 @@ import { dataMergeProtocol } from '@orioro/vector-tile-util';
12
12
  import maplibregl from 'maplibre-gl';
13
13
  import { get as get$1 } from '@orioro/get';
14
14
  import { buffer } from '@turf/turf';
15
+ import { scaleQuantile } from 'd3-scale';
15
16
  import { csvParse } from 'd3-dsv';
16
17
  import { strAutoCast } from '@orioro/cast';
17
18
  import { fmtLayerAbsoluteId, waves_1, svgImageGenerator, SVG_PATTERNS, makeSyncedMaps, LayeredMap, useMapRegistry, useTilesLoading, HoverTooltip, layeredMapOnClickHandler, DynamicImages, ControlContainer, InspectControl, MapWindow, TerrainControl, fitGeometry } from '@orioro/react-maplibre-util';
19
+ import styled, { keyframes } from 'styled-components';
18
20
  import { colord } from 'colord';
19
- import React, { useState, useMemo, useCallback, useContext, createContext, useReducer, useEffect, useRef } from 'react';
21
+ import React$1, { useState, useMemo, useCallback, useContext, createContext, useReducer, useEffect, useRef } from 'react';
20
22
  import { Heading, Portal, Badge, Tabs, Tooltip, IconButton, Theme, Text, Popover, Dialog } from '@radix-ui/themes';
21
- import styled, { keyframes } from 'styled-components';
22
- import { mdiSprout, mdiTree, mdiCurrencyUsd, mdiAccountMultipleOutline, mdiScaleBalance, mdiHelpCircleOutline, mdiDownload, mdiDotsVertical, mdiOpacity, mdiFilterVariant, mdiMap, mdiEarth, mdiHospitalBox, mdiHomeCity, mdiSchool, mdiAccountGroup, mdiContentCopy, mdiLinkVariant, mdiChevronLeft, mdiShareVariantOutline, mdiForumOutline, mdiDragVertical, mdiLayers, mdiClose, mdiHospital } from '@mdi/js';
23
- import { Icon } from '@mdi/react';
23
+ import { mdiSprout, mdiTree, mdiCurrencyUsd, mdiAccountMultipleOutline, mdiScaleBalance, mdiHelpCircleOutline, mdiDownload, mdiDotsVertical, mdiOpacity, mdiFilterVariant, mdiBookOpenVariant, mdiMap, mdiEarth, mdiHospitalBox, mdiHomeCity, mdiSchool, mdiAccountGroup, mdiContentCopy, mdiLinkVariant, mdiChevronLeft, mdiShareVariantOutline, mdiForumOutline, mdiDragVertical, mdiLayers, mdiClose, mdiHospital } from '@mdi/js';
24
+ import Icon$1, { Icon } from '@mdi/react';
24
25
  import Confetti from 'react-confetti';
25
26
  import { nodeIdFromPath } from '@orioro/tree-model';
26
27
  import { makeDirNav } from '@orioro/react-dir-nav';
@@ -40,6 +41,7 @@ import { Legend } from '@orioro/react-chart-util';
40
41
  import 'maplibre-gl/dist/maplibre-gl.css';
41
42
  import { useQueries, useQuery } from '@tanstack/react-query';
42
43
  import { AttributionControl, GeolocateControl, FullscreenControl, NavigationControl, ScaleControl, useMap } from 'react-map-gl/maplibre';
44
+ import { pointToTile, tileToBBOX } from '@mapbox/tilebelt';
43
45
 
44
46
  function _arrayLikeToArray(r, a) {
45
47
  (null == a || a > r.length) && (a = r.length);
@@ -4958,16 +4960,57 @@ function _censoColorScheme(colorSchemeName) {
4958
4960
  return colorScheme;
4959
4961
  }
4960
4962
 
4963
+ //
4964
+ // TODO: restructure and move into maplibre util with naturalBreaks
4965
+ // Maybe move into separate lib?
4966
+ //
4967
+ function _quantileBreakpoints(_ref) {
4968
+ var k = _ref.k,
4969
+ values = _ref.values,
4970
+ scalesByK = _ref.scalesByK,
4971
+ _ref$defaultColor = _ref.defaultColor,
4972
+ defaultColor = _ref$defaultColor === void 0 ? '#efefef' : _ref$defaultColor;
4973
+ var scale = scaleQuantile().domain(values) // your data
4974
+ .range(new Array(k).fill(null).map(function (_, idx) {
4975
+ return idx;
4976
+ })); // number of bins
4977
+
4978
+ var breaks = scale.quantiles(); // → the cutoff values
4979
+
4980
+ //
4981
+ // Will produce an array such as:
4982
+ // [
4983
+ // "below_10",
4984
+ // 10,
4985
+ // "between_10_20",
4986
+ // 20,
4987
+ // "between_20_30",
4988
+ // 30,
4989
+ // "above_30"
4990
+ // ]
4991
+ //
4992
+
4993
+ var colorScale = scalesByK[k];
4994
+ var colorScaleStops = breaks.map(function (breakValue, index) {
4995
+ var color = colorScale[index + 1];
4996
+ return index === 0 ? [
4997
+ // For below 0 values, will use defaultColor
4998
+ defaultColor, 0,
4999
+ // colorScale
5000
+ colorScale[0], breakValue, color] : [breakValue, color];
5001
+ }).flat(1);
5002
+ return colorScaleStops;
5003
+ }
4961
5004
  function defaultMetadata(_x, _x2) {
4962
5005
  return _defaultMetadata.apply(this, arguments);
4963
5006
  }
4964
5007
  function _defaultMetadata() {
4965
- _defaultMetadata = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(_ref, context) {
4966
- var GLOBAL_CONTEXT, PARSED_SCHEMA, METADATA_API_ENDPOINT, municipioId, variableId, variant, rawDataCacheUrl, rawData, scaleValues, colorScheme;
5008
+ _defaultMetadata = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(_ref2, context) {
5009
+ var GLOBAL_CONTEXT, PARSED_SCHEMA, METADATA_API_ENDPOINT, municipioId, variableId, variant, rawDataCacheUrl, rawData, scaleValues, colorScheme, colorScaleStops;
4967
5010
  return _regeneratorRuntime().wrap(function _callee$(_context) {
4968
5011
  while (1) switch (_context.prev = _context.next) {
4969
5012
  case 0:
4970
- GLOBAL_CONTEXT = _ref.GLOBAL_CONTEXT, PARSED_SCHEMA = _ref.PARSED_SCHEMA;
5013
+ GLOBAL_CONTEXT = _ref2.GLOBAL_CONTEXT, PARSED_SCHEMA = _ref2.PARSED_SCHEMA;
4971
5014
  METADATA_API_ENDPOINT = GLOBAL_CONTEXT.METADATA_API_ENDPOINT; // Load data on the municipio
4972
5015
  municipioId = context.app.municipioId;
4973
5016
  variableId = get$1(context, 'view.conf.data.variableId');
@@ -4987,6 +5030,12 @@ function _defaultMetadata() {
4987
5030
  rawData = _context.sent;
4988
5031
  scaleValues = get$1(rawData, "[].".concat(variableId));
4989
5032
  colorScheme = _censoColorScheme(variant.colorScheme);
5033
+ colorScaleStops = variant.classificationMethod === 'quantile(5)' ? _quantileBreakpoints(_objectSpread2({
5034
+ k: 5,
5035
+ values: scaleValues
5036
+ }, colorScheme)) : ['$naturalBreaks', scaleValues, _objectSpread2(_objectSpread2({}, colorScheme), {}, {
5037
+ minK: 5
5038
+ })];
4990
5039
  return _context.abrupt("return", {
4991
5040
  //
4992
5041
  // Review if this is actually needed, as now we are loading
@@ -4998,11 +5047,9 @@ function _defaultMetadata() {
4998
5047
  rawDataCacheUrl: rawDataCacheUrl,
4999
5048
  rawData: rawData,
5000
5049
  colorScheme: colorScheme,
5001
- colorScaleStops: ['$naturalBreaks', scaleValues, _objectSpread2(_objectSpread2({}, colorScheme), {}, {
5002
- minK: 5
5003
- })]
5050
+ colorScaleStops: colorScaleStops
5004
5051
  });
5005
- case 12:
5052
+ case 13:
5006
5053
  case "end":
5007
5054
  return _context.stop();
5008
5055
  }
@@ -5339,6 +5386,13 @@ function setor_censitario_sources(_ref2) {
5339
5386
  attribution: PARSED_SCHEMA.sourceLabel,
5340
5387
  minzoom: 8,
5341
5388
  //
5389
+ // TODO: review
5390
+ //
5391
+ bounds: resolve.fn(function (_ref3) {
5392
+ var app = _ref3.app;
5393
+ return app.mapBounds;
5394
+ }),
5395
+ //
5342
5396
  // Prevent system from fetching data beyond necessary detail
5343
5397
  //
5344
5398
  maxzoom: BUILDINGS_MIN_ZOOM,
@@ -5362,8 +5416,8 @@ function setor_censitario_layers(opts) {
5362
5416
  // vector source
5363
5417
  //
5364
5418
  var _vectorSourceFillColor = ['$flat', [['step', ['coalesce', ['get', 'value'], -1]], ['$get', 'view.metadata.colorScaleStops']]];
5365
- var _filter = resolve.fn(function (_ref4) {
5366
- var app = _ref4.app;
5419
+ var _filter = resolve.fn(function (_ref5) {
5420
+ var app = _ref5.app;
5367
5421
  return ['all',
5368
5422
  //
5369
5423
  // cd_situacao = '9' -> Massas de água,
@@ -5390,16 +5444,33 @@ function setor_censitario_layers(opts) {
5390
5444
  legends: setor_censitario_legends(opts),
5391
5445
  tooltip: {
5392
5446
  title: ['$literal', ['$template', 'Setor censitário ${0}', ['$get', 'feature.properties.id']]],
5393
- entries: [[['$get', ['$get', 'view.conf.data.variableId'], ['$get', 'view.metadata.labels']], ['$literal', ['$fmt', ['$get', 'feature.properties.value'
5447
+ entries: [[['$get', ['$get', 'view.conf.data.variableId'], ['$get', 'view.metadata.labels']], ['$literal', resolve.fn(function (context) {
5448
+ var variableId = get$1(context, 'view.conf.data.variableId');
5449
+ if (variableId === 'total_pessoas_por_hectare') {
5450
+ try {
5451
+ var value_src = JSON.parse(context.feature.properties.value_src);
5452
+ return value_src['bas.v0001'];
5453
+ } catch (err) {
5454
+ console.error(err);
5455
+ return null;
5456
+ }
5457
+ } else {
5458
+ return ['$fmt', ['$get', 'feature.properties.value'], {
5459
+ number: NUMBER_FMT
5460
+ }];
5461
+ }
5462
+ })
5463
+
5464
+ //
5465
+ // TODO: refactor
5466
+ // THIS IS THE ACTUAL:
5467
+ //
5394
5468
  // [
5395
- // '$template',
5396
- // 'feature.properties.${0}',
5397
- // // `::string({ "number": ${JSON.stringify(NUMBER_FMT)} })`,
5398
- // ['$get', 'view.conf.data.variableId'],
5469
+ // '$fmt',
5470
+ // ['$get', 'feature.properties.value'],
5471
+ // { number: NUMBER_FMT },
5399
5472
  // ],
5400
- ], {
5401
- number: NUMBER_FMT
5402
- }]]]].concat(_toConsumableArray([
5473
+ ]]].concat(_toConsumableArray([
5403
5474
  // 'v0001',
5404
5475
  // 'v0002',
5405
5476
  // 'v0003',
@@ -5423,7 +5494,6 @@ function setor_censitario_layers(opts) {
5423
5494
  // ['$get', 'view.conf.data.variableId'],
5424
5495
  // ],
5425
5496
  ]]]])
5426
- // entries: [CHART_UTIL._variableValueTooltipEntry],
5427
5497
  },
5428
5498
  filter: _filter,
5429
5499
  // maxzoom: 14,
@@ -6463,6 +6533,7 @@ function _util_bacia(_ref) {
6463
6533
  indicator_id: id,
6464
6534
  id: id,
6465
6535
  label: label,
6536
+ sourceLabel: 'ANA',
6466
6537
  path: "Divis\xF5es territoriais / _ / Bacias Hidrogr\xE1ficas",
6467
6538
  metadata: {},
6468
6539
  sources: _defineProperty({}, id, {
@@ -6768,10 +6839,65 @@ function br_divisao_territorial_views(conf) {
6768
6839
  'line-opacity': 0.5
6769
6840
  }
6770
6841
  }
6771
- }, conf))];
6842
+ }, conf))
6843
+
6844
+ // TEST
6845
+ // br_divisao_territorial({
6846
+ // path: 'ANA',
6847
+ // label: 'Trechos de drenagem',
6848
+ // id: 'ana_malha_br_bho_trechos_de_drenagem_2017.geom',
6849
+ // line: {
6850
+ // paint: {
6851
+ // 'line-color': 'magenta',
6852
+ // 'line-width': 2,
6853
+ // 'line-opacity': 0.5,
6854
+ // },
6855
+ // },
6856
+ // ...conf,
6857
+ // }),
6858
+ ];
6859
+ }
6860
+
6861
+ var _templateObject$6;
6862
+ var StyledIframe = styled.iframe(_templateObject$6 || (_templateObject$6 = _taggedTemplateLiteral(["\n border: none;\n width: 100%;\n height: 100%;\n"])));
6863
+ function DocumentIframe(_ref) {
6864
+ var src = _ref.src;
6865
+ return /*#__PURE__*/React.createElement(AspectRatio, {
6866
+ ratio: 210 / 297
6867
+ }, /*#__PURE__*/React.createElement(StyledIframe, {
6868
+ src: src
6869
+ }));
6772
6870
  }
6773
6871
 
6774
6872
  var CURVATURA_ID = 'curvatura';
6873
+ var TRANSPARENT$2 = [0, 0, 0, 0];
6874
+ var CURVATURA_CLASSES = [{
6875
+ value: 1,
6876
+ label: 'Muito côncava',
6877
+ color: '#d92bcb'
6878
+ }, {
6879
+ value: 2,
6880
+ label: 'Côncava',
6881
+ color: '#b49bcb'
6882
+ }, {
6883
+ value: 3,
6884
+ label: 'Retilínea',
6885
+ color: '#dcdcdc'
6886
+ }, {
6887
+ value: 4,
6888
+ label: 'Convexa',
6889
+ color: '#f3ce5e'
6890
+ }, {
6891
+ value: 5,
6892
+ label: 'Muito convexa',
6893
+ color: '#fd952e'
6894
+ }];
6895
+ var DEFAULT_CURVATURA_ACTIVE_CLASSSES = CURVATURA_CLASSES.map(function (cl) {
6896
+ return cl.value;
6897
+ });
6898
+ function _curvaturaActiveClasses(candidate) {
6899
+ return Array.isArray(candidate) && candidate.length > 0 ? candidate : DEFAULT_CURVATURA_ACTIVE_CLASSSES;
6900
+ }
6775
6901
  function curvatura(_ref) {
6776
6902
  var RASTER_TILE_SERVER_ENDPOINT = _ref.RASTER_TILE_SERVER_ENDPOINT,
6777
6903
  mosaicJsonUrl = _ref.mosaicJsonUrl;
@@ -6781,49 +6907,42 @@ function curvatura(_ref) {
6781
6907
  collection_id: CURVATURA_ID,
6782
6908
  indicator_id: CURVATURA_ID,
6783
6909
  id: CURVATURA_ID,
6910
+ sourceLabel: 'ANADEM (ANA)',
6784
6911
  label: 'Forma da encosta - Em perfil',
6912
+ shortDescription: 'Refere-se às formas côncava, convexa e retilínea do terreno, analisada em perfil',
6785
6913
  path: "Emerg\xEAncias clim\xE1ticas / / Suscetibilidade a deslizamentos",
6914
+ metodology: /*#__PURE__*/React.createElement(DocumentIframe, {
6915
+ src: "/georedus/metodologia/perfil-de-curvatura.pdf"
6916
+ }),
6786
6917
  confSchema: {
6787
6918
  data: {
6788
- // temperaturaRange: {
6789
- // type: 'range',
6790
- // defaultValue: DEFAULT_DECLIVIDADE_RANGE,
6791
- // step: 1,
6792
- // min: DEFAULT_DECLIVIDADE_RANGE[0],
6793
- // max: DEFAULT_DECLIVIDADE_RANGE[1],
6794
- // label: resolve.literal(
6795
- // resolve.fn((context) => {
6796
- // const temperaturaRange = _temperaturaRange(
6797
- // context.value?.temperaturaRange,
6798
- // )
6799
- // const minLabel = `${temperaturaRange[0]}°`
6800
- // const maxLabel = `${temperaturaRange[1]}°${temperaturaRange[1] === DEFAULT_DECLIVIDADE_RANGE[1] ? '+' : ''}`
6801
- // return `Intervalo de temperatura (${minLabel} - ${maxLabel})`
6802
- // }),
6803
- // ),
6804
- // helperText: 'Intervalo de temperatura apresentado',
6805
- // },
6919
+ curvaturaActiveClasses: {
6920
+ type: 'checkboxSelect',
6921
+ options: CURVATURA_CLASSES.map(function (curv) {
6922
+ return {
6923
+ label: curv.label,
6924
+ value: curv.value
6925
+ };
6926
+ }),
6927
+ defaultValue: CURVATURA_CLASSES.map(function (curv) {
6928
+ return curv.value;
6929
+ })
6930
+ }
6806
6931
  }
6807
6932
  },
6808
6933
  metadata: {},
6809
6934
  sources: _defineProperty({}, CURVATURA_ID, {
6810
- minzoom: 7,
6935
+ minzoom: 9,
6811
6936
  maxzoom: 14,
6812
6937
  type: 'raster',
6813
6938
  tiles: [resolve.fn(function (_ref2) {
6814
- _ref2.view.conf;
6815
- // const temperaturaRange = _temperaturaRange(
6816
- // conf?.data?.temperaturaRange,
6817
- // )
6818
-
6939
+ var _conf$data;
6940
+ var conf = _ref2.view.conf;
6941
+ var curvaturaActiveClasses = _curvaturaActiveClasses(conf === null || conf === void 0 || (_conf$data = conf.data) === null || _conf$data === void 0 ? void 0 : _conf$data.curvaturaActiveClasses);
6819
6942
  var baseUrl = "".concat(RASTER_TILE_SERVER_ENDPOINT, "/mosaicjson/tiles/WebMercatorQuad/{z}/{x}/{y}").concat(DEVICE_PIXEL_RATIO_SUFFIX);
6820
- var COLOR_MAP = {
6821
- 1: '#d92bcb',
6822
- 2: '#b49bcb',
6823
- 3: '#dcdcdc',
6824
- 4: '#f3ce5e',
6825
- 5: '#fd952e'
6826
- };
6943
+ var COLOR_MAP = Object.fromEntries(CURVATURA_CLASSES.map(function (curv) {
6944
+ return [curv.value, curvaturaActiveClasses.includes(curv.value) ? curv.color : TRANSPARENT$2];
6945
+ }));
6827
6946
  return "".concat(baseUrl, "?").concat($urlSearch([{
6828
6947
  url: mosaicJsonUrl,
6829
6948
  colormap: COLOR_MAP
@@ -6831,25 +6950,33 @@ function curvatura(_ref) {
6831
6950
  })]
6832
6951
  }),
6833
6952
  layers: _defineProperty({}, "".concat(CURVATURA_ID), {
6834
- minzoom: 7,
6953
+ minzoom: 9,
6835
6954
  // zIndex: 10,
6836
6955
  type: 'raster',
6837
6956
  source: CURVATURA_ID,
6838
6957
  paint: {
6839
6958
  'raster-opacity': 0.85
6840
- }
6959
+ },
6960
+ legends: [{
6961
+ type: 'CategoricalLegend',
6962
+ title: 'Forma da encosta',
6963
+ items: resolve.fn(function (_ref3) {
6964
+ var _conf$data2;
6965
+ var conf = _ref3.view.conf;
6966
+ var curvaturaActiveClasses = _curvaturaActiveClasses(conf === null || conf === void 0 || (_conf$data2 = conf.data) === null || _conf$data2 === void 0 ? void 0 : _conf$data2.curvaturaActiveClasses);
6967
+ return CURVATURA_CLASSES.filter(function (curv) {
6968
+ return curvaturaActiveClasses.includes(curv.value);
6969
+ });
6970
+ })
6971
+ }]
6841
6972
  })
6842
6973
  };
6843
6974
  }
6844
6975
 
6845
6976
  var DECLIVIDADE_ID = 'declividade';
6846
- var DEFAULT_DECLIVIDADE_RANGE = [0, 45];
6847
6977
  var TRANSPARENT$1 = [0, 0, 0, 0];
6848
- function _declividadeRange(candidate) {
6849
- return Array.isArray(candidate) && candidate.length === 2 && typeof candidate[0] === 'number' && typeof candidate[1] === 'number' ? candidate : DEFAULT_DECLIVIDADE_RANGE;
6850
- }
6851
6978
  var PRECISION$1 = 0.00000001;
6852
- var CLASSES_DECLIVIDADE = [{
6979
+ var DECLIVIDADE_CLASSES = [{
6853
6980
  color: '#2B83BA',
6854
6981
  label: '0º',
6855
6982
  range: [0, 0 + PRECISION$1 - PRECISION$1 / 10]
@@ -6889,7 +7016,17 @@ var CLASSES_DECLIVIDADE = [{
6889
7016
  color: '#860003',
6890
7017
  label: 'Acima de 45º',
6891
7018
  range: [45 + PRECISION$1, 999999]
6892
- }];
7019
+ }].map(function (cl) {
7020
+ return _objectSpread2(_objectSpread2({}, cl), {}, {
7021
+ value: cl.label
7022
+ });
7023
+ });
7024
+ var DEFAULT_DECLIVIDADE_ACTIVE_CLASSSES = DECLIVIDADE_CLASSES.map(function (cl) {
7025
+ return cl.value;
7026
+ });
7027
+ function _declividadeActiveClasses(candidate) {
7028
+ return Array.isArray(candidate) && candidate.length > 0 ? candidate : DEFAULT_DECLIVIDADE_ACTIVE_CLASSSES;
7029
+ }
6893
7030
  function declividade(_ref) {
6894
7031
  var RASTER_TILE_SERVER_ENDPOINT = _ref.RASTER_TILE_SERVER_ENDPOINT,
6895
7032
  mosaicJsonUrl = _ref.mosaicJsonUrl;
@@ -6899,53 +7036,50 @@ function declividade(_ref) {
6899
7036
  collection_id: DECLIVIDADE_ID,
6900
7037
  indicator_id: DECLIVIDADE_ID,
6901
7038
  id: DECLIVIDADE_ID,
7039
+ sourceLabel: 'ANADEM (ANA)',
6902
7040
  label: 'Declividade',
7041
+ shortDescription: 'Ângulo de inclinação da superfície do terreno com relação à horizontal',
6903
7042
  path: "Emerg\xEAncias clim\xE1ticas / / Suscetibilidade a deslizamentos",
7043
+ metodology: /*#__PURE__*/React.createElement(DocumentIframe, {
7044
+ src: "/georedus/metodologia/declividade.pdf"
7045
+ }),
6904
7046
  confSchema: {
6905
7047
  data: {
6906
- declividadeRange: {
6907
- type: 'range',
6908
- defaultValue: DEFAULT_DECLIVIDADE_RANGE,
6909
- step: 1,
6910
- min: DEFAULT_DECLIVIDADE_RANGE[0],
6911
- max: DEFAULT_DECLIVIDADE_RANGE[1],
6912
- label: resolve.literal(resolve.fn(function (context) {
6913
- var _context$value;
6914
- var declividadeRange = _declividadeRange((_context$value = context.value) === null || _context$value === void 0 ? void 0 : _context$value.declividadeRange);
6915
- var minLabel = "".concat(declividadeRange[0], "\xB0");
6916
- var maxLabel = "".concat(declividadeRange[1], "\xB0").concat(declividadeRange[1] === DEFAULT_DECLIVIDADE_RANGE[1] ? '+' : '');
6917
- return "Intervalo de declividade (".concat(minLabel, " - ").concat(maxLabel, ")");
6918
- })),
6919
- helperText: 'Intervalo de declividade apresentado'
7048
+ declividadeActiveClasses: {
7049
+ type: 'checkboxSelect',
7050
+ options: DECLIVIDADE_CLASSES.map(function (cl) {
7051
+ return {
7052
+ label: cl.label,
7053
+ value: cl.value
7054
+ };
7055
+ }),
7056
+ defaultValue: DECLIVIDADE_CLASSES.map(function (cl) {
7057
+ return cl.value;
7058
+ })
6920
7059
  }
6921
7060
  }
6922
7061
  },
6923
7062
  metadata: {},
6924
7063
  sources: _defineProperty({}, DECLIVIDADE_ID, {
6925
- minzoom: 7,
7064
+ minzoom: 9,
6926
7065
  maxzoom: 14,
6927
7066
  type: 'raster',
6928
7067
  tiles: [resolve.fn(function (_ref2) {
6929
7068
  var _conf$data;
6930
7069
  var conf = _ref2.view.conf;
6931
- var declividadeRange = _declividadeRange(conf === null || conf === void 0 || (_conf$data = conf.data) === null || _conf$data === void 0 ? void 0 : _conf$data.declividadeRange);
7070
+ var declividadeActiveClasses = _declividadeActiveClasses(conf === null || conf === void 0 || (_conf$data = conf.data) === null || _conf$data === void 0 ? void 0 : _conf$data.declividadeActiveClasses);
6932
7071
  var baseUrl = "".concat(RASTER_TILE_SERVER_ENDPOINT, "/mosaicjson/tiles/WebMercatorQuad/{z}/{x}/{y}").concat(DEVICE_PIXEL_RATIO_SUFFIX);
6933
- var COLOR_MAP = CLASSES_DECLIVIDADE.map(function (cl) {
6934
- return [cl.range, cl.color];
7072
+ var COLOR_MAP = DECLIVIDADE_CLASSES.map(function (cl) {
7073
+ return [cl.range, declividadeActiveClasses.includes(cl.value) ? cl.color : TRANSPARENT$1];
6935
7074
  });
6936
7075
  return "".concat(baseUrl, "?").concat($urlSearch([{
6937
7076
  url: mosaicJsonUrl,
6938
- colormap: COLOR_MAP.map(function (_ref3) {
6939
- var _ref4 = _slicedToArray(_ref3, 2),
6940
- bounds = _ref4[0],
6941
- color = _ref4[1];
6942
- return [bounds, bounds[0] >= declividadeRange[0] && bounds[1] <= declividadeRange[1] ? color : TRANSPARENT$1];
6943
- })
7077
+ colormap: COLOR_MAP
6944
7078
  }]));
6945
7079
  })]
6946
7080
  }),
6947
7081
  layers: _defineProperty({}, "".concat(DECLIVIDADE_ID), {
6948
- minzoom: 7,
7082
+ minzoom: 9,
6949
7083
  // zIndex: 10,
6950
7084
  type: 'raster',
6951
7085
  source: DECLIVIDADE_ID,
@@ -6955,7 +7089,14 @@ function declividade(_ref) {
6955
7089
  legends: [{
6956
7090
  type: 'CategoricalLegend',
6957
7091
  title: 'Classes de Declividade',
6958
- items: CLASSES_DECLIVIDADE
7092
+ items: resolve.fn(function (_ref3) {
7093
+ var _conf$data2;
7094
+ var conf = _ref3.view.conf;
7095
+ var declividadeActiveClasses = _declividadeActiveClasses(conf === null || conf === void 0 || (_conf$data2 = conf.data) === null || _conf$data2 === void 0 ? void 0 : _conf$data2.declividadeActiveClasses);
7096
+ return DECLIVIDADE_CLASSES.filter(function (cl) {
7097
+ return declividadeActiveClasses.includes(cl.value);
7098
+ });
7099
+ })
6959
7100
  }]
6960
7101
  })
6961
7102
  };
@@ -6977,8 +7118,8 @@ var COLOR_MAP_BASE = [[[0, 0.1], colord(BASE_COLOR).darken(0.2).toHex()], [[0.10
6977
7118
  function hand_legends() {
6978
7119
  return [{
6979
7120
  type: 'ContinuousColorLegend',
6980
- title: 'Altura da drenagem mais próxima',
6981
- unit: 'Metros',
7121
+ title: 'Altura acima da drenagem mais próxima',
7122
+ unit: 'metros',
6982
7123
  numberUnit: 'm',
6983
7124
  colors: resolve.fn(function (_ref) {
6984
7125
  var conf = _ref.view.conf;
@@ -7012,8 +7153,13 @@ function hand(_ref7) {
7012
7153
  collection_id: HAND_ID,
7013
7154
  indicator_id: HAND_ID,
7014
7155
  id: HAND_ID,
7015
- label: 'Suscetibilidade à inundação',
7016
- path: "Emerg\xEAncias clim\xE1ticas / / Riscos hidrol\xF3gicos",
7156
+ sourceLabel: 'ANADEM (ANA)',
7157
+ label: 'Altura acima da drenagem mais próxima',
7158
+ shortDescription: 'Áreas suscetíveis à inundação calculadas por meio da distância vertical em relação ao canal de drenagem mais próximo',
7159
+ path: "Emerg\xEAncias clim\xE1ticas / / Suscetibilidade \xE0 inunda\xE7\xE3o",
7160
+ metodology: /*#__PURE__*/React.createElement(DocumentIframe, {
7161
+ src: "/georedus/metodologia/inundacao-hand.pdf"
7162
+ }),
7017
7163
  confSchema: {
7018
7164
  data: {
7019
7165
  handValue: {
@@ -7033,7 +7179,7 @@ function hand(_ref7) {
7033
7179
  metadata: {},
7034
7180
  sources: _defineProperty({}, HAND_ID, {
7035
7181
  type: 'raster',
7036
- minzoom: 7,
7182
+ minzoom: 9,
7037
7183
  maxzoom: 14,
7038
7184
  tiles: [resolve.fn(function (_ref8) {
7039
7185
  var conf = _ref8.view.conf;
@@ -7052,7 +7198,7 @@ function hand(_ref7) {
7052
7198
  })]
7053
7199
  }),
7054
7200
  layers: _defineProperty({}, "".concat(HAND_ID), {
7055
- minzoom: 7,
7201
+ minzoom: 9,
7056
7202
  // zIndex: 10,
7057
7203
  type: 'raster',
7058
7204
  source: HAND_ID,
@@ -7174,13 +7320,13 @@ function AsyncImage(_ref) {
7174
7320
  _useState2 = _slicedToArray(_useState, 2),
7175
7321
  loaded = _useState2[0],
7176
7322
  setLoaded = _useState2[1];
7177
- return /*#__PURE__*/React.createElement("div", {
7323
+ return /*#__PURE__*/React$1.createElement("div", {
7178
7324
  style: {
7179
7325
  position: 'relative'
7180
7326
  }
7181
- }, /*#__PURE__*/React.createElement(AspectRatio, {
7327
+ }, /*#__PURE__*/React$1.createElement(AspectRatio, {
7182
7328
  ratio: 16 / 9
7183
- }, /*#__PURE__*/React.createElement("img", {
7329
+ }, /*#__PURE__*/React$1.createElement("img", {
7184
7330
  src: src,
7185
7331
  onLoad: function onLoad() {
7186
7332
  return setLoaded(true);
@@ -7192,7 +7338,7 @@ function AsyncImage(_ref) {
7192
7338
  display: loaded ? 'block' : 'none',
7193
7339
  maxWidth: '100%'
7194
7340
  }
7195
- })), !loaded && /*#__PURE__*/React.createElement(LoadingIndicator, {
7341
+ })), !loaded && /*#__PURE__*/React$1.createElement(LoadingIndicator, {
7196
7342
  style: {
7197
7343
  position: 'absolute',
7198
7344
  top: '50%',
@@ -7256,8 +7402,10 @@ function redus_mutirao_cop_2025(conf) {
7256
7402
  collection_id: REDUS_MUTIRAO_COP_2025_ID,
7257
7403
  indicator_id: REDUS_MUTIRAO_COP_2025_ID,
7258
7404
  id: REDUS_MUTIRAO_COP_2025_ID,
7405
+ sourceLabel: 'ReDUS',
7406
+ path: "Emerg\xEAncias Clim\xE1ticas / _ / Mutir\xE3o COP30 - Bel\xE9m",
7259
7407
  label: 'Mutirão ReDUS COP30',
7260
- path: "Emerg\xEAncias Clim\xE1ticas / _ / COP30",
7408
+ shortDescription: 'Ações concretas de Desenvolvimento Urbano Sustentável mapeadas no Mutirão ReDUS rumo à COP30',
7261
7409
  metadata: {},
7262
7410
  sources: _defineProperty({}, REDUS_MUTIRAO_COP_2025_ID, {
7263
7411
  type: 'vector',
@@ -7311,104 +7459,105 @@ function redus_mutirao_cop_2025(conf) {
7311
7459
  case 0:
7312
7460
  properties = feature.properties;
7313
7461
  _context.next = 3;
7314
- return context.dialogs.view(/*#__PURE__*/React.createElement(Flex, {
7462
+ return context.dialogs.view(/*#__PURE__*/React$1.createElement(Flex, {
7315
7463
  direction: "column",
7316
7464
  gap: "4"
7317
- }, /*#__PURE__*/React.createElement(Flex, {
7465
+ }, /*#__PURE__*/React$1.createElement(Flex, {
7318
7466
  direction: "column",
7319
7467
  gap: "2"
7320
- }, /*#__PURE__*/React.createElement(Heading, {
7468
+ }, /*#__PURE__*/React$1.createElement(Heading, {
7321
7469
  as: "h1",
7322
7470
  size: "6"
7323
- }, properties.name), /*#__PURE__*/React.createElement(Portal, null, /*#__PURE__*/React.createElement(Confetti, {
7471
+ }, properties.name), /*#__PURE__*/React$1.createElement(Portal, null, /*#__PURE__*/React$1.createElement(Confetti, {
7324
7472
  style: {
7325
7473
  position: 'fixed',
7326
7474
  top: 0,
7327
7475
  left: 0,
7328
- zIndex: 9999
7476
+ zIndex: 9999,
7477
+ width: '100vw'
7329
7478
  },
7330
7479
  recycle: false,
7331
7480
  numberOfPieces: 700,
7332
7481
  tweenDuration: 8000
7333
- })), (properties.eixos_cop_30_text || properties.odus_text) && /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(AutoWrapContainer, null, JSON.parse(properties.eixos_cop_30_text).map(function (eixo, idx) {
7334
- return /*#__PURE__*/React.createElement(Badge, {
7482
+ })), (properties.eixos_cop_30_text || properties.odus_text) && /*#__PURE__*/React$1.createElement("div", null, /*#__PURE__*/React$1.createElement(AutoWrapContainer, null, JSON.parse(properties.eixos_cop_30_text).map(function (eixo, idx) {
7483
+ return /*#__PURE__*/React$1.createElement(Badge, {
7335
7484
  color: "green",
7336
7485
  key: idx
7337
7486
  }, _eixoShortLabel(eixo));
7338
7487
  }), JSON.parse(properties.odus_text).map(function (obj, idx) {
7339
- return /*#__PURE__*/React.createElement(Badge, {
7488
+ return /*#__PURE__*/React$1.createElement(Badge, {
7340
7489
  key: idx
7341
7490
  }, obj);
7342
- }))), /*#__PURE__*/React.createElement(Heading, {
7491
+ }))), /*#__PURE__*/React$1.createElement(Heading, {
7343
7492
  as: "h3",
7344
7493
  size: "2",
7345
7494
  style: {
7346
7495
  fontWeight: 'normal'
7347
7496
  }
7348
- }, "Organiza\xE7\xE3o respons\xE1vel:", ' ', /*#__PURE__*/React.createElement("strong", null, properties.organizacao)), properties.parcerias && /*#__PURE__*/React.createElement(Heading, {
7497
+ }, "Organiza\xE7\xE3o respons\xE1vel:", ' ', /*#__PURE__*/React$1.createElement("strong", null, properties.organizacao)), properties.parcerias && /*#__PURE__*/React$1.createElement(Heading, {
7349
7498
  as: "h3",
7350
7499
  size: "2",
7351
7500
  style: {
7352
7501
  fontWeight: 'normal'
7353
7502
  }
7354
- }, "Em parceria com: ", /*#__PURE__*/React.createElement("strong", null, properties.parcerias)), /*#__PURE__*/React.createElement(Heading, {
7503
+ }, "Em parceria com: ", /*#__PURE__*/React$1.createElement("strong", null, properties.parcerias)), /*#__PURE__*/React$1.createElement(Heading, {
7355
7504
  as: "h3",
7356
7505
  size: "2",
7357
7506
  style: {
7358
7507
  fontWeight: 'normal'
7359
7508
  }
7360
- }, "Cidade:", ' ', /*#__PURE__*/React.createElement("strong", null, properties.cidade, " - ", properties.estado))), properties.cover_image && /*#__PURE__*/React.createElement(Box, null, /*#__PURE__*/React.createElement("img", {
7509
+ }, "Cidade:", ' ', /*#__PURE__*/React$1.createElement("strong", null, properties.cidade, " - ", properties.estado))), properties.cover_image && /*#__PURE__*/React$1.createElement(Box, null, /*#__PURE__*/React$1.createElement("img", {
7361
7510
  style: {
7362
7511
  maxWidth: '100%'
7363
7512
  },
7364
7513
  src: properties.cover_image
7365
- })), properties.descricao_text && /*#__PURE__*/React.createElement(Flex, {
7514
+ })), properties.descricao_text && /*#__PURE__*/React$1.createElement(Flex, {
7366
7515
  gap: "2"
7367
- }, /*#__PURE__*/React.createElement(Heading, {
7516
+ }, /*#__PURE__*/React$1.createElement(Heading, {
7368
7517
  size: "3"
7369
- }, "Descri\xE7\xE3o:"), /*#__PURE__*/React.createElement(RichTextOutput, {
7518
+ }, "Descri\xE7\xE3o:"), /*#__PURE__*/React$1.createElement(RichTextOutput, {
7370
7519
  value: JSON.parse(properties.descricao_text)
7371
- })), properties.impacto_text && /*#__PURE__*/React.createElement(Flex, {
7520
+ })), properties.impacto_text && /*#__PURE__*/React$1.createElement(Flex, {
7372
7521
  gap: "2"
7373
- }, /*#__PURE__*/React.createElement(Heading, {
7522
+ }, /*#__PURE__*/React$1.createElement(Heading, {
7374
7523
  size: "3"
7375
- }, "Impacto:"), /*#__PURE__*/React.createElement(RichTextOutput, {
7524
+ }, "Impacto:"), /*#__PURE__*/React$1.createElement(RichTextOutput, {
7376
7525
  value: JSON.parse(properties.impacto_text)
7377
- })), properties.escala_de_atuacao_text && /*#__PURE__*/React.createElement(Flex, {
7526
+ })), properties.escala_de_atuacao_text && /*#__PURE__*/React$1.createElement(Flex, {
7378
7527
  gap: "2"
7379
- }, /*#__PURE__*/React.createElement(Heading, {
7528
+ }, /*#__PURE__*/React$1.createElement(Heading, {
7380
7529
  size: "3"
7381
- }, "Escala de atua\xE7\xE3o:"), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(UnstyledList, null, JSON.parse(properties.escala_de_atuacao_text).map(function (escala, idx) {
7382
- return /*#__PURE__*/React.createElement("li", {
7530
+ }, "Escala de atua\xE7\xE3o:"), /*#__PURE__*/React$1.createElement("div", null, /*#__PURE__*/React$1.createElement(UnstyledList, null, JSON.parse(properties.escala_de_atuacao_text).map(function (escala, idx) {
7531
+ return /*#__PURE__*/React$1.createElement("li", {
7383
7532
  key: idx
7384
7533
  }, escala);
7385
- })))), properties.fase_text && /*#__PURE__*/React.createElement(Flex, {
7534
+ })))), properties.fase_text && /*#__PURE__*/React$1.createElement(Flex, {
7386
7535
  gap: "2"
7387
- }, /*#__PURE__*/React.createElement(Heading, {
7536
+ }, /*#__PURE__*/React$1.createElement(Heading, {
7388
7537
  size: "3"
7389
- }, "Fase:"), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(UnstyledList, null, JSON.parse(properties.fase_text).map(function (fase, idx) {
7390
- return /*#__PURE__*/React.createElement("li", {
7538
+ }, "Fase:"), /*#__PURE__*/React$1.createElement("div", null, /*#__PURE__*/React$1.createElement(UnstyledList, null, JSON.parse(properties.fase_text).map(function (fase, idx) {
7539
+ return /*#__PURE__*/React$1.createElement("li", {
7391
7540
  key: idx
7392
7541
  }, fase);
7393
- })))), /*#__PURE__*/React.createElement(Flex, {
7542
+ })))), /*#__PURE__*/React$1.createElement(Flex, {
7394
7543
  gap: "2"
7395
- }, /*#__PURE__*/React.createElement(Heading, {
7544
+ }, /*#__PURE__*/React$1.createElement(Heading, {
7396
7545
  size: "3"
7397
- }, "Informa\xE7\xF5es de contato:"), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(UnstyledList, null, _ensureUrl(properties.site) && /*#__PURE__*/React.createElement("li", null, "Site:", ' ', /*#__PURE__*/React.createElement("a", {
7546
+ }, "Informa\xE7\xF5es de contato:"), /*#__PURE__*/React$1.createElement("div", null, /*#__PURE__*/React$1.createElement(UnstyledList, null, _ensureUrl(properties.site) && /*#__PURE__*/React$1.createElement("li", null, "Site:", ' ', /*#__PURE__*/React$1.createElement("a", {
7398
7547
  href: _ensureUrl(properties.site),
7399
7548
  target: "_blank",
7400
7549
  rel: "noreferrer noopener"
7401
- }, _ensureUrl(properties.site))), properties.redes_sociais && /*#__PURE__*/React.createElement("li", null, "Redes sociais: ", properties.redes_sociais), properties.email && /*#__PURE__*/React.createElement("li", null, "E-mail:", ' ', /*#__PURE__*/React.createElement("a", {
7550
+ }, _ensureUrl(properties.site))), properties.redes_sociais && /*#__PURE__*/React$1.createElement("li", null, "Redes sociais: ", properties.redes_sociais), properties.email && /*#__PURE__*/React$1.createElement("li", null, "E-mail:", ' ', /*#__PURE__*/React$1.createElement("a", {
7402
7551
  href: "mailto:".concat(properties.email)
7403
- }, properties.email))))), properties.other_attachments_text && /*#__PURE__*/React.createElement(Flex, {
7552
+ }, properties.email))))), properties.other_attachments_text && /*#__PURE__*/React$1.createElement(Flex, {
7404
7553
  gap: "2"
7405
- }, /*#__PURE__*/React.createElement(Heading, {
7554
+ }, /*#__PURE__*/React$1.createElement(Heading, {
7406
7555
  size: "3"
7407
- }, "Mais informa\xE7\xF5es:"), /*#__PURE__*/React.createElement(EvenSpacedList, {
7556
+ }, "Mais informa\xE7\xF5es:"), /*#__PURE__*/React$1.createElement(EvenSpacedList, {
7408
7557
  columns: 2,
7409
7558
  gap: "3"
7410
7559
  }, JSON.parse(properties.other_attachments_text).map(function (fase, idx) {
7411
- return /*#__PURE__*/React.createElement(FileOutput, {
7560
+ return /*#__PURE__*/React$1.createElement(FileOutput, {
7412
7561
  value: fase,
7413
7562
  key: idx
7414
7563
  });
@@ -7432,11 +7581,11 @@ function redus_mutirao_cop_2025(conf) {
7432
7581
  var _feature$properties;
7433
7582
  return item.value === (feature === null || feature === void 0 || (_feature$properties = feature.properties) === null || _feature$properties === void 0 ? void 0 : _feature$properties.eixos_cop_30_primeiro);
7434
7583
  }) || null;
7435
- return /*#__PURE__*/React.createElement("div", {
7584
+ return /*#__PURE__*/React$1.createElement("div", {
7436
7585
  style: {
7437
7586
  display: 'inline-flex'
7438
7587
  }
7439
- }, eixo && /*#__PURE__*/React.createElement(Icon, {
7588
+ }, eixo && /*#__PURE__*/React$1.createElement(Icon, {
7440
7589
  path: eixo.iconPath,
7441
7590
  size: "18px",
7442
7591
  style: {
@@ -7454,7 +7603,7 @@ function redus_mutirao_cop_2025(conf) {
7454
7603
  return (_feature$properties3 = feature.properties) !== null && _feature$properties3 !== void 0 && _feature$properties3.parcerias ? ['Parcerias', (_feature$properties4 = feature.properties) === null || _feature$properties4 === void 0 ? void 0 : _feature$properties4.parcerias] : null;
7455
7604
  })), resolve.literal(resolve.fn(function (_ref4) {
7456
7605
  var feature = _ref4.feature;
7457
- return feature.properties.cover_image ? [null, /*#__PURE__*/React.createElement(AsyncImage, {
7606
+ return feature.properties.cover_image ? [null, /*#__PURE__*/React$1.createElement(AsyncImage, {
7458
7607
  style: {
7459
7608
  maxWidth: '100%'
7460
7609
  },
@@ -7469,7 +7618,7 @@ function redus_mutirao_cop_2025(conf) {
7469
7618
  items: LEGEND_ITEMS.map(function (item) {
7470
7619
  return _objectSpread2(_objectSpread2({}, item), {}, {
7471
7620
  box: {
7472
- children: item.iconPath && /*#__PURE__*/React.createElement(Icon, {
7621
+ children: item.iconPath && /*#__PURE__*/React$1.createElement(Icon, {
7473
7622
  path: item.iconPath,
7474
7623
  size: "14px",
7475
7624
  color: "white"
@@ -7508,7 +7657,7 @@ function temperatura_legends() {
7508
7657
  return [{
7509
7658
  type: 'ContinuousColorLegend',
7510
7659
  title: 'Temperatura máxima de superfície (ºC)',
7511
- unit: 'Valor médio em º Celsiu da temperatur máxima no período de 2021 - 2025',
7660
+ unit: 'Valor médio em º Celsius da temperatura máxima no período de 2021 - 2025',
7512
7661
  numberUnit: 'º',
7513
7662
  colors: resolve.fn(function (_ref) {
7514
7663
  var _conf$data;
@@ -7540,65 +7689,64 @@ function temperatura_superficie(_ref7) {
7540
7689
  var RASTER_TILE_SERVER_ENDPOINT = _ref7.RASTER_TILE_SERVER_ENDPOINT,
7541
7690
  mosaicJsonUrl = _ref7.mosaicJsonUrl;
7542
7691
  var DEVICE_PIXEL_RATIO_SUFFIX = typeof window !== 'undefined' && window.devicePixelRatio > 1 ? '@2x' : '';
7543
- return {
7692
+ return _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({
7544
7693
  viewType: VIEW_TYPE_SURFACE_CHOROPLETH,
7545
7694
  collection_id: TEMPERATURA_SUPERFICIE_ID,
7546
7695
  indicator_id: TEMPERATURA_SUPERFICIE_ID,
7547
7696
  id: TEMPERATURA_SUPERFICIE_ID,
7548
- label: 'Temperatura máxima de superfície (ºC)',
7549
- year: '2021 - 2025',
7550
- path: "Emerg\xEAncias clim\xE1ticas / / Extremos de temperatura",
7551
- confSchema: {
7552
- data: {
7553
- temperaturaRange: {
7554
- type: 'range',
7555
- defaultValue: DEFAULT_TEMPERATURA_RANGE,
7556
- step: 1,
7557
- min: DEFAULT_TEMPERATURA_RANGE[0],
7558
- max: DEFAULT_TEMPERATURA_RANGE[1],
7559
- label: resolve.literal(resolve.fn(function (context) {
7560
- var _context$value;
7561
- var temperaturaRange = _temperaturaRange((_context$value = context.value) === null || _context$value === void 0 ? void 0 : _context$value.temperaturaRange);
7562
- var minLabel = "".concat(temperaturaRange[0], "\xB0");
7563
- var maxLabel = "".concat(temperaturaRange[1], "\xB0").concat(temperaturaRange[1] === DEFAULT_TEMPERATURA_RANGE[1] ? '+' : '');
7564
- return "Intervalo de temperatura (".concat(minLabel, " - ").concat(maxLabel, ")");
7565
- })),
7566
- helperText: 'Intervalo de temperatura apresentado'
7567
- }
7697
+ sourceLabel: 'Landsat-8 e Landsat-9',
7698
+ shortDescription: 'Refere-se à',
7699
+ metodology: /*#__PURE__*/React.createElement(DocumentIframe, {
7700
+ src: "/georedus/metodologia/maximas-de-temperatura.pdf"
7701
+ }),
7702
+ label: 'Temperatura máxima de superfície (ºC)'
7703
+ }, "shortDescription", 'Valores máximos anuais de temperatura de superfície do período de 2021 a 2025'), "year", '2021 - 2025'), "path", "Emerg\xEAncias clim\xE1ticas / / Extremos de temperatura"), "confSchema", {
7704
+ data: {
7705
+ temperaturaRange: {
7706
+ type: 'range',
7707
+ defaultValue: DEFAULT_TEMPERATURA_RANGE,
7708
+ step: 1,
7709
+ min: DEFAULT_TEMPERATURA_RANGE[0],
7710
+ max: DEFAULT_TEMPERATURA_RANGE[1],
7711
+ label: resolve.literal(resolve.fn(function (context) {
7712
+ var _context$value;
7713
+ var temperaturaRange = _temperaturaRange((_context$value = context.value) === null || _context$value === void 0 ? void 0 : _context$value.temperaturaRange);
7714
+ var minLabel = "".concat(temperaturaRange[0], "\xB0");
7715
+ var maxLabel = "".concat(temperaturaRange[1], "\xB0").concat(temperaturaRange[1] === DEFAULT_TEMPERATURA_RANGE[1] ? '+' : '');
7716
+ return "Intervalo de temperatura (".concat(minLabel, " - ").concat(maxLabel, ")");
7717
+ })),
7718
+ helperText: 'Intervalo de temperatura apresentado'
7568
7719
  }
7720
+ }
7721
+ }), "metadata", {}), "sources", _defineProperty({}, TEMPERATURA_SUPERFICIE_ID, {
7722
+ minzoom: 9,
7723
+ maxzoom: 14,
7724
+ type: 'raster',
7725
+ tiles: [resolve.fn(function (_ref8) {
7726
+ var _conf$data3;
7727
+ var conf = _ref8.view.conf;
7728
+ var temperaturaRange = _temperaturaRange(conf === null || conf === void 0 || (_conf$data3 = conf.data) === null || _conf$data3 === void 0 ? void 0 : _conf$data3.temperaturaRange);
7729
+ var baseUrl = "".concat(RASTER_TILE_SERVER_ENDPOINT, "/mosaicjson/tiles/WebMercatorQuad/{z}/{x}/{y}").concat(DEVICE_PIXEL_RATIO_SUFFIX);
7730
+ return "".concat(baseUrl, "?").concat($urlSearch([{
7731
+ url: mosaicJsonUrl,
7732
+ colormap: COLOR_MAP.map(function (_ref9) {
7733
+ var _ref10 = _slicedToArray(_ref9, 2),
7734
+ bounds = _ref10[0],
7735
+ color = _ref10[1];
7736
+ return [bounds, bounds[0] >= temperaturaRange[0] && bounds[1] <= temperaturaRange[1] ? color : TRANSPARENT];
7737
+ })
7738
+ }]));
7739
+ })]
7740
+ })), "layers", _defineProperty({}, "".concat(TEMPERATURA_SUPERFICIE_ID), {
7741
+ minzoom: 9,
7742
+ // zIndex: 10,
7743
+ type: 'raster',
7744
+ source: TEMPERATURA_SUPERFICIE_ID,
7745
+ paint: {
7746
+ 'raster-opacity': 0.85
7569
7747
  },
7570
- metadata: {},
7571
- sources: _defineProperty({}, TEMPERATURA_SUPERFICIE_ID, {
7572
- minzoom: 7,
7573
- maxzoom: 14,
7574
- type: 'raster',
7575
- tiles: [resolve.fn(function (_ref8) {
7576
- var _conf$data3;
7577
- var conf = _ref8.view.conf;
7578
- var temperaturaRange = _temperaturaRange(conf === null || conf === void 0 || (_conf$data3 = conf.data) === null || _conf$data3 === void 0 ? void 0 : _conf$data3.temperaturaRange);
7579
- var baseUrl = "".concat(RASTER_TILE_SERVER_ENDPOINT, "/mosaicjson/tiles/WebMercatorQuad/{z}/{x}/{y}").concat(DEVICE_PIXEL_RATIO_SUFFIX);
7580
- return "".concat(baseUrl, "?").concat($urlSearch([{
7581
- url: mosaicJsonUrl,
7582
- colormap: COLOR_MAP.map(function (_ref9) {
7583
- var _ref10 = _slicedToArray(_ref9, 2),
7584
- bounds = _ref10[0],
7585
- color = _ref10[1];
7586
- return [bounds, bounds[0] >= temperaturaRange[0] && bounds[1] <= temperaturaRange[1] ? color : TRANSPARENT];
7587
- })
7588
- }]));
7589
- })]
7590
- }),
7591
- layers: _defineProperty({}, "".concat(TEMPERATURA_SUPERFICIE_ID), {
7592
- minzoom: 7,
7593
- // zIndex: 10,
7594
- type: 'raster',
7595
- source: TEMPERATURA_SUPERFICIE_ID,
7596
- paint: {
7597
- 'raster-opacity': 0.85
7598
- },
7599
- legends: temperatura_legends()
7600
- })
7601
- };
7748
+ legends: temperatura_legends()
7749
+ }));
7602
7750
  }
7603
7751
 
7604
7752
  var index = /*#__PURE__*/Object.freeze({
@@ -7637,7 +7785,7 @@ var templateObject_1, templateObject_2, templateObject_3;
7637
7785
  var REMARK_PLUGINS = [].concat(_toConsumableArray(MARKDOWN_DEFAULT_REMARK_PLUGINS), [remarkMath]);
7638
7786
  var REHYPE_PLUGINS = [].concat(_toConsumableArray(MARKDOWN_DEFAULT_REHYPE_PLUGINS), [rehypeKatex]);
7639
7787
  function Markdown(props) {
7640
- return /*#__PURE__*/React.createElement(Markdown$1, _extends({
7788
+ return /*#__PURE__*/React$1.createElement(Markdown$1, _extends({
7641
7789
  remarkPlugins: REMARK_PLUGINS,
7642
7790
  rehypePlugins: REHYPE_PLUGINS
7643
7791
  }, props));
@@ -7667,7 +7815,7 @@ var _createDialogSystem = createDialogSystem({
7667
7815
  useDialogs = _createDialogSystem2[1];
7668
7816
  function DialogsProvider(_ref2) {
7669
7817
  var children = _ref2.children;
7670
- return /*#__PURE__*/React.createElement(DialogsProvider_, {
7818
+ return /*#__PURE__*/React$1.createElement(DialogsProvider_, {
7671
7819
  prompt: {
7672
7820
  restore: 'Restaurar',
7673
7821
  cancel: 'Cancelar',
@@ -7679,7 +7827,7 @@ function DialogsProvider(_ref2) {
7679
7827
  var CONF_TABS = {
7680
7828
  data: {
7681
7829
  id: 'data',
7682
- icon: /*#__PURE__*/React.createElement(Icon, {
7830
+ icon: /*#__PURE__*/React$1.createElement(Icon, {
7683
7831
  path: mdiFilterVariant,
7684
7832
  size: "16px"
7685
7833
  }),
@@ -7687,7 +7835,7 @@ var CONF_TABS = {
7687
7835
  },
7688
7836
  style: {
7689
7837
  id: 'style',
7690
- icon: /*#__PURE__*/React.createElement(Icon, {
7838
+ icon: /*#__PURE__*/React$1.createElement(Icon, {
7691
7839
  path: mdiOpacity,
7692
7840
  size: "16px"
7693
7841
  }),
@@ -7720,21 +7868,21 @@ function ViewConfTabs(_ref) {
7720
7868
  }).filter(Boolean);
7721
7869
  }, [CONF_SCHEMA]);
7722
7870
  var dialogs = useDialogs();
7723
- return /*#__PURE__*/React.createElement(Tabs.Root, {
7871
+ return /*#__PURE__*/React$1.createElement(Tabs.Root, {
7724
7872
  defaultValue: ((_enabledTabs$ = enabledTabs[0]) === null || _enabledTabs$ === void 0 ? void 0 : _enabledTabs$.id) || null
7725
- }, /*#__PURE__*/React.createElement(Flex, {
7873
+ }, /*#__PURE__*/React$1.createElement(Flex, {
7726
7874
  direction: "row",
7727
7875
  gap: "0"
7728
- }, /*#__PURE__*/React.createElement(Tabs.List, {
7876
+ }, /*#__PURE__*/React$1.createElement(Tabs.List, {
7729
7877
  size: "1"
7730
7878
  }, enabledTabs.map(function (tab) {
7731
- return /*#__PURE__*/React.createElement(Tabs.Trigger, {
7879
+ return /*#__PURE__*/React$1.createElement(Tabs.Trigger, {
7732
7880
  key: tab.id,
7733
7881
  value: tab.id
7734
- }, /*#__PURE__*/React.createElement(Tooltip, {
7882
+ }, /*#__PURE__*/React$1.createElement(Tooltip, {
7735
7883
  content: tab.label
7736
7884
  }, tab.icon));
7737
- })), /*#__PURE__*/React.createElement(Flex, {
7885
+ })), /*#__PURE__*/React$1.createElement(Flex, {
7738
7886
  direction: "row",
7739
7887
  alignItems: "center",
7740
7888
  gap: "10px",
@@ -7745,11 +7893,11 @@ function ViewConfTabs(_ref) {
7745
7893
  flexGrow: 1,
7746
7894
  boxShadow: 'color(display-p3 0.0039 0.251 0.5137 / 0.174) 0px -1px 0px 0px inset'
7747
7895
  }
7748
- }, viewSpec.metodology && /*#__PURE__*/React.createElement(IconButton, {
7896
+ }, viewSpec.metodology && /*#__PURE__*/React$1.createElement(IconButton, {
7749
7897
  variant: "ghost",
7750
7898
  size: "1",
7751
7899
  onClick: /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
7752
- var markdown;
7900
+ var contents, metodologyBody;
7753
7901
  return _regeneratorRuntime().wrap(function _callee2$(_context2) {
7754
7902
  while (1) switch (_context2.prev = _context2.next) {
7755
7903
  case 0:
@@ -7772,7 +7920,7 @@ function ViewConfTabs(_ref) {
7772
7920
  return res.text();
7773
7921
  }) : viewSpec.metodology);
7774
7922
  case 8:
7775
- return _context.abrupt("return", null);
7923
+ return _context.abrupt("return", viewSpec.metodology);
7776
7924
  case 9:
7777
7925
  case "end":
7778
7926
  return _context.stop();
@@ -7780,19 +7928,16 @@ function ViewConfTabs(_ref) {
7780
7928
  }, _callee);
7781
7929
  })));
7782
7930
  case 2:
7783
- markdown = _context2.sent;
7784
- if (!(typeof markdown === 'string')) {
7785
- _context2.next = 6;
7786
- break;
7787
- }
7931
+ contents = _context2.sent;
7932
+ metodologyBody = typeof contents === 'string' ? /*#__PURE__*/React$1.createElement(Markdown, {
7933
+ children: contents.trim()
7934
+ }) : contents;
7788
7935
  _context2.next = 6;
7789
7936
  return dialogs.view({
7790
7937
  maxHeight: '90vh',
7791
- children: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Heading, {
7938
+ children: /*#__PURE__*/React$1.createElement(React$1.Fragment, null, /*#__PURE__*/React$1.createElement(Heading, {
7792
7939
  as: "h1"
7793
- }, viewSpec.label, " - Notas metodol\xF3gicas"), /*#__PURE__*/React.createElement(Markdown, {
7794
- children: markdown.trim()
7795
- }))
7940
+ }, viewSpec.label, " - Notas metodol\xF3gicas"), metodologyBody)
7796
7941
  });
7797
7942
  case 6:
7798
7943
  case "end":
@@ -7800,12 +7945,12 @@ function ViewConfTabs(_ref) {
7800
7945
  }
7801
7946
  }, _callee2);
7802
7947
  }))
7803
- }, /*#__PURE__*/React.createElement(Tooltip, {
7948
+ }, /*#__PURE__*/React$1.createElement(Tooltip, {
7804
7949
  content: "Notas metodol\xF3gicas"
7805
- }, /*#__PURE__*/React.createElement(Icon, {
7950
+ }, /*#__PURE__*/React$1.createElement(Icon, {
7806
7951
  path: mdiHelpCircleOutline,
7807
7952
  size: "16px"
7808
- }))), typeof (resolvedView === null || resolvedView === void 0 ? void 0 : resolvedView.download) === 'function' && /*#__PURE__*/React.createElement(IconButton, {
7953
+ }))), typeof (resolvedView === null || resolvedView === void 0 ? void 0 : resolvedView.download) === 'function' && /*#__PURE__*/React$1.createElement(IconButton, {
7809
7954
  variant: "ghost",
7810
7955
  size: "1",
7811
7956
  onClick: function onClick() {
@@ -7813,22 +7958,22 @@ function ViewConfTabs(_ref) {
7813
7958
  dialogs: dialogs
7814
7959
  });
7815
7960
  }
7816
- }, /*#__PURE__*/React.createElement(Tooltip, {
7961
+ }, /*#__PURE__*/React$1.createElement(Tooltip, {
7817
7962
  content: "Baixar dados"
7818
- }, /*#__PURE__*/React.createElement(Icon, {
7963
+ }, /*#__PURE__*/React$1.createElement(Icon, {
7819
7964
  path: mdiDownload,
7820
7965
  size: "16px"
7821
- }))), /*#__PURE__*/React.createElement(DropdownMenu, {
7966
+ }))), /*#__PURE__*/React$1.createElement(DropdownMenu, {
7822
7967
  options: [{
7823
7968
  label: 'Visualizar como mapa comparado',
7824
7969
  onClick: function onClick() {
7825
7970
  return onSetView(viewConf, 1);
7826
7971
  }
7827
7972
  }]
7828
- }, /*#__PURE__*/React.createElement(IconButton, {
7973
+ }, /*#__PURE__*/React$1.createElement(IconButton, {
7829
7974
  variant: "ghost",
7830
7975
  size: "1"
7831
- }, /*#__PURE__*/React.createElement(Icon, {
7976
+ }, /*#__PURE__*/React$1.createElement(Icon, {
7832
7977
  path: mdiDotsVertical,
7833
7978
  size: "16px"
7834
7979
  }))))), Array.isArray(enabledTabs) && enabledTabs.length > 0 ? enabledTabs.map(function (tab) {
@@ -7843,14 +7988,14 @@ function ViewConfTabs(_ref) {
7843
7988
  return Boolean(value);
7844
7989
  }));
7845
7990
  var tabConfValue = immediateViewConf[tab.id];
7846
- return /*#__PURE__*/React.createElement(Tabs.Content, {
7991
+ return /*#__PURE__*/React$1.createElement(Tabs.Content, {
7847
7992
  key: tab.id,
7848
7993
  value: tab.id
7849
- }, /*#__PURE__*/React.createElement(Box, {
7994
+ }, /*#__PURE__*/React$1.createElement(Box, {
7850
7995
  p: "3"
7851
- }, /*#__PURE__*/React.createElement(Theme, {
7996
+ }, /*#__PURE__*/React$1.createElement(Theme, {
7852
7997
  scaling: "100%"
7853
- }, /*#__PURE__*/React.createElement(Input, {
7998
+ }, /*#__PURE__*/React$1.createElement(Input, {
7854
7999
  schema: {
7855
8000
  type: 'object',
7856
8001
  properties: tabConfSchema
@@ -7860,7 +8005,7 @@ function ViewConfTabs(_ref) {
7860
8005
  return setImmediateViewConf(_objectSpread2(_objectSpread2({}, viewConf), {}, _defineProperty({}, tab.id, _objectSpread2(_objectSpread2({}, viewConf[tab.id] || {}), nextValue))));
7861
8006
  }
7862
8007
  }))));
7863
- }) : /*#__PURE__*/React.createElement(Box, {
8008
+ }) : /*#__PURE__*/React$1.createElement(Box, {
7864
8009
  p: "3",
7865
8010
  style: {
7866
8011
  fontSize: '.9rem'
@@ -7897,18 +8042,18 @@ function HeadingWithTooltipAndEllipsis(_ref7) {
7897
8042
  _ref7$maxLines = _ref7.maxLines,
7898
8043
  maxLines = _ref7$maxLines === void 0 ? 2 : _ref7$maxLines,
7899
8044
  props = _objectWithoutProperties(_ref7, _excluded$4);
7900
- return /*#__PURE__*/React.createElement(Tooltip, {
8045
+ return /*#__PURE__*/React$1.createElement(Tooltip, {
7901
8046
  content: content
7902
- }, /*#__PURE__*/React.createElement(Heading, _extends({
8047
+ }, /*#__PURE__*/React$1.createElement(Heading, _extends({
7903
8048
  size: "2",
7904
8049
  as: "h4",
7905
8050
  style: {
7906
8051
  fontWeight: 'normal',
7907
8052
  color: 'var(--accent-9)'
7908
8053
  }
7909
- }, props), /*#__PURE__*/React.createElement(TextEllipsis, {
8054
+ }, props), /*#__PURE__*/React$1.createElement(TextEllipsis, {
7910
8055
  maxLines: maxLines
7911
- }, /*#__PURE__*/React.createElement(Highlighter, {
8056
+ }, /*#__PURE__*/React$1.createElement(Highlighter, {
7912
8057
  searchWords: textSearch && textSearch.length > 3 ? [textSearch] : [],
7913
8058
  textToHighlight: content
7914
8059
  }))));
@@ -7935,9 +8080,9 @@ function ViewControl(_ref8) {
7935
8080
  var toggleView = useCallback(function () {
7936
8081
  return active ? deactivateView() : setView();
7937
8082
  }, [active, deactivateView, setView]);
7938
- return viewSpec && /*#__PURE__*/React.createElement(Collapsible.Root, {
8083
+ return viewSpec && /*#__PURE__*/React$1.createElement(Collapsible.Root, {
7939
8084
  open: configurable === true && active
7940
- }, /*#__PURE__*/React.createElement(Container$1, null, /*#__PURE__*/React.createElement(Summary, {
8085
+ }, /*#__PURE__*/React$1.createElement(Container$1, null, /*#__PURE__*/React$1.createElement(Summary, {
7941
8086
  type: "button",
7942
8087
  role: "button",
7943
8088
  style: style,
@@ -7945,19 +8090,19 @@ function ViewControl(_ref8) {
7945
8090
  onClick: configurable ? function () {
7946
8091
  return toggleView();
7947
8092
  } : null
7948
- }, /*#__PURE__*/React.createElement(Flex, {
8093
+ }, /*#__PURE__*/React$1.createElement(Flex, {
7949
8094
  direction: "row",
7950
8095
  alignItems: "center",
7951
8096
  justifyContent: "space-between",
7952
8097
  p: "3",
7953
8098
  width: "100%"
7954
- }, /*#__PURE__*/React.createElement(Flex, {
8099
+ }, /*#__PURE__*/React$1.createElement(Flex, {
7955
8100
  direction: "column",
7956
8101
  gap: "1",
7957
8102
  style: {
7958
8103
  flexGrow: '1'
7959
8104
  }
7960
- }, path && /*#__PURE__*/React.createElement(HeadingWithTooltipAndEllipsis, {
8105
+ }, path && /*#__PURE__*/React$1.createElement(HeadingWithTooltipAndEllipsis, {
7961
8106
  size: "1",
7962
8107
  as: "h6",
7963
8108
  content: typeof path === 'string' ? path : viewSpec.path,
@@ -7967,18 +8112,34 @@ function ViewControl(_ref8) {
7967
8112
  color: 'var(--gray-9)',
7968
8113
  fontWeight: 'normal'
7969
8114
  }
7970
- }), /*#__PURE__*/React.createElement(HeadingWithTooltipAndEllipsis, {
8115
+ }), /*#__PURE__*/React$1.createElement(HeadingWithTooltipAndEllipsis, {
7971
8116
  content: viewSpec.label,
7972
8117
  textSearch: textSearch,
7973
8118
  maxLines: 2
7974
- }), /*#__PURE__*/React.createElement(Text, {
8119
+ }), /*#__PURE__*/React$1.createElement(Text, {
7975
8120
  color: "gray",
7976
8121
  style: {
7977
8122
  color: 'var(--gray-9)',
7978
8123
  textTransform: 'uppercase'
7979
8124
  },
7980
8125
  size: "1"
7981
- }, viewSpec.sourceLabel)), /*#__PURE__*/React.createElement(SwitchInput, {
8126
+ }, viewSpec.sourceLabel), viewSpec.shortDescription && /*#__PURE__*/React$1.createElement(Flex, {
8127
+ direction: "row",
8128
+ gap: "2"
8129
+ }, /*#__PURE__*/React$1.createElement(Icon$1, {
8130
+ style: {
8131
+ flexShrink: 0,
8132
+ color: 'var(--gray-9)'
8133
+ },
8134
+ path: mdiBookOpenVariant,
8135
+ size: "20px"
8136
+ }), /*#__PURE__*/React$1.createElement(Text, {
8137
+ color: "gray",
8138
+ style: {
8139
+ color: 'var(--gray-9)'
8140
+ },
8141
+ size: "1"
8142
+ }, viewSpec.shortDescription))), /*#__PURE__*/React$1.createElement(SwitchInput, {
7982
8143
  radius: "full",
7983
8144
  value: active,
7984
8145
  onSetValue: function onSetValue() {
@@ -7991,11 +8152,11 @@ function ViewControl(_ref8) {
7991
8152
  onClick: function onClick(e) {
7992
8153
  return e.stopPropagation();
7993
8154
  }
7994
- }))), /*#__PURE__*/React.createElement(CollapsibleContent, {
8155
+ }))), /*#__PURE__*/React$1.createElement(CollapsibleContent, {
7995
8156
  style: {
7996
8157
  borderTop: '1px solid var(--gray-8)'
7997
8158
  }
7998
- }, viewConf && /*#__PURE__*/React.createElement(ViewConfTabs, {
8159
+ }, viewConf && /*#__PURE__*/React$1.createElement(ViewConfTabs, {
7999
8160
  viewSpec: viewSpec,
8000
8161
  viewConf: viewConf,
8001
8162
  resolvedView: resolvedView,
@@ -8006,22 +8167,22 @@ function ViewControl(_ref8) {
8006
8167
  var _excluded$3 = ["viewSpecs", "viewConfState", "resolvedViews", "onSetView", "onDeactivateView", "style"];
8007
8168
  var _templateObject$3, _templateObject2$1;
8008
8169
  var STATIC_NODE_ICONS = {
8009
- 'populacao-e-domicilios': /*#__PURE__*/React.createElement(Icon, {
8170
+ 'populacao-e-domicilios': /*#__PURE__*/React$1.createElement(Icon, {
8010
8171
  path: mdiAccountGroup
8011
8172
  }),
8012
- educacao: /*#__PURE__*/React.createElement(Icon, {
8173
+ educacao: /*#__PURE__*/React$1.createElement(Icon, {
8013
8174
  path: mdiSchool
8014
8175
  }),
8015
- 'infraestrutura-e-servicos-urbanos': /*#__PURE__*/React.createElement(Icon, {
8176
+ 'infraestrutura-e-servicos-urbanos': /*#__PURE__*/React$1.createElement(Icon, {
8016
8177
  path: mdiHomeCity
8017
8178
  }),
8018
- saude: /*#__PURE__*/React.createElement(Icon, {
8179
+ saude: /*#__PURE__*/React$1.createElement(Icon, {
8019
8180
  path: mdiHospitalBox
8020
8181
  }),
8021
- 'emergencias-climaticas': /*#__PURE__*/React.createElement(Icon, {
8182
+ 'emergencias-climaticas': /*#__PURE__*/React$1.createElement(Icon, {
8022
8183
  path: mdiEarth
8023
8184
  }),
8024
- 'divisoes-territoriais': /*#__PURE__*/React.createElement(Icon, {
8185
+ 'divisoes-territoriais': /*#__PURE__*/React$1.createElement(Icon, {
8025
8186
  path: mdiMap
8026
8187
  })
8027
8188
  };
@@ -8044,7 +8205,7 @@ function Item(_ref) {
8044
8205
  resolvedViews = _useContext.resolvedViews,
8045
8206
  _onSetView = _useContext.onSetView,
8046
8207
  _onDeactivateView = _useContext.onDeactivateView;
8047
- return /*#__PURE__*/React.createElement(ViewControl, {
8208
+ return /*#__PURE__*/React$1.createElement(ViewControl, {
8048
8209
  textSearch: textSearch,
8049
8210
  path: Boolean(textSearch) ? node.path : null,
8050
8211
  viewSpec: node,
@@ -8120,7 +8281,7 @@ var DirNav = makeDirNav({
8120
8281
  viewSpecsById: viewSpecsById,
8121
8282
  nodeId: node.id
8122
8283
  });
8123
- return /*#__PURE__*/React.createElement("div", {
8284
+ return /*#__PURE__*/React$1.createElement("div", {
8124
8285
  style: {
8125
8286
  flexGrow: 1,
8126
8287
  textAlign: 'left',
@@ -8130,11 +8291,11 @@ var DirNav = makeDirNav({
8130
8291
  alignItems: 'center',
8131
8292
  justifyContent: 'space-between'
8132
8293
  }
8133
- }, /*#__PURE__*/React.createElement(TextEllipsis, {
8294
+ }, /*#__PURE__*/React$1.createElement(TextEllipsis, {
8134
8295
  style: {
8135
8296
  flexShrink: 1
8136
8297
  }
8137
- }, node.label), activeViewsCount > 0 && /*#__PURE__*/React.createElement("span", {
8298
+ }, node.label), activeViewsCount > 0 && /*#__PURE__*/React$1.createElement("span", {
8138
8299
  style: {
8139
8300
  marginLeft: 6,
8140
8301
  fontSize: '.8rem',
@@ -8157,9 +8318,9 @@ function ViewMenu(_ref4) {
8157
8318
  return [spec.id, spec];
8158
8319
  }));
8159
8320
  }, [viewSpecs]);
8160
- return /*#__PURE__*/React.createElement("div", {
8321
+ return /*#__PURE__*/React$1.createElement("div", {
8161
8322
  style: style
8162
- }, /*#__PURE__*/React.createElement(ViewMenuContext.Provider, {
8323
+ }, /*#__PURE__*/React$1.createElement(ViewMenuContext.Provider, {
8163
8324
  value: {
8164
8325
  viewSpecsById: viewSpecsById,
8165
8326
  viewConfState: viewConfState,
@@ -8167,7 +8328,7 @@ function ViewMenu(_ref4) {
8167
8328
  onSetView: onSetView,
8168
8329
  onDeactivateView: onDeactivateView
8169
8330
  }
8170
- }, /*#__PURE__*/React.createElement(DirNav, _extends({
8331
+ }, /*#__PURE__*/React$1.createElement(DirNav, _extends({
8171
8332
  style: {
8172
8333
  flexGrow: 1,
8173
8334
  overflow: 'hidden'
@@ -8182,18 +8343,18 @@ function ViewMenu(_ref4) {
8182
8343
  viewSpecsById: viewSpecsById,
8183
8344
  nodeId: node.id
8184
8345
  });
8185
- return /*#__PURE__*/React.createElement("div", {
8346
+ return /*#__PURE__*/React$1.createElement("div", {
8186
8347
  style: {
8187
8348
  position: 'relative'
8188
8349
  }
8189
- }, STATIC_NODE_ICONS[node.id], activeViewsCount > 0 && /*#__PURE__*/React.createElement(ActiveCounter, null, activeViewsCount));
8350
+ }, STATIC_NODE_ICONS[node.id], activeViewsCount > 0 && /*#__PURE__*/React$1.createElement(ActiveCounter, null, activeViewsCount));
8190
8351
  }
8191
8352
  }, props))));
8192
8353
  }
8193
8354
 
8194
8355
  function GeoReDUSLogoSymbol() {
8195
8356
  var color = '#FFFFFF';
8196
- return /*#__PURE__*/React.createElement("svg", {
8357
+ return /*#__PURE__*/React$1.createElement("svg", {
8197
8358
  version: "1.1",
8198
8359
  id: "Layer_1",
8199
8360
  xmlns: "http://www.w3.org/2000/svg"
@@ -8204,59 +8365,59 @@ function GeoReDUSLogoSymbol() {
8204
8365
  x: "0px",
8205
8366
  y: "0px",
8206
8367
  viewBox: "0 0 117.98 129.33"
8207
- }, /*#__PURE__*/React.createElement("g", null, /*#__PURE__*/React.createElement("g", null, /*#__PURE__*/React.createElement("g", null, /*#__PURE__*/React.createElement("path", {
8368
+ }, /*#__PURE__*/React$1.createElement("g", null, /*#__PURE__*/React$1.createElement("g", null, /*#__PURE__*/React$1.createElement("g", null, /*#__PURE__*/React$1.createElement("path", {
8208
8369
  d: "M67.52,21.86l-3.1-0.07c0.06-2.71-0.94-5.28-2.81-7.23c-1.87-1.96-4.39-3.07-7.1-3.13l0.07-3.1 c3.54,0.08,6.83,1.53,9.27,4.08C66.29,14.97,67.6,18.32,67.52,21.86L67.52,21.86z"
8209
- }), /*#__PURE__*/React.createElement("path", {
8370
+ }), /*#__PURE__*/React$1.createElement("path", {
8210
8371
  d: "M75.86,22.04l-3.1-0.07C72.99,11.79,64.88,3.32,54.7,3.1L54.77,0C66.66,0.26,76.12,10.15,75.86,22.04L75.86,22.04z"
8211
- }), /*#__PURE__*/React.createElement("path", {
8372
+ }), /*#__PURE__*/React$1.createElement("path", {
8212
8373
  d: "M54.19,25.36c2.47,0.05,4.51-1.9,4.56-4.37c0.05-2.47-1.9-4.51-4.37-4.56c-2.47-0.05-4.51,1.9-4.56,4.37 C49.77,23.27,51.73,25.31,54.19,25.36L54.19,25.36z"
8213
- }), /*#__PURE__*/React.createElement("path", {
8374
+ }), /*#__PURE__*/React$1.createElement("path", {
8214
8375
  d: "M51.2,107.68c-3.84,0-6.97,3.13-6.97,6.97c0,3.84,3.13,6.97,6.97,6.97l0.23,0.02c0.03,0.01,4.8,0.42,12.67-6.99 c-7.86-7.49-12.62-6.99-12.67-6.98l-0.13,0.02L51.2,107.68L51.2,107.68z M51.65,124.74c-0.24,0-0.43-0.01-0.55-0.03 c-5.51-0.05-9.97-4.55-9.97-10.07c0-5.52,4.46-10.01,9.96-10.07c1.17-0.14,7.18-0.29,16.33,8.98l1.08,1.1l-1.09,1.09 C59.24,123.92,53.6,124.74,51.65,124.74L51.65,124.74z"
8215
- }), /*#__PURE__*/React.createElement("path", {
8376
+ }), /*#__PURE__*/React$1.createElement("path", {
8216
8377
  d: "M54.43,70.07c3.15,0,5.71-2.56,5.71-5.71c0-3.15-2.56-5.71-5.71-5.71c-3.15,0-5.71,2.56-5.71,5.71 C48.72,67.52,51.28,70.07,54.43,70.07L54.43,70.07z"
8217
- }), /*#__PURE__*/React.createElement("path", {
8378
+ }), /*#__PURE__*/React$1.createElement("path", {
8218
8379
  d: "M55.01,116.19c-23.03,0-41.76-18.73-41.76-41.76c0-23,18.7-41.71,41.69-41.71c23,0,41.71,18.71,41.71,41.71h-3.1 c0-21.29-17.32-38.61-38.61-38.61c-21.28,0-38.59,17.32-38.59,38.61c0,21.32,17.34,38.66,38.66,38.66V116.19L55.01,116.19z"
8219
- }), /*#__PURE__*/React.createElement("path", {
8380
+ }), /*#__PURE__*/React$1.createElement("path", {
8220
8381
  d: "M54.92,129.33C24.64,129.33,0,104.71,0,74.44c0-30.28,24.64-54.92,54.92-54.92v3.1C26.35,22.61,3.1,45.86,3.1,74.44 c0,28.56,23.25,51.8,51.82,51.8c28.56,0,51.8-23.24,51.8-51.8h3.1C109.82,104.71,85.19,129.33,54.92,129.33L54.92,129.33z"
8221
- }), /*#__PURE__*/React.createElement("path", {
8382
+ }), /*#__PURE__*/React$1.createElement("path", {
8222
8383
  d: "M54.86,102.79c-4.64,0-8.27-1.37-10.8-4.07c-3.85-4.1-3.69-9.79-3.66-10.46v-6.47c0-4.73,3.85-8.57,8.57-8.57h12.71 c4.73,0,8.57,3.85,8.57,8.57l0,0.07c-0.01,0.11-0.7,11.23-15.96,11.23v-3.1c11.94,0,12.81-7.59,12.87-8.25 c-0.03-3-2.47-5.42-5.47-5.42H48.97c-3.02,0-5.47,2.46-5.47,5.47l0,6.61c0,0.05-0.25,4.94,2.84,8.22 c1.92,2.04,4.79,3.07,8.53,3.07c13.91,0,25.22-11.33,25.22-25.25c0-13.91-11.31-25.22-25.22-25.22 c-13.88,0-24.76,11.08-24.76,25.22h-3.1c0-15.88,12.24-28.32,27.86-28.32c15.62,0,28.32,12.7,28.32,28.32 C83.18,90.07,70.48,102.79,54.86,102.79L54.86,102.79z"
8223
- }), /*#__PURE__*/React.createElement("path", {
8384
+ }), /*#__PURE__*/React$1.createElement("path", {
8224
8385
  d: "M108.31,55.76c-2.22,0-4.03-1.8-4.03-4.03c0-2.22,1.8-4.03,4.03-4.03c2.22,0,4.03,1.8,4.03,4.03 C112.34,53.95,110.53,55.76,108.31,55.76L108.31,55.76z M117.95,51.85c0-5.35-4.33-9.68-9.68-9.68c-5.35,0-9.68,4.33-9.68,9.68 c0,0-0.98,6.53,9.68,17.18C119.05,58.38,117.95,51.85,117.95,51.85L117.95,51.85z"
8225
- }), /*#__PURE__*/React.createElement("polygon", {
8386
+ }), /*#__PURE__*/React$1.createElement("polygon", {
8226
8387
  points: "97.94,83.14 89.42,83.14 89.42,91.66 97.94,91.66 97.94,83.14 "
8227
- }), /*#__PURE__*/React.createElement("polygon", {
8388
+ }), /*#__PURE__*/React$1.createElement("polygon", {
8228
8389
  points: "85.85,100.08 77.33,100.08 77.33,108.6 85.85,108.6 85.85,100.08 "
8229
- })))), /*#__PURE__*/React.createElement("g", null, /*#__PURE__*/React.createElement("g", null, /*#__PURE__*/React.createElement("g", null, /*#__PURE__*/React.createElement("path", {
8390
+ })))), /*#__PURE__*/React$1.createElement("g", null, /*#__PURE__*/React$1.createElement("g", null, /*#__PURE__*/React$1.createElement("g", null, /*#__PURE__*/React$1.createElement("path", {
8230
8391
  fill: color,
8231
8392
  d: "M67.52,21.86l-3.1-0.07c0.06-2.71-0.94-5.28-2.81-7.23c-1.87-1.96-4.39-3.07-7.1-3.13l0.07-3.1 c3.54,0.08,6.83,1.53,9.27,4.08C66.29,14.97,67.6,18.32,67.52,21.86L67.52,21.86z"
8232
- }), /*#__PURE__*/React.createElement("path", {
8393
+ }), /*#__PURE__*/React$1.createElement("path", {
8233
8394
  fill: color,
8234
8395
  d: "M75.86,22.04l-3.1-0.07C72.99,11.79,64.88,3.32,54.7,3.1L54.77,0C66.66,0.26,76.12,10.15,75.86,22.04 L75.86,22.04z"
8235
- }), /*#__PURE__*/React.createElement("path", {
8396
+ }), /*#__PURE__*/React$1.createElement("path", {
8236
8397
  fill: color,
8237
8398
  d: "M54.19,25.36c2.47,0.05,4.51-1.9,4.56-4.37c0.05-2.47-1.9-4.51-4.37-4.56c-2.47-0.05-4.51,1.9-4.56,4.37 C49.77,23.27,51.73,25.31,54.19,25.36L54.19,25.36z"
8238
- }), /*#__PURE__*/React.createElement("path", {
8399
+ }), /*#__PURE__*/React$1.createElement("path", {
8239
8400
  fill: color,
8240
8401
  d: "M51.2,107.68c-3.84,0-6.97,3.13-6.97,6.97c0,3.84,3.13,6.97,6.97,6.97l0.23,0.02 c0.03,0.01,4.8,0.42,12.67-6.99c-7.86-7.49-12.62-6.99-12.67-6.98l-0.13,0.02L51.2,107.68L51.2,107.68z M51.65,124.74 c-0.24,0-0.43-0.01-0.55-0.03c-5.51-0.05-9.97-4.55-9.97-10.07c0-5.52,4.46-10.01,9.96-10.07c1.17-0.14,7.18-0.29,16.33,8.98 l1.08,1.1l-1.09,1.09C59.24,123.92,53.6,124.74,51.65,124.74L51.65,124.74z"
8241
- }), /*#__PURE__*/React.createElement("path", {
8402
+ }), /*#__PURE__*/React$1.createElement("path", {
8242
8403
  fill: color,
8243
8404
  d: "M54.43,70.07c3.15,0,5.71-2.56,5.71-5.71c0-3.15-2.56-5.71-5.71-5.71c-3.15,0-5.71,2.56-5.71,5.71 C48.72,67.52,51.28,70.07,54.43,70.07L54.43,70.07z"
8244
- }), /*#__PURE__*/React.createElement("path", {
8405
+ }), /*#__PURE__*/React$1.createElement("path", {
8245
8406
  fill: color,
8246
8407
  d: "M55.01,116.19c-23.03,0-41.76-18.73-41.76-41.76c0-23,18.7-41.71,41.69-41.71c23,0,41.71,18.71,41.71,41.71 h-3.1c0-21.29-17.32-38.61-38.61-38.61c-21.28,0-38.59,17.32-38.59,38.61c0,21.32,17.34,38.66,38.66,38.66V116.19L55.01,116.19z"
8247
- }), /*#__PURE__*/React.createElement("path", {
8408
+ }), /*#__PURE__*/React$1.createElement("path", {
8248
8409
  fill: color,
8249
8410
  d: "M54.92,129.33C24.64,129.33,0,104.71,0,74.44c0-30.28,24.64-54.92,54.92-54.92v3.1 C26.35,22.61,3.1,45.86,3.1,74.44c0,28.56,23.25,51.8,51.82,51.8c28.56,0,51.8-23.24,51.8-51.8h3.1 C109.82,104.71,85.19,129.33,54.92,129.33L54.92,129.33z"
8250
- }), /*#__PURE__*/React.createElement("path", {
8411
+ }), /*#__PURE__*/React$1.createElement("path", {
8251
8412
  fill: color,
8252
8413
  d: "M54.86,102.79c-4.64,0-8.27-1.37-10.8-4.07c-3.85-4.1-3.69-9.79-3.66-10.46v-6.47 c0-4.73,3.85-8.57,8.57-8.57h12.71c4.73,0,8.57,3.85,8.57,8.57l0,0.07c-0.01,0.11-0.7,11.23-15.96,11.23v-3.1 c11.94,0,12.81-7.59,12.87-8.25c-0.03-3-2.47-5.42-5.47-5.42H48.97c-3.02,0-5.47,2.46-5.47,5.47l0,6.61 c0,0.05-0.25,4.94,2.84,8.22c1.92,2.04,4.79,3.07,8.53,3.07c13.91,0,25.22-11.33,25.22-25.25c0-13.91-11.31-25.22-25.22-25.22 c-13.88,0-24.76,11.08-24.76,25.22h-3.1c0-15.88,12.24-28.32,27.86-28.32c15.62,0,28.32,12.7,28.32,28.32 C83.18,90.07,70.48,102.79,54.86,102.79L54.86,102.79z"
8253
- }), /*#__PURE__*/React.createElement("path", {
8414
+ }), /*#__PURE__*/React$1.createElement("path", {
8254
8415
  fill: color,
8255
8416
  d: "M108.31,55.76c-2.22,0-4.03-1.8-4.03-4.03c0-2.22,1.8-4.03,4.03-4.03c2.22,0,4.03,1.8,4.03,4.03 C112.34,53.95,110.53,55.76,108.31,55.76L108.31,55.76z M117.95,51.85c0-5.35-4.33-9.68-9.68-9.68c-5.35,0-9.68,4.33-9.68,9.68 c0,0-0.98,6.53,9.68,17.18C119.05,58.38,117.95,51.85,117.95,51.85L117.95,51.85z"
8256
- }), /*#__PURE__*/React.createElement("polygon", {
8417
+ }), /*#__PURE__*/React$1.createElement("polygon", {
8257
8418
  fill: color,
8258
8419
  points: "97.94,83.14 89.42,83.14 89.42,91.66 97.94,91.66 97.94,83.14 "
8259
- }), /*#__PURE__*/React.createElement("polygon", {
8420
+ }), /*#__PURE__*/React$1.createElement("polygon", {
8260
8421
  fill: color,
8261
8422
  points: "85.85,100.08 77.33,100.08 77.33,108.6 85.85,108.6 85.85,100.08 "
8262
8423
  })))));
@@ -8264,7 +8425,7 @@ function GeoReDUSLogoSymbol() {
8264
8425
 
8265
8426
  function GeoReDUSLogoText() {
8266
8427
  var color = '#FFFFFF';
8267
- return /*#__PURE__*/React.createElement("svg", {
8428
+ return /*#__PURE__*/React$1.createElement("svg", {
8268
8429
  version: "1.1",
8269
8430
  id: "Layer_1",
8270
8431
  xmlns: "http://www.w3.org/2000/svg"
@@ -8275,35 +8436,35 @@ function GeoReDUSLogoText() {
8275
8436
  x: "0px",
8276
8437
  y: "0px",
8277
8438
  viewBox: "0 0 215.51 129.33"
8278
- }, /*#__PURE__*/React.createElement("g", null, /*#__PURE__*/React.createElement("g", null, /*#__PURE__*/React.createElement("g", null, /*#__PURE__*/React.createElement("path", {
8439
+ }, /*#__PURE__*/React$1.createElement("g", null, /*#__PURE__*/React$1.createElement("g", null, /*#__PURE__*/React$1.createElement("g", null, /*#__PURE__*/React$1.createElement("path", {
8279
8440
  fill: color,
8280
8441
  d: "M22.83,69.59c-7.32,0-12.95-1.95-16.91-5.86C1.98,59.82,0,53.76,0,45.54c0-5.47,0.95-9.97,2.85-13.52 c1.9-3.55,4.65-6.19,8.27-7.93c3.61-1.74,7.95-2.61,13.01-2.61c3.03,0,5.87,0.34,8.54,1.02c2.67,0.68,5.03,1.72,7.08,3.12 c2.06,1.4,3.66,3.15,4.81,5.25c1.15,2.1,1.73,4.6,1.73,7.49H36.05c0-1.4-0.3-2.64-0.91-3.73c-0.61-1.08-1.46-1.99-2.54-2.71 c-1.08-0.72-2.33-1.26-3.73-1.63c-1.4-0.36-2.87-0.54-4.4-0.54c-2.35,0-4.4,0.3-6.17,0.91c-1.76,0.61-3.22,1.54-4.37,2.78 c-1.15,1.24-2.02,2.79-2.61,4.64c-0.59,1.85-0.88,4-0.88,6.44v2.03c0,3.39,0.5,6.17,1.49,8.33c0.99,2.17,2.48,3.78,4.47,4.85 c1.99,1.06,4.45,1.59,7.39,1.59c2.44,0,4.6-0.37,6.47-1.12c1.87-0.75,3.34-1.82,4.4-3.22c1.06-1.4,1.59-3.12,1.59-5.15v-0.47 H22.36v-7.72h23.92v25.14h-6.64l-0.88-5.01c-1.36,1.31-2.81,2.39-4.37,3.25c-1.56,0.86-3.29,1.5-5.18,1.93 C27.31,69.38,25.18,69.59,22.83,69.59z"
8281
- })), /*#__PURE__*/React.createElement("g", null, /*#__PURE__*/React.createElement("path", {
8442
+ })), /*#__PURE__*/React$1.createElement("g", null, /*#__PURE__*/React$1.createElement("path", {
8282
8443
  fill: color,
8283
8444
  d: "M109.03,69.5c-3.67,0-6.78-0.63-9.33-1.89c-2.56-1.26-4.5-3.2-5.82-5.82c-1.32-2.62-1.98-5.91-1.98-9.88 c0-4.05,0.66-7.36,1.98-9.94c1.32-2.58,3.26-4.5,5.82-5.75c2.56-1.26,5.67-1.89,9.33-1.89c3.75,0,6.89,0.63,9.43,1.89 c2.54,1.26,4.47,3.18,5.79,5.75c1.32,2.58,1.98,5.89,1.98,9.94c0,3.96-0.66,7.26-1.98,9.88c-1.32,2.62-3.25,4.56-5.79,5.82 C115.93,68.87,112.78,69.5,109.03,69.5z M109.03,62.6c1.96,0,3.53-0.36,4.7-1.09c1.17-0.72,2.04-1.83,2.59-3.33 c0.55-1.49,0.83-3.32,0.83-5.5v-1.53c0-2.17-0.28-4.01-0.83-5.5c-0.55-1.49-1.42-2.61-2.59-3.36c-1.17-0.75-2.74-1.12-4.7-1.12 c-1.92,0-3.46,0.37-4.64,1.12c-1.17,0.75-2.04,1.87-2.59,3.36c-0.55,1.49-0.83,3.32-0.83,5.5v1.53c0,2.17,0.28,4.01,0.83,5.5 c0.55,1.49,1.42,2.6,2.59,3.33C105.57,62.23,107.12,62.6,109.03,62.6z"
8284
- })), /*#__PURE__*/React.createElement("path", {
8445
+ })), /*#__PURE__*/React$1.createElement("path", {
8285
8446
  fill: color,
8286
8447
  d: "M70.76,106.24c0-1.79-0.54-3.3-1.63-4.52c-1.09-1.22-2.78-1.83-5.09-1.83c-2.33,0-4.13,0.65-5.41,1.96 c-1.28,1.31-2.08,3.11-2.42,5.39l14.51-0.13C70.75,106.91,70.76,106.62,70.76,106.24L70.76,106.24z M72.76,94.74 c2.25,1.4,3.91,3.23,4.99,5.49c1.08,2.26,1.61,4.71,1.61,7.35c0,1.79-0.27,3.62-0.81,5.47l-22.06,0.17 c0.56,2.08,1.63,3.69,3.21,4.83c1.58,1.14,3.63,1.71,6.16,1.71c1.5,0,3.09-0.17,4.77-0.5c1.68-0.34,3.36-0.83,5.04-1.48l1.71,6.95 c-1.59,0.67-3.6,1.23-6.04,1.68c-2.44,0.45-4.66,0.67-6.65,0.67c-5.44,0-9.66-1.42-12.68-4.25c-3.01-2.83-4.52-7.19-4.52-13.08 c0-3.67,0.67-6.79,2-9.35c1.33-2.56,3.26-4.5,5.77-5.81c2.52-1.31,5.55-1.96,9.08-1.96C67.7,92.64,70.51,93.34,72.76,94.74 L72.76,94.74z"
8287
- }), /*#__PURE__*/React.createElement("path", {
8448
+ }), /*#__PURE__*/React$1.createElement("path", {
8288
8449
  fill: color,
8289
8450
  d: "M77.81,47.77c0-1.86-0.56-3.42-1.69-4.69c-1.13-1.27-2.89-1.9-5.28-1.9c-2.42,0-4.29,0.68-5.61,2.04 c-1.32,1.36-2.16,3.22-2.51,5.59l15.05-0.14C77.8,48.47,77.81,48.16,77.81,47.77L77.81,47.77z M79.89,35.84 c2.33,1.45,4.06,3.35,5.17,5.7c1.12,2.35,1.67,4.89,1.67,7.63c0,1.86-0.28,3.75-0.84,5.68l-22.89,0.17 c0.58,2.16,1.69,3.83,3.33,5.02c1.64,1.18,3.77,1.78,6.39,1.78c1.56,0,3.21-0.17,4.95-0.52c1.74-0.35,3.48-0.86,5.23-1.53 l1.78,7.21c-1.65,0.7-3.74,1.28-6.27,1.74c-2.53,0.46-4.83,0.7-6.9,0.7c-5.64,0-10.03-1.47-13.15-4.41 c-3.12-2.94-4.69-7.46-4.69-13.57c0-3.81,0.69-7.04,2.07-9.7c1.38-2.66,3.38-4.67,5.99-6.03c2.61-1.36,5.75-2.04,9.42-2.04 C74.64,33.66,77.55,34.39,79.89,35.84L79.89,35.84z"
8290
- }), /*#__PURE__*/React.createElement("path", {
8451
+ }), /*#__PURE__*/React$1.createElement("path", {
8291
8452
  fill: color,
8292
8453
  d: "M103.7,118.77c3.36,0,6.23-0.66,8.61-1.98c2.38-1.32,4.2-3.24,5.44-5.76c1.24-2.52,1.86-5.57,1.86-9.15 c0-5.44-1.32-9.5-3.95-12.17c-2.63-2.67-6.52-4-11.67-3.98l-7.72,0.07v32.97H103.7L103.7,118.77z M87.38,78.2h16.75 c8.13,0,14.26,1.93,18.4,5.78c4.14,3.85,6.21,9.75,6.21,17.69c0,5.01-1.04,9.37-3.12,13.08c-2.08,3.7-5.02,6.56-8.81,8.56 c-3.79,2-8.19,3-13.18,3l-16.25,0.07V78.2L87.38,78.2z"
8293
- }), /*#__PURE__*/React.createElement("path", {
8454
+ }), /*#__PURE__*/React$1.createElement("path", {
8294
8455
  fill: color,
8295
8456
  d: "M141.29,122.12c-3.1-3.34-4.65-8.17-4.65-14.51V78.17h8.93v28.84c0,8.1,3.54,12.16,10.61,12.16 c6.72,0,10.07-3.88,10.07-11.65V78.17h8.9v28.68c0,13.52-6.51,20.28-19.54,20.28C149.16,127.13,144.39,125.46,141.29,122.12 L141.29,122.12z"
8296
- }), /*#__PURE__*/React.createElement("path", {
8457
+ }), /*#__PURE__*/React$1.createElement("path", {
8297
8458
  fill: color,
8298
8459
  d: "M190.97,126.02c-2.31-0.6-4.95-1.6-7.92-2.99l3.09-7.92c2.62,1.32,4.82,2.23,6.61,2.72 c1.79,0.49,3.64,0.74,5.54,0.74c2.95,0,5.11-0.55,6.48-1.66c1.36-1.11,2.05-2.59,2.05-4.45c0-1.12-0.37-2.08-1.12-2.89 c-0.75-0.81-1.69-1.48-2.82-2.01c-1.13-0.54-2.73-1.2-4.79-1.98c-2.87-1.07-5.2-2.1-7.02-3.07c-1.81-0.97-3.36-2.34-4.65-4.11 c-1.29-1.77-1.93-4.02-1.93-6.75c0-3.18,0.78-5.83,2.35-7.96c1.57-2.13,3.64-3.69,6.21-4.68c2.57-1,5.42-1.49,8.53-1.49 c2.26,0,4.39,0.22,6.38,0.65c1.99,0.44,3.96,1.05,5.91,1.83l-2.85,7.72l-0.84-0.3c-1.39-0.54-2.69-0.95-3.89-1.24 c-1.21-0.29-2.66-0.44-4.37-0.44c-2.19,0-4.06,0.44-5.61,1.31c-1.55,0.87-2.32,2.24-2.32,4.1c0,0.96,0.33,1.8,0.99,2.52 c0.66,0.72,1.5,1.33,2.52,1.83s2.45,1.11,4.28,1.83c2.84,1.14,5.18,2.23,7.02,3.26c1.83,1.03,3.41,2.5,4.73,4.42 c1.32,1.91,1.98,4.34,1.98,7.27c0,3-0.68,5.6-2.03,7.81c-1.36,2.21-3.32,3.9-5.89,5.09c-2.57,1.19-5.67,1.78-9.3,1.78 C195.71,126.93,193.27,126.62,190.97,126.02L190.97,126.02z"
8299
- }), /*#__PURE__*/React.createElement("path", {
8460
+ }), /*#__PURE__*/React$1.createElement("path", {
8300
8461
  fill: color,
8301
8462
  d: "M30.67,104.39c2.82-1.08,5.04-2.68,6.66-4.82c1.62-2.14,2.45-4.67,2.47-7.61c0-2.95-0.65-5.46-1.95-7.52 c-1.3-2.06-3.14-3.62-5.52-4.68c-2.38-1.06-5.18-1.6-8.38-1.6H6.96v48.15h8.93l-0.02-11.2l-0.01-30.03l5.51-0.03 c2.93-0.04,5.19,0.57,6.77,1.83c1.58,1.26,2.37,3.15,2.37,5.66c0,2.48-0.87,4.39-2.6,5.73c-1.63,1.25-3.88,1.91-6.73,1.98h-0.13 v5.32l13.36,20.75h10.64L30.67,104.39L30.67,104.39z"
8302
8463
  }))));
8303
8464
  }
8304
8465
 
8305
8466
  var _excluded2 = ["text", "label", "children", "copiedMessage"];
8306
- var DEFAULT_ICON = /*#__PURE__*/React.createElement(Icon, {
8467
+ var DEFAULT_ICON = /*#__PURE__*/React$1.createElement(Icon, {
8307
8468
  path: mdiContentCopy,
8308
8469
  size: "18px"
8309
8470
  });
@@ -8320,14 +8481,14 @@ function CopyToClipboardIconButton(_ref2) {
8320
8481
  _useState4 = _slicedToArray(_useState3, 2),
8321
8482
  copied = _useState4[0],
8322
8483
  setCopied = _useState4[1];
8323
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Popover.Root, {
8484
+ return /*#__PURE__*/React$1.createElement(React$1.Fragment, null, /*#__PURE__*/React$1.createElement(Popover.Root, {
8324
8485
  open: copied
8325
- }, /*#__PURE__*/React.createElement(CopyToClipboard, {
8486
+ }, /*#__PURE__*/React$1.createElement(CopyToClipboard, {
8326
8487
  text: text
8327
- }, /*#__PURE__*/React.createElement(Popover.Trigger, null, /*#__PURE__*/React.createElement(IconButton, _extends({
8488
+ }, /*#__PURE__*/React$1.createElement(Popover.Trigger, null, /*#__PURE__*/React$1.createElement(IconButton, _extends({
8328
8489
  asChild: true,
8329
8490
  radius: "full"
8330
- }, props), /*#__PURE__*/React.createElement("button", {
8491
+ }, props), /*#__PURE__*/React$1.createElement("button", {
8331
8492
  onClick: function onClick() {
8332
8493
  setCopied(true);
8333
8494
  setTimeout(function () {
@@ -8336,10 +8497,10 @@ function CopyToClipboardIconButton(_ref2) {
8336
8497
  });
8337
8498
  }, 2500);
8338
8499
  }
8339
- }, /*#__PURE__*/React.createElement(Tooltip, {
8500
+ }, /*#__PURE__*/React$1.createElement(Tooltip, {
8340
8501
  content: label,
8341
8502
  sideOffset: 10
8342
- }, children))))), /*#__PURE__*/React.createElement(Popover.Content, {
8503
+ }, children))))), /*#__PURE__*/React$1.createElement(Popover.Content, {
8343
8504
  align: "center",
8344
8505
  size: "1",
8345
8506
  style: {
@@ -8359,39 +8520,39 @@ var ShareButtonBar = function ShareButtonBar(_ref) {
8359
8520
  var _useLocation = useLocation(),
8360
8521
  href = _useLocation.href;
8361
8522
  var shareUrl = url ? url : href;
8362
- return /*#__PURE__*/React.createElement(Container, _extends({
8523
+ return /*#__PURE__*/React$1.createElement(Container, _extends({
8363
8524
  direction: "row",
8364
8525
  gap: "3"
8365
- }, props), /*#__PURE__*/React.createElement(CopyToClipboardIconButton, {
8526
+ }, props), /*#__PURE__*/React$1.createElement(CopyToClipboardIconButton, {
8366
8527
  label: "Copiar link de compartilhamento",
8367
8528
  copiedMessage: "Link copiado para \xE1rea de transfer\xEAncia",
8368
8529
  text: shareUrl
8369
- }, /*#__PURE__*/React.createElement(Icon, {
8530
+ }, /*#__PURE__*/React$1.createElement(Icon, {
8370
8531
  path: mdiLinkVariant,
8371
8532
  size: "18px"
8372
- })), /*#__PURE__*/React.createElement(LinkedinShareButton, {
8533
+ })), /*#__PURE__*/React$1.createElement(LinkedinShareButton, {
8373
8534
  url: shareUrl
8374
- }, /*#__PURE__*/React.createElement(LinkedinIcon, {
8535
+ }, /*#__PURE__*/React$1.createElement(LinkedinIcon, {
8375
8536
  size: 32,
8376
8537
  round: true
8377
- })), /*#__PURE__*/React.createElement(EmailShareButton, {
8538
+ })), /*#__PURE__*/React$1.createElement(EmailShareButton, {
8378
8539
  url: shareUrl
8379
- }, /*#__PURE__*/React.createElement(EmailIcon, {
8540
+ }, /*#__PURE__*/React$1.createElement(EmailIcon, {
8380
8541
  size: 32,
8381
8542
  round: true
8382
- })), /*#__PURE__*/React.createElement(FacebookShareButton, {
8543
+ })), /*#__PURE__*/React$1.createElement(FacebookShareButton, {
8383
8544
  url: shareUrl
8384
- }, /*#__PURE__*/React.createElement(FacebookIcon, {
8545
+ }, /*#__PURE__*/React$1.createElement(FacebookIcon, {
8385
8546
  size: 32,
8386
8547
  round: true
8387
- })), /*#__PURE__*/React.createElement(TwitterShareButton, {
8548
+ })), /*#__PURE__*/React$1.createElement(TwitterShareButton, {
8388
8549
  url: shareUrl
8389
- }, /*#__PURE__*/React.createElement(TwitterIcon, {
8550
+ }, /*#__PURE__*/React$1.createElement(TwitterIcon, {
8390
8551
  size: 32,
8391
8552
  round: true
8392
- })), /*#__PURE__*/React.createElement(WhatsappShareButton, {
8553
+ })), /*#__PURE__*/React$1.createElement(WhatsappShareButton, {
8393
8554
  url: shareUrl
8394
- }, /*#__PURE__*/React.createElement(WhatsappIcon, {
8555
+ }, /*#__PURE__*/React$1.createElement(WhatsappIcon, {
8395
8556
  size: 32,
8396
8557
  round: true
8397
8558
  })));
@@ -8433,10 +8594,10 @@ function SharePanel(_ref) {
8433
8594
  // throwOnError: process.env.NODE_ENV !== 'production',
8434
8595
  // })
8435
8596
 
8436
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Dialog.Title, null, "Compartilhar"), /*#__PURE__*/React.createElement(Flex, {
8597
+ return /*#__PURE__*/React$1.createElement(React$1.Fragment, null, /*#__PURE__*/React$1.createElement(Dialog.Title, null, "Compartilhar"), /*#__PURE__*/React$1.createElement(Flex, {
8437
8598
  direction: "row",
8438
8599
  gap: "4"
8439
- }, /*#__PURE__*/React.createElement(ShareButtonBar, null)));
8600
+ }, /*#__PURE__*/React$1.createElement(ShareButtonBar, null)));
8440
8601
  }
8441
8602
 
8442
8603
  var _templateObject$1;
@@ -8457,7 +8618,7 @@ function LeftPanel(_ref) {
8457
8618
  syncedMapsRef = _ref.syncedMapsRef,
8458
8619
  mapContainerRef = _ref.mapContainerRef;
8459
8620
  var dialogs = useDialogs();
8460
- return /*#__PURE__*/React.createElement("div", {
8621
+ return /*#__PURE__*/React$1.createElement("div", {
8461
8622
  style: {
8462
8623
  position: 'fixed',
8463
8624
  zIndex: 2,
@@ -8467,7 +8628,7 @@ function LeftPanel(_ref) {
8467
8628
  }
8468
8629
  // onMouseEnter={() => setMouseIsOver(true)}
8469
8630
  // onMouseLeave={() => setMouseIsOver(false)}
8470
- }, /*#__PURE__*/React.createElement(Flex
8631
+ }, /*#__PURE__*/React$1.createElement(Flex
8471
8632
  //
8472
8633
  // Use flex for responsive positioning
8473
8634
  //
@@ -8490,7 +8651,7 @@ function LeftPanel(_ref) {
8490
8651
  md: '20px'
8491
8652
  }
8492
8653
  }
8493
- }, /*#__PURE__*/React.createElement(IconButton, {
8654
+ }, /*#__PURE__*/React$1.createElement(IconButton, {
8494
8655
  size: {
8495
8656
  xs: '3',
8496
8657
  md: '1'
@@ -8506,16 +8667,16 @@ function LeftPanel(_ref) {
8506
8667
  return onSetOpen(!open);
8507
8668
  }
8508
8669
  // variant="surface"
8509
- }, /*#__PURE__*/React.createElement(Tooltip, {
8670
+ }, /*#__PURE__*/React$1.createElement(Tooltip, {
8510
8671
  content: open ? 'Fechar painel' : 'Abrir painel'
8511
- }, /*#__PURE__*/React.createElement(Icon, {
8672
+ }, /*#__PURE__*/React$1.createElement(Icon, {
8512
8673
  style: {
8513
8674
  transition: 'transform .2s ease-out',
8514
8675
  transform: "rotateZ(".concat(open ? '0' : '180', "deg)")
8515
8676
  },
8516
8677
  path: mdiChevronLeft,
8517
8678
  size: "16px"
8518
- })))), /*#__PURE__*/React.createElement(Flex, {
8679
+ })))), /*#__PURE__*/React$1.createElement(Flex, {
8519
8680
  direction: "column",
8520
8681
  gap: "0",
8521
8682
  height: "100vh",
@@ -8528,7 +8689,7 @@ function LeftPanel(_ref) {
8528
8689
  onClick: function onClick(e) {
8529
8690
  return onSetOpen(true);
8530
8691
  }
8531
- }, /*#__PURE__*/React.createElement(Flex, {
8692
+ }, /*#__PURE__*/React$1.createElement(Flex, {
8532
8693
  px: "12px",
8533
8694
  py: "10px",
8534
8695
  height: HEADER_HEIGHT,
@@ -8540,15 +8701,15 @@ function LeftPanel(_ref) {
8540
8701
  flexShrink: 0,
8541
8702
  flexGrow: 0
8542
8703
  }
8543
- }, /*#__PURE__*/React.createElement(LogoContainer, {
8704
+ }, /*#__PURE__*/React$1.createElement(LogoContainer, {
8544
8705
  direction: "row",
8545
8706
  gap: "8px"
8546
- }, /*#__PURE__*/React.createElement(GeoReDUSLogoSymbol, null), /*#__PURE__*/React.createElement("div", {
8707
+ }, /*#__PURE__*/React$1.createElement(GeoReDUSLogoSymbol, null), /*#__PURE__*/React$1.createElement("div", {
8547
8708
  style: {
8548
8709
  transition: open ? 'opacity .7s ease-out' : 'opacity .1s ease-out',
8549
8710
  opacity: open ? 1 : 0
8550
8711
  }
8551
- }, /*#__PURE__*/React.createElement(GeoReDUSLogoText, null)))), Array.isArray(viewSpecs) ? /*#__PURE__*/React.createElement(ViewMenu, {
8712
+ }, /*#__PURE__*/React$1.createElement(GeoReDUSLogoText, null)))), Array.isArray(viewSpecs) ? /*#__PURE__*/React$1.createElement(ViewMenu, {
8552
8713
  style: {
8553
8714
  flexGrow: 1,
8554
8715
  height: '1px'
@@ -8579,7 +8740,7 @@ function LeftPanel(_ref) {
8579
8740
  payload: viewId
8580
8741
  });
8581
8742
  },
8582
- sideBarBottom: /*#__PURE__*/React.createElement(Flex, {
8743
+ sideBarBottom: /*#__PURE__*/React$1.createElement(Flex, {
8583
8744
  style: {
8584
8745
  flexGrow: 1
8585
8746
  },
@@ -8588,7 +8749,7 @@ function LeftPanel(_ref) {
8588
8749
  gap: "3",
8589
8750
  justifyContent: "flex-end",
8590
8751
  alignItems: "center"
8591
- }, /*#__PURE__*/React.createElement(IconButton, {
8752
+ }, /*#__PURE__*/React$1.createElement(IconButton, {
8592
8753
  variant: "soft",
8593
8754
  size: "3",
8594
8755
  onClick: /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
@@ -8596,7 +8757,7 @@ function LeftPanel(_ref) {
8596
8757
  while (1) switch (_context.prev = _context.next) {
8597
8758
  case 0:
8598
8759
  _context.next = 2;
8599
- return dialogs.view(/*#__PURE__*/React.createElement(SharePanel, {
8760
+ return dialogs.view(/*#__PURE__*/React$1.createElement(SharePanel, {
8600
8761
  mapContainerRef: mapContainerRef,
8601
8762
  syncedMapsRef: syncedMapsRef
8602
8763
  }));
@@ -8606,40 +8767,40 @@ function LeftPanel(_ref) {
8606
8767
  }
8607
8768
  }, _callee);
8608
8769
  }))
8609
- }, /*#__PURE__*/React.createElement(Tooltip, {
8770
+ }, /*#__PURE__*/React$1.createElement(Tooltip, {
8610
8771
  content: "Compartilhar"
8611
- }, /*#__PURE__*/React.createElement(Icon, {
8772
+ }, /*#__PURE__*/React$1.createElement(Icon, {
8612
8773
  path: mdiShareVariantOutline,
8613
8774
  size: "24px"
8614
- }))), /*#__PURE__*/React.createElement(IconButton, {
8775
+ }))), /*#__PURE__*/React$1.createElement(IconButton, {
8615
8776
  variant: "soft",
8616
8777
  size: "3",
8617
8778
  asChild: true
8618
- }, /*#__PURE__*/React.createElement("a", {
8779
+ }, /*#__PURE__*/React$1.createElement("a", {
8619
8780
  href: "https://www.redus.org.br/georedus-rede-de-dados-urbanos/formularios/cbf766bb-9a74-4bc5-897a-70b9151afbdb",
8620
8781
  target: "_blank",
8621
8782
  rel: "noreferrer nofollow"
8622
- }, /*#__PURE__*/React.createElement(Tooltip, {
8783
+ }, /*#__PURE__*/React$1.createElement(Tooltip, {
8623
8784
  content: "D\xFAvidas e sugest\xF5es"
8624
- }, /*#__PURE__*/React.createElement(Icon, {
8785
+ }, /*#__PURE__*/React$1.createElement(Icon, {
8625
8786
  path: mdiForumOutline,
8626
8787
  size: "24px"
8627
8788
  })))))
8628
- }) : /*#__PURE__*/React.createElement("div", {
8789
+ }) : /*#__PURE__*/React$1.createElement("div", {
8629
8790
  style: {
8630
8791
  flexGrow: 1,
8631
8792
  position: 'relative'
8632
8793
  }
8633
- }, /*#__PURE__*/React.createElement(LoadingOverlay, {
8794
+ }, /*#__PURE__*/React$1.createElement(LoadingOverlay, {
8634
8795
  message: null
8635
- })), /*#__PURE__*/React.createElement(Flex, {
8796
+ })), /*#__PURE__*/React$1.createElement(Flex, {
8636
8797
  p: "2",
8637
8798
  style: {
8638
8799
  backgroundColor: 'white'
8639
8800
  },
8640
8801
  direction: "row",
8641
8802
  justifyContent: "center"
8642
- }, /*#__PURE__*/React.createElement("img", {
8803
+ }, /*#__PURE__*/React$1.createElement("img", {
8643
8804
  style: {
8644
8805
  transition: 'opacity .1s ease-out',
8645
8806
  opacity: open ? 1 : 0,
@@ -8663,7 +8824,7 @@ var ViewLayoutSortable = makeSortableMultiList({
8663
8824
  //
8664
8825
  Portal: function Portal$1(_ref) {
8665
8826
  var children = _ref.children;
8666
- return /*#__PURE__*/React.createElement(Portal, null, /*#__PURE__*/React.createElement(Theme, null, children));
8827
+ return /*#__PURE__*/React$1.createElement(Portal, null, /*#__PURE__*/React$1.createElement(Theme, null, children));
8667
8828
  },
8668
8829
  Item: function Item(_ref2) {
8669
8830
  var dragHandleProps = _ref2.dragHandleProps,
@@ -8674,12 +8835,15 @@ var ViewLayoutSortable = makeSortableMultiList({
8674
8835
  viewSpecs = _useContext.viewSpecs,
8675
8836
  viewConfState = _useContext.viewConfState,
8676
8837
  viewConfDispatch = _useContext.viewConfDispatch;
8838
+ var viewSpec = viewSpecs === null || viewSpecs === void 0 ? void 0 : viewSpecs.find(function (spec) {
8839
+ return spec.id === item.id;
8840
+ });
8677
8841
 
8678
8842
  // const boxShadow = isDragOverlay
8679
8843
  // ? 'rgba(0, 0, 0, 0.35) 0px 5px 15px;'
8680
8844
  // : 'none'
8681
8845
 
8682
- return /*#__PURE__*/React.createElement(Flex, {
8846
+ return viewSpec && /*#__PURE__*/React$1.createElement(Flex, {
8683
8847
  direction: "row",
8684
8848
  alignItems: "center",
8685
8849
  gap: "0",
@@ -8689,7 +8853,7 @@ var ViewLayoutSortable = makeSortableMultiList({
8689
8853
  transform: isDragOverlay ? 'scale(1.05)' : '',
8690
8854
  zIndex: isDragOverlay ? 999 : 0
8691
8855
  }
8692
- }, /*#__PURE__*/React.createElement("div", _extends({}, dragHandleProps, {
8856
+ }, /*#__PURE__*/React$1.createElement("div", _extends({}, dragHandleProps, {
8693
8857
  style: {
8694
8858
  cursor: isDragging ? 'grabbing' : 'grab',
8695
8859
  background: 'white',
@@ -8700,22 +8864,20 @@ var ViewLayoutSortable = makeSortableMultiList({
8700
8864
  borderBottomLeftRadius: DRAG_HANDLE_BORDER_RADIUS,
8701
8865
  height: CONTROL_HEIGHT
8702
8866
  }
8703
- }), /*#__PURE__*/React.createElement(Icon, {
8867
+ }), /*#__PURE__*/React$1.createElement(Icon, {
8704
8868
  path: mdiDragVertical,
8705
8869
  size: "24px"
8706
- })), /*#__PURE__*/React.createElement(Flex, {
8870
+ })), /*#__PURE__*/React$1.createElement(Flex, {
8707
8871
  direction: "column",
8708
8872
  style: {
8709
8873
  flexGrow: 1
8710
8874
  }
8711
- }, /*#__PURE__*/React.createElement(ViewControl, {
8875
+ }, /*#__PURE__*/React$1.createElement(ViewControl, {
8712
8876
  style: {
8713
8877
  height: CONTROL_HEIGHT
8714
8878
  },
8715
8879
  path: true,
8716
- viewSpec: viewSpecs.find(function (spec) {
8717
- return spec.id === item.id;
8718
- }),
8880
+ viewSpec: omit(viewSpec, ['shortDescription']),
8719
8881
  viewConf: viewConfState.byId[item.id],
8720
8882
  viewConfState: viewConfState,
8721
8883
  configurable: false,
@@ -8759,7 +8921,7 @@ var ViewLayoutSortable = makeSortableMultiList({
8759
8921
  var children = _ref3.children;
8760
8922
  _ref3.dragHandleProps;
8761
8923
  var item = _ref3.item;
8762
- return /*#__PURE__*/React.createElement(Flex, {
8924
+ return /*#__PURE__*/React$1.createElement(Flex, {
8763
8925
  direction: "column",
8764
8926
  width: "280px"
8765
8927
  // pb="30px"
@@ -8768,11 +8930,11 @@ var ViewLayoutSortable = makeSortableMultiList({
8768
8930
  border: 'dashed 1px var(--accent-6)',
8769
8931
  borderRadius: "".concat(DRAG_HANDLE_BORDER_RADIUS, "px")
8770
8932
  }
8771
- }, /*#__PURE__*/React.createElement("div", {
8933
+ }, /*#__PURE__*/React$1.createElement("div", {
8772
8934
  style: {
8773
8935
  margin: '-1px -1px -1px -1px'
8774
8936
  }
8775
- }, children, item.items.length === 0 && /*#__PURE__*/React.createElement(Flex, {
8937
+ }, children, item.items.length === 0 && /*#__PURE__*/React$1.createElement(Flex, {
8776
8938
  p: "4",
8777
8939
  style: {
8778
8940
  // border: 'dashed 1px var(--accent-6)',
@@ -8781,7 +8943,7 @@ var ViewLayoutSortable = makeSortableMultiList({
8781
8943
  },
8782
8944
  justifyContent: "center",
8783
8945
  alignItems: "center"
8784
- }, /*#__PURE__*/React.createElement(Text, {
8946
+ }, /*#__PURE__*/React$1.createElement(Text, {
8785
8947
  size: "2"
8786
8948
  }, "Arraste uma camada para visualizar em mapa comparado"))));
8787
8949
  }
@@ -8791,13 +8953,13 @@ function ViewLayoutControl(_ref4) {
8791
8953
  var viewSpecs = _ref4.viewSpecs,
8792
8954
  viewConfState = _ref4.viewConfState,
8793
8955
  viewConfDispatch = _ref4.viewConfDispatch;
8794
- return /*#__PURE__*/React.createElement(ViewLayoutControlContext.Provider, {
8956
+ return /*#__PURE__*/React$1.createElement(ViewLayoutControlContext.Provider, {
8795
8957
  value: {
8796
8958
  viewSpecs: viewSpecs,
8797
8959
  viewConfState: viewConfState,
8798
8960
  viewConfDispatch: viewConfDispatch
8799
8961
  }
8800
- }, /*#__PURE__*/React.createElement(ViewLayoutSortable, {
8962
+ }, /*#__PURE__*/React$1.createElement(ViewLayoutSortable, {
8801
8963
  lists: viewConfState.layout,
8802
8964
  onSetLists: function onSetLists(nextLayout) {
8803
8965
  return viewConfDispatch({
@@ -8817,13 +8979,13 @@ function ViewLayoutPopover(_ref) {
8817
8979
  var activeViewCount = useMemo(function () {
8818
8980
  return Object.keys(viewConfState.byId).length;
8819
8981
  }, [viewConfState.byId]);
8820
- return /*#__PURE__*/React.createElement(Popover.Root, null, /*#__PURE__*/React.createElement(Popover.Trigger, null, /*#__PURE__*/React.createElement(Button, _extends({
8982
+ return /*#__PURE__*/React$1.createElement(Popover.Root, null, /*#__PURE__*/React$1.createElement(Popover.Trigger, null, /*#__PURE__*/React$1.createElement(Button, _extends({
8821
8983
  variant: activeViewCount > 0 ? 'solid' : 'soft',
8822
8984
  size: "1"
8823
- }, props), /*#__PURE__*/React.createElement(Icon, {
8985
+ }, props), /*#__PURE__*/React$1.createElement(Icon, {
8824
8986
  path: mdiLayers,
8825
8987
  size: "16px"
8826
- }), " Camadas ativas", ' ', activeViewCount ? "(".concat(activeViewCount, ")") : null)), /*#__PURE__*/React.createElement(Popover.Content, {
8988
+ }), " Camadas ativas", ' ', activeViewCount ? "(".concat(activeViewCount, ")") : null)), /*#__PURE__*/React$1.createElement(Popover.Content, {
8827
8989
  size: "1",
8828
8990
  align: "center",
8829
8991
  style: {
@@ -8832,19 +8994,19 @@ function ViewLayoutPopover(_ref) {
8832
8994
  position: 'relative'
8833
8995
  },
8834
8996
  maxWidth: "none"
8835
- }, /*#__PURE__*/React.createElement(Flex, {
8997
+ }, /*#__PURE__*/React$1.createElement(Flex, {
8836
8998
  direction: "row",
8837
8999
  gap: "3"
8838
- }, activeViewCount > 0 ? /*#__PURE__*/React.createElement(ViewLayoutControl, {
9000
+ }, activeViewCount > 0 ? /*#__PURE__*/React$1.createElement(ViewLayoutControl, {
8839
9001
  viewSpecs: viewSpecs,
8840
9002
  viewConfState: viewConfState,
8841
9003
  viewConfDispatch: viewConfDispatch
8842
- }) : /*#__PURE__*/React.createElement(Text, {
9004
+ }) : /*#__PURE__*/React$1.createElement(Text, {
8843
9005
  size: "1"
8844
- }, "Nenhuma camada ativa"), /*#__PURE__*/React.createElement(Popover.Close, null, /*#__PURE__*/React.createElement(IconButton, {
9006
+ }, "Nenhuma camada ativa"), /*#__PURE__*/React$1.createElement(Popover.Close, null, /*#__PURE__*/React$1.createElement(IconButton, {
8845
9007
  size: "1",
8846
9008
  variant: "ghost"
8847
- }, /*#__PURE__*/React.createElement(Icon, {
9009
+ }, /*#__PURE__*/React$1.createElement(Icon, {
8848
9010
  path: mdiClose,
8849
9011
  size: "16px"
8850
9012
  }))))));
@@ -8966,6 +9128,23 @@ function _coordinatesFromDeviceLocation() {
8966
9128
  function resolveInitialMunicipioId(_x) {
8967
9129
  return _resolveInitialMunicipioId.apply(this, arguments);
8968
9130
  }
9131
+
9132
+ /**
9133
+ * Returns a bbox covering the 3×3 grid of tiles around the tile that contains
9134
+ * (lng, lat) at the given zoom. Useful for limiting map bounds or prefetching.
9135
+ *
9136
+ * TILE LAYOUT (center tile is x,y):
9137
+ *
9138
+ * +---------+---------+---------+
9139
+ * | x-1,y-1 | x,y-1 | x+1,y-1 |
9140
+ * +---------+---------+---------+
9141
+ * | x-1,y | x,y | x+1,y |
9142
+ * +---------+---------+---------+
9143
+ * | x-1,y+1 | x,y+1 | x+1,y+1 |
9144
+ * +---------+---------+---------+
9145
+ *
9146
+ * Returns: [minLng, minLat, maxLng, maxLat]
9147
+ */
8969
9148
  function _resolveInitialMunicipioId() {
8970
9149
  _resolveInitialMunicipioId = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(_ref) {
8971
9150
  var METADATA_API_ENDPOINT, coordinates, defaultCoordinates;
@@ -9021,6 +9200,30 @@ function _resolveInitialMunicipioId() {
9021
9200
  }));
9022
9201
  return _resolveInitialMunicipioId.apply(this, arguments);
9023
9202
  }
9203
+ function getSurroundingTilesBbox(lng, lat, zoom) {
9204
+ // Tile under center point
9205
+ var _pointToTile = pointToTile(lng, lat, zoom),
9206
+ _pointToTile2 = _slicedToArray(_pointToTile, 2),
9207
+ x = _pointToTile2[0],
9208
+ y = _pointToTile2[1];
9209
+ var minLng = Infinity;
9210
+ var minLat = Infinity;
9211
+ var maxLng = -Infinity;
9212
+ var maxLat = -Infinity;
9213
+
9214
+ // 3×3 block of tiles around the center tile
9215
+ for (var dx = -1; dx <= 1; dx++) {
9216
+ for (var dy = -1; dy <= 1; dy++) {
9217
+ var tile = [x + dx, y + dy, zoom];
9218
+ var bbox = tileToBBOX(tile);
9219
+ minLng = Math.min(minLng, bbox[0]);
9220
+ minLat = Math.min(minLat, bbox[1]);
9221
+ maxLng = Math.max(maxLng, bbox[2]);
9222
+ maxLat = Math.max(maxLat, bbox[3]);
9223
+ }
9224
+ }
9225
+ return [minLng, minLat, maxLng, maxLat];
9226
+ }
9024
9227
 
9025
9228
  // TODO generalize for allow input types and output types
9026
9229
  function parseGeoFileMetadata(_x) {
@@ -9054,7 +9257,7 @@ function _parseGeoFileMetadata() {
9054
9257
  }
9055
9258
  function GeoFile(props) {
9056
9259
  var dialogs = useDialogs();
9057
- return /*#__PURE__*/React.createElement(SingleFileInput, _extends({}, props, {
9260
+ return /*#__PURE__*/React$1.createElement(SingleFileInput, _extends({}, props, {
9058
9261
  middleware: [(/*#__PURE__*/function () {
9059
9262
  var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(file) {
9060
9263
  var Gdal, _yield$Gdal$open, datasets, errors, result, fileBytes, blob, outFile;
@@ -9131,13 +9334,13 @@ function GeoFile(props) {
9131
9334
  }
9132
9335
 
9133
9336
  function NumberInput(props) {
9134
- return /*#__PURE__*/React.createElement(TextInput, _extends({}, props, {
9337
+ return /*#__PURE__*/React$1.createElement(TextInput, _extends({}, props, {
9135
9338
  type: "text",
9136
9339
  mask: Number
9137
9340
  }));
9138
9341
  }
9139
9342
  function InputProvider(props) {
9140
- return /*#__PURE__*/React.createElement(InputProvider$1, _extends({
9343
+ return /*#__PURE__*/React$1.createElement(InputProvider$1, _extends({
9141
9344
  renderers: _objectSpread2(_objectSpread2({}, INPUTS), rendererSpecList({
9142
9345
  date: TextInput,
9143
9346
  number: NumberInput,
@@ -10897,16 +11100,26 @@ function _flyToMunicipio2() {
10897
11100
  while (1) switch (_context4.prev = _context4.next) {
10898
11101
  case 0:
10899
11102
  _context4.next = 2;
10900
- return fetch("".concat(METADATA_API_ENDPOINT, "/ibge_malha_br_municipio?select=bbox&id=eq.").concat(municipioId)).then(function (res) {
11103
+ return fetch("".concat(METADATA_API_ENDPOINT, "/ibge_malha_br_municipio_2024?select=area_urbana_bbox_geom&id=eq.").concat(municipioId)).then(function (res) {
10901
11104
  return res.json();
10902
11105
  });
10903
11106
  case 2:
10904
11107
  _yield$fetch$then = _context4.sent;
10905
11108
  _yield$fetch$then2 = _slicedToArray(_yield$fetch$then, 1);
10906
11109
  mun = _yield$fetch$then2[0];
10907
- if (mun && mun.bbox) {
10908
- fitGeometry(map, mun.bbox, options);
11110
+ if (mun && mun.area_urbana_bbox_geom) {
11111
+ fitGeometry(map, mun.area_urbana_bbox_geom, options);
10909
11112
  }
11113
+
11114
+ // const [mun] = await fetch(
11115
+ // `${METADATA_API_ENDPOINT}/ibge_malha_br_municipio?select=bbox&id=eq.${municipioId}`,
11116
+ // ).then((res) => res.json())
11117
+
11118
+ // if (mun && mun.bbox) {
11119
+ // console.log('mun.bbox', mun.bbox)
11120
+
11121
+ // fitGeometry(map, mun.bbox, options)
11122
+ // }
10910
11123
  case 6:
10911
11124
  case "end":
10912
11125
  return _context4.stop();
@@ -10963,6 +11176,19 @@ var FULL_MAP_STYLE = {
10963
11176
  dataviz: BASEMAPS.dataviz.fullMapStyle(),
10964
11177
  satellite: BASEMAPS.satellite.fullMapStyle()
10965
11178
  };
11179
+ function _bboxContains(a, b) {
11180
+ var _a = _slicedToArray(a, 4),
11181
+ aMinLng = _a[0],
11182
+ aMinLat = _a[1],
11183
+ aMaxLng = _a[2],
11184
+ aMaxLat = _a[3];
11185
+ var _b = _slicedToArray(b, 4),
11186
+ bMinLng = _b[0],
11187
+ bMinLat = _b[1],
11188
+ bMaxLng = _b[2],
11189
+ bMaxLat = _b[3];
11190
+ return bMinLng >= aMinLng && bMinLat >= aMinLat && bMaxLng <= aMaxLng && bMaxLat <= aMaxLat;
11191
+ }
10966
11192
 
10967
11193
  //
10968
11194
  // TODO: review, this is clearly not a structured way
@@ -11027,7 +11253,7 @@ function HoverLegend(_ref) {
11027
11253
  onMouseLeaveStep: onMouseLeaveStep
11028
11254
  };
11029
11255
  }, []);
11030
- return /*#__PURE__*/React.createElement(Legend, _extends({}, legendProps, legendProps.type === 'SequentialColorLegend' ? SEQUENTIAL_COLOR_LEGEND_PROPS : {}));
11256
+ return /*#__PURE__*/React$1.createElement(Legend, _extends({}, legendProps, legendProps.type === 'SequentialColorLegend' ? SEQUENTIAL_COLOR_LEGEND_PROPS : {}));
11031
11257
  }
11032
11258
  function GeoReDUSInner(_ref2) {
11033
11259
  var globalState = _ref2.state,
@@ -11069,6 +11295,10 @@ function GeoReDUSInner(_ref2) {
11069
11295
  var syncedMapsRef = useRef(null);
11070
11296
  var mapRegistry = useMapRegistry();
11071
11297
  var tilesLoading = useTilesLoading(mapRegistry.maps);
11298
+ var _useState5 = useState(null),
11299
+ _useState6 = _slicedToArray(_useState5, 2),
11300
+ mapBounds = _useState6[0],
11301
+ setMapBounds = _useState6[1];
11072
11302
  var _useLocalState = useLocalState(globalState.municipioId, function (nextMunicipioId) {
11073
11303
  return onSetGlobalState(_objectSpread2(_objectSpread2({}, globalState), {}, {
11074
11304
  municipioId: nextMunicipioId
@@ -11146,9 +11376,10 @@ function GeoReDUSInner(_ref2) {
11146
11376
  // in order for views not recompute on every zoom change
11147
11377
  //
11148
11378
  zoomLevel: zoomLevel,
11149
- regional: regional
11379
+ regional: regional,
11380
+ mapBounds: mapBounds
11150
11381
  };
11151
- }, [municipioId, baseMapStyle, zoomLevel, regional]);
11382
+ }, [municipioId, baseMapStyle, zoomLevel, regional, mapBounds]);
11152
11383
  var _useViews = useViews({
11153
11384
  viewSpecs: viewSpecsQuery.data,
11154
11385
  viewConfState: viewConfState,
@@ -11352,7 +11583,7 @@ function GeoReDUSInner(_ref2) {
11352
11583
  feature: feature
11353
11584
  }) : null;
11354
11585
  }).filter(Boolean);
11355
- return tooltipDataSections.length > 0 && /*#__PURE__*/React.createElement(HoverTooltip, {
11586
+ return tooltipDataSections.length > 0 && /*#__PURE__*/React$1.createElement(HoverTooltip, {
11356
11587
  position: hoverInfo.point,
11357
11588
  dataSections: tooltipDataSections,
11358
11589
  style: {
@@ -11377,7 +11608,7 @@ function GeoReDUSInner(_ref2) {
11377
11608
  }
11378
11609
  });
11379
11610
  }, []);
11380
- return /*#__PURE__*/React.createElement(Flex, null, /*#__PURE__*/React.createElement(LeftPanel, {
11611
+ return /*#__PURE__*/React$1.createElement(Flex, null, /*#__PURE__*/React$1.createElement(LeftPanel, {
11381
11612
  open: leftPanelOpen,
11382
11613
  onSetOpen: setLeftPanelOpen,
11383
11614
  viewSpecs: resolvedViewSpecs,
@@ -11385,7 +11616,7 @@ function GeoReDUSInner(_ref2) {
11385
11616
  viewConfDispatch: viewConfDispatch,
11386
11617
  resolvedViews: resolvedViews,
11387
11618
  syncedMapsRef: syncedMapsRef
11388
- }), /*#__PURE__*/React.createElement(Flex, {
11619
+ }), /*#__PURE__*/React$1.createElement(Flex, {
11389
11620
  style: {
11390
11621
  position: 'fixed',
11391
11622
  zIndex: 2,
@@ -11395,27 +11626,27 @@ function GeoReDUSInner(_ref2) {
11395
11626
  direction: "row",
11396
11627
  gap: "4",
11397
11628
  alignItems: "center"
11398
- }, /*#__PURE__*/React.createElement(ViewLayoutPopover, {
11629
+ }, /*#__PURE__*/React$1.createElement(ViewLayoutPopover, {
11399
11630
  viewSpecs: viewSpecsQuery.data,
11400
11631
  viewConfState: viewConfState,
11401
11632
  viewConfDispatch: viewConfDispatch
11402
- }), /*#__PURE__*/React.createElement(Flex, {
11633
+ }), /*#__PURE__*/React$1.createElement(Flex, {
11403
11634
  alignItems: "strecth",
11404
11635
  width: "400px",
11405
11636
  direction: "column",
11406
11637
  maxWidth: "30vw",
11407
11638
  gap: "3"
11408
- }, /*#__PURE__*/React.createElement(HotfixSelectLargeFont, null, /*#__PURE__*/React.createElement(Input, {
11639
+ }, /*#__PURE__*/React$1.createElement(HotfixSelectLargeFont, null, /*#__PURE__*/React$1.createElement(Input, {
11409
11640
  schema: MUNICIPIO_ID_SELECTOR_SCHEMA,
11410
11641
  value: municipioId,
11411
11642
  onSetValue: setMunicipioId
11412
- })), /*#__PURE__*/React.createElement("div", {
11643
+ })), /*#__PURE__*/React$1.createElement("div", {
11413
11644
  style: {
11414
11645
  alignSelf: 'flex-end',
11415
11646
  position: 'absolute',
11416
11647
  top: '100%'
11417
11648
  }
11418
- }, /*#__PURE__*/React.createElement(Input, {
11649
+ }, /*#__PURE__*/React$1.createElement(Input, {
11419
11650
  schema: {
11420
11651
  type: 'booleanCheckbox',
11421
11652
  description: 'Visualizar dados regionais'
@@ -11423,13 +11654,31 @@ function GeoReDUSInner(_ref2) {
11423
11654
  size: "1",
11424
11655
  value: regional,
11425
11656
  onSetValue: setRegional
11426
- })))), /*#__PURE__*/React.createElement(SyncedMaps, {
11657
+ })))), /*#__PURE__*/React$1.createElement(SyncedMaps, {
11427
11658
  maxPitch: 80,
11428
11659
  onZoomEnd: function onZoomEnd(e) {
11429
11660
  var _e$viewState;
11430
11661
  var zoom = (_e$viewState = e.viewState) === null || _e$viewState === void 0 ? void 0 : _e$viewState.zoom;
11431
11662
  var nextZoomLevel = zoom > 8 ? 'intramun' : zoom > 5 ? 'intrauf' : zoom > 3 ? 'intrabr' : null;
11432
11663
  setZoomLevel(nextZoomLevel);
11664
+ }
11665
+ //
11666
+ // TODO: review mapBounds calculation
11667
+ //
11668
+ ,
11669
+ onMoveEnd: function onMoveEnd(e) {
11670
+ var _e$viewState2 = e.viewState,
11671
+ latitude = _e$viewState2.latitude,
11672
+ longitude = _e$viewState2.longitude;
11673
+ var bounds = e.target.getBounds();
11674
+ var minLng = bounds.getWest();
11675
+ var maxLng = bounds.getEast();
11676
+ var minLat = bounds.getSouth();
11677
+ var maxLat = bounds.getNorth();
11678
+ var viewBounds = [minLng, minLat, maxLng, maxLat];
11679
+ if (!mapBounds || !_bboxContains(mapBounds, viewBounds)) {
11680
+ setMapBounds(getSurroundingTilesBbox(longitude, latitude, 7));
11681
+ }
11433
11682
  },
11434
11683
  onDrag: function onDrag() {
11435
11684
  if (resolvedLayout.length > 1 && leftPanelOpen) {
@@ -11443,6 +11692,10 @@ function GeoReDUSInner(_ref2) {
11443
11692
  ref: syncedMapsRef,
11444
11693
  onLoad: function onLoad(evt) {
11445
11694
  _refocus(evt.target);
11695
+
11696
+ // For debugging:
11697
+ // evt.target.showTileBoundaries = true
11698
+
11446
11699
  mapRegistry.onLoad(evt);
11447
11700
  },
11448
11701
  onRemove: function onRemove(evt) {
@@ -11475,12 +11728,12 @@ function GeoReDUSInner(_ref2) {
11475
11728
  // canvasContextAttributes: {
11476
11729
  // preserveDrawingBuffer: true,
11477
11730
  // },
11478
- children: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(DynamicImages, {
11731
+ children: /*#__PURE__*/React$1.createElement(React$1.Fragment, null, /*#__PURE__*/React$1.createElement(DynamicImages, {
11479
11732
  onGenerateImage: MAP_SVG_IMAGE_GENERATOR
11480
- }), /*#__PURE__*/React.createElement(AttributionControl, {
11733
+ }), /*#__PURE__*/React$1.createElement(AttributionControl, {
11481
11734
  position: "bottom-right",
11482
11735
  compact: false
11483
- }), /*#__PURE__*/React.createElement(ControlContainer, {
11736
+ }), /*#__PURE__*/React$1.createElement(ControlContainer, {
11484
11737
  style: {
11485
11738
  width: 'auto',
11486
11739
  height: 'auto',
@@ -11488,13 +11741,13 @@ function GeoReDUSInner(_ref2) {
11488
11741
  opacity: legends.length > 0 ? 1 : 0
11489
11742
  },
11490
11743
  position: "bottom-right"
11491
- }, legends.length > 0 && /*#__PURE__*/React.createElement(LegendContainer, {
11744
+ }, legends.length > 0 && /*#__PURE__*/React$1.createElement(LegendContainer, {
11492
11745
  direction: "row",
11493
11746
  gap: "3",
11494
11747
  p: resolvedLayout.length > 1 ? '3' : '4'
11495
- }, resolvedLayout.length > 1 && /*#__PURE__*/React.createElement(Tooltip, {
11748
+ }, resolvedLayout.length > 1 && /*#__PURE__*/React$1.createElement(Tooltip, {
11496
11749
  content: "Fechar visualiza\xE7\xE3o"
11497
- }, /*#__PURE__*/React.createElement(IconButton, {
11750
+ }, /*#__PURE__*/React$1.createElement(IconButton, {
11498
11751
  size: "1",
11499
11752
  variant: "soft",
11500
11753
  onClick: function onClick() {
@@ -11503,14 +11756,14 @@ function GeoReDUSInner(_ref2) {
11503
11756
  payload: views[0].id
11504
11757
  });
11505
11758
  }
11506
- }, /*#__PURE__*/React.createElement(Icon, {
11759
+ }, /*#__PURE__*/React$1.createElement(Icon, {
11507
11760
  path: mdiClose,
11508
11761
  size: "20px"
11509
- }))), /*#__PURE__*/React.createElement(EvenSpacedList, {
11762
+ }))), /*#__PURE__*/React$1.createElement(EvenSpacedList, {
11510
11763
  columns: legends.length > 1 ? 2 : 1,
11511
11764
  gap: "10px"
11512
11765
  }, legends.map(function (legend) {
11513
- return /*#__PURE__*/React.createElement(HoverLegend, _extends({}, resolvedLayout.length > 1 ? {
11766
+ return /*#__PURE__*/React$1.createElement(HoverLegend, _extends({}, resolvedLayout.length > 1 ? {
11514
11767
  direction: 'row',
11515
11768
  maxWidth: '300px',
11516
11769
  size: '1'
@@ -11521,21 +11774,21 @@ function GeoReDUSInner(_ref2) {
11521
11774
  }, {
11522
11775
  key: legend.id
11523
11776
  }, legend));
11524
- })))), index === resolvedLayout.length - 1 ? /*#__PURE__*/React.createElement(React.Fragment, null, process.env.NODE_ENV !== 'production' && /*#__PURE__*/React.createElement(InspectControl, null), /*#__PURE__*/React.createElement(GeolocateControl, {
11777
+ })))), index === resolvedLayout.length - 1 ? /*#__PURE__*/React$1.createElement(React$1.Fragment, null, process.env.NODE_ENV !== 'production' && /*#__PURE__*/React$1.createElement(InspectControl, null), /*#__PURE__*/React$1.createElement(GeolocateControl, {
11525
11778
  position: "top-right"
11526
- }), /*#__PURE__*/React.createElement(FullscreenControl, {
11779
+ }), /*#__PURE__*/React$1.createElement(FullscreenControl, {
11527
11780
  position: "top-right"
11528
- }), /*#__PURE__*/React.createElement(NavigationControl, {
11781
+ }), /*#__PURE__*/React$1.createElement(NavigationControl, {
11529
11782
  position: "top-right"
11530
- }), /*#__PURE__*/React.createElement(ScaleControl, {
11783
+ }), /*#__PURE__*/React$1.createElement(ScaleControl, {
11531
11784
  position: "bottom-right"
11532
- }), /*#__PURE__*/React.createElement(ControlContainer, {
11785
+ }), /*#__PURE__*/React$1.createElement(ControlContainer, {
11533
11786
  style: {
11534
11787
  width: 100,
11535
11788
  height: 100,
11536
11789
  boxShadow: 'none'
11537
11790
  }
11538
- }, /*#__PURE__*/React.createElement(MapStyleToggleCtrl, {
11791
+ }, /*#__PURE__*/React$1.createElement(MapStyleToggleCtrl, {
11539
11792
  style: {
11540
11793
  position: 'relative',
11541
11794
  width: 100,
@@ -11545,7 +11798,7 @@ function GeoReDUSInner(_ref2) {
11545
11798
  onClick: function onClick() {
11546
11799
  return setBaseMapStyle(baseMapStyle === 'dataviz' ? 'satellite' : 'dataviz');
11547
11800
  }
11548
- }, /*#__PURE__*/React.createElement(MapWindow, {
11801
+ }, /*#__PURE__*/React$1.createElement(MapWindow, {
11549
11802
  style: {
11550
11803
  pointerEvents: 'none',
11551
11804
  position: 'absolute',
@@ -11556,13 +11809,13 @@ function GeoReDUSInner(_ref2) {
11556
11809
  },
11557
11810
  mapStyle: baseMapStyle === 'satellite' ? FULL_MAP_STYLE.dataviz : FULL_MAP_STYLE.satellite,
11558
11811
  maxZoom: 13
11559
- })))) : null, /*#__PURE__*/React.createElement(TerrainControl, {
11812
+ })))) : null, /*#__PURE__*/React$1.createElement(TerrainControl, {
11560
11813
  demSourceUrl: DEM_SOURCE_URL,
11561
11814
  demSourceEncoding: DEM_SOURCE_ENCODING
11562
11815
  }))
11563
11816
  };
11564
11817
  })
11565
- }, (viewsLoading || tilesLoading) && /*#__PURE__*/React.createElement(LoadingIndicator, {
11818
+ }, (viewsLoading || tilesLoading) && /*#__PURE__*/React$1.createElement(LoadingIndicator, {
11566
11819
  style: {
11567
11820
  position: 'fixed',
11568
11821
  bottom: '40px',
@@ -11577,9 +11830,9 @@ function GeoReDUSInner(_ref2) {
11577
11830
  }
11578
11831
  var GeoReDUSRootContainer = styled.div(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n * {\n box-sizing: border-box;\n }\n"])));
11579
11832
  function GeoReDUS(props) {
11580
- return /*#__PURE__*/React.createElement(GeoReDUSRootContainer, null, /*#__PURE__*/React.createElement(InputProvider, {
11833
+ return /*#__PURE__*/React$1.createElement(GeoReDUSRootContainer, null, /*#__PURE__*/React$1.createElement(InputProvider, {
11581
11834
  variant: "labeled"
11582
- }, /*#__PURE__*/React.createElement(DialogsProvider, null, /*#__PURE__*/React.createElement(GeoReDUSInner, props))));
11835
+ }, /*#__PURE__*/React$1.createElement(DialogsProvider, null, /*#__PURE__*/React$1.createElement(GeoReDUSInner, props))));
11583
11836
  }
11584
11837
 
11585
- export { GeoReDUS, index as UNSTABLE_VIEW_SPEC, VTX_PROTOCOL, memoFetchData, vtx, vtxSetup, vtxUrl };
11838
+ export { GeoReDUS, index as UNSTABLE_VIEW_SPEC, VTX_PROTOCOL, _bboxContains, memoFetchData, vtx, vtxSetup, vtxUrl };