@hisptz/dhis2-analytics 2.0.14 → 2.0.16

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 (379) hide show
  1. package/dist/components/Scorecard/Scorecard.js +22 -0
  2. package/dist/components/Scorecard/Scorecard.js.map +1 -0
  3. package/dist/components/Scorecard/Scorecard.stories.js +1188 -0
  4. package/dist/components/Scorecard/Scorecard.stories.js.map +1 -0
  5. package/dist/components/Scorecard/components/ConfigProvider.js +17 -0
  6. package/dist/components/Scorecard/components/ConfigProvider.js.map +1 -0
  7. package/dist/components/Scorecard/components/DataProvider.js +39 -0
  8. package/dist/components/Scorecard/components/DataProvider.js.map +1 -0
  9. package/dist/components/Scorecard/components/MetaProvider.js +45 -0
  10. package/dist/components/Scorecard/components/MetaProvider.js.map +1 -0
  11. package/dist/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/FurtherAnalysisDictionary.js +29 -0
  12. package/dist/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/FurtherAnalysisDictionary.js.map +1 -0
  13. package/dist/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/components/ConfigProvider.js +30 -0
  14. package/dist/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/components/ConfigProvider.js.map +1 -0
  15. package/dist/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/components/DetailsProvider.js +62 -0
  16. package/dist/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/components/DetailsProvider.js.map +1 -0
  17. package/dist/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/index.js +14 -0
  18. package/dist/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/index.js.map +1 -0
  19. package/dist/components/Scorecard/components/ScorecardTable/FurtherAnalysisVisualization.js +77 -0
  20. package/dist/components/Scorecard/components/ScorecardTable/FurtherAnalysisVisualization.js.map +1 -0
  21. package/dist/components/Scorecard/components/ScorecardTable/ScorecardTable.js +42 -0
  22. package/dist/components/Scorecard/components/ScorecardTable/ScorecardTable.js.map +1 -0
  23. package/dist/components/Scorecard/components/ScorecardTable/ScorecardTable.module.css +11 -0
  24. package/dist/components/Scorecard/components/ScorecardTable/ScorecardTable.module.css.map +1 -0
  25. package/dist/components/Scorecard/components/ScorecardTable/components/AverageCell.js +102 -0
  26. package/dist/components/Scorecard/components/ScorecardTable/components/AverageCell.js.map +1 -0
  27. package/dist/components/Scorecard/components/ScorecardTable/components/AverageFooterCell.js +24 -0
  28. package/dist/components/Scorecard/components/ScorecardTable/components/AverageFooterCell.js.map +1 -0
  29. package/dist/components/Scorecard/components/ScorecardTable/components/DataContainer.js +27 -0
  30. package/dist/components/Scorecard/components/ScorecardTable/components/DataContainer.js.map +1 -0
  31. package/dist/components/Scorecard/components/ScorecardTable/components/DataFooterCell.js +50 -0
  32. package/dist/components/Scorecard/components/ScorecardTable/components/DataFooterCell.js.map +1 -0
  33. package/dist/components/Scorecard/components/ScorecardTable/components/DataRow.js +50 -0
  34. package/dist/components/Scorecard/components/ScorecardTable/components/DataRow.js.map +1 -0
  35. package/dist/components/Scorecard/components/ScorecardTable/components/DataValue.js +66 -0
  36. package/dist/components/Scorecard/components/ScorecardTable/components/DataValue.js.map +1 -0
  37. package/dist/components/Scorecard/components/ScorecardTable/components/DraggableCell.js +47 -0
  38. package/dist/components/Scorecard/components/ScorecardTable/components/DraggableCell.js.map +1 -0
  39. package/dist/components/Scorecard/components/ScorecardTable/components/DroppableCell.js +38 -0
  40. package/dist/components/Scorecard/components/ScorecardTable/components/DroppableCell.js.map +1 -0
  41. package/dist/components/Scorecard/components/ScorecardTable/components/EmptyFooterCell.js +12 -0
  42. package/dist/components/Scorecard/components/ScorecardTable/components/EmptyFooterCell.js.map +1 -0
  43. package/dist/components/Scorecard/components/ScorecardTable/components/ExpandedScorecardTable.js +56 -0
  44. package/dist/components/Scorecard/components/ScorecardTable/components/ExpandedScorecardTable.js.map +1 -0
  45. package/dist/components/Scorecard/components/ScorecardTable/components/FurtherAnalysisMenu.js +152 -0
  46. package/dist/components/Scorecard/components/ScorecardTable/components/FurtherAnalysisMenu.js.map +1 -0
  47. package/dist/components/Scorecard/components/ScorecardTable/components/FurtherAnalysisModal.js +58 -0
  48. package/dist/components/Scorecard/components/ScorecardTable/components/FurtherAnalysisModal.js.map +1 -0
  49. package/dist/components/Scorecard/components/ScorecardTable/components/LinkedCell.js +100 -0
  50. package/dist/components/Scorecard/components/ScorecardTable/components/LinkedCell.js.map +1 -0
  51. package/dist/components/Scorecard/components/ScorecardTable/components/LinkedDataCell.js +95 -0
  52. package/dist/components/Scorecard/components/ScorecardTable/components/LinkedDataCell.js.map +1 -0
  53. package/dist/components/Scorecard/components/ScorecardTable/components/LinkedDataFooterCell.js +45 -0
  54. package/dist/components/Scorecard/components/ScorecardTable/components/LinkedDataFooterCell.js.map +1 -0
  55. package/dist/components/Scorecard/components/ScorecardTable/components/MetaFooterCell.js +20 -0
  56. package/dist/components/Scorecard/components/ScorecardTable/components/MetaFooterCell.js.map +1 -0
  57. package/dist/components/Scorecard/components/ScorecardTable/components/SingleDataCell.js +98 -0
  58. package/dist/components/Scorecard/components/ScorecardTable/components/SingleDataCell.js.map +1 -0
  59. package/dist/components/Scorecard/components/ScorecardTable/components/SingleDataFooterCell.js +38 -0
  60. package/dist/components/Scorecard/components/ScorecardTable/components/SingleDataFooterCell.js.map +1 -0
  61. package/dist/components/Scorecard/components/ScorecardTable/components/TableBody.js +15 -0
  62. package/dist/components/Scorecard/components/ScorecardTable/components/TableBody.js.map +1 -0
  63. package/dist/components/Scorecard/components/ScorecardTable/components/TableFoot.js +28 -0
  64. package/dist/components/Scorecard/components/ScorecardTable/components/TableFoot.js.map +1 -0
  65. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/TableHeader.js +20 -0
  66. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/TableHeader.js.map +1 -0
  67. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/TableHeader.module.css +12 -0
  68. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/TableHeader.module.css.map +1 -0
  69. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/AverageHeaderCell.js +40 -0
  70. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/AverageHeaderCell.js.map +1 -0
  71. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.js +62 -0
  72. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.js.map +1 -0
  73. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/ExpandCell.js +16 -0
  74. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/ExpandCell.js.map +1 -0
  75. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/FilterArea.js +37 -0
  76. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/FilterArea.js.map +1 -0
  77. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/LabelCell.js +49 -0
  78. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/LabelCell.js.map +1 -0
  79. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.js +63 -0
  80. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.js.map +1 -0
  81. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/NumberCell.js +24 -0
  82. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/NumberCell.js.map +1 -0
  83. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/index.js +14 -0
  84. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/index.js.map +1 -0
  85. package/dist/components/Scorecard/components/ScorecardTable/index.js +14 -0
  86. package/dist/components/Scorecard/components/ScorecardTable/index.js.map +1 -0
  87. package/dist/components/Scorecard/components/StateProvider.js +26 -0
  88. package/dist/components/Scorecard/components/StateProvider.js.map +1 -0
  89. package/dist/components/Scorecard/components/StateSetProvider.js +17 -0
  90. package/dist/components/Scorecard/components/StateSetProvider.js.map +1 -0
  91. package/dist/components/Scorecard/components/TableStateProvider.js +26 -0
  92. package/dist/components/Scorecard/components/TableStateProvider.js.map +1 -0
  93. package/dist/components/Scorecard/hooks/average.js +50 -0
  94. package/dist/components/Scorecard/hooks/average.js.map +1 -0
  95. package/dist/components/Scorecard/hooks/cellData.js +36 -0
  96. package/dist/components/Scorecard/hooks/cellData.js.map +1 -0
  97. package/dist/components/Scorecard/hooks/columns.js +150 -0
  98. package/dist/components/Scorecard/hooks/columns.js.map +1 -0
  99. package/dist/components/Scorecard/hooks/data.js +97 -0
  100. package/dist/components/Scorecard/hooks/data.js.map +1 -0
  101. package/dist/components/Scorecard/hooks/metadata.js +95 -0
  102. package/dist/components/Scorecard/hooks/metadata.js.map +1 -0
  103. package/dist/components/Scorecard/hooks/orgUnit.js +17 -0
  104. package/dist/components/Scorecard/hooks/orgUnit.js.map +1 -0
  105. package/dist/components/Scorecard/hooks/period.js +15 -0
  106. package/dist/components/Scorecard/hooks/period.js.map +1 -0
  107. package/dist/components/Scorecard/hooks/table.js +40 -0
  108. package/dist/components/Scorecard/hooks/table.js.map +1 -0
  109. package/dist/components/Scorecard/index.js +21 -0
  110. package/dist/components/Scorecard/index.js.map +1 -0
  111. package/dist/components/Scorecard/schemas/config.js +181 -0
  112. package/dist/components/Scorecard/schemas/config.js.map +1 -0
  113. package/dist/components/Scorecard/utils/analytics.js +27 -0
  114. package/dist/components/Scorecard/utils/analytics.js.map +1 -0
  115. package/dist/components/Scorecard/utils/columns.js +331 -0
  116. package/dist/components/Scorecard/utils/columns.js.map +1 -0
  117. package/dist/components/Scorecard/utils/data.js +147 -0
  118. package/dist/components/Scorecard/utils/data.js.map +1 -0
  119. package/dist/components/Scorecard/utils/dataSources.js +16 -0
  120. package/dist/components/Scorecard/utils/dataSources.js.map +1 -0
  121. package/dist/components/Scorecard/utils/engine.js +20 -0
  122. package/dist/components/Scorecard/utils/engine.js.map +1 -0
  123. package/dist/components/Scorecard/utils/legends.js +118 -0
  124. package/dist/components/Scorecard/utils/legends.js.map +1 -0
  125. package/dist/components/Scorecard/utils/orgUnits.js +40 -0
  126. package/dist/components/Scorecard/utils/orgUnits.js.map +1 -0
  127. package/dist/esm/components/Scorecard/Scorecard.js +20 -0
  128. package/dist/esm/components/Scorecard/Scorecard.js.map +1 -0
  129. package/dist/esm/components/Scorecard/Scorecard.stories.js +1178 -0
  130. package/dist/esm/components/Scorecard/Scorecard.stories.js.map +1 -0
  131. package/dist/esm/components/Scorecard/components/ConfigProvider.js +14 -0
  132. package/dist/esm/components/Scorecard/components/ConfigProvider.js.map +1 -0
  133. package/dist/esm/components/Scorecard/components/DataProvider.js +36 -0
  134. package/dist/esm/components/Scorecard/components/DataProvider.js.map +1 -0
  135. package/dist/esm/components/Scorecard/components/MetaProvider.js +42 -0
  136. package/dist/esm/components/Scorecard/components/MetaProvider.js.map +1 -0
  137. package/dist/esm/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/FurtherAnalysisDictionary.js +23 -0
  138. package/dist/esm/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/FurtherAnalysisDictionary.js.map +1 -0
  139. package/dist/esm/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/components/ConfigProvider.js +27 -0
  140. package/dist/esm/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/components/ConfigProvider.js.map +1 -0
  141. package/dist/esm/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/components/DetailsProvider.js +55 -0
  142. package/dist/esm/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/components/DetailsProvider.js.map +1 -0
  143. package/dist/esm/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/index.js +3 -0
  144. package/dist/esm/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/index.js.map +1 -0
  145. package/dist/esm/components/Scorecard/components/ScorecardTable/FurtherAnalysisVisualization.js +75 -0
  146. package/dist/esm/components/Scorecard/components/ScorecardTable/FurtherAnalysisVisualization.js.map +1 -0
  147. package/dist/esm/components/Scorecard/components/ScorecardTable/ScorecardTable.js +40 -0
  148. package/dist/esm/components/Scorecard/components/ScorecardTable/ScorecardTable.js.map +1 -0
  149. package/dist/esm/components/Scorecard/components/ScorecardTable/ScorecardTable.module.css +11 -0
  150. package/dist/esm/components/Scorecard/components/ScorecardTable/ScorecardTable.module.css.map +1 -0
  151. package/dist/esm/components/Scorecard/components/ScorecardTable/components/AverageCell.js +98 -0
  152. package/dist/esm/components/Scorecard/components/ScorecardTable/components/AverageCell.js.map +1 -0
  153. package/dist/esm/components/Scorecard/components/ScorecardTable/components/AverageFooterCell.js +22 -0
  154. package/dist/esm/components/Scorecard/components/ScorecardTable/components/AverageFooterCell.js.map +1 -0
  155. package/dist/esm/components/Scorecard/components/ScorecardTable/components/DataContainer.js +25 -0
  156. package/dist/esm/components/Scorecard/components/ScorecardTable/components/DataContainer.js.map +1 -0
  157. package/dist/esm/components/Scorecard/components/ScorecardTable/components/DataFooterCell.js +48 -0
  158. package/dist/esm/components/Scorecard/components/ScorecardTable/components/DataFooterCell.js.map +1 -0
  159. package/dist/esm/components/Scorecard/components/ScorecardTable/components/DataRow.js +44 -0
  160. package/dist/esm/components/Scorecard/components/ScorecardTable/components/DataRow.js.map +1 -0
  161. package/dist/esm/components/Scorecard/components/ScorecardTable/components/DataValue.js +64 -0
  162. package/dist/esm/components/Scorecard/components/ScorecardTable/components/DataValue.js.map +1 -0
  163. package/dist/esm/components/Scorecard/components/ScorecardTable/components/DraggableCell.js +45 -0
  164. package/dist/esm/components/Scorecard/components/ScorecardTable/components/DraggableCell.js.map +1 -0
  165. package/dist/esm/components/Scorecard/components/ScorecardTable/components/DroppableCell.js +36 -0
  166. package/dist/esm/components/Scorecard/components/ScorecardTable/components/DroppableCell.js.map +1 -0
  167. package/dist/esm/components/Scorecard/components/ScorecardTable/components/EmptyFooterCell.js +10 -0
  168. package/dist/esm/components/Scorecard/components/ScorecardTable/components/EmptyFooterCell.js.map +1 -0
  169. package/dist/esm/components/Scorecard/components/ScorecardTable/components/ExpandedScorecardTable.js +54 -0
  170. package/dist/esm/components/Scorecard/components/ScorecardTable/components/ExpandedScorecardTable.js.map +1 -0
  171. package/dist/esm/components/Scorecard/components/ScorecardTable/components/FurtherAnalysisMenu.js +146 -0
  172. package/dist/esm/components/Scorecard/components/ScorecardTable/components/FurtherAnalysisMenu.js.map +1 -0
  173. package/dist/esm/components/Scorecard/components/ScorecardTable/components/FurtherAnalysisModal.js +52 -0
  174. package/dist/esm/components/Scorecard/components/ScorecardTable/components/FurtherAnalysisModal.js.map +1 -0
  175. package/dist/esm/components/Scorecard/components/ScorecardTable/components/LinkedCell.js +94 -0
  176. package/dist/esm/components/Scorecard/components/ScorecardTable/components/LinkedCell.js.map +1 -0
  177. package/dist/esm/components/Scorecard/components/ScorecardTable/components/LinkedDataCell.js +93 -0
  178. package/dist/esm/components/Scorecard/components/ScorecardTable/components/LinkedDataCell.js.map +1 -0
  179. package/dist/esm/components/Scorecard/components/ScorecardTable/components/LinkedDataFooterCell.js +43 -0
  180. package/dist/esm/components/Scorecard/components/ScorecardTable/components/LinkedDataFooterCell.js.map +1 -0
  181. package/dist/esm/components/Scorecard/components/ScorecardTable/components/MetaFooterCell.js +14 -0
  182. package/dist/esm/components/Scorecard/components/ScorecardTable/components/MetaFooterCell.js.map +1 -0
  183. package/dist/esm/components/Scorecard/components/ScorecardTable/components/SingleDataCell.js +96 -0
  184. package/dist/esm/components/Scorecard/components/ScorecardTable/components/SingleDataCell.js.map +1 -0
  185. package/dist/esm/components/Scorecard/components/ScorecardTable/components/SingleDataFooterCell.js +36 -0
  186. package/dist/esm/components/Scorecard/components/ScorecardTable/components/SingleDataFooterCell.js.map +1 -0
  187. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableBody.js +13 -0
  188. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableBody.js.map +1 -0
  189. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableFoot.js +26 -0
  190. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableFoot.js.map +1 -0
  191. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/TableHeader.js +18 -0
  192. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/TableHeader.js.map +1 -0
  193. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/TableHeader.module.css +12 -0
  194. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/TableHeader.module.css.map +1 -0
  195. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/AverageHeaderCell.js +33 -0
  196. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/AverageHeaderCell.js.map +1 -0
  197. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.js +54 -0
  198. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.js.map +1 -0
  199. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/ExpandCell.js +14 -0
  200. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/ExpandCell.js.map +1 -0
  201. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/FilterArea.js +31 -0
  202. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/FilterArea.js.map +1 -0
  203. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/LabelCell.js +42 -0
  204. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/LabelCell.js.map +1 -0
  205. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.js +56 -0
  206. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.js.map +1 -0
  207. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/NumberCell.js +22 -0
  208. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/NumberCell.js.map +1 -0
  209. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/index.js +3 -0
  210. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/index.js.map +1 -0
  211. package/dist/esm/components/Scorecard/components/ScorecardTable/index.js +3 -0
  212. package/dist/esm/components/Scorecard/components/ScorecardTable/index.js.map +1 -0
  213. package/dist/esm/components/Scorecard/components/StateProvider.js +23 -0
  214. package/dist/esm/components/Scorecard/components/StateProvider.js.map +1 -0
  215. package/dist/esm/components/Scorecard/components/StateSetProvider.js +14 -0
  216. package/dist/esm/components/Scorecard/components/StateSetProvider.js.map +1 -0
  217. package/dist/esm/components/Scorecard/components/TableStateProvider.js +23 -0
  218. package/dist/esm/components/Scorecard/components/TableStateProvider.js.map +1 -0
  219. package/dist/esm/components/Scorecard/hooks/average.js +48 -0
  220. package/dist/esm/components/Scorecard/hooks/average.js.map +1 -0
  221. package/dist/esm/components/Scorecard/hooks/cellData.js +34 -0
  222. package/dist/esm/components/Scorecard/hooks/cellData.js.map +1 -0
  223. package/dist/esm/components/Scorecard/hooks/columns.js +147 -0
  224. package/dist/esm/components/Scorecard/hooks/columns.js.map +1 -0
  225. package/dist/esm/components/Scorecard/hooks/data.js +95 -0
  226. package/dist/esm/components/Scorecard/hooks/data.js.map +1 -0
  227. package/dist/esm/components/Scorecard/hooks/metadata.js +92 -0
  228. package/dist/esm/components/Scorecard/hooks/metadata.js.map +1 -0
  229. package/dist/esm/components/Scorecard/hooks/orgUnit.js +15 -0
  230. package/dist/esm/components/Scorecard/hooks/orgUnit.js.map +1 -0
  231. package/dist/esm/components/Scorecard/hooks/period.js +13 -0
  232. package/dist/esm/components/Scorecard/hooks/period.js.map +1 -0
  233. package/dist/esm/components/Scorecard/hooks/table.js +38 -0
  234. package/dist/esm/components/Scorecard/hooks/table.js.map +1 -0
  235. package/dist/esm/components/Scorecard/index.js +4 -0
  236. package/dist/esm/components/Scorecard/index.js.map +1 -0
  237. package/dist/esm/components/Scorecard/schemas/config.js +163 -0
  238. package/dist/esm/components/Scorecard/schemas/config.js.map +1 -0
  239. package/dist/esm/components/Scorecard/utils/analytics.js +25 -0
  240. package/dist/esm/components/Scorecard/utils/analytics.js.map +1 -0
  241. package/dist/esm/components/Scorecard/utils/columns.js +326 -0
  242. package/dist/esm/components/Scorecard/utils/columns.js.map +1 -0
  243. package/dist/esm/components/Scorecard/utils/data.js +144 -0
  244. package/dist/esm/components/Scorecard/utils/data.js.map +1 -0
  245. package/dist/esm/components/Scorecard/utils/dataSources.js +13 -0
  246. package/dist/esm/components/Scorecard/utils/dataSources.js.map +1 -0
  247. package/dist/esm/components/Scorecard/utils/engine.js +18 -0
  248. package/dist/esm/components/Scorecard/utils/engine.js.map +1 -0
  249. package/dist/esm/components/Scorecard/utils/legends.js +115 -0
  250. package/dist/esm/components/Scorecard/utils/legends.js.map +1 -0
  251. package/dist/esm/components/Scorecard/utils/orgUnits.js +37 -0
  252. package/dist/esm/components/Scorecard/utils/orgUnits.js.map +1 -0
  253. package/dist/esm/index.js +1 -0
  254. package/dist/esm/index.js.map +1 -1
  255. package/dist/index.js +7 -0
  256. package/dist/index.js.map +1 -1
  257. package/dist/types/components/Scorecard/Scorecard.d.ts +10 -0
  258. package/dist/types/components/Scorecard/Scorecard.d.ts.map +1 -0
  259. package/dist/types/components/Scorecard/components/ConfigProvider.d.ts +125 -0
  260. package/dist/types/components/Scorecard/components/ConfigProvider.d.ts.map +1 -0
  261. package/dist/types/components/Scorecard/components/DataProvider.d.ts +13 -0
  262. package/dist/types/components/Scorecard/components/DataProvider.d.ts.map +1 -0
  263. package/dist/types/components/Scorecard/components/MetaProvider.d.ts +18 -0
  264. package/dist/types/components/Scorecard/components/MetaProvider.d.ts.map +1 -0
  265. package/dist/types/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/FurtherAnalysisDictionary.d.ts +6 -0
  266. package/dist/types/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/FurtherAnalysisDictionary.d.ts.map +1 -0
  267. package/dist/types/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/components/ConfigProvider.d.ts +12 -0
  268. package/dist/types/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/components/ConfigProvider.d.ts.map +1 -0
  269. package/dist/types/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/components/DetailsProvider.d.ts +9 -0
  270. package/dist/types/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/components/DetailsProvider.d.ts.map +1 -0
  271. package/dist/types/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/index.d.ts +2 -0
  272. package/dist/types/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/index.d.ts.map +1 -0
  273. package/dist/types/components/Scorecard/components/ScorecardTable/FurtherAnalysisVisualization.d.ts +6 -0
  274. package/dist/types/components/Scorecard/components/ScorecardTable/FurtherAnalysisVisualization.d.ts.map +1 -0
  275. package/dist/types/components/Scorecard/components/ScorecardTable/ScorecardTable.d.ts +2 -0
  276. package/dist/types/components/Scorecard/components/ScorecardTable/ScorecardTable.d.ts.map +1 -0
  277. package/dist/types/components/Scorecard/components/ScorecardTable/components/AverageCell.d.ts +19 -0
  278. package/dist/types/components/Scorecard/components/ScorecardTable/components/AverageCell.d.ts.map +1 -0
  279. package/dist/types/components/Scorecard/components/ScorecardTable/components/AverageFooterCell.d.ts +4 -0
  280. package/dist/types/components/Scorecard/components/ScorecardTable/components/AverageFooterCell.d.ts.map +1 -0
  281. package/dist/types/components/Scorecard/components/ScorecardTable/components/DataContainer.d.ts +7 -0
  282. package/dist/types/components/Scorecard/components/ScorecardTable/components/DataContainer.d.ts.map +1 -0
  283. package/dist/types/components/Scorecard/components/ScorecardTable/components/DataFooterCell.d.ts +4 -0
  284. package/dist/types/components/Scorecard/components/ScorecardTable/components/DataFooterCell.d.ts.map +1 -0
  285. package/dist/types/components/Scorecard/components/ScorecardTable/components/DataRow.d.ts +8 -0
  286. package/dist/types/components/Scorecard/components/ScorecardTable/components/DataRow.d.ts.map +1 -0
  287. package/dist/types/components/Scorecard/components/ScorecardTable/components/DataValue.d.ts +6 -0
  288. package/dist/types/components/Scorecard/components/ScorecardTable/components/DataValue.d.ts.map +1 -0
  289. package/dist/types/components/Scorecard/components/ScorecardTable/components/DraggableCell.d.ts +8 -0
  290. package/dist/types/components/Scorecard/components/ScorecardTable/components/DraggableCell.d.ts.map +1 -0
  291. package/dist/types/components/Scorecard/components/ScorecardTable/components/DroppableCell.d.ts +7 -0
  292. package/dist/types/components/Scorecard/components/ScorecardTable/components/DroppableCell.d.ts.map +1 -0
  293. package/dist/types/components/Scorecard/components/ScorecardTable/components/EmptyFooterCell.d.ts +4 -0
  294. package/dist/types/components/Scorecard/components/ScorecardTable/components/EmptyFooterCell.d.ts.map +1 -0
  295. package/dist/types/components/Scorecard/components/ScorecardTable/components/ExpandedScorecardTable.d.ts +7 -0
  296. package/dist/types/components/Scorecard/components/ScorecardTable/components/ExpandedScorecardTable.d.ts.map +1 -0
  297. package/dist/types/components/Scorecard/components/ScorecardTable/components/FurtherAnalysisMenu.d.ts +15 -0
  298. package/dist/types/components/Scorecard/components/ScorecardTable/components/FurtherAnalysisMenu.d.ts.map +1 -0
  299. package/dist/types/components/Scorecard/components/ScorecardTable/components/FurtherAnalysisModal.d.ts +13 -0
  300. package/dist/types/components/Scorecard/components/ScorecardTable/components/FurtherAnalysisModal.d.ts.map +1 -0
  301. package/dist/types/components/Scorecard/components/ScorecardTable/components/LinkedCell.d.ts +19 -0
  302. package/dist/types/components/Scorecard/components/ScorecardTable/components/LinkedCell.d.ts.map +1 -0
  303. package/dist/types/components/Scorecard/components/ScorecardTable/components/LinkedDataCell.d.ts +14 -0
  304. package/dist/types/components/Scorecard/components/ScorecardTable/components/LinkedDataCell.d.ts.map +1 -0
  305. package/dist/types/components/Scorecard/components/ScorecardTable/components/LinkedDataFooterCell.d.ts +6 -0
  306. package/dist/types/components/Scorecard/components/ScorecardTable/components/LinkedDataFooterCell.d.ts.map +1 -0
  307. package/dist/types/components/Scorecard/components/ScorecardTable/components/MetaFooterCell.d.ts +4 -0
  308. package/dist/types/components/Scorecard/components/ScorecardTable/components/MetaFooterCell.d.ts.map +1 -0
  309. package/dist/types/components/Scorecard/components/ScorecardTable/components/SingleDataCell.d.ts +14 -0
  310. package/dist/types/components/Scorecard/components/ScorecardTable/components/SingleDataCell.d.ts.map +1 -0
  311. package/dist/types/components/Scorecard/components/ScorecardTable/components/SingleDataFooterCell.d.ts +6 -0
  312. package/dist/types/components/Scorecard/components/ScorecardTable/components/SingleDataFooterCell.d.ts.map +1 -0
  313. package/dist/types/components/Scorecard/components/ScorecardTable/components/TableBody.d.ts +2 -0
  314. package/dist/types/components/Scorecard/components/ScorecardTable/components/TableBody.d.ts.map +1 -0
  315. package/dist/types/components/Scorecard/components/ScorecardTable/components/TableFoot.d.ts +2 -0
  316. package/dist/types/components/Scorecard/components/ScorecardTable/components/TableFoot.d.ts.map +1 -0
  317. package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/TableHeader.d.ts +2 -0
  318. package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/TableHeader.d.ts.map +1 -0
  319. package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/AverageHeaderCell.d.ts +4 -0
  320. package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/AverageHeaderCell.d.ts.map +1 -0
  321. package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.d.ts +5 -0
  322. package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.d.ts.map +1 -0
  323. package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/ExpandCell.d.ts +4 -0
  324. package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/ExpandCell.d.ts.map +1 -0
  325. package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/FilterArea.d.ts +7 -0
  326. package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/FilterArea.d.ts.map +1 -0
  327. package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/LabelCell.d.ts +6 -0
  328. package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/LabelCell.d.ts.map +1 -0
  329. package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.d.ts +7 -0
  330. package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.d.ts.map +1 -0
  331. package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/NumberCell.d.ts +7 -0
  332. package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/NumberCell.d.ts.map +1 -0
  333. package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/index.d.ts +2 -0
  334. package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/index.d.ts.map +1 -0
  335. package/dist/types/components/Scorecard/components/ScorecardTable/index.d.ts +2 -0
  336. package/dist/types/components/Scorecard/components/ScorecardTable/index.d.ts.map +1 -0
  337. package/dist/types/components/Scorecard/components/StateProvider.d.ts +41 -0
  338. package/dist/types/components/Scorecard/components/StateProvider.d.ts.map +1 -0
  339. package/dist/types/components/Scorecard/components/StateSetProvider.d.ts +9 -0
  340. package/dist/types/components/Scorecard/components/StateSetProvider.d.ts.map +1 -0
  341. package/dist/types/components/Scorecard/components/TableStateProvider.d.ts +55 -0
  342. package/dist/types/components/Scorecard/components/TableStateProvider.d.ts.map +1 -0
  343. package/dist/types/components/Scorecard/hooks/average.d.ts +14 -0
  344. package/dist/types/components/Scorecard/hooks/average.d.ts.map +1 -0
  345. package/dist/types/components/Scorecard/hooks/cellData.d.ts +18 -0
  346. package/dist/types/components/Scorecard/hooks/cellData.d.ts.map +1 -0
  347. package/dist/types/components/Scorecard/hooks/columns.d.ts +54 -0
  348. package/dist/types/components/Scorecard/hooks/columns.d.ts.map +1 -0
  349. package/dist/types/components/Scorecard/hooks/data.d.ts +70 -0
  350. package/dist/types/components/Scorecard/hooks/data.d.ts.map +1 -0
  351. package/dist/types/components/Scorecard/hooks/metadata.d.ts +34 -0
  352. package/dist/types/components/Scorecard/hooks/metadata.d.ts.map +1 -0
  353. package/dist/types/components/Scorecard/hooks/orgUnit.d.ts +5 -0
  354. package/dist/types/components/Scorecard/hooks/orgUnit.d.ts.map +1 -0
  355. package/dist/types/components/Scorecard/hooks/period.d.ts +2 -0
  356. package/dist/types/components/Scorecard/hooks/period.d.ts.map +1 -0
  357. package/dist/types/components/Scorecard/hooks/table.d.ts +4 -0
  358. package/dist/types/components/Scorecard/hooks/table.d.ts.map +1 -0
  359. package/dist/types/components/Scorecard/index.d.ts +3 -0
  360. package/dist/types/components/Scorecard/index.d.ts.map +1 -0
  361. package/dist/types/components/Scorecard/schemas/config.d.ts +2522 -0
  362. package/dist/types/components/Scorecard/schemas/config.d.ts.map +1 -0
  363. package/dist/types/components/Scorecard/utils/analytics.d.ts +10 -0
  364. package/dist/types/components/Scorecard/utils/analytics.d.ts.map +1 -0
  365. package/dist/types/components/Scorecard/utils/columns.d.ts +71 -0
  366. package/dist/types/components/Scorecard/utils/columns.d.ts.map +1 -0
  367. package/dist/types/components/Scorecard/utils/data.d.ts +16 -0
  368. package/dist/types/components/Scorecard/utils/data.d.ts.map +1 -0
  369. package/dist/types/components/Scorecard/utils/dataSources.d.ts +35 -0
  370. package/dist/types/components/Scorecard/utils/dataSources.d.ts.map +1 -0
  371. package/dist/types/components/Scorecard/utils/engine.d.ts +14 -0
  372. package/dist/types/components/Scorecard/utils/engine.d.ts.map +1 -0
  373. package/dist/types/components/Scorecard/utils/legends.d.ts +22 -0
  374. package/dist/types/components/Scorecard/utils/legends.d.ts.map +1 -0
  375. package/dist/types/components/Scorecard/utils/orgUnits.d.ts +7 -0
  376. package/dist/types/components/Scorecard/utils/orgUnits.d.ts.map +1 -0
  377. package/dist/types/index.d.ts +1 -0
  378. package/dist/types/index.d.ts.map +1 -1
  379. package/package.json +10 -3
@@ -0,0 +1,147 @@
1
+ 'use strict';
2
+
3
+ var lodash = require('lodash');
4
+ var columns = require('./columns');
5
+
6
+ function sanitizeAnalyticsData(data) {
7
+ const { headers, rows } = data.data;
8
+ return rows.map((row) => {
9
+ return lodash.fromPairs(
10
+ row.map((value, index) => {
11
+ const key = headers[index].name;
12
+ return [key, value];
13
+ })
14
+ );
15
+ });
16
+ }
17
+ function getTableDataFromAnalytics(data, {
18
+ meta,
19
+ state,
20
+ config
21
+ }) {
22
+ const dataInRows = state.options.showDataInRows;
23
+ const showHierarchy = state.options.showHierarchy;
24
+ const sanitizedAnalyticsData = sanitizeAnalyticsData(data);
25
+ const averageFilter = state.options.averageDisplayType;
26
+ function getOrgUnitData() {
27
+ return meta.orgUnits.map((orgUnit, i) => {
28
+ const dataValues = sanitizedAnalyticsData.filter((value) => {
29
+ return orgUnit.uid === value.ou;
30
+ });
31
+ const label = showHierarchy ? orgUnit.hierarchy.replace("/", "") ?? "" : orgUnit.name ?? "";
32
+ return {
33
+ dataValues,
34
+ label,
35
+ orgUnit
36
+ };
37
+ }).flat();
38
+ }
39
+ function getDataGroupsData(dataGroups) {
40
+ return dataGroups.map(({ dataHolders }) => {
41
+ return dataHolders.map((dataHolder) => {
42
+ const { dataSources, id } = dataHolder;
43
+ const dataItemIds = dataSources.map(({ id: id2 }) => id2);
44
+ const dataValues = sanitizedAnalyticsData.filter(
45
+ (value) => {
46
+ return dataItemIds.includes(value.dx);
47
+ }
48
+ );
49
+ const label = (dataSources.length === 1 ? lodash.head(dataSources)?.label : dataSources.reduce(
50
+ (acc, { label: label2 }) => `${acc} / ${label2}`,
51
+ ""
52
+ )) ?? "";
53
+ return {
54
+ id,
55
+ label,
56
+ dataValues,
57
+ dataHolder
58
+ };
59
+ });
60
+ }).flat();
61
+ }
62
+ if (averageFilter !== "ABOVE_AVERAGE" && averageFilter !== "BELOW_AVERAGE") {
63
+ if (dataInRows) {
64
+ const dataGroups = config.dataSelection.dataGroups;
65
+ return getDataGroupsData(dataGroups);
66
+ }
67
+ return getOrgUnitData();
68
+ }
69
+ const totalAverage = columns.getAverageValue({
70
+ dataValues: sanitizedAnalyticsData,
71
+ meta
72
+ });
73
+ if (averageFilter === "BELOW_AVERAGE") {
74
+ if (dataInRows) {
75
+ const dataGroups = config.dataSelection.dataGroups;
76
+ return getDataGroupsData(dataGroups).filter((data2) => {
77
+ const average = columns.getAverageValue({
78
+ meta,
79
+ dataValues: data2.dataValues
80
+ });
81
+ return average <= totalAverage;
82
+ }).map((data2, index) => ({ ...data2, count: index + 1 }));
83
+ }
84
+ return getOrgUnitData().filter((data2) => {
85
+ const average = columns.getAverageValue({
86
+ meta,
87
+ dataValues: data2.dataValues
88
+ });
89
+ return average <= totalAverage;
90
+ }).map((data2, index) => ({ ...data2, count: index + 1 }));
91
+ } else {
92
+ if (dataInRows) {
93
+ const dataGroups = config.dataSelection.dataGroups;
94
+ return lodash.compact(
95
+ dataGroups.map(({ dataHolders }) => {
96
+ return dataHolders.map((dataHolder) => {
97
+ const { dataSources, id } = dataHolder;
98
+ const dataItemIds = dataSources.map(({ id: id2 }) => id2);
99
+ const dataValues = sanitizedAnalyticsData.filter(
100
+ (value) => {
101
+ return dataItemIds.includes(value.dx);
102
+ }
103
+ );
104
+ const label = (dataSources.length === 1 ? lodash.head(dataSources)?.label : dataSources.reduce(
105
+ (acc, { label: label2 }) => `${acc} / ${label2}`,
106
+ ""
107
+ )) ?? "";
108
+ return {
109
+ id,
110
+ label,
111
+ dataValues,
112
+ dataHolder
113
+ };
114
+ });
115
+ })
116
+ ).flat().filter((data2) => {
117
+ const average = columns.getAverageValue({
118
+ meta,
119
+ dataValues: data2.dataValues
120
+ });
121
+ return average >= totalAverage;
122
+ }).map((data2, index) => ({ ...data2, count: index + 1 }));
123
+ }
124
+ return meta.orgUnits.map((orgUnit, i) => {
125
+ const dataValues = sanitizedAnalyticsData.filter((value) => {
126
+ return orgUnit.uid === value.ou;
127
+ });
128
+ const label = showHierarchy ? orgUnit.hierarchy.replace("/", "") ?? "" : orgUnit.name ?? "";
129
+ return {
130
+ dataValues,
131
+ label,
132
+ orgUnit
133
+ };
134
+ }).flat().filter((data2) => {
135
+ const average = columns.getAverageValue({
136
+ meta,
137
+ dataValues: data2.dataValues
138
+ });
139
+ return average >= totalAverage;
140
+ }).map((data2, index) => ({ ...data2, count: index + 1 }));
141
+ }
142
+ }
143
+
144
+ exports.getTableDataFromAnalytics = getTableDataFromAnalytics;
145
+ exports.sanitizeAnalyticsData = sanitizeAnalyticsData;
146
+ //# sourceMappingURL=out.js.map
147
+ //# sourceMappingURL=data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/Scorecard/utils/data.ts"],"names":["id","label","data"],"mappings":"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","sourcesContent":["import type { ScorecardDataQueryResponse } from \"../hooks/data\";\nimport type { ScorecardMeta } from \"../components/MetaProvider\";\nimport type {\n\tScorecardConfig,\n\tScorecardDataGroup,\n\tScorecardState,\n\tScorecardTableData,\n} from \"../schemas/config\";\nimport { compact, fromPairs, head } from \"lodash\";\nimport { getAverageValue } from \"./columns\";\n\nexport interface AnalyticsData {\n\tdx?: string;\n\tpe?: string;\n\tou?: string;\n\n\t[key: string]: string | undefined;\n}\n\nexport function sanitizeAnalyticsData(data: ScorecardDataQueryResponse) {\n\tconst { headers, rows } = data.data;\n\treturn rows.map((row) => {\n\t\treturn fromPairs(\n\t\t\trow.map((value, index) => {\n\t\t\t\tconst key = headers[index].name as \"dx\" | \"ou\" | \"pe\";\n\t\t\t\treturn [key, value];\n\t\t\t}),\n\t\t) as AnalyticsData;\n\t});\n}\n\nexport function getTableDataFromAnalytics(\n\tdata: ScorecardDataQueryResponse,\n\t{\n\t\tmeta,\n\t\tstate,\n\t\tconfig,\n\t}: { meta: ScorecardMeta; state: ScorecardState; config: ScorecardConfig },\n): ScorecardTableData[] {\n\tconst dataInRows = state.options.showDataInRows;\n\tconst showHierarchy = state.options.showHierarchy;\n\tconst sanitizedAnalyticsData = sanitizeAnalyticsData(data);\n\tconst averageFilter = state.options.averageDisplayType;\n\n\tfunction getOrgUnitData() {\n\t\treturn meta.orgUnits\n\t\t\t.map((orgUnit, i) => {\n\t\t\t\tconst dataValues = sanitizedAnalyticsData.filter((value) => {\n\t\t\t\t\treturn orgUnit.uid === value.ou;\n\t\t\t\t});\n\n\t\t\t\tconst label = showHierarchy\n\t\t\t\t\t? orgUnit.hierarchy.replace(\"/\", \"\") ?? \"\"\n\t\t\t\t\t: orgUnit.name ?? \"\";\n\n\t\t\t\treturn {\n\t\t\t\t\tdataValues,\n\t\t\t\t\tlabel,\n\t\t\t\t\torgUnit,\n\t\t\t\t};\n\t\t\t})\n\t\t\t.flat();\n\t}\n\n\tfunction getDataGroupsData(dataGroups: ScorecardDataGroup[]) {\n\t\treturn dataGroups\n\t\t\t.map(({ dataHolders }) => {\n\t\t\t\treturn dataHolders.map((dataHolder) => {\n\t\t\t\t\tconst { dataSources, id } = dataHolder;\n\t\t\t\t\tconst dataItemIds = dataSources.map(({ id }) => id);\n\t\t\t\t\tconst dataValues = sanitizedAnalyticsData.filter(\n\t\t\t\t\t\t(value) => {\n\t\t\t\t\t\t\treturn dataItemIds.includes(value.dx as string);\n\t\t\t\t\t\t},\n\t\t\t\t\t);\n\t\t\t\t\tconst label =\n\t\t\t\t\t\t(dataSources.length === 1\n\t\t\t\t\t\t\t? head(dataSources)?.label\n\t\t\t\t\t\t\t: dataSources.reduce(\n\t\t\t\t\t\t\t\t\t(acc, { label }) => `${acc} / ${label}`,\n\t\t\t\t\t\t\t\t\t\"\",\n\t\t\t\t\t\t\t\t)) ?? \"\";\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\tid,\n\t\t\t\t\t\tlabel,\n\t\t\t\t\t\tdataValues,\n\t\t\t\t\t\tdataHolder,\n\t\t\t\t\t};\n\t\t\t\t});\n\t\t\t})\n\t\t\t.flat();\n\t}\n\n\tif (\n\t\taverageFilter !== \"ABOVE_AVERAGE\" &&\n\t\taverageFilter !== \"BELOW_AVERAGE\"\n\t) {\n\t\t//No need of computing the average of each row\n\t\tif (dataInRows) {\n\t\t\t//Rows are derived from groups\n\t\t\tconst dataGroups = config.dataSelection.dataGroups;\n\t\t\treturn getDataGroupsData(dataGroups);\n\t\t}\n\t\treturn getOrgUnitData();\n\t}\n\n\tconst totalAverage = getAverageValue({\n\t\tdataValues: sanitizedAnalyticsData,\n\t\tmeta,\n\t});\n\n\tif (averageFilter === \"BELOW_AVERAGE\") {\n\t\tif (dataInRows) {\n\t\t\t//Rows are derived from groups\n\t\t\tconst dataGroups = config.dataSelection.dataGroups;\n\t\t\treturn getDataGroupsData(dataGroups)\n\t\t\t\t.filter((data) => {\n\t\t\t\t\tconst average = getAverageValue({\n\t\t\t\t\t\tmeta,\n\t\t\t\t\t\tdataValues: data.dataValues,\n\t\t\t\t\t});\n\n\t\t\t\t\treturn average <= totalAverage;\n\t\t\t\t})\n\t\t\t\t.map((data, index) => ({ ...data, count: index + 1 }));\n\t\t}\n\n\t\treturn getOrgUnitData()\n\t\t\t.filter((data) => {\n\t\t\t\tconst average = getAverageValue({\n\t\t\t\t\tmeta,\n\t\t\t\t\tdataValues: data.dataValues,\n\t\t\t\t});\n\n\t\t\t\treturn average <= totalAverage;\n\t\t\t})\n\t\t\t.map((data, index) => ({ ...data, count: index + 1 }));\n\t} else {\n\t\tif (dataInRows) {\n\t\t\t//Rows are derived from groups\n\t\t\tconst dataGroups = config.dataSelection.dataGroups;\n\t\t\treturn compact(\n\t\t\t\tdataGroups.map(({ dataHolders }) => {\n\t\t\t\t\treturn dataHolders.map((dataHolder) => {\n\t\t\t\t\t\tconst { dataSources, id } = dataHolder;\n\t\t\t\t\t\tconst dataItemIds = dataSources.map(({ id }) => id);\n\t\t\t\t\t\tconst dataValues = sanitizedAnalyticsData.filter(\n\t\t\t\t\t\t\t(value) => {\n\t\t\t\t\t\t\t\treturn dataItemIds.includes(value.dx as string);\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tconst label =\n\t\t\t\t\t\t\t(dataSources.length === 1\n\t\t\t\t\t\t\t\t? head(dataSources)?.label\n\t\t\t\t\t\t\t\t: dataSources.reduce(\n\t\t\t\t\t\t\t\t\t\t(acc, { label }) => `${acc} / ${label}`,\n\t\t\t\t\t\t\t\t\t\t\"\",\n\t\t\t\t\t\t\t\t\t)) ?? \"\";\n\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\tlabel,\n\t\t\t\t\t\t\tdataValues,\n\t\t\t\t\t\t\tdataHolder,\n\t\t\t\t\t\t};\n\t\t\t\t\t});\n\t\t\t\t}),\n\t\t\t)\n\t\t\t\t.flat()\n\t\t\t\t.filter((data) => {\n\t\t\t\t\tconst average = getAverageValue({\n\t\t\t\t\t\tmeta,\n\t\t\t\t\t\tdataValues: data.dataValues,\n\t\t\t\t\t});\n\n\t\t\t\t\treturn average >= totalAverage;\n\t\t\t\t})\n\t\t\t\t.map((data, index) => ({ ...data, count: index + 1 }));\n\t\t}\n\n\t\treturn meta.orgUnits\n\t\t\t.map((orgUnit, i) => {\n\t\t\t\tconst dataValues = sanitizedAnalyticsData.filter((value) => {\n\t\t\t\t\treturn orgUnit.uid === value.ou;\n\t\t\t\t});\n\n\t\t\t\tconst label = showHierarchy\n\t\t\t\t\t? orgUnit.hierarchy.replace(\"/\", \"\") ?? \"\"\n\t\t\t\t\t: orgUnit.name ?? \"\";\n\n\t\t\t\treturn {\n\t\t\t\t\tdataValues,\n\t\t\t\t\tlabel,\n\t\t\t\t\torgUnit,\n\t\t\t\t};\n\t\t\t})\n\t\t\t.flat()\n\t\t\t.filter((data) => {\n\t\t\t\tconst average = getAverageValue({\n\t\t\t\t\tmeta,\n\t\t\t\t\tdataValues: data.dataValues,\n\t\t\t\t});\n\n\t\t\t\treturn average >= totalAverage;\n\t\t\t})\n\t\t\t.map((data, index) => ({ ...data, count: index + 1 }));\n\t}\n}\n"]}
@@ -0,0 +1,16 @@
1
+ 'use strict';
2
+
3
+ var lodash = require('lodash');
4
+
5
+ function getHoldersFromGroups(dataGroups) {
6
+ return lodash.flattenDeep(dataGroups?.map(({ dataHolders }) => dataHolders) ?? []);
7
+ }
8
+ function getDataSourcesFromGroups(dataGroups) {
9
+ const dataHolders = lodash.compact(getHoldersFromGroups(dataGroups));
10
+ return lodash.flattenDeep(dataHolders?.map(({ dataSources }) => dataSources));
11
+ }
12
+
13
+ exports.getDataSourcesFromGroups = getDataSourcesFromGroups;
14
+ exports.getHoldersFromGroups = getHoldersFromGroups;
15
+ //# sourceMappingURL=out.js.map
16
+ //# sourceMappingURL=dataSources.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/Scorecard/utils/dataSources.ts"],"names":[],"mappings":"AAAA,SAAS,SAAS,mBAAmB;AAM9B,SAAS,qBACf,YACwB;AACxB,SAAO,YAAY,YAAY,IAAI,CAAC,EAAE,YAAY,MAAM,WAAW,KAAK,CAAC,CAAC;AAC3E;AAEO,SAAS,yBAAyB,YAAkC;AAC1E,QAAM,cAAc,QAAQ,qBAAqB,UAAU,CAAC;AAC5D,SAAO,YAAY,aAAa,IAAI,CAAC,EAAE,YAAY,MAAM,WAAW,CAAC;AACtE","sourcesContent":["import { compact, flattenDeep } from \"lodash\";\nimport type {\n\tScorecardDataGroup,\n\tScorecardDataHolder,\n} from \"../schemas/config\";\n\nexport function getHoldersFromGroups(\n\tdataGroups: ScorecardDataGroup[],\n): ScorecardDataHolder[] {\n\treturn flattenDeep(dataGroups?.map(({ dataHolders }) => dataHolders) ?? []);\n}\n\nexport function getDataSourcesFromGroups(dataGroups: ScorecardDataGroup[]) {\n\tconst dataHolders = compact(getHoldersFromGroups(dataGroups));\n\treturn flattenDeep(dataHolders?.map(({ dataSources }) => dataSources));\n}\n"]}
@@ -0,0 +1,20 @@
1
+ 'use strict';
2
+
3
+ class ScorecardEngine {
4
+ constructor({
5
+ config,
6
+ meta,
7
+ state
8
+ }) {
9
+ this.config = config;
10
+ this.meta = meta;
11
+ this.state = state;
12
+ }
13
+ getRows() {
14
+ return [];
15
+ }
16
+ }
17
+
18
+ exports.ScorecardEngine = ScorecardEngine;
19
+ //# sourceMappingURL=out.js.map
20
+ //# sourceMappingURL=engine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/Scorecard/utils/engine.ts"],"names":[],"mappings":"AAOO,MAAM,gBAAgB;AAAA,EAK5B,YAAY;AAAA,IACX;AAAA,IACA;AAAA,IACA;AAAA,EACD,GAIG;AACF,SAAK,SAAS;AACd,SAAK,OAAO;AACZ,SAAK,QAAQ;AAAA,EACd;AAAA,EAEA,UAAgC;AAC/B,WAAO,CAAC;AAAA,EACT;AACD","sourcesContent":["import type {\n\tScorecardConfig,\n\tScorecardState,\n\tScorecardTableData,\n} from \"../schemas/config\";\nimport type { ScorecardMeta } from \"../components/MetaProvider\";\n\nexport class ScorecardEngine {\n\tconfig: ScorecardConfig;\n\tstate: ScorecardState;\n\tmeta: ScorecardMeta;\n\n\tconstructor({\n\t\tconfig,\n\t\tmeta,\n\t\tstate,\n\t}: {\n\t\tconfig: ScorecardConfig;\n\t\tstate: ScorecardState;\n\t\tmeta: ScorecardMeta;\n\t}) {\n\t\tthis.config = config;\n\t\tthis.meta = meta;\n\t\tthis.state = state;\n\t}\n\n\tgetRows(): ScorecardTableData[] {\n\t\treturn [];\n\t}\n}\n"]}
@@ -0,0 +1,118 @@
1
+ 'use strict';
2
+
3
+ var lodash = require('lodash');
4
+
5
+ function findLegend({
6
+ max,
7
+ legendDefinitions,
8
+ value,
9
+ legends
10
+ }) {
11
+ if (!value) {
12
+ return lodash.find(legendDefinitions, { id: "No Data" });
13
+ }
14
+ const numericValue = value;
15
+ if (numericValue > max) {
16
+ return lodash.find(legendDefinitions, { id: "N/A" });
17
+ }
18
+ if (isNaN(numericValue)) {
19
+ return lodash.find(legendDefinitions, { id: "No Data" });
20
+ }
21
+ const { legendDefinitionId } = lodash.find(legends, (legend) => {
22
+ if (legend) {
23
+ const { startValue, endValue } = legend;
24
+ if (+endValue === max) {
25
+ return +startValue <= numericValue && +endValue >= numericValue;
26
+ }
27
+ return +startValue <= numericValue && +endValue > numericValue;
28
+ }
29
+ return false;
30
+ }) ?? {};
31
+ return lodash.find(legendDefinitions, ["id", legendDefinitionId]);
32
+ }
33
+ function getSpecificTargetLegends(specificTarget, id) {
34
+ if (specificTarget.items.includes(id)) {
35
+ return specificTarget.legends;
36
+ }
37
+ }
38
+ function getLegendByOrgUnitLevel({
39
+ orgUnit,
40
+ orgUnitLevels,
41
+ legends
42
+ }) {
43
+ const orgUnitLevel = orgUnitLevels.find(({ id, level }) => {
44
+ const ouLevel = orgUnit.hierarchy.split("/").filter(Boolean).length;
45
+ return level === ouLevel;
46
+ });
47
+ if (!orgUnitLevel) {
48
+ throw new Error("Invalid orgUnitId");
49
+ }
50
+ return legends[orgUnitLevel.id];
51
+ }
52
+ function getLegend({
53
+ dataSource,
54
+ config,
55
+ value,
56
+ periodId,
57
+ orgUnit,
58
+ orgUnitLevels
59
+ }) {
60
+ let legends = [];
61
+ if (periodId && orgUnit && orgUnitLevels) {
62
+ if (!Array.isArray(dataSource.legends)) {
63
+ legends = getLegendByOrgUnitLevel({
64
+ orgUnit,
65
+ orgUnitLevels,
66
+ legends: dataSource.legends
67
+ });
68
+ } else {
69
+ const specificTargets = dataSource.specificTargets;
70
+ if (!lodash.isEmpty(specificTargets)) {
71
+ const specificTarget = lodash.head(specificTargets);
72
+ switch (specificTarget.type) {
73
+ case "period":
74
+ const targetLegends = getSpecificTargetLegends(
75
+ specificTarget,
76
+ periodId
77
+ );
78
+ legends = targetLegends ?? dataSource.legends;
79
+ break;
80
+ case "orgUnit":
81
+ const targetOrgUnitLegends = getSpecificTargetLegends(
82
+ specificTarget,
83
+ orgUnit.uid
84
+ );
85
+ legends = targetOrgUnitLegends ?? dataSource.legends;
86
+ break;
87
+ default:
88
+ legends = dataSource.legends;
89
+ }
90
+ } else {
91
+ legends = dataSource.legends;
92
+ }
93
+ }
94
+ } else {
95
+ if (Array.isArray(dataSource.legends)) {
96
+ legends = dataSource.legends;
97
+ }
98
+ }
99
+ return findLegend({
100
+ legends,
101
+ value,
102
+ max: dataSource.weight,
103
+ legendDefinitions: config.legendDefinitions
104
+ });
105
+ }
106
+ function getTextColorFromBackgroundColor(background) {
107
+ background = background.replace(/^#/, "");
108
+ let r = parseInt(background.substring(0, 2), 16);
109
+ let g = parseInt(background.substring(2, 4), 16);
110
+ let b = parseInt(background.substring(4, 6), 16);
111
+ let yiq = (r * 299 + g * 587 + b * 114) / 1e3;
112
+ return yiq >= 128 ? "#000000" : "#FFFFFF";
113
+ }
114
+
115
+ exports.getLegend = getLegend;
116
+ exports.getTextColorFromBackgroundColor = getTextColorFromBackgroundColor;
117
+ //# sourceMappingURL=out.js.map
118
+ //# sourceMappingURL=legends.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/Scorecard/utils/legends.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n\tLegendDefinition,\n\tOrgUnitLevelLegend,\n\tScorecardConfig,\n\tScorecardDataSource,\n\tScorecardLegend,\n\tSpecificTarget,\n} from \"../schemas/config\";\nimport { find, head, isEmpty } from \"lodash\";\nimport type { ItemMeta } from \"../hooks/metadata\";\n\nfunction findLegend({\n\tmax,\n\tlegendDefinitions,\n\tvalue,\n\tlegends,\n}: {\n\tmax: number;\n\tlegendDefinitions: LegendDefinition[];\n\tlegends: ScorecardLegend[];\n\tvalue?: number;\n}): LegendDefinition | undefined {\n\tif (!value) {\n\t\treturn find(legendDefinitions, { id: \"No Data\" });\n\t}\n\tconst numericValue = value;\n\tif (numericValue > max) {\n\t\treturn find(legendDefinitions, { id: \"N/A\" });\n\t}\n\tif (isNaN(numericValue)) {\n\t\treturn find(legendDefinitions, { id: \"No Data\" });\n\t}\n\n\tconst { legendDefinitionId } =\n\t\tfind(legends, (legend) => {\n\t\t\tif (legend) {\n\t\t\t\tconst { startValue, endValue } = legend;\n\t\t\t\tif (+endValue === max) {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t+startValue <= numericValue && +endValue >= numericValue\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn +startValue <= numericValue && +endValue > numericValue;\n\t\t\t}\n\t\t\treturn false;\n\t\t}) ?? {};\n\n\treturn find(legendDefinitions, [\"id\", legendDefinitionId]);\n}\n\nfunction getSpecificTargetLegends(specificTarget: SpecificTarget, id: string) {\n\tif (specificTarget.items.includes(id)) {\n\t\treturn specificTarget.legends;\n\t}\n}\n\nfunction getLegendByOrgUnitLevel({\n\torgUnit,\n\torgUnitLevels,\n\tlegends,\n}: {\n\torgUnit: ItemMeta & { hierarchy: string };\n\tlegends: Record<string, ScorecardLegend[]>;\n\torgUnitLevels: Array<{\n\t\tid: string;\n\t\tlevel: number;\n\t}>;\n}): ScorecardLegend[] {\n\tconst orgUnitLevel = orgUnitLevels.find(({ id, level }) => {\n\t\tconst ouLevel = orgUnit.hierarchy.split(\"/\").filter(Boolean).length;\n\t\treturn level === ouLevel;\n\t});\n\n\tif (!orgUnitLevel) {\n\t\tthrow new Error(\"Invalid orgUnitId\");\n\t}\n\n\treturn legends[orgUnitLevel.id];\n}\n\nexport function getLegend({\n\tdataSource,\n\tconfig,\n\tvalue,\n\tperiodId,\n\torgUnit,\n\torgUnitLevels,\n}: {\n\tdataSource: ScorecardDataSource;\n\tvalue?: number;\n\tconfig: ScorecardConfig;\n\tperiodId?: string;\n\torgUnit?: ItemMeta & { hierarchy: string };\n\torgUnitLevels?: Array<{\n\t\tid: string;\n\t\tlevel: number;\n\t}>;\n}) {\n\tlet legends: ScorecardLegend[] = [];\n\n\tif (periodId && orgUnit && orgUnitLevels) {\n\t\tif (!Array.isArray(dataSource.legends)) {\n\t\t\tlegends = getLegendByOrgUnitLevel({\n\t\t\t\torgUnit,\n\t\t\t\torgUnitLevels,\n\t\t\t\tlegends: dataSource.legends as OrgUnitLevelLegend,\n\t\t\t});\n\t\t} else {\n\t\t\tconst specificTargets = dataSource.specificTargets;\n\t\t\tif (!isEmpty(specificTargets)) {\n\t\t\t\tconst specificTarget = head(specificTargets)!;\n\t\t\t\tswitch (specificTarget.type) {\n\t\t\t\t\tcase \"period\":\n\t\t\t\t\t\tconst targetLegends = getSpecificTargetLegends(\n\t\t\t\t\t\t\tspecificTarget,\n\t\t\t\t\t\t\tperiodId,\n\t\t\t\t\t\t);\n\t\t\t\t\t\tlegends = targetLegends ?? dataSource.legends;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"orgUnit\":\n\t\t\t\t\t\tconst targetOrgUnitLegends = getSpecificTargetLegends(\n\t\t\t\t\t\t\tspecificTarget,\n\t\t\t\t\t\t\torgUnit.uid,\n\t\t\t\t\t\t);\n\t\t\t\t\t\tlegends = targetOrgUnitLegends ?? dataSource.legends;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tlegends = dataSource.legends;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tlegends = dataSource.legends;\n\t\t\t}\n\t\t}\n\t} else {\n\t\tif (Array.isArray(dataSource.legends)) {\n\t\t\tlegends = dataSource.legends;\n\t\t}\n\t}\n\n\treturn findLegend({\n\t\tlegends,\n\t\tvalue: value,\n\t\tmax: dataSource.weight,\n\t\tlegendDefinitions: config.legendDefinitions,\n\t});\n}\n\nexport function getTextColorFromBackgroundColor(background: string): string {\n\t// Remove the hash at the start if it's there\n\tbackground = background.replace(/^#/, \"\");\n\n\t// Convert hex to RGB\n\tlet r = parseInt(background.substring(0, 2), 16);\n\tlet g = parseInt(background.substring(2, 4), 16);\n\tlet b = parseInt(background.substring(4, 6), 16);\n\n\t// Calculate the YIQ value\n\tlet yiq = (r * 299 + g * 587 + b * 114) / 1000;\n\n\t// Return black for light backgrounds and white for dark backgrounds\n\treturn yiq >= 128 ? \"#000000\" : \"#FFFFFF\";\n}\n"]}
@@ -0,0 +1,40 @@
1
+ 'use strict';
2
+
3
+ function getOrgUnitsForAnalytics(orgUnitSelection) {
4
+ const {
5
+ userOrgUnit,
6
+ orgUnits,
7
+ userSubUnit,
8
+ userSubX2Unit,
9
+ levels,
10
+ groups
11
+ } = orgUnitSelection ?? {};
12
+ const results = [];
13
+ if (userOrgUnit) {
14
+ results.push("USER_ORGUNIT");
15
+ }
16
+ if (userSubUnit) {
17
+ results.push("USER_ORGUNIT_CHILDREN");
18
+ }
19
+ if (userSubX2Unit) {
20
+ results.push("USER_ORGUNIT_GRANDCHILDREN");
21
+ }
22
+ if (orgUnits) {
23
+ results.push(...orgUnits.map((orgUnit) => orgUnit.id));
24
+ }
25
+ if (groups) {
26
+ results.push(...groups.map((group) => `OU_GROUP-${group}`));
27
+ }
28
+ if (levels) {
29
+ results.push(...levels.map((level) => `LEVEL-${level}`));
30
+ }
31
+ return results;
32
+ }
33
+ function getOrgUnitLevel(orgUnit) {
34
+ return orgUnit.hierarchy.split("/").filter(Boolean).length;
35
+ }
36
+
37
+ exports.getOrgUnitLevel = getOrgUnitLevel;
38
+ exports.getOrgUnitsForAnalytics = getOrgUnitsForAnalytics;
39
+ //# sourceMappingURL=out.js.map
40
+ //# sourceMappingURL=orgUnits.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/Scorecard/utils/orgUnits.ts"],"names":[],"mappings":"AAGO,SAAS,wBACf,kBACW;AACX,QAAM;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,IAAI,oBAAoB,CAAC;AACzB,QAAM,UAAU,CAAC;AAEjB,MAAI,aAAa;AAChB,YAAQ,KAAK,cAAc;AAAA,EAC5B;AACA,MAAI,aAAa;AAChB,YAAQ,KAAK,uBAAuB;AAAA,EACrC;AACA,MAAI,eAAe;AAClB,YAAQ,KAAK,4BAA4B;AAAA,EAC1C;AAEA,MAAI,UAAU;AACb,YAAQ,KAAK,GAAG,SAAS,IAAI,CAAC,YAAY,QAAQ,EAAE,CAAC;AAAA,EACtD;AACA,MAAI,QAAQ;AACX,YAAQ,KAAK,GAAG,OAAO,IAAI,CAAC,UAAU,YAAY,KAAK,EAAE,CAAC;AAAA,EAC3D;AACA,MAAI,QAAQ;AACX,YAAQ,KAAK,GAAG,OAAO,IAAI,CAAC,UAAU,SAAS,KAAK,EAAE,CAAC;AAAA,EACxD;AACA,SAAO;AACR;AAEO,SAAS,gBAAgB,SAA2C;AAC1E,SAAO,QAAQ,UAAU,MAAM,GAAG,EAAE,OAAO,OAAO,EAAE;AACrD","sourcesContent":["import type { OrgUnitSelection } from \"../schemas/config\";\nimport type { ItemMeta } from \"../hooks/metadata\";\n\nexport function getOrgUnitsForAnalytics(\n\torgUnitSelection: OrgUnitSelection,\n): string[] {\n\tconst {\n\t\tuserOrgUnit,\n\t\torgUnits,\n\t\tuserSubUnit,\n\t\tuserSubX2Unit,\n\t\tlevels,\n\t\tgroups,\n\t} = orgUnitSelection ?? {};\n\tconst results = [];\n\n\tif (userOrgUnit) {\n\t\tresults.push(\"USER_ORGUNIT\");\n\t}\n\tif (userSubUnit) {\n\t\tresults.push(\"USER_ORGUNIT_CHILDREN\");\n\t}\n\tif (userSubX2Unit) {\n\t\tresults.push(\"USER_ORGUNIT_GRANDCHILDREN\");\n\t}\n\n\tif (orgUnits) {\n\t\tresults.push(...orgUnits.map((orgUnit) => orgUnit.id));\n\t}\n\tif (groups) {\n\t\tresults.push(...groups.map((group) => `OU_GROUP-${group}`));\n\t}\n\tif (levels) {\n\t\tresults.push(...levels.map((level) => `LEVEL-${level}`));\n\t}\n\treturn results;\n}\n\nexport function getOrgUnitLevel(orgUnit: ItemMeta & { hierarchy: string }) {\n\treturn orgUnit.hierarchy.split(\"/\").filter(Boolean).length;\n}\n"]}
@@ -0,0 +1,20 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import { ScorecardConfigProvider } from './components/ConfigProvider';
3
+ import { ScorecardMetaProvider } from './components/MetaProvider';
4
+ import { ScorecardStateProvider } from './components/StateProvider';
5
+ import { TableStateProvider } from './components/TableStateProvider';
6
+ import { ScorecardTable } from './components/ScorecardTable';
7
+ import { ScorecardDataProvider } from './components/DataProvider';
8
+ import { ScorecardSetStateProvider } from './components/StateSetProvider';
9
+
10
+ function Scorecard({
11
+ config,
12
+ state,
13
+ setState
14
+ }) {
15
+ return /* @__PURE__ */ jsx(ScorecardConfigProvider, { config, children: /* @__PURE__ */ jsx(ScorecardStateProvider, { config: state, children: /* @__PURE__ */ jsx(ScorecardSetStateProvider, { setState, children: /* @__PURE__ */ jsx(ScorecardMetaProvider, { children: /* @__PURE__ */ jsx(ScorecardDataProvider, { children: /* @__PURE__ */ jsx(TableStateProvider, { children: /* @__PURE__ */ jsx(ScorecardTable, {}) }) }) }) }) }) });
16
+ }
17
+
18
+ export { Scorecard };
19
+ //# sourceMappingURL=out.js.map
20
+ //# sourceMappingURL=Scorecard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/Scorecard/Scorecard.tsx"],"names":[],"mappings":"AA+BQ;AA7BR,SAAS,+BAA+B;AACxC,SAAS,6BAA6B;AACtC,SAAS,8BAA8B;AACvC,SAAS,0BAA0B;AACnC,SAAS,sBAAsB;AAC/B,SAAS,6BAA6B;AACtC;AAAA,EAEC;AAAA,OACM;AAQA,SAAS,UAAU;AAAA,EACzB;AAAA,EACA;AAAA,EACA;AACD,GAAuC;AACtC,SACC,oBAAC,2BAAwB,QACxB,8BAAC,0BAAuB,QAAQ,OAC/B,8BAAC,6BAA0B,UAC1B,8BAAC,yBACA,8BAAC,yBACA,8BAAC,sBACA,8BAAC,kBAAe,GACjB,GACD,GACD,GACD,GACD,GACD;AAEF","sourcesContent":["import type { ScorecardConfig, ScorecardState } from \"./schemas/config\";\nimport React from \"react\";\nimport { ScorecardConfigProvider } from \"./components/ConfigProvider\";\nimport { ScorecardMetaProvider } from \"./components/MetaProvider\";\nimport { ScorecardStateProvider } from \"./components/StateProvider\";\nimport { TableStateProvider } from \"./components/TableStateProvider\";\nimport { ScorecardTable } from \"./components/ScorecardTable\";\nimport { ScorecardDataProvider } from \"./components/DataProvider\";\nimport {\n\ttype ScorecardSetState,\n\tScorecardSetStateProvider,\n} from \"./components/StateSetProvider\";\n\nexport interface ScorecardProps {\n\tconfig: ScorecardConfig;\n\tstate: ScorecardState;\n\tsetState: ScorecardSetState;\n}\n\nexport function Scorecard({\n\tconfig,\n\tstate,\n\tsetState,\n}: ScorecardProps): React.ReactElement {\n\treturn (\n\t\t<ScorecardConfigProvider config={config}>\n\t\t\t<ScorecardStateProvider config={state}>\n\t\t\t\t<ScorecardSetStateProvider setState={setState}>\n\t\t\t\t\t<ScorecardMetaProvider>\n\t\t\t\t\t\t<ScorecardDataProvider>\n\t\t\t\t\t\t\t<TableStateProvider>\n\t\t\t\t\t\t\t\t<ScorecardTable />\n\t\t\t\t\t\t\t</TableStateProvider>\n\t\t\t\t\t\t</ScorecardDataProvider>\n\t\t\t\t\t</ScorecardMetaProvider>\n\t\t\t\t</ScorecardSetStateProvider>\n\t\t\t</ScorecardStateProvider>\n\t\t</ScorecardConfigProvider>\n\t);\n}\n"]}