@j2inn/fin5-ui-utils 8.1.1-beta.4 → 8.1.1-beta.6

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 (216) hide show
  1. package/README.md +5 -5
  2. package/dist/fantomProps/createFin5Props/index.d.ts +12 -12
  3. package/dist/fantomProps/createFin5Props/index.js +146 -146
  4. package/dist/fantomProps/createFin5Props/runCreateFin5Props.d.ts +2 -2
  5. package/dist/fantomProps/createFin5Props/runCreateFin5Props.js +20 -20
  6. package/dist/fantomProps/fantomPropsToObject.d.ts +8 -8
  7. package/dist/fantomProps/fantomPropsToObject.js +183 -183
  8. package/dist/fantomProps/generateJsonFromFantomPropsFile.d.ts +4 -4
  9. package/dist/fantomProps/generateJsonFromFantomPropsFile.js +41 -41
  10. package/dist/fantomProps/localePropsToJson.d.ts +1 -1
  11. package/dist/fantomProps/localePropsToJson.js +50 -50
  12. package/dist/fantomProps/readFantomPropsFile.d.ts +5 -5
  13. package/dist/fantomProps/readFantomPropsFile.js +65 -65
  14. package/dist/fin5Top/fin5FileUpload.d.ts +24 -24
  15. package/dist/fin5Top/fin5FileUpload.js +51 -51
  16. package/dist/fin5Top/fin5Top.d.ts +165 -124
  17. package/dist/fin5Top/fin5Top.js +61 -53
  18. package/dist/fin5Top/fin5Top.js.map +1 -1
  19. package/dist/fin5Top/finEdge2Cloud.d.ts +6 -6
  20. package/dist/fin5Top/finEdge2Cloud.js +15 -15
  21. package/dist/fin5Top/getFin5BinUrl.d.ts +2 -2
  22. package/dist/fin5Top/getFin5BinUrl.js +9 -9
  23. package/dist/fin5Top/openFin5Alarm.d.ts +22 -22
  24. package/dist/fin5Top/openFin5Alarm.js +23 -23
  25. package/dist/fin5Top/openFin5Historian.d.ts +3 -3
  26. package/dist/fin5Top/openFin5Historian.js +19 -19
  27. package/dist/fin5Top/useFin5AppURLHashParameter.d.ts +18 -18
  28. package/dist/fin5Top/useFin5AppURLHashParameter.js +133 -133
  29. package/dist/index.d.ts +35 -35
  30. package/dist/index.js +69 -69
  31. package/dist/jobs/jobUtils.d.ts +14 -14
  32. package/dist/jobs/jobUtils.js +15 -15
  33. package/dist/react/app/Fin5AppContainer.d.ts +36 -36
  34. package/dist/react/app/Fin5AppContainer.js +145 -168
  35. package/dist/react/app/Fin5AppContainer.js.map +1 -1
  36. package/dist/react/app/Fin5AppRootStore.d.ts +40 -42
  37. package/dist/react/app/Fin5AppRootStore.js +90 -114
  38. package/dist/react/app/Fin5AppRootStore.js.map +1 -1
  39. package/dist/react/components/ErrorBoundary.d.ts +57 -57
  40. package/dist/react/components/ErrorBoundary.js +150 -150
  41. package/dist/react/components/ErrorDisplayer.d.ts +19 -19
  42. package/dist/react/components/ErrorDisplayer.js +36 -36
  43. package/dist/react/components/Loader.d.ts +9 -9
  44. package/dist/react/components/Loader.js +17 -17
  45. package/dist/react/components/LoadingSpinner.d.ts +2 -2
  46. package/dist/react/components/LoadingSpinner.js +27 -27
  47. package/dist/react/components/RecordImage.d.ts +20 -20
  48. package/dist/react/components/RecordImage.js +51 -51
  49. package/dist/react/components/charts/QRCode.d.ts +25 -25
  50. package/dist/react/components/charts/QRCode.js +82 -82
  51. package/dist/react/components/charts/line-bar/Chart.d.ts +166 -166
  52. package/dist/react/components/charts/line-bar/Chart.js +442 -442
  53. package/dist/react/components/charts/line-bar/HGridChart.d.ts +58 -58
  54. package/dist/react/components/charts/line-bar/HGridChart.js +285 -285
  55. package/dist/react/components/charts/pie/PieChart.d.ts +94 -94
  56. package/dist/react/components/charts/pie/PieChart.js +204 -204
  57. package/dist/react/components/charts/pie/SimplePieChart.d.ts +21 -21
  58. package/dist/react/components/charts/pie/SimplePieChart.js +55 -55
  59. package/dist/react/components/graphics/GraphicViewer.d.ts +10 -10
  60. package/dist/react/components/graphics/GraphicViewer.js +29 -29
  61. package/dist/react/components/graphics/GraphicsTabViewer.d.ts +17 -17
  62. package/dist/react/components/graphics/GraphicsTabViewer.js +90 -90
  63. package/dist/react/components/makeCustomElement.d.ts +16 -16
  64. package/dist/react/components/makeCustomElement.js +150 -150
  65. package/dist/react/components/navigation/BasicLayout.d.ts +41 -41
  66. package/dist/react/components/navigation/BasicLayout.js +155 -155
  67. package/dist/react/components/navigation/HeaderSiderLayout.d.ts +13 -13
  68. package/dist/react/components/navigation/HeaderSiderLayout.js +110 -110
  69. package/dist/react/components/navigation/MenuPage.d.ts +37 -37
  70. package/dist/react/components/navigation/MenuPage.js +36 -36
  71. package/dist/react/components/navigation/MenuTrigger.d.ts +9 -9
  72. package/dist/react/components/navigation/MenuTrigger.js +33 -33
  73. package/dist/react/components/navigation/ReactRouterHeaderSiderLayout.d.ts +11 -11
  74. package/dist/react/components/navigation/ReactRouterHeaderSiderLayout.js +25 -25
  75. package/dist/react/components/navigation/ReactRouterLayout.d.ts +46 -46
  76. package/dist/react/components/navigation/ReactRouterLayout.js +132 -132
  77. package/dist/react/components/navigation/customRouting/Router.d.ts +12 -12
  78. package/dist/react/components/navigation/customRouting/Router.js +45 -45
  79. package/dist/react/components/navigation/customRouting/RouterLayout.d.ts +11 -11
  80. package/dist/react/components/navigation/customRouting/RouterLayout.js +61 -61
  81. package/dist/react/components/resolvable/configurationForm/ConfigurationForm.d.ts +27 -27
  82. package/dist/react/components/resolvable/configurationForm/ConfigurationForm.js +95 -95
  83. package/dist/react/components/resolvable/configurationForm/ConfigurationFormEntry.d.ts +16 -16
  84. package/dist/react/components/resolvable/configurationForm/ConfigurationFormEntry.js +88 -88
  85. package/dist/react/components/resolvable/configurationForm/getSectionDefault.d.ts +16 -16
  86. package/dist/react/components/resolvable/configurationForm/getSectionDefault.js +99 -99
  87. package/dist/react/hooks/useFin5BinUrl.d.ts +6 -6
  88. package/dist/react/hooks/useFin5BinUrl.js +15 -15
  89. package/dist/react/hooks/useFin5ColorScheme.d.ts +2 -2
  90. package/dist/react/hooks/useFin5ColorScheme.js +56 -56
  91. package/dist/react/hooks/useScreenSize.d.ts +7 -7
  92. package/dist/react/hooks/useScreenSize.js +31 -31
  93. package/dist_es/fantomProps/createFin5Props/index.d.ts +12 -12
  94. package/dist_es/fantomProps/createFin5Props/index.js +140 -140
  95. package/dist_es/fantomProps/createFin5Props/runCreateFin5Props.d.ts +2 -2
  96. package/dist_es/fantomProps/createFin5Props/runCreateFin5Props.js +15 -15
  97. package/dist_es/fantomProps/fantomPropsToObject.d.ts +8 -8
  98. package/dist_es/fantomProps/fantomPropsToObject.js +178 -178
  99. package/dist_es/fantomProps/generateJsonFromFantomPropsFile.d.ts +4 -4
  100. package/dist_es/fantomProps/generateJsonFromFantomPropsFile.js +12 -12
  101. package/dist_es/fantomProps/localePropsToJson.d.ts +1 -1
  102. package/dist_es/fantomProps/localePropsToJson.js +21 -21
  103. package/dist_es/fantomProps/readFantomPropsFile.d.ts +5 -5
  104. package/dist_es/fantomProps/readFantomPropsFile.js +39 -39
  105. package/dist_es/fin5Top/fin5FileUpload.d.ts +24 -24
  106. package/dist_es/fin5Top/fin5FileUpload.js +47 -47
  107. package/dist_es/fin5Top/fin5Top.d.ts +165 -124
  108. package/dist_es/fin5Top/fin5Top.js +57 -49
  109. package/dist_es/fin5Top/fin5Top.js.map +1 -1
  110. package/dist_es/fin5Top/finEdge2Cloud.d.ts +6 -6
  111. package/dist_es/fin5Top/finEdge2Cloud.js +11 -11
  112. package/dist_es/fin5Top/getFin5BinUrl.d.ts +2 -2
  113. package/dist_es/fin5Top/getFin5BinUrl.js +5 -5
  114. package/dist_es/fin5Top/openFin5Alarm.d.ts +22 -22
  115. package/dist_es/fin5Top/openFin5Alarm.js +19 -19
  116. package/dist_es/fin5Top/openFin5Historian.d.ts +3 -3
  117. package/dist_es/fin5Top/openFin5Historian.js +15 -15
  118. package/dist_es/fin5Top/useFin5AppURLHashParameter.d.ts +18 -18
  119. package/dist_es/fin5Top/useFin5AppURLHashParameter.js +124 -124
  120. package/dist_es/index.d.ts +35 -35
  121. package/dist_es/index.js +53 -53
  122. package/dist_es/jobs/jobUtils.d.ts +14 -14
  123. package/dist_es/jobs/jobUtils.js +9 -9
  124. package/dist_es/react/app/Fin5AppContainer.d.ts +36 -36
  125. package/dist_es/react/app/Fin5AppContainer.js +116 -139
  126. package/dist_es/react/app/Fin5AppContainer.js.map +1 -1
  127. package/dist_es/react/app/Fin5AppContainer.jsx +82 -0
  128. package/dist_es/react/app/Fin5AppContainer.jsx.map +1 -0
  129. package/dist_es/react/app/Fin5AppRootStore.d.ts +40 -42
  130. package/dist_es/react/app/Fin5AppRootStore.js +86 -110
  131. package/dist_es/react/app/Fin5AppRootStore.js.map +1 -1
  132. package/dist_es/react/components/ErrorBoundary.d.ts +57 -57
  133. package/dist_es/react/components/ErrorBoundary.js +123 -123
  134. package/dist_es/react/components/ErrorBoundary.jsx +150 -0
  135. package/dist_es/react/components/ErrorBoundary.jsx.map +1 -0
  136. package/dist_es/react/components/ErrorDisplayer.d.ts +19 -19
  137. package/dist_es/react/components/ErrorDisplayer.js +28 -28
  138. package/dist_es/react/components/ErrorDisplayer.jsx +36 -0
  139. package/dist_es/react/components/ErrorDisplayer.jsx.map +1 -0
  140. package/dist_es/react/components/Loader.d.ts +9 -9
  141. package/dist_es/react/components/Loader.js +12 -12
  142. package/dist_es/react/components/Loader.jsx +13 -0
  143. package/dist_es/react/components/Loader.jsx.map +1 -0
  144. package/dist_es/react/components/LoadingSpinner.d.ts +2 -2
  145. package/dist_es/react/components/LoadingSpinner.js +20 -20
  146. package/dist_es/react/components/LoadingSpinner.jsx +22 -0
  147. package/dist_es/react/components/LoadingSpinner.jsx.map +1 -0
  148. package/dist_es/react/components/RecordImage.d.ts +20 -20
  149. package/dist_es/react/components/RecordImage.js +24 -24
  150. package/dist_es/react/components/charts/QRCode.d.ts +25 -25
  151. package/dist_es/react/components/charts/QRCode.js +52 -52
  152. package/dist_es/react/components/charts/line-bar/Chart.d.ts +166 -166
  153. package/dist_es/react/components/charts/line-bar/Chart.js +415 -415
  154. package/dist_es/react/components/charts/line-bar/HGridChart.d.ts +58 -58
  155. package/dist_es/react/components/charts/line-bar/HGridChart.js +250 -250
  156. package/dist_es/react/components/charts/line-bar/ZincGridChart.d.ts +12 -0
  157. package/dist_es/react/components/charts/line-bar/ZincGridChart.js +17 -0
  158. package/dist_es/react/components/charts/line-bar/ZincGridChart.js.map +1 -0
  159. package/dist_es/react/components/charts/pie/PieChart.d.ts +94 -94
  160. package/dist_es/react/components/charts/pie/PieChart.js +177 -177
  161. package/dist_es/react/components/charts/pie/SimplePieChart.d.ts +21 -21
  162. package/dist_es/react/components/charts/pie/SimplePieChart.js +25 -25
  163. package/dist_es/react/components/graphics/GraphicViewer.d.ts +10 -10
  164. package/dist_es/react/components/graphics/GraphicViewer.js +22 -22
  165. package/dist_es/react/components/graphics/GraphicViewer.jsx +23 -0
  166. package/dist_es/react/components/graphics/GraphicViewer.jsx.map +1 -0
  167. package/dist_es/react/components/graphics/GraphicsTabViewer.d.ts +17 -17
  168. package/dist_es/react/components/graphics/GraphicsTabViewer.js +60 -60
  169. package/dist_es/react/components/graphics/GraphicsTabViewer.jsx +63 -0
  170. package/dist_es/react/components/graphics/GraphicsTabViewer.jsx.map +1 -0
  171. package/dist_es/react/components/makeCustomElement.d.ts +16 -16
  172. package/dist_es/react/components/makeCustomElement.js +142 -142
  173. package/dist_es/react/components/navigation/BasicLayout.d.ts +41 -41
  174. package/dist_es/react/components/navigation/BasicLayout.js +124 -124
  175. package/dist_es/react/components/navigation/BasicLayout.jsx +133 -0
  176. package/dist_es/react/components/navigation/BasicLayout.jsx.map +1 -0
  177. package/dist_es/react/components/navigation/HeaderSiderLayout.d.ts +13 -13
  178. package/dist_es/react/components/navigation/HeaderSiderLayout.js +80 -80
  179. package/dist_es/react/components/navigation/MenuPage.d.ts +37 -37
  180. package/dist_es/react/components/navigation/MenuPage.js +30 -30
  181. package/dist_es/react/components/navigation/MenuPage.jsx +31 -0
  182. package/dist_es/react/components/navigation/MenuPage.jsx.map +1 -0
  183. package/dist_es/react/components/navigation/MenuTrigger.d.ts +9 -9
  184. package/dist_es/react/components/navigation/MenuTrigger.js +28 -28
  185. package/dist_es/react/components/navigation/ReactRouterHeaderSiderLayout.d.ts +11 -11
  186. package/dist_es/react/components/navigation/ReactRouterHeaderSiderLayout.js +18 -18
  187. package/dist_es/react/components/navigation/ReactRouterLayout.d.ts +46 -46
  188. package/dist_es/react/components/navigation/ReactRouterLayout.js +99 -99
  189. package/dist_es/react/components/navigation/Router.d.ts +12 -0
  190. package/dist_es/react/components/navigation/Router.js +19 -0
  191. package/dist_es/react/components/navigation/Router.js.map +1 -0
  192. package/dist_es/react/components/navigation/Router.jsx +19 -0
  193. package/dist_es/react/components/navigation/Router.jsx.map +1 -0
  194. package/dist_es/react/components/navigation/customRouting/Router.d.ts +12 -12
  195. package/dist_es/react/components/navigation/customRouting/Router.js +18 -18
  196. package/dist_es/react/components/navigation/customRouting/RouterLayout.d.ts +11 -11
  197. package/dist_es/react/components/navigation/customRouting/RouterLayout.js +34 -34
  198. package/dist_es/react/components/navigation/react-router/BasicLayout.d.ts +23 -0
  199. package/dist_es/react/components/navigation/react-router/BasicLayout.js +82 -0
  200. package/dist_es/react/components/navigation/react-router/BasicLayout.js.map +1 -0
  201. package/dist_es/react/components/navigation/react-router/ReactRouterBasicLayout.d.ts +24 -0
  202. package/dist_es/react/components/navigation/react-router/ReactRouterBasicLayout.js +82 -0
  203. package/dist_es/react/components/navigation/react-router/ReactRouterBasicLayout.js.map +1 -0
  204. package/dist_es/react/components/resolvable/configurationForm/ConfigurationForm.d.ts +27 -27
  205. package/dist_es/react/components/resolvable/configurationForm/ConfigurationForm.js +64 -64
  206. package/dist_es/react/components/resolvable/configurationForm/ConfigurationFormEntry.d.ts +16 -16
  207. package/dist_es/react/components/resolvable/configurationForm/ConfigurationFormEntry.js +58 -58
  208. package/dist_es/react/components/resolvable/configurationForm/getSectionDefault.d.ts +16 -16
  209. package/dist_es/react/components/resolvable/configurationForm/getSectionDefault.js +94 -94
  210. package/dist_es/react/hooks/useFin5BinUrl.d.ts +6 -6
  211. package/dist_es/react/hooks/useFin5BinUrl.js +11 -11
  212. package/dist_es/react/hooks/useFin5ColorScheme.d.ts +2 -2
  213. package/dist_es/react/hooks/useFin5ColorScheme.js +52 -52
  214. package/dist_es/react/hooks/useScreenSize.d.ts +7 -7
  215. package/dist_es/react/hooks/useScreenSize.js +27 -27
  216. package/package.json +1 -1
@@ -1,94 +1,94 @@
1
- import * as am5 from '@amcharts/amcharts5';
2
- import * as am5percent from '@amcharts/amcharts5/percent';
3
- import React from 'react';
4
- export type PieChartInterfaceColors = {
5
- [Property in keyof am5.IInterfaceColorsSettings]: string;
6
- };
7
- export interface PieChartColorPalette {
8
- interfaceColors?: Partial<PieChartInterfaceColors>;
9
- series?: string[];
10
- }
11
- export interface PieChartSliceData {
12
- value: number;
13
- category: string;
14
- }
15
- export interface PieChartProps {
16
- /**
17
- * Data used to populate the chart
18
- */
19
- data: PieChartSliceData[];
20
- /**
21
- * Color palette for the chart slices and interface colors @see https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/#Interface_colors
22
- */
23
- colorPalette?: Partial<PieChartColorPalette>;
24
- /**
25
- * Number formatting options @see https://www.amcharts.com/docs/v5/tutorials/formatting-date-time-and-numbers-using-intl-object/#Formatting_numbers
26
- */
27
- numberFormat?: Intl.NumberFormatOptions;
28
- /**
29
- * amcharts5 theme classes to be used by the chart @see https://www.amcharts.com/docs/v5/concepts/themes/
30
- */
31
- chartThemes?: (typeof am5.Theme)[];
32
- /**
33
- * Settings for chart customization @see https://www.amcharts.com/docs/v5/reference/piechart/#Settings
34
- * The function accepts the chart root as a parameter to allow layout configuration.
35
- */
36
- chartSettingsProvider?: (root: am5.Root) => am5percent.IPieChartSettings;
37
- /**
38
- * Function to get settings for legend customization @see https://www.amcharts.com/docs/v5/reference/legend/#Settings
39
- * The function accepts the chart root as a parameter to allow layout configuration.
40
- */
41
- legendSettingsProvider?: (root: am5.Root) => am5.ILegendSettings;
42
- /**
43
- * Settings for legend labels customization @see https://www.amcharts.com/docs/v5/reference/label/#Settings
44
- */
45
- legendLabelsSettings?: Partial<am5.ILabelSettings>;
46
- /**
47
- * Settings for legend value labels customization @see https://www.amcharts.com/docs/v5/reference/label/#Settings
48
- */
49
- legendValueLabelsSettings?: Partial<am5.ILabelSettings>;
50
- /**
51
- * Settings for legend markers customization @see https://www.amcharts.com/docs/v5/reference/label/#Settings
52
- */
53
- legendMarkersSettings?: Partial<am5.ILabelSettings>;
54
- /**
55
- * Settings for chart series customization @see https://www.amcharts.com/docs/v5/reference/pieseries/#Settings
56
- */
57
- seriesSettings?: am5percent.IPieSeriesSettings;
58
- /**
59
- * Settings for series labels customization @see https://www.amcharts.com/docs/v5/reference/pieseries/#Settings
60
- */
61
- seriesLabelsSettings?: Partial<am5.IRadialLabelSettings>;
62
- /**
63
- * Settings for central label customization, useful for donut charts, if not specified no center label will be shown @see https://www.amcharts.com/docs/v5/reference/radiallabel/#Settings
64
- */
65
- centerLabelSettings?: am5.ILabelSettings;
66
- /**
67
- * Settings for pie slices customization @see https://www.amcharts.com/docs/v5/reference/slice/#Settings
68
- */
69
- slicesSettings?: Partial<am5.ISliceSettings>;
70
- /**
71
- * List of adapters to be applied to the slices @see https://www.amcharts.com/docs/v5/concepts/settings/adapters
72
- */
73
- sliceAdapters?: SliceAdapter[];
74
- /**
75
- * Optional DOM id for the chart container, if not specified it will be automatically generated.
76
- * It can also be an HTMLElement, in that case the element will be used as a parent.
77
- */
78
- DOMtargetId?: string | HTMLElement;
79
- }
80
- export type SliceAdapter<T extends keyof am5.ISliceSettings = keyof am5.ISliceSettings> = [
81
- T,
82
- (context: {
83
- root: am5.Root;
84
- chart: am5percent.PieChart;
85
- series: am5percent.PieSeries;
86
- }) => (value: am5.ISliceSettings[T], target: am5.Slice, key: T) => am5.ISliceSettings[T]
87
- ];
88
- /**
89
- * Highly customizable pie chart component based on amcharts5
90
- * @see https://www.amcharts.com/docs/v5/charts/percent-charts/pie-chart/
91
- *
92
- * This component wraps some of the chart configuration trying to make it more react-friendly
93
- */
94
- export declare const PieChart: React.FC<PieChartProps>;
1
+ import * as am5 from '@amcharts/amcharts5';
2
+ import * as am5percent from '@amcharts/amcharts5/percent';
3
+ import React from 'react';
4
+ export declare type PieChartInterfaceColors = {
5
+ [Property in keyof am5.IInterfaceColorsSettings]: string;
6
+ };
7
+ export interface PieChartColorPalette {
8
+ interfaceColors?: Partial<PieChartInterfaceColors>;
9
+ series?: string[];
10
+ }
11
+ export interface PieChartSliceData {
12
+ value: number;
13
+ category: string;
14
+ }
15
+ export interface PieChartProps {
16
+ /**
17
+ * Data used to populate the chart
18
+ */
19
+ data: PieChartSliceData[];
20
+ /**
21
+ * Color palette for the chart slices and interface colors @see https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/#Interface_colors
22
+ */
23
+ colorPalette?: Partial<PieChartColorPalette>;
24
+ /**
25
+ * Number formatting options @see https://www.amcharts.com/docs/v5/tutorials/formatting-date-time-and-numbers-using-intl-object/#Formatting_numbers
26
+ */
27
+ numberFormat?: Intl.NumberFormatOptions;
28
+ /**
29
+ * amcharts5 theme classes to be used by the chart @see https://www.amcharts.com/docs/v5/concepts/themes/
30
+ */
31
+ chartThemes?: typeof am5.Theme[];
32
+ /**
33
+ * Settings for chart customization @see https://www.amcharts.com/docs/v5/reference/piechart/#Settings
34
+ * The function accepts the chart root as a parameter to allow layout configuration.
35
+ */
36
+ chartSettingsProvider?: (root: am5.Root) => am5percent.IPieChartSettings;
37
+ /**
38
+ * Function to get settings for legend customization @see https://www.amcharts.com/docs/v5/reference/legend/#Settings
39
+ * The function accepts the chart root as a parameter to allow layout configuration.
40
+ */
41
+ legendSettingsProvider?: (root: am5.Root) => am5.ILegendSettings;
42
+ /**
43
+ * Settings for legend labels customization @see https://www.amcharts.com/docs/v5/reference/label/#Settings
44
+ */
45
+ legendLabelsSettings?: Partial<am5.ILabelSettings>;
46
+ /**
47
+ * Settings for legend value labels customization @see https://www.amcharts.com/docs/v5/reference/label/#Settings
48
+ */
49
+ legendValueLabelsSettings?: Partial<am5.ILabelSettings>;
50
+ /**
51
+ * Settings for legend markers customization @see https://www.amcharts.com/docs/v5/reference/label/#Settings
52
+ */
53
+ legendMarkersSettings?: Partial<am5.ILabelSettings>;
54
+ /**
55
+ * Settings for chart series customization @see https://www.amcharts.com/docs/v5/reference/pieseries/#Settings
56
+ */
57
+ seriesSettings?: am5percent.IPieSeriesSettings;
58
+ /**
59
+ * Settings for series labels customization @see https://www.amcharts.com/docs/v5/reference/pieseries/#Settings
60
+ */
61
+ seriesLabelsSettings?: Partial<am5.IRadialLabelSettings>;
62
+ /**
63
+ * Settings for central label customization, useful for donut charts, if not specified no center label will be shown @see https://www.amcharts.com/docs/v5/reference/radiallabel/#Settings
64
+ */
65
+ centerLabelSettings?: am5.ILabelSettings;
66
+ /**
67
+ * Settings for pie slices customization @see https://www.amcharts.com/docs/v5/reference/slice/#Settings
68
+ */
69
+ slicesSettings?: Partial<am5.ISliceSettings>;
70
+ /**
71
+ * List of adapters to be applied to the slices @see https://www.amcharts.com/docs/v5/concepts/settings/adapters
72
+ */
73
+ sliceAdapters?: SliceAdapter[];
74
+ /**
75
+ * Optional DOM id for the chart container, if not specified it will be automatically generated.
76
+ * It can also be an HTMLElement, in that case the element will be used as a parent.
77
+ */
78
+ DOMtargetId?: string | HTMLElement;
79
+ }
80
+ export declare type SliceAdapter<T extends keyof am5.ISliceSettings = keyof am5.ISliceSettings> = [
81
+ T,
82
+ (context: {
83
+ root: am5.Root;
84
+ chart: am5percent.PieChart;
85
+ series: am5percent.PieSeries;
86
+ }) => (value: am5.ISliceSettings[T], target: am5.Slice, key: T) => am5.ISliceSettings[T]
87
+ ];
88
+ /**
89
+ * Highly customizable pie chart component based on amcharts5
90
+ * @see https://www.amcharts.com/docs/v5/charts/percent-charts/pie-chart/
91
+ *
92
+ * This component wraps some of the chart configuration trying to make it more react-friendly
93
+ */
94
+ export declare const PieChart: React.FC<PieChartProps>;
@@ -1,205 +1,205 @@
1
- "use strict";
2
- /*
3
- * Copyright (c) 2023, J2 Innovations. All Rights Reserved
4
- */
5
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- var desc = Object.getOwnPropertyDescriptor(m, k);
8
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
- desc = { enumerable: true, get: function() { return m[k]; } };
10
- }
11
- Object.defineProperty(o, k2, desc);
12
- }) : (function(o, m, k, k2) {
13
- if (k2 === undefined) k2 = k;
14
- o[k2] = m[k];
15
- }));
16
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
17
- Object.defineProperty(o, "default", { enumerable: true, value: v });
18
- }) : function(o, v) {
19
- o["default"] = v;
20
- });
21
- var __importStar = (this && this.__importStar) || function (mod) {
22
- if (mod && mod.__esModule) return mod;
23
- var result = {};
24
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
25
- __setModuleDefault(result, mod);
26
- return result;
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.PieChart = void 0;
30
- const am5 = __importStar(require("@amcharts/amcharts5"));
31
- const am5percent = __importStar(require("@amcharts/amcharts5/percent"));
32
- const react_1 = __importStar(require("react"));
33
- const react_jss_1 = require("react-jss");
34
- const useStyles = (0, react_jss_1.createUseStyles)({
35
- root: {
36
- width: '100%',
37
- height: '100%',
38
- },
39
- });
40
- /**
41
- * Returns a color palette selecting some colors from the theme.
42
- * @param theme The theme
43
- * @returns An array of colors
44
- */
45
- const getDefaultChartColors = (theme) => {
46
- return {
47
- interfaceColors: {
48
- text: theme.textColor,
49
- },
50
- series: [
51
- theme.palette.lime,
52
- theme.palette.cyan,
53
- theme.palette.red,
54
- theme.palette.volcano,
55
- theme.palette.orange,
56
- theme.palette.gold,
57
- theme.palette.yellow,
58
- theme.palette.green,
59
- theme.palette.purple,
60
- theme.palette.magenta,
61
- theme.palette.blue,
62
- theme.palette.grey,
63
- ],
64
- };
65
- };
66
- /**
67
- * Highly customizable pie chart component based on amcharts5
68
- * @see https://www.amcharts.com/docs/v5/charts/percent-charts/pie-chart/
69
- *
70
- * This component wraps some of the chart configuration trying to make it more react-friendly
71
- */
72
- const PieChart = ({ DOMtargetId, data, colorPalette, numberFormat, chartThemes, chartSettingsProvider, legendSettingsProvider, legendLabelsSettings, legendValueLabelsSettings, legendMarkersSettings, seriesSettings, seriesLabelsSettings, centerLabelSettings, slicesSettings, sliceAdapters, }) => {
73
- // Colors configuration
74
- const theme = (0, react_jss_1.useTheme)();
75
- const colors = { ...getDefaultChartColors(theme), ...colorPalette };
76
- // Chart lifecycle
77
- const [id, setId] = (0, react_1.useState)(DOMtargetId ?? `amchart-${Math.random()}`);
78
- const rootRef = (0, react_1.useRef)(null);
79
- const chartRef = (0, react_1.useRef)(null);
80
- const legendRef = (0, react_1.useRef)(null);
81
- (0, react_1.useEffect)(() => {
82
- if (DOMtargetId && DOMtargetId !== id) {
83
- setId(DOMtargetId);
84
- }
85
- }, [DOMtargetId]);
86
- // Chart setup
87
- (0, react_1.useLayoutEffect)(() => {
88
- const root = am5.Root.new(id);
89
- // Setup amcharts theme
90
- if (chartThemes) {
91
- root.setThemes(chartThemes.map((t) => t.new(root)));
92
- }
93
- // Setup interface colors, see https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/#Interface_colors
94
- if (colors.interfaceColors) {
95
- // Remap settings to use amcharts Color objects
96
- for (const setting in colors.interfaceColors) {
97
- const color = colors.interfaceColors[setting];
98
- // Apply defined interfaceColor on the chart
99
- root.interfaceColors.set(setting, am5.color(color));
100
- }
101
- }
102
- // Setup chart settings
103
- const chart = root.container.children.push(am5percent.PieChart.new(root, {
104
- layout: root.verticalLayout,
105
- ...chartSettingsProvider?.(root),
106
- }));
107
- // Setup legend
108
- const legend = chart.children.push(am5.Legend.new(root, {
109
- layout: root.horizontalLayout,
110
- ...legendSettingsProvider?.(root),
111
- }));
112
- if (legendLabelsSettings) {
113
- legend.labels.template.setAll(legendLabelsSettings);
114
- }
115
- if (legendValueLabelsSettings) {
116
- legend.valueLabels.template.setAll(legendValueLabelsSettings);
117
- }
118
- if (legendMarkersSettings) {
119
- legend.markers.template.setAll(legendMarkersSettings);
120
- }
121
- rootRef.current = root;
122
- chartRef.current = chart;
123
- legendRef.current = legend;
124
- // clean up before component removal from the DOM
125
- return () => {
126
- legendRef.current?.dispose();
127
- legendRef.current = null;
128
- chartRef.current?.dispose();
129
- chartRef.current = null;
130
- root?.dispose();
131
- rootRef.current = null;
132
- };
133
- }, [
134
- id,
135
- colors,
136
- chartThemes,
137
- chartSettingsProvider,
138
- legendSettingsProvider,
139
- legendValueLabelsSettings,
140
- legendMarkersSettings,
141
- ]);
142
- // Set data
143
- (0, react_1.useEffect)(() => {
144
- const root = rootRef.current;
145
- const chart = chartRef.current;
146
- if (chart && root) {
147
- chart.series.clear();
148
- if (data?.length) {
149
- // Setup series
150
- const series = chart.series.push(am5percent.PieSeries.new(root, {
151
- valueField: 'value',
152
- categoryField: 'category',
153
- ...seriesSettings,
154
- }));
155
- // Setup series labels
156
- if (seriesLabelsSettings) {
157
- series.labels.template.setAll(seriesLabelsSettings);
158
- }
159
- // Setup center label
160
- if (centerLabelSettings) {
161
- series.children.push(am5.Label.new(root, {
162
- ...centerLabelSettings,
163
- }));
164
- }
165
- // Setup series slices
166
- if (slicesSettings) {
167
- series.slices.template.setAll(slicesSettings);
168
- }
169
- // Setup slice adapters
170
- if (sliceAdapters) {
171
- sliceAdapters.forEach(([key, callbackMaker]) => series.slices.template.adapters.add(key, callbackMaker({
172
- root: root,
173
- chart: chart,
174
- series,
175
- })));
176
- }
177
- // Setup series colors
178
- if (colors?.series) {
179
- series.get('colors')?.set('colors', colors.series.map((c) => am5.color(c)));
180
- }
181
- series.data.setAll(data);
182
- legendRef.current?.data.setAll(series.dataItems);
183
- }
184
- }
185
- }, [
186
- data,
187
- chartRef.current,
188
- colors?.series,
189
- seriesSettings,
190
- slicesSettings,
191
- seriesLabelsSettings,
192
- sliceAdapters,
193
- ]);
194
- (0, react_1.useEffect)(() => {
195
- if (numberFormat) {
196
- rootRef.current?.numberFormatter.set('numberFormat', numberFormat);
197
- }
198
- }, [rootRef.current, numberFormat]);
199
- const classes = useStyles();
200
- return typeof id === 'string' ? (react_1.default.createElement("div", { id: id, className: classes.root })) : (
201
- // If the DOM target is an HTML element, do not render another div. The chart will be attached to the existing element.
202
- react_1.default.createElement(react_1.default.Fragment, null));
203
- };
204
- exports.PieChart = PieChart;
1
+ "use strict";
2
+ /*
3
+ * Copyright (c) 2023, J2 Innovations. All Rights Reserved
4
+ */
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
17
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
18
+ }) : function(o, v) {
19
+ o["default"] = v;
20
+ });
21
+ var __importStar = (this && this.__importStar) || function (mod) {
22
+ if (mod && mod.__esModule) return mod;
23
+ var result = {};
24
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
25
+ __setModuleDefault(result, mod);
26
+ return result;
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.PieChart = void 0;
30
+ const am5 = __importStar(require("@amcharts/amcharts5"));
31
+ const am5percent = __importStar(require("@amcharts/amcharts5/percent"));
32
+ const react_1 = __importStar(require("react"));
33
+ const react_jss_1 = require("react-jss");
34
+ const useStyles = (0, react_jss_1.createUseStyles)({
35
+ root: {
36
+ width: '100%',
37
+ height: '100%',
38
+ },
39
+ });
40
+ /**
41
+ * Returns a color palette selecting some colors from the theme.
42
+ * @param theme The theme
43
+ * @returns An array of colors
44
+ */
45
+ const getDefaultChartColors = (theme) => {
46
+ return {
47
+ interfaceColors: {
48
+ text: theme.textColor,
49
+ },
50
+ series: [
51
+ theme.palette.lime,
52
+ theme.palette.cyan,
53
+ theme.palette.red,
54
+ theme.palette.volcano,
55
+ theme.palette.orange,
56
+ theme.palette.gold,
57
+ theme.palette.yellow,
58
+ theme.palette.green,
59
+ theme.palette.purple,
60
+ theme.palette.magenta,
61
+ theme.palette.blue,
62
+ theme.palette.grey,
63
+ ],
64
+ };
65
+ };
66
+ /**
67
+ * Highly customizable pie chart component based on amcharts5
68
+ * @see https://www.amcharts.com/docs/v5/charts/percent-charts/pie-chart/
69
+ *
70
+ * This component wraps some of the chart configuration trying to make it more react-friendly
71
+ */
72
+ const PieChart = ({ DOMtargetId, data, colorPalette, numberFormat, chartThemes, chartSettingsProvider, legendSettingsProvider, legendLabelsSettings, legendValueLabelsSettings, legendMarkersSettings, seriesSettings, seriesLabelsSettings, centerLabelSettings, slicesSettings, sliceAdapters, }) => {
73
+ // Colors configuration
74
+ const theme = (0, react_jss_1.useTheme)();
75
+ const colors = { ...getDefaultChartColors(theme), ...colorPalette };
76
+ // Chart lifecycle
77
+ const [id, setId] = (0, react_1.useState)(DOMtargetId ?? `amchart-${Math.random()}`);
78
+ const rootRef = (0, react_1.useRef)(null);
79
+ const chartRef = (0, react_1.useRef)(null);
80
+ const legendRef = (0, react_1.useRef)(null);
81
+ (0, react_1.useEffect)(() => {
82
+ if (DOMtargetId && DOMtargetId !== id) {
83
+ setId(DOMtargetId);
84
+ }
85
+ }, [DOMtargetId]);
86
+ // Chart setup
87
+ (0, react_1.useLayoutEffect)(() => {
88
+ const root = am5.Root.new(id);
89
+ // Setup amcharts theme
90
+ if (chartThemes) {
91
+ root.setThemes(chartThemes.map((t) => t.new(root)));
92
+ }
93
+ // Setup interface colors, see https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/#Interface_colors
94
+ if (colors.interfaceColors) {
95
+ // Remap settings to use amcharts Color objects
96
+ for (const setting in colors.interfaceColors) {
97
+ const color = colors.interfaceColors[setting];
98
+ // Apply defined interfaceColor on the chart
99
+ root.interfaceColors.set(setting, am5.color(color));
100
+ }
101
+ }
102
+ // Setup chart settings
103
+ const chart = root.container.children.push(am5percent.PieChart.new(root, {
104
+ layout: root.verticalLayout,
105
+ ...chartSettingsProvider?.(root),
106
+ }));
107
+ // Setup legend
108
+ const legend = chart.children.push(am5.Legend.new(root, {
109
+ layout: root.horizontalLayout,
110
+ ...legendSettingsProvider?.(root),
111
+ }));
112
+ if (legendLabelsSettings) {
113
+ legend.labels.template.setAll(legendLabelsSettings);
114
+ }
115
+ if (legendValueLabelsSettings) {
116
+ legend.valueLabels.template.setAll(legendValueLabelsSettings);
117
+ }
118
+ if (legendMarkersSettings) {
119
+ legend.markers.template.setAll(legendMarkersSettings);
120
+ }
121
+ rootRef.current = root;
122
+ chartRef.current = chart;
123
+ legendRef.current = legend;
124
+ // clean up before component removal from the DOM
125
+ return () => {
126
+ legendRef.current?.dispose();
127
+ legendRef.current = null;
128
+ chartRef.current?.dispose();
129
+ chartRef.current = null;
130
+ root?.dispose();
131
+ rootRef.current = null;
132
+ };
133
+ }, [
134
+ id,
135
+ colors,
136
+ chartThemes,
137
+ chartSettingsProvider,
138
+ legendSettingsProvider,
139
+ legendValueLabelsSettings,
140
+ legendMarkersSettings,
141
+ ]);
142
+ // Set data
143
+ (0, react_1.useEffect)(() => {
144
+ const root = rootRef.current;
145
+ const chart = chartRef.current;
146
+ if (chart && root) {
147
+ chart.series.clear();
148
+ if (data?.length) {
149
+ // Setup series
150
+ const series = chart.series.push(am5percent.PieSeries.new(root, {
151
+ valueField: 'value',
152
+ categoryField: 'category',
153
+ ...seriesSettings,
154
+ }));
155
+ // Setup series labels
156
+ if (seriesLabelsSettings) {
157
+ series.labels.template.setAll(seriesLabelsSettings);
158
+ }
159
+ // Setup center label
160
+ if (centerLabelSettings) {
161
+ series.children.push(am5.Label.new(root, {
162
+ ...centerLabelSettings,
163
+ }));
164
+ }
165
+ // Setup series slices
166
+ if (slicesSettings) {
167
+ series.slices.template.setAll(slicesSettings);
168
+ }
169
+ // Setup slice adapters
170
+ if (sliceAdapters) {
171
+ sliceAdapters.forEach(([key, callbackMaker]) => series.slices.template.adapters.add(key, callbackMaker({
172
+ root: root,
173
+ chart: chart,
174
+ series,
175
+ })));
176
+ }
177
+ // Setup series colors
178
+ if (colors?.series) {
179
+ series.get('colors')?.set('colors', colors.series.map((c) => am5.color(c)));
180
+ }
181
+ series.data.setAll(data);
182
+ legendRef.current?.data.setAll(series.dataItems);
183
+ }
184
+ }
185
+ }, [
186
+ data,
187
+ chartRef.current,
188
+ colors?.series,
189
+ seriesSettings,
190
+ slicesSettings,
191
+ seriesLabelsSettings,
192
+ sliceAdapters,
193
+ ]);
194
+ (0, react_1.useEffect)(() => {
195
+ if (numberFormat) {
196
+ rootRef.current?.numberFormatter.set('numberFormat', numberFormat);
197
+ }
198
+ }, [rootRef.current, numberFormat]);
199
+ const classes = useStyles();
200
+ return typeof id === 'string' ? (react_1.default.createElement("div", { id: id, className: classes.root })) : (
201
+ // If the DOM target is an HTML element, do not render another div. The chart will be attached to the existing element.
202
+ react_1.default.createElement(react_1.default.Fragment, null));
203
+ };
204
+ exports.PieChart = PieChart;
205
205
  //# sourceMappingURL=PieChart.js.map
@@ -1,21 +1,21 @@
1
- import React from 'react';
2
- import { PieChartColorPalette, PieChartSliceData } from './PieChart';
3
- export interface SimplePieChartProps {
4
- data: PieChartSliceData[];
5
- donut?: boolean;
6
- animated?: boolean;
7
- colorPalette?: Partial<PieChartColorPalette>;
8
- tooltipFormat?: string;
9
- numberFormat?: Intl.NumberFormatOptions;
10
- hideLabels?: boolean;
11
- /**
12
- * Optional DOM id for the chart container, if not specified it will be automatically generated.
13
- * It can also be an HTMLElement, in that case the element will be used as a parent.
14
- */
15
- DOMtargetId?: string | HTMLElement;
16
- }
17
- /**
18
- * Simplified version of the pie chart for quick usage and easy configuration.
19
- * Serves also as an example of how to use the underlying PieChart component.
20
- */
21
- export declare const SimplePieChart: React.FC<SimplePieChartProps>;
1
+ import React from 'react';
2
+ import { PieChartColorPalette, PieChartSliceData } from './PieChart';
3
+ export interface SimplePieChartProps {
4
+ data: PieChartSliceData[];
5
+ donut?: boolean;
6
+ animated?: boolean;
7
+ colorPalette?: Partial<PieChartColorPalette>;
8
+ tooltipFormat?: string;
9
+ numberFormat?: Intl.NumberFormatOptions;
10
+ hideLabels?: boolean;
11
+ /**
12
+ * Optional DOM id for the chart container, if not specified it will be automatically generated.
13
+ * It can also be an HTMLElement, in that case the element will be used as a parent.
14
+ */
15
+ DOMtargetId?: string | HTMLElement;
16
+ }
17
+ /**
18
+ * Simplified version of the pie chart for quick usage and easy configuration.
19
+ * Serves also as an example of how to use the underlying PieChart component.
20
+ */
21
+ export declare const SimplePieChart: React.FC<SimplePieChartProps>;