@bigmath-ui-library/core 2.0.4

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.
Files changed (229) hide show
  1. package/LICENSE +7 -0
  2. package/LICENSE.md +1 -0
  3. package/README.md +42 -0
  4. package/dist/cjs/index.css +11 -0
  5. package/dist/cjs/index.js +134365 -0
  6. package/dist/esm/index.css +11 -0
  7. package/dist/esm/index.js +134258 -0
  8. package/package.json +58 -0
  9. package/rollup.config.js +73 -0
  10. package/src/BMClassnameSetup.ts +3 -0
  11. package/src/assets/icons/Calendar.svg +6 -0
  12. package/src/assets/icons/Close.svg +40 -0
  13. package/src/assets/icons/Default-Loading-Circles.svg +31 -0
  14. package/src/assets/icons/alert.svg +6 -0
  15. package/src/assets/icons/aws.svg +19 -0
  16. package/src/assets/icons/caret-down.svg +3 -0
  17. package/src/assets/icons/check.svg +6 -0
  18. package/src/assets/icons/circle-check-solid.svg +7 -0
  19. package/src/assets/icons/circle-check.svg +6 -0
  20. package/src/assets/icons/circle-selected.svg +3 -0
  21. package/src/assets/icons/circle-unselected.svg +3 -0
  22. package/src/assets/icons/close-basic.svg +3 -0
  23. package/src/assets/icons/close_collapse.svg +3 -0
  24. package/src/assets/icons/copy.svg +3 -0
  25. package/src/assets/icons/drag.svg +3 -0
  26. package/src/assets/icons/expand-more.svg +3 -0
  27. package/src/assets/icons/failed-solid.svg +7 -0
  28. package/src/assets/icons/globe.svg +3 -0
  29. package/src/assets/icons/google-cloud.svg +6 -0
  30. package/src/assets/icons/in-active.svg +4 -0
  31. package/src/assets/icons/info-solid.svg +6 -0
  32. package/src/assets/icons/info.svg +6 -0
  33. package/src/assets/icons/k8s.svg +4 -0
  34. package/src/assets/icons/lock-locked.svg +5 -0
  35. package/src/assets/icons/microsoft-azure.svg +9 -0
  36. package/src/assets/icons/onprem.svg +3 -0
  37. package/src/assets/icons/pencil.svg +3 -0
  38. package/src/assets/icons/search.svg +6 -0
  39. package/src/assets/icons/shield.svg +4 -0
  40. package/src/assets/icons/star.svg +3 -0
  41. package/src/assets/icons/success-tick.svg +3 -0
  42. package/src/assets/icons/timer.svg +3 -0
  43. package/src/assets/icons/visibility-off.svg +6 -0
  44. package/src/assets/icons/visibility.svg +6 -0
  45. package/src/assets/icons/warning.svg +6 -0
  46. package/src/bma/components/BMButton/BMButton.tsx +34 -0
  47. package/src/bma/components/BMButton/index.ts +1 -0
  48. package/src/bma/components/BMInput/BMInput.tsx +13 -0
  49. package/src/bma/components/BMInput/BMInputField.tsx +7 -0
  50. package/src/bma/components/BMInput/BMSearch.tsx +6 -0
  51. package/src/bma/components/BMInput/index.ts +3 -0
  52. package/src/bma/index.ts +3 -0
  53. package/src/bma/package.json +4 -0
  54. package/src/bma/theme/BMAutocomplete.ts +12 -0
  55. package/src/bma/theme/BMInput.ts +46 -0
  56. package/src/bma/theme/theme.ts +15 -0
  57. package/src/bma/theme/themeUtils.ts +10 -0
  58. package/src/components/BMAccordion/BMAccordion.tsx +150 -0
  59. package/src/components/BMAccordion/index.ts +1 -0
  60. package/src/components/BMAddSection/BMAddSection.tsx +38 -0
  61. package/src/components/BMAddSection/index.ts +1 -0
  62. package/src/components/BMAlert/BMAlert.tsx +168 -0
  63. package/src/components/BMAlert/index.ts +1 -0
  64. package/src/components/BMAutoComplete/BMAutoComplete.tsx +86 -0
  65. package/src/components/BMAutoComplete/index.ts +1 -0
  66. package/src/components/BMAvatar/BMAvatar.tsx +45 -0
  67. package/src/components/BMAvatar/index.ts +1 -0
  68. package/src/components/BMButton/BMButton.tsx +46 -0
  69. package/src/components/BMButton/BMButtonGroup.tsx +46 -0
  70. package/src/components/BMButton/BMSplitButton.tsx +72 -0
  71. package/src/components/BMButton/index.ts +3 -0
  72. package/src/components/BMCheckbox/BMCheckbox.tsx +44 -0
  73. package/src/components/BMCheckbox/BMCheckboxField.tsx +41 -0
  74. package/src/components/BMCheckbox/index.ts +2 -0
  75. package/src/components/BMCloudSelect/BMCloudList.tsx +43 -0
  76. package/src/components/BMCloudSelect/BMCloudSelect.tsx +109 -0
  77. package/src/components/BMCloudSelect/BMCloudSelectField.tsx +46 -0
  78. package/src/components/BMCloudSelect/index.ts +3 -0
  79. package/src/components/BMCodeBlock/BMCodeBlock.tsx +233 -0
  80. package/src/components/BMCodeBlock/index.ts +1 -0
  81. package/src/components/BMDatePicker/BMDatePicker.tsx +187 -0
  82. package/src/components/BMDatePicker/index.ts +1 -0
  83. package/src/components/BMDropdown/BMDropdown.tsx +107 -0
  84. package/src/components/BMDropdown/index.ts +1 -0
  85. package/src/components/BMForm/BMFormControlLabel.tsx +23 -0
  86. package/src/components/BMForm/BMLabel.tsx +24 -0
  87. package/src/components/BMForm/index.ts +2 -0
  88. package/src/components/BMHelloBanner/BMHelloBanner.tsx +68 -0
  89. package/src/components/BMHelloBanner/index.ts +1 -0
  90. package/src/components/BMInput/BMInput.tsx +31 -0
  91. package/src/components/BMInput/BMInputEditableCode.tsx +120 -0
  92. package/src/components/BMInput/BMInputField.tsx +37 -0
  93. package/src/components/BMInput/BMSearch.tsx +17 -0
  94. package/src/components/BMInput/BMStripeInput.tsx +24 -0
  95. package/src/components/BMInput/index.ts +5 -0
  96. package/src/components/BMLoadingBox/BMLoadingBox.tsx +45 -0
  97. package/src/components/BMLoadingBox/index.ts +1 -0
  98. package/src/components/BMMaps/BMMapMarker.css +12 -0
  99. package/src/components/BMMaps/BMMapMarker.tsx +68 -0
  100. package/src/components/BMMaps/BMMaps.tsx +129 -0
  101. package/src/components/BMMaps/MapIcons.tsx +83 -0
  102. package/src/components/BMMaps/icons/GeoPartition.svg +19 -0
  103. package/src/components/BMMaps/icons/GeoPartitionHover.svg +20 -0
  104. package/src/components/BMMaps/icons/MasterPreferred.svg +19 -0
  105. package/src/components/BMMaps/icons/MasterPreferredHover.svg +20 -0
  106. package/src/components/BMMaps/icons/ReadReplica.svg +18 -0
  107. package/src/components/BMMaps/icons/ReadReplicaHover.svg +19 -0
  108. package/src/components/BMMaps/icons/RegionNotSelected.svg +18 -0
  109. package/src/components/BMMaps/icons/RegionNotSelectedHover.svg +19 -0
  110. package/src/components/BMMaps/icons/RegionPreferred.svg +18 -0
  111. package/src/components/BMMaps/icons/RegionPreferredHover.svg +19 -0
  112. package/src/components/BMMaps/icons/RegionSelected.svg +18 -0
  113. package/src/components/BMMaps/icons/RegionSelectedHover.svg +19 -0
  114. package/src/components/BMMaps/index.ts +5 -0
  115. package/src/components/BMMaps/legend/MapLegend.tsx +80 -0
  116. package/src/components/BMMaps/markerTypes.ts +8 -0
  117. package/src/components/BMModal/BMModal.tsx +313 -0
  118. package/src/components/BMModal/index.ts +1 -0
  119. package/src/components/BMMultiEntry/BMMultiEntry.tsx +328 -0
  120. package/src/components/BMMultiEntry/BMMultiEntryField.tsx +47 -0
  121. package/src/components/BMMultiEntry/index.ts +2 -0
  122. package/src/components/BMMultiLevelStepper/BMMultiLevelStepper.tsx +191 -0
  123. package/src/components/BMMultiLevelStepper/index.ts +1 -0
  124. package/src/components/BMPagination/BMPagination.tsx +64 -0
  125. package/src/components/BMPagination/index.ts +1 -0
  126. package/src/components/BMPassword/BMPassword.tsx +37 -0
  127. package/src/components/BMPassword/BMPasswordField.tsx +50 -0
  128. package/src/components/BMPassword/index.ts +2 -0
  129. package/src/components/BMProgress/BMProgress.tsx +43 -0
  130. package/src/components/BMProgress/index.ts +1 -0
  131. package/src/components/BMRadio/BMRadio.tsx +162 -0
  132. package/src/components/BMRadio/BMRadioGroupField.tsx +40 -0
  133. package/src/components/BMRadio/index.ts +2 -0
  134. package/src/components/BMSelect/BMSelect.tsx +70 -0
  135. package/src/components/BMSelect/BMSelectField.tsx +47 -0
  136. package/src/components/BMSelect/index.ts +2 -0
  137. package/src/components/BMSlider/BMSlider.tsx +16 -0
  138. package/src/components/BMSlider/index.ts +1 -0
  139. package/src/components/BMSmartStatus/BMSmartStatus.tsx +185 -0
  140. package/src/components/BMSmartStatus/index.tsx +1 -0
  141. package/src/components/BMStatus/BMStatus.tsx +98 -0
  142. package/src/components/BMStatus/index.ts +1 -0
  143. package/src/components/BMTable/BMTable.tsx +131 -0
  144. package/src/components/BMTable/index.ts +1 -0
  145. package/src/components/BMTabs/BMTabs.tsx +50 -0
  146. package/src/components/BMTabs/index.ts +1 -0
  147. package/src/components/BMTag/BMTag.tsx +47 -0
  148. package/src/components/BMTag/index.ts +1 -0
  149. package/src/components/BMTagv2/BMTagv2.tsx +250 -0
  150. package/src/components/BMTagv2/index.ts +1 -0
  151. package/src/components/BMToggle/BMMultiToggleButton.tsx +99 -0
  152. package/src/components/BMToggle/BMToggle.tsx +35 -0
  153. package/src/components/BMToggle/BMToggleField.tsx +28 -0
  154. package/src/components/BMToggle/index.ts +3 -0
  155. package/src/components/BMTooltip/BMTooltip.tsx +52 -0
  156. package/src/components/BMTooltip/index.ts +1 -0
  157. package/src/components/BMWarning/BMWarning.tsx +39 -0
  158. package/src/components/BMWarning/index.ts +1 -0
  159. package/src/components/GenericFailure/GenericFailure.tsx +28 -0
  160. package/src/components/GenericFailure/index.ts +1 -0
  161. package/src/components/NoAccess/NoAccess.tsx +40 -0
  162. package/src/components/NoAccess/NoAccessActionTooltip.tsx +53 -0
  163. package/src/components/NoAccess/NoPermissionModal.tsx +55 -0
  164. package/src/components/NoAccess/index.ts +3 -0
  165. package/src/components/index.ts +34 -0
  166. package/src/index.ts +9 -0
  167. package/src/theme/BMAutoComplete.ts +152 -0
  168. package/src/theme/BMAvatar.ts +5 -0
  169. package/src/theme/BMButton.ts +132 -0
  170. package/src/theme/BMButtonGroup.ts +49 -0
  171. package/src/theme/BMCheckbox.ts +16 -0
  172. package/src/theme/BMFormHelperText.ts +19 -0
  173. package/src/theme/BMInput.ts +120 -0
  174. package/src/theme/BMMaps.ts +9 -0
  175. package/src/theme/BMRadio.ts +10 -0
  176. package/src/theme/BMTabs.ts +79 -0
  177. package/src/theme/BMTag.ts +28 -0
  178. package/src/theme/BMToggle.ts +50 -0
  179. package/src/theme/BMTooltip.ts +34 -0
  180. package/src/theme/theme.ts +326 -0
  181. package/src/theme/variables.ts +152 -0
  182. package/src/types/custom.d.ts +9 -0
  183. package/src/types/svg.d.ts +5 -0
  184. package/stories/BMAButton.stories.tsx +67 -0
  185. package/stories/BMAccordion.stories.tsx +55 -0
  186. package/stories/BMAddSection.stories.tsx +40 -0
  187. package/stories/BMAlert.stories.tsx +33 -0
  188. package/stories/BMAutoComplete.stories.tsx +65 -0
  189. package/stories/BMAvatar.stories.tsx +76 -0
  190. package/stories/BMButton.stories.tsx +57 -0
  191. package/stories/BMButton2.stories.tsx +131 -0
  192. package/stories/BMCheckbox.stories.tsx +23 -0
  193. package/stories/BMCloudSelectField.stories.tsx +40 -0
  194. package/stories/BMCodeBlock.stories.tsx +57 -0
  195. package/stories/BMDatePicker.stories.tsx +88 -0
  196. package/stories/BMDropdown.stories.tsx +84 -0
  197. package/stories/BMGroupButton.stories.tsx +53 -0
  198. package/stories/BMHelloBanner.stories.tsx +33 -0
  199. package/stories/BMInput.stories.tsx +184 -0
  200. package/stories/BMInputEditableCode.stories.tsx +86 -0
  201. package/stories/BMInputField.stories.tsx +50 -0
  202. package/stories/BMLoadingBox.stories.tsx +45 -0
  203. package/stories/BMMaps.stories.tsx +29 -0
  204. package/stories/BMModal.stories.tsx +218 -0
  205. package/stories/BMMultiEntry.stories.tsx +93 -0
  206. package/stories/BMMultiLevelStepper.stories.tsx +87 -0
  207. package/stories/BMPagination.stories.tsx +41 -0
  208. package/stories/BMPassword.stories.tsx +133 -0
  209. package/stories/BMProgress.stories.tsx +60 -0
  210. package/stories/BMRadio.stories.tsx +71 -0
  211. package/stories/BMSelect.stories.tsx +160 -0
  212. package/stories/BMSlider.stories.tsx +74 -0
  213. package/stories/BMSmartStatus.stories.tsx +98 -0
  214. package/stories/BMSplitButton.stories.tsx +32 -0
  215. package/stories/BMStatus.stories.tsx +29 -0
  216. package/stories/BMTable.stories.tsx +350 -0
  217. package/stories/BMTabs.stories.tsx +25 -0
  218. package/stories/BMTag.stories.tsx +63 -0
  219. package/stories/BMTagv2.stories.tsx +288 -0
  220. package/stories/BMToggle.stories.tsx +123 -0
  221. package/stories/BMTooltip.stories.tsx +59 -0
  222. package/stories/BMTypography.stories.tsx +79 -0
  223. package/stories/BMWarning.stories.tsx +55 -0
  224. package/stories/GenericFailure.stories.tsx +47 -0
  225. package/stories/NoAccess.stories.tsx +19 -0
  226. package/stories/NoAccessActionTooltip.stories.tsx +50 -0
  227. package/stories/NoPermissionModal.stories.tsx +46 -0
  228. package/tsconfig.base.json +21 -0
  229. package/tsconfig.build.json +23 -0
@@ -0,0 +1,45 @@
1
+ import { FC, ReactNode } from "react";
2
+ import { Paper } from "@mui/material";
3
+ import { styled } from "@mui/material/styles";
4
+
5
+ interface LoadingBoxProps {
6
+ theme?: "light" | "default";
7
+ className?: string;
8
+ children?: ReactNode;
9
+ }
10
+
11
+ const StyledPaper = styled(Paper, {
12
+ shouldForwardProp: (prop) => prop !== "variantTheme",
13
+ })<{
14
+ variantTheme?: "light" | "default";
15
+ }>(({ theme, variantTheme }) => ({
16
+ padding: theme.spacing(2),
17
+ margin: 0,
18
+ border: `1px dashed ${theme.palette.primary[300]}`,
19
+ textAlign: "center",
20
+ ...(variantTheme === "light"
21
+ ? {
22
+ backgroundColor: theme.palette.common.white,
23
+ color: theme.palette.grey[600],
24
+ }
25
+ : {
26
+ backgroundColor: theme.palette.primary[100],
27
+ }),
28
+ }));
29
+
30
+ export const BMLoadingBox: FC<LoadingBoxProps> = ({
31
+ children,
32
+ theme = "default",
33
+ className,
34
+ }) => {
35
+ return (
36
+ <StyledPaper
37
+ elevation={0}
38
+ variant="outlined"
39
+ variantTheme={theme}
40
+ className={className || undefined}
41
+ >
42
+ {children}
43
+ </StyledPaper>
44
+ );
45
+ };
@@ -0,0 +1 @@
1
+ export * from "./BMLoadingBox";
@@ -0,0 +1,12 @@
1
+ .bm-map-tooltip {
2
+ padding: 6px 8px !important;
3
+ border-radius: 8px !important;
4
+ font-family: Inter;
5
+ font-size: 12px;
6
+ font-style: normal;
7
+ font-weight: 600;
8
+ }
9
+
10
+ .bm-map-tooltip::before {
11
+ border: none !important;
12
+ }
@@ -0,0 +1,68 @@
1
+ import React, { FC, useCallback, useState } from "react";
2
+ import { Marker, Tooltip } from "react-leaflet";
3
+ import { styled } from "@mui/material";
4
+ import { DivIcon, LatLngExpression } from "leaflet";
5
+ import ReactDOMServer from 'react-dom/server';
6
+ import { useGetMapIcons } from "./MapIcons";
7
+ import { MarkerType } from "./markerTypes";
8
+
9
+ interface BMMapMarkerProps {
10
+ icon?: React.ReactElement | null;
11
+ iconHover?: React.ReactElement | null;
12
+ position: LatLngExpression;
13
+ iconSize?: [number, number];
14
+ className?: string;
15
+ tooltip?: React.ReactElement;
16
+ type?: MarkerType;
17
+ }
18
+
19
+ const StyledMarker = styled(Marker)();
20
+
21
+ const StyledTooltip = styled(Tooltip)<{ type?: string }>();
22
+
23
+ export const BMMapMarker: FC<BMMapMarkerProps> = ({ position, icon, iconHover, tooltip, className = '', iconSize = [25, 25], type }) => {
24
+
25
+ const standardIcon = useGetMapIcons({ type });
26
+ const iconToDisplay = standardIcon.normal || icon;
27
+ const iconHoverToDisplay = standardIcon.hover || iconHover;
28
+
29
+ const getIcon = useCallback((icon, hovered = false) => {
30
+ if (icon === null) return undefined;
31
+ return new DivIcon({
32
+ html: ReactDOMServer.renderToStaticMarkup(icon),
33
+ iconSize: hovered ? [iconSize[0] + 10, iconSize[1] + 10] : iconSize,
34
+ className: `svg-icon region-selected-marker ${className}`
35
+ });
36
+ }, []);
37
+
38
+ const [markerIcon, setMarkerIcon] = useState<DivIcon | undefined>(getIcon(iconToDisplay));
39
+ const [currentIconState, setCurrentIconState] = useState<'NORMAL' | 'HOVERED'>('NORMAL');
40
+
41
+ return <StyledMarker
42
+ position={position}
43
+ icon={markerIcon}
44
+ eventHandlers={{
45
+ mouseover: () => {
46
+ if (iconHoverToDisplay && currentIconState === 'NORMAL') {
47
+ setMarkerIcon(getIcon(iconHoverToDisplay, true));
48
+ setCurrentIconState('HOVERED');
49
+ }
50
+ },
51
+ mouseout: () => {
52
+
53
+ if (iconToDisplay && currentIconState === 'HOVERED') {
54
+ setMarkerIcon(getIcon(iconToDisplay));
55
+ setCurrentIconState('NORMAL');
56
+ }
57
+ }
58
+ }}
59
+ >
60
+ {
61
+ tooltip && (
62
+ <StyledTooltip type={type} className="bm-map-tooltip" direction="top" offset={[5, -15]}>
63
+ {tooltip}
64
+ </StyledTooltip>
65
+ )
66
+ }
67
+ </StyledMarker>
68
+ }
@@ -0,0 +1,129 @@
1
+ import React, { type FC, useEffect, useMemo } from 'react';
2
+ import { Box, styled, useTheme } from '@mui/material';
3
+ import { LatLngBounds, LatLngBoundsExpression, LatLngExpression, noConflict } from 'leaflet';
4
+ import { MapContainer, MapContainerProps, TileLayer, useMap } from 'react-leaflet';
5
+ import { Add, CropFree, Remove } from '@mui/icons-material';
6
+ import 'leaflet/dist/leaflet.css';
7
+
8
+ window.L = noConflict();
9
+
10
+ export const MAX_WIDTH_FOR_ZOOM = 600;
11
+ export const MIN_ZOOM_VAL = 0;
12
+ export const MAX_ZOOM_VAL = 5;
13
+
14
+ export interface BMMapsProps {
15
+ children: React.JSX.Element[];
16
+ mapWidth?: number;
17
+ mapHeight: number;
18
+ coordinates: LatLngExpression[];
19
+ initialBounds: LatLngBoundsExpression | undefined;
20
+ defaultZoom?: number;
21
+ mapContainerProps?: MapContainerProps;
22
+ dataTestId: string;
23
+ }
24
+ type MapBoxProps = { mapHeight: number; mapWidth?: number };
25
+
26
+ const MapBox = styled('div')<MapBoxProps>(({ theme, mapHeight, mapWidth }) => ({
27
+ borderRadius: theme.spacing(1),
28
+ border: `1px solid ${theme.palette.grey[200]}`,
29
+ width: mapWidth ?? '100%',
30
+ '& .leaflet-container': {
31
+ width: mapWidth ?? '100%',
32
+ height: `${mapHeight}px`,
33
+ },
34
+ overflow: 'hidden'
35
+ }));
36
+
37
+ export const BMMaps: FC<BMMapsProps> = (props) => {
38
+ const { mapWidth = 0, coordinates, children, defaultZoom, mapContainerProps = {} } = props;
39
+ const bounds = useMemo(() => {
40
+ return new LatLngBounds(coordinates[0], coordinates[1]);
41
+ }, [coordinates]);
42
+
43
+ const minZoom = mapWidth > MAX_WIDTH_FOR_ZOOM ? MIN_ZOOM_VAL + 1 : MIN_ZOOM_VAL;
44
+
45
+
46
+ return (
47
+ <MapBox
48
+ mapHeight={props.mapHeight}
49
+ mapWidth={props.mapWidth}
50
+ data-testid={props.dataTestId}
51
+ >
52
+ <MapContainer bounds={bounds} scrollWheelZoom={true} minZoom={minZoom} maxZoom={MAX_ZOOM_VAL} zoomControl={false} zoom={defaultZoom} {...mapContainerProps} >
53
+ <TileLayer
54
+ url="https://{s}.basemaps.cartocdn.com/light_nolabels/{z}/{x}/{y}{r}.png"
55
+ attribution='&copy; <a href="https://www.openstreetmap.org/copyright" target="_blank" rel="noopener">OpenStreetMap</a>'
56
+ />
57
+ <FocusControl />
58
+ <MoveToBounds bounds={bounds} />
59
+ {children}
60
+ </MapContainer>
61
+ </MapBox>
62
+ );
63
+ };
64
+
65
+ const ZoomControls = styled('div')(() => ({
66
+ display: 'flex',
67
+ flexDirection: 'column',
68
+ width: '28px',
69
+ alignItems: 'flex-start',
70
+ }));
71
+
72
+ const Control = styled('div')(({ theme }) => ({
73
+ backgroundColor: theme.palette.common.white,
74
+ borderRadius: '4px',
75
+ border: `1px solid ${theme.palette.grey[200]}`,
76
+ boxShadow: `0px 2px 4px -2px rgba(24, 39, 75, 0.12), 0px 4px 4px -2px rgba(24, 39, 75, 0.08)`,
77
+ display: 'flex',
78
+ alignItems: 'center',
79
+ justifyContent: 'center',
80
+ flexDirection: 'column',
81
+ padding: '8px 2px',
82
+ width: '38px'
83
+ }))
84
+
85
+ const FocusControl = () => {
86
+ const map = useMap();
87
+ const theme = useTheme();
88
+ return <ZoomControls
89
+ className="leaflet-bottom leaflet-right"
90
+ sx={{ marginRight: '18px', marginBottom: '8px' }}
91
+ >
92
+ <Box className="leaflet-control" >
93
+ <Control
94
+
95
+
96
+ >
97
+ <Add sx={{ cursor: 'pointer' }} onClick={() => {
98
+ map.zoomIn();
99
+ }} />
100
+ <div style={{
101
+ width: '24px',
102
+ height: '1px',
103
+ background: theme.palette.grey[200],
104
+ margin: '8px 0'
105
+ }} />
106
+ <Remove sx={{ cursor: 'pointer' }} onClick={() => {
107
+ map.zoomOut();
108
+ }} />
109
+
110
+ </Control>
111
+ <Control sx={{ marginTop: '8px' }}>
112
+ <CropFree sx={{ cursor: 'pointer' }} onClick={() => {
113
+ map.setZoom(8);
114
+ }} />
115
+ </Control>
116
+ </Box>
117
+ </ZoomControls>
118
+ }
119
+ interface MoveToBoundsProps {
120
+ bounds: LatLngBounds;
121
+ }
122
+ const MoveToBounds: FC<MoveToBoundsProps> = ({ bounds }) => {
123
+ const map = useMap();
124
+ useEffect(() => {
125
+ map.flyToBounds(bounds, { padding: [5, 5], maxZoom: map.getZoom() });
126
+ // console.log(map.getZoom());
127
+ }, [bounds]);
128
+ return null;
129
+ };
@@ -0,0 +1,83 @@
1
+ import React from 'react';
2
+ import { MarkerType } from './markerTypes';
3
+
4
+ import RegionSelected from './icons/RegionSelected.svg';
5
+ import RegionSelectedHover from './icons/RegionSelectedHover.svg';
6
+
7
+ import RegionNotSelected from './icons/RegionNotSelected.svg';
8
+ import RegionNotSelectedHover from './icons/RegionNotSelectedHover.svg';
9
+
10
+ import ReadReplica from './icons/ReadReplica.svg';
11
+ import ReadReplicaHover from './icons/ReadReplicaHover.svg';
12
+
13
+ import RegionPreferred from './icons/RegionPreferred.svg';
14
+ import RegionPreferredHover from './icons/RegionPreferredHover.svg';
15
+
16
+ import MasterPreferred from './icons/MasterPreferred.svg';
17
+ import MasterPreferredHover from './icons/MasterPreferredHover.svg';
18
+
19
+ import GeoPartition from './icons/GeoPartition.svg';
20
+ import GeoPartitionHover from './icons/GeoPartitionHover.svg';
21
+
22
+
23
+
24
+
25
+ interface GetMapIconProps {
26
+ type?: MarkerType
27
+ }
28
+
29
+ interface GetMapIconReturnType {
30
+ normal: React.ReactElement | null;
31
+ hover: React.ReactElement | null;
32
+ }
33
+
34
+ export const useGetMapIcons = ({ type }: GetMapIconProps): GetMapIconReturnType => {
35
+
36
+ let icon: GetMapIconReturnType = {
37
+ normal: null,
38
+ hover: null,
39
+ };
40
+
41
+ switch (type) {
42
+ case MarkerType.REGION_SELECTED:
43
+ icon = {
44
+ normal: <RegionSelected />,
45
+ hover: <RegionSelectedHover />,
46
+ }
47
+ break;
48
+ case MarkerType.REGION_NOT_SELECTED:
49
+ icon = {
50
+ normal: <RegionNotSelected />,
51
+ hover: <RegionNotSelectedHover />,
52
+ };
53
+ break;
54
+ case MarkerType.READ_REPLICA:
55
+ icon = {
56
+ normal: <ReadReplica />,
57
+ hover: <ReadReplicaHover />,
58
+ };
59
+ break;
60
+ case MarkerType.REGION_PREFERRED:
61
+ icon = {
62
+ normal: <RegionPreferred />,
63
+ hover: <RegionPreferredHover />,
64
+ };
65
+ break;
66
+ case MarkerType.MASTER_PREFERRED:
67
+ icon = {
68
+ normal: <MasterPreferred />,
69
+ hover: <MasterPreferredHover />,
70
+ };
71
+ break;
72
+ case MarkerType.GEO_PARTITION:
73
+ icon = {
74
+ normal: <GeoPartition />,
75
+ hover: <GeoPartitionHover />,
76
+ };
77
+ break;
78
+ default:
79
+ break;
80
+ }
81
+
82
+ return icon;
83
+ };
@@ -0,0 +1,19 @@
1
+ <svg viewBox="0 0 28 31" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <g filter="url(#filter0_d_6340_6310)">
3
+ <path d="M16.8438 27.248L16.5495 27.49C15.0692 28.7073 12.9308 28.7073 11.4505 27.49L11.1562 27.248L11.1562 27.248C8.5083 25.0713 6.24461 23.2104 4.67318 21.2591C2.94413 19.112 2 16.8053 2 13.7872C2 7.23699 7.41335 2 14 2C20.5867 2 26 7.23699 26 13.7872C26 16.8053 25.0559 19.112 23.3268 21.2591C21.7554 23.2104 19.4917 25.0713 16.8438 27.248Z" fill="#735AF5"/>
4
+ <path d="M16.2087 26.4756L16.2087 26.4755C18.8825 24.2775 21.0547 22.4861 22.548 20.6318C24.1478 18.6453 25 16.5559 25 13.7872C25 7.81046 20.0558 3 14 3C7.94421 3 3 7.81046 3 13.7872C3 16.5559 3.85221 18.6453 5.45202 20.6318C6.94206 22.4821 9.10817 24.2698 11.774 26.4614L11.7741 26.4614L16.2087 26.4756ZM16.2087 26.4756L15.9144 26.7175L15.9143 26.7176C14.8031 27.6314 13.1969 27.6314 12.0857 26.7176L12.0856 26.7175L11.7913 26.4756L11.7912 26.4755L16.2087 26.4756Z" stroke="#FBFCFD" stroke-width="2"/>
5
+ </g>
6
+ <path d="M11.6397 18H9.95224L13.0247 9.27273H14.9764L18.0531 18H16.3656L14.0346 11.0625H13.9664L11.6397 18ZM11.6951 14.5781H16.2974V15.848H11.6951V14.5781Z" fill="white"/>
7
+ <defs>
8
+ <filter id="filter0_d_6340_6310" x="0" y="0" width="28" height="30.4031" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
9
+ <feFlood flood-opacity="0" result="BackgroundImageFix"/>
10
+ <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
11
+ <feOffset/>
12
+ <feGaussianBlur stdDeviation="1"/>
13
+ <feComposite in2="hardAlpha" operator="out"/>
14
+ <feColorMatrix type="matrix" values="0 0 0 0 0.45098 0 0 0 0 0.352941 0 0 0 0 0.960784 0 0 0 0.5 0"/>
15
+ <feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_6340_6310"/>
16
+ <feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_6340_6310" result="shape"/>
17
+ </filter>
18
+ </defs>
19
+ </svg>
@@ -0,0 +1,20 @@
1
+ <svg width="34" height="36" viewBox="0 0 34 36" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path opacity="0.35" fill-rule="evenodd" clip-rule="evenodd" d="M2.5 16.7872C2.5 8.80332 9.0862 2.5 17 2.5C24.9138 2.5 31.5 8.80332 31.5 16.7872C31.5 20.4287 30.3261 23.2789 28.2739 25.8271C26.5401 27.9801 24.1078 29.9793 21.5765 32.06L21.4314 32.1792L21.1375 32.4209C18.7345 34.397 15.2655 34.397 12.8626 32.4209L12.5686 32.1792L12.4235 32.0599C9.89222 29.9793 7.45988 27.9801 5.72607 25.8271C3.67393 23.2789 2.5 20.4287 2.5 16.7872Z" fill="#735AF5" stroke="#735AF5" stroke-width="4"/>
3
+ <g filter="url(#filter0_d_6086_251849)">
4
+ <path d="M19.8438 30.248L19.5495 30.49C18.0692 31.7073 15.9308 31.7073 14.4505 30.49L14.1562 30.248L14.1562 30.248C11.5083 28.0713 9.24461 26.2104 7.67318 24.2591C5.94413 22.112 5 19.8053 5 16.7872C5 10.237 10.4133 5 17 5C23.5867 5 29 10.237 29 16.7872C29 19.8053 28.0559 22.112 26.3268 24.2591C24.7554 26.2104 22.4917 28.0713 19.8438 30.248Z" fill="#735AF5"/>
5
+ <path d="M19.2087 29.4756L19.2087 29.4755C21.8825 27.2775 24.0547 25.4861 25.548 23.6318C27.1478 21.6453 28 19.5559 28 16.7872C28 10.8105 23.0558 6 17 6C10.9442 6 6 10.8105 6 16.7872C6 19.5559 6.85221 21.6453 8.45202 23.6318C9.94206 25.4821 12.1082 27.2698 14.774 29.4614L14.7741 29.4614L19.2087 29.4756ZM19.2087 29.4756L18.9144 29.7175L18.9143 29.7176C17.8031 30.6314 16.1969 30.6314 15.0857 29.7176L15.0856 29.7175L14.7913 29.4756L14.7912 29.4755L19.2087 29.4756Z" stroke="#FBFCFD" stroke-width="2"/>
6
+ </g>
7
+ <path d="M14.6397 21H12.9522L16.0247 12.2727H17.9764L21.0531 21H19.3656L17.0346 14.0625H16.9664L14.6397 21ZM14.6951 17.5781H19.2974V18.848H14.6951V17.5781Z" fill="white"/>
8
+ <defs>
9
+ <filter id="filter0_d_6086_251849" x="3" y="3" width="28" height="30.4031" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
10
+ <feFlood flood-opacity="0" result="BackgroundImageFix"/>
11
+ <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
12
+ <feOffset/>
13
+ <feGaussianBlur stdDeviation="1"/>
14
+ <feComposite in2="hardAlpha" operator="out"/>
15
+ <feColorMatrix type="matrix" values="0 0 0 0 0.45098 0 0 0 0 0.352941 0 0 0 0 0.960784 0 0 0 0.5 0"/>
16
+ <feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_6086_251849"/>
17
+ <feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_6086_251849" result="shape"/>
18
+ </filter>
19
+ </defs>
20
+ </svg>
@@ -0,0 +1,19 @@
1
+ <svg viewBox="0 0 28 31" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <g filter="url(#filter0_d_6086_251849)">
3
+ <path d="M16.8438 27.248L16.5495 27.49C15.0692 28.7073 12.9308 28.7073 11.4505 27.49L11.1562 27.248L11.1562 27.248C8.5083 25.0713 6.24461 23.2104 4.67318 21.2591C2.94413 19.112 2 16.8053 2 13.7872C2 7.23699 7.41335 2 14 2C20.5867 2 26 7.23699 26 13.7872C26 16.8053 25.0559 19.112 23.3268 21.2591C21.7554 23.2104 19.4917 25.0713 16.8438 27.248Z" fill="#735AF5"/>
4
+ <path d="M16.2087 26.4756L16.2087 26.4755C18.8825 24.2775 21.0547 22.4861 22.548 20.6318C24.1478 18.6453 25 16.5559 25 13.7872C25 7.81046 20.0558 3 14 3C7.94421 3 3 7.81046 3 13.7872C3 16.5559 3.85221 18.6453 5.45202 20.6318C6.94206 22.4821 9.10817 24.2698 11.774 26.4614L11.7741 26.4614L16.2087 26.4756ZM16.2087 26.4756L15.9144 26.7175L15.9143 26.7176C14.8031 27.6314 13.1969 27.6314 12.0857 26.7176L12.0856 26.7175L11.7913 26.4756L11.7912 26.4755L16.2087 26.4756Z" stroke="#FBFCFD" stroke-width="2"/>
5
+ </g>
6
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M14.4698 7.33377L14.5543 7.34347C14.7262 7.37614 14.8532 7.4818 14.8822 7.60998L14.8885 7.66615V12.6663H18.889C19.0455 12.6663 19.1913 12.7283 19.2713 12.8297C19.3353 12.9102 19.3498 13.0069 19.3148 13.095L19.2793 13.159L13.9453 20.4926C13.8662 20.6012 13.7151 20.6666 13.5551 20.6666C13.5186 20.6666 13.4813 20.6633 13.4448 20.6559C13.2729 20.6233 13.1459 20.5176 13.1169 20.3894L13.1106 20.3332V15.3331H9.11012C8.95366 15.3331 8.80787 15.2711 8.72875 15.1697C8.66474 15.0892 8.65023 14.9924 8.68522 14.9044L8.72075 14.8404L14.0547 7.50681C14.1377 7.39252 14.3011 7.32672 14.4698 7.33377Z" fill="#FBFCFD"/>
7
+ <defs>
8
+ <filter id="filter0_d_6086_251849" x="0" y="0" width="28" height="30.4031" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
9
+ <feFlood flood-opacity="0" result="BackgroundImageFix"/>
10
+ <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
11
+ <feOffset/>
12
+ <feGaussianBlur stdDeviation="1"/>
13
+ <feComposite in2="hardAlpha" operator="out"/>
14
+ <feColorMatrix type="matrix" values="0 0 0 0 0.45098 0 0 0 0 0.352941 0 0 0 0 0.960784 0 0 0 0.5 0"/>
15
+ <feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_6086_251849"/>
16
+ <feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_6086_251849" result="shape"/>
17
+ </filter>
18
+ </defs>
19
+ </svg>
@@ -0,0 +1,20 @@
1
+ <svg width="34" height="36" viewBox="0 0 34 36" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path opacity="0.35" fill-rule="evenodd" clip-rule="evenodd" d="M2.5 16.7872C2.5 8.80332 9.0862 2.5 17 2.5C24.9138 2.5 31.5 8.80332 31.5 16.7872C31.5 20.4287 30.3261 23.2789 28.2739 25.8271C26.5401 27.9801 24.1078 29.9793 21.5765 32.06L21.4314 32.1792L21.1375 32.4209C18.7345 34.397 15.2655 34.397 12.8626 32.4209L12.5686 32.1792L12.4235 32.0599C9.89222 29.9793 7.45988 27.9801 5.72607 25.8271C3.67393 23.2789 2.5 20.4287 2.5 16.7872Z" fill="#735AF5" stroke="#735AF5" stroke-width="4"/>
3
+ <g filter="url(#filter0_d_6086_251849)">
4
+ <path d="M19.8438 30.248L19.5495 30.49C18.0692 31.7073 15.9308 31.7073 14.4505 30.49L14.1562 30.248L14.1562 30.248C11.5083 28.0713 9.24461 26.2104 7.67318 24.2591C5.94413 22.112 5 19.8053 5 16.7872C5 10.237 10.4133 5 17 5C23.5867 5 29 10.237 29 16.7872C29 19.8053 28.0559 22.112 26.3268 24.2591C24.7554 26.2104 22.4917 28.0713 19.8438 30.248Z" fill="#735AF5"/>
5
+ <path d="M19.2087 29.4756L19.2087 29.4755C21.8825 27.2775 24.0547 25.4861 25.548 23.6318C27.1478 21.6453 28 19.5559 28 16.7872C28 10.8105 23.0558 6 17 6C10.9442 6 6 10.8105 6 16.7872C6 19.5559 6.85221 21.6453 8.45202 23.6318C9.94206 25.4821 12.1082 27.2698 14.774 29.4614L14.7741 29.4614L19.2087 29.4756ZM19.2087 29.4756L18.9144 29.7175L18.9143 29.7176C17.8031 30.6314 16.1969 30.6314 15.0857 29.7176L15.0856 29.7175L14.7913 29.4756L14.7912 29.4755L19.2087 29.4756Z" stroke="#FBFCFD" stroke-width="2"/>
6
+ </g>
7
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M17.4698 10.3338L17.5543 10.3435C17.7262 10.3761 17.8532 10.4818 17.8822 10.61L17.8885 10.6661V15.6663H21.889C22.0454 15.6663 22.1912 15.7283 22.2712 15.8297C22.3353 15.9102 22.3498 16.0069 22.3148 16.095L22.2792 16.159L16.9453 23.4926C16.8662 23.6012 16.7151 23.6666 16.5551 23.6666C16.5186 23.6666 16.4813 23.6633 16.4448 23.6559C16.2729 23.6233 16.1459 23.5176 16.1169 23.3894L16.1106 23.3332V18.3331H12.1101C11.9536 18.3331 11.8079 18.2711 11.7287 18.1697C11.6647 18.0892 11.6502 17.9924 11.6852 17.9044L11.7207 17.8404L17.0547 10.5068C17.1377 10.3925 17.3011 10.3267 17.4698 10.3338Z" fill="#FBFCFD"/>
8
+ <defs>
9
+ <filter id="filter0_d_6086_251849" x="3" y="3" width="28" height="30.4031" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
10
+ <feFlood flood-opacity="0" result="BackgroundImageFix"/>
11
+ <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
12
+ <feOffset/>
13
+ <feGaussianBlur stdDeviation="1"/>
14
+ <feComposite in2="hardAlpha" operator="out"/>
15
+ <feColorMatrix type="matrix" values="0 0 0 0 0.45098 0 0 0 0 0.352941 0 0 0 0 0.960784 0 0 0 0.5 0"/>
16
+ <feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_6086_251849"/>
17
+ <feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_6086_251849" result="shape"/>
18
+ </filter>
19
+ </defs>
20
+ </svg>
@@ -0,0 +1,18 @@
1
+ <svg viewBox="0 0 28 30" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <g filter="url(#filter0_d_5670_77352)">
3
+ <path d="M16.7054 26.9065L16.4268 27.1356C15.0252 28.2882 13.0003 28.2882 11.5987 27.1356L11.3201 26.9064C8.81287 24.8454 6.66946 22.8834 5.18152 21.0357C3.54435 19.0028 2.65039 16.8187 2.65039 13.9609C2.65039 7.75876 7.77609 2.80005 14.0127 2.80005C20.2494 2.80005 25.3751 7.75876 25.3751 13.9609C25.3751 16.8187 24.4811 19.0028 22.844 21.0357C21.356 22.8834 19.2126 24.8454 16.7054 26.9065Z" fill="#E8E9FE"/>
4
+ <path d="M15.9116 25.9408L15.9116 25.9409L15.6329 26.17L15.6328 26.1701C14.6925 26.9434 13.333 26.9434 12.3927 26.1701L12.3926 26.17L12.1139 25.9409L12.1139 25.9408C9.62323 23.8934 7.56042 21.9968 6.15508 20.2517C4.67945 18.4194 3.90039 16.5069 3.90039 13.9609C3.90039 8.4756 8.43966 4.05005 14.0127 4.05005C19.5858 4.05005 24.1251 8.4756 24.1251 13.9609C24.1251 16.5069 23.346 18.4194 21.8704 20.2517C20.4651 21.9968 18.4023 23.8934 15.9116 25.9408Z" stroke="#6648F4" stroke-width="2.5"/>
5
+ </g>
6
+ <defs>
7
+ <filter id="filter0_d_5670_77352" x="0.650391" y="0.800049" width="26.7247" height="29.2" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
8
+ <feFlood flood-opacity="0" result="BackgroundImageFix"/>
9
+ <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
10
+ <feOffset/>
11
+ <feGaussianBlur stdDeviation="1"/>
12
+ <feComposite in2="hardAlpha" operator="out"/>
13
+ <feColorMatrix type="matrix" values="0 0 0 0 0.45098 0 0 0 0 0.352941 0 0 0 0 0.960784 0 0 0 0.5 0"/>
14
+ <feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_5670_77352"/>
15
+ <feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_5670_77352" result="shape"/>
16
+ </filter>
17
+ </defs>
18
+ </svg>
@@ -0,0 +1,19 @@
1
+ <svg viewBox="0 0 34 36" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path opacity="0.35" fill-rule="evenodd" clip-rule="evenodd" d="M2.5 16.7872C2.5 8.80332 9.0862 2.5 17 2.5C24.9138 2.5 31.5 8.80332 31.5 16.7872C31.5 20.4287 30.3261 23.2789 28.2739 25.8271C26.5401 27.9801 24.1078 29.9793 21.5765 32.06L21.4314 32.1792L21.1375 32.4209C18.7345 34.397 15.2655 34.397 12.8626 32.4209L12.5686 32.1792L12.4235 32.0599C9.89222 29.9793 7.45988 27.9801 5.72607 25.8271C3.67393 23.2789 2.5 20.4287 2.5 16.7872Z" fill="#735AF5" stroke="#735AF5" stroke-width="4"/>
3
+ <g filter="url(#filter0_d_6086_251849)">
4
+ <path d="M19.7253 29.696L19.4433 29.9279C18.0247 31.0945 15.9753 31.0945 14.5567 29.9279L14.2747 29.696L14.2747 29.696C11.7371 27.61 9.56775 25.8266 8.06179 23.9566C6.40479 21.899 5.5 19.6884 5.5 16.7961C5.5 10.5188 10.6878 5.5 17 5.5C23.3122 5.5 28.5 10.5188 28.5 16.7961C28.5 19.6884 27.5952 21.899 25.9382 23.9566C24.4322 25.8266 22.2629 27.61 19.7253 29.696Z" fill="#E8E9FE"/>
5
+ <path d="M18.9315 28.7304L18.9314 28.7305L18.6494 28.9623L18.6493 28.9624C17.692 29.7497 16.308 29.7497 15.3507 28.9624L15.3506 28.9623L15.0848 28.7438L15.0847 28.7437L15.0686 28.7304L15.0685 28.7304C12.4986 26.6178 10.4436 24.9212 9.03535 23.1726C7.53989 21.3156 6.75 19.3767 6.75 16.7961C6.75 11.2356 11.3514 6.75 17 6.75C22.6486 6.75 27.25 11.2356 27.25 16.7961C27.25 19.3767 26.4601 21.3156 24.9647 23.1726C23.5564 24.9212 21.5014 26.6178 18.9315 28.7304Z" stroke="#6648F4" stroke-width="2.5"/>
6
+ </g>
7
+ <defs>
8
+ <filter id="filter0_d_6086_251849" x="3.5" y="3.5" width="27" height="29.3027" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
9
+ <feFlood flood-opacity="0" result="BackgroundImageFix"/>
10
+ <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
11
+ <feOffset/>
12
+ <feGaussianBlur stdDeviation="1"/>
13
+ <feComposite in2="hardAlpha" operator="out"/>
14
+ <feColorMatrix type="matrix" values="0 0 0 0 0.45098 0 0 0 0 0.352941 0 0 0 0 0.960784 0 0 0 0.5 0"/>
15
+ <feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_6086_251849"/>
16
+ <feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_6086_251849" result="shape"/>
17
+ </filter>
18
+ </defs>
19
+ </svg>
@@ -0,0 +1,18 @@
1
+ <svg viewBox="0 0 28 31" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <g opacity="0.75" filter="url(#filter0_d_5717_115898)">
3
+ <path d="M16.8438 27.248L16.5495 27.49C15.0692 28.7073 12.9308 28.7073 11.4505 27.49L11.1562 27.248L11.1562 27.248C8.5083 25.0713 6.24461 23.2104 4.67318 21.2591C2.94413 19.112 2 16.8053 2 13.7872C2 7.23699 7.41335 2 14 2C20.5867 2 26 7.23699 26 13.7872C26 16.8053 25.0559 19.112 23.3268 21.2591C21.7554 23.2104 19.4917 25.0713 16.8438 27.248Z" fill="#B7C3CB"/>
4
+ <path d="M16.05 26.2824L16.0499 26.2825L15.7556 26.5244L15.7555 26.5245C14.7366 27.3625 13.2634 27.3625 12.2445 26.5245L12.2444 26.5244L11.9501 26.2824L11.95 26.2824L11.9285 26.2647L11.9285 26.2647C9.25828 24.0696 7.11648 22.3001 5.64673 20.475C4.07923 18.5286 3.25 16.4936 3.25 13.7872C3.25 7.95383 8.07692 3.25 14 3.25C19.9231 3.25 24.75 7.95383 24.75 13.7872C24.75 16.4936 23.9208 18.5286 22.3533 20.475C20.8796 22.305 18.7302 24.0791 16.05 26.2824Z" stroke="#FBFCFD" stroke-width="2.5"/>
5
+ </g>
6
+ <defs>
7
+ <filter id="filter0_d_5717_115898" x="0" y="0" width="28" height="30.4031" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
8
+ <feFlood flood-opacity="0" result="BackgroundImageFix"/>
9
+ <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
10
+ <feOffset/>
11
+ <feGaussianBlur stdDeviation="1"/>
12
+ <feComposite in2="hardAlpha" operator="out"/>
13
+ <feColorMatrix type="matrix" values="0 0 0 0 0.45098 0 0 0 0 0.352941 0 0 0 0 0.960784 0 0 0 0.5 0"/>
14
+ <feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_5717_115898"/>
15
+ <feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_5717_115898" result="shape"/>
16
+ </filter>
17
+ </defs>
18
+ </svg>
@@ -0,0 +1,19 @@
1
+ <svg viewBox="0 0 34 36" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path opacity="0.3" fill-rule="evenodd" clip-rule="evenodd" d="M2.5 16.7872C2.5 8.80332 9.0862 2.5 17 2.5C24.9138 2.5 31.5 8.80332 31.5 16.7872C31.5 20.4287 30.3261 23.2789 28.2739 25.8271C26.5401 27.9801 24.1078 29.9793 21.5765 32.06L21.4314 32.1792L21.1375 32.4209C18.7345 34.397 15.2655 34.397 12.8626 32.4209L12.5686 32.1792L12.4235 32.0599C9.89222 29.9793 7.45988 27.9801 5.72607 25.8271C3.67393 23.2789 2.5 20.4287 2.5 16.7872Z" fill="#B7C3CB" stroke="#B7C3CB" stroke-width="4"/>
3
+ <g opacity="0.75" filter="url(#filter0_d_6086_251849)">
4
+ <path d="M19.8438 30.248L19.5495 30.49C18.0692 31.7073 15.9308 31.7073 14.4505 30.49L14.1562 30.248L14.1562 30.248C11.5083 28.0713 9.24461 26.2104 7.67318 24.2591C5.94413 22.112 5 19.8053 5 16.7872C5 10.237 10.4133 5 17 5C23.5867 5 29 10.237 29 16.7872C29 19.8053 28.0559 22.112 26.3268 24.2591C24.7554 26.2104 22.4917 28.0713 19.8438 30.248Z" fill="#B7C3CB"/>
5
+ <path d="M19.05 29.2824L19.0499 29.2825L18.7556 29.5244L18.7555 29.5245C17.7366 30.3625 16.2634 30.3625 15.2445 29.5245L15.2444 29.5244L14.9501 29.2824L14.95 29.2824L14.9285 29.2647L14.9285 29.2647C12.2583 27.0696 10.1165 25.3001 8.64673 23.475C7.07923 21.5286 6.25 19.4936 6.25 16.7872C6.25 10.9538 11.0769 6.25 17 6.25C22.9231 6.25 27.75 10.9538 27.75 16.7872C27.75 19.4936 26.9208 21.5286 25.3533 23.475C23.8796 25.305 21.7302 27.0791 19.05 29.2824Z" stroke="#FBFCFD" stroke-width="2.5"/>
6
+ </g>
7
+ <defs>
8
+ <filter id="filter0_d_6086_251849" x="3" y="3" width="28" height="30.4031" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
9
+ <feFlood flood-opacity="0" result="BackgroundImageFix"/>
10
+ <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
11
+ <feOffset/>
12
+ <feGaussianBlur stdDeviation="1"/>
13
+ <feComposite in2="hardAlpha" operator="out"/>
14
+ <feColorMatrix type="matrix" values="0 0 0 0 0.45098 0 0 0 0 0.352941 0 0 0 0 0.960784 0 0 0 0.5 0"/>
15
+ <feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_6086_251849"/>
16
+ <feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_6086_251849" result="shape"/>
17
+ </filter>
18
+ </defs>
19
+ </svg>
@@ -0,0 +1,18 @@
1
+ <svg viewBox="0 0 28 31" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <g filter="url(#filter0_d_5670_77317)">
3
+ <path d="M16.8438 27.248L16.5495 27.49C15.0692 28.7073 12.9308 28.7073 11.4505 27.49L11.1562 27.248L11.1562 27.248C8.5083 25.0713 6.24461 23.2104 4.67318 21.2591C2.94413 19.112 2 16.8053 2 13.7872C2 7.23699 7.41335 2 14 2C20.5867 2 26 7.23699 26 13.7872C26 16.8053 25.0559 19.112 23.3268 21.2591C21.7554 23.2104 19.4917 25.0713 16.8438 27.248Z" fill="#BB42BC"/>
4
+ <path d="M16.2087 26.4756L16.2087 26.4755C18.8825 24.2775 21.0547 22.4861 22.548 20.6318C24.1478 18.6453 25 16.5559 25 13.7872C25 7.81046 20.0558 3 14 3C7.94421 3 3 7.81046 3 13.7872C3 16.5559 3.85221 18.6453 5.45202 20.6318C6.94206 22.4821 9.10817 24.2698 11.774 26.4614L11.7741 26.4614L16.2087 26.4756ZM16.2087 26.4756L15.9144 26.7175L15.9143 26.7176C14.8031 27.6314 13.1969 27.6314 12.0857 26.7176L12.0856 26.7175L11.7913 26.4756L11.7912 26.4755L16.2087 26.4756Z" stroke="#FBFCFD" stroke-width="2"/>
5
+ </g>
6
+ <defs>
7
+ <filter id="filter0_d_5670_77317" x="0" y="0" width="28" height="30.4031" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
8
+ <feFlood flood-opacity="0" result="BackgroundImageFix"/>
9
+ <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
10
+ <feOffset/>
11
+ <feGaussianBlur stdDeviation="1"/>
12
+ <feComposite in2="hardAlpha" operator="out"/>
13
+ <feColorMatrix type="matrix" values="0 0 0 0 0.45098 0 0 0 0 0.352941 0 0 0 0 0.960784 0 0 0 0.5 0"/>
14
+ <feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_5670_77317"/>
15
+ <feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_5670_77317" result="shape"/>
16
+ </filter>
17
+ </defs>
18
+ </svg>
@@ -0,0 +1,19 @@
1
+ <svg viewBox="0 0 34 36" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path opacity="0.35" fill-rule="evenodd" clip-rule="evenodd" d="M2.5 16.7872C2.5 8.80332 9.0862 2.5 17 2.5C24.9138 2.5 31.5 8.80332 31.5 16.7872C31.5 20.4287 30.3261 23.2789 28.2739 25.8271C26.5401 27.9801 24.1078 29.9793 21.5765 32.06L21.4314 32.1792L21.1375 32.4209C18.7345 34.397 15.2655 34.397 12.8626 32.4209L12.5686 32.1792L12.4235 32.0599C9.89222 29.9793 7.45988 27.9801 5.72607 25.8271C3.67393 23.2789 2.5 20.4287 2.5 16.7872Z" fill="#BB42BC" stroke="#BB42BC" stroke-width="4"/>
3
+ <g filter="url(#filter0_d_6086_251849)">
4
+ <path d="M19.8438 30.248L19.5495 30.49C18.0692 31.7073 15.9308 31.7073 14.4505 30.49L14.1562 30.248L14.1562 30.248C11.5083 28.0713 9.24461 26.2104 7.67318 24.2591C5.94413 22.112 5 19.8053 5 16.7872C5 10.237 10.4133 5 17 5C23.5867 5 29 10.237 29 16.7872C29 19.8053 28.0559 22.112 26.3268 24.2591C24.7554 26.2104 22.4917 28.0713 19.8438 30.248Z" fill="#BB42BC"/>
5
+ <path d="M19.2087 29.4756L19.2087 29.4755C21.8825 27.2775 24.0547 25.4861 25.548 23.6318C27.1478 21.6453 28 19.5559 28 16.7872C28 10.8105 23.0558 6 17 6C10.9442 6 6 10.8105 6 16.7872C6 19.5559 6.85221 21.6453 8.45202 23.6318C9.94206 25.4821 12.1082 27.2698 14.774 29.4614L14.7741 29.4614L19.2087 29.4756ZM19.2087 29.4756L18.9144 29.7175L18.9143 29.7176C17.8031 30.6314 16.1969 30.6314 15.0857 29.7176L15.0856 29.7175L14.7913 29.4756L14.7912 29.4755L19.2087 29.4756Z" stroke="#FBFCFD" stroke-width="2"/>
6
+ </g>
7
+ <defs>
8
+ <filter id="filter0_d_6086_251849" x="3" y="3" width="28" height="30.4031" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
9
+ <feFlood flood-opacity="0" result="BackgroundImageFix"/>
10
+ <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
11
+ <feOffset/>
12
+ <feGaussianBlur stdDeviation="1"/>
13
+ <feComposite in2="hardAlpha" operator="out"/>
14
+ <feColorMatrix type="matrix" values="0 0 0 0 0.45098 0 0 0 0 0.352941 0 0 0 0 0.960784 0 0 0 0.5 0"/>
15
+ <feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_6086_251849"/>
16
+ <feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_6086_251849" result="shape"/>
17
+ </filter>
18
+ </defs>
19
+ </svg>
@@ -0,0 +1,18 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 28 31" fill="none">
2
+ <g filter="url(#filter0_d_5670_77873)">
3
+ <path d="M16.8438 27.248L16.5495 27.49C15.0692 28.7073 12.9308 28.7073 11.4505 27.49L11.1562 27.248L11.1562 27.248C8.5083 25.0713 6.24461 23.2104 4.67318 21.2591C2.94413 19.112 2 16.8053 2 13.7872C2 7.23699 7.41335 2 14 2C20.5867 2 26 7.23699 26 13.7872C26 16.8053 25.0559 19.112 23.3268 21.2591C21.7554 23.2104 19.4917 25.0713 16.8438 27.248Z" fill="#735AF5"/>
4
+ <path d="M16.05 26.2824L16.0499 26.2825L15.7556 26.5244L15.7555 26.5245C14.7366 27.3625 13.2634 27.3625 12.2445 26.5245L12.2444 26.5244L11.9501 26.2824L11.95 26.2824L11.9285 26.2647L11.9285 26.2647C9.25828 24.0696 7.11648 22.3001 5.64673 20.475C4.07923 18.5286 3.25 16.4936 3.25 13.7872C3.25 7.95383 8.07692 3.25 14 3.25C19.9231 3.25 24.75 7.95383 24.75 13.7872C24.75 16.4936 23.9208 18.5286 22.3533 20.475C20.8796 22.305 18.7302 24.0791 16.05 26.2824Z" stroke="#FBFCFD" stroke-width="2.5"/>
5
+ </g>
6
+ <defs>
7
+ <filter id="filter0_d_5670_77873" x="0" y="0" width="28" height="30.4031" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
8
+ <feFlood flood-opacity="0" result="BackgroundImageFix"/>
9
+ <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
10
+ <feOffset/>
11
+ <feGaussianBlur stdDeviation="1"/>
12
+ <feComposite in2="hardAlpha" operator="out"/>
13
+ <feColorMatrix type="matrix" values="0 0 0 0 0.45098 0 0 0 0 0.352941 0 0 0 0 0.960784 0 0 0 0.5 0"/>
14
+ <feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_5670_77873"/>
15
+ <feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_5670_77873" result="shape"/>
16
+ </filter>
17
+ </defs>
18
+ </svg>
@@ -0,0 +1,19 @@
1
+ <svg viewBox="0 0 34 36" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path opacity="0.35" fill-rule="evenodd" clip-rule="evenodd" d="M2.5 16.7872C2.5 8.80332 9.0862 2.5 17 2.5C24.9138 2.5 31.5 8.80332 31.5 16.7872C31.5 20.4287 30.3261 23.2789 28.2739 25.8271C26.5401 27.9801 24.1078 29.9793 21.5765 32.06L21.4314 32.1792L21.1375 32.4209C18.7345 34.397 15.2655 34.397 12.8626 32.4209L12.5686 32.1792L12.4235 32.0599C9.89222 29.9793 7.45988 27.9801 5.72607 25.8271C3.67393 23.2789 2.5 20.4287 2.5 16.7872Z" fill="#735AF5" stroke="#735AF5" stroke-width="4"/>
3
+ <g filter="url(#filter0_d_6086_251849)">
4
+ <path d="M19.8438 30.248L19.5495 30.49C18.0692 31.7073 15.9308 31.7073 14.4505 30.49L14.1562 30.248L14.1562 30.248C11.5083 28.0713 9.24461 26.2104 7.67318 24.2591C5.94413 22.112 5 19.8053 5 16.7872C5 10.237 10.4133 5 17 5C23.5867 5 29 10.237 29 16.7872C29 19.8053 28.0559 22.112 26.3268 24.2591C24.7554 26.2104 22.4917 28.0713 19.8438 30.248Z" fill="#735AF5"/>
5
+ <path d="M19.05 29.2824L19.0499 29.2825L18.7556 29.5244L18.7555 29.5245C17.7366 30.3625 16.2634 30.3625 15.2445 29.5245L15.2444 29.5244L14.9501 29.2824L14.95 29.2824L14.9285 29.2647L14.9285 29.2647C12.2583 27.0696 10.1165 25.3001 8.64673 23.475C7.07923 21.5286 6.25 19.4936 6.25 16.7872C6.25 10.9538 11.0769 6.25 17 6.25C22.9231 6.25 27.75 10.9538 27.75 16.7872C27.75 19.4936 26.9208 21.5286 25.3533 23.475C23.8796 25.305 21.7302 27.0791 19.05 29.2824Z" stroke="#FBFCFD" stroke-width="2.5"/>
6
+ </g>
7
+ <defs>
8
+ <filter id="filter0_d_6086_251849" x="3" y="3" width="28" height="30.4031" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
9
+ <feFlood flood-opacity="0" result="BackgroundImageFix"/>
10
+ <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
11
+ <feOffset/>
12
+ <feGaussianBlur stdDeviation="1"/>
13
+ <feComposite in2="hardAlpha" operator="out"/>
14
+ <feColorMatrix type="matrix" values="0 0 0 0 0.45098 0 0 0 0 0.352941 0 0 0 0 0.960784 0 0 0 0.5 0"/>
15
+ <feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_6086_251849"/>
16
+ <feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_6086_251849" result="shape"/>
17
+ </filter>
18
+ </defs>
19
+ </svg>
@@ -0,0 +1,5 @@
1
+ export * from './BMMaps';
2
+ export * from './BMMapMarker';
3
+ export * from './markerTypes';
4
+ export * from './legend/MapLegend'
5
+ export * from './MapIcons';