@redus/georedus-ui 0.8.2 → 0.8.7

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/CHANGELOG.md CHANGED
@@ -1,5 +1,38 @@
1
1
  # @orioro/template-react
2
2
 
3
+ ## 0.8.7
4
+
5
+ ### Patch Changes
6
+
7
+ - fix share button bar and add questions & suggestions button
8
+
9
+ ## 0.8.6
10
+
11
+ ### Patch Changes
12
+
13
+ - update dev metadata api url
14
+
15
+ ## 0.8.5
16
+
17
+ ### Patch Changes
18
+
19
+ - Updated dependencies
20
+ - @orioro/react-maplibre-util@0.5.2
21
+
22
+ ## 0.8.4
23
+
24
+ ### Patch Changes
25
+
26
+ - Updated dependencies
27
+ - @orioro/react-maplibre-util@0.5.1
28
+
29
+ ## 0.8.3
30
+
31
+ ### Patch Changes
32
+
33
+ - Updated dependencies
34
+ - @orioro/react-maplibre-util@0.5.0
35
+
3
36
  ## 0.8.2
4
37
 
5
38
  ### Patch Changes
@@ -0,0 +1,12 @@
1
+ export function CopyToClipboardButton({ text, label, ...props }: {
2
+ [x: string]: any;
3
+ text: any;
4
+ label: any;
5
+ }): import("react").JSX.Element;
6
+ export function CopyToClipboardIconButton({ text, label, children, copiedMessage, ...props }: {
7
+ [x: string]: any;
8
+ text: any;
9
+ label?: string | undefined;
10
+ children?: import("react").JSX.Element | undefined;
11
+ copiedMessage?: string | undefined;
12
+ }): import("react").JSX.Element;
@@ -0,0 +1,4 @@
1
+ export function ShareButtonBar({ url, ...props }: {
2
+ [x: string]: any;
3
+ url: any;
4
+ }): import("react").JSX.Element;
@@ -0,0 +1 @@
1
+ export * from "./ShareButtonBar";
package/dist/main.js CHANGED
@@ -1,10 +1,10 @@
1
- import React, { useState, useMemo, useCallback, useContext, createContext, useReducer, useEffect, useRef } from 'react';
1
+ import React$1, { useState, useMemo, useCallback, useContext, createContext, useReducer, useEffect, useRef } from 'react';
2
2
  import { MARKDOWN_DEFAULT_REMARK_PLUGINS, MARKDOWN_DEFAULT_REHYPE_PLUGINS, Markdown as Markdown$1, CANCELLED, Flex, DropdownMenu, Box, Input, SwitchInput, TextEllipsis, withDefaults, LoadingOverlay, Button, fileReadAs, SingleFileInput, InputProvider as InputProvider$1, rendererSpecList, TextInput, withLabeledLayout, INPUTS, useLocalState, EvenSpacedList, LoadingIndicator } from '@orioro/react-ui-core';
3
3
  import { nodeIdFromPath } from '@orioro/tree-model';
4
4
  import { makeDirNav } from '@orioro/react-dir-nav';
5
5
  import { Icon } from '@mdi/react';
6
- import { mdiHelpCircleOutline, mdiDownload, mdiDotsVertical, mdiOpacity, mdiFilterVariant, mdiHospitalBox, mdiHomeCity, mdiSchool, mdiAccountGroup, mdiChevronLeft, mdiShareVariantOutline, mdiDragVertical, mdiLayers, mdiClose } from '@mdi/js';
7
- import { Tabs, Tooltip, IconButton, Theme, Heading, Text, Dialog, Portal, Popover } from '@radix-ui/themes';
6
+ import { mdiHelpCircleOutline, mdiDownload, mdiDotsVertical, mdiOpacity, mdiFilterVariant, mdiHospitalBox, mdiHomeCity, mdiSchool, mdiAccountGroup, mdiContentCopy, mdiLinkVariant, mdiChevronLeft, mdiShareVariantOutline, mdiForumOutline, mdiDragVertical, mdiLayers, mdiClose } from '@mdi/js';
7
+ import { Tabs, Tooltip, IconButton, Theme, Heading, Text, Popover, Dialog, Portal } from '@radix-ui/themes';
8
8
  import styled, { keyframes } from 'styled-components';
9
9
  import * as Collapsible from '@radix-ui/react-collapsible';
10
10
  import { __makeTemplateObject, __assign, __spreadArray, __awaiter, __generator } from 'tslib';
@@ -12,12 +12,15 @@ import remarkMath from 'remark-math';
12
12
  import rehypeKatex from 'rehype-katex';
13
13
  import 'katex/dist/katex.min.css';
14
14
  import { isPlainObject, get, pick, omit, set, uniqBy, groupBy, uniq } from 'lodash';
15
- import { useDebounce } from 'react-use';
15
+ import { useDebounce, useLocation } from 'react-use';
16
16
  import { createDialogSystem, DIALOGS } from '@orioro/react-dialogs';
17
17
  import { CsvImportDialog } from '@orioro/react-csv';
18
18
  import Highlighter from 'react-highlight-words';
19
+ import { LinkedinShareButton, LinkedinIcon, EmailShareButton, EmailIcon, FacebookShareButton, FacebookIcon, TwitterShareButton, TwitterIcon, WhatsappShareButton, WhatsappIcon } from 'react-share';
20
+ import CopyToClipboard from 'react-copy-to-clipboard';
19
21
  import { makeSortableMultiList } from '@orioro/react-sortable';
20
22
  import { fmtLayerAbsoluteId, makeSyncedMaps, LayeredMap, HoverTooltip, ControlContainer, InspectControl, MapWindow, TerrainControl, fitGeometry } from '@orioro/react-maplibre-util';
23
+ import '@maplibre/maplibre-gl-inspect/dist/maplibre-gl-inspect.css';
21
24
  import { Legend } from '@orioro/react-chart-util';
22
25
  import 'maplibre-gl/dist/maplibre-gl.css';
23
26
  import { useQueries, useQuery } from '@tanstack/react-query';
@@ -568,7 +571,7 @@ var templateObject_1, templateObject_2, templateObject_3;
568
571
  var REMARK_PLUGINS = [].concat(_toConsumableArray(MARKDOWN_DEFAULT_REMARK_PLUGINS), [remarkMath]);
569
572
  var REHYPE_PLUGINS = [].concat(_toConsumableArray(MARKDOWN_DEFAULT_REHYPE_PLUGINS), [rehypeKatex]);
570
573
  function Markdown(props) {
571
- return /*#__PURE__*/React.createElement(Markdown$1, _extends({
574
+ return /*#__PURE__*/React$1.createElement(Markdown$1, _extends({
572
575
  remarkPlugins: REMARK_PLUGINS,
573
576
  rehypePlugins: REHYPE_PLUGINS
574
577
  }, props));
@@ -598,7 +601,7 @@ var _createDialogSystem = createDialogSystem({
598
601
  useDialogs = _createDialogSystem2[1];
599
602
  function DialogsProvider(_ref2) {
600
603
  var children = _ref2.children;
601
- return /*#__PURE__*/React.createElement(DialogsProvider_, {
604
+ return /*#__PURE__*/React$1.createElement(DialogsProvider_, {
602
605
  prompt: {
603
606
  restore: 'Restaurar',
604
607
  cancel: 'Cancelar',
@@ -610,7 +613,7 @@ function DialogsProvider(_ref2) {
610
613
  var CONF_TABS = {
611
614
  data: {
612
615
  id: 'data',
613
- icon: /*#__PURE__*/React.createElement(Icon, {
616
+ icon: /*#__PURE__*/React$1.createElement(Icon, {
614
617
  path: mdiFilterVariant,
615
618
  size: "16px"
616
619
  }),
@@ -618,7 +621,7 @@ var CONF_TABS = {
618
621
  },
619
622
  style: {
620
623
  id: 'style',
621
- icon: /*#__PURE__*/React.createElement(Icon, {
624
+ icon: /*#__PURE__*/React$1.createElement(Icon, {
622
625
  path: mdiOpacity,
623
626
  size: "16px"
624
627
  }),
@@ -651,21 +654,21 @@ function ViewConfTabs(_ref) {
651
654
  }).filter(Boolean);
652
655
  }, [CONF_SCHEMA]);
653
656
  var dialogs = useDialogs();
654
- return /*#__PURE__*/React.createElement(Tabs.Root, {
657
+ return /*#__PURE__*/React$1.createElement(Tabs.Root, {
655
658
  defaultValue: ((_enabledTabs$ = enabledTabs[0]) === null || _enabledTabs$ === void 0 ? void 0 : _enabledTabs$.id) || null
656
- }, /*#__PURE__*/React.createElement(Flex, {
659
+ }, /*#__PURE__*/React$1.createElement(Flex, {
657
660
  direction: "row",
658
661
  gap: "0"
659
- }, /*#__PURE__*/React.createElement(Tabs.List, {
662
+ }, /*#__PURE__*/React$1.createElement(Tabs.List, {
660
663
  size: "1"
661
664
  }, enabledTabs.map(function (tab) {
662
- return /*#__PURE__*/React.createElement(Tabs.Trigger, {
665
+ return /*#__PURE__*/React$1.createElement(Tabs.Trigger, {
663
666
  key: tab.id,
664
667
  value: tab.id
665
- }, /*#__PURE__*/React.createElement(Tooltip, {
668
+ }, /*#__PURE__*/React$1.createElement(Tooltip, {
666
669
  content: tab.label
667
670
  }, tab.icon));
668
- })), /*#__PURE__*/React.createElement(Flex, {
671
+ })), /*#__PURE__*/React$1.createElement(Flex, {
669
672
  direction: "row",
670
673
  alignItems: "center",
671
674
  gap: "10px",
@@ -676,7 +679,7 @@ function ViewConfTabs(_ref) {
676
679
  flexGrow: 1,
677
680
  boxShadow: 'color(display-p3 0.0039 0.251 0.5137 / 0.174) 0px -1px 0px 0px inset'
678
681
  }
679
- }, viewSpec.metodology && /*#__PURE__*/React.createElement(IconButton, {
682
+ }, viewSpec.metodology && /*#__PURE__*/React$1.createElement(IconButton, {
680
683
  variant: "ghost",
681
684
  size: "1",
682
685
  onClick: /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
@@ -719,9 +722,9 @@ function ViewConfTabs(_ref) {
719
722
  _context2.next = 6;
720
723
  return dialogs.view({
721
724
  maxHeight: '90vh',
722
- children: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Heading, {
725
+ children: /*#__PURE__*/React$1.createElement(React$1.Fragment, null, /*#__PURE__*/React$1.createElement(Heading, {
723
726
  as: "h1"
724
- }, viewSpec.label, " - Notas metodol\xF3gicas"), /*#__PURE__*/React.createElement(Markdown, {
727
+ }, viewSpec.label, " - Notas metodol\xF3gicas"), /*#__PURE__*/React$1.createElement(Markdown, {
725
728
  children: markdown.trim()
726
729
  }))
727
730
  });
@@ -731,12 +734,12 @@ function ViewConfTabs(_ref) {
731
734
  }
732
735
  }, _callee2);
733
736
  }))
734
- }, /*#__PURE__*/React.createElement(Tooltip, {
737
+ }, /*#__PURE__*/React$1.createElement(Tooltip, {
735
738
  content: "Notas metodol\xF3gicas"
736
- }, /*#__PURE__*/React.createElement(Icon, {
739
+ }, /*#__PURE__*/React$1.createElement(Icon, {
737
740
  path: mdiHelpCircleOutline,
738
741
  size: "16px"
739
- }))), typeof (resolvedView === null || resolvedView === void 0 ? void 0 : resolvedView.download) === 'function' && /*#__PURE__*/React.createElement(IconButton, {
742
+ }))), typeof (resolvedView === null || resolvedView === void 0 ? void 0 : resolvedView.download) === 'function' && /*#__PURE__*/React$1.createElement(IconButton, {
740
743
  variant: "ghost",
741
744
  size: "1",
742
745
  onClick: function onClick() {
@@ -744,22 +747,22 @@ function ViewConfTabs(_ref) {
744
747
  dialogs: dialogs
745
748
  });
746
749
  }
747
- }, /*#__PURE__*/React.createElement(Tooltip, {
750
+ }, /*#__PURE__*/React$1.createElement(Tooltip, {
748
751
  content: "Baixar dados"
749
- }, /*#__PURE__*/React.createElement(Icon, {
752
+ }, /*#__PURE__*/React$1.createElement(Icon, {
750
753
  path: mdiDownload,
751
754
  size: "16px"
752
- }))), /*#__PURE__*/React.createElement(DropdownMenu, {
755
+ }))), /*#__PURE__*/React$1.createElement(DropdownMenu, {
753
756
  options: [{
754
757
  label: 'Visualizar como mapa comparado',
755
758
  onClick: function onClick() {
756
759
  return onSetView(viewConf, 1);
757
760
  }
758
761
  }]
759
- }, /*#__PURE__*/React.createElement(IconButton, {
762
+ }, /*#__PURE__*/React$1.createElement(IconButton, {
760
763
  variant: "ghost",
761
764
  size: "1"
762
- }, /*#__PURE__*/React.createElement(Icon, {
765
+ }, /*#__PURE__*/React$1.createElement(Icon, {
763
766
  path: mdiDotsVertical,
764
767
  size: "16px"
765
768
  }))))), Array.isArray(enabledTabs) && enabledTabs.length > 0 ? enabledTabs.map(function (tab) {
@@ -774,14 +777,14 @@ function ViewConfTabs(_ref) {
774
777
  return Boolean(value);
775
778
  }));
776
779
  var tabConfValue = immediateViewConf[tab.id];
777
- return /*#__PURE__*/React.createElement(Tabs.Content, {
780
+ return /*#__PURE__*/React$1.createElement(Tabs.Content, {
778
781
  key: tab.id,
779
782
  value: tab.id
780
- }, /*#__PURE__*/React.createElement(Box, {
783
+ }, /*#__PURE__*/React$1.createElement(Box, {
781
784
  p: "3"
782
- }, /*#__PURE__*/React.createElement(Theme, {
785
+ }, /*#__PURE__*/React$1.createElement(Theme, {
783
786
  scaling: "100%"
784
- }, /*#__PURE__*/React.createElement(Input, {
787
+ }, /*#__PURE__*/React$1.createElement(Input, {
785
788
  schema: {
786
789
  type: 'object',
787
790
  properties: tabConfSchema
@@ -791,7 +794,7 @@ function ViewConfTabs(_ref) {
791
794
  return setImmediateViewConf(_objectSpread2(_objectSpread2({}, viewConf), {}, _defineProperty({}, tab.id, _objectSpread2(_objectSpread2({}, viewConf[tab.id] || {}), nextValue))));
792
795
  }
793
796
  }))));
794
- }) : /*#__PURE__*/React.createElement(Box, {
797
+ }) : /*#__PURE__*/React$1.createElement(Box, {
795
798
  p: "3",
796
799
  style: {
797
800
  fontSize: '.9rem'
@@ -799,9 +802,9 @@ function ViewConfTabs(_ref) {
799
802
  }, "Visualiza\xE7\xE3o habilitada"));
800
803
  }
801
804
 
802
- var _excluded$4 = ["textSearch", "content", "maxLines"];
803
- var _templateObject$3, _templateObject2$2;
804
- var Container = styled(Box)(_templateObject$3 || (_templateObject$3 = _taggedTemplateLiteral(["\n --view-control-base-padding: 12px;\n box-shadow:\n rgba(0, 0, 0, 0.12) 0px 1px 3px,\n rgba(0, 0, 0, 0.24) 0px 1px 2px;\n\n border-radius: 2px;\n background-color: var(--redus-bege, white);\n // background-color: var(--accent-4, white);\n"])));
805
+ var _excluded$5 = ["textSearch", "content", "maxLines"];
806
+ var _templateObject$4, _templateObject2$2;
807
+ var Container$1 = styled(Box)(_templateObject$4 || (_templateObject$4 = _taggedTemplateLiteral(["\n --view-control-base-padding: 12px;\n box-shadow:\n rgba(0, 0, 0, 0.12) 0px 1px 3px,\n rgba(0, 0, 0, 0.24) 0px 1px 2px;\n\n border-radius: 2px;\n background-color: var(--redus-bege, white);\n // background-color: var(--accent-4, white);\n"])));
805
808
  var Summary = styled.div(_templateObject2$2 || (_templateObject2$2 = _taggedTemplateLiteral(["\n // background-color: var(--redus-bege, white);\n background-color: ", ";\n padding: 0;\n\n transition: background-color 0.1s ease-out;\n\n display: flex;\n border: none;\n text-align: left;\n width: 100%;\n\n cursor: pointer;\n\n &:hover {\n // background-color: color-mix(in srgb, var(--redus-bege) 80%, white);\n background-color: ", ";\n }\n\n &:active {\n filter: brightness(96%);\n }\n"])), function (_ref) {
806
809
  var $active = _ref.$active;
807
810
  return $active ? 'var(--redus-bege, white)' : 'var(--accent-2)';
@@ -827,19 +830,19 @@ function HeadingWithTooltipAndEllipsis(_ref7) {
827
830
  content = _ref7.content,
828
831
  _ref7$maxLines = _ref7.maxLines,
829
832
  maxLines = _ref7$maxLines === void 0 ? 2 : _ref7$maxLines,
830
- props = _objectWithoutProperties(_ref7, _excluded$4);
831
- return /*#__PURE__*/React.createElement(Tooltip, {
833
+ props = _objectWithoutProperties(_ref7, _excluded$5);
834
+ return /*#__PURE__*/React$1.createElement(Tooltip, {
832
835
  content: content
833
- }, /*#__PURE__*/React.createElement(Heading, _extends({
836
+ }, /*#__PURE__*/React$1.createElement(Heading, _extends({
834
837
  size: "2",
835
838
  as: "h4",
836
839
  style: {
837
840
  fontWeight: 'normal',
838
841
  color: 'var(--accent-9)'
839
842
  }
840
- }, props), /*#__PURE__*/React.createElement(TextEllipsis, {
843
+ }, props), /*#__PURE__*/React$1.createElement(TextEllipsis, {
841
844
  maxLines: maxLines
842
- }, /*#__PURE__*/React.createElement(Highlighter, {
845
+ }, /*#__PURE__*/React$1.createElement(Highlighter, {
843
846
  searchWords: textSearch && textSearch.length > 3 ? [textSearch] : [],
844
847
  textToHighlight: content
845
848
  }))));
@@ -866,9 +869,9 @@ function ViewControl(_ref8) {
866
869
  var toggleView = useCallback(function () {
867
870
  return active ? deactivateView() : setView();
868
871
  }, [active, deactivateView, setView]);
869
- return viewSpec && /*#__PURE__*/React.createElement(Collapsible.Root, {
872
+ return viewSpec && /*#__PURE__*/React$1.createElement(Collapsible.Root, {
870
873
  open: configurable === true && active
871
- }, /*#__PURE__*/React.createElement(Container, null, /*#__PURE__*/React.createElement(Summary, {
874
+ }, /*#__PURE__*/React$1.createElement(Container$1, null, /*#__PURE__*/React$1.createElement(Summary, {
872
875
  type: "button",
873
876
  role: "button",
874
877
  style: style,
@@ -876,19 +879,19 @@ function ViewControl(_ref8) {
876
879
  onClick: configurable ? function () {
877
880
  return toggleView();
878
881
  } : null
879
- }, /*#__PURE__*/React.createElement(Flex, {
882
+ }, /*#__PURE__*/React$1.createElement(Flex, {
880
883
  direction: "row",
881
884
  alignItems: "center",
882
885
  justifyContent: "space-between",
883
886
  p: "3",
884
887
  width: "100%"
885
- }, /*#__PURE__*/React.createElement(Flex, {
888
+ }, /*#__PURE__*/React$1.createElement(Flex, {
886
889
  direction: "column",
887
890
  gap: "1",
888
891
  style: {
889
892
  flexGrow: '1'
890
893
  }
891
- }, path && /*#__PURE__*/React.createElement(HeadingWithTooltipAndEllipsis, {
894
+ }, path && /*#__PURE__*/React$1.createElement(HeadingWithTooltipAndEllipsis, {
892
895
  size: "1",
893
896
  as: "h6",
894
897
  content: typeof path === 'string' ? path : viewSpec.path,
@@ -898,18 +901,18 @@ function ViewControl(_ref8) {
898
901
  color: 'var(--gray-9)',
899
902
  fontWeight: 'normal'
900
903
  }
901
- }), /*#__PURE__*/React.createElement(HeadingWithTooltipAndEllipsis, {
904
+ }), /*#__PURE__*/React$1.createElement(HeadingWithTooltipAndEllipsis, {
902
905
  content: viewSpec.label,
903
906
  textSearch: textSearch,
904
907
  maxLines: 2
905
- }), /*#__PURE__*/React.createElement(Text, {
908
+ }), /*#__PURE__*/React$1.createElement(Text, {
906
909
  color: "gray",
907
910
  style: {
908
911
  color: 'var(--gray-9)',
909
912
  textTransform: 'uppercase'
910
913
  },
911
914
  size: "1"
912
- }, viewSpec.sourceLabel)), /*#__PURE__*/React.createElement(SwitchInput, {
915
+ }, viewSpec.sourceLabel)), /*#__PURE__*/React$1.createElement(SwitchInput, {
913
916
  radius: "full",
914
917
  value: active,
915
918
  onSetValue: function onSetValue() {
@@ -922,11 +925,11 @@ function ViewControl(_ref8) {
922
925
  onClick: function onClick(e) {
923
926
  return e.stopPropagation();
924
927
  }
925
- }))), /*#__PURE__*/React.createElement(CollapsibleContent, {
928
+ }))), /*#__PURE__*/React$1.createElement(CollapsibleContent, {
926
929
  style: {
927
930
  borderTop: '1px solid var(--gray-8)'
928
931
  }
929
- }, viewConf && /*#__PURE__*/React.createElement(ViewConfTabs, {
932
+ }, viewConf && /*#__PURE__*/React$1.createElement(ViewConfTabs, {
930
933
  viewSpec: viewSpec,
931
934
  viewConf: viewConf,
932
935
  resolvedView: resolvedView,
@@ -936,19 +939,19 @@ function ViewControl(_ref8) {
936
939
 
937
940
  var VIEW_TYPE_SURFACE_CHOROPLETH = 'surface_choropleth';
938
941
 
939
- var _excluded$3 = ["viewSpecs", "viewConfState", "resolvedViews", "onSetView", "onDeactivateView", "style"];
940
- var _templateObject$2, _templateObject2$1;
942
+ var _excluded$4 = ["viewSpecs", "viewConfState", "resolvedViews", "onSetView", "onDeactivateView", "style"];
943
+ var _templateObject$3, _templateObject2$1;
941
944
  var STATIC_NODE_ICONS = {
942
- 'populacao-e-domicilios': /*#__PURE__*/React.createElement(Icon, {
945
+ 'populacao-e-domicilios': /*#__PURE__*/React$1.createElement(Icon, {
943
946
  path: mdiAccountGroup
944
947
  }),
945
- educacao: /*#__PURE__*/React.createElement(Icon, {
948
+ educacao: /*#__PURE__*/React$1.createElement(Icon, {
946
949
  path: mdiSchool
947
950
  }),
948
- 'infraestrutura-e-servicos-urbanos': /*#__PURE__*/React.createElement(Icon, {
951
+ 'infraestrutura-e-servicos-urbanos': /*#__PURE__*/React$1.createElement(Icon, {
949
952
  path: mdiHomeCity
950
953
  }),
951
- saude: /*#__PURE__*/React.createElement(Icon, {
954
+ saude: /*#__PURE__*/React$1.createElement(Icon, {
952
955
  path: mdiHospitalBox
953
956
  })
954
957
  };
@@ -960,7 +963,7 @@ var ViewMenuContext = /*#__PURE__*/createContext({
960
963
  onSetView: errNoViewMenuContext,
961
964
  onDeactivateView: errNoViewMenuContext
962
965
  });
963
- var ActiveCounter = styled.div(_templateObject$2 || (_templateObject$2 = _taggedTemplateLiteral(["\n position: absolute;\n top: 0;\n left: 0;\n transform: translate(-30%, -30%);\n border-radius: 50%;\n border: 1px solid white;\n height: 20px;\n width: 20px;\n font-size: 12px;\n background-color: var(--accent-9);\n color: white;\n font-weight: bold;\n\n display: flex;\n align-items: center;\n justify-content: center;\n"])));
966
+ var ActiveCounter = styled.div(_templateObject$3 || (_templateObject$3 = _taggedTemplateLiteral(["\n position: absolute;\n top: 0;\n left: 0;\n transform: translate(-30%, -30%);\n border-radius: 50%;\n border: 1px solid white;\n height: 20px;\n width: 20px;\n font-size: 12px;\n background-color: var(--accent-9);\n color: white;\n font-weight: bold;\n\n display: flex;\n align-items: center;\n justify-content: center;\n"])));
964
967
  function Item(_ref) {
965
968
  var node = _ref.node;
966
969
  _ref.depth;
@@ -971,7 +974,7 @@ function Item(_ref) {
971
974
  resolvedViews = _useContext.resolvedViews,
972
975
  _onSetView = _useContext.onSetView,
973
976
  _onDeactivateView = _useContext.onDeactivateView;
974
- return /*#__PURE__*/React.createElement(ViewControl, {
977
+ return /*#__PURE__*/React$1.createElement(ViewControl, {
975
978
  textSearch: textSearch,
976
979
  path: Boolean(textSearch) ? node.path : null,
977
980
  viewSpec: node,
@@ -1047,7 +1050,7 @@ var DirNav = makeDirNav({
1047
1050
  viewSpecsById: viewSpecsById,
1048
1051
  nodeId: node.id
1049
1052
  });
1050
- return /*#__PURE__*/React.createElement("div", {
1053
+ return /*#__PURE__*/React$1.createElement("div", {
1051
1054
  style: {
1052
1055
  flexGrow: 1,
1053
1056
  textAlign: 'left',
@@ -1057,11 +1060,11 @@ var DirNav = makeDirNav({
1057
1060
  alignItems: 'center',
1058
1061
  justifyContent: 'space-between'
1059
1062
  }
1060
- }, /*#__PURE__*/React.createElement(TextEllipsis, {
1063
+ }, /*#__PURE__*/React$1.createElement(TextEllipsis, {
1061
1064
  style: {
1062
1065
  flexShrink: 1
1063
1066
  }
1064
- }, node.label), activeViewsCount > 0 && /*#__PURE__*/React.createElement("span", {
1067
+ }, node.label), activeViewsCount > 0 && /*#__PURE__*/React$1.createElement("span", {
1065
1068
  style: {
1066
1069
  marginLeft: 6,
1067
1070
  fontSize: '.8rem',
@@ -1078,15 +1081,15 @@ function ViewMenu(_ref4) {
1078
1081
  onSetView = _ref4.onSetView,
1079
1082
  onDeactivateView = _ref4.onDeactivateView,
1080
1083
  style = _ref4.style,
1081
- props = _objectWithoutProperties(_ref4, _excluded$3);
1084
+ props = _objectWithoutProperties(_ref4, _excluded$4);
1082
1085
  var viewSpecsById = useMemo(function () {
1083
1086
  return Object.fromEntries(viewSpecs.map(function (spec) {
1084
1087
  return [spec.id, spec];
1085
1088
  }));
1086
1089
  }, [viewSpecs]);
1087
- return /*#__PURE__*/React.createElement("div", {
1090
+ return /*#__PURE__*/React$1.createElement("div", {
1088
1091
  style: style
1089
- }, /*#__PURE__*/React.createElement(ViewMenuContext.Provider, {
1092
+ }, /*#__PURE__*/React$1.createElement(ViewMenuContext.Provider, {
1090
1093
  value: {
1091
1094
  viewSpecsById: viewSpecsById,
1092
1095
  viewConfState: viewConfState,
@@ -1094,7 +1097,7 @@ function ViewMenu(_ref4) {
1094
1097
  onSetView: onSetView,
1095
1098
  onDeactivateView: onDeactivateView
1096
1099
  }
1097
- }, /*#__PURE__*/React.createElement(DirNav, _extends({
1100
+ }, /*#__PURE__*/React$1.createElement(DirNav, _extends({
1098
1101
  style: {
1099
1102
  flexGrow: 1,
1100
1103
  overflow: 'hidden'
@@ -1109,18 +1112,18 @@ function ViewMenu(_ref4) {
1109
1112
  viewSpecsById: viewSpecsById,
1110
1113
  nodeId: node.id
1111
1114
  });
1112
- return /*#__PURE__*/React.createElement("div", {
1115
+ return /*#__PURE__*/React$1.createElement("div", {
1113
1116
  style: {
1114
1117
  position: 'relative'
1115
1118
  }
1116
- }, STATIC_NODE_ICONS[node.id], activeViewsCount > 0 && /*#__PURE__*/React.createElement(ActiveCounter, null, activeViewsCount));
1119
+ }, STATIC_NODE_ICONS[node.id], activeViewsCount > 0 && /*#__PURE__*/React$1.createElement(ActiveCounter, null, activeViewsCount));
1117
1120
  }
1118
1121
  }, props))));
1119
1122
  }
1120
1123
 
1121
1124
  function GeoReDUSLogoSymbol() {
1122
1125
  var color = '#FFFFFF';
1123
- return /*#__PURE__*/React.createElement("svg", {
1126
+ return /*#__PURE__*/React$1.createElement("svg", {
1124
1127
  version: "1.1",
1125
1128
  id: "Layer_1",
1126
1129
  xmlns: "http://www.w3.org/2000/svg"
@@ -1131,59 +1134,59 @@ function GeoReDUSLogoSymbol() {
1131
1134
  x: "0px",
1132
1135
  y: "0px",
1133
1136
  viewBox: "0 0 117.98 129.33"
1134
- }, /*#__PURE__*/React.createElement("g", null, /*#__PURE__*/React.createElement("g", null, /*#__PURE__*/React.createElement("g", null, /*#__PURE__*/React.createElement("path", {
1137
+ }, /*#__PURE__*/React$1.createElement("g", null, /*#__PURE__*/React$1.createElement("g", null, /*#__PURE__*/React$1.createElement("g", null, /*#__PURE__*/React$1.createElement("path", {
1135
1138
  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"
1136
- }), /*#__PURE__*/React.createElement("path", {
1139
+ }), /*#__PURE__*/React$1.createElement("path", {
1137
1140
  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"
1138
- }), /*#__PURE__*/React.createElement("path", {
1141
+ }), /*#__PURE__*/React$1.createElement("path", {
1139
1142
  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"
1140
- }), /*#__PURE__*/React.createElement("path", {
1143
+ }), /*#__PURE__*/React$1.createElement("path", {
1141
1144
  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"
1142
- }), /*#__PURE__*/React.createElement("path", {
1145
+ }), /*#__PURE__*/React$1.createElement("path", {
1143
1146
  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"
1144
- }), /*#__PURE__*/React.createElement("path", {
1147
+ }), /*#__PURE__*/React$1.createElement("path", {
1145
1148
  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"
1146
- }), /*#__PURE__*/React.createElement("path", {
1149
+ }), /*#__PURE__*/React$1.createElement("path", {
1147
1150
  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"
1148
- }), /*#__PURE__*/React.createElement("path", {
1151
+ }), /*#__PURE__*/React$1.createElement("path", {
1149
1152
  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"
1150
- }), /*#__PURE__*/React.createElement("path", {
1153
+ }), /*#__PURE__*/React$1.createElement("path", {
1151
1154
  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"
1152
- }), /*#__PURE__*/React.createElement("polygon", {
1155
+ }), /*#__PURE__*/React$1.createElement("polygon", {
1153
1156
  points: "97.94,83.14 89.42,83.14 89.42,91.66 97.94,91.66 97.94,83.14 "
1154
- }), /*#__PURE__*/React.createElement("polygon", {
1157
+ }), /*#__PURE__*/React$1.createElement("polygon", {
1155
1158
  points: "85.85,100.08 77.33,100.08 77.33,108.6 85.85,108.6 85.85,100.08 "
1156
- })))), /*#__PURE__*/React.createElement("g", null, /*#__PURE__*/React.createElement("g", null, /*#__PURE__*/React.createElement("g", null, /*#__PURE__*/React.createElement("path", {
1159
+ })))), /*#__PURE__*/React$1.createElement("g", null, /*#__PURE__*/React$1.createElement("g", null, /*#__PURE__*/React$1.createElement("g", null, /*#__PURE__*/React$1.createElement("path", {
1157
1160
  fill: color,
1158
1161
  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"
1159
- }), /*#__PURE__*/React.createElement("path", {
1162
+ }), /*#__PURE__*/React$1.createElement("path", {
1160
1163
  fill: color,
1161
1164
  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"
1162
- }), /*#__PURE__*/React.createElement("path", {
1165
+ }), /*#__PURE__*/React$1.createElement("path", {
1163
1166
  fill: color,
1164
1167
  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"
1165
- }), /*#__PURE__*/React.createElement("path", {
1168
+ }), /*#__PURE__*/React$1.createElement("path", {
1166
1169
  fill: color,
1167
1170
  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"
1168
- }), /*#__PURE__*/React.createElement("path", {
1171
+ }), /*#__PURE__*/React$1.createElement("path", {
1169
1172
  fill: color,
1170
1173
  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"
1171
- }), /*#__PURE__*/React.createElement("path", {
1174
+ }), /*#__PURE__*/React$1.createElement("path", {
1172
1175
  fill: color,
1173
1176
  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"
1174
- }), /*#__PURE__*/React.createElement("path", {
1177
+ }), /*#__PURE__*/React$1.createElement("path", {
1175
1178
  fill: color,
1176
1179
  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"
1177
- }), /*#__PURE__*/React.createElement("path", {
1180
+ }), /*#__PURE__*/React$1.createElement("path", {
1178
1181
  fill: color,
1179
1182
  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"
1180
- }), /*#__PURE__*/React.createElement("path", {
1183
+ }), /*#__PURE__*/React$1.createElement("path", {
1181
1184
  fill: color,
1182
1185
  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"
1183
- }), /*#__PURE__*/React.createElement("polygon", {
1186
+ }), /*#__PURE__*/React$1.createElement("polygon", {
1184
1187
  fill: color,
1185
1188
  points: "97.94,83.14 89.42,83.14 89.42,91.66 97.94,91.66 97.94,83.14 "
1186
- }), /*#__PURE__*/React.createElement("polygon", {
1189
+ }), /*#__PURE__*/React$1.createElement("polygon", {
1187
1190
  fill: color,
1188
1191
  points: "85.85,100.08 77.33,100.08 77.33,108.6 85.85,108.6 85.85,100.08 "
1189
1192
  })))));
@@ -1191,7 +1194,7 @@ function GeoReDUSLogoSymbol() {
1191
1194
 
1192
1195
  function GeoReDUSLogoText() {
1193
1196
  var color = '#FFFFFF';
1194
- return /*#__PURE__*/React.createElement("svg", {
1197
+ return /*#__PURE__*/React$1.createElement("svg", {
1195
1198
  version: "1.1",
1196
1199
  id: "Layer_1",
1197
1200
  xmlns: "http://www.w3.org/2000/svg"
@@ -1202,33 +1205,128 @@ function GeoReDUSLogoText() {
1202
1205
  x: "0px",
1203
1206
  y: "0px",
1204
1207
  viewBox: "0 0 215.51 129.33"
1205
- }, /*#__PURE__*/React.createElement("g", null, /*#__PURE__*/React.createElement("g", null, /*#__PURE__*/React.createElement("g", null, /*#__PURE__*/React.createElement("path", {
1208
+ }, /*#__PURE__*/React$1.createElement("g", null, /*#__PURE__*/React$1.createElement("g", null, /*#__PURE__*/React$1.createElement("g", null, /*#__PURE__*/React$1.createElement("path", {
1206
1209
  fill: color,
1207
1210
  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"
1208
- })), /*#__PURE__*/React.createElement("g", null, /*#__PURE__*/React.createElement("path", {
1211
+ })), /*#__PURE__*/React$1.createElement("g", null, /*#__PURE__*/React$1.createElement("path", {
1209
1212
  fill: color,
1210
1213
  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"
1211
- })), /*#__PURE__*/React.createElement("path", {
1214
+ })), /*#__PURE__*/React$1.createElement("path", {
1212
1215
  fill: color,
1213
1216
  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"
1214
- }), /*#__PURE__*/React.createElement("path", {
1217
+ }), /*#__PURE__*/React$1.createElement("path", {
1215
1218
  fill: color,
1216
1219
  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"
1217
- }), /*#__PURE__*/React.createElement("path", {
1220
+ }), /*#__PURE__*/React$1.createElement("path", {
1218
1221
  fill: color,
1219
1222
  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"
1220
- }), /*#__PURE__*/React.createElement("path", {
1223
+ }), /*#__PURE__*/React$1.createElement("path", {
1221
1224
  fill: color,
1222
1225
  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"
1223
- }), /*#__PURE__*/React.createElement("path", {
1226
+ }), /*#__PURE__*/React$1.createElement("path", {
1224
1227
  fill: color,
1225
1228
  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"
1226
- }), /*#__PURE__*/React.createElement("path", {
1229
+ }), /*#__PURE__*/React$1.createElement("path", {
1227
1230
  fill: color,
1228
1231
  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"
1229
1232
  }))));
1230
1233
  }
1231
1234
 
1235
+ var _excluded2 = ["text", "label", "children", "copiedMessage"];
1236
+ var DEFAULT_ICON = /*#__PURE__*/React.createElement(Icon, {
1237
+ path: mdiContentCopy,
1238
+ size: "18px"
1239
+ });
1240
+ function CopyToClipboardIconButton(_ref2) {
1241
+ var text = _ref2.text,
1242
+ _ref2$label = _ref2.label,
1243
+ label = _ref2$label === void 0 ? 'Copiar' : _ref2$label,
1244
+ _ref2$children = _ref2.children,
1245
+ children = _ref2$children === void 0 ? DEFAULT_ICON : _ref2$children,
1246
+ _ref2$copiedMessage = _ref2.copiedMessage,
1247
+ copiedMessage = _ref2$copiedMessage === void 0 ? 'Copiado!' : _ref2$copiedMessage,
1248
+ props = _objectWithoutProperties(_ref2, _excluded2);
1249
+ var _useState3 = useState(false),
1250
+ _useState4 = _slicedToArray(_useState3, 2),
1251
+ copied = _useState4[0],
1252
+ setCopied = _useState4[1];
1253
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Popover.Root, {
1254
+ open: copied
1255
+ }, /*#__PURE__*/React.createElement(CopyToClipboard, {
1256
+ text: text
1257
+ }, /*#__PURE__*/React.createElement(Popover.Trigger, null, /*#__PURE__*/React.createElement(IconButton, _extends({
1258
+ asChild: true,
1259
+ radius: "full"
1260
+ }, props), /*#__PURE__*/React.createElement("button", {
1261
+ onClick: function onClick() {
1262
+ setCopied(true);
1263
+ setTimeout(function () {
1264
+ setCopied(function () {
1265
+ return false;
1266
+ });
1267
+ }, 2500);
1268
+ }
1269
+ }, /*#__PURE__*/React.createElement(Tooltip, {
1270
+ content: label,
1271
+ sideOffset: 10
1272
+ }, children))))), /*#__PURE__*/React.createElement(Popover.Content, {
1273
+ align: "center",
1274
+ size: "1",
1275
+ style: {
1276
+ fontSize: '.8rem',
1277
+ padding: 8
1278
+ },
1279
+ maxWidth: 60
1280
+ }, copiedMessage)));
1281
+ }
1282
+
1283
+ var _excluded$3 = ["url"];
1284
+ var _templateObject$2;
1285
+ var Container = styled(Flex)(_templateObject$2 || (_templateObject$2 = _taggedTemplateLiteral(["\n > * {\n height: 32px;\n }\n"])));
1286
+ var ShareButtonBar = function ShareButtonBar(_ref) {
1287
+ var url = _ref.url,
1288
+ props = _objectWithoutProperties(_ref, _excluded$3);
1289
+ var _useLocation = useLocation(),
1290
+ href = _useLocation.href;
1291
+ var shareUrl = url ? url : href;
1292
+ return /*#__PURE__*/React.createElement(Container, _extends({
1293
+ direction: "row",
1294
+ gap: "3"
1295
+ }, props), /*#__PURE__*/React.createElement(CopyToClipboardIconButton, {
1296
+ label: "Copiar link de compartilhamento",
1297
+ copiedMessage: "Link copiado para \xE1rea de transfer\xEAncia",
1298
+ text: shareUrl
1299
+ }, /*#__PURE__*/React.createElement(Icon, {
1300
+ path: mdiLinkVariant,
1301
+ size: "18px"
1302
+ })), /*#__PURE__*/React.createElement(LinkedinShareButton, {
1303
+ url: shareUrl
1304
+ }, /*#__PURE__*/React.createElement(LinkedinIcon, {
1305
+ size: 32,
1306
+ round: true
1307
+ })), /*#__PURE__*/React.createElement(EmailShareButton, {
1308
+ url: shareUrl
1309
+ }, /*#__PURE__*/React.createElement(EmailIcon, {
1310
+ size: 32,
1311
+ round: true
1312
+ })), /*#__PURE__*/React.createElement(FacebookShareButton, {
1313
+ url: shareUrl
1314
+ }, /*#__PURE__*/React.createElement(FacebookIcon, {
1315
+ size: 32,
1316
+ round: true
1317
+ })), /*#__PURE__*/React.createElement(TwitterShareButton, {
1318
+ url: shareUrl
1319
+ }, /*#__PURE__*/React.createElement(TwitterIcon, {
1320
+ size: 32,
1321
+ round: true
1322
+ })), /*#__PURE__*/React.createElement(WhatsappShareButton, {
1323
+ url: shareUrl
1324
+ }, /*#__PURE__*/React.createElement(WhatsappIcon, {
1325
+ size: 32,
1326
+ round: true
1327
+ })));
1328
+ };
1329
+
1232
1330
  //
1233
1331
  // html2canvas does not support color functions
1234
1332
  // radix uses: oklch and color(...)
@@ -1265,10 +1363,10 @@ function SharePanel(_ref) {
1265
1363
  // throwOnError: process.env.NODE_ENV !== 'production',
1266
1364
  // })
1267
1365
 
1268
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Dialog.Title, null, "Compartilhar"), /*#__PURE__*/React.createElement(Flex, {
1366
+ return /*#__PURE__*/React$1.createElement(React$1.Fragment, null, /*#__PURE__*/React$1.createElement(Dialog.Title, null, "Compartilhar"), /*#__PURE__*/React$1.createElement(Flex, {
1269
1367
  direction: "row",
1270
1368
  gap: "4"
1271
- }, "ShareButtonBar"));
1369
+ }, /*#__PURE__*/React$1.createElement(ShareButtonBar, null)));
1272
1370
  }
1273
1371
 
1274
1372
  var _templateObject$1;
@@ -1289,7 +1387,7 @@ function LeftPanel(_ref) {
1289
1387
  syncedMapsRef = _ref.syncedMapsRef,
1290
1388
  mapContainerRef = _ref.mapContainerRef;
1291
1389
  var dialogs = useDialogs();
1292
- return /*#__PURE__*/React.createElement("div", {
1390
+ return /*#__PURE__*/React$1.createElement("div", {
1293
1391
  style: {
1294
1392
  position: 'fixed',
1295
1393
  zIndex: 2,
@@ -1299,7 +1397,7 @@ function LeftPanel(_ref) {
1299
1397
  }
1300
1398
  // onMouseEnter={() => setMouseIsOver(true)}
1301
1399
  // onMouseLeave={() => setMouseIsOver(false)}
1302
- }, /*#__PURE__*/React.createElement(Flex
1400
+ }, /*#__PURE__*/React$1.createElement(Flex
1303
1401
  //
1304
1402
  // Use flex for responsive positioning
1305
1403
  //
@@ -1322,7 +1420,7 @@ function LeftPanel(_ref) {
1322
1420
  md: '20px'
1323
1421
  }
1324
1422
  }
1325
- }, /*#__PURE__*/React.createElement(IconButton, {
1423
+ }, /*#__PURE__*/React$1.createElement(IconButton, {
1326
1424
  size: {
1327
1425
  xs: '3',
1328
1426
  md: '1'
@@ -1338,16 +1436,16 @@ function LeftPanel(_ref) {
1338
1436
  return onSetOpen(!open);
1339
1437
  }
1340
1438
  // variant="surface"
1341
- }, /*#__PURE__*/React.createElement(Tooltip, {
1439
+ }, /*#__PURE__*/React$1.createElement(Tooltip, {
1342
1440
  content: open ? 'Fechar painel' : 'Abrir painel'
1343
- }, /*#__PURE__*/React.createElement(Icon, {
1441
+ }, /*#__PURE__*/React$1.createElement(Icon, {
1344
1442
  style: {
1345
1443
  transition: 'transform .2s ease-out',
1346
1444
  transform: "rotateZ(".concat(open ? '0' : '180', "deg)")
1347
1445
  },
1348
1446
  path: mdiChevronLeft,
1349
1447
  size: "16px"
1350
- })))), /*#__PURE__*/React.createElement(Flex, {
1448
+ })))), /*#__PURE__*/React$1.createElement(Flex, {
1351
1449
  direction: "column",
1352
1450
  gap: "0",
1353
1451
  height: "100vh",
@@ -1360,7 +1458,7 @@ function LeftPanel(_ref) {
1360
1458
  onClick: function onClick(e) {
1361
1459
  return onSetOpen(true);
1362
1460
  }
1363
- }, /*#__PURE__*/React.createElement(Flex, {
1461
+ }, /*#__PURE__*/React$1.createElement(Flex, {
1364
1462
  px: "12px",
1365
1463
  py: "10px",
1366
1464
  height: HEADER_HEIGHT,
@@ -1372,15 +1470,15 @@ function LeftPanel(_ref) {
1372
1470
  flexShrink: 0,
1373
1471
  flexGrow: 0
1374
1472
  }
1375
- }, /*#__PURE__*/React.createElement(LogoContainer, {
1473
+ }, /*#__PURE__*/React$1.createElement(LogoContainer, {
1376
1474
  direction: "row",
1377
1475
  gap: "8px"
1378
- }, /*#__PURE__*/React.createElement(GeoReDUSLogoSymbol, null), /*#__PURE__*/React.createElement("div", {
1476
+ }, /*#__PURE__*/React$1.createElement(GeoReDUSLogoSymbol, null), /*#__PURE__*/React$1.createElement("div", {
1379
1477
  style: {
1380
1478
  transition: open ? 'opacity .7s ease-out' : 'opacity .1s ease-out',
1381
1479
  opacity: open ? 1 : 0
1382
1480
  }
1383
- }, /*#__PURE__*/React.createElement(GeoReDUSLogoText, null)))), Array.isArray(viewSpecs) ? /*#__PURE__*/React.createElement(ViewMenu, {
1481
+ }, /*#__PURE__*/React$1.createElement(GeoReDUSLogoText, null)))), Array.isArray(viewSpecs) ? /*#__PURE__*/React$1.createElement(ViewMenu, {
1384
1482
  style: {
1385
1483
  flexGrow: 1,
1386
1484
  height: '1px'
@@ -1411,15 +1509,16 @@ function LeftPanel(_ref) {
1411
1509
  payload: viewId
1412
1510
  });
1413
1511
  },
1414
- sideBarBottom: /*#__PURE__*/React.createElement(Flex, {
1512
+ sideBarBottom: /*#__PURE__*/React$1.createElement(Flex, {
1415
1513
  style: {
1416
1514
  flexGrow: 1
1417
1515
  },
1418
1516
  pb: "3",
1419
1517
  direction: "column",
1518
+ gap: "3",
1420
1519
  justifyContent: "flex-end",
1421
1520
  alignItems: "center"
1422
- }, /*#__PURE__*/React.createElement(IconButton, {
1521
+ }, /*#__PURE__*/React$1.createElement(IconButton, {
1423
1522
  variant: "soft",
1424
1523
  size: "3",
1425
1524
  onClick: /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
@@ -1427,7 +1526,7 @@ function LeftPanel(_ref) {
1427
1526
  while (1) switch (_context.prev = _context.next) {
1428
1527
  case 0:
1429
1528
  _context.next = 2;
1430
- return dialogs.view(/*#__PURE__*/React.createElement(SharePanel, {
1529
+ return dialogs.view(/*#__PURE__*/React$1.createElement(SharePanel, {
1431
1530
  mapContainerRef: mapContainerRef,
1432
1531
  syncedMapsRef: syncedMapsRef
1433
1532
  }));
@@ -1437,25 +1536,40 @@ function LeftPanel(_ref) {
1437
1536
  }
1438
1537
  }, _callee);
1439
1538
  }))
1440
- }, /*#__PURE__*/React.createElement(Icon, {
1539
+ }, /*#__PURE__*/React$1.createElement(Tooltip, {
1540
+ content: "Compartilhar"
1541
+ }, /*#__PURE__*/React$1.createElement(Icon, {
1441
1542
  path: mdiShareVariantOutline,
1442
1543
  size: "24px"
1443
- })))
1444
- }) : /*#__PURE__*/React.createElement("div", {
1544
+ }))), /*#__PURE__*/React$1.createElement(IconButton, {
1545
+ variant: "soft",
1546
+ size: "3",
1547
+ asChild: true
1548
+ }, /*#__PURE__*/React$1.createElement("a", {
1549
+ href: "https://www.redus.org.br/georedus-rede-de-dados-urbanos/formularios/cbf766bb-9a74-4bc5-897a-70b9151afbdb",
1550
+ target: "_blank",
1551
+ rel: "noreferrer nofollow"
1552
+ }, /*#__PURE__*/React$1.createElement(Tooltip, {
1553
+ content: "D\xFAvidas e sugest\xF5es"
1554
+ }, /*#__PURE__*/React$1.createElement(Icon, {
1555
+ path: mdiForumOutline,
1556
+ size: "24px"
1557
+ })))))
1558
+ }) : /*#__PURE__*/React$1.createElement("div", {
1445
1559
  style: {
1446
1560
  flexGrow: 1,
1447
1561
  position: 'relative'
1448
1562
  }
1449
- }, /*#__PURE__*/React.createElement(LoadingOverlay, {
1563
+ }, /*#__PURE__*/React$1.createElement(LoadingOverlay, {
1450
1564
  message: null
1451
- })), /*#__PURE__*/React.createElement(Flex, {
1565
+ })), /*#__PURE__*/React$1.createElement(Flex, {
1452
1566
  p: "2",
1453
1567
  style: {
1454
1568
  backgroundColor: 'white'
1455
1569
  },
1456
1570
  direction: "row",
1457
1571
  justifyContent: "center"
1458
- }, /*#__PURE__*/React.createElement("img", {
1572
+ }, /*#__PURE__*/React$1.createElement("img", {
1459
1573
  style: {
1460
1574
  transition: 'opacity .1s ease-out',
1461
1575
  opacity: open ? 1 : 0,
@@ -1479,7 +1593,7 @@ var ViewLayoutSortable = makeSortableMultiList({
1479
1593
  //
1480
1594
  Portal: function Portal$1(_ref) {
1481
1595
  var children = _ref.children;
1482
- return /*#__PURE__*/React.createElement(Portal, null, /*#__PURE__*/React.createElement(Theme, null, children));
1596
+ return /*#__PURE__*/React$1.createElement(Portal, null, /*#__PURE__*/React$1.createElement(Theme, null, children));
1483
1597
  },
1484
1598
  Item: function Item(_ref2) {
1485
1599
  var dragHandleProps = _ref2.dragHandleProps,
@@ -1495,7 +1609,7 @@ var ViewLayoutSortable = makeSortableMultiList({
1495
1609
  // ? 'rgba(0, 0, 0, 0.35) 0px 5px 15px;'
1496
1610
  // : 'none'
1497
1611
 
1498
- return /*#__PURE__*/React.createElement(Flex, {
1612
+ return /*#__PURE__*/React$1.createElement(Flex, {
1499
1613
  direction: "row",
1500
1614
  alignItems: "center",
1501
1615
  gap: "0",
@@ -1505,7 +1619,7 @@ var ViewLayoutSortable = makeSortableMultiList({
1505
1619
  transform: isDragOverlay ? 'scale(1.05)' : '',
1506
1620
  zIndex: isDragOverlay ? 999 : 0
1507
1621
  }
1508
- }, /*#__PURE__*/React.createElement("div", _extends({}, dragHandleProps, {
1622
+ }, /*#__PURE__*/React$1.createElement("div", _extends({}, dragHandleProps, {
1509
1623
  style: {
1510
1624
  cursor: isDragging ? 'grabbing' : 'grab',
1511
1625
  background: 'white',
@@ -1516,15 +1630,15 @@ var ViewLayoutSortable = makeSortableMultiList({
1516
1630
  borderBottomLeftRadius: DRAG_HANDLE_BORDER_RADIUS,
1517
1631
  height: CONTROL_HEIGHT
1518
1632
  }
1519
- }), /*#__PURE__*/React.createElement(Icon, {
1633
+ }), /*#__PURE__*/React$1.createElement(Icon, {
1520
1634
  path: mdiDragVertical,
1521
1635
  size: "24px"
1522
- })), /*#__PURE__*/React.createElement(Flex, {
1636
+ })), /*#__PURE__*/React$1.createElement(Flex, {
1523
1637
  direction: "column",
1524
1638
  style: {
1525
1639
  flexGrow: 1
1526
1640
  }
1527
- }, /*#__PURE__*/React.createElement(ViewControl, {
1641
+ }, /*#__PURE__*/React$1.createElement(ViewControl, {
1528
1642
  style: {
1529
1643
  height: CONTROL_HEIGHT
1530
1644
  },
@@ -1575,7 +1689,7 @@ var ViewLayoutSortable = makeSortableMultiList({
1575
1689
  var children = _ref3.children;
1576
1690
  _ref3.dragHandleProps;
1577
1691
  var item = _ref3.item;
1578
- return /*#__PURE__*/React.createElement(Flex, {
1692
+ return /*#__PURE__*/React$1.createElement(Flex, {
1579
1693
  direction: "column",
1580
1694
  width: "280px"
1581
1695
  // pb="30px"
@@ -1584,11 +1698,11 @@ var ViewLayoutSortable = makeSortableMultiList({
1584
1698
  border: 'dashed 1px var(--accent-6)',
1585
1699
  borderRadius: "".concat(DRAG_HANDLE_BORDER_RADIUS, "px")
1586
1700
  }
1587
- }, /*#__PURE__*/React.createElement("div", {
1701
+ }, /*#__PURE__*/React$1.createElement("div", {
1588
1702
  style: {
1589
1703
  margin: '-1px -1px -1px -1px'
1590
1704
  }
1591
- }, children, item.items.length === 0 && /*#__PURE__*/React.createElement(Flex, {
1705
+ }, children, item.items.length === 0 && /*#__PURE__*/React$1.createElement(Flex, {
1592
1706
  p: "4",
1593
1707
  style: {
1594
1708
  // border: 'dashed 1px var(--accent-6)',
@@ -1597,7 +1711,7 @@ var ViewLayoutSortable = makeSortableMultiList({
1597
1711
  },
1598
1712
  justifyContent: "center",
1599
1713
  alignItems: "center"
1600
- }, /*#__PURE__*/React.createElement(Text, {
1714
+ }, /*#__PURE__*/React$1.createElement(Text, {
1601
1715
  size: "2"
1602
1716
  }, "Arraste uma camada para visualizar em mapa comparado"))));
1603
1717
  }
@@ -1608,13 +1722,13 @@ function ViewLayoutControl(_ref4) {
1608
1722
  viewConfState = _ref4.viewConfState,
1609
1723
  viewConfDispatch = _ref4.viewConfDispatch;
1610
1724
  console.log('ViewLayoutControl', viewConfState.layout);
1611
- return /*#__PURE__*/React.createElement(ViewLayoutControlContext.Provider, {
1725
+ return /*#__PURE__*/React$1.createElement(ViewLayoutControlContext.Provider, {
1612
1726
  value: {
1613
1727
  viewSpecs: viewSpecs,
1614
1728
  viewConfState: viewConfState,
1615
1729
  viewConfDispatch: viewConfDispatch
1616
1730
  }
1617
- }, /*#__PURE__*/React.createElement(ViewLayoutSortable, {
1731
+ }, /*#__PURE__*/React$1.createElement(ViewLayoutSortable, {
1618
1732
  lists: viewConfState.layout,
1619
1733
  onSetLists: function onSetLists(nextLayout) {
1620
1734
  return viewConfDispatch({
@@ -1634,13 +1748,13 @@ function ViewLayoutPopover(_ref) {
1634
1748
  var activeViewCount = useMemo(function () {
1635
1749
  return Object.keys(viewConfState.byId).length;
1636
1750
  }, [viewConfState.byId]);
1637
- return /*#__PURE__*/React.createElement(Popover.Root, null, /*#__PURE__*/React.createElement(Popover.Trigger, null, /*#__PURE__*/React.createElement(Button, _extends({
1751
+ return /*#__PURE__*/React$1.createElement(Popover.Root, null, /*#__PURE__*/React$1.createElement(Popover.Trigger, null, /*#__PURE__*/React$1.createElement(Button, _extends({
1638
1752
  variant: activeViewCount > 0 ? 'solid' : 'soft',
1639
1753
  size: "1"
1640
- }, props), /*#__PURE__*/React.createElement(Icon, {
1754
+ }, props), /*#__PURE__*/React$1.createElement(Icon, {
1641
1755
  path: mdiLayers,
1642
1756
  size: "16px"
1643
- }), " Camadas ativas", ' ', activeViewCount ? "(".concat(activeViewCount, ")") : null)), /*#__PURE__*/React.createElement(Popover.Content, {
1757
+ }), " Camadas ativas", ' ', activeViewCount ? "(".concat(activeViewCount, ")") : null)), /*#__PURE__*/React$1.createElement(Popover.Content, {
1644
1758
  size: "1",
1645
1759
  align: "center",
1646
1760
  style: {
@@ -1649,19 +1763,19 @@ function ViewLayoutPopover(_ref) {
1649
1763
  position: 'relative'
1650
1764
  },
1651
1765
  maxWidth: "none"
1652
- }, /*#__PURE__*/React.createElement(Flex, {
1766
+ }, /*#__PURE__*/React$1.createElement(Flex, {
1653
1767
  direction: "row",
1654
1768
  gap: "3"
1655
- }, activeViewCount > 0 ? /*#__PURE__*/React.createElement(ViewLayoutControl, {
1769
+ }, activeViewCount > 0 ? /*#__PURE__*/React$1.createElement(ViewLayoutControl, {
1656
1770
  viewSpecs: viewSpecs,
1657
1771
  viewConfState: viewConfState,
1658
1772
  viewConfDispatch: viewConfDispatch
1659
- }) : /*#__PURE__*/React.createElement(Text, {
1773
+ }) : /*#__PURE__*/React$1.createElement(Text, {
1660
1774
  size: "1"
1661
- }, "Nenhuma camada ativa"), /*#__PURE__*/React.createElement(Popover.Close, null, /*#__PURE__*/React.createElement(IconButton, {
1775
+ }, "Nenhuma camada ativa"), /*#__PURE__*/React$1.createElement(Popover.Close, null, /*#__PURE__*/React$1.createElement(IconButton, {
1662
1776
  size: "1",
1663
1777
  variant: "ghost"
1664
- }, /*#__PURE__*/React.createElement(Icon, {
1778
+ }, /*#__PURE__*/React$1.createElement(Icon, {
1665
1779
  path: mdiClose,
1666
1780
  size: "16px"
1667
1781
  }))))));
@@ -4332,7 +4446,7 @@ var _a;
4332
4446
  //
4333
4447
  // TODO: set dynamic values
4334
4448
  //
4335
- var HARD_CODED_ALLOW_FETCH_SOURCES = (_a = {}, _a['https://dev-geoapi-metadata.orioro.design'] = ['GET', 'POST'], _a['http://localhost:6001'] = ['GET', 'POST'], _a);
4449
+ var HARD_CODED_ALLOW_FETCH_SOURCES = (_a = {}, _a['https://dev-geoapi-metadata.orioro.design'] = ['GET', 'POST'], _a['http://localhost:8001'] = ['GET', 'POST'], _a);
4336
4450
  console.warn('TODO: remove HARD_CODED_ALLOW_FETCH_SOURCES');
4337
4451
  function isFetchAllowed(resource, options) {
4338
4452
  return __awaiter(this, void 0, void 0, function () {
@@ -6689,7 +6803,7 @@ function _parseGeoFileMetadata() {
6689
6803
  }
6690
6804
  function GeoFile(props) {
6691
6805
  var dialogs = useDialogs();
6692
- return /*#__PURE__*/React.createElement(SingleFileInput, _extends({}, props, {
6806
+ return /*#__PURE__*/React$1.createElement(SingleFileInput, _extends({}, props, {
6693
6807
  middleware: [(/*#__PURE__*/function () {
6694
6808
  var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(file) {
6695
6809
  var Gdal, _yield$Gdal$open, datasets, errors, result, fileBytes, blob, outFile;
@@ -6766,13 +6880,13 @@ function GeoFile(props) {
6766
6880
  }
6767
6881
 
6768
6882
  function NumberInput(props) {
6769
- return /*#__PURE__*/React.createElement(TextInput, _extends({}, props, {
6883
+ return /*#__PURE__*/React$1.createElement(TextInput, _extends({}, props, {
6770
6884
  type: "text",
6771
6885
  mask: Number
6772
6886
  }));
6773
6887
  }
6774
6888
  function InputProvider(props) {
6775
- return /*#__PURE__*/React.createElement(InputProvider$1, _extends({
6889
+ return /*#__PURE__*/React$1.createElement(InputProvider$1, _extends({
6776
6890
  renderers: _objectSpread2(_objectSpread2({}, INPUTS), rendererSpecList({
6777
6891
  date: TextInput,
6778
6892
  number: NumberInput,
@@ -7307,7 +7421,7 @@ function HoverLegend(_ref) {
7307
7421
  onMouseLeaveStep: onMouseLeaveStep
7308
7422
  };
7309
7423
  }, []);
7310
- return /*#__PURE__*/React.createElement(Legend, _extends({}, legendProps, legendProps.type === 'SequentialColorLegend' ? SEQUENTIAL_COLOR_LEGEND_PROPS : {}));
7424
+ return /*#__PURE__*/React$1.createElement(Legend, _extends({}, legendProps, legendProps.type === 'SequentialColorLegend' ? SEQUENTIAL_COLOR_LEGEND_PROPS : {}));
7311
7425
  }
7312
7426
  function GeoReDUSInner(_ref2) {
7313
7427
  var globalState = _ref2.state,
@@ -7693,7 +7807,7 @@ function GeoReDUSInner(_ref2) {
7693
7807
  feature: feature
7694
7808
  }) : null;
7695
7809
  }).filter(Boolean);
7696
- return tooltipDataSections.length > 0 && /*#__PURE__*/React.createElement(HoverTooltip, {
7810
+ return tooltipDataSections.length > 0 && /*#__PURE__*/React$1.createElement(HoverTooltip, {
7697
7811
  position: hoverInfo.point,
7698
7812
  dataSections: tooltipDataSections,
7699
7813
  style: {
@@ -7711,7 +7825,7 @@ function GeoReDUSInner(_ref2) {
7711
7825
  sprite: 'https://api.maptiler.com/maps/dataviz/sprite'
7712
7826
  });
7713
7827
  });
7714
- return /*#__PURE__*/React.createElement(Flex, null, /*#__PURE__*/React.createElement(LeftPanel, {
7828
+ return /*#__PURE__*/React$1.createElement(Flex, null, /*#__PURE__*/React$1.createElement(LeftPanel, {
7715
7829
  open: leftPanelOpen,
7716
7830
  onSetOpen: setLeftPanelOpen,
7717
7831
  viewSpecs: resolvedViewSpecs,
@@ -7719,7 +7833,7 @@ function GeoReDUSInner(_ref2) {
7719
7833
  viewConfDispatch: viewConfDispatch,
7720
7834
  resolvedViews: resolvedViews,
7721
7835
  syncedMapsRef: syncedMapsRef
7722
- }), /*#__PURE__*/React.createElement(Flex, {
7836
+ }), /*#__PURE__*/React$1.createElement(Flex, {
7723
7837
  style: {
7724
7838
  position: 'fixed',
7725
7839
  zIndex: 2,
@@ -7729,19 +7843,19 @@ function GeoReDUSInner(_ref2) {
7729
7843
  direction: "row",
7730
7844
  gap: "4",
7731
7845
  alignItems: "center"
7732
- }, /*#__PURE__*/React.createElement(ViewLayoutPopover, {
7846
+ }, /*#__PURE__*/React$1.createElement(ViewLayoutPopover, {
7733
7847
  viewSpecs: viewSpecsQuery.data,
7734
7848
  viewConfState: viewConfState,
7735
7849
  viewConfDispatch: viewConfDispatch
7736
- }), /*#__PURE__*/React.createElement(Flex, {
7850
+ }), /*#__PURE__*/React$1.createElement(Flex, {
7737
7851
  alignItems: "strecth",
7738
7852
  width: "400px",
7739
7853
  maxWidth: "30vw"
7740
- }, /*#__PURE__*/React.createElement(Input, {
7854
+ }, /*#__PURE__*/React$1.createElement(Input, {
7741
7855
  schema: MUNICIPIO_ID_SELECTOR_SCHEMA,
7742
7856
  value: municipioId,
7743
7857
  onSetValue: setMunicipioId
7744
- }))), mapStyle && /*#__PURE__*/React.createElement(SyncedMaps, {
7858
+ }))), mapStyle && /*#__PURE__*/React$1.createElement(SyncedMaps, {
7745
7859
  maxPitch: 80,
7746
7860
  onDrag: function onDrag() {
7747
7861
  if (resolvedLayout.length > 1 && leftPanelOpen) {
@@ -7795,10 +7909,10 @@ function GeoReDUSInner(_ref2) {
7795
7909
  // canvasContextAttributes: {
7796
7910
  // preserveDrawingBuffer: true,
7797
7911
  // },
7798
- children: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(AttributionControl, {
7912
+ children: /*#__PURE__*/React$1.createElement(React$1.Fragment, null, /*#__PURE__*/React$1.createElement(AttributionControl, {
7799
7913
  position: "bottom-right",
7800
7914
  compact: false
7801
- }), /*#__PURE__*/React.createElement(ControlContainer, {
7915
+ }), /*#__PURE__*/React$1.createElement(ControlContainer, {
7802
7916
  style: {
7803
7917
  width: 'auto',
7804
7918
  height: 'auto',
@@ -7806,13 +7920,13 @@ function GeoReDUSInner(_ref2) {
7806
7920
  opacity: legends.length > 0 ? 1 : 0
7807
7921
  },
7808
7922
  position: "bottom-right"
7809
- }, legends.length > 0 && /*#__PURE__*/React.createElement(LegendContainer, {
7923
+ }, legends.length > 0 && /*#__PURE__*/React$1.createElement(LegendContainer, {
7810
7924
  direction: "row",
7811
7925
  gap: "3",
7812
7926
  p: resolvedLayout.length > 1 ? '3' : '4'
7813
- }, resolvedLayout.length > 1 && /*#__PURE__*/React.createElement(Tooltip, {
7927
+ }, resolvedLayout.length > 1 && /*#__PURE__*/React$1.createElement(Tooltip, {
7814
7928
  content: "Fechar visualiza\xE7\xE3o"
7815
- }, /*#__PURE__*/React.createElement(IconButton, {
7929
+ }, /*#__PURE__*/React$1.createElement(IconButton, {
7816
7930
  size: "1",
7817
7931
  variant: "soft",
7818
7932
  onClick: function onClick() {
@@ -7821,14 +7935,14 @@ function GeoReDUSInner(_ref2) {
7821
7935
  payload: views[0].id
7822
7936
  });
7823
7937
  }
7824
- }, /*#__PURE__*/React.createElement(Icon, {
7938
+ }, /*#__PURE__*/React$1.createElement(Icon, {
7825
7939
  path: mdiClose,
7826
7940
  size: "20px"
7827
- }))), /*#__PURE__*/React.createElement(EvenSpacedList, {
7941
+ }))), /*#__PURE__*/React$1.createElement(EvenSpacedList, {
7828
7942
  columns: legends.length > 1 ? 2 : 1,
7829
7943
  gap: "10px"
7830
7944
  }, legends.map(function (legend) {
7831
- return /*#__PURE__*/React.createElement(HoverLegend, _extends({}, resolvedLayout.length > 1 ? {
7945
+ return /*#__PURE__*/React$1.createElement(HoverLegend, _extends({}, resolvedLayout.length > 1 ? {
7832
7946
  direction: 'row',
7833
7947
  maxWidth: '300px',
7834
7948
  size: '1'
@@ -7839,21 +7953,21 @@ function GeoReDUSInner(_ref2) {
7839
7953
  }, {
7840
7954
  key: legend.id
7841
7955
  }, legend));
7842
- })))), index === resolvedLayout.length - 1 ? /*#__PURE__*/React.createElement(React.Fragment, null, process.env.NODE_ENV !== 'production' && /*#__PURE__*/React.createElement(InspectControl, null), /*#__PURE__*/React.createElement(GeolocateControl, {
7956
+ })))), 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, {
7843
7957
  position: "top-right"
7844
- }), /*#__PURE__*/React.createElement(FullscreenControl, {
7958
+ }), /*#__PURE__*/React$1.createElement(FullscreenControl, {
7845
7959
  position: "top-right"
7846
- }), /*#__PURE__*/React.createElement(NavigationControl, {
7960
+ }), /*#__PURE__*/React$1.createElement(NavigationControl, {
7847
7961
  position: "top-right"
7848
- }), /*#__PURE__*/React.createElement(ScaleControl, {
7962
+ }), /*#__PURE__*/React$1.createElement(ScaleControl, {
7849
7963
  position: "bottom-right"
7850
- }), /*#__PURE__*/React.createElement(ControlContainer, {
7964
+ }), /*#__PURE__*/React$1.createElement(ControlContainer, {
7851
7965
  style: {
7852
7966
  width: 100,
7853
7967
  height: 100,
7854
7968
  boxShadow: 'none'
7855
7969
  }
7856
- }, /*#__PURE__*/React.createElement(MapStyleToggleCtrl, {
7970
+ }, /*#__PURE__*/React$1.createElement(MapStyleToggleCtrl, {
7857
7971
  style: {
7858
7972
  position: 'relative',
7859
7973
  width: 100,
@@ -7863,7 +7977,7 @@ function GeoReDUSInner(_ref2) {
7863
7977
  onClick: function onClick() {
7864
7978
  return setBaseMapStyle(baseMapStyle === 'dataviz' ? 'satellite' : 'dataviz');
7865
7979
  }
7866
- }, /*#__PURE__*/React.createElement(MapWindow, {
7980
+ }, /*#__PURE__*/React$1.createElement(MapWindow, {
7867
7981
  style: {
7868
7982
  pointerEvents: 'none',
7869
7983
  position: 'absolute',
@@ -7874,13 +7988,13 @@ function GeoReDUSInner(_ref2) {
7874
7988
  },
7875
7989
  mapStyle: baseMapStyle === 'satellite' ? DATAVIZ_MAP_STYLE_URL : SATELLITE_MAP_STYLE_URL,
7876
7990
  maxZoom: 13
7877
- })))) : null, /*#__PURE__*/React.createElement(TerrainControl, {
7991
+ })))) : null, /*#__PURE__*/React$1.createElement(TerrainControl, {
7878
7992
  demSourceUrl: DEM_SOURCE_URL,
7879
7993
  demSourceEncoding: DEM_SOURCE_ENCODING
7880
7994
  }))
7881
7995
  };
7882
7996
  })
7883
- }, isLoading && /*#__PURE__*/React.createElement(LoadingIndicator, {
7997
+ }, isLoading && /*#__PURE__*/React$1.createElement(LoadingIndicator, {
7884
7998
  style: {
7885
7999
  position: 'fixed',
7886
8000
  bottom: '10px',
@@ -7891,9 +8005,9 @@ function GeoReDUSInner(_ref2) {
7891
8005
  }
7892
8006
  var GeoReDUSRootContainer = styled.div(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n * {\n box-sizing: border-box;\n }\n"])));
7893
8007
  function GeoReDUS(props) {
7894
- return /*#__PURE__*/React.createElement(GeoReDUSRootContainer, null, /*#__PURE__*/React.createElement(InputProvider, {
8008
+ return /*#__PURE__*/React$1.createElement(GeoReDUSRootContainer, null, /*#__PURE__*/React$1.createElement(InputProvider, {
7895
8009
  variant: "labeled"
7896
- }, /*#__PURE__*/React.createElement(DialogsProvider, null, /*#__PURE__*/React.createElement(GeoReDUSInner, props))));
8010
+ }, /*#__PURE__*/React$1.createElement(DialogsProvider, null, /*#__PURE__*/React$1.createElement(GeoReDUSInner, props))));
7897
8011
  }
7898
8012
 
7899
8013
  export { GeoReDUS, VTX_PROTOCOL, memoFetchData, vtx, vtxSetup, vtxUrl };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@redus/georedus-ui",
3
- "version": "0.8.2",
3
+ "version": "0.8.7",
4
4
  "packageManager": "yarn@4.0.2",
5
5
  "type": "module",
6
6
  "main": "dist/main.js",
@@ -52,7 +52,7 @@
52
52
  "@orioro/react-csv": "^0.0.2",
53
53
  "@orioro/react-dialogs": "^0.0.2",
54
54
  "@orioro/react-dir-nav": "^0.1.0",
55
- "@orioro/react-maplibre-util": "^0.4.0",
55
+ "@orioro/react-maplibre-util": "^0.5.2",
56
56
  "@orioro/react-sortable": "^0.0.2",
57
57
  "@orioro/react-ui-core": "^0.0.6",
58
58
  "@orioro/resolve": "^0.1.2",
@@ -72,7 +72,9 @@
72
72
  "katex": "^0.16.22",
73
73
  "lodash": "^4.17.21",
74
74
  "query-string": "^9.1.1",
75
+ "react-copy-to-clipboard": "^5.1.0",
75
76
  "react-highlight-words": "^0.21.0",
77
+ "react-share": "^5.1.0",
76
78
  "react-use": "^17.5.0",
77
79
  "rehype-katex": "^7.0.1",
78
80
  "remark-math": "^6.0.0",