@redus/georedus-ui 0.8.6 → 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,11 @@
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
+
3
9
  ## 0.8.6
4
10
 
5
11
  ### 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,10 +12,12 @@ 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';
21
23
  import '@maplibre/maplibre-gl-inspect/dist/maplibre-gl-inspect.css';
@@ -569,7 +571,7 @@ var templateObject_1, templateObject_2, templateObject_3;
569
571
  var REMARK_PLUGINS = [].concat(_toConsumableArray(MARKDOWN_DEFAULT_REMARK_PLUGINS), [remarkMath]);
570
572
  var REHYPE_PLUGINS = [].concat(_toConsumableArray(MARKDOWN_DEFAULT_REHYPE_PLUGINS), [rehypeKatex]);
571
573
  function Markdown(props) {
572
- return /*#__PURE__*/React.createElement(Markdown$1, _extends({
574
+ return /*#__PURE__*/React$1.createElement(Markdown$1, _extends({
573
575
  remarkPlugins: REMARK_PLUGINS,
574
576
  rehypePlugins: REHYPE_PLUGINS
575
577
  }, props));
@@ -599,7 +601,7 @@ var _createDialogSystem = createDialogSystem({
599
601
  useDialogs = _createDialogSystem2[1];
600
602
  function DialogsProvider(_ref2) {
601
603
  var children = _ref2.children;
602
- return /*#__PURE__*/React.createElement(DialogsProvider_, {
604
+ return /*#__PURE__*/React$1.createElement(DialogsProvider_, {
603
605
  prompt: {
604
606
  restore: 'Restaurar',
605
607
  cancel: 'Cancelar',
@@ -611,7 +613,7 @@ function DialogsProvider(_ref2) {
611
613
  var CONF_TABS = {
612
614
  data: {
613
615
  id: 'data',
614
- icon: /*#__PURE__*/React.createElement(Icon, {
616
+ icon: /*#__PURE__*/React$1.createElement(Icon, {
615
617
  path: mdiFilterVariant,
616
618
  size: "16px"
617
619
  }),
@@ -619,7 +621,7 @@ var CONF_TABS = {
619
621
  },
620
622
  style: {
621
623
  id: 'style',
622
- icon: /*#__PURE__*/React.createElement(Icon, {
624
+ icon: /*#__PURE__*/React$1.createElement(Icon, {
623
625
  path: mdiOpacity,
624
626
  size: "16px"
625
627
  }),
@@ -652,21 +654,21 @@ function ViewConfTabs(_ref) {
652
654
  }).filter(Boolean);
653
655
  }, [CONF_SCHEMA]);
654
656
  var dialogs = useDialogs();
655
- return /*#__PURE__*/React.createElement(Tabs.Root, {
657
+ return /*#__PURE__*/React$1.createElement(Tabs.Root, {
656
658
  defaultValue: ((_enabledTabs$ = enabledTabs[0]) === null || _enabledTabs$ === void 0 ? void 0 : _enabledTabs$.id) || null
657
- }, /*#__PURE__*/React.createElement(Flex, {
659
+ }, /*#__PURE__*/React$1.createElement(Flex, {
658
660
  direction: "row",
659
661
  gap: "0"
660
- }, /*#__PURE__*/React.createElement(Tabs.List, {
662
+ }, /*#__PURE__*/React$1.createElement(Tabs.List, {
661
663
  size: "1"
662
664
  }, enabledTabs.map(function (tab) {
663
- return /*#__PURE__*/React.createElement(Tabs.Trigger, {
665
+ return /*#__PURE__*/React$1.createElement(Tabs.Trigger, {
664
666
  key: tab.id,
665
667
  value: tab.id
666
- }, /*#__PURE__*/React.createElement(Tooltip, {
668
+ }, /*#__PURE__*/React$1.createElement(Tooltip, {
667
669
  content: tab.label
668
670
  }, tab.icon));
669
- })), /*#__PURE__*/React.createElement(Flex, {
671
+ })), /*#__PURE__*/React$1.createElement(Flex, {
670
672
  direction: "row",
671
673
  alignItems: "center",
672
674
  gap: "10px",
@@ -677,7 +679,7 @@ function ViewConfTabs(_ref) {
677
679
  flexGrow: 1,
678
680
  boxShadow: 'color(display-p3 0.0039 0.251 0.5137 / 0.174) 0px -1px 0px 0px inset'
679
681
  }
680
- }, viewSpec.metodology && /*#__PURE__*/React.createElement(IconButton, {
682
+ }, viewSpec.metodology && /*#__PURE__*/React$1.createElement(IconButton, {
681
683
  variant: "ghost",
682
684
  size: "1",
683
685
  onClick: /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
@@ -720,9 +722,9 @@ function ViewConfTabs(_ref) {
720
722
  _context2.next = 6;
721
723
  return dialogs.view({
722
724
  maxHeight: '90vh',
723
- 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, {
724
726
  as: "h1"
725
- }, viewSpec.label, " - Notas metodol\xF3gicas"), /*#__PURE__*/React.createElement(Markdown, {
727
+ }, viewSpec.label, " - Notas metodol\xF3gicas"), /*#__PURE__*/React$1.createElement(Markdown, {
726
728
  children: markdown.trim()
727
729
  }))
728
730
  });
@@ -732,12 +734,12 @@ function ViewConfTabs(_ref) {
732
734
  }
733
735
  }, _callee2);
734
736
  }))
735
- }, /*#__PURE__*/React.createElement(Tooltip, {
737
+ }, /*#__PURE__*/React$1.createElement(Tooltip, {
736
738
  content: "Notas metodol\xF3gicas"
737
- }, /*#__PURE__*/React.createElement(Icon, {
739
+ }, /*#__PURE__*/React$1.createElement(Icon, {
738
740
  path: mdiHelpCircleOutline,
739
741
  size: "16px"
740
- }))), 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, {
741
743
  variant: "ghost",
742
744
  size: "1",
743
745
  onClick: function onClick() {
@@ -745,22 +747,22 @@ function ViewConfTabs(_ref) {
745
747
  dialogs: dialogs
746
748
  });
747
749
  }
748
- }, /*#__PURE__*/React.createElement(Tooltip, {
750
+ }, /*#__PURE__*/React$1.createElement(Tooltip, {
749
751
  content: "Baixar dados"
750
- }, /*#__PURE__*/React.createElement(Icon, {
752
+ }, /*#__PURE__*/React$1.createElement(Icon, {
751
753
  path: mdiDownload,
752
754
  size: "16px"
753
- }))), /*#__PURE__*/React.createElement(DropdownMenu, {
755
+ }))), /*#__PURE__*/React$1.createElement(DropdownMenu, {
754
756
  options: [{
755
757
  label: 'Visualizar como mapa comparado',
756
758
  onClick: function onClick() {
757
759
  return onSetView(viewConf, 1);
758
760
  }
759
761
  }]
760
- }, /*#__PURE__*/React.createElement(IconButton, {
762
+ }, /*#__PURE__*/React$1.createElement(IconButton, {
761
763
  variant: "ghost",
762
764
  size: "1"
763
- }, /*#__PURE__*/React.createElement(Icon, {
765
+ }, /*#__PURE__*/React$1.createElement(Icon, {
764
766
  path: mdiDotsVertical,
765
767
  size: "16px"
766
768
  }))))), Array.isArray(enabledTabs) && enabledTabs.length > 0 ? enabledTabs.map(function (tab) {
@@ -775,14 +777,14 @@ function ViewConfTabs(_ref) {
775
777
  return Boolean(value);
776
778
  }));
777
779
  var tabConfValue = immediateViewConf[tab.id];
778
- return /*#__PURE__*/React.createElement(Tabs.Content, {
780
+ return /*#__PURE__*/React$1.createElement(Tabs.Content, {
779
781
  key: tab.id,
780
782
  value: tab.id
781
- }, /*#__PURE__*/React.createElement(Box, {
783
+ }, /*#__PURE__*/React$1.createElement(Box, {
782
784
  p: "3"
783
- }, /*#__PURE__*/React.createElement(Theme, {
785
+ }, /*#__PURE__*/React$1.createElement(Theme, {
784
786
  scaling: "100%"
785
- }, /*#__PURE__*/React.createElement(Input, {
787
+ }, /*#__PURE__*/React$1.createElement(Input, {
786
788
  schema: {
787
789
  type: 'object',
788
790
  properties: tabConfSchema
@@ -792,7 +794,7 @@ function ViewConfTabs(_ref) {
792
794
  return setImmediateViewConf(_objectSpread2(_objectSpread2({}, viewConf), {}, _defineProperty({}, tab.id, _objectSpread2(_objectSpread2({}, viewConf[tab.id] || {}), nextValue))));
793
795
  }
794
796
  }))));
795
- }) : /*#__PURE__*/React.createElement(Box, {
797
+ }) : /*#__PURE__*/React$1.createElement(Box, {
796
798
  p: "3",
797
799
  style: {
798
800
  fontSize: '.9rem'
@@ -800,9 +802,9 @@ function ViewConfTabs(_ref) {
800
802
  }, "Visualiza\xE7\xE3o habilitada"));
801
803
  }
802
804
 
803
- var _excluded$4 = ["textSearch", "content", "maxLines"];
804
- var _templateObject$3, _templateObject2$2;
805
- 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"])));
806
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) {
807
809
  var $active = _ref.$active;
808
810
  return $active ? 'var(--redus-bege, white)' : 'var(--accent-2)';
@@ -828,19 +830,19 @@ function HeadingWithTooltipAndEllipsis(_ref7) {
828
830
  content = _ref7.content,
829
831
  _ref7$maxLines = _ref7.maxLines,
830
832
  maxLines = _ref7$maxLines === void 0 ? 2 : _ref7$maxLines,
831
- props = _objectWithoutProperties(_ref7, _excluded$4);
832
- return /*#__PURE__*/React.createElement(Tooltip, {
833
+ props = _objectWithoutProperties(_ref7, _excluded$5);
834
+ return /*#__PURE__*/React$1.createElement(Tooltip, {
833
835
  content: content
834
- }, /*#__PURE__*/React.createElement(Heading, _extends({
836
+ }, /*#__PURE__*/React$1.createElement(Heading, _extends({
835
837
  size: "2",
836
838
  as: "h4",
837
839
  style: {
838
840
  fontWeight: 'normal',
839
841
  color: 'var(--accent-9)'
840
842
  }
841
- }, props), /*#__PURE__*/React.createElement(TextEllipsis, {
843
+ }, props), /*#__PURE__*/React$1.createElement(TextEllipsis, {
842
844
  maxLines: maxLines
843
- }, /*#__PURE__*/React.createElement(Highlighter, {
845
+ }, /*#__PURE__*/React$1.createElement(Highlighter, {
844
846
  searchWords: textSearch && textSearch.length > 3 ? [textSearch] : [],
845
847
  textToHighlight: content
846
848
  }))));
@@ -867,9 +869,9 @@ function ViewControl(_ref8) {
867
869
  var toggleView = useCallback(function () {
868
870
  return active ? deactivateView() : setView();
869
871
  }, [active, deactivateView, setView]);
870
- return viewSpec && /*#__PURE__*/React.createElement(Collapsible.Root, {
872
+ return viewSpec && /*#__PURE__*/React$1.createElement(Collapsible.Root, {
871
873
  open: configurable === true && active
872
- }, /*#__PURE__*/React.createElement(Container, null, /*#__PURE__*/React.createElement(Summary, {
874
+ }, /*#__PURE__*/React$1.createElement(Container$1, null, /*#__PURE__*/React$1.createElement(Summary, {
873
875
  type: "button",
874
876
  role: "button",
875
877
  style: style,
@@ -877,19 +879,19 @@ function ViewControl(_ref8) {
877
879
  onClick: configurable ? function () {
878
880
  return toggleView();
879
881
  } : null
880
- }, /*#__PURE__*/React.createElement(Flex, {
882
+ }, /*#__PURE__*/React$1.createElement(Flex, {
881
883
  direction: "row",
882
884
  alignItems: "center",
883
885
  justifyContent: "space-between",
884
886
  p: "3",
885
887
  width: "100%"
886
- }, /*#__PURE__*/React.createElement(Flex, {
888
+ }, /*#__PURE__*/React$1.createElement(Flex, {
887
889
  direction: "column",
888
890
  gap: "1",
889
891
  style: {
890
892
  flexGrow: '1'
891
893
  }
892
- }, path && /*#__PURE__*/React.createElement(HeadingWithTooltipAndEllipsis, {
894
+ }, path && /*#__PURE__*/React$1.createElement(HeadingWithTooltipAndEllipsis, {
893
895
  size: "1",
894
896
  as: "h6",
895
897
  content: typeof path === 'string' ? path : viewSpec.path,
@@ -899,18 +901,18 @@ function ViewControl(_ref8) {
899
901
  color: 'var(--gray-9)',
900
902
  fontWeight: 'normal'
901
903
  }
902
- }), /*#__PURE__*/React.createElement(HeadingWithTooltipAndEllipsis, {
904
+ }), /*#__PURE__*/React$1.createElement(HeadingWithTooltipAndEllipsis, {
903
905
  content: viewSpec.label,
904
906
  textSearch: textSearch,
905
907
  maxLines: 2
906
- }), /*#__PURE__*/React.createElement(Text, {
908
+ }), /*#__PURE__*/React$1.createElement(Text, {
907
909
  color: "gray",
908
910
  style: {
909
911
  color: 'var(--gray-9)',
910
912
  textTransform: 'uppercase'
911
913
  },
912
914
  size: "1"
913
- }, viewSpec.sourceLabel)), /*#__PURE__*/React.createElement(SwitchInput, {
915
+ }, viewSpec.sourceLabel)), /*#__PURE__*/React$1.createElement(SwitchInput, {
914
916
  radius: "full",
915
917
  value: active,
916
918
  onSetValue: function onSetValue() {
@@ -923,11 +925,11 @@ function ViewControl(_ref8) {
923
925
  onClick: function onClick(e) {
924
926
  return e.stopPropagation();
925
927
  }
926
- }))), /*#__PURE__*/React.createElement(CollapsibleContent, {
928
+ }))), /*#__PURE__*/React$1.createElement(CollapsibleContent, {
927
929
  style: {
928
930
  borderTop: '1px solid var(--gray-8)'
929
931
  }
930
- }, viewConf && /*#__PURE__*/React.createElement(ViewConfTabs, {
932
+ }, viewConf && /*#__PURE__*/React$1.createElement(ViewConfTabs, {
931
933
  viewSpec: viewSpec,
932
934
  viewConf: viewConf,
933
935
  resolvedView: resolvedView,
@@ -937,19 +939,19 @@ function ViewControl(_ref8) {
937
939
 
938
940
  var VIEW_TYPE_SURFACE_CHOROPLETH = 'surface_choropleth';
939
941
 
940
- var _excluded$3 = ["viewSpecs", "viewConfState", "resolvedViews", "onSetView", "onDeactivateView", "style"];
941
- var _templateObject$2, _templateObject2$1;
942
+ var _excluded$4 = ["viewSpecs", "viewConfState", "resolvedViews", "onSetView", "onDeactivateView", "style"];
943
+ var _templateObject$3, _templateObject2$1;
942
944
  var STATIC_NODE_ICONS = {
943
- 'populacao-e-domicilios': /*#__PURE__*/React.createElement(Icon, {
945
+ 'populacao-e-domicilios': /*#__PURE__*/React$1.createElement(Icon, {
944
946
  path: mdiAccountGroup
945
947
  }),
946
- educacao: /*#__PURE__*/React.createElement(Icon, {
948
+ educacao: /*#__PURE__*/React$1.createElement(Icon, {
947
949
  path: mdiSchool
948
950
  }),
949
- 'infraestrutura-e-servicos-urbanos': /*#__PURE__*/React.createElement(Icon, {
951
+ 'infraestrutura-e-servicos-urbanos': /*#__PURE__*/React$1.createElement(Icon, {
950
952
  path: mdiHomeCity
951
953
  }),
952
- saude: /*#__PURE__*/React.createElement(Icon, {
954
+ saude: /*#__PURE__*/React$1.createElement(Icon, {
953
955
  path: mdiHospitalBox
954
956
  })
955
957
  };
@@ -961,7 +963,7 @@ var ViewMenuContext = /*#__PURE__*/createContext({
961
963
  onSetView: errNoViewMenuContext,
962
964
  onDeactivateView: errNoViewMenuContext
963
965
  });
964
- 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"])));
965
967
  function Item(_ref) {
966
968
  var node = _ref.node;
967
969
  _ref.depth;
@@ -972,7 +974,7 @@ function Item(_ref) {
972
974
  resolvedViews = _useContext.resolvedViews,
973
975
  _onSetView = _useContext.onSetView,
974
976
  _onDeactivateView = _useContext.onDeactivateView;
975
- return /*#__PURE__*/React.createElement(ViewControl, {
977
+ return /*#__PURE__*/React$1.createElement(ViewControl, {
976
978
  textSearch: textSearch,
977
979
  path: Boolean(textSearch) ? node.path : null,
978
980
  viewSpec: node,
@@ -1048,7 +1050,7 @@ var DirNav = makeDirNav({
1048
1050
  viewSpecsById: viewSpecsById,
1049
1051
  nodeId: node.id
1050
1052
  });
1051
- return /*#__PURE__*/React.createElement("div", {
1053
+ return /*#__PURE__*/React$1.createElement("div", {
1052
1054
  style: {
1053
1055
  flexGrow: 1,
1054
1056
  textAlign: 'left',
@@ -1058,11 +1060,11 @@ var DirNav = makeDirNav({
1058
1060
  alignItems: 'center',
1059
1061
  justifyContent: 'space-between'
1060
1062
  }
1061
- }, /*#__PURE__*/React.createElement(TextEllipsis, {
1063
+ }, /*#__PURE__*/React$1.createElement(TextEllipsis, {
1062
1064
  style: {
1063
1065
  flexShrink: 1
1064
1066
  }
1065
- }, node.label), activeViewsCount > 0 && /*#__PURE__*/React.createElement("span", {
1067
+ }, node.label), activeViewsCount > 0 && /*#__PURE__*/React$1.createElement("span", {
1066
1068
  style: {
1067
1069
  marginLeft: 6,
1068
1070
  fontSize: '.8rem',
@@ -1079,15 +1081,15 @@ function ViewMenu(_ref4) {
1079
1081
  onSetView = _ref4.onSetView,
1080
1082
  onDeactivateView = _ref4.onDeactivateView,
1081
1083
  style = _ref4.style,
1082
- props = _objectWithoutProperties(_ref4, _excluded$3);
1084
+ props = _objectWithoutProperties(_ref4, _excluded$4);
1083
1085
  var viewSpecsById = useMemo(function () {
1084
1086
  return Object.fromEntries(viewSpecs.map(function (spec) {
1085
1087
  return [spec.id, spec];
1086
1088
  }));
1087
1089
  }, [viewSpecs]);
1088
- return /*#__PURE__*/React.createElement("div", {
1090
+ return /*#__PURE__*/React$1.createElement("div", {
1089
1091
  style: style
1090
- }, /*#__PURE__*/React.createElement(ViewMenuContext.Provider, {
1092
+ }, /*#__PURE__*/React$1.createElement(ViewMenuContext.Provider, {
1091
1093
  value: {
1092
1094
  viewSpecsById: viewSpecsById,
1093
1095
  viewConfState: viewConfState,
@@ -1095,7 +1097,7 @@ function ViewMenu(_ref4) {
1095
1097
  onSetView: onSetView,
1096
1098
  onDeactivateView: onDeactivateView
1097
1099
  }
1098
- }, /*#__PURE__*/React.createElement(DirNav, _extends({
1100
+ }, /*#__PURE__*/React$1.createElement(DirNav, _extends({
1099
1101
  style: {
1100
1102
  flexGrow: 1,
1101
1103
  overflow: 'hidden'
@@ -1110,18 +1112,18 @@ function ViewMenu(_ref4) {
1110
1112
  viewSpecsById: viewSpecsById,
1111
1113
  nodeId: node.id
1112
1114
  });
1113
- return /*#__PURE__*/React.createElement("div", {
1115
+ return /*#__PURE__*/React$1.createElement("div", {
1114
1116
  style: {
1115
1117
  position: 'relative'
1116
1118
  }
1117
- }, 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));
1118
1120
  }
1119
1121
  }, props))));
1120
1122
  }
1121
1123
 
1122
1124
  function GeoReDUSLogoSymbol() {
1123
1125
  var color = '#FFFFFF';
1124
- return /*#__PURE__*/React.createElement("svg", {
1126
+ return /*#__PURE__*/React$1.createElement("svg", {
1125
1127
  version: "1.1",
1126
1128
  id: "Layer_1",
1127
1129
  xmlns: "http://www.w3.org/2000/svg"
@@ -1132,59 +1134,59 @@ function GeoReDUSLogoSymbol() {
1132
1134
  x: "0px",
1133
1135
  y: "0px",
1134
1136
  viewBox: "0 0 117.98 129.33"
1135
- }, /*#__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", {
1136
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"
1137
- }), /*#__PURE__*/React.createElement("path", {
1139
+ }), /*#__PURE__*/React$1.createElement("path", {
1138
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"
1139
- }), /*#__PURE__*/React.createElement("path", {
1141
+ }), /*#__PURE__*/React$1.createElement("path", {
1140
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"
1141
- }), /*#__PURE__*/React.createElement("path", {
1143
+ }), /*#__PURE__*/React$1.createElement("path", {
1142
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"
1143
- }), /*#__PURE__*/React.createElement("path", {
1145
+ }), /*#__PURE__*/React$1.createElement("path", {
1144
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"
1145
- }), /*#__PURE__*/React.createElement("path", {
1147
+ }), /*#__PURE__*/React$1.createElement("path", {
1146
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"
1147
- }), /*#__PURE__*/React.createElement("path", {
1149
+ }), /*#__PURE__*/React$1.createElement("path", {
1148
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"
1149
- }), /*#__PURE__*/React.createElement("path", {
1151
+ }), /*#__PURE__*/React$1.createElement("path", {
1150
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"
1151
- }), /*#__PURE__*/React.createElement("path", {
1153
+ }), /*#__PURE__*/React$1.createElement("path", {
1152
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"
1153
- }), /*#__PURE__*/React.createElement("polygon", {
1155
+ }), /*#__PURE__*/React$1.createElement("polygon", {
1154
1156
  points: "97.94,83.14 89.42,83.14 89.42,91.66 97.94,91.66 97.94,83.14 "
1155
- }), /*#__PURE__*/React.createElement("polygon", {
1157
+ }), /*#__PURE__*/React$1.createElement("polygon", {
1156
1158
  points: "85.85,100.08 77.33,100.08 77.33,108.6 85.85,108.6 85.85,100.08 "
1157
- })))), /*#__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", {
1158
1160
  fill: color,
1159
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"
1160
- }), /*#__PURE__*/React.createElement("path", {
1162
+ }), /*#__PURE__*/React$1.createElement("path", {
1161
1163
  fill: color,
1162
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"
1163
- }), /*#__PURE__*/React.createElement("path", {
1165
+ }), /*#__PURE__*/React$1.createElement("path", {
1164
1166
  fill: color,
1165
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"
1166
- }), /*#__PURE__*/React.createElement("path", {
1168
+ }), /*#__PURE__*/React$1.createElement("path", {
1167
1169
  fill: color,
1168
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"
1169
- }), /*#__PURE__*/React.createElement("path", {
1171
+ }), /*#__PURE__*/React$1.createElement("path", {
1170
1172
  fill: color,
1171
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"
1172
- }), /*#__PURE__*/React.createElement("path", {
1174
+ }), /*#__PURE__*/React$1.createElement("path", {
1173
1175
  fill: color,
1174
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"
1175
- }), /*#__PURE__*/React.createElement("path", {
1177
+ }), /*#__PURE__*/React$1.createElement("path", {
1176
1178
  fill: color,
1177
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"
1178
- }), /*#__PURE__*/React.createElement("path", {
1180
+ }), /*#__PURE__*/React$1.createElement("path", {
1179
1181
  fill: color,
1180
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"
1181
- }), /*#__PURE__*/React.createElement("path", {
1183
+ }), /*#__PURE__*/React$1.createElement("path", {
1182
1184
  fill: color,
1183
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"
1184
- }), /*#__PURE__*/React.createElement("polygon", {
1186
+ }), /*#__PURE__*/React$1.createElement("polygon", {
1185
1187
  fill: color,
1186
1188
  points: "97.94,83.14 89.42,83.14 89.42,91.66 97.94,91.66 97.94,83.14 "
1187
- }), /*#__PURE__*/React.createElement("polygon", {
1189
+ }), /*#__PURE__*/React$1.createElement("polygon", {
1188
1190
  fill: color,
1189
1191
  points: "85.85,100.08 77.33,100.08 77.33,108.6 85.85,108.6 85.85,100.08 "
1190
1192
  })))));
@@ -1192,7 +1194,7 @@ function GeoReDUSLogoSymbol() {
1192
1194
 
1193
1195
  function GeoReDUSLogoText() {
1194
1196
  var color = '#FFFFFF';
1195
- return /*#__PURE__*/React.createElement("svg", {
1197
+ return /*#__PURE__*/React$1.createElement("svg", {
1196
1198
  version: "1.1",
1197
1199
  id: "Layer_1",
1198
1200
  xmlns: "http://www.w3.org/2000/svg"
@@ -1203,33 +1205,128 @@ function GeoReDUSLogoText() {
1203
1205
  x: "0px",
1204
1206
  y: "0px",
1205
1207
  viewBox: "0 0 215.51 129.33"
1206
- }, /*#__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", {
1207
1209
  fill: color,
1208
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"
1209
- })), /*#__PURE__*/React.createElement("g", null, /*#__PURE__*/React.createElement("path", {
1211
+ })), /*#__PURE__*/React$1.createElement("g", null, /*#__PURE__*/React$1.createElement("path", {
1210
1212
  fill: color,
1211
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"
1212
- })), /*#__PURE__*/React.createElement("path", {
1214
+ })), /*#__PURE__*/React$1.createElement("path", {
1213
1215
  fill: color,
1214
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"
1215
- }), /*#__PURE__*/React.createElement("path", {
1217
+ }), /*#__PURE__*/React$1.createElement("path", {
1216
1218
  fill: color,
1217
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"
1218
- }), /*#__PURE__*/React.createElement("path", {
1220
+ }), /*#__PURE__*/React$1.createElement("path", {
1219
1221
  fill: color,
1220
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"
1221
- }), /*#__PURE__*/React.createElement("path", {
1223
+ }), /*#__PURE__*/React$1.createElement("path", {
1222
1224
  fill: color,
1223
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"
1224
- }), /*#__PURE__*/React.createElement("path", {
1226
+ }), /*#__PURE__*/React$1.createElement("path", {
1225
1227
  fill: color,
1226
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"
1227
- }), /*#__PURE__*/React.createElement("path", {
1229
+ }), /*#__PURE__*/React$1.createElement("path", {
1228
1230
  fill: color,
1229
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"
1230
1232
  }))));
1231
1233
  }
1232
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
+
1233
1330
  //
1234
1331
  // html2canvas does not support color functions
1235
1332
  // radix uses: oklch and color(...)
@@ -1266,10 +1363,10 @@ function SharePanel(_ref) {
1266
1363
  // throwOnError: process.env.NODE_ENV !== 'production',
1267
1364
  // })
1268
1365
 
1269
- 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, {
1270
1367
  direction: "row",
1271
1368
  gap: "4"
1272
- }, "ShareButtonBar"));
1369
+ }, /*#__PURE__*/React$1.createElement(ShareButtonBar, null)));
1273
1370
  }
1274
1371
 
1275
1372
  var _templateObject$1;
@@ -1290,7 +1387,7 @@ function LeftPanel(_ref) {
1290
1387
  syncedMapsRef = _ref.syncedMapsRef,
1291
1388
  mapContainerRef = _ref.mapContainerRef;
1292
1389
  var dialogs = useDialogs();
1293
- return /*#__PURE__*/React.createElement("div", {
1390
+ return /*#__PURE__*/React$1.createElement("div", {
1294
1391
  style: {
1295
1392
  position: 'fixed',
1296
1393
  zIndex: 2,
@@ -1300,7 +1397,7 @@ function LeftPanel(_ref) {
1300
1397
  }
1301
1398
  // onMouseEnter={() => setMouseIsOver(true)}
1302
1399
  // onMouseLeave={() => setMouseIsOver(false)}
1303
- }, /*#__PURE__*/React.createElement(Flex
1400
+ }, /*#__PURE__*/React$1.createElement(Flex
1304
1401
  //
1305
1402
  // Use flex for responsive positioning
1306
1403
  //
@@ -1323,7 +1420,7 @@ function LeftPanel(_ref) {
1323
1420
  md: '20px'
1324
1421
  }
1325
1422
  }
1326
- }, /*#__PURE__*/React.createElement(IconButton, {
1423
+ }, /*#__PURE__*/React$1.createElement(IconButton, {
1327
1424
  size: {
1328
1425
  xs: '3',
1329
1426
  md: '1'
@@ -1339,16 +1436,16 @@ function LeftPanel(_ref) {
1339
1436
  return onSetOpen(!open);
1340
1437
  }
1341
1438
  // variant="surface"
1342
- }, /*#__PURE__*/React.createElement(Tooltip, {
1439
+ }, /*#__PURE__*/React$1.createElement(Tooltip, {
1343
1440
  content: open ? 'Fechar painel' : 'Abrir painel'
1344
- }, /*#__PURE__*/React.createElement(Icon, {
1441
+ }, /*#__PURE__*/React$1.createElement(Icon, {
1345
1442
  style: {
1346
1443
  transition: 'transform .2s ease-out',
1347
1444
  transform: "rotateZ(".concat(open ? '0' : '180', "deg)")
1348
1445
  },
1349
1446
  path: mdiChevronLeft,
1350
1447
  size: "16px"
1351
- })))), /*#__PURE__*/React.createElement(Flex, {
1448
+ })))), /*#__PURE__*/React$1.createElement(Flex, {
1352
1449
  direction: "column",
1353
1450
  gap: "0",
1354
1451
  height: "100vh",
@@ -1361,7 +1458,7 @@ function LeftPanel(_ref) {
1361
1458
  onClick: function onClick(e) {
1362
1459
  return onSetOpen(true);
1363
1460
  }
1364
- }, /*#__PURE__*/React.createElement(Flex, {
1461
+ }, /*#__PURE__*/React$1.createElement(Flex, {
1365
1462
  px: "12px",
1366
1463
  py: "10px",
1367
1464
  height: HEADER_HEIGHT,
@@ -1373,15 +1470,15 @@ function LeftPanel(_ref) {
1373
1470
  flexShrink: 0,
1374
1471
  flexGrow: 0
1375
1472
  }
1376
- }, /*#__PURE__*/React.createElement(LogoContainer, {
1473
+ }, /*#__PURE__*/React$1.createElement(LogoContainer, {
1377
1474
  direction: "row",
1378
1475
  gap: "8px"
1379
- }, /*#__PURE__*/React.createElement(GeoReDUSLogoSymbol, null), /*#__PURE__*/React.createElement("div", {
1476
+ }, /*#__PURE__*/React$1.createElement(GeoReDUSLogoSymbol, null), /*#__PURE__*/React$1.createElement("div", {
1380
1477
  style: {
1381
1478
  transition: open ? 'opacity .7s ease-out' : 'opacity .1s ease-out',
1382
1479
  opacity: open ? 1 : 0
1383
1480
  }
1384
- }, /*#__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, {
1385
1482
  style: {
1386
1483
  flexGrow: 1,
1387
1484
  height: '1px'
@@ -1412,15 +1509,16 @@ function LeftPanel(_ref) {
1412
1509
  payload: viewId
1413
1510
  });
1414
1511
  },
1415
- sideBarBottom: /*#__PURE__*/React.createElement(Flex, {
1512
+ sideBarBottom: /*#__PURE__*/React$1.createElement(Flex, {
1416
1513
  style: {
1417
1514
  flexGrow: 1
1418
1515
  },
1419
1516
  pb: "3",
1420
1517
  direction: "column",
1518
+ gap: "3",
1421
1519
  justifyContent: "flex-end",
1422
1520
  alignItems: "center"
1423
- }, /*#__PURE__*/React.createElement(IconButton, {
1521
+ }, /*#__PURE__*/React$1.createElement(IconButton, {
1424
1522
  variant: "soft",
1425
1523
  size: "3",
1426
1524
  onClick: /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
@@ -1428,7 +1526,7 @@ function LeftPanel(_ref) {
1428
1526
  while (1) switch (_context.prev = _context.next) {
1429
1527
  case 0:
1430
1528
  _context.next = 2;
1431
- return dialogs.view(/*#__PURE__*/React.createElement(SharePanel, {
1529
+ return dialogs.view(/*#__PURE__*/React$1.createElement(SharePanel, {
1432
1530
  mapContainerRef: mapContainerRef,
1433
1531
  syncedMapsRef: syncedMapsRef
1434
1532
  }));
@@ -1438,25 +1536,40 @@ function LeftPanel(_ref) {
1438
1536
  }
1439
1537
  }, _callee);
1440
1538
  }))
1441
- }, /*#__PURE__*/React.createElement(Icon, {
1539
+ }, /*#__PURE__*/React$1.createElement(Tooltip, {
1540
+ content: "Compartilhar"
1541
+ }, /*#__PURE__*/React$1.createElement(Icon, {
1442
1542
  path: mdiShareVariantOutline,
1443
1543
  size: "24px"
1444
- })))
1445
- }) : /*#__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", {
1446
1559
  style: {
1447
1560
  flexGrow: 1,
1448
1561
  position: 'relative'
1449
1562
  }
1450
- }, /*#__PURE__*/React.createElement(LoadingOverlay, {
1563
+ }, /*#__PURE__*/React$1.createElement(LoadingOverlay, {
1451
1564
  message: null
1452
- })), /*#__PURE__*/React.createElement(Flex, {
1565
+ })), /*#__PURE__*/React$1.createElement(Flex, {
1453
1566
  p: "2",
1454
1567
  style: {
1455
1568
  backgroundColor: 'white'
1456
1569
  },
1457
1570
  direction: "row",
1458
1571
  justifyContent: "center"
1459
- }, /*#__PURE__*/React.createElement("img", {
1572
+ }, /*#__PURE__*/React$1.createElement("img", {
1460
1573
  style: {
1461
1574
  transition: 'opacity .1s ease-out',
1462
1575
  opacity: open ? 1 : 0,
@@ -1480,7 +1593,7 @@ var ViewLayoutSortable = makeSortableMultiList({
1480
1593
  //
1481
1594
  Portal: function Portal$1(_ref) {
1482
1595
  var children = _ref.children;
1483
- 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));
1484
1597
  },
1485
1598
  Item: function Item(_ref2) {
1486
1599
  var dragHandleProps = _ref2.dragHandleProps,
@@ -1496,7 +1609,7 @@ var ViewLayoutSortable = makeSortableMultiList({
1496
1609
  // ? 'rgba(0, 0, 0, 0.35) 0px 5px 15px;'
1497
1610
  // : 'none'
1498
1611
 
1499
- return /*#__PURE__*/React.createElement(Flex, {
1612
+ return /*#__PURE__*/React$1.createElement(Flex, {
1500
1613
  direction: "row",
1501
1614
  alignItems: "center",
1502
1615
  gap: "0",
@@ -1506,7 +1619,7 @@ var ViewLayoutSortable = makeSortableMultiList({
1506
1619
  transform: isDragOverlay ? 'scale(1.05)' : '',
1507
1620
  zIndex: isDragOverlay ? 999 : 0
1508
1621
  }
1509
- }, /*#__PURE__*/React.createElement("div", _extends({}, dragHandleProps, {
1622
+ }, /*#__PURE__*/React$1.createElement("div", _extends({}, dragHandleProps, {
1510
1623
  style: {
1511
1624
  cursor: isDragging ? 'grabbing' : 'grab',
1512
1625
  background: 'white',
@@ -1517,15 +1630,15 @@ var ViewLayoutSortable = makeSortableMultiList({
1517
1630
  borderBottomLeftRadius: DRAG_HANDLE_BORDER_RADIUS,
1518
1631
  height: CONTROL_HEIGHT
1519
1632
  }
1520
- }), /*#__PURE__*/React.createElement(Icon, {
1633
+ }), /*#__PURE__*/React$1.createElement(Icon, {
1521
1634
  path: mdiDragVertical,
1522
1635
  size: "24px"
1523
- })), /*#__PURE__*/React.createElement(Flex, {
1636
+ })), /*#__PURE__*/React$1.createElement(Flex, {
1524
1637
  direction: "column",
1525
1638
  style: {
1526
1639
  flexGrow: 1
1527
1640
  }
1528
- }, /*#__PURE__*/React.createElement(ViewControl, {
1641
+ }, /*#__PURE__*/React$1.createElement(ViewControl, {
1529
1642
  style: {
1530
1643
  height: CONTROL_HEIGHT
1531
1644
  },
@@ -1576,7 +1689,7 @@ var ViewLayoutSortable = makeSortableMultiList({
1576
1689
  var children = _ref3.children;
1577
1690
  _ref3.dragHandleProps;
1578
1691
  var item = _ref3.item;
1579
- return /*#__PURE__*/React.createElement(Flex, {
1692
+ return /*#__PURE__*/React$1.createElement(Flex, {
1580
1693
  direction: "column",
1581
1694
  width: "280px"
1582
1695
  // pb="30px"
@@ -1585,11 +1698,11 @@ var ViewLayoutSortable = makeSortableMultiList({
1585
1698
  border: 'dashed 1px var(--accent-6)',
1586
1699
  borderRadius: "".concat(DRAG_HANDLE_BORDER_RADIUS, "px")
1587
1700
  }
1588
- }, /*#__PURE__*/React.createElement("div", {
1701
+ }, /*#__PURE__*/React$1.createElement("div", {
1589
1702
  style: {
1590
1703
  margin: '-1px -1px -1px -1px'
1591
1704
  }
1592
- }, children, item.items.length === 0 && /*#__PURE__*/React.createElement(Flex, {
1705
+ }, children, item.items.length === 0 && /*#__PURE__*/React$1.createElement(Flex, {
1593
1706
  p: "4",
1594
1707
  style: {
1595
1708
  // border: 'dashed 1px var(--accent-6)',
@@ -1598,7 +1711,7 @@ var ViewLayoutSortable = makeSortableMultiList({
1598
1711
  },
1599
1712
  justifyContent: "center",
1600
1713
  alignItems: "center"
1601
- }, /*#__PURE__*/React.createElement(Text, {
1714
+ }, /*#__PURE__*/React$1.createElement(Text, {
1602
1715
  size: "2"
1603
1716
  }, "Arraste uma camada para visualizar em mapa comparado"))));
1604
1717
  }
@@ -1609,13 +1722,13 @@ function ViewLayoutControl(_ref4) {
1609
1722
  viewConfState = _ref4.viewConfState,
1610
1723
  viewConfDispatch = _ref4.viewConfDispatch;
1611
1724
  console.log('ViewLayoutControl', viewConfState.layout);
1612
- return /*#__PURE__*/React.createElement(ViewLayoutControlContext.Provider, {
1725
+ return /*#__PURE__*/React$1.createElement(ViewLayoutControlContext.Provider, {
1613
1726
  value: {
1614
1727
  viewSpecs: viewSpecs,
1615
1728
  viewConfState: viewConfState,
1616
1729
  viewConfDispatch: viewConfDispatch
1617
1730
  }
1618
- }, /*#__PURE__*/React.createElement(ViewLayoutSortable, {
1731
+ }, /*#__PURE__*/React$1.createElement(ViewLayoutSortable, {
1619
1732
  lists: viewConfState.layout,
1620
1733
  onSetLists: function onSetLists(nextLayout) {
1621
1734
  return viewConfDispatch({
@@ -1635,13 +1748,13 @@ function ViewLayoutPopover(_ref) {
1635
1748
  var activeViewCount = useMemo(function () {
1636
1749
  return Object.keys(viewConfState.byId).length;
1637
1750
  }, [viewConfState.byId]);
1638
- 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({
1639
1752
  variant: activeViewCount > 0 ? 'solid' : 'soft',
1640
1753
  size: "1"
1641
- }, props), /*#__PURE__*/React.createElement(Icon, {
1754
+ }, props), /*#__PURE__*/React$1.createElement(Icon, {
1642
1755
  path: mdiLayers,
1643
1756
  size: "16px"
1644
- }), " Camadas ativas", ' ', activeViewCount ? "(".concat(activeViewCount, ")") : null)), /*#__PURE__*/React.createElement(Popover.Content, {
1757
+ }), " Camadas ativas", ' ', activeViewCount ? "(".concat(activeViewCount, ")") : null)), /*#__PURE__*/React$1.createElement(Popover.Content, {
1645
1758
  size: "1",
1646
1759
  align: "center",
1647
1760
  style: {
@@ -1650,19 +1763,19 @@ function ViewLayoutPopover(_ref) {
1650
1763
  position: 'relative'
1651
1764
  },
1652
1765
  maxWidth: "none"
1653
- }, /*#__PURE__*/React.createElement(Flex, {
1766
+ }, /*#__PURE__*/React$1.createElement(Flex, {
1654
1767
  direction: "row",
1655
1768
  gap: "3"
1656
- }, activeViewCount > 0 ? /*#__PURE__*/React.createElement(ViewLayoutControl, {
1769
+ }, activeViewCount > 0 ? /*#__PURE__*/React$1.createElement(ViewLayoutControl, {
1657
1770
  viewSpecs: viewSpecs,
1658
1771
  viewConfState: viewConfState,
1659
1772
  viewConfDispatch: viewConfDispatch
1660
- }) : /*#__PURE__*/React.createElement(Text, {
1773
+ }) : /*#__PURE__*/React$1.createElement(Text, {
1661
1774
  size: "1"
1662
- }, "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, {
1663
1776
  size: "1",
1664
1777
  variant: "ghost"
1665
- }, /*#__PURE__*/React.createElement(Icon, {
1778
+ }, /*#__PURE__*/React$1.createElement(Icon, {
1666
1779
  path: mdiClose,
1667
1780
  size: "16px"
1668
1781
  }))))));
@@ -6690,7 +6803,7 @@ function _parseGeoFileMetadata() {
6690
6803
  }
6691
6804
  function GeoFile(props) {
6692
6805
  var dialogs = useDialogs();
6693
- return /*#__PURE__*/React.createElement(SingleFileInput, _extends({}, props, {
6806
+ return /*#__PURE__*/React$1.createElement(SingleFileInput, _extends({}, props, {
6694
6807
  middleware: [(/*#__PURE__*/function () {
6695
6808
  var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(file) {
6696
6809
  var Gdal, _yield$Gdal$open, datasets, errors, result, fileBytes, blob, outFile;
@@ -6767,13 +6880,13 @@ function GeoFile(props) {
6767
6880
  }
6768
6881
 
6769
6882
  function NumberInput(props) {
6770
- return /*#__PURE__*/React.createElement(TextInput, _extends({}, props, {
6883
+ return /*#__PURE__*/React$1.createElement(TextInput, _extends({}, props, {
6771
6884
  type: "text",
6772
6885
  mask: Number
6773
6886
  }));
6774
6887
  }
6775
6888
  function InputProvider(props) {
6776
- return /*#__PURE__*/React.createElement(InputProvider$1, _extends({
6889
+ return /*#__PURE__*/React$1.createElement(InputProvider$1, _extends({
6777
6890
  renderers: _objectSpread2(_objectSpread2({}, INPUTS), rendererSpecList({
6778
6891
  date: TextInput,
6779
6892
  number: NumberInput,
@@ -7308,7 +7421,7 @@ function HoverLegend(_ref) {
7308
7421
  onMouseLeaveStep: onMouseLeaveStep
7309
7422
  };
7310
7423
  }, []);
7311
- 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 : {}));
7312
7425
  }
7313
7426
  function GeoReDUSInner(_ref2) {
7314
7427
  var globalState = _ref2.state,
@@ -7694,7 +7807,7 @@ function GeoReDUSInner(_ref2) {
7694
7807
  feature: feature
7695
7808
  }) : null;
7696
7809
  }).filter(Boolean);
7697
- return tooltipDataSections.length > 0 && /*#__PURE__*/React.createElement(HoverTooltip, {
7810
+ return tooltipDataSections.length > 0 && /*#__PURE__*/React$1.createElement(HoverTooltip, {
7698
7811
  position: hoverInfo.point,
7699
7812
  dataSections: tooltipDataSections,
7700
7813
  style: {
@@ -7712,7 +7825,7 @@ function GeoReDUSInner(_ref2) {
7712
7825
  sprite: 'https://api.maptiler.com/maps/dataviz/sprite'
7713
7826
  });
7714
7827
  });
7715
- return /*#__PURE__*/React.createElement(Flex, null, /*#__PURE__*/React.createElement(LeftPanel, {
7828
+ return /*#__PURE__*/React$1.createElement(Flex, null, /*#__PURE__*/React$1.createElement(LeftPanel, {
7716
7829
  open: leftPanelOpen,
7717
7830
  onSetOpen: setLeftPanelOpen,
7718
7831
  viewSpecs: resolvedViewSpecs,
@@ -7720,7 +7833,7 @@ function GeoReDUSInner(_ref2) {
7720
7833
  viewConfDispatch: viewConfDispatch,
7721
7834
  resolvedViews: resolvedViews,
7722
7835
  syncedMapsRef: syncedMapsRef
7723
- }), /*#__PURE__*/React.createElement(Flex, {
7836
+ }), /*#__PURE__*/React$1.createElement(Flex, {
7724
7837
  style: {
7725
7838
  position: 'fixed',
7726
7839
  zIndex: 2,
@@ -7730,19 +7843,19 @@ function GeoReDUSInner(_ref2) {
7730
7843
  direction: "row",
7731
7844
  gap: "4",
7732
7845
  alignItems: "center"
7733
- }, /*#__PURE__*/React.createElement(ViewLayoutPopover, {
7846
+ }, /*#__PURE__*/React$1.createElement(ViewLayoutPopover, {
7734
7847
  viewSpecs: viewSpecsQuery.data,
7735
7848
  viewConfState: viewConfState,
7736
7849
  viewConfDispatch: viewConfDispatch
7737
- }), /*#__PURE__*/React.createElement(Flex, {
7850
+ }), /*#__PURE__*/React$1.createElement(Flex, {
7738
7851
  alignItems: "strecth",
7739
7852
  width: "400px",
7740
7853
  maxWidth: "30vw"
7741
- }, /*#__PURE__*/React.createElement(Input, {
7854
+ }, /*#__PURE__*/React$1.createElement(Input, {
7742
7855
  schema: MUNICIPIO_ID_SELECTOR_SCHEMA,
7743
7856
  value: municipioId,
7744
7857
  onSetValue: setMunicipioId
7745
- }))), mapStyle && /*#__PURE__*/React.createElement(SyncedMaps, {
7858
+ }))), mapStyle && /*#__PURE__*/React$1.createElement(SyncedMaps, {
7746
7859
  maxPitch: 80,
7747
7860
  onDrag: function onDrag() {
7748
7861
  if (resolvedLayout.length > 1 && leftPanelOpen) {
@@ -7796,10 +7909,10 @@ function GeoReDUSInner(_ref2) {
7796
7909
  // canvasContextAttributes: {
7797
7910
  // preserveDrawingBuffer: true,
7798
7911
  // },
7799
- 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, {
7800
7913
  position: "bottom-right",
7801
7914
  compact: false
7802
- }), /*#__PURE__*/React.createElement(ControlContainer, {
7915
+ }), /*#__PURE__*/React$1.createElement(ControlContainer, {
7803
7916
  style: {
7804
7917
  width: 'auto',
7805
7918
  height: 'auto',
@@ -7807,13 +7920,13 @@ function GeoReDUSInner(_ref2) {
7807
7920
  opacity: legends.length > 0 ? 1 : 0
7808
7921
  },
7809
7922
  position: "bottom-right"
7810
- }, legends.length > 0 && /*#__PURE__*/React.createElement(LegendContainer, {
7923
+ }, legends.length > 0 && /*#__PURE__*/React$1.createElement(LegendContainer, {
7811
7924
  direction: "row",
7812
7925
  gap: "3",
7813
7926
  p: resolvedLayout.length > 1 ? '3' : '4'
7814
- }, resolvedLayout.length > 1 && /*#__PURE__*/React.createElement(Tooltip, {
7927
+ }, resolvedLayout.length > 1 && /*#__PURE__*/React$1.createElement(Tooltip, {
7815
7928
  content: "Fechar visualiza\xE7\xE3o"
7816
- }, /*#__PURE__*/React.createElement(IconButton, {
7929
+ }, /*#__PURE__*/React$1.createElement(IconButton, {
7817
7930
  size: "1",
7818
7931
  variant: "soft",
7819
7932
  onClick: function onClick() {
@@ -7822,14 +7935,14 @@ function GeoReDUSInner(_ref2) {
7822
7935
  payload: views[0].id
7823
7936
  });
7824
7937
  }
7825
- }, /*#__PURE__*/React.createElement(Icon, {
7938
+ }, /*#__PURE__*/React$1.createElement(Icon, {
7826
7939
  path: mdiClose,
7827
7940
  size: "20px"
7828
- }))), /*#__PURE__*/React.createElement(EvenSpacedList, {
7941
+ }))), /*#__PURE__*/React$1.createElement(EvenSpacedList, {
7829
7942
  columns: legends.length > 1 ? 2 : 1,
7830
7943
  gap: "10px"
7831
7944
  }, legends.map(function (legend) {
7832
- return /*#__PURE__*/React.createElement(HoverLegend, _extends({}, resolvedLayout.length > 1 ? {
7945
+ return /*#__PURE__*/React$1.createElement(HoverLegend, _extends({}, resolvedLayout.length > 1 ? {
7833
7946
  direction: 'row',
7834
7947
  maxWidth: '300px',
7835
7948
  size: '1'
@@ -7840,21 +7953,21 @@ function GeoReDUSInner(_ref2) {
7840
7953
  }, {
7841
7954
  key: legend.id
7842
7955
  }, legend));
7843
- })))), 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, {
7844
7957
  position: "top-right"
7845
- }), /*#__PURE__*/React.createElement(FullscreenControl, {
7958
+ }), /*#__PURE__*/React$1.createElement(FullscreenControl, {
7846
7959
  position: "top-right"
7847
- }), /*#__PURE__*/React.createElement(NavigationControl, {
7960
+ }), /*#__PURE__*/React$1.createElement(NavigationControl, {
7848
7961
  position: "top-right"
7849
- }), /*#__PURE__*/React.createElement(ScaleControl, {
7962
+ }), /*#__PURE__*/React$1.createElement(ScaleControl, {
7850
7963
  position: "bottom-right"
7851
- }), /*#__PURE__*/React.createElement(ControlContainer, {
7964
+ }), /*#__PURE__*/React$1.createElement(ControlContainer, {
7852
7965
  style: {
7853
7966
  width: 100,
7854
7967
  height: 100,
7855
7968
  boxShadow: 'none'
7856
7969
  }
7857
- }, /*#__PURE__*/React.createElement(MapStyleToggleCtrl, {
7970
+ }, /*#__PURE__*/React$1.createElement(MapStyleToggleCtrl, {
7858
7971
  style: {
7859
7972
  position: 'relative',
7860
7973
  width: 100,
@@ -7864,7 +7977,7 @@ function GeoReDUSInner(_ref2) {
7864
7977
  onClick: function onClick() {
7865
7978
  return setBaseMapStyle(baseMapStyle === 'dataviz' ? 'satellite' : 'dataviz');
7866
7979
  }
7867
- }, /*#__PURE__*/React.createElement(MapWindow, {
7980
+ }, /*#__PURE__*/React$1.createElement(MapWindow, {
7868
7981
  style: {
7869
7982
  pointerEvents: 'none',
7870
7983
  position: 'absolute',
@@ -7875,13 +7988,13 @@ function GeoReDUSInner(_ref2) {
7875
7988
  },
7876
7989
  mapStyle: baseMapStyle === 'satellite' ? DATAVIZ_MAP_STYLE_URL : SATELLITE_MAP_STYLE_URL,
7877
7990
  maxZoom: 13
7878
- })))) : null, /*#__PURE__*/React.createElement(TerrainControl, {
7991
+ })))) : null, /*#__PURE__*/React$1.createElement(TerrainControl, {
7879
7992
  demSourceUrl: DEM_SOURCE_URL,
7880
7993
  demSourceEncoding: DEM_SOURCE_ENCODING
7881
7994
  }))
7882
7995
  };
7883
7996
  })
7884
- }, isLoading && /*#__PURE__*/React.createElement(LoadingIndicator, {
7997
+ }, isLoading && /*#__PURE__*/React$1.createElement(LoadingIndicator, {
7885
7998
  style: {
7886
7999
  position: 'fixed',
7887
8000
  bottom: '10px',
@@ -7892,9 +8005,9 @@ function GeoReDUSInner(_ref2) {
7892
8005
  }
7893
8006
  var GeoReDUSRootContainer = styled.div(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n * {\n box-sizing: border-box;\n }\n"])));
7894
8007
  function GeoReDUS(props) {
7895
- return /*#__PURE__*/React.createElement(GeoReDUSRootContainer, null, /*#__PURE__*/React.createElement(InputProvider, {
8008
+ return /*#__PURE__*/React$1.createElement(GeoReDUSRootContainer, null, /*#__PURE__*/React$1.createElement(InputProvider, {
7896
8009
  variant: "labeled"
7897
- }, /*#__PURE__*/React.createElement(DialogsProvider, null, /*#__PURE__*/React.createElement(GeoReDUSInner, props))));
8010
+ }, /*#__PURE__*/React$1.createElement(DialogsProvider, null, /*#__PURE__*/React$1.createElement(GeoReDUSInner, props))));
7898
8011
  }
7899
8012
 
7900
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.6",
3
+ "version": "0.8.7",
4
4
  "packageManager": "yarn@4.0.2",
5
5
  "type": "module",
6
6
  "main": "dist/main.js",
@@ -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",