@redus/georedus-ui 0.10.1 → 0.12.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 React$1, { useState, useMemo, useCallback, useContext, createContext, useReducer, useEffect, useRef } from 'react';
20
+ import styled, { keyframes } from 'styled-components';
18
21
  import { colord } from 'colord';
19
- import React, { 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, {
@@ -6639,7 +6710,7 @@ function br_divisao_territorial_views(conf) {
6639
6710
  id: 'ibge_malha_br_fcu_2022.geom',
6640
6711
  line: {
6641
6712
  paint: {
6642
- 'line-color': 'brown',
6713
+ 'line-color': '#2A0001',
6643
6714
  'line-width': 1,
6644
6715
  'line-opacity': 1
6645
6716
  }
@@ -6647,7 +6718,7 @@ function br_divisao_territorial_views(conf) {
6647
6718
  fill: {
6648
6719
  paint: {
6649
6720
  'fill-opacity': ['case', ['boolean', ['feature-state', 'hover'], false], 1, 0.6],
6650
- 'fill-pattern': 'waves_1({ stroke: "brown", scale: 0.25 })'
6721
+ 'fill-pattern': 'waves_1({ stroke: "#2A0001", scale: 0.25 })'
6651
6722
  },
6652
6723
  interactive: true,
6653
6724
  tooltip: {
@@ -6660,11 +6731,11 @@ function br_divisao_territorial_views(conf) {
6660
6731
  label: 'Favelas e Comunidades Urbanas',
6661
6732
  box: {
6662
6733
  style: {
6663
- borderColor: 'brown',
6734
+ borderColor: '#2A0001',
6664
6735
  borderStyle: 'solid',
6665
6736
  borderWidth: '1px',
6666
6737
  backgroundImage: svgBgImage(waves_1({
6667
- stroke: 'brown',
6738
+ stroke: '#2A0001',
6668
6739
  scale: '0.25'
6669
6740
  }))
6670
6741
  }
@@ -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$1.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$1.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
  };
@@ -6964,6 +7105,7 @@ function declividade(_ref) {
6964
7105
  var HAND_ID = 'hand';
6965
7106
  var DEFAULT_HAND_VALUE = 2;
6966
7107
  var MAX_HAND_VALUE = 6;
7108
+ var OTTO_3 = 'ana_malha_br_bacias_hidrograficas_2017_otto_3.geom';
6967
7109
  function _handValue(conf) {
6968
7110
  var _conf$data;
6969
7111
  return typeof (conf === null || conf === void 0 || (_conf$data = conf.data) === null || _conf$data === void 0 ? void 0 : _conf$data.handValue) === 'number' ? conf.data.handValue : DEFAULT_HAND_VALUE;
@@ -6977,8 +7119,8 @@ var COLOR_MAP_BASE = [[[0, 0.1], colord(BASE_COLOR).darken(0.2).toHex()], [[0.10
6977
7119
  function hand_legends() {
6978
7120
  return [{
6979
7121
  type: 'ContinuousColorLegend',
6980
- title: 'Altura da drenagem mais próxima',
6981
- unit: 'Metros',
7122
+ title: 'Altura acima da drenagem mais próxima',
7123
+ unit: 'metros',
6982
7124
  numberUnit: 'm',
6983
7125
  colors: resolve.fn(function (_ref) {
6984
7126
  var conf = _ref.view.conf;
@@ -7005,6 +7147,7 @@ function hand_legends() {
7005
7147
  }
7006
7148
  function hand(_ref7) {
7007
7149
  var RASTER_TILE_SERVER_ENDPOINT = _ref7.RASTER_TILE_SERVER_ENDPOINT,
7150
+ VECTOR_TILE_SERVER_ENDPOINT = _ref7.VECTOR_TILE_SERVER_ENDPOINT,
7008
7151
  mosaicJsonUrl = _ref7.mosaicJsonUrl;
7009
7152
  var DEVICE_PIXEL_RATIO_SUFFIX = typeof window !== 'undefined' && window.devicePixelRatio > 1 ? '@2x' : '';
7010
7153
  return {
@@ -7012,8 +7155,13 @@ function hand(_ref7) {
7012
7155
  collection_id: HAND_ID,
7013
7156
  indicator_id: HAND_ID,
7014
7157
  id: HAND_ID,
7015
- label: 'Suscetibilidade à inundação',
7016
- path: "Emerg\xEAncias clim\xE1ticas / / Riscos hidrol\xF3gicos",
7158
+ sourceLabel: 'ANADEM (ANA)',
7159
+ label: 'Altura acima da drenagem mais próxima',
7160
+ shortDescription: 'Áreas suscetíveis à inundação calculadas por meio da distância vertical em relação ao canal de drenagem mais próximo',
7161
+ path: "Emerg\xEAncias clim\xE1ticas / / Suscetibilidade \xE0 inunda\xE7\xE3o",
7162
+ metodology: /*#__PURE__*/React$1.createElement(DocumentIframe, {
7163
+ src: "/georedus/metodologia/inundacao-hand.pdf"
7164
+ }),
7017
7165
  confSchema: {
7018
7166
  data: {
7019
7167
  handValue: {
@@ -7031,9 +7179,9 @@ function hand(_ref7) {
7031
7179
  }
7032
7180
  },
7033
7181
  metadata: {},
7034
- sources: _defineProperty({}, HAND_ID, {
7182
+ sources: _defineProperty(_defineProperty({}, HAND_ID, {
7035
7183
  type: 'raster',
7036
- minzoom: 7,
7184
+ minzoom: 9,
7037
7185
  maxzoom: 14,
7038
7186
  tiles: [resolve.fn(function (_ref8) {
7039
7187
  var conf = _ref8.view.conf;
@@ -7050,9 +7198,13 @@ function hand(_ref7) {
7050
7198
  })
7051
7199
  }]));
7052
7200
  })]
7053
- }),
7054
- layers: _defineProperty({}, "".concat(HAND_ID), {
7201
+ }), OTTO_3, {
7202
+ type: 'vector',
7055
7203
  minzoom: 7,
7204
+ tiles: ["".concat(VECTOR_TILE_SERVER_ENDPOINT, "/").concat(OTTO_3, "/{z}/{x}/{y}")]
7205
+ }),
7206
+ layers: _defineProperty(_defineProperty({}, "".concat(HAND_ID), {
7207
+ minzoom: 9,
7056
7208
  // zIndex: 10,
7057
7209
  type: 'raster',
7058
7210
  source: HAND_ID,
@@ -7060,6 +7212,17 @@ function hand(_ref7) {
7060
7212
  'raster-opacity': 0.85
7061
7213
  },
7062
7214
  legends: hand_legends()
7215
+ }), "".concat(OTTO_3, "_bounds"), {
7216
+ source: OTTO_3,
7217
+ 'source-layer': OTTO_3,
7218
+ minzoom: 7,
7219
+ type: 'line',
7220
+ paint: {
7221
+ 'line-color': schemeCategory10[2],
7222
+ 'line-width': 6,
7223
+ 'line-dasharray': [4, 4],
7224
+ 'line-opacity': 0.5
7225
+ }
7063
7226
  })
7064
7227
  };
7065
7228
  }
@@ -7174,13 +7337,13 @@ function AsyncImage(_ref) {
7174
7337
  _useState2 = _slicedToArray(_useState, 2),
7175
7338
  loaded = _useState2[0],
7176
7339
  setLoaded = _useState2[1];
7177
- return /*#__PURE__*/React.createElement("div", {
7340
+ return /*#__PURE__*/React$1.createElement("div", {
7178
7341
  style: {
7179
7342
  position: 'relative'
7180
7343
  }
7181
- }, /*#__PURE__*/React.createElement(AspectRatio, {
7344
+ }, /*#__PURE__*/React$1.createElement(AspectRatio, {
7182
7345
  ratio: 16 / 9
7183
- }, /*#__PURE__*/React.createElement("img", {
7346
+ }, /*#__PURE__*/React$1.createElement("img", {
7184
7347
  src: src,
7185
7348
  onLoad: function onLoad() {
7186
7349
  return setLoaded(true);
@@ -7192,7 +7355,7 @@ function AsyncImage(_ref) {
7192
7355
  display: loaded ? 'block' : 'none',
7193
7356
  maxWidth: '100%'
7194
7357
  }
7195
- })), !loaded && /*#__PURE__*/React.createElement(LoadingIndicator, {
7358
+ })), !loaded && /*#__PURE__*/React$1.createElement(LoadingIndicator, {
7196
7359
  style: {
7197
7360
  position: 'absolute',
7198
7361
  top: '50%',
@@ -7256,8 +7419,10 @@ function redus_mutirao_cop_2025(conf) {
7256
7419
  collection_id: REDUS_MUTIRAO_COP_2025_ID,
7257
7420
  indicator_id: REDUS_MUTIRAO_COP_2025_ID,
7258
7421
  id: REDUS_MUTIRAO_COP_2025_ID,
7422
+ sourceLabel: 'ReDUS',
7423
+ path: "Emerg\xEAncias Clim\xE1ticas / _ / Mutir\xE3o COP30 - Bel\xE9m",
7259
7424
  label: 'Mutirão ReDUS COP30',
7260
- path: "Emerg\xEAncias Clim\xE1ticas / _ / COP30",
7425
+ shortDescription: 'Ações concretas de Desenvolvimento Urbano Sustentável mapeadas no Mutirão ReDUS rumo à COP30',
7261
7426
  metadata: {},
7262
7427
  sources: _defineProperty({}, REDUS_MUTIRAO_COP_2025_ID, {
7263
7428
  type: 'vector',
@@ -7311,104 +7476,105 @@ function redus_mutirao_cop_2025(conf) {
7311
7476
  case 0:
7312
7477
  properties = feature.properties;
7313
7478
  _context.next = 3;
7314
- return context.dialogs.view(/*#__PURE__*/React.createElement(Flex, {
7479
+ return context.dialogs.view(/*#__PURE__*/React$1.createElement(Flex, {
7315
7480
  direction: "column",
7316
7481
  gap: "4"
7317
- }, /*#__PURE__*/React.createElement(Flex, {
7482
+ }, /*#__PURE__*/React$1.createElement(Flex, {
7318
7483
  direction: "column",
7319
7484
  gap: "2"
7320
- }, /*#__PURE__*/React.createElement(Heading, {
7485
+ }, /*#__PURE__*/React$1.createElement(Heading, {
7321
7486
  as: "h1",
7322
7487
  size: "6"
7323
- }, properties.name), /*#__PURE__*/React.createElement(Portal, null, /*#__PURE__*/React.createElement(Confetti, {
7488
+ }, properties.name), /*#__PURE__*/React$1.createElement(Portal, null, /*#__PURE__*/React$1.createElement(Confetti, {
7324
7489
  style: {
7325
7490
  position: 'fixed',
7326
7491
  top: 0,
7327
7492
  left: 0,
7328
- zIndex: 9999
7493
+ zIndex: 9999,
7494
+ width: '100vw'
7329
7495
  },
7330
7496
  recycle: false,
7331
7497
  numberOfPieces: 700,
7332
7498
  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, {
7499
+ })), (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) {
7500
+ return /*#__PURE__*/React$1.createElement(Badge, {
7335
7501
  color: "green",
7336
7502
  key: idx
7337
7503
  }, _eixoShortLabel(eixo));
7338
7504
  }), JSON.parse(properties.odus_text).map(function (obj, idx) {
7339
- return /*#__PURE__*/React.createElement(Badge, {
7505
+ return /*#__PURE__*/React$1.createElement(Badge, {
7340
7506
  key: idx
7341
7507
  }, obj);
7342
- }))), /*#__PURE__*/React.createElement(Heading, {
7508
+ }))), /*#__PURE__*/React$1.createElement(Heading, {
7343
7509
  as: "h3",
7344
7510
  size: "2",
7345
7511
  style: {
7346
7512
  fontWeight: 'normal'
7347
7513
  }
7348
- }, "Organiza\xE7\xE3o respons\xE1vel:", ' ', /*#__PURE__*/React.createElement("strong", null, properties.organizacao)), properties.parcerias && /*#__PURE__*/React.createElement(Heading, {
7514
+ }, "Organiza\xE7\xE3o respons\xE1vel:", ' ', /*#__PURE__*/React$1.createElement("strong", null, properties.organizacao)), properties.parcerias && /*#__PURE__*/React$1.createElement(Heading, {
7349
7515
  as: "h3",
7350
7516
  size: "2",
7351
7517
  style: {
7352
7518
  fontWeight: 'normal'
7353
7519
  }
7354
- }, "Em parceria com: ", /*#__PURE__*/React.createElement("strong", null, properties.parcerias)), /*#__PURE__*/React.createElement(Heading, {
7520
+ }, "Em parceria com: ", /*#__PURE__*/React$1.createElement("strong", null, properties.parcerias)), /*#__PURE__*/React$1.createElement(Heading, {
7355
7521
  as: "h3",
7356
7522
  size: "2",
7357
7523
  style: {
7358
7524
  fontWeight: 'normal'
7359
7525
  }
7360
- }, "Cidade:", ' ', /*#__PURE__*/React.createElement("strong", null, properties.cidade, " - ", properties.estado))), properties.cover_image && /*#__PURE__*/React.createElement(Box, null, /*#__PURE__*/React.createElement("img", {
7526
+ }, "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
7527
  style: {
7362
7528
  maxWidth: '100%'
7363
7529
  },
7364
7530
  src: properties.cover_image
7365
- })), properties.descricao_text && /*#__PURE__*/React.createElement(Flex, {
7531
+ })), properties.descricao_text && /*#__PURE__*/React$1.createElement(Flex, {
7366
7532
  gap: "2"
7367
- }, /*#__PURE__*/React.createElement(Heading, {
7533
+ }, /*#__PURE__*/React$1.createElement(Heading, {
7368
7534
  size: "3"
7369
- }, "Descri\xE7\xE3o:"), /*#__PURE__*/React.createElement(RichTextOutput, {
7535
+ }, "Descri\xE7\xE3o:"), /*#__PURE__*/React$1.createElement(RichTextOutput, {
7370
7536
  value: JSON.parse(properties.descricao_text)
7371
- })), properties.impacto_text && /*#__PURE__*/React.createElement(Flex, {
7537
+ })), properties.impacto_text && /*#__PURE__*/React$1.createElement(Flex, {
7372
7538
  gap: "2"
7373
- }, /*#__PURE__*/React.createElement(Heading, {
7539
+ }, /*#__PURE__*/React$1.createElement(Heading, {
7374
7540
  size: "3"
7375
- }, "Impacto:"), /*#__PURE__*/React.createElement(RichTextOutput, {
7541
+ }, "Impacto:"), /*#__PURE__*/React$1.createElement(RichTextOutput, {
7376
7542
  value: JSON.parse(properties.impacto_text)
7377
- })), properties.escala_de_atuacao_text && /*#__PURE__*/React.createElement(Flex, {
7543
+ })), properties.escala_de_atuacao_text && /*#__PURE__*/React$1.createElement(Flex, {
7378
7544
  gap: "2"
7379
- }, /*#__PURE__*/React.createElement(Heading, {
7545
+ }, /*#__PURE__*/React$1.createElement(Heading, {
7380
7546
  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", {
7547
+ }, "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) {
7548
+ return /*#__PURE__*/React$1.createElement("li", {
7383
7549
  key: idx
7384
7550
  }, escala);
7385
- })))), properties.fase_text && /*#__PURE__*/React.createElement(Flex, {
7551
+ })))), properties.fase_text && /*#__PURE__*/React$1.createElement(Flex, {
7386
7552
  gap: "2"
7387
- }, /*#__PURE__*/React.createElement(Heading, {
7553
+ }, /*#__PURE__*/React$1.createElement(Heading, {
7388
7554
  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", {
7555
+ }, "Fase:"), /*#__PURE__*/React$1.createElement("div", null, /*#__PURE__*/React$1.createElement(UnstyledList, null, JSON.parse(properties.fase_text).map(function (fase, idx) {
7556
+ return /*#__PURE__*/React$1.createElement("li", {
7391
7557
  key: idx
7392
7558
  }, fase);
7393
- })))), /*#__PURE__*/React.createElement(Flex, {
7559
+ })))), /*#__PURE__*/React$1.createElement(Flex, {
7394
7560
  gap: "2"
7395
- }, /*#__PURE__*/React.createElement(Heading, {
7561
+ }, /*#__PURE__*/React$1.createElement(Heading, {
7396
7562
  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", {
7563
+ }, "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
7564
  href: _ensureUrl(properties.site),
7399
7565
  target: "_blank",
7400
7566
  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", {
7567
+ }, _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
7568
  href: "mailto:".concat(properties.email)
7403
- }, properties.email))))), properties.other_attachments_text && /*#__PURE__*/React.createElement(Flex, {
7569
+ }, properties.email))))), properties.other_attachments_text && /*#__PURE__*/React$1.createElement(Flex, {
7404
7570
  gap: "2"
7405
- }, /*#__PURE__*/React.createElement(Heading, {
7571
+ }, /*#__PURE__*/React$1.createElement(Heading, {
7406
7572
  size: "3"
7407
- }, "Mais informa\xE7\xF5es:"), /*#__PURE__*/React.createElement(EvenSpacedList, {
7573
+ }, "Mais informa\xE7\xF5es:"), /*#__PURE__*/React$1.createElement(EvenSpacedList, {
7408
7574
  columns: 2,
7409
7575
  gap: "3"
7410
7576
  }, JSON.parse(properties.other_attachments_text).map(function (fase, idx) {
7411
- return /*#__PURE__*/React.createElement(FileOutput, {
7577
+ return /*#__PURE__*/React$1.createElement(FileOutput, {
7412
7578
  value: fase,
7413
7579
  key: idx
7414
7580
  });
@@ -7432,11 +7598,11 @@ function redus_mutirao_cop_2025(conf) {
7432
7598
  var _feature$properties;
7433
7599
  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
7600
  }) || null;
7435
- return /*#__PURE__*/React.createElement("div", {
7601
+ return /*#__PURE__*/React$1.createElement("div", {
7436
7602
  style: {
7437
7603
  display: 'inline-flex'
7438
7604
  }
7439
- }, eixo && /*#__PURE__*/React.createElement(Icon, {
7605
+ }, eixo && /*#__PURE__*/React$1.createElement(Icon, {
7440
7606
  path: eixo.iconPath,
7441
7607
  size: "18px",
7442
7608
  style: {
@@ -7454,7 +7620,7 @@ function redus_mutirao_cop_2025(conf) {
7454
7620
  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
7621
  })), resolve.literal(resolve.fn(function (_ref4) {
7456
7622
  var feature = _ref4.feature;
7457
- return feature.properties.cover_image ? [null, /*#__PURE__*/React.createElement(AsyncImage, {
7623
+ return feature.properties.cover_image ? [null, /*#__PURE__*/React$1.createElement(AsyncImage, {
7458
7624
  style: {
7459
7625
  maxWidth: '100%'
7460
7626
  },
@@ -7469,7 +7635,7 @@ function redus_mutirao_cop_2025(conf) {
7469
7635
  items: LEGEND_ITEMS.map(function (item) {
7470
7636
  return _objectSpread2(_objectSpread2({}, item), {}, {
7471
7637
  box: {
7472
- children: item.iconPath && /*#__PURE__*/React.createElement(Icon, {
7638
+ children: item.iconPath && /*#__PURE__*/React$1.createElement(Icon, {
7473
7639
  path: item.iconPath,
7474
7640
  size: "14px",
7475
7641
  color: "white"
@@ -7508,7 +7674,7 @@ function temperatura_legends() {
7508
7674
  return [{
7509
7675
  type: 'ContinuousColorLegend',
7510
7676
  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',
7677
+ unit: 'Valor médio em º Celsius da temperatura máxima no período de 2021 - 2025',
7512
7678
  numberUnit: 'º',
7513
7679
  colors: resolve.fn(function (_ref) {
7514
7680
  var _conf$data;
@@ -7540,65 +7706,64 @@ function temperatura_superficie(_ref7) {
7540
7706
  var RASTER_TILE_SERVER_ENDPOINT = _ref7.RASTER_TILE_SERVER_ENDPOINT,
7541
7707
  mosaicJsonUrl = _ref7.mosaicJsonUrl;
7542
7708
  var DEVICE_PIXEL_RATIO_SUFFIX = typeof window !== 'undefined' && window.devicePixelRatio > 1 ? '@2x' : '';
7543
- return {
7709
+ return _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({
7544
7710
  viewType: VIEW_TYPE_SURFACE_CHOROPLETH,
7545
7711
  collection_id: TEMPERATURA_SUPERFICIE_ID,
7546
7712
  indicator_id: TEMPERATURA_SUPERFICIE_ID,
7547
7713
  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
- }
7714
+ sourceLabel: 'Landsat-8 e Landsat-9',
7715
+ shortDescription: 'Refere-se à',
7716
+ metodology: /*#__PURE__*/React$1.createElement(DocumentIframe, {
7717
+ src: "/georedus/metodologia/maximas-de-temperatura.pdf"
7718
+ }),
7719
+ label: 'Temperatura máxima de superfície (ºC)'
7720
+ }, "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", {
7721
+ data: {
7722
+ temperaturaRange: {
7723
+ type: 'range',
7724
+ defaultValue: DEFAULT_TEMPERATURA_RANGE,
7725
+ step: 1,
7726
+ min: DEFAULT_TEMPERATURA_RANGE[0],
7727
+ max: DEFAULT_TEMPERATURA_RANGE[1],
7728
+ label: resolve.literal(resolve.fn(function (context) {
7729
+ var _context$value;
7730
+ var temperaturaRange = _temperaturaRange((_context$value = context.value) === null || _context$value === void 0 ? void 0 : _context$value.temperaturaRange);
7731
+ var minLabel = "".concat(temperaturaRange[0], "\xB0");
7732
+ var maxLabel = "".concat(temperaturaRange[1], "\xB0").concat(temperaturaRange[1] === DEFAULT_TEMPERATURA_RANGE[1] ? '+' : '');
7733
+ return "Intervalo de temperatura (".concat(minLabel, " - ").concat(maxLabel, ")");
7734
+ })),
7735
+ helperText: 'Intervalo de temperatura apresentado'
7568
7736
  }
7737
+ }
7738
+ }), "metadata", {}), "sources", _defineProperty({}, TEMPERATURA_SUPERFICIE_ID, {
7739
+ minzoom: 9,
7740
+ maxzoom: 14,
7741
+ type: 'raster',
7742
+ tiles: [resolve.fn(function (_ref8) {
7743
+ var _conf$data3;
7744
+ var conf = _ref8.view.conf;
7745
+ var temperaturaRange = _temperaturaRange(conf === null || conf === void 0 || (_conf$data3 = conf.data) === null || _conf$data3 === void 0 ? void 0 : _conf$data3.temperaturaRange);
7746
+ var baseUrl = "".concat(RASTER_TILE_SERVER_ENDPOINT, "/mosaicjson/tiles/WebMercatorQuad/{z}/{x}/{y}").concat(DEVICE_PIXEL_RATIO_SUFFIX);
7747
+ return "".concat(baseUrl, "?").concat($urlSearch([{
7748
+ url: mosaicJsonUrl,
7749
+ colormap: COLOR_MAP.map(function (_ref9) {
7750
+ var _ref10 = _slicedToArray(_ref9, 2),
7751
+ bounds = _ref10[0],
7752
+ color = _ref10[1];
7753
+ return [bounds, bounds[0] >= temperaturaRange[0] && bounds[1] <= temperaturaRange[1] ? color : TRANSPARENT];
7754
+ })
7755
+ }]));
7756
+ })]
7757
+ })), "layers", _defineProperty({}, "".concat(TEMPERATURA_SUPERFICIE_ID), {
7758
+ minzoom: 9,
7759
+ // zIndex: 10,
7760
+ type: 'raster',
7761
+ source: TEMPERATURA_SUPERFICIE_ID,
7762
+ paint: {
7763
+ 'raster-opacity': 0.85
7569
7764
  },
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
- };
7765
+ legends: temperatura_legends()
7766
+ }));
7602
7767
  }
7603
7768
 
7604
7769
  var index = /*#__PURE__*/Object.freeze({
@@ -7637,7 +7802,7 @@ var templateObject_1, templateObject_2, templateObject_3;
7637
7802
  var REMARK_PLUGINS = [].concat(_toConsumableArray(MARKDOWN_DEFAULT_REMARK_PLUGINS), [remarkMath]);
7638
7803
  var REHYPE_PLUGINS = [].concat(_toConsumableArray(MARKDOWN_DEFAULT_REHYPE_PLUGINS), [rehypeKatex]);
7639
7804
  function Markdown(props) {
7640
- return /*#__PURE__*/React.createElement(Markdown$1, _extends({
7805
+ return /*#__PURE__*/React$1.createElement(Markdown$1, _extends({
7641
7806
  remarkPlugins: REMARK_PLUGINS,
7642
7807
  rehypePlugins: REHYPE_PLUGINS
7643
7808
  }, props));
@@ -7667,7 +7832,7 @@ var _createDialogSystem = createDialogSystem({
7667
7832
  useDialogs = _createDialogSystem2[1];
7668
7833
  function DialogsProvider(_ref2) {
7669
7834
  var children = _ref2.children;
7670
- return /*#__PURE__*/React.createElement(DialogsProvider_, {
7835
+ return /*#__PURE__*/React$1.createElement(DialogsProvider_, {
7671
7836
  prompt: {
7672
7837
  restore: 'Restaurar',
7673
7838
  cancel: 'Cancelar',
@@ -7679,7 +7844,7 @@ function DialogsProvider(_ref2) {
7679
7844
  var CONF_TABS = {
7680
7845
  data: {
7681
7846
  id: 'data',
7682
- icon: /*#__PURE__*/React.createElement(Icon, {
7847
+ icon: /*#__PURE__*/React$1.createElement(Icon, {
7683
7848
  path: mdiFilterVariant,
7684
7849
  size: "16px"
7685
7850
  }),
@@ -7687,7 +7852,7 @@ var CONF_TABS = {
7687
7852
  },
7688
7853
  style: {
7689
7854
  id: 'style',
7690
- icon: /*#__PURE__*/React.createElement(Icon, {
7855
+ icon: /*#__PURE__*/React$1.createElement(Icon, {
7691
7856
  path: mdiOpacity,
7692
7857
  size: "16px"
7693
7858
  }),
@@ -7720,21 +7885,21 @@ function ViewConfTabs(_ref) {
7720
7885
  }).filter(Boolean);
7721
7886
  }, [CONF_SCHEMA]);
7722
7887
  var dialogs = useDialogs();
7723
- return /*#__PURE__*/React.createElement(Tabs.Root, {
7888
+ return /*#__PURE__*/React$1.createElement(Tabs.Root, {
7724
7889
  defaultValue: ((_enabledTabs$ = enabledTabs[0]) === null || _enabledTabs$ === void 0 ? void 0 : _enabledTabs$.id) || null
7725
- }, /*#__PURE__*/React.createElement(Flex, {
7890
+ }, /*#__PURE__*/React$1.createElement(Flex, {
7726
7891
  direction: "row",
7727
7892
  gap: "0"
7728
- }, /*#__PURE__*/React.createElement(Tabs.List, {
7893
+ }, /*#__PURE__*/React$1.createElement(Tabs.List, {
7729
7894
  size: "1"
7730
7895
  }, enabledTabs.map(function (tab) {
7731
- return /*#__PURE__*/React.createElement(Tabs.Trigger, {
7896
+ return /*#__PURE__*/React$1.createElement(Tabs.Trigger, {
7732
7897
  key: tab.id,
7733
7898
  value: tab.id
7734
- }, /*#__PURE__*/React.createElement(Tooltip, {
7899
+ }, /*#__PURE__*/React$1.createElement(Tooltip, {
7735
7900
  content: tab.label
7736
7901
  }, tab.icon));
7737
- })), /*#__PURE__*/React.createElement(Flex, {
7902
+ })), /*#__PURE__*/React$1.createElement(Flex, {
7738
7903
  direction: "row",
7739
7904
  alignItems: "center",
7740
7905
  gap: "10px",
@@ -7745,11 +7910,11 @@ function ViewConfTabs(_ref) {
7745
7910
  flexGrow: 1,
7746
7911
  boxShadow: 'color(display-p3 0.0039 0.251 0.5137 / 0.174) 0px -1px 0px 0px inset'
7747
7912
  }
7748
- }, viewSpec.metodology && /*#__PURE__*/React.createElement(IconButton, {
7913
+ }, viewSpec.metodology && /*#__PURE__*/React$1.createElement(IconButton, {
7749
7914
  variant: "ghost",
7750
7915
  size: "1",
7751
7916
  onClick: /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
7752
- var markdown;
7917
+ var contents, metodologyBody;
7753
7918
  return _regeneratorRuntime().wrap(function _callee2$(_context2) {
7754
7919
  while (1) switch (_context2.prev = _context2.next) {
7755
7920
  case 0:
@@ -7772,7 +7937,7 @@ function ViewConfTabs(_ref) {
7772
7937
  return res.text();
7773
7938
  }) : viewSpec.metodology);
7774
7939
  case 8:
7775
- return _context.abrupt("return", null);
7940
+ return _context.abrupt("return", viewSpec.metodology);
7776
7941
  case 9:
7777
7942
  case "end":
7778
7943
  return _context.stop();
@@ -7780,19 +7945,16 @@ function ViewConfTabs(_ref) {
7780
7945
  }, _callee);
7781
7946
  })));
7782
7947
  case 2:
7783
- markdown = _context2.sent;
7784
- if (!(typeof markdown === 'string')) {
7785
- _context2.next = 6;
7786
- break;
7787
- }
7948
+ contents = _context2.sent;
7949
+ metodologyBody = typeof contents === 'string' ? /*#__PURE__*/React$1.createElement(Markdown, {
7950
+ children: contents.trim()
7951
+ }) : contents;
7788
7952
  _context2.next = 6;
7789
7953
  return dialogs.view({
7790
7954
  maxHeight: '90vh',
7791
- children: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Heading, {
7955
+ children: /*#__PURE__*/React$1.createElement(React$1.Fragment, null, /*#__PURE__*/React$1.createElement(Heading, {
7792
7956
  as: "h1"
7793
- }, viewSpec.label, " - Notas metodol\xF3gicas"), /*#__PURE__*/React.createElement(Markdown, {
7794
- children: markdown.trim()
7795
- }))
7957
+ }, viewSpec.label, " - Notas metodol\xF3gicas"), metodologyBody)
7796
7958
  });
7797
7959
  case 6:
7798
7960
  case "end":
@@ -7800,12 +7962,12 @@ function ViewConfTabs(_ref) {
7800
7962
  }
7801
7963
  }, _callee2);
7802
7964
  }))
7803
- }, /*#__PURE__*/React.createElement(Tooltip, {
7965
+ }, /*#__PURE__*/React$1.createElement(Tooltip, {
7804
7966
  content: "Notas metodol\xF3gicas"
7805
- }, /*#__PURE__*/React.createElement(Icon, {
7967
+ }, /*#__PURE__*/React$1.createElement(Icon, {
7806
7968
  path: mdiHelpCircleOutline,
7807
7969
  size: "16px"
7808
- }))), typeof (resolvedView === null || resolvedView === void 0 ? void 0 : resolvedView.download) === 'function' && /*#__PURE__*/React.createElement(IconButton, {
7970
+ }))), typeof (resolvedView === null || resolvedView === void 0 ? void 0 : resolvedView.download) === 'function' && /*#__PURE__*/React$1.createElement(IconButton, {
7809
7971
  variant: "ghost",
7810
7972
  size: "1",
7811
7973
  onClick: function onClick() {
@@ -7813,22 +7975,22 @@ function ViewConfTabs(_ref) {
7813
7975
  dialogs: dialogs
7814
7976
  });
7815
7977
  }
7816
- }, /*#__PURE__*/React.createElement(Tooltip, {
7978
+ }, /*#__PURE__*/React$1.createElement(Tooltip, {
7817
7979
  content: "Baixar dados"
7818
- }, /*#__PURE__*/React.createElement(Icon, {
7980
+ }, /*#__PURE__*/React$1.createElement(Icon, {
7819
7981
  path: mdiDownload,
7820
7982
  size: "16px"
7821
- }))), /*#__PURE__*/React.createElement(DropdownMenu, {
7983
+ }))), /*#__PURE__*/React$1.createElement(DropdownMenu, {
7822
7984
  options: [{
7823
7985
  label: 'Visualizar como mapa comparado',
7824
7986
  onClick: function onClick() {
7825
7987
  return onSetView(viewConf, 1);
7826
7988
  }
7827
7989
  }]
7828
- }, /*#__PURE__*/React.createElement(IconButton, {
7990
+ }, /*#__PURE__*/React$1.createElement(IconButton, {
7829
7991
  variant: "ghost",
7830
7992
  size: "1"
7831
- }, /*#__PURE__*/React.createElement(Icon, {
7993
+ }, /*#__PURE__*/React$1.createElement(Icon, {
7832
7994
  path: mdiDotsVertical,
7833
7995
  size: "16px"
7834
7996
  }))))), Array.isArray(enabledTabs) && enabledTabs.length > 0 ? enabledTabs.map(function (tab) {
@@ -7843,14 +8005,14 @@ function ViewConfTabs(_ref) {
7843
8005
  return Boolean(value);
7844
8006
  }));
7845
8007
  var tabConfValue = immediateViewConf[tab.id];
7846
- return /*#__PURE__*/React.createElement(Tabs.Content, {
8008
+ return /*#__PURE__*/React$1.createElement(Tabs.Content, {
7847
8009
  key: tab.id,
7848
8010
  value: tab.id
7849
- }, /*#__PURE__*/React.createElement(Box, {
8011
+ }, /*#__PURE__*/React$1.createElement(Box, {
7850
8012
  p: "3"
7851
- }, /*#__PURE__*/React.createElement(Theme, {
8013
+ }, /*#__PURE__*/React$1.createElement(Theme, {
7852
8014
  scaling: "100%"
7853
- }, /*#__PURE__*/React.createElement(Input, {
8015
+ }, /*#__PURE__*/React$1.createElement(Input, {
7854
8016
  schema: {
7855
8017
  type: 'object',
7856
8018
  properties: tabConfSchema
@@ -7860,7 +8022,7 @@ function ViewConfTabs(_ref) {
7860
8022
  return setImmediateViewConf(_objectSpread2(_objectSpread2({}, viewConf), {}, _defineProperty({}, tab.id, _objectSpread2(_objectSpread2({}, viewConf[tab.id] || {}), nextValue))));
7861
8023
  }
7862
8024
  }))));
7863
- }) : /*#__PURE__*/React.createElement(Box, {
8025
+ }) : /*#__PURE__*/React$1.createElement(Box, {
7864
8026
  p: "3",
7865
8027
  style: {
7866
8028
  fontSize: '.9rem'
@@ -7897,18 +8059,18 @@ function HeadingWithTooltipAndEllipsis(_ref7) {
7897
8059
  _ref7$maxLines = _ref7.maxLines,
7898
8060
  maxLines = _ref7$maxLines === void 0 ? 2 : _ref7$maxLines,
7899
8061
  props = _objectWithoutProperties(_ref7, _excluded$4);
7900
- return /*#__PURE__*/React.createElement(Tooltip, {
8062
+ return /*#__PURE__*/React$1.createElement(Tooltip, {
7901
8063
  content: content
7902
- }, /*#__PURE__*/React.createElement(Heading, _extends({
8064
+ }, /*#__PURE__*/React$1.createElement(Heading, _extends({
7903
8065
  size: "2",
7904
8066
  as: "h4",
7905
8067
  style: {
7906
8068
  fontWeight: 'normal',
7907
8069
  color: 'var(--accent-9)'
7908
8070
  }
7909
- }, props), /*#__PURE__*/React.createElement(TextEllipsis, {
8071
+ }, props), /*#__PURE__*/React$1.createElement(TextEllipsis, {
7910
8072
  maxLines: maxLines
7911
- }, /*#__PURE__*/React.createElement(Highlighter, {
8073
+ }, /*#__PURE__*/React$1.createElement(Highlighter, {
7912
8074
  searchWords: textSearch && textSearch.length > 3 ? [textSearch] : [],
7913
8075
  textToHighlight: content
7914
8076
  }))));
@@ -7935,9 +8097,9 @@ function ViewControl(_ref8) {
7935
8097
  var toggleView = useCallback(function () {
7936
8098
  return active ? deactivateView() : setView();
7937
8099
  }, [active, deactivateView, setView]);
7938
- return viewSpec && /*#__PURE__*/React.createElement(Collapsible.Root, {
8100
+ return viewSpec && /*#__PURE__*/React$1.createElement(Collapsible.Root, {
7939
8101
  open: configurable === true && active
7940
- }, /*#__PURE__*/React.createElement(Container$1, null, /*#__PURE__*/React.createElement(Summary, {
8102
+ }, /*#__PURE__*/React$1.createElement(Container$1, null, /*#__PURE__*/React$1.createElement(Summary, {
7941
8103
  type: "button",
7942
8104
  role: "button",
7943
8105
  style: style,
@@ -7945,19 +8107,19 @@ function ViewControl(_ref8) {
7945
8107
  onClick: configurable ? function () {
7946
8108
  return toggleView();
7947
8109
  } : null
7948
- }, /*#__PURE__*/React.createElement(Flex, {
8110
+ }, /*#__PURE__*/React$1.createElement(Flex, {
7949
8111
  direction: "row",
7950
8112
  alignItems: "center",
7951
8113
  justifyContent: "space-between",
7952
8114
  p: "3",
7953
8115
  width: "100%"
7954
- }, /*#__PURE__*/React.createElement(Flex, {
8116
+ }, /*#__PURE__*/React$1.createElement(Flex, {
7955
8117
  direction: "column",
7956
8118
  gap: "1",
7957
8119
  style: {
7958
8120
  flexGrow: '1'
7959
8121
  }
7960
- }, path && /*#__PURE__*/React.createElement(HeadingWithTooltipAndEllipsis, {
8122
+ }, path && /*#__PURE__*/React$1.createElement(HeadingWithTooltipAndEllipsis, {
7961
8123
  size: "1",
7962
8124
  as: "h6",
7963
8125
  content: typeof path === 'string' ? path : viewSpec.path,
@@ -7967,18 +8129,34 @@ function ViewControl(_ref8) {
7967
8129
  color: 'var(--gray-9)',
7968
8130
  fontWeight: 'normal'
7969
8131
  }
7970
- }), /*#__PURE__*/React.createElement(HeadingWithTooltipAndEllipsis, {
8132
+ }), /*#__PURE__*/React$1.createElement(HeadingWithTooltipAndEllipsis, {
7971
8133
  content: viewSpec.label,
7972
8134
  textSearch: textSearch,
7973
8135
  maxLines: 2
7974
- }), /*#__PURE__*/React.createElement(Text, {
8136
+ }), /*#__PURE__*/React$1.createElement(Text, {
7975
8137
  color: "gray",
7976
8138
  style: {
7977
8139
  color: 'var(--gray-9)',
7978
8140
  textTransform: 'uppercase'
7979
8141
  },
7980
8142
  size: "1"
7981
- }, viewSpec.sourceLabel)), /*#__PURE__*/React.createElement(SwitchInput, {
8143
+ }, viewSpec.sourceLabel), viewSpec.shortDescription && /*#__PURE__*/React$1.createElement(Flex, {
8144
+ direction: "row",
8145
+ gap: "2"
8146
+ }, /*#__PURE__*/React$1.createElement(Icon$1, {
8147
+ style: {
8148
+ flexShrink: 0,
8149
+ color: 'var(--gray-9)'
8150
+ },
8151
+ path: mdiBookOpenVariant,
8152
+ size: "20px"
8153
+ }), /*#__PURE__*/React$1.createElement(Text, {
8154
+ color: "gray",
8155
+ style: {
8156
+ color: 'var(--gray-9)'
8157
+ },
8158
+ size: "1"
8159
+ }, viewSpec.shortDescription))), /*#__PURE__*/React$1.createElement(SwitchInput, {
7982
8160
  radius: "full",
7983
8161
  value: active,
7984
8162
  onSetValue: function onSetValue() {
@@ -7991,11 +8169,11 @@ function ViewControl(_ref8) {
7991
8169
  onClick: function onClick(e) {
7992
8170
  return e.stopPropagation();
7993
8171
  }
7994
- }))), /*#__PURE__*/React.createElement(CollapsibleContent, {
8172
+ }))), /*#__PURE__*/React$1.createElement(CollapsibleContent, {
7995
8173
  style: {
7996
8174
  borderTop: '1px solid var(--gray-8)'
7997
8175
  }
7998
- }, viewConf && /*#__PURE__*/React.createElement(ViewConfTabs, {
8176
+ }, viewConf && /*#__PURE__*/React$1.createElement(ViewConfTabs, {
7999
8177
  viewSpec: viewSpec,
8000
8178
  viewConf: viewConf,
8001
8179
  resolvedView: resolvedView,
@@ -8006,22 +8184,22 @@ function ViewControl(_ref8) {
8006
8184
  var _excluded$3 = ["viewSpecs", "viewConfState", "resolvedViews", "onSetView", "onDeactivateView", "style"];
8007
8185
  var _templateObject$3, _templateObject2$1;
8008
8186
  var STATIC_NODE_ICONS = {
8009
- 'populacao-e-domicilios': /*#__PURE__*/React.createElement(Icon, {
8187
+ 'populacao-e-domicilios': /*#__PURE__*/React$1.createElement(Icon, {
8010
8188
  path: mdiAccountGroup
8011
8189
  }),
8012
- educacao: /*#__PURE__*/React.createElement(Icon, {
8190
+ educacao: /*#__PURE__*/React$1.createElement(Icon, {
8013
8191
  path: mdiSchool
8014
8192
  }),
8015
- 'infraestrutura-e-servicos-urbanos': /*#__PURE__*/React.createElement(Icon, {
8193
+ 'infraestrutura-e-servicos-urbanos': /*#__PURE__*/React$1.createElement(Icon, {
8016
8194
  path: mdiHomeCity
8017
8195
  }),
8018
- saude: /*#__PURE__*/React.createElement(Icon, {
8196
+ saude: /*#__PURE__*/React$1.createElement(Icon, {
8019
8197
  path: mdiHospitalBox
8020
8198
  }),
8021
- 'emergencias-climaticas': /*#__PURE__*/React.createElement(Icon, {
8199
+ 'emergencias-climaticas': /*#__PURE__*/React$1.createElement(Icon, {
8022
8200
  path: mdiEarth
8023
8201
  }),
8024
- 'divisoes-territoriais': /*#__PURE__*/React.createElement(Icon, {
8202
+ 'divisoes-territoriais': /*#__PURE__*/React$1.createElement(Icon, {
8025
8203
  path: mdiMap
8026
8204
  })
8027
8205
  };
@@ -8044,7 +8222,7 @@ function Item(_ref) {
8044
8222
  resolvedViews = _useContext.resolvedViews,
8045
8223
  _onSetView = _useContext.onSetView,
8046
8224
  _onDeactivateView = _useContext.onDeactivateView;
8047
- return /*#__PURE__*/React.createElement(ViewControl, {
8225
+ return /*#__PURE__*/React$1.createElement(ViewControl, {
8048
8226
  textSearch: textSearch,
8049
8227
  path: Boolean(textSearch) ? node.path : null,
8050
8228
  viewSpec: node,
@@ -8120,7 +8298,7 @@ var DirNav = makeDirNav({
8120
8298
  viewSpecsById: viewSpecsById,
8121
8299
  nodeId: node.id
8122
8300
  });
8123
- return /*#__PURE__*/React.createElement("div", {
8301
+ return /*#__PURE__*/React$1.createElement("div", {
8124
8302
  style: {
8125
8303
  flexGrow: 1,
8126
8304
  textAlign: 'left',
@@ -8130,11 +8308,11 @@ var DirNav = makeDirNav({
8130
8308
  alignItems: 'center',
8131
8309
  justifyContent: 'space-between'
8132
8310
  }
8133
- }, /*#__PURE__*/React.createElement(TextEllipsis, {
8311
+ }, /*#__PURE__*/React$1.createElement(TextEllipsis, {
8134
8312
  style: {
8135
8313
  flexShrink: 1
8136
8314
  }
8137
- }, node.label), activeViewsCount > 0 && /*#__PURE__*/React.createElement("span", {
8315
+ }, node.label), activeViewsCount > 0 && /*#__PURE__*/React$1.createElement("span", {
8138
8316
  style: {
8139
8317
  marginLeft: 6,
8140
8318
  fontSize: '.8rem',
@@ -8157,9 +8335,9 @@ function ViewMenu(_ref4) {
8157
8335
  return [spec.id, spec];
8158
8336
  }));
8159
8337
  }, [viewSpecs]);
8160
- return /*#__PURE__*/React.createElement("div", {
8338
+ return /*#__PURE__*/React$1.createElement("div", {
8161
8339
  style: style
8162
- }, /*#__PURE__*/React.createElement(ViewMenuContext.Provider, {
8340
+ }, /*#__PURE__*/React$1.createElement(ViewMenuContext.Provider, {
8163
8341
  value: {
8164
8342
  viewSpecsById: viewSpecsById,
8165
8343
  viewConfState: viewConfState,
@@ -8167,7 +8345,7 @@ function ViewMenu(_ref4) {
8167
8345
  onSetView: onSetView,
8168
8346
  onDeactivateView: onDeactivateView
8169
8347
  }
8170
- }, /*#__PURE__*/React.createElement(DirNav, _extends({
8348
+ }, /*#__PURE__*/React$1.createElement(DirNav, _extends({
8171
8349
  style: {
8172
8350
  flexGrow: 1,
8173
8351
  overflow: 'hidden'
@@ -8182,18 +8360,18 @@ function ViewMenu(_ref4) {
8182
8360
  viewSpecsById: viewSpecsById,
8183
8361
  nodeId: node.id
8184
8362
  });
8185
- return /*#__PURE__*/React.createElement("div", {
8363
+ return /*#__PURE__*/React$1.createElement("div", {
8186
8364
  style: {
8187
8365
  position: 'relative'
8188
8366
  }
8189
- }, STATIC_NODE_ICONS[node.id], activeViewsCount > 0 && /*#__PURE__*/React.createElement(ActiveCounter, null, activeViewsCount));
8367
+ }, STATIC_NODE_ICONS[node.id], activeViewsCount > 0 && /*#__PURE__*/React$1.createElement(ActiveCounter, null, activeViewsCount));
8190
8368
  }
8191
8369
  }, props))));
8192
8370
  }
8193
8371
 
8194
8372
  function GeoReDUSLogoSymbol() {
8195
8373
  var color = '#FFFFFF';
8196
- return /*#__PURE__*/React.createElement("svg", {
8374
+ return /*#__PURE__*/React$1.createElement("svg", {
8197
8375
  version: "1.1",
8198
8376
  id: "Layer_1",
8199
8377
  xmlns: "http://www.w3.org/2000/svg"
@@ -8204,59 +8382,59 @@ function GeoReDUSLogoSymbol() {
8204
8382
  x: "0px",
8205
8383
  y: "0px",
8206
8384
  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", {
8385
+ }, /*#__PURE__*/React$1.createElement("g", null, /*#__PURE__*/React$1.createElement("g", null, /*#__PURE__*/React$1.createElement("g", null, /*#__PURE__*/React$1.createElement("path", {
8208
8386
  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", {
8387
+ }), /*#__PURE__*/React$1.createElement("path", {
8210
8388
  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", {
8389
+ }), /*#__PURE__*/React$1.createElement("path", {
8212
8390
  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", {
8391
+ }), /*#__PURE__*/React$1.createElement("path", {
8214
8392
  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", {
8393
+ }), /*#__PURE__*/React$1.createElement("path", {
8216
8394
  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", {
8395
+ }), /*#__PURE__*/React$1.createElement("path", {
8218
8396
  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", {
8397
+ }), /*#__PURE__*/React$1.createElement("path", {
8220
8398
  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", {
8399
+ }), /*#__PURE__*/React$1.createElement("path", {
8222
8400
  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", {
8401
+ }), /*#__PURE__*/React$1.createElement("path", {
8224
8402
  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", {
8403
+ }), /*#__PURE__*/React$1.createElement("polygon", {
8226
8404
  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", {
8405
+ }), /*#__PURE__*/React$1.createElement("polygon", {
8228
8406
  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", {
8407
+ })))), /*#__PURE__*/React$1.createElement("g", null, /*#__PURE__*/React$1.createElement("g", null, /*#__PURE__*/React$1.createElement("g", null, /*#__PURE__*/React$1.createElement("path", {
8230
8408
  fill: color,
8231
8409
  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", {
8410
+ }), /*#__PURE__*/React$1.createElement("path", {
8233
8411
  fill: color,
8234
8412
  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", {
8413
+ }), /*#__PURE__*/React$1.createElement("path", {
8236
8414
  fill: color,
8237
8415
  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", {
8416
+ }), /*#__PURE__*/React$1.createElement("path", {
8239
8417
  fill: color,
8240
8418
  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", {
8419
+ }), /*#__PURE__*/React$1.createElement("path", {
8242
8420
  fill: color,
8243
8421
  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", {
8422
+ }), /*#__PURE__*/React$1.createElement("path", {
8245
8423
  fill: color,
8246
8424
  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", {
8425
+ }), /*#__PURE__*/React$1.createElement("path", {
8248
8426
  fill: color,
8249
8427
  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", {
8428
+ }), /*#__PURE__*/React$1.createElement("path", {
8251
8429
  fill: color,
8252
8430
  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", {
8431
+ }), /*#__PURE__*/React$1.createElement("path", {
8254
8432
  fill: color,
8255
8433
  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", {
8434
+ }), /*#__PURE__*/React$1.createElement("polygon", {
8257
8435
  fill: color,
8258
8436
  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", {
8437
+ }), /*#__PURE__*/React$1.createElement("polygon", {
8260
8438
  fill: color,
8261
8439
  points: "85.85,100.08 77.33,100.08 77.33,108.6 85.85,108.6 85.85,100.08 "
8262
8440
  })))));
@@ -8264,7 +8442,7 @@ function GeoReDUSLogoSymbol() {
8264
8442
 
8265
8443
  function GeoReDUSLogoText() {
8266
8444
  var color = '#FFFFFF';
8267
- return /*#__PURE__*/React.createElement("svg", {
8445
+ return /*#__PURE__*/React$1.createElement("svg", {
8268
8446
  version: "1.1",
8269
8447
  id: "Layer_1",
8270
8448
  xmlns: "http://www.w3.org/2000/svg"
@@ -8275,35 +8453,35 @@ function GeoReDUSLogoText() {
8275
8453
  x: "0px",
8276
8454
  y: "0px",
8277
8455
  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", {
8456
+ }, /*#__PURE__*/React$1.createElement("g", null, /*#__PURE__*/React$1.createElement("g", null, /*#__PURE__*/React$1.createElement("g", null, /*#__PURE__*/React$1.createElement("path", {
8279
8457
  fill: color,
8280
8458
  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", {
8459
+ })), /*#__PURE__*/React$1.createElement("g", null, /*#__PURE__*/React$1.createElement("path", {
8282
8460
  fill: color,
8283
8461
  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", {
8462
+ })), /*#__PURE__*/React$1.createElement("path", {
8285
8463
  fill: color,
8286
8464
  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", {
8465
+ }), /*#__PURE__*/React$1.createElement("path", {
8288
8466
  fill: color,
8289
8467
  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", {
8468
+ }), /*#__PURE__*/React$1.createElement("path", {
8291
8469
  fill: color,
8292
8470
  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", {
8471
+ }), /*#__PURE__*/React$1.createElement("path", {
8294
8472
  fill: color,
8295
8473
  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", {
8474
+ }), /*#__PURE__*/React$1.createElement("path", {
8297
8475
  fill: color,
8298
8476
  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", {
8477
+ }), /*#__PURE__*/React$1.createElement("path", {
8300
8478
  fill: color,
8301
8479
  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
8480
  }))));
8303
8481
  }
8304
8482
 
8305
8483
  var _excluded2 = ["text", "label", "children", "copiedMessage"];
8306
- var DEFAULT_ICON = /*#__PURE__*/React.createElement(Icon, {
8484
+ var DEFAULT_ICON = /*#__PURE__*/React$1.createElement(Icon, {
8307
8485
  path: mdiContentCopy,
8308
8486
  size: "18px"
8309
8487
  });
@@ -8320,14 +8498,14 @@ function CopyToClipboardIconButton(_ref2) {
8320
8498
  _useState4 = _slicedToArray(_useState3, 2),
8321
8499
  copied = _useState4[0],
8322
8500
  setCopied = _useState4[1];
8323
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Popover.Root, {
8501
+ return /*#__PURE__*/React$1.createElement(React$1.Fragment, null, /*#__PURE__*/React$1.createElement(Popover.Root, {
8324
8502
  open: copied
8325
- }, /*#__PURE__*/React.createElement(CopyToClipboard, {
8503
+ }, /*#__PURE__*/React$1.createElement(CopyToClipboard, {
8326
8504
  text: text
8327
- }, /*#__PURE__*/React.createElement(Popover.Trigger, null, /*#__PURE__*/React.createElement(IconButton, _extends({
8505
+ }, /*#__PURE__*/React$1.createElement(Popover.Trigger, null, /*#__PURE__*/React$1.createElement(IconButton, _extends({
8328
8506
  asChild: true,
8329
8507
  radius: "full"
8330
- }, props), /*#__PURE__*/React.createElement("button", {
8508
+ }, props), /*#__PURE__*/React$1.createElement("button", {
8331
8509
  onClick: function onClick() {
8332
8510
  setCopied(true);
8333
8511
  setTimeout(function () {
@@ -8336,10 +8514,10 @@ function CopyToClipboardIconButton(_ref2) {
8336
8514
  });
8337
8515
  }, 2500);
8338
8516
  }
8339
- }, /*#__PURE__*/React.createElement(Tooltip, {
8517
+ }, /*#__PURE__*/React$1.createElement(Tooltip, {
8340
8518
  content: label,
8341
8519
  sideOffset: 10
8342
- }, children))))), /*#__PURE__*/React.createElement(Popover.Content, {
8520
+ }, children))))), /*#__PURE__*/React$1.createElement(Popover.Content, {
8343
8521
  align: "center",
8344
8522
  size: "1",
8345
8523
  style: {
@@ -8359,39 +8537,39 @@ var ShareButtonBar = function ShareButtonBar(_ref) {
8359
8537
  var _useLocation = useLocation(),
8360
8538
  href = _useLocation.href;
8361
8539
  var shareUrl = url ? url : href;
8362
- return /*#__PURE__*/React.createElement(Container, _extends({
8540
+ return /*#__PURE__*/React$1.createElement(Container, _extends({
8363
8541
  direction: "row",
8364
8542
  gap: "3"
8365
- }, props), /*#__PURE__*/React.createElement(CopyToClipboardIconButton, {
8543
+ }, props), /*#__PURE__*/React$1.createElement(CopyToClipboardIconButton, {
8366
8544
  label: "Copiar link de compartilhamento",
8367
8545
  copiedMessage: "Link copiado para \xE1rea de transfer\xEAncia",
8368
8546
  text: shareUrl
8369
- }, /*#__PURE__*/React.createElement(Icon, {
8547
+ }, /*#__PURE__*/React$1.createElement(Icon, {
8370
8548
  path: mdiLinkVariant,
8371
8549
  size: "18px"
8372
- })), /*#__PURE__*/React.createElement(LinkedinShareButton, {
8550
+ })), /*#__PURE__*/React$1.createElement(LinkedinShareButton, {
8373
8551
  url: shareUrl
8374
- }, /*#__PURE__*/React.createElement(LinkedinIcon, {
8552
+ }, /*#__PURE__*/React$1.createElement(LinkedinIcon, {
8375
8553
  size: 32,
8376
8554
  round: true
8377
- })), /*#__PURE__*/React.createElement(EmailShareButton, {
8555
+ })), /*#__PURE__*/React$1.createElement(EmailShareButton, {
8378
8556
  url: shareUrl
8379
- }, /*#__PURE__*/React.createElement(EmailIcon, {
8557
+ }, /*#__PURE__*/React$1.createElement(EmailIcon, {
8380
8558
  size: 32,
8381
8559
  round: true
8382
- })), /*#__PURE__*/React.createElement(FacebookShareButton, {
8560
+ })), /*#__PURE__*/React$1.createElement(FacebookShareButton, {
8383
8561
  url: shareUrl
8384
- }, /*#__PURE__*/React.createElement(FacebookIcon, {
8562
+ }, /*#__PURE__*/React$1.createElement(FacebookIcon, {
8385
8563
  size: 32,
8386
8564
  round: true
8387
- })), /*#__PURE__*/React.createElement(TwitterShareButton, {
8565
+ })), /*#__PURE__*/React$1.createElement(TwitterShareButton, {
8388
8566
  url: shareUrl
8389
- }, /*#__PURE__*/React.createElement(TwitterIcon, {
8567
+ }, /*#__PURE__*/React$1.createElement(TwitterIcon, {
8390
8568
  size: 32,
8391
8569
  round: true
8392
- })), /*#__PURE__*/React.createElement(WhatsappShareButton, {
8570
+ })), /*#__PURE__*/React$1.createElement(WhatsappShareButton, {
8393
8571
  url: shareUrl
8394
- }, /*#__PURE__*/React.createElement(WhatsappIcon, {
8572
+ }, /*#__PURE__*/React$1.createElement(WhatsappIcon, {
8395
8573
  size: 32,
8396
8574
  round: true
8397
8575
  })));
@@ -8433,10 +8611,10 @@ function SharePanel(_ref) {
8433
8611
  // throwOnError: process.env.NODE_ENV !== 'production',
8434
8612
  // })
8435
8613
 
8436
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Dialog.Title, null, "Compartilhar"), /*#__PURE__*/React.createElement(Flex, {
8614
+ return /*#__PURE__*/React$1.createElement(React$1.Fragment, null, /*#__PURE__*/React$1.createElement(Dialog.Title, null, "Compartilhar"), /*#__PURE__*/React$1.createElement(Flex, {
8437
8615
  direction: "row",
8438
8616
  gap: "4"
8439
- }, /*#__PURE__*/React.createElement(ShareButtonBar, null)));
8617
+ }, /*#__PURE__*/React$1.createElement(ShareButtonBar, null)));
8440
8618
  }
8441
8619
 
8442
8620
  var _templateObject$1;
@@ -8457,7 +8635,7 @@ function LeftPanel(_ref) {
8457
8635
  syncedMapsRef = _ref.syncedMapsRef,
8458
8636
  mapContainerRef = _ref.mapContainerRef;
8459
8637
  var dialogs = useDialogs();
8460
- return /*#__PURE__*/React.createElement("div", {
8638
+ return /*#__PURE__*/React$1.createElement("div", {
8461
8639
  style: {
8462
8640
  position: 'fixed',
8463
8641
  zIndex: 2,
@@ -8467,7 +8645,7 @@ function LeftPanel(_ref) {
8467
8645
  }
8468
8646
  // onMouseEnter={() => setMouseIsOver(true)}
8469
8647
  // onMouseLeave={() => setMouseIsOver(false)}
8470
- }, /*#__PURE__*/React.createElement(Flex
8648
+ }, /*#__PURE__*/React$1.createElement(Flex
8471
8649
  //
8472
8650
  // Use flex for responsive positioning
8473
8651
  //
@@ -8490,7 +8668,7 @@ function LeftPanel(_ref) {
8490
8668
  md: '20px'
8491
8669
  }
8492
8670
  }
8493
- }, /*#__PURE__*/React.createElement(IconButton, {
8671
+ }, /*#__PURE__*/React$1.createElement(IconButton, {
8494
8672
  size: {
8495
8673
  xs: '3',
8496
8674
  md: '1'
@@ -8506,16 +8684,16 @@ function LeftPanel(_ref) {
8506
8684
  return onSetOpen(!open);
8507
8685
  }
8508
8686
  // variant="surface"
8509
- }, /*#__PURE__*/React.createElement(Tooltip, {
8687
+ }, /*#__PURE__*/React$1.createElement(Tooltip, {
8510
8688
  content: open ? 'Fechar painel' : 'Abrir painel'
8511
- }, /*#__PURE__*/React.createElement(Icon, {
8689
+ }, /*#__PURE__*/React$1.createElement(Icon, {
8512
8690
  style: {
8513
8691
  transition: 'transform .2s ease-out',
8514
8692
  transform: "rotateZ(".concat(open ? '0' : '180', "deg)")
8515
8693
  },
8516
8694
  path: mdiChevronLeft,
8517
8695
  size: "16px"
8518
- })))), /*#__PURE__*/React.createElement(Flex, {
8696
+ })))), /*#__PURE__*/React$1.createElement(Flex, {
8519
8697
  direction: "column",
8520
8698
  gap: "0",
8521
8699
  height: "100vh",
@@ -8528,7 +8706,7 @@ function LeftPanel(_ref) {
8528
8706
  onClick: function onClick(e) {
8529
8707
  return onSetOpen(true);
8530
8708
  }
8531
- }, /*#__PURE__*/React.createElement(Flex, {
8709
+ }, /*#__PURE__*/React$1.createElement(Flex, {
8532
8710
  px: "12px",
8533
8711
  py: "10px",
8534
8712
  height: HEADER_HEIGHT,
@@ -8540,15 +8718,15 @@ function LeftPanel(_ref) {
8540
8718
  flexShrink: 0,
8541
8719
  flexGrow: 0
8542
8720
  }
8543
- }, /*#__PURE__*/React.createElement(LogoContainer, {
8721
+ }, /*#__PURE__*/React$1.createElement(LogoContainer, {
8544
8722
  direction: "row",
8545
8723
  gap: "8px"
8546
- }, /*#__PURE__*/React.createElement(GeoReDUSLogoSymbol, null), /*#__PURE__*/React.createElement("div", {
8724
+ }, /*#__PURE__*/React$1.createElement(GeoReDUSLogoSymbol, null), /*#__PURE__*/React$1.createElement("div", {
8547
8725
  style: {
8548
8726
  transition: open ? 'opacity .7s ease-out' : 'opacity .1s ease-out',
8549
8727
  opacity: open ? 1 : 0
8550
8728
  }
8551
- }, /*#__PURE__*/React.createElement(GeoReDUSLogoText, null)))), Array.isArray(viewSpecs) ? /*#__PURE__*/React.createElement(ViewMenu, {
8729
+ }, /*#__PURE__*/React$1.createElement(GeoReDUSLogoText, null)))), Array.isArray(viewSpecs) ? /*#__PURE__*/React$1.createElement(ViewMenu, {
8552
8730
  style: {
8553
8731
  flexGrow: 1,
8554
8732
  height: '1px'
@@ -8579,7 +8757,7 @@ function LeftPanel(_ref) {
8579
8757
  payload: viewId
8580
8758
  });
8581
8759
  },
8582
- sideBarBottom: /*#__PURE__*/React.createElement(Flex, {
8760
+ sideBarBottom: /*#__PURE__*/React$1.createElement(Flex, {
8583
8761
  style: {
8584
8762
  flexGrow: 1
8585
8763
  },
@@ -8588,7 +8766,7 @@ function LeftPanel(_ref) {
8588
8766
  gap: "3",
8589
8767
  justifyContent: "flex-end",
8590
8768
  alignItems: "center"
8591
- }, /*#__PURE__*/React.createElement(IconButton, {
8769
+ }, /*#__PURE__*/React$1.createElement(IconButton, {
8592
8770
  variant: "soft",
8593
8771
  size: "3",
8594
8772
  onClick: /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
@@ -8596,7 +8774,7 @@ function LeftPanel(_ref) {
8596
8774
  while (1) switch (_context.prev = _context.next) {
8597
8775
  case 0:
8598
8776
  _context.next = 2;
8599
- return dialogs.view(/*#__PURE__*/React.createElement(SharePanel, {
8777
+ return dialogs.view(/*#__PURE__*/React$1.createElement(SharePanel, {
8600
8778
  mapContainerRef: mapContainerRef,
8601
8779
  syncedMapsRef: syncedMapsRef
8602
8780
  }));
@@ -8606,40 +8784,40 @@ function LeftPanel(_ref) {
8606
8784
  }
8607
8785
  }, _callee);
8608
8786
  }))
8609
- }, /*#__PURE__*/React.createElement(Tooltip, {
8787
+ }, /*#__PURE__*/React$1.createElement(Tooltip, {
8610
8788
  content: "Compartilhar"
8611
- }, /*#__PURE__*/React.createElement(Icon, {
8789
+ }, /*#__PURE__*/React$1.createElement(Icon, {
8612
8790
  path: mdiShareVariantOutline,
8613
8791
  size: "24px"
8614
- }))), /*#__PURE__*/React.createElement(IconButton, {
8792
+ }))), /*#__PURE__*/React$1.createElement(IconButton, {
8615
8793
  variant: "soft",
8616
8794
  size: "3",
8617
8795
  asChild: true
8618
- }, /*#__PURE__*/React.createElement("a", {
8796
+ }, /*#__PURE__*/React$1.createElement("a", {
8619
8797
  href: "https://www.redus.org.br/georedus-rede-de-dados-urbanos/formularios/cbf766bb-9a74-4bc5-897a-70b9151afbdb",
8620
8798
  target: "_blank",
8621
8799
  rel: "noreferrer nofollow"
8622
- }, /*#__PURE__*/React.createElement(Tooltip, {
8800
+ }, /*#__PURE__*/React$1.createElement(Tooltip, {
8623
8801
  content: "D\xFAvidas e sugest\xF5es"
8624
- }, /*#__PURE__*/React.createElement(Icon, {
8802
+ }, /*#__PURE__*/React$1.createElement(Icon, {
8625
8803
  path: mdiForumOutline,
8626
8804
  size: "24px"
8627
8805
  })))))
8628
- }) : /*#__PURE__*/React.createElement("div", {
8806
+ }) : /*#__PURE__*/React$1.createElement("div", {
8629
8807
  style: {
8630
8808
  flexGrow: 1,
8631
8809
  position: 'relative'
8632
8810
  }
8633
- }, /*#__PURE__*/React.createElement(LoadingOverlay, {
8811
+ }, /*#__PURE__*/React$1.createElement(LoadingOverlay, {
8634
8812
  message: null
8635
- })), /*#__PURE__*/React.createElement(Flex, {
8813
+ })), /*#__PURE__*/React$1.createElement(Flex, {
8636
8814
  p: "2",
8637
8815
  style: {
8638
8816
  backgroundColor: 'white'
8639
8817
  },
8640
8818
  direction: "row",
8641
8819
  justifyContent: "center"
8642
- }, /*#__PURE__*/React.createElement("img", {
8820
+ }, /*#__PURE__*/React$1.createElement("img", {
8643
8821
  style: {
8644
8822
  transition: 'opacity .1s ease-out',
8645
8823
  opacity: open ? 1 : 0,
@@ -8663,7 +8841,7 @@ var ViewLayoutSortable = makeSortableMultiList({
8663
8841
  //
8664
8842
  Portal: function Portal$1(_ref) {
8665
8843
  var children = _ref.children;
8666
- return /*#__PURE__*/React.createElement(Portal, null, /*#__PURE__*/React.createElement(Theme, null, children));
8844
+ return /*#__PURE__*/React$1.createElement(Portal, null, /*#__PURE__*/React$1.createElement(Theme, null, children));
8667
8845
  },
8668
8846
  Item: function Item(_ref2) {
8669
8847
  var dragHandleProps = _ref2.dragHandleProps,
@@ -8674,12 +8852,15 @@ var ViewLayoutSortable = makeSortableMultiList({
8674
8852
  viewSpecs = _useContext.viewSpecs,
8675
8853
  viewConfState = _useContext.viewConfState,
8676
8854
  viewConfDispatch = _useContext.viewConfDispatch;
8855
+ var viewSpec = viewSpecs === null || viewSpecs === void 0 ? void 0 : viewSpecs.find(function (spec) {
8856
+ return spec.id === item.id;
8857
+ });
8677
8858
 
8678
8859
  // const boxShadow = isDragOverlay
8679
8860
  // ? 'rgba(0, 0, 0, 0.35) 0px 5px 15px;'
8680
8861
  // : 'none'
8681
8862
 
8682
- return /*#__PURE__*/React.createElement(Flex, {
8863
+ return viewSpec && /*#__PURE__*/React$1.createElement(Flex, {
8683
8864
  direction: "row",
8684
8865
  alignItems: "center",
8685
8866
  gap: "0",
@@ -8689,7 +8870,7 @@ var ViewLayoutSortable = makeSortableMultiList({
8689
8870
  transform: isDragOverlay ? 'scale(1.05)' : '',
8690
8871
  zIndex: isDragOverlay ? 999 : 0
8691
8872
  }
8692
- }, /*#__PURE__*/React.createElement("div", _extends({}, dragHandleProps, {
8873
+ }, /*#__PURE__*/React$1.createElement("div", _extends({}, dragHandleProps, {
8693
8874
  style: {
8694
8875
  cursor: isDragging ? 'grabbing' : 'grab',
8695
8876
  background: 'white',
@@ -8700,22 +8881,20 @@ var ViewLayoutSortable = makeSortableMultiList({
8700
8881
  borderBottomLeftRadius: DRAG_HANDLE_BORDER_RADIUS,
8701
8882
  height: CONTROL_HEIGHT
8702
8883
  }
8703
- }), /*#__PURE__*/React.createElement(Icon, {
8884
+ }), /*#__PURE__*/React$1.createElement(Icon, {
8704
8885
  path: mdiDragVertical,
8705
8886
  size: "24px"
8706
- })), /*#__PURE__*/React.createElement(Flex, {
8887
+ })), /*#__PURE__*/React$1.createElement(Flex, {
8707
8888
  direction: "column",
8708
8889
  style: {
8709
8890
  flexGrow: 1
8710
8891
  }
8711
- }, /*#__PURE__*/React.createElement(ViewControl, {
8892
+ }, /*#__PURE__*/React$1.createElement(ViewControl, {
8712
8893
  style: {
8713
8894
  height: CONTROL_HEIGHT
8714
8895
  },
8715
8896
  path: true,
8716
- viewSpec: viewSpecs.find(function (spec) {
8717
- return spec.id === item.id;
8718
- }),
8897
+ viewSpec: omit(viewSpec, ['shortDescription']),
8719
8898
  viewConf: viewConfState.byId[item.id],
8720
8899
  viewConfState: viewConfState,
8721
8900
  configurable: false,
@@ -8759,7 +8938,7 @@ var ViewLayoutSortable = makeSortableMultiList({
8759
8938
  var children = _ref3.children;
8760
8939
  _ref3.dragHandleProps;
8761
8940
  var item = _ref3.item;
8762
- return /*#__PURE__*/React.createElement(Flex, {
8941
+ return /*#__PURE__*/React$1.createElement(Flex, {
8763
8942
  direction: "column",
8764
8943
  width: "280px"
8765
8944
  // pb="30px"
@@ -8768,11 +8947,11 @@ var ViewLayoutSortable = makeSortableMultiList({
8768
8947
  border: 'dashed 1px var(--accent-6)',
8769
8948
  borderRadius: "".concat(DRAG_HANDLE_BORDER_RADIUS, "px")
8770
8949
  }
8771
- }, /*#__PURE__*/React.createElement("div", {
8950
+ }, /*#__PURE__*/React$1.createElement("div", {
8772
8951
  style: {
8773
8952
  margin: '-1px -1px -1px -1px'
8774
8953
  }
8775
- }, children, item.items.length === 0 && /*#__PURE__*/React.createElement(Flex, {
8954
+ }, children, item.items.length === 0 && /*#__PURE__*/React$1.createElement(Flex, {
8776
8955
  p: "4",
8777
8956
  style: {
8778
8957
  // border: 'dashed 1px var(--accent-6)',
@@ -8781,7 +8960,7 @@ var ViewLayoutSortable = makeSortableMultiList({
8781
8960
  },
8782
8961
  justifyContent: "center",
8783
8962
  alignItems: "center"
8784
- }, /*#__PURE__*/React.createElement(Text, {
8963
+ }, /*#__PURE__*/React$1.createElement(Text, {
8785
8964
  size: "2"
8786
8965
  }, "Arraste uma camada para visualizar em mapa comparado"))));
8787
8966
  }
@@ -8791,13 +8970,13 @@ function ViewLayoutControl(_ref4) {
8791
8970
  var viewSpecs = _ref4.viewSpecs,
8792
8971
  viewConfState = _ref4.viewConfState,
8793
8972
  viewConfDispatch = _ref4.viewConfDispatch;
8794
- return /*#__PURE__*/React.createElement(ViewLayoutControlContext.Provider, {
8973
+ return /*#__PURE__*/React$1.createElement(ViewLayoutControlContext.Provider, {
8795
8974
  value: {
8796
8975
  viewSpecs: viewSpecs,
8797
8976
  viewConfState: viewConfState,
8798
8977
  viewConfDispatch: viewConfDispatch
8799
8978
  }
8800
- }, /*#__PURE__*/React.createElement(ViewLayoutSortable, {
8979
+ }, /*#__PURE__*/React$1.createElement(ViewLayoutSortable, {
8801
8980
  lists: viewConfState.layout,
8802
8981
  onSetLists: function onSetLists(nextLayout) {
8803
8982
  return viewConfDispatch({
@@ -8817,13 +8996,13 @@ function ViewLayoutPopover(_ref) {
8817
8996
  var activeViewCount = useMemo(function () {
8818
8997
  return Object.keys(viewConfState.byId).length;
8819
8998
  }, [viewConfState.byId]);
8820
- return /*#__PURE__*/React.createElement(Popover.Root, null, /*#__PURE__*/React.createElement(Popover.Trigger, null, /*#__PURE__*/React.createElement(Button, _extends({
8999
+ return /*#__PURE__*/React$1.createElement(Popover.Root, null, /*#__PURE__*/React$1.createElement(Popover.Trigger, null, /*#__PURE__*/React$1.createElement(Button, _extends({
8821
9000
  variant: activeViewCount > 0 ? 'solid' : 'soft',
8822
9001
  size: "1"
8823
- }, props), /*#__PURE__*/React.createElement(Icon, {
9002
+ }, props), /*#__PURE__*/React$1.createElement(Icon, {
8824
9003
  path: mdiLayers,
8825
9004
  size: "16px"
8826
- }), " Camadas ativas", ' ', activeViewCount ? "(".concat(activeViewCount, ")") : null)), /*#__PURE__*/React.createElement(Popover.Content, {
9005
+ }), " Camadas ativas", ' ', activeViewCount ? "(".concat(activeViewCount, ")") : null)), /*#__PURE__*/React$1.createElement(Popover.Content, {
8827
9006
  size: "1",
8828
9007
  align: "center",
8829
9008
  style: {
@@ -8832,19 +9011,19 @@ function ViewLayoutPopover(_ref) {
8832
9011
  position: 'relative'
8833
9012
  },
8834
9013
  maxWidth: "none"
8835
- }, /*#__PURE__*/React.createElement(Flex, {
9014
+ }, /*#__PURE__*/React$1.createElement(Flex, {
8836
9015
  direction: "row",
8837
9016
  gap: "3"
8838
- }, activeViewCount > 0 ? /*#__PURE__*/React.createElement(ViewLayoutControl, {
9017
+ }, activeViewCount > 0 ? /*#__PURE__*/React$1.createElement(ViewLayoutControl, {
8839
9018
  viewSpecs: viewSpecs,
8840
9019
  viewConfState: viewConfState,
8841
9020
  viewConfDispatch: viewConfDispatch
8842
- }) : /*#__PURE__*/React.createElement(Text, {
9021
+ }) : /*#__PURE__*/React$1.createElement(Text, {
8843
9022
  size: "1"
8844
- }, "Nenhuma camada ativa"), /*#__PURE__*/React.createElement(Popover.Close, null, /*#__PURE__*/React.createElement(IconButton, {
9023
+ }, "Nenhuma camada ativa"), /*#__PURE__*/React$1.createElement(Popover.Close, null, /*#__PURE__*/React$1.createElement(IconButton, {
8845
9024
  size: "1",
8846
9025
  variant: "ghost"
8847
- }, /*#__PURE__*/React.createElement(Icon, {
9026
+ }, /*#__PURE__*/React$1.createElement(Icon, {
8848
9027
  path: mdiClose,
8849
9028
  size: "16px"
8850
9029
  }))))));
@@ -8966,6 +9145,23 @@ function _coordinatesFromDeviceLocation() {
8966
9145
  function resolveInitialMunicipioId(_x) {
8967
9146
  return _resolveInitialMunicipioId.apply(this, arguments);
8968
9147
  }
9148
+
9149
+ /**
9150
+ * Returns a bbox covering the 3×3 grid of tiles around the tile that contains
9151
+ * (lng, lat) at the given zoom. Useful for limiting map bounds or prefetching.
9152
+ *
9153
+ * TILE LAYOUT (center tile is x,y):
9154
+ *
9155
+ * +---------+---------+---------+
9156
+ * | x-1,y-1 | x,y-1 | x+1,y-1 |
9157
+ * +---------+---------+---------+
9158
+ * | x-1,y | x,y | x+1,y |
9159
+ * +---------+---------+---------+
9160
+ * | x-1,y+1 | x,y+1 | x+1,y+1 |
9161
+ * +---------+---------+---------+
9162
+ *
9163
+ * Returns: [minLng, minLat, maxLng, maxLat]
9164
+ */
8969
9165
  function _resolveInitialMunicipioId() {
8970
9166
  _resolveInitialMunicipioId = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(_ref) {
8971
9167
  var METADATA_API_ENDPOINT, coordinates, defaultCoordinates;
@@ -9021,6 +9217,30 @@ function _resolveInitialMunicipioId() {
9021
9217
  }));
9022
9218
  return _resolveInitialMunicipioId.apply(this, arguments);
9023
9219
  }
9220
+ function getSurroundingTilesBbox(lng, lat, zoom) {
9221
+ // Tile under center point
9222
+ var _pointToTile = pointToTile(lng, lat, zoom),
9223
+ _pointToTile2 = _slicedToArray(_pointToTile, 2),
9224
+ x = _pointToTile2[0],
9225
+ y = _pointToTile2[1];
9226
+ var minLng = Infinity;
9227
+ var minLat = Infinity;
9228
+ var maxLng = -Infinity;
9229
+ var maxLat = -Infinity;
9230
+
9231
+ // 3×3 block of tiles around the center tile
9232
+ for (var dx = -1; dx <= 1; dx++) {
9233
+ for (var dy = -1; dy <= 1; dy++) {
9234
+ var tile = [x + dx, y + dy, zoom];
9235
+ var bbox = tileToBBOX(tile);
9236
+ minLng = Math.min(minLng, bbox[0]);
9237
+ minLat = Math.min(minLat, bbox[1]);
9238
+ maxLng = Math.max(maxLng, bbox[2]);
9239
+ maxLat = Math.max(maxLat, bbox[3]);
9240
+ }
9241
+ }
9242
+ return [minLng, minLat, maxLng, maxLat];
9243
+ }
9024
9244
 
9025
9245
  // TODO generalize for allow input types and output types
9026
9246
  function parseGeoFileMetadata(_x) {
@@ -9054,7 +9274,7 @@ function _parseGeoFileMetadata() {
9054
9274
  }
9055
9275
  function GeoFile(props) {
9056
9276
  var dialogs = useDialogs();
9057
- return /*#__PURE__*/React.createElement(SingleFileInput, _extends({}, props, {
9277
+ return /*#__PURE__*/React$1.createElement(SingleFileInput, _extends({}, props, {
9058
9278
  middleware: [(/*#__PURE__*/function () {
9059
9279
  var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(file) {
9060
9280
  var Gdal, _yield$Gdal$open, datasets, errors, result, fileBytes, blob, outFile;
@@ -9131,13 +9351,13 @@ function GeoFile(props) {
9131
9351
  }
9132
9352
 
9133
9353
  function NumberInput(props) {
9134
- return /*#__PURE__*/React.createElement(TextInput, _extends({}, props, {
9354
+ return /*#__PURE__*/React$1.createElement(TextInput, _extends({}, props, {
9135
9355
  type: "text",
9136
9356
  mask: Number
9137
9357
  }));
9138
9358
  }
9139
9359
  function InputProvider(props) {
9140
- return /*#__PURE__*/React.createElement(InputProvider$1, _extends({
9360
+ return /*#__PURE__*/React$1.createElement(InputProvider$1, _extends({
9141
9361
  renderers: _objectSpread2(_objectSpread2({}, INPUTS), rendererSpecList({
9142
9362
  date: TextInput,
9143
9363
  number: NumberInput,
@@ -10897,16 +11117,26 @@ function _flyToMunicipio2() {
10897
11117
  while (1) switch (_context4.prev = _context4.next) {
10898
11118
  case 0:
10899
11119
  _context4.next = 2;
10900
- return fetch("".concat(METADATA_API_ENDPOINT, "/ibge_malha_br_municipio?select=bbox&id=eq.").concat(municipioId)).then(function (res) {
11120
+ return fetch("".concat(METADATA_API_ENDPOINT, "/ibge_malha_br_municipio_2024?select=area_urbana_bbox_geom&id=eq.").concat(municipioId)).then(function (res) {
10901
11121
  return res.json();
10902
11122
  });
10903
11123
  case 2:
10904
11124
  _yield$fetch$then = _context4.sent;
10905
11125
  _yield$fetch$then2 = _slicedToArray(_yield$fetch$then, 1);
10906
11126
  mun = _yield$fetch$then2[0];
10907
- if (mun && mun.bbox) {
10908
- fitGeometry(map, mun.bbox, options);
11127
+ if (mun && mun.area_urbana_bbox_geom) {
11128
+ fitGeometry(map, mun.area_urbana_bbox_geom, options);
10909
11129
  }
11130
+
11131
+ // const [mun] = await fetch(
11132
+ // `${METADATA_API_ENDPOINT}/ibge_malha_br_municipio?select=bbox&id=eq.${municipioId}`,
11133
+ // ).then((res) => res.json())
11134
+
11135
+ // if (mun && mun.bbox) {
11136
+ // console.log('mun.bbox', mun.bbox)
11137
+
11138
+ // fitGeometry(map, mun.bbox, options)
11139
+ // }
10910
11140
  case 6:
10911
11141
  case "end":
10912
11142
  return _context4.stop();
@@ -10963,6 +11193,19 @@ var FULL_MAP_STYLE = {
10963
11193
  dataviz: BASEMAPS.dataviz.fullMapStyle(),
10964
11194
  satellite: BASEMAPS.satellite.fullMapStyle()
10965
11195
  };
11196
+ function _bboxContains(a, b) {
11197
+ var _a = _slicedToArray(a, 4),
11198
+ aMinLng = _a[0],
11199
+ aMinLat = _a[1],
11200
+ aMaxLng = _a[2],
11201
+ aMaxLat = _a[3];
11202
+ var _b = _slicedToArray(b, 4),
11203
+ bMinLng = _b[0],
11204
+ bMinLat = _b[1],
11205
+ bMaxLng = _b[2],
11206
+ bMaxLat = _b[3];
11207
+ return bMinLng >= aMinLng && bMinLat >= aMinLat && bMaxLng <= aMaxLng && bMaxLat <= aMaxLat;
11208
+ }
10966
11209
 
10967
11210
  //
10968
11211
  // TODO: review, this is clearly not a structured way
@@ -11027,7 +11270,7 @@ function HoverLegend(_ref) {
11027
11270
  onMouseLeaveStep: onMouseLeaveStep
11028
11271
  };
11029
11272
  }, []);
11030
- return /*#__PURE__*/React.createElement(Legend, _extends({}, legendProps, legendProps.type === 'SequentialColorLegend' ? SEQUENTIAL_COLOR_LEGEND_PROPS : {}));
11273
+ return /*#__PURE__*/React$1.createElement(Legend, _extends({}, legendProps, legendProps.type === 'SequentialColorLegend' ? SEQUENTIAL_COLOR_LEGEND_PROPS : {}));
11031
11274
  }
11032
11275
  function GeoReDUSInner(_ref2) {
11033
11276
  var globalState = _ref2.state,
@@ -11069,6 +11312,10 @@ function GeoReDUSInner(_ref2) {
11069
11312
  var syncedMapsRef = useRef(null);
11070
11313
  var mapRegistry = useMapRegistry();
11071
11314
  var tilesLoading = useTilesLoading(mapRegistry.maps);
11315
+ var _useState5 = useState(null),
11316
+ _useState6 = _slicedToArray(_useState5, 2),
11317
+ mapBounds = _useState6[0],
11318
+ setMapBounds = _useState6[1];
11072
11319
  var _useLocalState = useLocalState(globalState.municipioId, function (nextMunicipioId) {
11073
11320
  return onSetGlobalState(_objectSpread2(_objectSpread2({}, globalState), {}, {
11074
11321
  municipioId: nextMunicipioId
@@ -11146,9 +11393,10 @@ function GeoReDUSInner(_ref2) {
11146
11393
  // in order for views not recompute on every zoom change
11147
11394
  //
11148
11395
  zoomLevel: zoomLevel,
11149
- regional: regional
11396
+ regional: regional,
11397
+ mapBounds: mapBounds
11150
11398
  };
11151
- }, [municipioId, baseMapStyle, zoomLevel, regional]);
11399
+ }, [municipioId, baseMapStyle, zoomLevel, regional, mapBounds]);
11152
11400
  var _useViews = useViews({
11153
11401
  viewSpecs: viewSpecsQuery.data,
11154
11402
  viewConfState: viewConfState,
@@ -11352,7 +11600,7 @@ function GeoReDUSInner(_ref2) {
11352
11600
  feature: feature
11353
11601
  }) : null;
11354
11602
  }).filter(Boolean);
11355
- return tooltipDataSections.length > 0 && /*#__PURE__*/React.createElement(HoverTooltip, {
11603
+ return tooltipDataSections.length > 0 && /*#__PURE__*/React$1.createElement(HoverTooltip, {
11356
11604
  position: hoverInfo.point,
11357
11605
  dataSections: tooltipDataSections,
11358
11606
  style: {
@@ -11377,7 +11625,7 @@ function GeoReDUSInner(_ref2) {
11377
11625
  }
11378
11626
  });
11379
11627
  }, []);
11380
- return /*#__PURE__*/React.createElement(Flex, null, /*#__PURE__*/React.createElement(LeftPanel, {
11628
+ return /*#__PURE__*/React$1.createElement(Flex, null, /*#__PURE__*/React$1.createElement(LeftPanel, {
11381
11629
  open: leftPanelOpen,
11382
11630
  onSetOpen: setLeftPanelOpen,
11383
11631
  viewSpecs: resolvedViewSpecs,
@@ -11385,7 +11633,7 @@ function GeoReDUSInner(_ref2) {
11385
11633
  viewConfDispatch: viewConfDispatch,
11386
11634
  resolvedViews: resolvedViews,
11387
11635
  syncedMapsRef: syncedMapsRef
11388
- }), /*#__PURE__*/React.createElement(Flex, {
11636
+ }), /*#__PURE__*/React$1.createElement(Flex, {
11389
11637
  style: {
11390
11638
  position: 'fixed',
11391
11639
  zIndex: 2,
@@ -11395,27 +11643,27 @@ function GeoReDUSInner(_ref2) {
11395
11643
  direction: "row",
11396
11644
  gap: "4",
11397
11645
  alignItems: "center"
11398
- }, /*#__PURE__*/React.createElement(ViewLayoutPopover, {
11646
+ }, /*#__PURE__*/React$1.createElement(ViewLayoutPopover, {
11399
11647
  viewSpecs: viewSpecsQuery.data,
11400
11648
  viewConfState: viewConfState,
11401
11649
  viewConfDispatch: viewConfDispatch
11402
- }), /*#__PURE__*/React.createElement(Flex, {
11650
+ }), /*#__PURE__*/React$1.createElement(Flex, {
11403
11651
  alignItems: "strecth",
11404
11652
  width: "400px",
11405
11653
  direction: "column",
11406
11654
  maxWidth: "30vw",
11407
11655
  gap: "3"
11408
- }, /*#__PURE__*/React.createElement(HotfixSelectLargeFont, null, /*#__PURE__*/React.createElement(Input, {
11656
+ }, /*#__PURE__*/React$1.createElement(HotfixSelectLargeFont, null, /*#__PURE__*/React$1.createElement(Input, {
11409
11657
  schema: MUNICIPIO_ID_SELECTOR_SCHEMA,
11410
11658
  value: municipioId,
11411
11659
  onSetValue: setMunicipioId
11412
- })), /*#__PURE__*/React.createElement("div", {
11660
+ })), /*#__PURE__*/React$1.createElement("div", {
11413
11661
  style: {
11414
11662
  alignSelf: 'flex-end',
11415
11663
  position: 'absolute',
11416
11664
  top: '100%'
11417
11665
  }
11418
- }, /*#__PURE__*/React.createElement(Input, {
11666
+ }, /*#__PURE__*/React$1.createElement(Input, {
11419
11667
  schema: {
11420
11668
  type: 'booleanCheckbox',
11421
11669
  description: 'Visualizar dados regionais'
@@ -11423,13 +11671,31 @@ function GeoReDUSInner(_ref2) {
11423
11671
  size: "1",
11424
11672
  value: regional,
11425
11673
  onSetValue: setRegional
11426
- })))), /*#__PURE__*/React.createElement(SyncedMaps, {
11674
+ })))), /*#__PURE__*/React$1.createElement(SyncedMaps, {
11427
11675
  maxPitch: 80,
11428
11676
  onZoomEnd: function onZoomEnd(e) {
11429
11677
  var _e$viewState;
11430
11678
  var zoom = (_e$viewState = e.viewState) === null || _e$viewState === void 0 ? void 0 : _e$viewState.zoom;
11431
11679
  var nextZoomLevel = zoom > 8 ? 'intramun' : zoom > 5 ? 'intrauf' : zoom > 3 ? 'intrabr' : null;
11432
11680
  setZoomLevel(nextZoomLevel);
11681
+ }
11682
+ //
11683
+ // TODO: review mapBounds calculation
11684
+ //
11685
+ ,
11686
+ onMoveEnd: function onMoveEnd(e) {
11687
+ var _e$viewState2 = e.viewState,
11688
+ latitude = _e$viewState2.latitude,
11689
+ longitude = _e$viewState2.longitude;
11690
+ var bounds = e.target.getBounds();
11691
+ var minLng = bounds.getWest();
11692
+ var maxLng = bounds.getEast();
11693
+ var minLat = bounds.getSouth();
11694
+ var maxLat = bounds.getNorth();
11695
+ var viewBounds = [minLng, minLat, maxLng, maxLat];
11696
+ if (!mapBounds || !_bboxContains(mapBounds, viewBounds)) {
11697
+ setMapBounds(getSurroundingTilesBbox(longitude, latitude, 7));
11698
+ }
11433
11699
  },
11434
11700
  onDrag: function onDrag() {
11435
11701
  if (resolvedLayout.length > 1 && leftPanelOpen) {
@@ -11443,6 +11709,10 @@ function GeoReDUSInner(_ref2) {
11443
11709
  ref: syncedMapsRef,
11444
11710
  onLoad: function onLoad(evt) {
11445
11711
  _refocus(evt.target);
11712
+
11713
+ // For debugging:
11714
+ // evt.target.showTileBoundaries = true
11715
+
11446
11716
  mapRegistry.onLoad(evt);
11447
11717
  },
11448
11718
  onRemove: function onRemove(evt) {
@@ -11475,12 +11745,12 @@ function GeoReDUSInner(_ref2) {
11475
11745
  // canvasContextAttributes: {
11476
11746
  // preserveDrawingBuffer: true,
11477
11747
  // },
11478
- children: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(DynamicImages, {
11748
+ children: /*#__PURE__*/React$1.createElement(React$1.Fragment, null, /*#__PURE__*/React$1.createElement(DynamicImages, {
11479
11749
  onGenerateImage: MAP_SVG_IMAGE_GENERATOR
11480
- }), /*#__PURE__*/React.createElement(AttributionControl, {
11750
+ }), /*#__PURE__*/React$1.createElement(AttributionControl, {
11481
11751
  position: "bottom-right",
11482
11752
  compact: false
11483
- }), /*#__PURE__*/React.createElement(ControlContainer, {
11753
+ }), /*#__PURE__*/React$1.createElement(ControlContainer, {
11484
11754
  style: {
11485
11755
  width: 'auto',
11486
11756
  height: 'auto',
@@ -11488,13 +11758,13 @@ function GeoReDUSInner(_ref2) {
11488
11758
  opacity: legends.length > 0 ? 1 : 0
11489
11759
  },
11490
11760
  position: "bottom-right"
11491
- }, legends.length > 0 && /*#__PURE__*/React.createElement(LegendContainer, {
11761
+ }, legends.length > 0 && /*#__PURE__*/React$1.createElement(LegendContainer, {
11492
11762
  direction: "row",
11493
11763
  gap: "3",
11494
11764
  p: resolvedLayout.length > 1 ? '3' : '4'
11495
- }, resolvedLayout.length > 1 && /*#__PURE__*/React.createElement(Tooltip, {
11765
+ }, resolvedLayout.length > 1 && /*#__PURE__*/React$1.createElement(Tooltip, {
11496
11766
  content: "Fechar visualiza\xE7\xE3o"
11497
- }, /*#__PURE__*/React.createElement(IconButton, {
11767
+ }, /*#__PURE__*/React$1.createElement(IconButton, {
11498
11768
  size: "1",
11499
11769
  variant: "soft",
11500
11770
  onClick: function onClick() {
@@ -11503,14 +11773,14 @@ function GeoReDUSInner(_ref2) {
11503
11773
  payload: views[0].id
11504
11774
  });
11505
11775
  }
11506
- }, /*#__PURE__*/React.createElement(Icon, {
11776
+ }, /*#__PURE__*/React$1.createElement(Icon, {
11507
11777
  path: mdiClose,
11508
11778
  size: "20px"
11509
- }))), /*#__PURE__*/React.createElement(EvenSpacedList, {
11779
+ }))), /*#__PURE__*/React$1.createElement(EvenSpacedList, {
11510
11780
  columns: legends.length > 1 ? 2 : 1,
11511
11781
  gap: "10px"
11512
11782
  }, legends.map(function (legend) {
11513
- return /*#__PURE__*/React.createElement(HoverLegend, _extends({}, resolvedLayout.length > 1 ? {
11783
+ return /*#__PURE__*/React$1.createElement(HoverLegend, _extends({}, resolvedLayout.length > 1 ? {
11514
11784
  direction: 'row',
11515
11785
  maxWidth: '300px',
11516
11786
  size: '1'
@@ -11521,21 +11791,21 @@ function GeoReDUSInner(_ref2) {
11521
11791
  }, {
11522
11792
  key: legend.id
11523
11793
  }, 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, {
11794
+ })))), 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
11795
  position: "top-right"
11526
- }), /*#__PURE__*/React.createElement(FullscreenControl, {
11796
+ }), /*#__PURE__*/React$1.createElement(FullscreenControl, {
11527
11797
  position: "top-right"
11528
- }), /*#__PURE__*/React.createElement(NavigationControl, {
11798
+ }), /*#__PURE__*/React$1.createElement(NavigationControl, {
11529
11799
  position: "top-right"
11530
- }), /*#__PURE__*/React.createElement(ScaleControl, {
11800
+ }), /*#__PURE__*/React$1.createElement(ScaleControl, {
11531
11801
  position: "bottom-right"
11532
- }), /*#__PURE__*/React.createElement(ControlContainer, {
11802
+ }), /*#__PURE__*/React$1.createElement(ControlContainer, {
11533
11803
  style: {
11534
11804
  width: 100,
11535
11805
  height: 100,
11536
11806
  boxShadow: 'none'
11537
11807
  }
11538
- }, /*#__PURE__*/React.createElement(MapStyleToggleCtrl, {
11808
+ }, /*#__PURE__*/React$1.createElement(MapStyleToggleCtrl, {
11539
11809
  style: {
11540
11810
  position: 'relative',
11541
11811
  width: 100,
@@ -11545,7 +11815,7 @@ function GeoReDUSInner(_ref2) {
11545
11815
  onClick: function onClick() {
11546
11816
  return setBaseMapStyle(baseMapStyle === 'dataviz' ? 'satellite' : 'dataviz');
11547
11817
  }
11548
- }, /*#__PURE__*/React.createElement(MapWindow, {
11818
+ }, /*#__PURE__*/React$1.createElement(MapWindow, {
11549
11819
  style: {
11550
11820
  pointerEvents: 'none',
11551
11821
  position: 'absolute',
@@ -11556,13 +11826,13 @@ function GeoReDUSInner(_ref2) {
11556
11826
  },
11557
11827
  mapStyle: baseMapStyle === 'satellite' ? FULL_MAP_STYLE.dataviz : FULL_MAP_STYLE.satellite,
11558
11828
  maxZoom: 13
11559
- })))) : null, /*#__PURE__*/React.createElement(TerrainControl, {
11829
+ })))) : null, /*#__PURE__*/React$1.createElement(TerrainControl, {
11560
11830
  demSourceUrl: DEM_SOURCE_URL,
11561
11831
  demSourceEncoding: DEM_SOURCE_ENCODING
11562
11832
  }))
11563
11833
  };
11564
11834
  })
11565
- }, (viewsLoading || tilesLoading) && /*#__PURE__*/React.createElement(LoadingIndicator, {
11835
+ }, (viewsLoading || tilesLoading) && /*#__PURE__*/React$1.createElement(LoadingIndicator, {
11566
11836
  style: {
11567
11837
  position: 'fixed',
11568
11838
  bottom: '40px',
@@ -11577,9 +11847,9 @@ function GeoReDUSInner(_ref2) {
11577
11847
  }
11578
11848
  var GeoReDUSRootContainer = styled.div(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n * {\n box-sizing: border-box;\n }\n"])));
11579
11849
  function GeoReDUS(props) {
11580
- return /*#__PURE__*/React.createElement(GeoReDUSRootContainer, null, /*#__PURE__*/React.createElement(InputProvider, {
11850
+ return /*#__PURE__*/React$1.createElement(GeoReDUSRootContainer, null, /*#__PURE__*/React$1.createElement(InputProvider, {
11581
11851
  variant: "labeled"
11582
- }, /*#__PURE__*/React.createElement(DialogsProvider, null, /*#__PURE__*/React.createElement(GeoReDUSInner, props))));
11852
+ }, /*#__PURE__*/React$1.createElement(DialogsProvider, null, /*#__PURE__*/React$1.createElement(GeoReDUSInner, props))));
11583
11853
  }
11584
11854
 
11585
- export { GeoReDUS, index as UNSTABLE_VIEW_SPEC, VTX_PROTOCOL, memoFetchData, vtx, vtxSetup, vtxUrl };
11855
+ export { GeoReDUS, index as UNSTABLE_VIEW_SPEC, VTX_PROTOCOL, _bboxContains, memoFetchData, vtx, vtxSetup, vtxUrl };