bento-charts 2.2.0 → 2.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/README.md +94 -23
  2. package/dist/ChartConfigProvider.d.ts +4 -2
  3. package/dist/ChartConfigProvider.js +6 -1
  4. package/dist/ChartConfigProvider.js.map +1 -1
  5. package/dist/Components/Charts/BentoBarChart.js.map +1 -1
  6. package/dist/Components/Charts/BentoPie.d.ts +1 -1
  7. package/dist/Components/Charts/BentoPie.js +39 -37
  8. package/dist/Components/Charts/BentoPie.js.map +1 -1
  9. package/dist/Components/Maps/BentoChoroplethMap.d.ts +3 -0
  10. package/dist/Components/Maps/BentoChoroplethMap.js +90 -0
  11. package/dist/Components/Maps/BentoChoroplethMap.js.map +1 -0
  12. package/dist/Components/Maps/BentoMapContainer.d.ts +7 -0
  13. package/dist/Components/Maps/BentoMapContainer.js +33 -0
  14. package/dist/Components/Maps/BentoMapContainer.js.map +1 -0
  15. package/dist/Components/Maps/BentoOSMTileLayer.d.ts +2 -0
  16. package/dist/Components/Maps/BentoOSMTileLayer.js +6 -0
  17. package/dist/Components/Maps/BentoOSMTileLayer.js.map +1 -0
  18. package/dist/Components/Maps/BentoPointMap.d.ts +3 -0
  19. package/dist/Components/Maps/BentoPointMap.js +25 -0
  20. package/dist/Components/Maps/BentoPointMap.js.map +1 -0
  21. package/dist/Components/Maps/controls/MapLegendContinuous.d.ts +10 -0
  22. package/dist/Components/Maps/controls/MapLegendContinuous.js +19 -0
  23. package/dist/Components/Maps/controls/MapLegendContinuous.js.map +1 -0
  24. package/dist/Components/Maps/controls/MapLegendDiscrete.d.ts +8 -0
  25. package/dist/Components/Maps/controls/MapLegendDiscrete.js +22 -0
  26. package/dist/Components/Maps/controls/MapLegendDiscrete.js.map +1 -0
  27. package/dist/Components/Maps/controls/utils.d.ts +4 -0
  28. package/dist/Components/Maps/controls/utils.js +7 -0
  29. package/dist/Components/Maps/controls/utils.js.map +1 -0
  30. package/dist/constants/chartConstants.d.ts +0 -1
  31. package/dist/constants/chartConstants.js +0 -1
  32. package/dist/constants/chartConstants.js.map +1 -1
  33. package/dist/constants/mapConstants.d.ts +2 -0
  34. package/dist/constants/mapConstants.js +3 -0
  35. package/dist/constants/mapConstants.js.map +1 -0
  36. package/dist/index.js +5 -0
  37. package/dist/index.js.map +1 -1
  38. package/dist/maps.d.ts +3 -0
  39. package/dist/maps.js +5 -0
  40. package/dist/maps.js.map +1 -0
  41. package/dist/types/chartTypes.d.ts +12 -9
  42. package/dist/types/geoJSONTypes.d.ts +18 -0
  43. package/dist/types/geoJSONTypes.js +2 -0
  44. package/dist/types/geoJSONTypes.js.map +1 -0
  45. package/dist/types/mapTypes.d.ts +43 -0
  46. package/dist/types/mapTypes.js +2 -0
  47. package/dist/types/mapTypes.js.map +1 -0
  48. package/package.json +30 -4
  49. package/src/ChartConfigProvider.tsx +17 -2
  50. package/src/Components/Charts/BentoBarChart.tsx +2 -2
  51. package/src/Components/Charts/BentoPie.tsx +64 -57
  52. package/src/Components/Maps/BentoChoroplethMap.tsx +137 -0
  53. package/src/Components/Maps/BentoMapContainer.tsx +35 -0
  54. package/src/Components/Maps/BentoOSMTileLayer.tsx +7 -0
  55. package/src/Components/Maps/BentoPointMap.tsx +30 -0
  56. package/src/Components/Maps/controls/MapLegendContinuous.tsx +32 -0
  57. package/src/Components/Maps/controls/MapLegendDiscrete.tsx +31 -0
  58. package/src/Components/Maps/controls/utils.ts +8 -0
  59. package/src/constants/chartConstants.ts +0 -1
  60. package/src/constants/mapConstants.ts +4 -0
  61. package/src/index.ts +7 -0
  62. package/src/maps.ts +4 -0
  63. package/src/react-app-env.d.ts +1 -0
  64. package/src/styles.css +48 -0
  65. package/src/types/chartTypes.ts +13 -9
  66. package/src/types/geoJSONTypes.ts +21 -0
  67. package/src/types/mapTypes.ts +52 -0
  68. package/webpack.config.js +60 -0
package/README.md CHANGED
@@ -4,19 +4,37 @@
4
4
  [![Coverage Status](https://coveralls.io/repos/github/bento-platform/Bento-Charts/badge.svg?branch=master)](https://coveralls.io/github/bento-platform/Bento-Charts?branch=master)
5
5
  [![npm version](https://badge.fury.io/js/bento-charts.svg)](https://badge.fury.io/js/bento-charts)
6
6
 
7
- This repository hosts the code for Bento-Charts, a library in React, TypeScript and Recharts.
7
+ This repository hosts the code for `bento-charts`, a library written in TypeScript for React projects, which wraps
8
+ Recharts and Leaflet in easy-to-use components compatible with the Bento platform.
9
+
10
+ The following components are currently available:
11
+
12
+ * Bar chart
13
+ * Pie chart
14
+ * Choropleth map
15
+ * Point map
16
+
8
17
 
9
- Bento charts offers Bar and Pie charts for Bento project UI web applications in React.
10
18
 
11
19
  ## Installation
12
- Add Bento-Charts as a dependency to another project:
20
+
21
+ Add `bento-charts` as a dependency to another project:
13
22
 
14
23
  ```bash
15
24
  npm install bento-charts
16
25
  ```
17
26
 
27
+ To install `bento-charts` with map support:
28
+
29
+ ```bash
30
+ npm install bento-charts leaflet react-leaflet
31
+ ```
32
+
33
+
34
+
18
35
  ## Usage
19
- Wrap your app in the ChartConfigProvider and pass in the Language of your site.
36
+
37
+ Wrap your app in the `ChartConfigProvider` and pass in the Language of your site.
20
38
 
21
39
  ```jsx
22
40
  import { ChartConfigProvider } from 'bento-charts';
@@ -40,26 +58,60 @@ You also can provide your own theme and translation dictionary.
40
58
  <App />
41
59
  </ChartConfigProvider>
42
60
  ```
43
- refer to [theme](https://github.com/bento-platform/Bento-Charts/blob/eee46541eec68e2dd7f62f8d786148480ce5105f/src/types/chartTypes.ts#L20) and [translations](https://github.com/bento-platform/Bento-Charts/blob/eee46541eec68e2dd7f62f8d786148480ce5105f/src/types/chartTypes.ts#L47) for more information.
44
- ## Using a Chart
61
+ refer to [theme](https://github.com/bento-platform/Bento-Charts/blob/main/src/types/chartTypes.ts#L20)
62
+ and [translations](https://github.com/bento-platform/Bento-Charts/blob/main/src/types/chartTypes.ts#L47)
63
+ for more information.
64
+
65
+ Right now, no properties from `ChartConfigProvider` are used for any map components, but they may do so in the future.
66
+
67
+
68
+ ## Usage
69
+
70
+ ### Using a Chart
45
71
 
46
72
  ```jsx
47
73
  import { BarChart, PieChart } from 'bento-charts';
48
74
  ```
49
- Refer to [Props](https://github.com/bento-platform/Bento-Charts/blob/eee46541eec68e2dd7f62f8d786148480ce5105f/src/types/chartTypes.ts#L51) for information on their props.
75
+ Refer to [Props](https://github.com/bento-platform/Bento-Charts/blob/main/src/types/chartTypes.ts#L51)
76
+ for information on their props.
77
+
78
+
79
+ ### Using a Map
80
+
81
+ Maps can be imported using a command like the following:
82
+
83
+ ```jsx
84
+ import { ChoroplethMap } from 'bento-charts/maps';
85
+ ```
86
+
87
+ Here, note the sub-path on the import - this separation allows us to have the
88
+ map-related peer dependencies marked as "optional".
89
+
90
+ The following map components are available:
91
+
92
+ * `ChoroplethMap` for showing a choropleth map, coloured by
93
+ * `PointMap` (for showing a list of point coordinates; this uses a different data structure than the other components)
94
+
95
+ See [map component properties](https://github.com/bento-platform/bento_charts/blob/main/src/types/mapTypes.ts)
96
+ for more information.
97
+
98
+
50
99
 
51
100
  ## Release procedure
52
101
 
53
- A commit on the `main` branch will trigger a build and release of the package to the npm Registry, no need to manually create tags thanks to semantic-release.
102
+ A commit on the `main` branch will trigger a build and release of the package to the npm Registry, no need to manually
103
+ create tags thanks to semantic-release.
54
104
 
55
105
  **Please follow the instructions bellow when writing your commits.**
56
106
 
107
+
57
108
  ### Semantic release
58
109
  Bento-Charts adheres to the [semver](https://semver.org/) versioning convention (Semantic Versioning). This repository uses the
59
110
  [semantic-release](https://github.com/semantic-release/semantic-release) library to automate the release of semver compliant packages to
60
111
  the npm Registry.
61
112
 
62
- Semantic-release parses the commit messages in the release branch in order to determine the versioning changes. It does not rely on magic to work, but rather on specific commit message formats, which are described bellow.
113
+ Semantic-release parses the commit messages in the release branch in order to determine the versioning changes. It does
114
+ not rely on magic to work, but rather on specific commit message formats, which are described bellow.
63
115
 
64
116
  ### Commit message guidelines
65
117
  Semantic-release uses the [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) specification in order to parse relevant information.
@@ -93,9 +145,12 @@ After adding unit tests to the charts
93
145
  test(charts): add unit tests for mixbarchart
94
146
  ```
95
147
 
96
- ## Commit with commitlint
97
- [Commitlint](https://commitlint.js.org/#/) is a safeguard for commit message formats, which you can use to help write semver
98
- compliant commits. [Husky](https://github.com/typicode/husky) is a git hooks tool that binds commitlint to the `git commit` command.
148
+
149
+
150
+ ## Commit with `commitlint`
151
+
152
+ [Commitlint](https://commitlint.js.org/#/) is a safeguard for commit message formats, which you can use to help write
153
+ semver-compliant commits. [Husky](https://github.com/typicode/husky) is a git hooks tool that binds commitlint to the `git commit` command.
99
154
 
100
155
  ### Installation
101
156
  Run these steps once to setup commitlint + husky.
@@ -116,24 +171,40 @@ Example:
116
171
  git commit -m "ci(semantic-release): add commitlint and husky as dev tools to write valid commits"
117
172
  ```
118
173
 
174
+
175
+
119
176
  ## Local development
177
+
120
178
  For local development in a React/Recharts app that uses bento-charts, you can follow these steps for your setup:
121
179
 
122
180
  1. `build` and `pack` bento-charts
123
- ```bash
124
- # Builds package and creates a pack file in the "./packs" dir
125
- npm run buildpack
126
- ```
181
+ ```bash
182
+ # Builds package and creates a pack file in the "./packs" dir
183
+ npm run buildpack
184
+ ```
127
185
 
128
186
  2. In the project using bento-charts, modify the bento-charts dependency in package.json so that the version number is now the absolute path to the pack file.
129
- ```diff
130
- - "bento-charts": "2.0.0",
131
- + "bento-charts": "file:~/bento-charts/packs/bento-charts-2.0.0.tgz",
132
- ```
187
+ ```diff
188
+ - "bento-charts": "2.0.0",
189
+ + "bento-charts": "file:~/bento-charts/packs/bento-charts-2.0.0.tgz",
190
+ ```
133
191
 
134
192
  3. Install the dependencies in the project
193
+ ```bash
194
+ npm install
195
+ ```
196
+
197
+ **Note: you will need to repeat steps 1 and 3 everytime you want the changes to be applied to the app using
198
+ `bento-charts`**
199
+
200
+
201
+
202
+ ## Testing
203
+
204
+ A small web application is included in the `test` folder to provide an easy manual testing bed for components.
205
+
206
+ This application can be launched with the following command:
207
+
135
208
  ```bash
136
- npm install
209
+ npm test
137
210
  ```
138
-
139
- **Note: you will need to repeat steps 1 and 3 everytime you want the changes to be applied to the app using bento-charts**
@@ -1,14 +1,16 @@
1
1
  import React from 'react';
2
- import { ChartTheme, LngDictionary, TranslationObject } from './types/chartTypes';
2
+ import type { ChartTheme, LngDictionary, TranslationObject } from './types/chartTypes';
3
3
  export declare function useChartTheme(): ChartTheme;
4
4
  export declare function useChartTranslation(): LngDictionary;
5
5
  export declare function useChartThreshold(): number;
6
- declare const ChartConfigProvider: ({ theme, Lng, translationMap, children, globalThreshold }: ChartConfigProviderProps) => import("react/jsx-runtime").JSX.Element | null;
6
+ export declare function useChartMaxLabelChars(): number;
7
+ declare const ChartConfigProvider: ({ theme, Lng, translationMap, children, globalThreshold, maxLabelChars, }: ChartConfigProviderProps) => import("react/jsx-runtime").JSX.Element | null;
7
8
  type ChartConfigProviderProps = {
8
9
  theme?: ChartTheme;
9
10
  Lng: string;
10
11
  translationMap?: TranslationObject;
11
12
  children: React.ReactElement;
12
13
  globalThreshold?: number;
14
+ maxLabelChars?: number;
13
15
  };
14
16
  export default ChartConfigProvider;
@@ -16,6 +16,7 @@ var DEFAULT_CONTEXT = {
16
16
  theme: DEFAULT_CHART_THEME,
17
17
  translation: defaultTranslationObject.en,
18
18
  threshold: 0,
19
+ maxLabelChars: 14,
19
20
  };
20
21
  var ChartContext = React.createContext(DEFAULT_CONTEXT);
21
22
  export function useChartTheme() {
@@ -27,8 +28,11 @@ export function useChartTranslation() {
27
28
  export function useChartThreshold() {
28
29
  return useContext(ChartContext).threshold;
29
30
  }
31
+ export function useChartMaxLabelChars() {
32
+ return useContext(ChartContext).maxLabelChars;
33
+ }
30
34
  var ChartConfigProvider = function (_a) {
31
- var theme = _a.theme, Lng = _a.Lng, translationMap = _a.translationMap, children = _a.children, globalThreshold = _a.globalThreshold;
35
+ var theme = _a.theme, Lng = _a.Lng, translationMap = _a.translationMap, children = _a.children, globalThreshold = _a.globalThreshold, maxLabelChars = _a.maxLabelChars;
32
36
  var lang = 'en';
33
37
  try {
34
38
  lang = Lng;
@@ -41,6 +45,7 @@ var ChartConfigProvider = function (_a) {
41
45
  theme: theme !== null && theme !== void 0 ? theme : DEFAULT_CONTEXT.theme,
42
46
  translation: translationMap ? translationMap[lang] : defaultTranslationObject[lang],
43
47
  threshold: globalThreshold !== null && globalThreshold !== void 0 ? globalThreshold : DEFAULT_CONTEXT.threshold,
48
+ maxLabelChars: maxLabelChars !== null && maxLabelChars !== void 0 ? maxLabelChars : DEFAULT_CONTEXT.maxLabelChars,
44
49
  };
45
50
  return _jsx(ChartContext.Provider, __assign({ value: contextValue }, { children: children }));
46
51
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ChartConfigProvider.js","sourceRoot":"","sources":["../src/ChartConfigProvider.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAS3F,IAAM,eAAe,GAAqB;IACxC,KAAK,EAAE,mBAAmB;IAC1B,WAAW,EAAE,wBAAwB,CAAC,EAAE;IACxC,SAAS,EAAE,CAAC;CACb,CAAC;AAEF,IAAM,YAAY,GAAG,KAAK,CAAC,aAAa,CAAmB,eAAe,CAAC,CAAC;AAE5E,MAAM,UAAU,aAAa;IAC3B,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,WAAW,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC;AAC5C,CAAC;AAED,IAAM,mBAAmB,GAAG,UAAC,EAAmF;QAAjF,KAAK,WAAA,EAAE,GAAG,SAAA,EAAE,cAAc,oBAAA,EAAE,QAAQ,cAAA,EAAE,eAAe,qBAAA;IAClF,IAAI,IAAI,GAAiB,IAAI,CAAC;IAC9B,IAAI;QACF,IAAI,GAAG,GAAmB,CAAC;KAC5B;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC;KACb;IACD,IAAM,YAAY,GAAG;QACnB,KAAK,EAAE,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,eAAe,CAAC,KAAK;QACrC,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,IAAI,CAAC;QACnF,SAAS,EAAE,eAAe,aAAf,eAAe,cAAf,eAAe,GAAI,eAAe,CAAC,SAAS;KACxD,CAAC;IACF,OAAO,KAAC,YAAY,CAAC,QAAQ,aAAC,KAAK,EAAE,YAAY,gBAAG,QAAQ,IAAyB,CAAC;AACxF,CAAC,CAAC;AAUF,eAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"ChartConfigProvider.js","sourceRoot":"","sources":["../src/ChartConfigProvider.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAU3F,IAAM,eAAe,GAAqB;IACxC,KAAK,EAAE,mBAAmB;IAC1B,WAAW,EAAE,wBAAwB,CAAC,EAAE;IACxC,SAAS,EAAE,CAAC;IACZ,aAAa,EAAE,EAAE;CAClB,CAAC;AAEF,IAAM,YAAY,GAAG,KAAK,CAAC,aAAa,CAAmB,eAAe,CAAC,CAAC;AAE5E,MAAM,UAAU,aAAa;IAC3B,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,WAAW,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,qBAAqB;IACnC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,aAAa,CAAC;AAChD,CAAC;AAED,IAAM,mBAAmB,GAAG,UAAC,EAOF;QANzB,KAAK,WAAA,EACL,GAAG,SAAA,EACH,cAAc,oBAAA,EACd,QAAQ,cAAA,EACR,eAAe,qBAAA,EACf,aAAa,mBAAA;IAEb,IAAI,IAAI,GAAiB,IAAI,CAAC;IAC9B,IAAI;QACF,IAAI,GAAG,GAAmB,CAAC;KAC5B;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC;KACb;IACD,IAAM,YAAY,GAAG;QACnB,KAAK,EAAE,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,eAAe,CAAC,KAAK;QACrC,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,IAAI,CAAC;QACnF,SAAS,EAAE,eAAe,aAAf,eAAe,cAAf,eAAe,GAAI,eAAe,CAAC,SAAS;QACvD,aAAa,EAAE,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,eAAe,CAAC,aAAa;KAC9D,CAAC;IACF,OAAO,KAAC,YAAY,CAAC,QAAQ,aAAC,KAAK,EAAE,YAAY,gBAAG,QAAQ,IAAyB,CAAC;AACxF,CAAC,CAAC;AAWF,eAAe,mBAAmB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"BentoBarChart.js","sourceRoot":"","sources":["../../../src/Components/Charts/BentoBarChart.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BentoBarChart.js","sourceRoot":"","sources":["../../../src/Components/Charts/BentoBarChart.tsx"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  import type { PieChartProps } from '../../types/chartTypes';
2
- declare const BentoPie: ({ data, height, preFilter, dataMap, postFilter, onClick, sort, removeEmpty, colorTheme, chartThreshold, }: PieChartProps) => import("react/jsx-runtime").JSX.Element;
2
+ declare const BentoPie: ({ data, height, preFilter, dataMap, postFilter, onClick, sort, removeEmpty, colorTheme, chartThreshold, maxLabelChars, }: PieChartProps) => import("react/jsx-runtime").JSX.Element;
3
3
  export default BentoPie;
@@ -21,22 +21,22 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
21
21
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
22
22
  import { useState } from 'react';
23
23
  import { PieChart, Pie, Cell, Curve, Tooltip, Sector } from 'recharts';
24
- import { TOOL_TIP_STYLE, LABEL_STYLE, COUNT_STYLE, CHART_MISSING_FILL, CHART_WRAPPER_STYLE, RADIAN, MAX_LABEL_CHARS, CHART_ASPECT_RATIO, LABEL_THRESHOLD, COUNT_TEXT_STYLE, TEXT_STYLE, } from '../../constants/chartConstants';
25
- import { useChartTheme, useChartTranslation, useChartThreshold } from '../../ChartConfigProvider';
24
+ import { TOOL_TIP_STYLE, LABEL_STYLE, COUNT_STYLE, CHART_MISSING_FILL, CHART_WRAPPER_STYLE, RADIAN, CHART_ASPECT_RATIO, LABEL_THRESHOLD, COUNT_TEXT_STYLE, TEXT_STYLE, } from '../../constants/chartConstants';
25
+ import { useChartTheme, useChartTranslation, useChartThreshold, useChartMaxLabelChars, } from '../../ChartConfigProvider';
26
26
  import { polarToCartesian } from '../../util/chartUtils';
27
27
  import NoData from '../NoData';
28
- var labelShortName = function (name) {
29
- if (name.length <= MAX_LABEL_CHARS) {
28
+ var labelShortName = function (name, maxChars) {
29
+ if (name.length <= maxChars) {
30
30
  return name;
31
31
  }
32
32
  // removing 3 character cause ... s add three characters
33
- return "".concat(name.substring(0, MAX_LABEL_CHARS - 3), "\u2026");
33
+ return "".concat(name.substring(0, maxChars - 3), "\u2026");
34
34
  };
35
35
  var BentoPie = function (_a) {
36
- var data = _a.data, height = _a.height, preFilter = _a.preFilter, dataMap = _a.dataMap, postFilter = _a.postFilter, onClick = _a.onClick, _b = _a.sort, sort = _b === void 0 ? true : _b, _c = _a.removeEmpty, removeEmpty = _c === void 0 ? true : _c, _d = _a.colorTheme, colorTheme = _d === void 0 ? 'default' : _d, _e = _a.chartThreshold, chartThreshold = _e === void 0 ? useChartThreshold() : _e;
36
+ var data = _a.data, height = _a.height, preFilter = _a.preFilter, dataMap = _a.dataMap, postFilter = _a.postFilter, onClick = _a.onClick, _b = _a.sort, sort = _b === void 0 ? true : _b, _c = _a.removeEmpty, removeEmpty = _c === void 0 ? true : _c, _d = _a.colorTheme, colorTheme = _d === void 0 ? 'default' : _d, _e = _a.chartThreshold, chartThreshold = _e === void 0 ? useChartThreshold() : _e, _f = _a.maxLabelChars, maxLabelChars = _f === void 0 ? useChartMaxLabelChars() : _f;
37
37
  var t = useChartTranslation();
38
38
  var theme = useChartTheme().pie[colorTheme];
39
- var _f = useState(undefined), activeIndex = _f[0], setActiveIndex = _f[1];
39
+ var _g = useState(undefined), activeIndex = _g[0], setActiveIndex = _g[1];
40
40
  // ##################### Data processing #####################
41
41
  data = __spreadArray([], data, true); // Changing immutable data to mutable data
42
42
  if (preFilter)
@@ -79,7 +79,7 @@ var BentoPie = function (_a) {
79
79
  var onLeave = function () {
80
80
  setActiveIndex(undefined);
81
81
  };
82
- return (_jsx(_Fragment, { children: _jsx("div", __assign({ style: CHART_WRAPPER_STYLE }, { children: _jsxs(PieChart, __assign({ height: height, width: height * CHART_ASPECT_RATIO }, { children: [_jsx(Pie, __assign({ data: bentoFormatData, dataKey: "value", cx: "50%", cy: "50%", innerRadius: 35, outerRadius: 80, label: RenderLabel, labelLine: false, isAnimationActive: false, onMouseEnter: onEnter, onMouseLeave: onLeave, onMouseOver: onHover, activeIndex: activeIndex, activeShape: RenderActiveLabel, onClick: onClick }, { children: data.map(function (entry, index) {
82
+ return (_jsx(_Fragment, { children: _jsx("div", __assign({ style: CHART_WRAPPER_STYLE }, { children: _jsxs(PieChart, __assign({ height: height, width: height * CHART_ASPECT_RATIO }, { children: [_jsx(Pie, __assign({ data: bentoFormatData, dataKey: "value", cx: "50%", cy: "50%", innerRadius: 35, outerRadius: 80, label: RenderLabel(maxLabelChars), labelLine: false, isAnimationActive: false, onMouseEnter: onEnter, onMouseLeave: onLeave, onMouseOver: onHover, activeIndex: activeIndex, activeShape: RenderActiveLabel, onClick: onClick }, { children: data.map(function (entry, index) {
83
83
  var fill = theme[index % theme.length];
84
84
  fill = entry.x.toLowerCase() === 'missing' ? CHART_MISSING_FILL : fill;
85
85
  return _jsx(Cell, { fill: fill }, index);
@@ -94,35 +94,37 @@ var toNumber = function (val, defaultValue) {
94
94
  }
95
95
  return defaultValue || 0;
96
96
  };
97
- var RenderLabel = function (params) {
98
- var fill = params.fill, payload = params.payload, index = params.index, activeIndex = params.activeIndex;
99
- var percent = params.percent || 0;
100
- var midAngle = params.midAngle || 0;
101
- // skip rendering this static label if the sector is selected.
102
- // this will let the 'renderActiveState' draw without overlapping.
103
- // also, skip rendering if segment is too small a percentage (avoids label clutter)
104
- if (index === activeIndex || percent < LABEL_THRESHOLD) {
105
- return;
106
- }
107
- var outerRadius = toNumber(params.outerRadius);
108
- var cx = toNumber(params.cx);
109
- var cy = toNumber(params.cy);
110
- var name = payload.name === 'null' ? '(Empty)' : payload.name;
111
- var sin = Math.sin(-RADIAN * midAngle);
112
- var cos = Math.cos(-RADIAN * midAngle);
113
- var sx = cx + (outerRadius + 10) * cos;
114
- var sy = cy + (outerRadius + 10) * sin;
115
- var mx = cx + (outerRadius + 20) * cos;
116
- var my = cy + (outerRadius + 20) * sin;
117
- var ex = mx + (cos >= 0 ? 1 : -1) * 22;
118
- var ey = my;
119
- var textAnchor = cos >= 0 ? 'start' : 'end';
120
- var currentTextStyle = __assign(__assign({}, TEXT_STYLE), { fontWeight: payload.selected ? 'bold' : 'normal', fontStyle: payload.name === 'null' ? 'italic' : 'normal' });
121
- var offsetRadius = 20;
122
- var startPoint = polarToCartesian(cx, cy, outerRadius, midAngle);
123
- var endPoint = polarToCartesian(cx, cy, outerRadius + offsetRadius, midAngle);
124
- var lineProps = __assign(__assign({}, params), { fill: 'none', stroke: fill, points: [startPoint, endPoint] });
125
- return (_jsxs("g", { children: [_jsx(Curve, __assign({}, lineProps, { type: "linear", className: "recharts-pie-label-line" })), _jsx("path", { d: "M".concat(sx, ",").concat(sy, "L").concat(mx, ",").concat(my, "L").concat(ex, ",").concat(ey), stroke: fill, fill: "none" }), _jsx("circle", { cx: ex, cy: ey, r: 2, fill: fill, stroke: "none" }), _jsx("text", __assign({ x: ex + (cos >= 0 ? 1 : -1) * 12, y: ey + 3, textAnchor: textAnchor, style: currentTextStyle }, { children: labelShortName(name) })), _jsx("text", __assign({ x: ex + (cos >= 0 ? 1 : -1) * 12, y: ey, dy: 14, textAnchor: textAnchor, style: COUNT_TEXT_STYLE }, { children: "(".concat(payload.value, ")") }))] }));
97
+ var RenderLabel = function (maxLabelChars) {
98
+ return function (params) {
99
+ var fill = params.fill, payload = params.payload, index = params.index, activeIndex = params.activeIndex;
100
+ var percent = params.percent || 0;
101
+ var midAngle = params.midAngle || 0;
102
+ // skip rendering this static label if the sector is selected.
103
+ // this will let the 'renderActiveState' draw without overlapping.
104
+ // also, skip rendering if segment is too small a percentage (avoids label clutter)
105
+ if (index === activeIndex || percent < LABEL_THRESHOLD) {
106
+ return;
107
+ }
108
+ var outerRadius = toNumber(params.outerRadius);
109
+ var cx = toNumber(params.cx);
110
+ var cy = toNumber(params.cy);
111
+ var name = payload.name === 'null' ? '(Empty)' : payload.name;
112
+ var sin = Math.sin(-RADIAN * midAngle);
113
+ var cos = Math.cos(-RADIAN * midAngle);
114
+ var sx = cx + (outerRadius + 10) * cos;
115
+ var sy = cy + (outerRadius + 10) * sin;
116
+ var mx = cx + (outerRadius + 20) * cos;
117
+ var my = cy + (outerRadius + 20) * sin;
118
+ var ex = mx + (cos >= 0 ? 1 : -1) * 22;
119
+ var ey = my;
120
+ var textAnchor = cos >= 0 ? 'start' : 'end';
121
+ var currentTextStyle = __assign(__assign({}, TEXT_STYLE), { fontWeight: payload.selected ? 'bold' : 'normal', fontStyle: payload.name === 'null' ? 'italic' : 'normal' });
122
+ var offsetRadius = 20;
123
+ var startPoint = polarToCartesian(cx, cy, outerRadius, midAngle);
124
+ var endPoint = polarToCartesian(cx, cy, outerRadius + offsetRadius, midAngle);
125
+ var lineProps = __assign(__assign({}, params), { fill: 'none', stroke: fill, points: [startPoint, endPoint] });
126
+ return (_jsxs("g", { children: [_jsx(Curve, __assign({}, lineProps, { type: "linear", className: "recharts-pie-label-line" })), _jsx("path", { d: "M".concat(sx, ",").concat(sy, "L").concat(mx, ",").concat(my, "L").concat(ex, ",").concat(ey), stroke: fill, fill: "none" }), _jsx("circle", { cx: ex, cy: ey, r: 2, fill: fill, stroke: "none" }), _jsx("text", __assign({ x: ex + (cos >= 0 ? 1 : -1) * 12, y: ey + 3, textAnchor: textAnchor, style: currentTextStyle }, { children: labelShortName(name, maxLabelChars) })), _jsx("text", __assign({ x: ex + (cos >= 0 ? 1 : -1) * 12, y: ey, dy: 14, textAnchor: textAnchor, style: COUNT_TEXT_STYLE }, { children: "(".concat(payload.value, ")") }))] }));
127
+ };
126
128
  };
127
129
  var RenderActiveLabel = function (params) {
128
130
  var cx = params.cx, cy = params.cy, innerRadius = params.innerRadius, outerRadius = params.outerRadius, startAngle = params.startAngle, endAngle = params.endAngle, fill = params.fill;
@@ -1 +1 @@
1
- {"version":3,"file":"BentoPie.js","sourceRoot":"","sources":["../../../src/Components/Charts/BentoPie.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BentoPie.js","sourceRoot":"","sources":["../../../src/Components/Charts/BentoPie.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { ChoroplethMapProps } from '../../types/mapTypes';
2
+ declare const BentoChoroplethMap: ({ height, data: originalData, preFilter, dataMap, postFilter, center, zoom, tileLayer, colorMode, features, categoryProp, onClick, renderPopupBody, }: ChoroplethMapProps) => import("react/jsx-runtime").JSX.Element;
3
+ export default BentoChoroplethMap;
@@ -0,0 +1,90 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
13
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
14
+ if (ar || !(i in from)) {
15
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
16
+ ar[i] = from[i];
17
+ }
18
+ }
19
+ return to.concat(ar || Array.prototype.slice.call(from));
20
+ };
21
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
22
+ import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
23
+ import { GeoJSON, Popup } from 'react-leaflet';
24
+ import { interpolateRgb } from 'd3-interpolate';
25
+ import BentoMapContainer from './BentoMapContainer';
26
+ import MapLegendContinuous from './controls/MapLegendContinuous';
27
+ import MapLegendDiscrete from './controls/MapLegendDiscrete';
28
+ var DEFAULT_CATEGORY = '';
29
+ var POS_BOTTOM_RIGHT = 'bottomright';
30
+ var BentoChoroplethMap = function (_a) {
31
+ var height = _a.height, originalData = _a.data, preFilter = _a.preFilter, dataMap = _a.dataMap, postFilter = _a.postFilter, center = _a.center, zoom = _a.zoom, tileLayer = _a.tileLayer, colorMode = _a.colorMode, features = _a.features, categoryProp = _a.categoryProp, onClick = _a.onClick, renderPopupBody = _a.renderPopupBody;
32
+ var data = useMemo(function () {
33
+ var data = __spreadArray([], originalData, true);
34
+ if (preFilter)
35
+ data = data.filter(preFilter);
36
+ if (dataMap)
37
+ data = data.map(dataMap);
38
+ if (postFilter)
39
+ data = data.filter(postFilter);
40
+ return data;
41
+ }, [originalData]);
42
+ var dataByFeatureCat = useMemo(function () { return Object.fromEntries(data.map(function (d) { return [d.x, d.y]; })); }, [data]);
43
+ var minYVal = useMemo(function () { return Math.min.apply(Math, data.map(function (d) { return d.y; })); }, [data]);
44
+ var maxYVal = useMemo(function () { return Math.max.apply(Math, data.map(function (d) { return d.y; })); }, [data]);
45
+ var calculateColor = useCallback(function (v) {
46
+ return colorMode.mode === 'continuous'
47
+ ? interpolateRgb(colorMode.minColor, colorMode.maxColor)(((v !== null && v !== void 0 ? v : minYVal) - minYVal) / (maxYVal - minYVal))
48
+ : colorMode.colorFunction(v);
49
+ }, [colorMode, minYVal, maxYVal]);
50
+ var shapeStyle = useCallback(function (f) {
51
+ var _a, _b;
52
+ var fProps = (_a = f.properties) !== null && _a !== void 0 ? _a : {};
53
+ if (!Object.keys(fProps).includes(categoryProp)) {
54
+ console.warn("Feature is missing category prop ".concat(categoryProp), f);
55
+ }
56
+ var cat = (_b = fProps[categoryProp]) !== null && _b !== void 0 ? _b : DEFAULT_CATEGORY;
57
+ return {
58
+ color: 'white',
59
+ weight: 2,
60
+ fillColor: calculateColor(dataByFeatureCat[cat]),
61
+ fillOpacity: 1, // actual opacity set by fillColor
62
+ };
63
+ }, [data, features]);
64
+ var _b = useState(null), popupContents = _b[0], setPopupContents = _b[1];
65
+ var eventHandlers = useMemo(function () {
66
+ return ({
67
+ click: function (e) {
68
+ var _a;
69
+ var feature = e.sourceTarget.feature;
70
+ var fProps = (_a = feature.properties) !== null && _a !== void 0 ? _a : {};
71
+ var title = fProps.title ? "".concat(fProps.title, " (").concat(fProps[categoryProp], ")") : fProps[categoryProp];
72
+ setPopupContents(_jsxs("div", { children: [_jsx("h4", __assign({ style: { marginBottom: renderPopupBody ? 6 : 0 } }, { children: onClick ? (_jsx("a", __assign({ href: "#", onClick: function () {
73
+ if (onClick)
74
+ onClick(feature);
75
+ } }, { children: title }))) : (_jsx("span", { children: title })) })), renderPopupBody ? renderPopupBody(feature, dataByFeatureCat[fProps[categoryProp]]) : null] }));
76
+ },
77
+ });
78
+ }, [onClick, categoryProp, renderPopupBody]);
79
+ var geoJsonLayer = useRef(null);
80
+ useEffect(function () {
81
+ // Bizarre workaround needed for react-leaflet when handling `features` change:
82
+ // See https://github.com/PaulLeCam/react-leaflet/issues/332#issuecomment-731379795
83
+ if (geoJsonLayer.current) {
84
+ geoJsonLayer.current.clearLayers().addData(features);
85
+ }
86
+ }, [features]);
87
+ return (_jsxs(BentoMapContainer, __assign({ height: height, center: center, zoom: zoom, tileLayer: tileLayer }, { children: [_jsx(GeoJSON, __assign({ ref: geoJsonLayer, data: features, style: shapeStyle, eventHandlers: eventHandlers }, { children: _jsx(Popup, { children: popupContents }) })), colorMode.mode === 'continuous' ? (_jsx(MapLegendContinuous, { position: POS_BOTTOM_RIGHT, minColor: colorMode.minColor, minValue: minYVal, maxColor: colorMode.maxColor, maxValue: maxYVal })) : (_jsx(MapLegendDiscrete, { position: POS_BOTTOM_RIGHT, legendItems: colorMode.legendItems }))] })));
88
+ };
89
+ export default BentoChoroplethMap;
90
+ //# sourceMappingURL=BentoChoroplethMap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BentoChoroplethMap.js","sourceRoot":"","sources":["../../../src/Components/Maps/BentoChoroplethMap.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { ReactNode } from 'react';
2
+ import type { BaseMapProps } from '../../types/mapTypes';
3
+ interface MapContainerProps extends BaseMapProps {
4
+ children: ReactNode;
5
+ }
6
+ declare const BentoMapContainer: ({ height, center, zoom, children, tileLayer }: MapContainerProps) => import("react/jsx-runtime").JSX.Element;
7
+ export default BentoMapContainer;
@@ -0,0 +1,33 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
+ import { MapContainer } from 'react-leaflet';
14
+ import L, { Point } from 'leaflet';
15
+ import BentoOSMTileLayer from './BentoOSMTileLayer';
16
+ import iconPng from 'leaflet/dist/images/marker-icon.png';
17
+ import icon2XPng from 'leaflet/dist/images/marker-icon-2x.png';
18
+ import iconShadowPng from 'leaflet/dist/images/marker-shadow.png';
19
+ var defaultIcon = L.icon({
20
+ iconUrl: iconPng,
21
+ iconRetinaUrl: icon2XPng,
22
+ iconSize: new Point(25, 41),
23
+ iconAnchor: new Point(12, 41),
24
+ popupAnchor: new Point(1, -41),
25
+ shadowUrl: iconShadowPng,
26
+ });
27
+ L.Marker.prototype.options.icon = defaultIcon;
28
+ var BentoMapContainer = function (_a) {
29
+ var height = _a.height, center = _a.center, zoom = _a.zoom, children = _a.children, tileLayer = _a.tileLayer;
30
+ return (_jsxs(MapContainer, __assign({ style: { height: height }, center: center, zoom: zoom }, { children: [tileLayer !== null && tileLayer !== void 0 ? tileLayer : _jsx(BentoOSMTileLayer, {}), children] })));
31
+ };
32
+ export default BentoMapContainer;
33
+ //# sourceMappingURL=BentoMapContainer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BentoMapContainer.js","sourceRoot":"","sources":["../../../src/Components/Maps/BentoMapContainer.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEnC,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AAGpD,OAAO,OAAO,MAAM,qCAAqC,CAAC;AAC1D,OAAO,SAAS,MAAM,wCAAwC,CAAC;AAC/D,OAAO,aAAa,MAAM,uCAAuC,CAAC;AAElE,IAAM,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC;IACzB,OAAO,EAAE,OAAO;IAChB,aAAa,EAAE,SAAS;IACxB,QAAQ,EAAE,IAAI,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC;IAC3B,UAAU,EAAE,IAAI,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC;IAC7B,WAAW,EAAE,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAC9B,SAAS,EAAE,aAAa;CACzB,CAAC,CAAC;AAEH,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,GAAG,WAAW,CAAC;AAM9C,IAAM,iBAAiB,GAAG,UAAC,EAAgE;QAA9D,MAAM,YAAA,EAAE,MAAM,YAAA,EAAE,IAAI,UAAA,EAAE,QAAQ,cAAA,EAAE,SAAS,eAAA;IAA0B,OAAA,CAC9F,MAAC,YAAY,aAAC,KAAK,EAAE,EAAE,MAAM,QAAA,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,iBACxD,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,KAAC,iBAAiB,KAAG,EAClC,QAAQ,KACI,CAChB;AAL+F,CAK/F,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
@@ -0,0 +1,2 @@
1
+ declare const BentoOSMTileLayer: () => import("react/jsx-runtime").JSX.Element;
2
+ export default BentoOSMTileLayer;
@@ -0,0 +1,6 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { TileLayer } from 'react-leaflet';
3
+ import { OSM_TILE_LAYER_ATTRIBUTION, OSM_TILE_LAYER_TEMPLATE } from '../../constants/mapConstants';
4
+ var BentoOSMTileLayer = function () { return _jsx(TileLayer, { attribution: OSM_TILE_LAYER_ATTRIBUTION, url: OSM_TILE_LAYER_TEMPLATE }); };
5
+ export default BentoOSMTileLayer;
6
+ //# sourceMappingURL=BentoOSMTileLayer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BentoOSMTileLayer.js","sourceRoot":"","sources":["../../../src/Components/Maps/BentoOSMTileLayer.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,0BAA0B,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEnG,IAAM,iBAAiB,GAAG,cAAM,OAAA,KAAC,SAAS,IAAC,WAAW,EAAE,0BAA0B,EAAE,GAAG,EAAE,uBAAuB,GAAI,EAApF,CAAoF,CAAC;AAErH,eAAe,iBAAiB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { PointMapProps } from '../../types/mapTypes';
2
+ declare const BentoPointMap: ({ height, center, zoom, tileLayer, data, onClick, renderPopupBody }: PointMapProps) => import("react/jsx-runtime").JSX.Element;
3
+ export default BentoPointMap;
@@ -0,0 +1,25 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
13
+ import { Marker, Popup } from 'react-leaflet';
14
+ import BentoMapContainer from './BentoMapContainer';
15
+ var BentoPointMap = function (_a) {
16
+ var height = _a.height, center = _a.center, zoom = _a.zoom, tileLayer = _a.tileLayer, data = _a.data, onClick = _a.onClick, renderPopupBody = _a.renderPopupBody;
17
+ return (_jsx(BentoMapContainer, __assign({ height: height, center: center, zoom: zoom, tileLayer: tileLayer }, { children: data.map(function (point, i) {
18
+ var coordinates = point.coordinates, title = point.title;
19
+ // We expect points in [long, lat] order (consistent with GeoJSON), but Leaflet wants them in [lat, long].
20
+ var coordinatesLatLongOrder = [coordinates[1], coordinates[0]];
21
+ return (_jsx(Marker, __assign({ position: coordinatesLatLongOrder }, { children: _jsxs(Popup, { children: [_jsx("h4", __assign({ style: { marginBottom: renderPopupBody ? 6 : 0 } }, { children: onClick ? _jsx("a", __assign({ onClick: function () { return onClick(point); } }, { children: title })) : _jsx(_Fragment, { children: title }) })), renderPopupBody ? renderPopupBody(point) : null] }) }), i));
22
+ }) })));
23
+ };
24
+ export default BentoPointMap;
25
+ //# sourceMappingURL=BentoPointMap.js.map