nuxeo-development-framework 5.3.0 → 5.3.2

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 (245) hide show
  1. package/bundles/nuxeo-development-framework.umd.js +3143 -604
  2. package/bundles/nuxeo-development-framework.umd.js.map +1 -1
  3. package/esm2015/lib/components/reports/charts/chart.const.js +3 -0
  4. package/esm2015/lib/components/reports/charts/chart.token.js +3 -0
  5. package/esm2015/lib/components/reports/charts/charts.module.js +19 -0
  6. package/esm2015/lib/components/reports/charts/components/base-chart.component.js +41 -0
  7. package/esm2015/lib/components/reports/charts/components/chart.component.js +127 -0
  8. package/esm2015/lib/components/reports/charts/components/data-chart.component.js +167 -0
  9. package/esm2015/lib/components/reports/charts/components/index.js +4 -0
  10. package/esm2015/lib/components/reports/charts/defaults/bar.js +18 -0
  11. package/esm2015/lib/components/reports/charts/defaults/doughnut.js +15 -0
  12. package/esm2015/lib/components/reports/charts/defaults/index.js +5 -0
  13. package/esm2015/lib/components/reports/charts/defaults/line.js +25 -0
  14. package/esm2015/lib/components/reports/charts/defaults/pie.js +15 -0
  15. package/esm2015/lib/components/reports/charts/index.js +2 -0
  16. package/esm2015/lib/components/reports/charts/models/index.js +5 -0
  17. package/esm2015/lib/components/reports/charts/models/options.js +2 -0
  18. package/esm2015/lib/components/reports/charts/models/plugins-options.js +2 -0
  19. package/esm2015/lib/components/reports/charts/models/response.js +2 -0
  20. package/esm2015/lib/components/reports/charts/models/statistic-request-config.js +2 -0
  21. package/esm2015/lib/components/reports/charts/plugins/data-labels.js +144 -0
  22. package/esm2015/lib/components/reports/charts/plugins/doughnut-center-text.js +25 -0
  23. package/esm2015/lib/components/reports/charts/plugins/doughnut-empty-state.js +34 -0
  24. package/esm2015/lib/components/reports/charts/plugins/index.js +6 -0
  25. package/esm2015/lib/components/reports/charts/plugins/legend-margin.js +16 -0
  26. package/esm2015/lib/components/reports/charts/plugins/scrollable-legends.js +67 -0
  27. package/esm2015/lib/components/reports/charts/public-api.js +10 -0
  28. package/esm2015/lib/components/reports/charts/services/index.js +2 -0
  29. package/esm2015/lib/components/reports/charts/services/statistic.service.js +75 -0
  30. package/esm2015/lib/components/reports/charts/utility/colors.js +74 -0
  31. package/esm2015/lib/components/reports/charts/utility/common.js +7 -0
  32. package/esm2015/lib/components/reports/charts/utility/css.js +132 -0
  33. package/esm2015/lib/components/reports/charts/utility/index.js +4 -0
  34. package/esm2015/lib/components/reports/ndf-reports/base/base-chart.js +53 -0
  35. package/esm2015/lib/components/reports/ndf-reports/base/base-graph.report.js +37 -0
  36. package/esm2015/lib/components/reports/ndf-reports/base/base-report.js +68 -0
  37. package/esm2015/lib/components/reports/ndf-reports/charts-components/digit-chart/digit-chart.component.js +36 -0
  38. package/esm2015/lib/components/reports/ndf-reports/charts-components/graph-chart/graph-chart.component.js +65 -0
  39. package/esm2015/lib/components/reports/ndf-reports/charts-components/graph-chart/graph-chart.service.js +14 -0
  40. package/esm2015/lib/components/reports/ndf-reports/charts-components/index.js +3 -0
  41. package/esm2015/lib/components/reports/ndf-reports/components/_parts/chart-type-selector/chart-type-selector.component.js +71 -0
  42. package/esm2015/lib/components/reports/ndf-reports/components/_parts/graph-dialog/graph-dialog.component.js +66 -0
  43. package/esm2015/lib/components/reports/ndf-reports/components/_parts/index.js +5 -0
  44. package/esm2015/lib/components/reports/ndf-reports/components/_parts/time-group-selector/time-group-selector.component.js +55 -0
  45. package/esm2015/lib/components/reports/ndf-reports/components/_parts/timeline-dialog/timeline-dialog.component.js +47 -0
  46. package/esm2015/lib/components/reports/ndf-reports/components/chart-panel.component.js +61 -0
  47. package/esm2015/lib/components/reports/ndf-reports/components/digit-report/digit-report.component.js +25 -0
  48. package/esm2015/lib/components/reports/ndf-reports/components/dynamic-timeline-report/dynamic-timeline-report.component.js +73 -0
  49. package/esm2015/lib/components/reports/ndf-reports/components/graph-report/graph-report.component.js +61 -0
  50. package/esm2015/lib/components/reports/ndf-reports/components/index.js +6 -0
  51. package/esm2015/lib/components/reports/ndf-reports/constants/charts-types.js +13 -0
  52. package/esm2015/lib/components/reports/ndf-reports/constants/index.js +3 -0
  53. package/esm2015/lib/components/reports/ndf-reports/constants/time-group.js +7 -0
  54. package/esm2015/lib/components/reports/ndf-reports/containers/index.js +3 -0
  55. package/esm2015/lib/components/reports/ndf-reports/containers/ndf-report/ndf-report.component.js +42 -0
  56. package/esm2015/lib/components/reports/ndf-reports/containers/ndf-reports/ndf-reports.component.js +245 -0
  57. package/esm2015/lib/components/reports/ndf-reports/directives/index.js +2 -0
  58. package/esm2015/lib/components/reports/ndf-reports/directives/scrollable-div.directive.js +35 -0
  59. package/esm2015/lib/components/reports/ndf-reports/index.js +2 -0
  60. package/esm2015/lib/components/reports/ndf-reports/models/base.js +2 -0
  61. package/esm2015/lib/components/reports/ndf-reports/models/common.js +2 -0
  62. package/esm2015/lib/components/reports/ndf-reports/models/details.js +2 -0
  63. package/esm2015/lib/components/reports/ndf-reports/models/dialog-data.js +2 -0
  64. package/esm2015/lib/components/reports/ndf-reports/models/digit.js +2 -0
  65. package/esm2015/lib/components/reports/ndf-reports/models/dynamic-line.js +2 -0
  66. package/esm2015/lib/components/reports/ndf-reports/models/graph.js +2 -0
  67. package/esm2015/lib/components/reports/ndf-reports/models/index.js +13 -0
  68. package/esm2015/lib/components/reports/ndf-reports/models/ndf-reports.config.js +2 -0
  69. package/esm2015/lib/components/reports/ndf-reports/models/report-config.js +2 -0
  70. package/esm2015/lib/components/reports/ndf-reports/models/report-data-source.js +2 -0
  71. package/esm2015/lib/components/reports/ndf-reports/models/report-response.model.js +2 -0
  72. package/esm2015/lib/components/reports/ndf-reports/models/request.js +2 -0
  73. package/esm2015/lib/components/reports/ndf-reports/ndf-reports.module.js +101 -0
  74. package/esm2015/lib/components/reports/ndf-reports/options/doughnut.js +29 -0
  75. package/esm2015/lib/components/reports/ndf-reports/options/horizontal-bar.js +48 -0
  76. package/esm2015/lib/components/reports/ndf-reports/options/index.js +7 -0
  77. package/esm2015/lib/components/reports/ndf-reports/options/line.js +41 -0
  78. package/esm2015/lib/components/reports/ndf-reports/options/options.js +15 -0
  79. package/esm2015/lib/components/reports/ndf-reports/options/pie.js +28 -0
  80. package/esm2015/lib/components/reports/ndf-reports/options/vertical-bar.js +41 -0
  81. package/esm2015/lib/components/reports/ndf-reports/public-api.js +6 -0
  82. package/esm2015/lib/components/reports/ndf-reports/services/base-chart-builder.service.js +103 -0
  83. package/esm2015/lib/components/reports/ndf-reports/services/chart-data-transformers.service.js +97 -0
  84. package/esm2015/lib/components/reports/ndf-reports/services/chart-manager.service.js +131 -0
  85. package/esm2015/lib/components/reports/ndf-reports/services/chart-plugins-registry.service.js +49 -0
  86. package/esm2015/lib/components/reports/ndf-reports/services/digit-chart.service.js +42 -0
  87. package/esm2015/lib/components/reports/ndf-reports/services/dynamic-timeline-report.service.js +72 -0
  88. package/esm2015/lib/components/reports/ndf-reports/services/index.js +11 -0
  89. package/esm2015/lib/components/reports/ndf-reports/services/ndf-reports.service.js +49 -0
  90. package/esm2015/lib/components/reports/ndf-reports/services/report-config-mapper.service.js +82 -0
  91. package/esm2015/lib/components/reports/ndf-reports/services/report-transform.service.js +98 -0
  92. package/esm2015/lib/components/reports/ndf-reports/services/reports-state.service.js +19 -0
  93. package/esm2015/lib/components/reports/ndf-reports/utilities/index.js +2 -0
  94. package/esm2015/lib/components/reports/ndf-reports/utilities/reports-table.mapper.js +44 -0
  95. package/esm2015/lib/components/spell-checker-field/spell-checker-field.module.js +1 -1
  96. package/esm2015/lib/components/tables/ndf-table/containers/ndf-table/ndf-table.component.js +81 -33
  97. package/esm2015/lib/components/tables/ndf-table/filters-panel/index.js +1 -2
  98. package/esm2015/lib/components/tables/ndf-table/filters-panel/models/types-helper.js +1 -1
  99. package/esm2015/lib/components/tables/ndf-table/filters-panel/services/aggregation-field.service.js +2 -2
  100. package/esm2015/lib/components/tables/ndf-table/filters-panel/services/index.js +1 -2
  101. package/esm2015/lib/components/tables/ndf-table/ndf-table.module.js +2 -2
  102. package/esm2015/lib/components/tables/ndf-table/services/index.js +2 -1
  103. package/esm2015/lib/components/tables/ndf-table/services/ndf-table-configuration.service.js +28 -0
  104. package/esm2015/lib/core/env/env-manager.js +1 -1
  105. package/esm2015/lib/core/services/index.js +2 -1
  106. package/esm2015/lib/core/services/ndf-transform.service.js +80 -0
  107. package/esm2015/lib/shared/components/index.js +3 -3
  108. package/esm2015/lib/shared/services/index.js +2 -2
  109. package/esm2015/public-api.js +8 -6
  110. package/fesm2015/nuxeo-development-framework.js +2778 -437
  111. package/fesm2015/nuxeo-development-framework.js.map +1 -1
  112. package/lib/components/{charts → reports/charts}/components/base-chart.component.d.ts +1 -1
  113. package/lib/components/reports/charts/index.d.ts +1 -0
  114. package/lib/components/reports/charts/plugins/data-labels.d.ts +3 -0
  115. package/lib/components/{charts → reports/charts}/plugins/index.d.ts +2 -0
  116. package/lib/components/reports/charts/plugins/scrollable-legends.d.ts +6 -0
  117. package/lib/components/{charts → reports/charts}/services/statistic.service.d.ts +2 -2
  118. package/lib/components/reports/charts/utility/css.d.ts +45 -0
  119. package/lib/components/{charts → reports/charts}/utility/index.d.ts +1 -0
  120. package/lib/components/reports/ndf-reports/base/base-chart.d.ts +27 -0
  121. package/lib/components/reports/ndf-reports/base/base-graph.report.d.ts +19 -0
  122. package/lib/components/reports/ndf-reports/base/base-report.d.ts +58 -0
  123. package/lib/components/reports/ndf-reports/charts-components/digit-chart/digit-chart.component.d.ts +14 -0
  124. package/lib/components/reports/ndf-reports/charts-components/graph-chart/graph-chart.component.d.ts +23 -0
  125. package/lib/components/reports/ndf-reports/charts-components/graph-chart/graph-chart.service.d.ts +6 -0
  126. package/lib/components/reports/ndf-reports/charts-components/index.d.ts +2 -0
  127. package/lib/components/reports/ndf-reports/components/_parts/chart-type-selector/chart-type-selector.component.d.ts +23 -0
  128. package/lib/components/reports/ndf-reports/components/_parts/graph-dialog/graph-dialog.component.d.ts +17 -0
  129. package/lib/components/reports/ndf-reports/components/_parts/index.d.ts +4 -0
  130. package/lib/components/reports/ndf-reports/components/_parts/time-group-selector/time-group-selector.component.d.ts +21 -0
  131. package/lib/components/reports/ndf-reports/components/_parts/timeline-dialog/timeline-dialog.component.d.ts +19 -0
  132. package/lib/components/reports/ndf-reports/components/chart-panel.component.d.ts +13 -0
  133. package/lib/components/reports/ndf-reports/components/digit-report/digit-report.component.d.ts +7 -0
  134. package/lib/components/reports/ndf-reports/components/dynamic-timeline-report/dynamic-timeline-report.component.d.ts +20 -0
  135. package/lib/components/reports/ndf-reports/components/graph-report/graph-report.component.d.ts +12 -0
  136. package/lib/components/reports/ndf-reports/components/index.d.ts +5 -0
  137. package/lib/components/reports/ndf-reports/constants/charts-types.d.ts +12 -0
  138. package/lib/components/reports/ndf-reports/constants/index.d.ts +2 -0
  139. package/lib/components/reports/ndf-reports/constants/time-group.d.ts +6 -0
  140. package/lib/components/reports/ndf-reports/containers/index.d.ts +2 -0
  141. package/lib/components/reports/ndf-reports/containers/ndf-report/ndf-report.component.d.ts +32 -0
  142. package/lib/components/reports/ndf-reports/containers/ndf-reports/ndf-reports.component.d.ts +92 -0
  143. package/lib/components/reports/ndf-reports/directives/index.d.ts +1 -0
  144. package/lib/components/reports/ndf-reports/directives/scrollable-div.directive.d.ts +14 -0
  145. package/lib/components/reports/ndf-reports/index.d.ts +1 -0
  146. package/lib/components/reports/ndf-reports/models/base.d.ts +18 -0
  147. package/lib/components/reports/ndf-reports/models/common.d.ts +20 -0
  148. package/lib/components/reports/ndf-reports/models/details.d.ts +16 -0
  149. package/lib/components/reports/ndf-reports/models/dialog-data.d.ts +12 -0
  150. package/lib/components/reports/ndf-reports/models/digit.d.ts +17 -0
  151. package/lib/components/reports/ndf-reports/models/dynamic-line.d.ts +52 -0
  152. package/lib/components/reports/ndf-reports/models/graph.d.ts +56 -0
  153. package/lib/components/reports/ndf-reports/models/index.d.ts +12 -0
  154. package/lib/components/reports/ndf-reports/models/ndf-reports.config.d.ts +22 -0
  155. package/lib/components/reports/ndf-reports/models/report-config.d.ts +5 -0
  156. package/lib/components/reports/ndf-reports/models/report-data-source.d.ts +7 -0
  157. package/lib/components/reports/ndf-reports/models/report-response.model.d.ts +4 -0
  158. package/lib/components/reports/ndf-reports/models/request.d.ts +10 -0
  159. package/lib/components/reports/ndf-reports/ndf-reports.module.d.ts +34 -0
  160. package/lib/components/reports/ndf-reports/options/doughnut.d.ts +7 -0
  161. package/lib/components/reports/ndf-reports/options/horizontal-bar.d.ts +7 -0
  162. package/lib/components/reports/ndf-reports/options/index.d.ts +6 -0
  163. package/lib/components/reports/ndf-reports/options/line.d.ts +7 -0
  164. package/lib/components/reports/ndf-reports/options/options.d.ts +2 -0
  165. package/lib/components/reports/ndf-reports/options/pie.d.ts +7 -0
  166. package/lib/components/reports/ndf-reports/options/vertical-bar.d.ts +7 -0
  167. package/lib/components/reports/ndf-reports/public-api.d.ts +5 -0
  168. package/lib/components/reports/ndf-reports/services/base-chart-builder.service.d.ts +59 -0
  169. package/lib/components/reports/ndf-reports/services/chart-data-transformers.service.d.ts +68 -0
  170. package/lib/components/reports/ndf-reports/services/chart-manager.service.d.ts +18 -0
  171. package/lib/components/reports/ndf-reports/services/chart-plugins-registry.service.d.ts +34 -0
  172. package/lib/components/reports/ndf-reports/services/digit-chart.service.d.ts +11 -0
  173. package/lib/components/reports/ndf-reports/services/dynamic-timeline-report.service.d.ts +32 -0
  174. package/lib/components/reports/ndf-reports/services/index.d.ts +10 -0
  175. package/lib/components/reports/ndf-reports/services/ndf-reports.service.d.ts +19 -0
  176. package/lib/components/reports/ndf-reports/services/report-config-mapper.service.d.ts +34 -0
  177. package/lib/components/reports/ndf-reports/services/report-transform.service.d.ts +18 -0
  178. package/lib/components/reports/ndf-reports/services/reports-state.service.d.ts +7 -0
  179. package/lib/components/reports/ndf-reports/utilities/index.d.ts +1 -0
  180. package/lib/components/reports/ndf-reports/utilities/reports-table.mapper.d.ts +3 -0
  181. package/lib/components/tables/ndf-table/containers/ndf-table/ndf-table.component.d.ts +33 -14
  182. package/lib/components/tables/ndf-table/filters-panel/index.d.ts +0 -1
  183. package/lib/components/tables/ndf-table/filters-panel/models/types-helper.d.ts +1 -9
  184. package/lib/components/tables/ndf-table/filters-panel/services/aggregation-field.service.d.ts +1 -1
  185. package/lib/components/tables/ndf-table/filters-panel/services/index.d.ts +0 -1
  186. package/lib/components/tables/ndf-table/services/index.d.ts +1 -0
  187. package/lib/components/tables/ndf-table/services/ndf-table-configuration.service.d.ts +14 -0
  188. package/lib/core/env/env-manager.d.ts +1 -0
  189. package/lib/core/services/index.d.ts +1 -0
  190. package/lib/{components/tables/ndf-table/filters-panel → core}/services/ndf-transform.service.d.ts +7 -1
  191. package/lib/shared/components/index.d.ts +2 -2
  192. package/lib/shared/services/index.d.ts +1 -1
  193. package/package.json +1 -1
  194. package/public-api.d.ts +7 -5
  195. package/esm2015/lib/components/charts/chart.const.js +0 -3
  196. package/esm2015/lib/components/charts/chart.token.js +0 -3
  197. package/esm2015/lib/components/charts/charts.module.js +0 -19
  198. package/esm2015/lib/components/charts/components/base-chart.component.js +0 -41
  199. package/esm2015/lib/components/charts/components/chart.component.js +0 -127
  200. package/esm2015/lib/components/charts/components/data-chart.component.js +0 -167
  201. package/esm2015/lib/components/charts/components/index.js +0 -4
  202. package/esm2015/lib/components/charts/defaults/bar.js +0 -18
  203. package/esm2015/lib/components/charts/defaults/doughnut.js +0 -15
  204. package/esm2015/lib/components/charts/defaults/index.js +0 -5
  205. package/esm2015/lib/components/charts/defaults/line.js +0 -25
  206. package/esm2015/lib/components/charts/defaults/pie.js +0 -15
  207. package/esm2015/lib/components/charts/index.js +0 -10
  208. package/esm2015/lib/components/charts/models/index.js +0 -5
  209. package/esm2015/lib/components/charts/models/options.js +0 -2
  210. package/esm2015/lib/components/charts/models/plugins-options.js +0 -2
  211. package/esm2015/lib/components/charts/models/response.js +0 -2
  212. package/esm2015/lib/components/charts/models/statistic-request-config.js +0 -2
  213. package/esm2015/lib/components/charts/plugins/doughnut-center-text.js +0 -25
  214. package/esm2015/lib/components/charts/plugins/doughnut-empty-state.js +0 -34
  215. package/esm2015/lib/components/charts/plugins/index.js +0 -4
  216. package/esm2015/lib/components/charts/plugins/legend-margin.js +0 -16
  217. package/esm2015/lib/components/charts/services/index.js +0 -2
  218. package/esm2015/lib/components/charts/services/statistic.service.js +0 -75
  219. package/esm2015/lib/components/charts/utility/colors.js +0 -79
  220. package/esm2015/lib/components/charts/utility/common.js +0 -7
  221. package/esm2015/lib/components/charts/utility/index.js +0 -3
  222. package/esm2015/lib/components/tables/ndf-table/filters-panel/services/ndf-transform.service.js +0 -80
  223. /package/lib/components/{charts → reports/charts}/chart.const.d.ts +0 -0
  224. /package/lib/components/{charts → reports/charts}/chart.token.d.ts +0 -0
  225. /package/lib/components/{charts → reports/charts}/charts.module.d.ts +0 -0
  226. /package/lib/components/{charts → reports/charts}/components/chart.component.d.ts +0 -0
  227. /package/lib/components/{charts → reports/charts}/components/data-chart.component.d.ts +0 -0
  228. /package/lib/components/{charts → reports/charts}/components/index.d.ts +0 -0
  229. /package/lib/components/{charts → reports/charts}/defaults/bar.d.ts +0 -0
  230. /package/lib/components/{charts → reports/charts}/defaults/doughnut.d.ts +0 -0
  231. /package/lib/components/{charts → reports/charts}/defaults/index.d.ts +0 -0
  232. /package/lib/components/{charts → reports/charts}/defaults/line.d.ts +0 -0
  233. /package/lib/components/{charts → reports/charts}/defaults/pie.d.ts +0 -0
  234. /package/lib/components/{charts → reports/charts}/models/index.d.ts +0 -0
  235. /package/lib/components/{charts → reports/charts}/models/options.d.ts +0 -0
  236. /package/lib/components/{charts → reports/charts}/models/plugins-options.d.ts +0 -0
  237. /package/lib/components/{charts → reports/charts}/models/response.d.ts +0 -0
  238. /package/lib/components/{charts → reports/charts}/models/statistic-request-config.d.ts +0 -0
  239. /package/lib/components/{charts → reports/charts}/plugins/doughnut-center-text.d.ts +0 -0
  240. /package/lib/components/{charts → reports/charts}/plugins/doughnut-empty-state.d.ts +0 -0
  241. /package/lib/components/{charts → reports/charts}/plugins/legend-margin.d.ts +0 -0
  242. /package/lib/components/{charts/index.d.ts → reports/charts/public-api.d.ts} +0 -0
  243. /package/lib/components/{charts → reports/charts}/services/index.d.ts +0 -0
  244. /package/lib/components/{charts → reports/charts}/utility/colors.d.ts +0 -0
  245. /package/lib/components/{charts → reports/charts}/utility/common.d.ts +0 -0
@@ -0,0 +1,144 @@
1
+ import { getColor, getTextColor } from '../utility';
2
+ export const chartDataLabels = {
3
+ id: 'chartDataLabels',
4
+ afterDatasetsDraw(chart, args, plugins) {
5
+ var _a;
6
+ const { ctx } = chart;
7
+ ctx.save();
8
+ switch ((_a = chart.config) === null || _a === void 0 ? void 0 : _a.type) {
9
+ case 'bar':
10
+ barChartLabels(chart);
11
+ break;
12
+ case 'pie':
13
+ pieChartLabels(chart);
14
+ break;
15
+ case 'doughnut':
16
+ doughnutChartLabels(chart);
17
+ break;
18
+ }
19
+ ctx.restore();
20
+ }
21
+ };
22
+ function barChartLabels(chart) {
23
+ var _a;
24
+ const { ctx, data } = chart;
25
+ const isHorizontalChart = ((_a = chart.options) === null || _a === void 0 ? void 0 : _a.indexAxis) === 'y';
26
+ const { isHorizontalReversed } = isBarChartReversed(chart);
27
+ chart.data.datasets.forEach((dataset, datasetIndex) => {
28
+ const meta = chart.getDatasetMeta(datasetIndex);
29
+ const totalSum = dataset.data.reduce((sum, currentValue) => sum + currentValue, 0);
30
+ meta.data.forEach((dataPoint, index) => {
31
+ if (!dataPoint)
32
+ return;
33
+ const percentage = (dataset.data[index] / totalSum) * 100;
34
+ const isVisible = chart.getDataVisibility(index);
35
+ if (!percentage || !isVisible) {
36
+ return;
37
+ }
38
+ const bgColor = dataset.backgroundColor[index];
39
+ const textColor = getTextColor(bgColor);
40
+ const fontSize = Math.max(12, Math.min(percentage / 2, 14));
41
+ ctx.textAlign = 'center';
42
+ ctx.textBaseline = 'middle';
43
+ ctx.font = `normal ${fontSize}px sans-serif`;
44
+ ctx.fillStyle = textColor;
45
+ const text = `${percentage.toFixed()}%`;
46
+ const { width, height } = getTextMetrics(ctx, text);
47
+ const textHeight = height || 12;
48
+ const textWidth = width || 30;
49
+ if (isHorizontalChart) {
50
+ if ((dataPoint === null || dataPoint === void 0 ? void 0 : dataPoint.width) > 0) {
51
+ const textPadding = 20;
52
+ const offset = textPadding + textWidth <= dataPoint.width ? textWidth : textWidth >= dataPoint.width ? 0 : 10;
53
+ const x = dataPoint.x + (isHorizontalReversed ? offset : -offset);
54
+ ctx.fillStyle = dataPoint.width <= textWidth ? getColor('--chart-value-default-color', '#000') : textColor;
55
+ if (percentage) {
56
+ ctx.fillText(text, x, dataPoint.y);
57
+ }
58
+ }
59
+ }
60
+ else {
61
+ if ((dataPoint === null || dataPoint === void 0 ? void 0 : dataPoint.height) > 0) {
62
+ const y = textHeight >= dataPoint.height ? dataPoint.y - 10 : dataPoint.y + 10;
63
+ ctx.fillStyle = textHeight >= dataPoint.height ? getColor('--chart-value-default-color', '#000') : textColor;
64
+ if (!percentage) {
65
+ return;
66
+ }
67
+ ctx.fillText(text, dataPoint.x, y);
68
+ }
69
+ }
70
+ });
71
+ });
72
+ }
73
+ function doughnutChartLabels(chart) {
74
+ const { ctx, data } = chart;
75
+ chart.data.datasets.forEach((dataset, datasetIndex) => {
76
+ const meta = chart.getDatasetMeta(datasetIndex);
77
+ const totalSum = dataset.data.reduce((sum, currentValue) => sum + currentValue, 0);
78
+ meta.data.forEach((arc, index) => {
79
+ if (!arc)
80
+ return;
81
+ const percentage = (dataset.data[index] / totalSum) * 100;
82
+ const isVisible = chart.getDataVisibility(index);
83
+ if (!percentage || !isVisible) {
84
+ return;
85
+ }
86
+ const midAngle = (arc.startAngle + arc.endAngle) / 2;
87
+ const x = arc.x + Math.cos(midAngle) * (arc.outerRadius / 1.2);
88
+ const y = arc.y + Math.sin(midAngle) * (arc.outerRadius / 1.2);
89
+ const fontSize = Math.max(12, Math.min(percentage / 2, 14));
90
+ const bgColor = dataset.backgroundColor[index] || '#00000';
91
+ prepareText(ctx, fontSize, bgColor);
92
+ ctx.fillText(`${percentage.toFixed()}%`, x, y);
93
+ });
94
+ });
95
+ }
96
+ function pieChartLabels(chart) {
97
+ const { ctx, data } = chart;
98
+ chart.data.datasets.forEach((dataset, datasetIndex) => {
99
+ const meta = chart.getDatasetMeta(datasetIndex);
100
+ const totalSum = dataset.data.reduce((sum, currentValue) => sum + currentValue, 0);
101
+ meta.data.forEach((arc, index) => {
102
+ if (!arc)
103
+ return;
104
+ const percentage = (dataset.data[index] / totalSum) * 100;
105
+ const isVisible = chart.getDataVisibility(index);
106
+ if (!percentage || !isVisible) {
107
+ return;
108
+ }
109
+ const midAngle = (arc.startAngle + arc.endAngle) / 2;
110
+ const x = arc.x + Math.cos(midAngle) * (arc.outerRadius / 1.5);
111
+ const y = arc.y + Math.sin(midAngle) * (arc.outerRadius / 1.5);
112
+ const fontSize = Math.max(12, Math.min(percentage / 2, 14));
113
+ const bgColor = dataset.backgroundColor[index] || '#00000';
114
+ prepareText(ctx, fontSize, bgColor);
115
+ ctx.fillText(`${percentage.toFixed()}%`, x, y);
116
+ });
117
+ });
118
+ }
119
+ function isBarChartReversed(chart) {
120
+ var _a, _b;
121
+ const scales = chart.options.scales;
122
+ const isVerticalReversed = ((_a = scales === null || scales === void 0 ? void 0 : scales.y) === null || _a === void 0 ? void 0 : _a.reverse) === true;
123
+ const isHorizontalReversed = ((_b = scales === null || scales === void 0 ? void 0 : scales.x) === null || _b === void 0 ? void 0 : _b.reverse) === true;
124
+ return {
125
+ isVerticalReversed,
126
+ isHorizontalReversed
127
+ };
128
+ }
129
+ function getTextMetrics(ctx, text) {
130
+ const metrics = ctx.measureText(text);
131
+ const textHeight = metrics.actualBoundingBoxAscent + metrics.actualBoundingBoxDescent;
132
+ return {
133
+ height: textHeight,
134
+ width: metrics.width
135
+ };
136
+ }
137
+ function prepareText(ctx, fontSize, bgColor) {
138
+ const textColor = getTextColor(bgColor || getColor('--chart-value-default-color', '#000'));
139
+ ctx.font = `bold ${fontSize}px sans-serif`;
140
+ ctx.textAlign = 'center';
141
+ ctx.textBaseline = 'middle';
142
+ ctx.fillStyle = textColor;
143
+ }
144
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1sYWJlbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL3JlcG9ydHMvY2hhcnRzL3BsdWdpbnMvZGF0YS1sYWJlbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFcEQsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFzQjtJQUNqRCxFQUFFLEVBQUUsaUJBQWlCO0lBQ3JCLGlCQUFpQixDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsT0FBTzs7UUFDckMsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLEtBQUssQ0FBQztRQUN0QixHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFWCxRQUFRLE1BQUMsS0FBSyxDQUFDLE1BQTZCLDBDQUFFLElBQUksRUFBRTtZQUNuRCxLQUFLLEtBQUs7Z0JBQ1QsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN0QixNQUFNO1lBQ1AsS0FBSyxLQUFLO2dCQUNULGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDdEIsTUFBTTtZQUNQLEtBQUssVUFBVTtnQkFDZCxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDM0IsTUFBTTtTQUNQO1FBRUQsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2YsQ0FBQztDQUNELENBQUM7QUFFRixTQUFTLGNBQWMsQ0FBQyxLQUF5Qzs7SUFDaEUsTUFBTSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxLQUFLLENBQUM7SUFDNUIsTUFBTSxpQkFBaUIsR0FBRyxDQUFBLE1BQUEsS0FBSyxDQUFDLE9BQU8sMENBQUUsU0FBUyxNQUFLLEdBQUcsQ0FBQztJQUMzRCxNQUFNLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxrQkFBa0Is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O1FBQ04sTUFBTSxFQUFFLFVBQVU7UUFDbEIsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLO0tBQ3BCLENBQUM7QUFDSCxDQUFDO0FBRUQsU0FBUyxXQUFXLENBQUMsR0FBNkIsRUFBRSxRQUFnQixFQUFFLE9BQWU7SUFDcEYsTUFBTSxTQUFTLEdBQUcsWUFBWSxDQUFDLE9BQU8sSUFBSSxRQUFRLENBQUMsNkJBQTZCLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUMzRixHQUFHLENBQUMsSUFBSSxHQUFHLFFBQVEsUUFBUSxlQUFlLENBQUM7SUFDM0MsR0FBRyxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7SUFDekIsR0FBRyxDQUFDLFlBQVksR0FBRyxRQUFRLENBQUM7SUFDNUIsR0FBRyxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7QUFDM0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFyY0VsZW1lbnQsIENoYXJ0LCBQbHVnaW4gfSBmcm9tICdjaGFydC5qcyc7XHJcbmltcG9ydCB7IENoYXJ0Q29uZmlndXJhdGlvbiwgQ2hhcnRUeXBlIH0gZnJvbSAnY2hhcnQuanMvZGlzdC90eXBlcyc7XHJcblxyXG5pbXBvcnQgQmFyRWxlbWVudCBmcm9tICdjaGFydC5qcy9kaXN0L2VsZW1lbnRzL2VsZW1lbnQuYmFyJztcclxuaW1wb3J0IHsgZ2V0Q29sb3IsIGdldFRleHRDb2xvciB9IGZyb20gJy4uL3V0aWxpdHknO1xyXG5cclxuZXhwb3J0IGNvbnN0IGNoYXJ0RGF0YUxhYmVsczogUGx1Z2luPENoYXJ0VHlwZT4gPSB7XHJcblx0aWQ6ICdjaGFydERhdGFMYWJlbHMnLFxyXG5cdGFmdGVyRGF0YXNldHNEcmF3KGNoYXJ0LCBhcmdzLCBwbHVnaW5zKSB7XHJcblx0XHRjb25zdCB7IGN0eCB9ID0gY2hhcnQ7XHJcblx0XHRjdHguc2F2ZSgpO1xyXG5cclxuXHRcdHN3aXRjaCAoKGNoYXJ0LmNvbmZpZyBhcyBDaGFydENvbmZpZ3VyYXRpb24pPy50eXBlKSB7XHJcblx0XHRcdGNhc2UgJ2Jhcic6XHJcblx0XHRcdFx0YmFyQ2hhcnRMYWJlbHMoY2hhcnQpO1xyXG5cdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRjYXNlICdwaWUnOlxyXG5cdFx0XHRcdHBpZUNoYXJ0TGFiZWxzKGNoYXJ0KTtcclxuXHRcdFx0XHRicmVhaztcclxuXHRcdFx0Y2FzZSAnZG91Z2hudXQnOlxyXG5cdFx0XHRcdGRvdWdobnV0Q2hhcnRMYWJlbHMoY2hhcnQpO1xyXG5cdFx0XHRcdGJyZWFrO1xyXG5cdFx0fVxyXG5cclxuXHRcdGN0eC5yZXN0b3JlKCk7XHJcblx0fVxyXG59O1xyXG5cclxuZnVuY3Rpb24gYmFyQ2hhcnRMYWJlbHMoY2hhcnQ6IENoYXJ0PENoYXJ0VHlwZSwgdW5rbm93biwgdW5rbm93bj4pIHtcclxuXHRjb25zdCB7IGN0eCwgZGF0YSB9ID0gY2hhcnQ7XHJcblx0Y29uc3QgaXNIb3Jpem9udGFsQ2hhcnQgPSBjaGFydC5vcHRpb25zPy5pbmRleEF4aXMgPT09ICd5JztcclxuXHRjb25zdCB7IGlzSG9yaXpvbnRhbFJldmVyc2VkIH0gPSBpc0JhckNoYXJ0UmV2ZXJzZWQoY2hhcnQpO1xyXG5cclxuXHRjaGFydC5kYXRhLmRhdGFzZXRzLmZvckVhY2goKGRhdGFzZXQsIGRhdGFzZXRJbmRleCkgPT4ge1xyXG5cdFx0Y29uc3QgbWV0YSA9IGNoYXJ0LmdldERhdGFzZXRNZXRhKGRhdGFzZXRJbmRleCk7XHJcblxyXG5cdFx0Y29uc3QgdG90YWxTdW0gPSAoZGF0YXNldC5kYXRhIGFzIFtdKS5yZWR1Y2UoKHN1bSwgY3VycmVudFZhbHVlKSA9PiBzdW0gKyBjdXJyZW50VmFsdWUsIDApO1xyXG5cclxuXHRcdG1ldGEuZGF0YS5mb3JFYWNoKChkYXRhUG9pbnQ6IEJhckVsZW1lbnQsIGluZGV4KSA9PiB7XHJcblx0XHRcdGlmICghZGF0YVBvaW50KSByZXR1cm47XHJcblx0XHRcdGNvbnN0IHBlcmNlbnRhZ2UgPSAoZGF0YXNldC5kYXRhW2luZGV4XSAvIHRvdGFsU3VtKSAqIDEwMDtcclxuXHRcdFx0Y29uc3QgaXNWaXNpYmxlID0gY2hhcnQuZ2V0RGF0YVZpc2liaWxpdHkoaW5kZXgpO1xyXG5cdFx0XHRpZiAoIXBlcmNlbnRhZ2UgfHwgIWlzVmlzaWJsZSkge1xyXG5cdFx0XHRcdHJldHVybjtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Y29uc3QgYmdDb2xvciA9IGRhdGFzZXQuYmFja2dyb3VuZENvbG9yW2luZGV4XTtcclxuXHRcdFx0Y29uc3QgdGV4dENvbG9yID0gZ2V0VGV4dENvbG9yKGJnQ29sb3IpO1xyXG5cclxuXHRcdFx0Y29uc3QgZm9udFNpemUgPSBNYXRoLm1heCgxMiwgTWF0aC5taW4ocGVyY2VudGFnZSAvIDIsIDE0KSk7XHJcblxyXG5cdFx0XHRjdHgudGV4dEFsaWduID0gJ2NlbnRlcic7XHJcblx0XHRcdGN0eC50ZXh0QmFzZWxpbmUgPSAnbWlkZGxlJztcclxuXHRcdFx0Y3R4LmZvbnQgPSBgbm9ybWFsICR7Zm9udFNpemV9cHggc2Fucy1zZXJpZmA7XHJcblx0XHRcdGN0eC5maWxsU3R5bGUgPSB0ZXh0Q29sb3I7XHJcblxyXG5cdFx0XHRjb25zdCB0ZXh0ID0gYCR7cGVyY2VudGFnZS50b0ZpeGVkKCl9JWA7XHJcblxyXG5cdFx0XHRjb25zdCB7IHdpZHRoLCBoZWlnaHQgfSA9IGdldFRleHRNZXRyaWNzKGN0eCwgdGV4dCk7XHJcblxyXG5cdFx0XHRjb25zdCB0ZXh0SGVpZ2h0ID0gaGVpZ2h0IHx8IDEyO1xyXG5cdFx0XHRjb25zdCB0ZXh0V2lkdGggPSB3aWR0aCB8fCAzMDtcclxuXHJcblx0XHRcdGlmIChpc0hvcml6b250YWxDaGFydCkge1xyXG5cdFx0XHRcdGlmIChkYXRhUG9pbnQ/LndpZHRoID4gMCkge1xyXG5cdFx0XHRcdFx0Y29uc3QgdGV4dFBhZGRpbmcgPSAyMDtcclxuXHRcdFx0XHRcdGNvbnN0IG9mZnNldCA9IHRleHRQYWRkaW5nICsgdGV4dFdpZHRoIDw9IGRhdGFQb2ludC53aWR0aCA/IHRleHRXaWR0aCA6IHRleHRXaWR0aCA+PSBkYXRhUG9pbnQud2lkdGggPyAwIDogMTA7XHJcblxyXG5cdFx0XHRcdFx0Y29uc3QgeCA9IGRhdGFQb2ludC54ICsgKGlzSG9yaXpvbnRhbFJldmVyc2VkID8gb2Zmc2V0IDogLW9mZnNldCk7XHJcblx0XHRcdFx0XHRjdHguZmlsbFN0eWxlID0gZGF0YVBvaW50LndpZHRoIDw9IHRleHRXaWR0aCA/IGdldENvbG9yKCctLWNoYXJ0LXZhbHVlLWRlZmF1bHQtY29sb3InLCAnIzAwMCcpIDogdGV4dENvbG9yO1xyXG5cclxuXHRcdFx0XHRcdGlmIChwZXJjZW50YWdlKSB7XHJcblx0XHRcdFx0XHRcdGN0eC5maWxsVGV4dCh0ZXh0LCB4LCBkYXRhUG9pbnQueSk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdGlmIChkYXRhUG9pbnQ/LmhlaWdodCA+IDApIHtcclxuXHRcdFx0XHRcdGNvbnN0IHkgPSB0ZXh0SGVpZ2h0ID49IGRhdGFQb2ludC5oZWlnaHQgPyBkYXRhUG9pbnQueSAtIDEwIDogZGF0YVBvaW50LnkgKyAxMDtcclxuXHRcdFx0XHRcdGN0eC5maWxsU3R5bGUgPSB0ZXh0SGVpZ2h0ID49IGRhdGFQb2ludC5oZWlnaHQgPyBnZXRDb2xvcignLS1jaGFydC12YWx1ZS1kZWZhdWx0LWNvbG9yJywgJyMwMDAnKSA6IHRleHRDb2xvcjtcclxuXHRcdFx0XHRcdGlmICghcGVyY2VudGFnZSkge1xyXG5cdFx0XHRcdFx0XHRyZXR1cm47XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRjdHguZmlsbFRleHQodGV4dCwgZGF0YVBvaW50LngsIHkpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fSk7XHJcblx0fSk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGRvdWdobnV0Q2hhcnRMYWJlbHMoY2hhcnQ6IENoYXJ0PENoYXJ0VHlwZSwgdW5rbm93biwgdW5rbm93bj4pIHtcclxuXHRjb25zdCB7IGN0eCwgZGF0YSB9ID0gY2hhcnQ7XHJcblxyXG5cdGNoYXJ0LmRhdGEuZGF0YXNldHMuZm9yRWFjaCgoZGF0YXNldCwgZGF0YXNldEluZGV4KSA9PiB7XHJcblx0XHRjb25zdCBtZXRhID0gY2hhcnQuZ2V0RGF0YXNldE1ldGEoZGF0YXNldEluZGV4KTtcclxuXHJcblx0XHRjb25zdCB0b3RhbFN1bSA9IChkYXRhc2V0LmRhdGEgYXMgW10pLnJlZHVjZSgoc3VtLCBjdXJyZW50VmFsdWUpID0+IHN1bSArIGN1cnJlbnRWYWx1ZSwgMCk7XHJcblxyXG5cdFx0bWV0YS5kYXRhLmZvckVhY2goKGFyYzogQXJjRWxlbWVudCwgaW5kZXgpID0+IHtcclxuXHRcdFx0aWYgKCFhcmMpIHJldHVybjtcclxuXHJcblx0XHRcdGNvbnN0IHBlcmNlbnRhZ2UgPSAoZGF0YXNldC5kYXRhW2luZGV4XSAvIHRvdGFsU3VtKSAqIDEwMDtcclxuXHRcdFx0Y29uc3QgaXNWaXNpYmxlID0gY2hhcnQuZ2V0RGF0YVZpc2liaWxpdHkoaW5kZXgpO1xyXG5cdFx0XHRpZiAoIXBlcmNlbnRhZ2UgfHwgIWlzVmlzaWJsZSkge1xyXG5cdFx0XHRcdHJldHVybjtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Y29uc3QgbWlkQW5nbGUgPSAoYXJjLnN0YXJ0QW5nbGUgKyBhcmMuZW5kQW5nbGUpIC8gMjtcclxuXHRcdFx0Y29uc3QgeCA9IGFyYy54ICsgTWF0aC5jb3MobWlkQW5nbGUpICogKGFyYy5vdXRlclJhZGl1cyAvIDEuMik7XHJcblx0XHRcdGNvbnN0IHkgPSBhcmMueSArIE1hdGguc2luKG1pZEFuZ2xlKSAqIChhcmMub3V0ZXJSYWRpdXMgLyAxLjIpO1xyXG5cclxuXHRcdFx0Y29uc3QgZm9udFNpemUgPSBNYXRoLm1heCgxMiwgTWF0aC5taW4ocGVyY2VudGFnZSAvIDIsIDE0KSk7XHJcblx0XHRcdGNvbnN0IGJnQ29sb3IgPSBkYXRhc2V0LmJhY2tncm91bmRDb2xvcltpbmRleF0gfHwgJyMwMDAwMCc7XHJcblx0XHRcdHByZXBhcmVUZXh0KGN0eCwgZm9udFNpemUsIGJnQ29sb3IpO1xyXG5cdFx0XHRjdHguZmlsbFRleHQoYCR7cGVyY2VudGFnZS50b0ZpeGVkKCl9JWAsIHgsIHkpO1xyXG5cdFx0fSk7XHJcblx0fSk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIHBpZUNoYXJ0TGFiZWxzKGNoYXJ0OiBDaGFydDxDaGFydFR5cGUsIHVua25vd24sIHVua25vd24+KSB7XHJcblx0Y29uc3QgeyBjdHgsIGRhdGEgfSA9IGNoYXJ0O1xyXG5cclxuXHRjaGFydC5kYXRhLmRhdGFzZXRzLmZvckVhY2goKGRhdGFzZXQsIGRhdGFzZXRJbmRleCkgPT4ge1xyXG5cdFx0Y29uc3QgbWV0YSA9IGNoYXJ0LmdldERhdGFzZXRNZXRhKGRhdGFzZXRJbmRleCk7XHJcblxyXG5cdFx0Y29uc3QgdG90YWxTdW0gPSAoZGF0YXNldC5kYXRhIGFzIFtdKS5yZWR1Y2UoKHN1bSwgY3VycmVudFZhbHVlKSA9PiBzdW0gKyBjdXJyZW50VmFsdWUsIDApO1xyXG5cclxuXHRcdG1ldGEuZGF0YS5mb3JFYWNoKChhcmM6IEFyY0VsZW1lbnQsIGluZGV4KSA9PiB7XHJcblx0XHRcdGlmICghYXJjKSByZXR1cm47XHJcblxyXG5cdFx0XHRjb25zdCBwZXJjZW50YWdlID0gKGRhdGFzZXQuZGF0YVtpbmRleF0gLyB0b3RhbFN1bSkgKiAxMDA7XHJcblx0XHRcdGNvbnN0IGlzVmlzaWJsZSA9IGNoYXJ0LmdldERhdGFWaXNpYmlsaXR5KGluZGV4KTtcclxuXHRcdFx0aWYgKCFwZXJjZW50YWdlIHx8ICFpc1Zpc2libGUpIHtcclxuXHRcdFx0XHRyZXR1cm47XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdGNvbnN0IG1pZEFuZ2xlID0gKGFyYy5zdGFydEFuZ2xlICsgYXJjLmVuZEFuZ2xlKSAvIDI7XHJcblxyXG5cdFx0XHRjb25zdCB4ID0gYXJjLnggKyBNYXRoLmNvcyhtaWRBbmdsZSkgKiAoYXJjLm91dGVyUmFkaXVzIC8gMS41KTtcclxuXHJcblx0XHRcdGNvbnN0IHkgPSBhcmMueSArIE1hdGguc2luKG1pZEFuZ2xlKSAqIChhcmMub3V0ZXJSYWRpdXMgLyAxLjUpO1xyXG5cclxuXHRcdFx0Y29uc3QgZm9udFNpemUgPSBNYXRoLm1heCgxMiwgTWF0aC5taW4ocGVyY2VudGFnZSAvIDIsIDE0KSk7XHJcblx0XHRcdGNvbnN0IGJnQ29sb3IgPSBkYXRhc2V0LmJhY2tncm91bmRDb2xvcltpbmRleF0gfHwgJyMwMDAwMCc7XHJcblx0XHRcdHByZXBhcmVUZXh0KGN0eCwgZm9udFNpemUsIGJnQ29sb3IpO1xyXG5cclxuXHRcdFx0Y3R4LmZpbGxUZXh0KGAke3BlcmNlbnRhZ2UudG9GaXhlZCgpfSVgLCB4LCB5KTtcclxuXHRcdH0pO1xyXG5cdH0pO1xyXG59XHJcblxyXG5mdW5jdGlvbiBpc0JhckNoYXJ0UmV2ZXJzZWQoY2hhcnQ6IENoYXJ0PENoYXJ0VHlwZSwgdW5rbm93biwgdW5rbm93bj4pIHtcclxuXHRjb25zdCBzY2FsZXMgPSBjaGFydC5vcHRpb25zLnNjYWxlcztcclxuXHJcblx0Y29uc3QgaXNWZXJ0aWNhbFJldmVyc2VkID0gc2NhbGVzPy55Py5yZXZlcnNlID09PSB0cnVlO1xyXG5cclxuXHRjb25zdCBpc0hvcml6b250YWxSZXZlcnNlZCA9IHNjYWxlcz8ueD8ucmV2ZXJzZSA9PT0gdHJ1ZTtcclxuXHJcblx0cmV0dXJuIHtcclxuXHRcdGlzVmVydGljYWxSZXZlcnNlZCxcclxuXHRcdGlzSG9yaXpvbnRhbFJldmVyc2VkXHJcblx0fTtcclxufVxyXG5cclxuZnVuY3Rpb24gZ2V0VGV4dE1ldHJpY3MoY3R4OiBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQsIHRleHQ6IHN0cmluZykge1xyXG5cdGNvbnN0IG1ldHJpY3MgPSBjdHgubWVhc3VyZVRleHQodGV4dCk7XHJcblxyXG5cdGNvbnN0IHRleHRIZWlnaHQgPSBtZXRyaWNzLmFjdHVhbEJvdW5kaW5nQm94QXNjZW50ICsgbWV0cmljcy5hY3R1YWxCb3VuZGluZ0JveERlc2NlbnQ7XHJcblx0cmV0dXJuIHtcclxuXHRcdGhlaWdodDogdGV4dEhlaWdodCxcclxuXHRcdHdpZHRoOiBtZXRyaWNzLndpZHRoXHJcblx0fTtcclxufVxyXG5cclxuZnVuY3Rpb24gcHJlcGFyZVRleHQoY3R4OiBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQsIGZvbnRTaXplOiBudW1iZXIsIGJnQ29sb3I6IHN0cmluZykge1xyXG5cdGNvbnN0IHRleHRDb2xvciA9IGdldFRleHRDb2xvcihiZ0NvbG9yIHx8IGdldENvbG9yKCctLWNoYXJ0LXZhbHVlLWRlZmF1bHQtY29sb3InLCAnIzAwMCcpKTtcclxuXHRjdHguZm9udCA9IGBib2xkICR7Zm9udFNpemV9cHggc2Fucy1zZXJpZmA7XHJcblx0Y3R4LnRleHRBbGlnbiA9ICdjZW50ZXInO1xyXG5cdGN0eC50ZXh0QmFzZWxpbmUgPSAnbWlkZGxlJztcclxuXHRjdHguZmlsbFN0eWxlID0gdGV4dENvbG9yO1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,25 @@
1
+ export const centerText = {
2
+ id: 'centerText',
3
+ beforeDatasetDraw: (chart, args, options) => {
4
+ var _a;
5
+ const { ctx, data, config } = chart;
6
+ if (!['doughnut', 'pie'].includes(config['type'])) {
7
+ return;
8
+ }
9
+ const datasetMeta = chart.getDatasetMeta(0);
10
+ if (!data || !datasetMeta.data.length) {
11
+ return;
12
+ }
13
+ ctx.save();
14
+ const xCoor = datasetMeta.data[0].x;
15
+ const yCoor = datasetMeta.data[0].y;
16
+ const totalData = data.datasets[0].data.reduce((sum, value) => sum + value, 0);
17
+ ctx.font = (options === null || options === void 0 ? void 0 : options.font) || 'bold 1rem sans-serif';
18
+ ctx.fillStyle = (options === null || options === void 0 ? void 0 : options.color) || 'black';
19
+ ctx.textBaseline = 'middle';
20
+ ctx.textAlign = 'center';
21
+ ctx.fillText((_a = options === null || options === void 0 ? void 0 : options.text) !== null && _a !== void 0 ? _a : `${totalData}`, xCoor, yCoor);
22
+ ctx.restore();
23
+ },
24
+ };
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG91Z2hudXQtY2VudGVyLXRleHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL3JlcG9ydHMvY2hhcnRzL3BsdWdpbnMvZG91Z2hudXQtY2VudGVyLXRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUErQjtJQUNwRCxFQUFFLEVBQUUsWUFBWTtJQUNoQixpQkFBaUIsRUFBRSxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsT0FBMEIsRUFBRSxFQUFFOztRQUM3RCxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsR0FBRyxLQUFLLENBQUM7UUFFcEMsSUFBSSxDQUFDLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRTtZQUNqRCxPQUFPO1NBQ1I7UUFFRCxNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNyQyxPQUFPO1NBQ1I7UUFDRCxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFWCxNQUFNLEtBQUssR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwQyxNQUFNLEtBQUssR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVwQyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRS9FLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQSxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsSUFBSSxLQUFJLHNCQUFzQixDQUFDO1FBQ25ELEdBQUcsQ0FBQyxTQUFTLEdBQUcsQ0FBQSxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsS0FBSyxLQUFJLE9BQU8sQ0FBQztRQUMxQyxHQUFHLENBQUMsWUFBWSxHQUFHLFFBQVEsQ0FBQztRQUM1QixHQUFHLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztRQUN6QixHQUFHLENBQUMsUUFBUSxDQUFDLE1BQUEsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLElBQUksbUNBQUksR0FBRyxTQUFTLEVBQUUsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDNUQsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBRWhCLENBQUM7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGx1Z2luIH0gZnJvbSAnY2hhcnQuanMnO1xyXG5pbXBvcnQgeyBUZXh0Q2VudGVyT3B0aW9ucyB9IGZyb20gJy4uL21vZGVscyc7XHJcblxyXG5leHBvcnQgY29uc3QgY2VudGVyVGV4dDogUGx1Z2luPCdkb3VnaG51dCcgfCAncGllJz4gPSB7XHJcbiAgaWQ6ICdjZW50ZXJUZXh0JyxcclxuICBiZWZvcmVEYXRhc2V0RHJhdzogKGNoYXJ0LCBhcmdzLCBvcHRpb25zOiBUZXh0Q2VudGVyT3B0aW9ucykgPT4ge1xyXG4gICAgY29uc3QgeyBjdHgsIGRhdGEsIGNvbmZpZyB9ID0gY2hhcnQ7XHJcblxyXG4gICAgaWYgKCFbJ2RvdWdobnV0JywgJ3BpZSddLmluY2x1ZGVzKGNvbmZpZ1sndHlwZSddKSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgZGF0YXNldE1ldGEgPSBjaGFydC5nZXREYXRhc2V0TWV0YSgwKTtcclxuICAgIGlmICghZGF0YSB8fCAhZGF0YXNldE1ldGEuZGF0YS5sZW5ndGgpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgY3R4LnNhdmUoKTtcclxuXHJcbiAgICBjb25zdCB4Q29vciA9IGRhdGFzZXRNZXRhLmRhdGFbMF0ueDtcclxuICAgIGNvbnN0IHlDb29yID0gZGF0YXNldE1ldGEuZGF0YVswXS55O1xyXG5cclxuICAgIGNvbnN0IHRvdGFsRGF0YSA9IGRhdGEuZGF0YXNldHNbMF0uZGF0YS5yZWR1Y2UoKHN1bSwgdmFsdWUpID0+IHN1bSArIHZhbHVlLCAwKTtcclxuXHJcbiAgICBjdHguZm9udCA9IG9wdGlvbnM/LmZvbnQgfHwgJ2JvbGQgMXJlbSBzYW5zLXNlcmlmJztcclxuICAgIGN0eC5maWxsU3R5bGUgPSBvcHRpb25zPy5jb2xvciB8fCAnYmxhY2snO1xyXG4gICAgY3R4LnRleHRCYXNlbGluZSA9ICdtaWRkbGUnO1xyXG4gICAgY3R4LnRleHRBbGlnbiA9ICdjZW50ZXInO1xyXG4gICAgY3R4LmZpbGxUZXh0KG9wdGlvbnM/LnRleHQgPz8gYCR7dG90YWxEYXRhfWAsIHhDb29yLCB5Q29vcik7XHJcbiAgICBjdHgucmVzdG9yZSgpO1xyXG5cclxuICB9LFxyXG59O1xyXG4iXX0=
@@ -0,0 +1,34 @@
1
+ export const doughnutEmptyState = {
2
+ id: 'emptyDoughnut',
3
+ afterDraw(chart, args, options) {
4
+ const { datasets } = chart.data;
5
+ if (!['doughnut', 'pie'].includes(chart.config['type'])) {
6
+ return;
7
+ }
8
+ const { color, lineWidth, radiusDecrease, backgroundColor, text, fontColor, showMessage, font } = options;
9
+ const hasData = datasets.some((set) => !![...set.data].filter(Boolean).length);
10
+ if (!hasData) {
11
+ const { chartArea: { left, top, right, bottom }, ctx } = chart;
12
+ const centerX = (left + right) / 2;
13
+ const centerY = (top + bottom) / 2;
14
+ const r = Math.min(right - left, bottom - top) / 2;
15
+ ctx.beginPath();
16
+ ctx.lineWidth = lineWidth || 1;
17
+ ctx.strokeStyle = color || 'rgba(0, 0, 0, 0.1)';
18
+ ctx.arc(centerX, centerY, r - (radiusDecrease || 0), 0, 2 * Math.PI);
19
+ ctx.fillStyle = backgroundColor || 'rgba(0, 0, 0, 0.03)';
20
+ ctx.fill();
21
+ ctx.stroke();
22
+ if (showMessage) {
23
+ // Draw the empty message
24
+ ctx.fillStyle = fontColor || '#000';
25
+ ctx.font = font || 'bold 1rem sans-serif';
26
+ ctx.textAlign = 'center';
27
+ ctx.textBaseline = 'middle';
28
+ ctx.fillText(text || 'No Data', centerX, centerY);
29
+ }
30
+ ctx.restore();
31
+ }
32
+ }
33
+ };
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG91Z2hudXQtZW1wdHktc3RhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL3JlcG9ydHMvY2hhcnRzL3BsdWdpbnMvZG91Z2hudXQtZW1wdHktc3RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQStCO0lBQzdELEVBQUUsRUFBRSxlQUFlO0lBQ25CLFNBQVMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLE9BQTZCO1FBQ25ELE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDO1FBRWhDLElBQUksQ0FBQyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFO1lBQ3hELE9BQU87U0FDUDtRQUVELE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBRTFHLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUUvRSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2IsTUFBTSxFQUNMLFNBQVMsRUFBRSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxFQUN2QyxHQUFHLEVBQ0gsR0FBRyxLQUFLLENBQUM7WUFDVixNQUFNLE9BQU8sR0FBRyxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDbkMsTUFBTSxPQUFPLEdBQUcsQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ25DLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxHQUFHLElBQUksRUFBRSxNQUFNLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBRW5ELEdBQUcsQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNoQixHQUFHLENBQUMsU0FBUyxHQUFHLFNBQVMsSUFBSSxDQUFDLENBQUM7WUFDL0IsR0FBRyxDQUFDLFdBQVcsR0FBRyxLQUFLLElBQUksb0JBQW9CLENBQUM7WUFDaEQsR0FBRyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLENBQUMsR0FBRyxDQUFDLGNBQWMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNyRSxHQUFHLENBQUMsU0FBUyxHQUFHLGVBQWUsSUFBSSxxQkFBcUIsQ0FBQztZQUN6RCxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDWCxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUM7WUFFYixJQUFJLFdBQVcsRUFBRTtnQkFDaEIseUJBQXlCO2dCQUN6QixHQUFHLENBQUMsU0FBUyxHQUFHLFNBQVMsSUFBSSxNQUFNLENBQUM7Z0JBQ3BDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsSUFBSSxJQUFJLHNCQUFzQixDQUFDO2dCQUMxQyxHQUFHLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztnQkFDekIsR0FBRyxDQUFDLFlBQVksR0FBRyxRQUFRLENBQUM7Z0JBQzVCLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxJQUFJLFNBQVMsRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7YUFDbEQ7WUFDRCxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDZDtJQUNGLENBQUM7Q0FDRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGx1Z2luIH0gZnJvbSAnY2hhcnQuanMnO1xyXG5pbXBvcnQgeyBFbXB0eURvdWdobnV0T3B0aW9ucyB9IGZyb20gJy4uL21vZGVscyc7XHJcblxyXG5leHBvcnQgY29uc3QgZG91Z2hudXRFbXB0eVN0YXRlOiBQbHVnaW48J2RvdWdobnV0JyB8ICdwaWUnPiA9IHtcclxuXHRpZDogJ2VtcHR5RG91Z2hudXQnLFxyXG5cdGFmdGVyRHJhdyhjaGFydCwgYXJncywgb3B0aW9uczogRW1wdHlEb3VnaG51dE9wdGlvbnMpIHtcclxuXHRcdGNvbnN0IHsgZGF0YXNldHMgfSA9IGNoYXJ0LmRhdGE7XHJcblxyXG5cdFx0aWYgKCFbJ2RvdWdobnV0JywgJ3BpZSddLmluY2x1ZGVzKGNoYXJ0LmNvbmZpZ1sndHlwZSddKSkge1xyXG5cdFx0XHRyZXR1cm47XHJcblx0XHR9XHJcblxyXG5cdFx0Y29uc3QgeyBjb2xvciwgbGluZVdpZHRoLCByYWRpdXNEZWNyZWFzZSwgYmFja2dyb3VuZENvbG9yLCB0ZXh0LCBmb250Q29sb3IsIHNob3dNZXNzYWdlLCBmb250IH0gPSBvcHRpb25zO1xyXG5cclxuXHRcdGNvbnN0IGhhc0RhdGEgPSBkYXRhc2V0cy5zb21lKChzZXQpID0+ICEhWy4uLnNldC5kYXRhXS5maWx0ZXIoQm9vbGVhbikubGVuZ3RoKTtcclxuXHJcblx0XHRpZiAoIWhhc0RhdGEpIHtcclxuXHRcdFx0Y29uc3Qge1xyXG5cdFx0XHRcdGNoYXJ0QXJlYTogeyBsZWZ0LCB0b3AsIHJpZ2h0LCBib3R0b20gfSxcclxuXHRcdFx0XHRjdHhcclxuXHRcdFx0fSA9IGNoYXJ0O1xyXG5cdFx0XHRjb25zdCBjZW50ZXJYID0gKGxlZnQgKyByaWdodCkgLyAyO1xyXG5cdFx0XHRjb25zdCBjZW50ZXJZID0gKHRvcCArIGJvdHRvbSkgLyAyO1xyXG5cdFx0XHRjb25zdCByID0gTWF0aC5taW4ocmlnaHQgLSBsZWZ0LCBib3R0b20gLSB0b3ApIC8gMjtcclxuXHJcblx0XHRcdGN0eC5iZWdpblBhdGgoKTtcclxuXHRcdFx0Y3R4LmxpbmVXaWR0aCA9IGxpbmVXaWR0aCB8fCAxO1xyXG5cdFx0XHRjdHguc3Ryb2tlU3R5bGUgPSBjb2xvciB8fCAncmdiYSgwLCAwLCAwLCAwLjEpJztcclxuXHRcdFx0Y3R4LmFyYyhjZW50ZXJYLCBjZW50ZXJZLCByIC0gKHJhZGl1c0RlY3JlYXNlIHx8IDApLCAwLCAyICogTWF0aC5QSSk7XHJcblx0XHRcdGN0eC5maWxsU3R5bGUgPSBiYWNrZ3JvdW5kQ29sb3IgfHwgJ3JnYmEoMCwgMCwgMCwgMC4wMyknO1xyXG5cdFx0XHRjdHguZmlsbCgpO1xyXG5cdFx0XHRjdHguc3Ryb2tlKCk7XHJcblxyXG5cdFx0XHRpZiAoc2hvd01lc3NhZ2UpIHtcclxuXHRcdFx0XHQvLyBEcmF3IHRoZSBlbXB0eSBtZXNzYWdlXHJcblx0XHRcdFx0Y3R4LmZpbGxTdHlsZSA9IGZvbnRDb2xvciB8fCAnIzAwMCc7XHJcblx0XHRcdFx0Y3R4LmZvbnQgPSBmb250IHx8ICdib2xkIDFyZW0gc2Fucy1zZXJpZic7XHJcblx0XHRcdFx0Y3R4LnRleHRBbGlnbiA9ICdjZW50ZXInO1xyXG5cdFx0XHRcdGN0eC50ZXh0QmFzZWxpbmUgPSAnbWlkZGxlJztcclxuXHRcdFx0XHRjdHguZmlsbFRleHQodGV4dCB8fCAnTm8gRGF0YScsIGNlbnRlclgsIGNlbnRlclkpO1xyXG5cdFx0XHR9XHJcblx0XHRcdGN0eC5yZXN0b3JlKCk7XHJcblx0XHR9XHJcblx0fVxyXG59O1xyXG4iXX0=
@@ -0,0 +1,6 @@
1
+ export * from './doughnut-center-text';
2
+ export * from './doughnut-empty-state';
3
+ export * from './legend-margin';
4
+ export * from './scrollable-legends';
5
+ export * from './data-labels';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL3JlcG9ydHMvY2hhcnRzL3BsdWdpbnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZG91Z2hudXQtY2VudGVyLXRleHQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2RvdWdobnV0LWVtcHR5LXN0YXRlJztcclxuZXhwb3J0ICogZnJvbSAnLi9sZWdlbmQtbWFyZ2luJztcclxuZXhwb3J0ICogZnJvbSAnLi9zY3JvbGxhYmxlLWxlZ2VuZHMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2RhdGEtbGFiZWxzJztcclxuIl19
@@ -0,0 +1,16 @@
1
+ export const legendMargin = {
2
+ id: 'legendMargin',
3
+ afterInit(chart, args, options) {
4
+ const { legend } = chart;
5
+ const originalFit = legend.fit;
6
+ const margin = (options === null || options === void 0 ? void 0 : options.margin) || 0;
7
+ legend.fit = function fit() {
8
+ if (originalFit) {
9
+ originalFit.bind(this);
10
+ }
11
+ this.height += margin;
12
+ return;
13
+ };
14
+ },
15
+ };
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVnZW5kLW1hcmdpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvcmVwb3J0cy9jaGFydHMvcGx1Z2lucy9sZWdlbmQtbWFyZ2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBc0I7SUFDN0MsRUFBRSxFQUFFLGNBQWM7SUFDbEIsU0FBUyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsT0FBcUI7UUFDMUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQztRQUN6QixNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDO1FBQy9CLE1BQU0sTUFBTSxHQUFHLENBQUEsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLE1BQU0sS0FBSSxDQUFDLENBQUM7UUFDcEMsTUFBTSxDQUFDLEdBQUcsR0FBRyxTQUFTLEdBQUc7WUFDdkIsSUFBSSxXQUFXLEVBQUU7Z0JBQ2YsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUN4QjtZQUNELElBQUksQ0FBQyxNQUFNLElBQUksTUFBTSxDQUFDO1lBQ3RCLE9BQU87UUFDVCxDQUFDLENBQUM7SUFDSixDQUFDO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYXJ0VHlwZSwgUGx1Z2luIH0gZnJvbSAnY2hhcnQuanMnO1xyXG5pbXBvcnQgeyBMZWdlbmRNYXJnaW4gfSBmcm9tICcuLi9tb2RlbHMnO1xyXG5cclxuZXhwb3J0IGNvbnN0IGxlZ2VuZE1hcmdpbjogUGx1Z2luPENoYXJ0VHlwZT4gPSB7XHJcbiAgaWQ6ICdsZWdlbmRNYXJnaW4nLFxyXG4gIGFmdGVySW5pdChjaGFydCwgYXJncywgb3B0aW9uczogTGVnZW5kTWFyZ2luKSB7XHJcbiAgICBjb25zdCB7IGxlZ2VuZCB9ID0gY2hhcnQ7XHJcbiAgICBjb25zdCBvcmlnaW5hbEZpdCA9IGxlZ2VuZC5maXQ7XHJcbiAgICBjb25zdCBtYXJnaW4gPSBvcHRpb25zPy5tYXJnaW4gfHwgMDtcclxuICAgIGxlZ2VuZC5maXQgPSBmdW5jdGlvbiBmaXQoKSB7XHJcbiAgICAgIGlmIChvcmlnaW5hbEZpdCkge1xyXG4gICAgICAgIG9yaWdpbmFsRml0LmJpbmQodGhpcyk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5oZWlnaHQgKz0gbWFyZ2luO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9O1xyXG4gIH0sXHJcbn07XHJcbiJdfQ==
@@ -0,0 +1,67 @@
1
+ export const scrollableLegends = {
2
+ id: 'scrollableLegends',
3
+ beforeInit(chart, args, options) {
4
+ var _a;
5
+ if ((_a = chart.options.plugins) === null || _a === void 0 ? void 0 : _a.legend) {
6
+ chart.options.plugins.legend.display = false;
7
+ }
8
+ },
9
+ afterUpdate(chart, args, options) {
10
+ const { containerClass = 'chart-legends' } = options;
11
+ const { canvas } = chart;
12
+ function createLabel(item) {
13
+ const div = document.createElement('div');
14
+ div.className = `${containerClass}__legend`;
15
+ div.onclick = () => {
16
+ const { type } = chart.config;
17
+ if (type === 'pie' || type === 'doughnut') {
18
+ chart.toggleDataVisibility(item.index);
19
+ }
20
+ else {
21
+ chart.setDatasetVisibility(item.datasetIndex, !chart.isDatasetVisible(item.datasetIndex));
22
+ }
23
+ chart.update();
24
+ };
25
+ const boxSpan = document.createElement('small');
26
+ boxSpan.className = `${containerClass}__box`;
27
+ boxSpan.style.background = `${item.fillStyle}`;
28
+ boxSpan.style.borderColor = `${item.strokeStyle}`;
29
+ boxSpan.style.borderWidth = item.lineWidth + 'px';
30
+ const textContainer = document.createElement('span');
31
+ textContainer.className = `${containerClass}__text`;
32
+ textContainer.style.color = `${item.fontColor}`;
33
+ textContainer.style.textDecoration = item.hidden ? 'line-through' : '';
34
+ const text = document.createTextNode(item.text);
35
+ textContainer.appendChild(text);
36
+ div.appendChild(boxSpan);
37
+ div.appendChild(textContainer);
38
+ return div;
39
+ }
40
+ if (canvas) {
41
+ const parentElement = canvas.parentElement.parentElement;
42
+ const items = chart.options.plugins.legend.labels.generateLabels(chart);
43
+ let container = parentElement.querySelector(`.${containerClass}`);
44
+ if (!container) {
45
+ container = document.createElement('div');
46
+ container.className = containerClass;
47
+ container.id = 'chart-legends';
48
+ parentElement.appendChild(container);
49
+ }
50
+ container.innerHTML = ``;
51
+ const labels = items.filter((itm) => !!itm.text);
52
+ if (labels.length > 0) {
53
+ container.classList.add('has-items');
54
+ }
55
+ else {
56
+ container.classList.remove('has-items');
57
+ }
58
+ items.forEach((item) => {
59
+ if (!item.text)
60
+ return;
61
+ const div = createLabel(item);
62
+ container.appendChild(div);
63
+ });
64
+ }
65
+ }
66
+ };
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsYWJsZS1sZWdlbmRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9yZXBvcnRzL2NoYXJ0cy9wbHVnaW5zL3Njcm9sbGFibGUtbGVnZW5kcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBc0I7SUFDbkQsRUFBRSxFQUFFLG1CQUFtQjtJQUN2QixVQUFVLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxPQUFpQzs7UUFDeEQsSUFBSSxNQUFBLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTywwQ0FBRSxNQUFNLEVBQUU7WUFDbEMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7U0FDN0M7SUFDRixDQUFDO0lBQ0QsV0FBVyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsT0FBaUM7UUFDekQsTUFBTSxFQUFFLGNBQWMsR0FBRyxlQUFlLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFFckQsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQztRQUV6QixTQUFTLFdBQVcsQ0FBQyxJQUFnQjtZQUNwQyxNQUFNLEdBQUcsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzFDLEdBQUcsQ0FBQyxTQUFTLEdBQUcsR0FBRyxjQUFjLFVBQVUsQ0FBQztZQUM1QyxHQUFHLENBQUMsT0FBTyxHQUFHLEdBQUcsRUFBRTtnQkFDbEIsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLEtBQUssQ0FBQyxNQUE0QixDQUFDO2dCQUNwRCxJQUFJLElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxLQUFLLFVBQVUsRUFBRTtvQkFDMUMsS0FBSyxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FB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QU0sR0FBRyxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDOUIsU0FBUyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM1QixDQUFDLENBQUMsQ0FBQztTQUNIO0lBQ0YsQ0FBQztDQUNELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFydFR5cGUsIExlZ2VuZEl0ZW0sIFBsdWdpbiB9IGZyb20gJ2NoYXJ0LmpzJztcclxuaW1wb3J0IHsgQ2hhcnRDb25maWd1cmF0aW9uIH0gZnJvbSAnY2hhcnQuanMvZGlzdC90eXBlcyc7XHJcblxyXG5leHBvcnQgdHlwZSBTY3JvbGxhYmxlTGVnZW5kc09wdGlvbnMgPSB7IGNvbnRhaW5lckNsYXNzPzogc3RyaW5nOyBhY3RpdmU6IGJvb2xlYW4gfTtcclxuXHJcbmV4cG9ydCBjb25zdCBzY3JvbGxhYmxlTGVnZW5kczogUGx1Z2luPENoYXJ0VHlwZT4gPSB7XHJcblx0aWQ6ICdzY3JvbGxhYmxlTGVnZW5kcycsXHJcblx0YmVmb3JlSW5pdChjaGFydCwgYXJncywgb3B0aW9uczogU2Nyb2xsYWJsZUxlZ2VuZHNPcHRpb25zKSB7XHJcblx0XHRpZiAoY2hhcnQub3B0aW9ucy5wbHVnaW5zPy5sZWdlbmQpIHtcclxuXHRcdFx0Y2hhcnQub3B0aW9ucy5wbHVnaW5zLmxlZ2VuZC5kaXNwbGF5ID0gZmFsc2U7XHJcblx0XHR9XHJcblx0fSxcclxuXHRhZnRlclVwZGF0ZShjaGFydCwgYXJncywgb3B0aW9uczogU2Nyb2xsYWJsZUxlZ2VuZHNPcHRpb25zKSB7XHJcblx0XHRjb25zdCB7IGNvbnRhaW5lckNsYXNzID0gJ2NoYXJ0LWxlZ2VuZHMnIH0gPSBvcHRpb25zO1xyXG5cclxuXHRcdGNvbnN0IHsgY2FudmFzIH0gPSBjaGFydDtcclxuXHJcblx0XHRmdW5jdGlvbiBjcmVhdGVMYWJlbChpdGVtOiBMZWdlbmRJdGVtKSB7XHJcblx0XHRcdGNvbnN0IGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG5cdFx0XHRkaXYuY2xhc3NOYW1lID0gYCR7Y29udGFpbmVyQ2xhc3N9X19sZWdlbmRgO1xyXG5cdFx0XHRkaXYub25jbGljayA9ICgpID0+IHtcclxuXHRcdFx0XHRjb25zdCB7IHR5cGUgfSA9IGNoYXJ0LmNvbmZpZyBhcyBDaGFydENvbmZpZ3VyYXRpb247XHJcblx0XHRcdFx0aWYgKHR5cGUgPT09ICdwaWUnIHx8IHR5cGUgPT09ICdkb3VnaG51dCcpIHtcclxuXHRcdFx0XHRcdGNoYXJ0LnRvZ2dsZURhdGFWaXNpYmlsaXR5KGl0ZW0uaW5kZXgpO1xyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRjaGFydC5zZXREYXRhc2V0VmlzaWJpbGl0eShpdGVtLmRhdGFzZXRJbmRleCwgIWNoYXJ0LmlzRGF0YXNldFZpc2libGUoaXRlbS5kYXRhc2V0SW5kZXgpKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0Y2hhcnQudXBkYXRlKCk7XHJcblx0XHRcdH07XHJcblxyXG5cdFx0XHRjb25zdCBib3hTcGFuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc21hbGwnKSBhcyBIVE1MU3BhbkVsZW1lbnQ7XHJcblx0XHRcdGJveFNwYW4uY2xhc3NOYW1lID0gYCR7Y29udGFpbmVyQ2xhc3N9X19ib3hgO1xyXG5cdFx0XHRib3hTcGFuLnN0eWxlLmJhY2tncm91bmQgPSBgJHtpdGVtLmZpbGxTdHlsZX1gO1xyXG5cdFx0XHRib3hTcGFuLnN0eWxlLmJvcmRlckNvbG9yID0gYCR7aXRlbS5zdHJva2VTdHlsZX1gO1xyXG5cdFx0XHRib3hTcGFuLnN0eWxlLmJvcmRlcldpZHRoID0gaXRlbS5saW5lV2lkdGggKyAncHgnO1xyXG5cclxuXHRcdFx0Y29uc3QgdGV4dENvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcclxuXHRcdFx0dGV4dENvbnRhaW5lci5jbGFzc05hbWUgPSBgJHtjb250YWluZXJDbGFzc31fX3RleHRgO1xyXG5cdFx0XHR0ZXh0Q29udGFpbmVyLnN0eWxlLmNvbG9yID0gYCR7aXRlbS5mb250Q29sb3J9YDtcclxuXHRcdFx0dGV4dENvbnRhaW5lci5zdHlsZS50ZXh0RGVjb3JhdGlvbiA9IGl0ZW0uaGlkZGVuID8gJ2xpbmUtdGhyb3VnaCcgOiAnJztcclxuXHRcdFx0Y29uc3QgdGV4dCA9IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGl0ZW0udGV4dCk7XHJcblx0XHRcdHRleHRDb250YWluZXIuYXBwZW5kQ2hpbGQodGV4dCk7XHJcblxyXG5cdFx0XHRkaXYuYXBwZW5kQ2hpbGQoYm94U3Bhbik7XHJcblx0XHRcdGRpdi5hcHBlbmRDaGlsZCh0ZXh0Q29udGFpbmVyKTtcclxuXHRcdFx0cmV0dXJuIGRpdjtcclxuXHRcdH1cclxuXHJcblx0XHRpZiAoY2FudmFzKSB7XHJcblx0XHRcdGNvbnN0IHBhcmVudEVsZW1lbnQgPSBjYW52YXMucGFyZW50RWxlbWVudC5wYXJlbnRFbGVtZW50O1xyXG5cdFx0XHRjb25zdCBpdGVtcyA9IGNoYXJ0Lm9wdGlvbnMucGx1Z2lucy5sZWdlbmQubGFiZWxzLmdlbmVyYXRlTGFiZWxzKGNoYXJ0KTtcclxuXHRcdFx0bGV0IGNvbnRhaW5lciA9IHBhcmVudEVsZW1lbnQucXVlcnlTZWxlY3RvcihgLiR7Y29udGFpbmVyQ2xhc3N9YCkgYXMgSFRNTERpdkVsZW1lbnQ7XHJcblx0XHRcdGlmICghY29udGFpbmVyKSB7XHJcblx0XHRcdFx0Y29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcblx0XHRcdFx0Y29udGFpbmVyLmNsYXNzTmFtZSA9IGNvbnRhaW5lckNsYXNzO1xyXG5cdFx0XHRcdGNvbnRhaW5lci5pZCA9ICdjaGFydC1sZWdlbmRzJztcclxuXHRcdFx0XHRwYXJlbnRFbGVtZW50LmFwcGVuZENoaWxkKGNvbnRhaW5lcik7XHJcblx0XHRcdH1cclxuXHRcdFx0Y29udGFpbmVyLmlubmVySFRNTCA9IGBgO1xyXG5cdFx0XHRjb25zdCBsYWJlbHMgPSBpdGVtcy5maWx0ZXIoKGl0bSkgPT4gISFpdG0udGV4dCk7XHJcblx0XHRcdGlmIChsYWJlbHMubGVuZ3RoID4gMCkge1xyXG5cdFx0XHRcdGNvbnRhaW5lci5jbGFzc0xpc3QuYWRkKCdoYXMtaXRlbXMnKTtcclxuXHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRjb250YWluZXIuY2xhc3NMaXN0LnJlbW92ZSgnaGFzLWl0ZW1zJyk7XHJcblx0XHRcdH1cclxuXHRcdFx0aXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xyXG5cdFx0XHRcdGlmICghaXRlbS50ZXh0KSByZXR1cm47XHJcblx0XHRcdFx0Y29uc3QgZGl2ID0gY3JlYXRlTGFiZWwoaXRlbSk7XHJcblx0XHRcdFx0Y29udGFpbmVyLmFwcGVuZENoaWxkKGRpdik7XHJcblx0XHRcdH0pO1xyXG5cdFx0fVxyXG5cdH1cclxufTtcclxuIl19
@@ -0,0 +1,10 @@
1
+ export * from './chart.const';
2
+ export * from './chart.token';
3
+ export * from './charts.module';
4
+ export * from './components';
5
+ export * as ChartDefaults from './defaults';
6
+ export * from './models';
7
+ export * as ChartPlugins from './plugins';
8
+ export * from './services';
9
+ export * as ChartUtils from './utility';
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvcmVwb3J0cy9jaGFydHMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsY0FBYyxDQUFDO0FBQzdCLE9BQU8sS0FBSyxhQUFhLE1BQU0sWUFBWSxDQUFDO0FBQzVDLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLE9BQU8sS0FBSyxZQUFZLE1BQU0sV0FBVyxDQUFDO0FBQzFDLGNBQWMsWUFBWSxDQUFDO0FBQzNCLE9BQU8sS0FBSyxVQUFVLE1BQU0sV0FBVyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jaGFydC5jb25zdCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY2hhcnQudG9rZW4nO1xyXG5leHBvcnQgKiBmcm9tICcuL2NoYXJ0cy5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMnO1xyXG5leHBvcnQgKiBhcyBDaGFydERlZmF1bHRzIGZyb20gJy4vZGVmYXVsdHMnO1xyXG5leHBvcnQgKiBmcm9tICcuL21vZGVscyc7XHJcbmV4cG9ydCAqIGFzIENoYXJ0UGx1Z2lucyBmcm9tICcuL3BsdWdpbnMnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzJztcclxuZXhwb3J0ICogYXMgQ2hhcnRVdGlscyBmcm9tICcuL3V0aWxpdHknO1xyXG4iXX0=
@@ -0,0 +1,2 @@
1
+ export * from './statistic.service';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL3JlcG9ydHMvY2hhcnRzL3NlcnZpY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMscUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3N0YXRpc3RpYy5zZXJ2aWNlJztcclxuIl19
@@ -0,0 +1,75 @@
1
+ import { Injectable } from '@angular/core';
2
+ import _ from 'lodash';
3
+ import { iif, of, throwError } from 'rxjs';
4
+ import { catchError, map, retry, tap } from 'rxjs/operators';
5
+ import { BaseService } from '../../../../shared/services';
6
+ import * as i0 from "@angular/core";
7
+ export class StatisticService extends BaseService {
8
+ constructor() {
9
+ super(...arguments);
10
+ this._cache = new Map();
11
+ }
12
+ prepareConfig(data) {
13
+ this.translatePrefix = data === null || data === void 0 ? void 0 : data.translatePrefix;
14
+ this.bindValue = data === null || data === void 0 ? void 0 : data.bindValue;
15
+ }
16
+ getStatistic({ pageProvider, headers, params, ignoreCache }) {
17
+ const key = this._generateKey({ pageProvider, headers, params });
18
+ const _getDataFromRemote$ = this.query(pageProvider, params, headers).pipe(tap((data) => {
19
+ this._cache.set(key, data);
20
+ }));
21
+ return iif(() => this._cache.has(key) && !ignoreCache, of(this._cache.get(key)), _getDataFromRemote$);
22
+ }
23
+ prepareStatistic(config, params = {}) {
24
+ var _a;
25
+ const hasOnQueryMethod = (config === null || config === void 0 ? void 0 : config.onQuery) && _.isFunction(config.onQuery);
26
+ let _response = null;
27
+ return this.getStatistic({
28
+ params: hasOnQueryMethod ? config === null || config === void 0 ? void 0 : config.onQuery(params) : params,
29
+ pageProvider: config.pageProvider,
30
+ headers: config === null || config === void 0 ? void 0 : config.headers,
31
+ ignoreCache: config === null || config === void 0 ? void 0 : config.ignoreCache,
32
+ }).pipe(retry((_a = config === null || config === void 0 ? void 0 : config.retryCount) !== null && _a !== void 0 ? _a : 2), catchError((error) => {
33
+ if (config === null || config === void 0 ? void 0 : config.onError) {
34
+ config === null || config === void 0 ? void 0 : config.onError(error);
35
+ }
36
+ return throwError(() => error);
37
+ }), map((res) => {
38
+ _response = res;
39
+ return _.get(res, config.propertyPath);
40
+ }), map((rawData) => {
41
+ if (config === null || config === void 0 ? void 0 : config.transformData) {
42
+ return config === null || config === void 0 ? void 0 : config.transformData(rawData, _response);
43
+ }
44
+ return rawData.map((item) => {
45
+ return {
46
+ key: this._getLabel(item, config),
47
+ docCount: this._getValue(item, config),
48
+ };
49
+ });
50
+ }));
51
+ }
52
+ _generateKey({ pageProvider = '', headers = {}, params = {}, }) {
53
+ const stringifySorted = (obj) => JSON.stringify(obj, Object.keys(obj).sort());
54
+ const rawKey = `${pageProvider}_${stringifySorted(headers)}_${stringifySorted(params)}`;
55
+ return btoa(encodeURIComponent(rawKey));
56
+ }
57
+ _getLabel(item, config) {
58
+ const translate = (key) => this.translateService.instant(`${this.translatePrefix}.${key}`);
59
+ const label = (config === null || config === void 0 ? void 0 : config.bindLabel) ? _.get(item, config.bindLabel) : null;
60
+ return label || translate(item.key);
61
+ }
62
+ _getValue(item, config) {
63
+ const bindValue = (config === null || config === void 0 ? void 0 : config.bindValue) || this.bindValue;
64
+ return bindValue ? _.get(item, bindValue) : item.docCount;
65
+ }
66
+ }
67
+ StatisticService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: StatisticService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
68
+ StatisticService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: StatisticService, providedIn: 'root' });
69
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: StatisticService, decorators: [{
70
+ type: Injectable,
71
+ args: [{
72
+ providedIn: 'root',
73
+ }]
74
+ }] });
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGlzdGljLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL3JlcG9ydHMvY2hhcnRzL3NlcnZpY2VzL3N0YXRpc3RpYy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxHQUFHLEVBQWMsRUFBRSxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2RCxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDOztBQVcxRCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsV0FBVztJQUhqRDs7UUFJVSxXQUFNLEdBQUcsSUFBSSxHQUFHLEVBQWdDLENBQUM7S0E2RjFEO0lBeEZDLGFBQWEsQ0FBQyxJQUFzRDtRQUNsRSxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxlQUFlLENBQUM7UUFDN0MsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUUsU0FBUyxDQUFDO0lBQ25DLENBQUM7SUFFRCxZQUFZLENBQUMsRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQWU7UUFDdEUsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUVqRSxNQUFNLG1CQUFtQixHQUFHLElBQUksQ0FBQyxL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LE1BQU07NEZBRVAsZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XHJcbmltcG9ydCB7IGlpZiwgT2JzZXJ2YWJsZSwgb2YsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwLCByZXRyeSwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBOdXhlb1BhZ2luYXRpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQvbW9kZWxzJztcclxuaW1wb3J0IHsgQmFzZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQvc2VydmljZXMnO1xyXG5pbXBvcnQgeyBTdGF0aXN0aWNCdWNrZXQsIFN0YXRpc3RpY1JlcXVlc3RDb25maWcgfSBmcm9tICcuLi9tb2RlbHMnO1xyXG5cclxudHlwZSBRdWVyeVBhcmFtcyA9IFBpY2s8XHJcbiAgU3RhdGlzdGljUmVxdWVzdENvbmZpZyxcclxuICAncGFnZVByb3ZpZGVyJyB8ICdoZWFkZXJzJyB8ICdwYXJhbXMnIHwgJ2lnbm9yZUNhY2hlJ1xyXG4+O1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFN0YXRpc3RpY1NlcnZpY2UgZXh0ZW5kcyBCYXNlU2VydmljZSB7XHJcbiAgcHJpdmF0ZSBfY2FjaGUgPSBuZXcgTWFwPHN0cmluZywgTnV4ZW9QYWdpbmF0aW9uPGFueT4+KCk7XHJcblxyXG4gIHByaXZhdGUgdHJhbnNsYXRlUHJlZml4OiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSBiaW5kVmFsdWU6IHN0cmluZztcclxuXHJcbiAgcHJlcGFyZUNvbmZpZyhkYXRhOiB7IHRyYW5zbGF0ZVByZWZpeD86IHN0cmluZzsgYmluZFZhbHVlPzogc3RyaW5nIH0pIHtcclxuICAgIHRoaXMudHJhbnNsYXRlUHJlZml4ID0gZGF0YT8udHJhbnNsYXRlUHJlZml4O1xyXG4gICAgdGhpcy5iaW5kVmFsdWUgPSBkYXRhPy5iaW5kVmFsdWU7XHJcbiAgfVxyXG5cclxuICBnZXRTdGF0aXN0aWMoeyBwYWdlUHJvdmlkZXIsIGhlYWRlcnMsIHBhcmFtcywgaWdub3JlQ2FjaGUgfTogUXVlcnlQYXJhbXMpIHtcclxuICAgIGNvbnN0IGtleSA9IHRoaXMuX2dlbmVyYXRlS2V5KHsgcGFnZVByb3ZpZGVyLCBoZWFkZXJzLCBwYXJhbXMgfSk7XHJcblxyXG4gICAgY29uc3QgX2dldERhdGFGcm9tUmVtb3RlJCA9IHRoaXMucXVlcnk8TnV4ZW9QYWdpbmF0aW9uPGFueT4+KFxyXG4gICAgICBwYWdlUHJvdmlkZXIsXHJcbiAgICAgIHBhcmFtcyxcclxuICAgICAgaGVhZGVyc1xyXG4gICAgKS5waXBlKFxyXG4gICAgICB0YXAoKGRhdGEpID0+IHtcclxuICAgICAgICB0aGlzLl9jYWNoZS5zZXQoa2V5LCBkYXRhKTtcclxuICAgICAgfSlcclxuICAgICk7XHJcblxyXG4gICAgcmV0dXJuIGlpZihcclxuICAgICAgKCkgPT4gdGhpcy5fY2FjaGUuaGFzKGtleSkgJiYgIWlnbm9yZUNhY2hlLFxyXG4gICAgICBvZih0aGlzLl9jYWNoZS5nZXQoa2V5KSksXHJcbiAgICAgIF9nZXREYXRhRnJvbVJlbW90ZSRcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwcmVwYXJlU3RhdGlzdGljKFxyXG4gICAgY29uZmlnOiBTdGF0aXN0aWNSZXF1ZXN0Q29uZmlnLFxyXG4gICAgcGFyYW1zOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge31cclxuICApOiBPYnNlcnZhYmxlPFN0YXRpc3RpY0J1Y2tldFtdPiB7XHJcbiAgICBjb25zdCBoYXNPblF1ZXJ5TWV0aG9kID0gY29uZmlnPy5vblF1ZXJ5ICYmIF8uaXNGdW5jdGlvbihjb25maWcub25RdWVyeSk7XHJcbiAgICBsZXQgX3Jlc3BvbnNlID0gbnVsbDtcclxuICAgIHJldHVybiB0aGlzLmdldFN0YXRpc3RpYyh7XHJcbiAgICAgIHBhcmFtczogaGFzT25RdWVyeU1ldGhvZCA/IGNvbmZpZz8ub25RdWVyeShwYXJhbXMpIDogcGFyYW1zLFxyXG4gICAgICBwYWdlUHJvdmlkZXI6IGNvbmZpZy5wYWdlUHJvdmlkZXIsXHJcbiAgICAgIGhlYWRlcnM6IGNvbmZpZz8uaGVhZGVycyxcclxuICAgICAgaWdub3JlQ2FjaGU6IGNvbmZpZz8uaWdub3JlQ2FjaGUsXHJcbiAgICB9KS5waXBlKFxyXG4gICAgICByZXRyeShjb25maWc/LnJldHJ5Q291bnQgPz8gMiksXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBFcnJvcikgPT4ge1xyXG4gICAgICAgIGlmIChjb25maWc/Lm9uRXJyb3IpIHtcclxuICAgICAgICAgIGNvbmZpZz8ub25FcnJvcihlcnJvcik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGVycm9yKTtcclxuICAgICAgfSksXHJcbiAgICAgIG1hcCgocmVzKSA9PiB7XHJcbiAgICAgICAgX3Jlc3BvbnNlID0gcmVzO1xyXG4gICAgICAgIHJldHVybiBfLmdldChyZXMsIGNvbmZpZy5wcm9wZXJ0eVBhdGgpIGFzIFN0YXRpc3RpY0J1Y2tldFtdO1xyXG4gICAgICB9KSxcclxuICAgICAgbWFwKChyYXdEYXRhKSA9PiB7XHJcbiAgICAgICAgaWYgKGNvbmZpZz8udHJhbnNmb3JtRGF0YSkge1xyXG4gICAgICAgICAgcmV0dXJuIGNvbmZpZz8udHJhbnNmb3JtRGF0YShyYXdEYXRhLCBfcmVzcG9uc2UpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcmF3RGF0YS5tYXAoKGl0ZW0pID0+IHtcclxuICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIGtleTogdGhpcy5fZ2V0TGFiZWwoaXRlbSwgY29uZmlnKSxcclxuICAgICAgICAgICAgZG9jQ291bnQ6IHRoaXMuX2dldFZhbHVlKGl0ZW0sIGNvbmZpZyksXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2dlbmVyYXRlS2V5KHtcclxuICAgIHBhZ2VQcm92aWRlciA9ICcnLFxyXG4gICAgaGVhZGVycyA9IHt9LFxyXG4gICAgcGFyYW1zID0ge30sXHJcbiAgfTogUXVlcnlQYXJhbXMpOiBzdHJpbmcge1xyXG4gICAgY29uc3Qgc3RyaW5naWZ5U29ydGVkID0gKG9iajogYW55KTogc3RyaW5nID0+XHJcbiAgICAgIEpTT04uc3RyaW5naWZ5KG9iaiwgT2JqZWN0LmtleXMob2JqKS5zb3J0KCkpO1xyXG5cclxuICAgIGNvbnN0IHJhd0tleSA9IGAke3BhZ2VQcm92aWRlcn1fJHtzdHJpbmdpZnlTb3J0ZWQoaGVhZGVycyl9XyR7c3RyaW5naWZ5U29ydGVkKFxyXG4gICAgICBwYXJhbXNcclxuICAgICl9YDtcclxuXHJcbiAgICByZXR1cm4gYnRvYShlbmNvZGVVUklDb21wb25lbnQocmF3S2V5KSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9nZXRMYWJlbChpdGVtOiBTdGF0aXN0aWNCdWNrZXQsIGNvbmZpZzogU3RhdGlzdGljUmVxdWVzdENvbmZpZyk6IGFueSB7XHJcbiAgICBjb25zdCB0cmFuc2xhdGUgPSAoa2V5OiBzdHJpbmcpID0+XHJcbiAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KGAke3RoaXMudHJhbnNsYXRlUHJlZml4fS4ke2tleX1gKTtcclxuICAgIGNvbnN0IGxhYmVsID0gY29uZmlnPy5iaW5kTGFiZWwgPyBfLmdldChpdGVtLCBjb25maWcuYmluZExhYmVsKSA6IG51bGw7XHJcbiAgICByZXR1cm4gbGFiZWwgfHwgdHJhbnNsYXRlKGl0ZW0ua2V5KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2dldFZhbHVlKGl0ZW06IFN0YXRpc3RpY0J1Y2tldCwgY29uZmlnOiBTdGF0aXN0aWNSZXF1ZXN0Q29uZmlnKTogYW55IHtcclxuICAgIGNvbnN0IGJpbmRWYWx1ZSA9IGNvbmZpZz8uYmluZFZhbHVlIHx8IHRoaXMuYmluZFZhbHVlO1xyXG4gICAgcmV0dXJuIGJpbmRWYWx1ZSA/IF8uZ2V0KGl0ZW0sIGJpbmRWYWx1ZSkgOiBpdGVtLmRvY0NvdW50O1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,74 @@
1
+ import colorLib from '@kurkle/color';
2
+ export function transparentize(value, opacity) {
3
+ var alpha = opacity === undefined ? 0.5 : 1 - opacity;
4
+ return colorLib(value).alpha(alpha).rgbString();
5
+ }
6
+ export function colorToHex(color) {
7
+ // Helper function to convert a single component to hex
8
+ function componentToHex(c) {
9
+ const hex = c.toString(16);
10
+ return hex.length === 1 ? '0' + hex : hex;
11
+ }
12
+ // Helper function to validate and parse a color component
13
+ function parseComponent(value, maxValue) {
14
+ value = parseFloat(value);
15
+ return isNaN(value) ? 0 : Math.min(maxValue, Math.max(0, value));
16
+ }
17
+ if (typeof color === 'string') {
18
+ // If the input is a string, attempt to parse it as a CSS color
19
+ const tempDiv = document.createElement('div');
20
+ tempDiv.style.color = color;
21
+ document.body.appendChild(tempDiv);
22
+ const computedColor = window.getComputedStyle(tempDiv).color;
23
+ document.body.removeChild(tempDiv);
24
+ color = computedColor;
25
+ }
26
+ if (color.startsWith('#')) {
27
+ // Hexadecimal color
28
+ return color.toUpperCase();
29
+ }
30
+ else if (color.startsWith('rgb') || color.startsWith('hsl')) {
31
+ // RGB, RGBA, HSL, HSLA color
32
+ const rgba = color.match(/(0?\.?\d{1,3})%?\b/g).map((component, index) => {
33
+ return index < 3 ? Math.round(parseComponent(component, 255)) : parseFloat(component);
34
+ });
35
+ return `#${componentToHex(rgba[0])}${componentToHex(rgba[1])}${componentToHex(rgba[2])}`;
36
+ }
37
+ // Unsupported color format, return input
38
+ return color;
39
+ }
40
+ // Function to convert hex to RGB
41
+ export function hexToRgb(hex) {
42
+ let r = parseInt(hex.slice(1, 3), 16);
43
+ let g = parseInt(hex.slice(3, 5), 16);
44
+ let b = parseInt(hex.slice(5, 7), 16);
45
+ return { r, g, b };
46
+ }
47
+ // Function to convert RGB to hex
48
+ export function rgbToHex(r, g, b) {
49
+ return `#${((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1).toUpperCase()}`;
50
+ }
51
+ // Function to create a tint (lighten the color)
52
+ export function createTint(color, amount) {
53
+ const { r, g, b } = hexToRgb(color);
54
+ return rgbToHex(Math.min(255, r + amount), Math.min(255, g + amount), Math.min(255, b + amount));
55
+ }
56
+ // Function to create a shade (darken the color)
57
+ export function createShade(color, amount) {
58
+ const { r, g, b } = hexToRgb(color);
59
+ return rgbToHex(Math.max(0, r - amount), Math.max(0, g - amount), Math.max(0, b - amount));
60
+ }
61
+ // Function to create multiple tints or shades
62
+ export function createColorVariants(color, length, type = 'tint', amount = 43) {
63
+ let variants = [];
64
+ for (let i = 1; i <= length; i++) {
65
+ if (type === 'tint') {
66
+ variants.push(createTint(color, i * amount)); // Adjust the step size (here it's 40)
67
+ }
68
+ else {
69
+ variants.push(createShade(color, i * amount)); // Adjust the step size (here it's 20)
70
+ }
71
+ }
72
+ return variants;
73
+ }
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9yZXBvcnRzL2NoYXJ0cy91dGlsaXR5L2NvbG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLFFBQVEsTUFBTSxlQUFlLENBQUM7QUFFckMsTUFBTSxVQUFVLGNBQWMsQ0FBQyxLQUFhLEVBQUUsT0FBZTtJQUM1RCxJQUFJLEtBQUssR0FBRyxPQUFPLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUM7SUFDdEQsT0FBTyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0FBQ2pELENBQUM7QUFFRCxNQUFNLFVBQVUsVUFBVSxDQUFDLEtBQUs7SUFDL0IsdURBQXVEO0lBQ3ZELFNBQVMsY0FBYyxDQUFDLENBQUM7UUFDeEIsTUFBTSxHQUFHLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMzQixPQUFPLEdBQUcsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7SUFDM0MsQ0FBQztJQUVELDBEQUEwRDtJQUMxRCxTQUFTLGNBQWMsQ0FBQyxLQUFLLEVBQUUsUUFBUTtRQUN0QyxLQUFLLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFCLE9BQU8sS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxD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QU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxzQ0FBc0M7U0FDckY7S0FDRDtJQUNELE9BQU8sUUFBUSxDQUFDO0FBQ2pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgY29sb3JMaWIgZnJvbSAnQGt1cmtsZS9jb2xvcic7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNwYXJlbnRpemUodmFsdWU6IHN0cmluZywgb3BhY2l0eTogbnVtYmVyKSB7XHJcblx0dmFyIGFscGhhID0gb3BhY2l0eSA9PT0gdW5kZWZpbmVkID8gMC41IDogMSAtIG9wYWNpdHk7XHJcblx0cmV0dXJuIGNvbG9yTGliKHZhbHVlKS5hbHBoYShhbHBoYSkucmdiU3RyaW5nKCk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBjb2xvclRvSGV4KGNvbG9yKSB7XHJcblx0Ly8gSGVscGVyIGZ1bmN0aW9uIHRvIGNvbnZlcnQgYSBzaW5nbGUgY29tcG9uZW50IHRvIGhleFxyXG5cdGZ1bmN0aW9uIGNvbXBvbmVudFRvSGV4KGMpIHtcclxuXHRcdGNvbnN0IGhleCA9IGMudG9TdHJpbmcoMTYpO1xyXG5cdFx0cmV0dXJuIGhleC5sZW5ndGggPT09IDEgPyAnMCcgKyBoZXggOiBoZXg7XHJcblx0fVxyXG5cclxuXHQvLyBIZWxwZXIgZnVuY3Rpb24gdG8gdmFsaWRhdGUgYW5kIHBhcnNlIGEgY29sb3IgY29tcG9uZW50XHJcblx0ZnVuY3Rpb24gcGFyc2VDb21wb25lbnQodmFsdWUsIG1heFZhbHVlKSB7XHJcblx0XHR2YWx1ZSA9IHBhcnNlRmxvYXQodmFsdWUpO1xyXG5cdFx0cmV0dXJuIGlzTmFOKHZhbHVlKSA/IDAgOiBNYXRoLm1pbihtYXhWYWx1ZSwgTWF0aC5tYXgoMCwgdmFsdWUpKTtcclxuXHR9XHJcblxyXG5cdGlmICh0eXBlb2YgY29sb3IgPT09ICdzdHJpbmcnKSB7XHJcblx0XHQvLyBJZiB0aGUgaW5wdXQgaXMgYSBzdHJpbmcsIGF0dGVtcHQgdG8gcGFyc2UgaXQgYXMgYSBDU1MgY29sb3JcclxuXHRcdGNvbnN0IHRlbXBEaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuXHRcdHRlbXBEaXYuc3R5bGUuY29sb3IgPSBjb2xvcjtcclxuXHRcdGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodGVtcERpdik7XHJcblx0XHRjb25zdCBjb21wdXRlZENvbG9yID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUodGVtcERpdikuY29sb3I7XHJcblx0XHRkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHRlbXBEaXYpO1xyXG5cdFx0Y29sb3IgPSBjb21wdXRlZENvbG9yO1xyXG5cdH1cclxuXHJcblx0aWYgKGNvbG9yLnN0YXJ0c1dpdGgoJyMnKSkge1xyXG5cdFx0Ly8gSGV4YWRlY2ltYWwgY29sb3JcclxuXHRcdHJldHVybiBjb2xvci50b1VwcGVyQ2FzZSgpO1xyXG5cdH0gZWxzZSBpZiAoY29sb3Iuc3RhcnRzV2l0aCgncmdiJykgfHwgY29sb3Iuc3RhcnRzV2l0aCgnaHNsJykpIHtcclxuXHRcdC8vIFJHQiwgUkdCQSwgSFNMLCBIU0xBIGNvbG9yXHJcblx0XHRjb25zdCByZ2JhID0gY29sb3IubWF0Y2goLygwP1xcLj9cXGR7MSwzfSklP1xcYi9nKS5tYXAoKGNvbXBvbmVudCwgaW5kZXgpID0+IHtcclxuXHRcdFx0cmV0dXJuIGluZGV4IDwgMyA/IE1hdGgucm91bmQocGFyc2VDb21wb25lbnQoY29tcG9uZW50LCAyNTUpKSA6IHBhcnNlRmxvYXQoY29tcG9uZW50KTtcclxuXHRcdH0pO1xyXG5cclxuXHRcdHJldHVybiBgIyR7Y29tcG9uZW50VG9IZXgocmdiYVswXSl9JHtjb21wb25lbnRUb0hleChyZ2JhWzFdKX0ke2NvbXBvbmVudFRvSGV4KHJnYmFbMl0pfWA7XHJcblx0fVxyXG5cclxuXHQvLyBVbnN1cHBvcnRlZCBjb2xvciBmb3JtYXQsIHJldHVybiBpbnB1dFxyXG5cdHJldHVybiBjb2xvcjtcclxufVxyXG5cclxuLy8gRnVuY3Rpb24gdG8gY29udmVydCBoZXggdG8gUkdCXHJcbmV4cG9ydCBmdW5jdGlvbiBoZXhUb1JnYihoZXg6IHN0cmluZyk6IHsgcjogbnVtYmVyOyBnOiBudW1iZXI7IGI6IG51bWJlciB9IHtcclxuXHRsZXQgciA9IHBhcnNlSW50KGhleC5zbGljZSgxLCAzKSwgMTYpO1xyXG5cdGxldCBnID0gcGFyc2VJbnQoaGV4LnNsaWNlKDMsIDUpLCAxNik7XHJcblx0bGV0IGIgPSBwYXJzZUludChoZXguc2xpY2UoNSwgNyksIDE2KTtcclxuXHRyZXR1cm4geyByLCBnLCBiIH07XHJcbn1cclxuXHJcbi8vIEZ1bmN0aW9uIHRvIGNvbnZlcnQgUkdCIHRvIGhleFxyXG5leHBvcnQgZnVuY3Rpb24gcmdiVG9IZXgocjogbnVtYmVyLCBnOiBudW1iZXIsIGI6IG51bWJlcik6IHN0cmluZyB7XHJcblx0cmV0dXJuIGAjJHsoKDEgPDwgMjQpICsgKHIgPDwgMTYpICsgKGcgPDwgOCkgKyBiKS50b1N0cmluZygxNikuc2xpY2UoMSkudG9VcHBlckNhc2UoKX1gO1xyXG59XHJcblxyXG4vLyBGdW5jdGlvbiB0byBjcmVhdGUgYSB0aW50IChsaWdodGVuIHRoZSBjb2xvcilcclxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVRpbnQoY29sb3I6IHN0cmluZywgYW1vdW50OiBudW1iZXIpOiBzdHJpbmcge1xyXG5cdGNvbnN0IHsgciwgZywgYiB9ID0gaGV4VG9SZ2IoY29sb3IpO1xyXG5cdHJldHVybiByZ2JUb0hleChNYXRoLm1pbigyNTUsIHIgKyBhbW91bnQpLCBNYXRoLm1pbigyNTUsIGcgKyBhbW91bnQpLCBNYXRoLm1pbigyNTUsIGIgKyBhbW91bnQpKTtcclxufVxyXG5cclxuLy8gRnVuY3Rpb24gdG8gY3JlYXRlIGEgc2hhZGUgKGRhcmtlbiB0aGUgY29sb3IpXHJcbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVTaGFkZShjb2xvcjogc3RyaW5nLCBhbW91bnQ6IG51bWJlcik6IHN0cmluZyB7XHJcblx0Y29uc3QgeyByLCBnLCBiIH0gPSBoZXhUb1JnYihjb2xvcik7XHJcblx0cmV0dXJuIHJnYlRvSGV4KE1hdGgubWF4KDAsIHIgLSBhbW91bnQpLCBNYXRoLm1heCgwLCBnIC0gYW1vdW50KSwgTWF0aC5tYXgoMCwgYiAtIGFtb3VudCkpO1xyXG59XHJcblxyXG4vLyBGdW5jdGlvbiB0byBjcmVhdGUgbXVsdGlwbGUgdGludHMgb3Igc2hhZGVzXHJcbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVDb2xvclZhcmlhbnRzKFxyXG5cdGNvbG9yOiBzdHJpbmcsXHJcblx0bGVuZ3RoOiBudW1iZXIsXHJcblx0dHlwZTogJ3RpbnQnIHwgJ3NoYWRlJyA9ICd0aW50JyxcclxuXHRhbW91bnQgPSA0M1xyXG4pOiBzdHJpbmdbXSB7XHJcblx0bGV0IHZhcmlhbnRzOiBzdHJpbmdbXSA9IFtdO1xyXG5cdGZvciAobGV0IGkgPSAxOyBpIDw9IGxlbmd0aDsgaSsrKSB7XHJcblx0XHRpZiAodHlwZSA9PT0gJ3RpbnQnKSB7XHJcblx0XHRcdHZhcmlhbnRzLnB1c2goY3JlYXRlVGludChjb2xvciwgaSAqIGFtb3VudCkpOyAvLyBBZGp1c3QgdGhlIHN0ZXAgc2l6ZSAoaGVyZSBpdCdzIDQwKVxyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0dmFyaWFudHMucHVzaChjcmVhdGVTaGFkZShjb2xvciwgaSAqIGFtb3VudCkpOyAvLyBBZGp1c3QgdGhlIHN0ZXAgc2l6ZSAoaGVyZSBpdCdzIDIwKVxyXG5cdFx0fVxyXG5cdH1cclxuXHRyZXR1cm4gdmFyaWFudHM7XHJcbn1cclxuIl19
@@ -0,0 +1,7 @@
1
+ export function flatArray(data) {
2
+ return data.reduce((acc, curr) => acc.concat(curr), []);
3
+ }
4
+ export function isObject(obj) {
5
+ return obj && typeof obj === 'object';
6
+ }
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9yZXBvcnRzL2NoYXJ0cy91dGlsaXR5L2NvbW1vbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLFVBQVUsU0FBUyxDQUFzQixJQUFXO0lBQ3pELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDekQsQ0FBQztBQUVELE1BQU0sVUFBVSxRQUFRLENBQ3ZCLEdBQVE7SUFFUixPQUFPLEdBQUcsSUFBSSxPQUFPLEdBQUcsS0FBSyxRQUFRLENBQUM7QUFDdkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYXJ0RGF0YXNldCwgQ2hhcnRUeXBlIH0gZnJvbSAnY2hhcnQuanMnO1xyXG5pbXBvcnQgeyBTdGF0aXN0aWNCdWNrZXQgfSBmcm9tICcuLi9tb2RlbHMnO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGZsYXRBcnJheTxUID0gU3RhdGlzdGljQnVja2V0PihkYXRhOiBUW11bXSk6IFRbXSB7XHJcblx0cmV0dXJuIGRhdGEucmVkdWNlKChhY2MsIGN1cnIpID0+IGFjYy5jb25jYXQoY3VyciksIFtdKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGlzT2JqZWN0PFQgZXh0ZW5kcyBDaGFydFR5cGU+KFxyXG5cdG9iajogYW55XHJcbik6IG9iaiBpcyBQYXJ0aWFsPENoYXJ0RGF0YXNldDxUPj4ge1xyXG5cdHJldHVybiBvYmogJiYgdHlwZW9mIG9iaiA9PT0gJ29iamVjdCc7XHJcbn1cclxuIl19