@dhis2/analytics 28.0.4 → 28.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (257) hide show
  1. package/build/cjs/__demo__/OpenFileDialog.stories.js +19 -1
  2. package/build/cjs/__demo__/{PivotTable.stories.js → PivotTable.aggregate.stories.js} +38 -38
  3. package/build/cjs/__demo__/PivotTable.event.stories.js +440 -0
  4. package/build/cjs/__demo__/data/event/boolean.data.hidena.json +115 -0
  5. package/build/cjs/__demo__/data/event/boolean.data.json +125 -0
  6. package/build/cjs/__demo__/data/event/boolean.data.org.json +106 -0
  7. package/build/cjs/__demo__/data/event/boolean.visualization.json +160 -0
  8. package/build/cjs/__demo__/data/event/date.data.hidena.json +205 -0
  9. package/build/cjs/__demo__/data/event/date.data.json +215 -0
  10. package/build/cjs/__demo__/data/event/date.data.org.json +123 -0
  11. package/build/cjs/__demo__/data/event/date.visualization.json +160 -0
  12. package/build/cjs/__demo__/data/event/datetime.data.hidena.json +215 -0
  13. package/build/cjs/__demo__/data/event/datetime.data.json +225 -0
  14. package/build/cjs/__demo__/data/event/datetime.data.org.json +124 -0
  15. package/build/cjs/__demo__/data/event/datetime.visualization.json +148 -0
  16. package/build/cjs/__demo__/data/event/email.data.hidena.json +192 -0
  17. package/build/cjs/__demo__/data/event/email.data.json +202 -0
  18. package/build/cjs/__demo__/data/event/email.data.org.json +123 -0
  19. package/build/cjs/__demo__/data/event/email.visualization.json +148 -0
  20. package/build/cjs/__demo__/data/event/integer.data.hidena.json +165 -0
  21. package/build/cjs/__demo__/data/event/integer.data.json +175 -0
  22. package/build/cjs/__demo__/data/event/integer.data.org.json +120 -0
  23. package/build/cjs/__demo__/data/event/integer.visualization.json +163 -0
  24. package/build/cjs/__demo__/data/event/legendset.data.hidena.json +154 -0
  25. package/build/cjs/__demo__/data/event/legendset.data.json +164 -0
  26. package/build/cjs/__demo__/data/event/legendset.visualization.json +166 -0
  27. package/build/cjs/__demo__/data/event/optionset.data.hidena.json +125 -0
  28. package/build/cjs/__demo__/data/event/optionset.data.json +134 -0
  29. package/build/cjs/__demo__/data/event/optionset.data.org.json +125 -0
  30. package/build/cjs/__demo__/data/event/optionset.visualization.json +158 -0
  31. package/build/cjs/__demo__/data/event/time.data.hidena.json +165 -0
  32. package/build/cjs/__demo__/data/event/time.data.json +175 -0
  33. package/build/cjs/__demo__/data/event/time.data.org.json +128 -0
  34. package/build/cjs/__demo__/data/event/time.visualization.json +148 -0
  35. package/build/cjs/__demo__/data/event/yesonly.data.hidena.json +127 -0
  36. package/build/cjs/__demo__/data/event/yesonly.data.json +136 -0
  37. package/build/cjs/__demo__/data/event/yesonly.data.org.json +124 -0
  38. package/build/cjs/__demo__/data/event/yesonly.visualization.json +161 -0
  39. package/build/cjs/components/DataDimension/ItemSelector/ItemSelector.js +19 -22
  40. package/build/cjs/components/DimensionsPanel/List/DimensionList.js +3 -1
  41. package/build/cjs/components/DimensionsPanel/List/__tests__/DimensionItem.spec.js +48 -41
  42. package/build/cjs/components/DimensionsPanel/List/__tests__/__snapshots__/DimensionItem.spec.js.snap +110 -114
  43. package/build/cjs/components/DimensionsPanel/__tests__/DimensionsPanel.spec.js +36 -33
  44. package/build/cjs/components/FileMenu/__tests__/DeleteDialog.spec.js +24 -27
  45. package/build/cjs/components/FileMenu/__tests__/FileMenu.spec.js +51 -31
  46. package/build/cjs/components/FileMenu/__tests__/GetLinkDialog.spec.js +28 -31
  47. package/build/cjs/components/FileMenu/__tests__/RenameDialog.spec.js +17 -11
  48. package/build/cjs/components/FileMenu/__tests__/SaveAsDialog.spec.js +44 -37
  49. package/build/cjs/components/Filter/__tests__/Filter.spec.js +29 -34
  50. package/build/cjs/components/OpenFileDialog/CreatedByFilter.js +9 -1
  51. package/build/cjs/components/OpenFileDialog/OpenFileDialog.js +14 -34
  52. package/build/cjs/components/OpenFileDialog/VisTypeFilter.js +39 -1
  53. package/build/cjs/components/OpenFileDialog/__tests__/OpenFileDialog.spec.js +51 -0
  54. package/build/cjs/components/OrgUnitDimension/__tests__/OrgUnitDimension.spec.js +78 -44
  55. package/build/cjs/components/PeriodDimension/FixedPeriodFilter.js +1 -0
  56. package/build/cjs/components/PeriodDimension/RelativePeriodFilter.js +3 -2
  57. package/build/cjs/components/PeriodDimension/__tests__/FixedPeriodSingleSelect.spec.js +14 -21
  58. package/build/cjs/components/PeriodDimension/__tests__/PeriodDimension.spec.js +27 -23
  59. package/build/cjs/components/PivotTable/PivotTableColumnHeaderCell.js +3 -0
  60. package/build/cjs/components/PivotTable/PivotTableRowHeaderCell.js +2 -1
  61. package/build/cjs/components/RichText/Editor/__tests__/Editor.spec.js +6 -7
  62. package/build/cjs/components/RichText/Parser/__tests__/MdParser.spec.js +1 -1
  63. package/build/cjs/components/RichText/Parser/__tests__/Parser.spec.js +22 -23
  64. package/build/cjs/components/Toolbar/HoverMenuBar/__tests__/HoverMenuBar.spec.js +52 -42
  65. package/build/cjs/components/Toolbar/HoverMenuBar/__tests__/HoverMenuDropdown.spec.js +8 -8
  66. package/build/cjs/components/Toolbar/HoverMenuBar/__tests__/HoverMenuList.spec.js +23 -18
  67. package/build/cjs/components/Toolbar/HoverMenuBar/__tests__/HoverMenuListItem.spec.js +23 -17
  68. package/build/cjs/components/Toolbar/HoverMenuBar/__tests__/__snapshots__/HoverMenuList.spec.js.snap +63 -0
  69. package/build/cjs/components/Toolbar/InterpretationsAndDetailsToggler.js +3 -1
  70. package/build/cjs/components/Toolbar/__tests__/InterpretationsAndDetailsToggler.spec.js +19 -18
  71. package/build/cjs/components/Toolbar/__tests__/Toolbar.spec.js +8 -8
  72. package/build/cjs/components/Toolbar/__tests__/ToolbarSidebar.spec.js +14 -11
  73. package/build/cjs/components/Toolbar/__tests__/UpdateButton.spec.js +16 -14
  74. package/build/cjs/components/TranslationDialog/TranslationModal/TranslationModal.js +2 -1
  75. package/build/cjs/components/TranslationDialog/TranslationModal/__tests__/TranslationModal.spec.js +25 -16
  76. package/build/cjs/index.js +8 -0
  77. package/build/cjs/locales/en/translations.json +1 -0
  78. package/build/cjs/modules/pivotTable/AdaptiveClippingController.js +2 -1
  79. package/build/cjs/modules/pivotTable/getHeaderForDisplay.js +4 -1
  80. package/build/cjs/modules/pivotTable/measureText.js +7 -6
  81. package/build/cjs/modules/response/event/__tests__/default.spec.js +77 -0
  82. package/build/cjs/modules/response/event/__tests__/optionSet.spec.js +35 -0
  83. package/build/cjs/modules/response/event/__tests__/response.spec.js +125 -0
  84. package/build/cjs/modules/response/event/default.js +65 -0
  85. package/build/cjs/modules/response/event/optionSet.js +36 -0
  86. package/build/cjs/modules/response/event/response.js +95 -0
  87. package/build/es/__demo__/OpenFileDialog.stories.js +17 -0
  88. package/build/es/__demo__/{PivotTable.stories.js → PivotTable.aggregate.stories.js} +38 -38
  89. package/build/es/__demo__/PivotTable.event.stories.js +414 -0
  90. package/build/es/__demo__/data/event/boolean.data.hidena.json +115 -0
  91. package/build/es/__demo__/data/event/boolean.data.json +125 -0
  92. package/build/es/__demo__/data/event/boolean.data.org.json +106 -0
  93. package/build/es/__demo__/data/event/boolean.visualization.json +160 -0
  94. package/build/es/__demo__/data/event/date.data.hidena.json +205 -0
  95. package/build/es/__demo__/data/event/date.data.json +215 -0
  96. package/build/es/__demo__/data/event/date.data.org.json +123 -0
  97. package/build/es/__demo__/data/event/date.visualization.json +160 -0
  98. package/build/es/__demo__/data/event/datetime.data.hidena.json +215 -0
  99. package/build/es/__demo__/data/event/datetime.data.json +225 -0
  100. package/build/es/__demo__/data/event/datetime.data.org.json +124 -0
  101. package/build/es/__demo__/data/event/datetime.visualization.json +148 -0
  102. package/build/es/__demo__/data/event/email.data.hidena.json +192 -0
  103. package/build/es/__demo__/data/event/email.data.json +202 -0
  104. package/build/es/__demo__/data/event/email.data.org.json +123 -0
  105. package/build/es/__demo__/data/event/email.visualization.json +148 -0
  106. package/build/es/__demo__/data/event/integer.data.hidena.json +165 -0
  107. package/build/es/__demo__/data/event/integer.data.json +175 -0
  108. package/build/es/__demo__/data/event/integer.data.org.json +120 -0
  109. package/build/es/__demo__/data/event/integer.visualization.json +163 -0
  110. package/build/es/__demo__/data/event/legendset.data.hidena.json +154 -0
  111. package/build/es/__demo__/data/event/legendset.data.json +164 -0
  112. package/build/es/__demo__/data/event/legendset.visualization.json +166 -0
  113. package/build/es/__demo__/data/event/optionset.data.hidena.json +125 -0
  114. package/build/es/__demo__/data/event/optionset.data.json +134 -0
  115. package/build/es/__demo__/data/event/optionset.data.org.json +125 -0
  116. package/build/es/__demo__/data/event/optionset.visualization.json +158 -0
  117. package/build/es/__demo__/data/event/time.data.hidena.json +165 -0
  118. package/build/es/__demo__/data/event/time.data.json +175 -0
  119. package/build/es/__demo__/data/event/time.data.org.json +128 -0
  120. package/build/es/__demo__/data/event/time.visualization.json +148 -0
  121. package/build/es/__demo__/data/event/yesonly.data.hidena.json +127 -0
  122. package/build/es/__demo__/data/event/yesonly.data.json +136 -0
  123. package/build/es/__demo__/data/event/yesonly.data.org.json +124 -0
  124. package/build/es/__demo__/data/event/yesonly.visualization.json +161 -0
  125. package/build/es/components/DataDimension/ItemSelector/ItemSelector.js +19 -22
  126. package/build/es/components/DimensionsPanel/List/DimensionList.js +3 -1
  127. package/build/es/components/DimensionsPanel/List/__tests__/DimensionItem.spec.js +47 -40
  128. package/build/es/components/DimensionsPanel/List/__tests__/__snapshots__/DimensionItem.spec.js.snap +110 -114
  129. package/build/es/components/DimensionsPanel/__tests__/DimensionsPanel.spec.js +35 -32
  130. package/build/es/components/FileMenu/__tests__/DeleteDialog.spec.js +23 -26
  131. package/build/es/components/FileMenu/__tests__/FileMenu.spec.js +52 -32
  132. package/build/es/components/FileMenu/__tests__/GetLinkDialog.spec.js +27 -30
  133. package/build/es/components/FileMenu/__tests__/RenameDialog.spec.js +18 -12
  134. package/build/es/components/FileMenu/__tests__/SaveAsDialog.spec.js +43 -36
  135. package/build/es/components/Filter/__tests__/Filter.spec.js +28 -33
  136. package/build/es/components/OpenFileDialog/CreatedByFilter.js +7 -0
  137. package/build/es/components/OpenFileDialog/OpenFileDialog.js +14 -35
  138. package/build/es/components/OpenFileDialog/VisTypeFilter.js +38 -1
  139. package/build/es/components/OpenFileDialog/__tests__/OpenFileDialog.spec.js +49 -0
  140. package/build/es/components/OrgUnitDimension/__tests__/OrgUnitDimension.spec.js +77 -43
  141. package/build/es/components/PeriodDimension/FixedPeriodFilter.js +1 -0
  142. package/build/es/components/PeriodDimension/RelativePeriodFilter.js +3 -2
  143. package/build/es/components/PeriodDimension/__tests__/FixedPeriodSingleSelect.spec.js +13 -20
  144. package/build/es/components/PeriodDimension/__tests__/PeriodDimension.spec.js +26 -22
  145. package/build/es/components/PivotTable/PivotTableColumnHeaderCell.js +3 -0
  146. package/build/es/components/PivotTable/PivotTableRowHeaderCell.js +2 -1
  147. package/build/es/components/RichText/Editor/__tests__/Editor.spec.js +7 -8
  148. package/build/es/components/RichText/Parser/__tests__/MdParser.spec.js +1 -1
  149. package/build/es/components/RichText/Parser/__tests__/Parser.spec.js +21 -22
  150. package/build/es/components/Toolbar/HoverMenuBar/__tests__/HoverMenuBar.spec.js +53 -43
  151. package/build/es/components/Toolbar/HoverMenuBar/__tests__/HoverMenuDropdown.spec.js +7 -7
  152. package/build/es/components/Toolbar/HoverMenuBar/__tests__/HoverMenuList.spec.js +23 -18
  153. package/build/es/components/Toolbar/HoverMenuBar/__tests__/HoverMenuListItem.spec.js +21 -15
  154. package/build/es/components/Toolbar/HoverMenuBar/__tests__/__snapshots__/HoverMenuList.spec.js.snap +63 -0
  155. package/build/es/components/Toolbar/InterpretationsAndDetailsToggler.js +3 -1
  156. package/build/es/components/Toolbar/__tests__/InterpretationsAndDetailsToggler.spec.js +18 -17
  157. package/build/es/components/Toolbar/__tests__/Toolbar.spec.js +7 -7
  158. package/build/es/components/Toolbar/__tests__/ToolbarSidebar.spec.js +13 -10
  159. package/build/es/components/Toolbar/__tests__/UpdateButton.spec.js +15 -13
  160. package/build/es/components/TranslationDialog/TranslationModal/TranslationModal.js +2 -1
  161. package/build/es/components/TranslationDialog/TranslationModal/__tests__/TranslationModal.spec.js +24 -15
  162. package/build/es/index.js +4 -0
  163. package/build/es/locales/en/translations.json +1 -0
  164. package/build/es/modules/pivotTable/AdaptiveClippingController.js +2 -1
  165. package/build/es/modules/pivotTable/getHeaderForDisplay.js +4 -1
  166. package/build/es/modules/pivotTable/measureText.js +7 -6
  167. package/build/es/modules/response/event/__tests__/default.spec.js +75 -0
  168. package/build/es/modules/response/event/__tests__/optionSet.spec.js +32 -0
  169. package/build/es/modules/response/event/__tests__/response.spec.js +122 -0
  170. package/build/es/modules/response/event/default.js +52 -0
  171. package/build/es/modules/response/event/optionSet.js +27 -0
  172. package/build/es/modules/response/event/response.js +86 -0
  173. package/package.json +2 -4
  174. package/build/cjs/components/OrgUnitDimension/__tests__/__snapshots__/OrgUnitDimension.spec.js.snap +0 -89
  175. package/build/cjs/components/PeriodDimension/__tests__/PeriodSelector.spec.js +0 -29
  176. package/build/cjs/components/PeriodDimension/__tests__/__snapshots__/FixedPeriodSingleSelect.spec.js.snap +0 -92
  177. package/build/cjs/components/PeriodDimension/__tests__/__snapshots__/PeriodDimension.spec.js.snap +0 -16
  178. package/build/cjs/components/PeriodDimension/__tests__/__snapshots__/PeriodSelector.spec.js.snap +0 -89
  179. package/build/es/components/OrgUnitDimension/__tests__/__snapshots__/OrgUnitDimension.spec.js.snap +0 -89
  180. package/build/es/components/PeriodDimension/__tests__/PeriodSelector.spec.js +0 -26
  181. package/build/es/components/PeriodDimension/__tests__/__snapshots__/FixedPeriodSingleSelect.spec.js.snap +0 -92
  182. package/build/es/components/PeriodDimension/__tests__/__snapshots__/PeriodDimension.spec.js.snap +0 -16
  183. package/build/es/components/PeriodDimension/__tests__/__snapshots__/PeriodSelector.spec.js.snap +0 -89
  184. /package/build/cjs/__demo__/data/{avgTotalAggregationType.data.json → aggregate/avgTotalAggregationType.data.json} +0 -0
  185. /package/build/cjs/__demo__/data/{avgTotalAggregationType.metadata.json → aggregate/avgTotalAggregationType.metadata.json} +0 -0
  186. /package/build/cjs/__demo__/data/{avgTotalAggregationType.visualization.json → aggregate/avgTotalAggregationType.visualization.json} +0 -0
  187. /package/build/cjs/__demo__/data/{deep.data.json → aggregate/deep.data.json} +0 -0
  188. /package/build/cjs/__demo__/data/{deep.visualization.json → aggregate/deep.visualization.json} +0 -0
  189. /package/build/cjs/__demo__/data/{deepWithFilters.data.json → aggregate/deepWithFilters.data.json} +0 -0
  190. /package/build/cjs/__demo__/data/{deepWithFilters.visualization.json → aggregate/deepWithFilters.visualization.json} +0 -0
  191. /package/build/cjs/__demo__/data/{degs.data.json → aggregate/degs.data.json} +0 -0
  192. /package/build/cjs/__demo__/data/{degs.metadata.json → aggregate/degs.metadata.json} +0 -0
  193. /package/build/cjs/__demo__/data/{degs.visualization.json → aggregate/degs.visualization.json} +0 -0
  194. /package/build/cjs/__demo__/data/{diseaseWeeks.data.json → aggregate/diseaseWeeks.data.json} +0 -0
  195. /package/build/cjs/__demo__/data/{diseaseWeeks.metadata.json → aggregate/diseaseWeeks.metadata.json} +0 -0
  196. /package/build/cjs/__demo__/data/{diseaseWeeks.visualization.json → aggregate/diseaseWeeks.visualization.json} +0 -0
  197. /package/build/cjs/__demo__/data/{emptyColumns.data.json → aggregate/emptyColumns.data.json} +0 -0
  198. /package/build/cjs/__demo__/data/{emptyColumns.metadata.json → aggregate/emptyColumns.metadata.json} +0 -0
  199. /package/build/cjs/__demo__/data/{emptyColumns.visualization.json → aggregate/emptyColumns.visualization.json} +0 -0
  200. /package/build/cjs/__demo__/data/{emptyRows.data.json → aggregate/emptyRows.data.json} +0 -0
  201. /package/build/cjs/__demo__/data/{emptyRows.visualization.json → aggregate/emptyRows.visualization.json} +0 -0
  202. /package/build/cjs/__demo__/data/{hierarchy.data.json → aggregate/hierarchy.data.json} +0 -0
  203. /package/build/cjs/__demo__/data/{hierarchy.metadata.json → aggregate/hierarchy.metadata.json} +0 -0
  204. /package/build/cjs/__demo__/data/{hierarchy.visualization.json → aggregate/hierarchy.visualization.json} +0 -0
  205. /package/build/cjs/__demo__/data/{lastFiveYears.data.json → aggregate/lastFiveYears.data.json} +0 -0
  206. /package/build/cjs/__demo__/data/{lastFiveYears.metadata.json → aggregate/lastFiveYears.metadata.json} +0 -0
  207. /package/build/cjs/__demo__/data/{lastFiveYears.visualization.json → aggregate/lastFiveYears.visualization.json} +0 -0
  208. /package/build/cjs/__demo__/data/{narrative.data.json → aggregate/narrative.data.json} +0 -0
  209. /package/build/cjs/__demo__/data/{narrative.metadata.json → aggregate/narrative.metadata.json} +0 -0
  210. /package/build/cjs/__demo__/data/{narrative.visualization.json → aggregate/narrative.visualization.json} +0 -0
  211. /package/build/cjs/__demo__/data/{simple.data.json → aggregate/simple.data.json} +0 -0
  212. /package/build/cjs/__demo__/data/{simple.metadata.json → aggregate/simple.metadata.json} +0 -0
  213. /package/build/cjs/__demo__/data/{simple.visualization.json → aggregate/simple.visualization.json} +0 -0
  214. /package/build/cjs/__demo__/data/{target-with-legend.data.json → aggregate/target-with-legend.data.json} +0 -0
  215. /package/build/cjs/__demo__/data/{target-with-legend.metadata.json → aggregate/target-with-legend.metadata.json} +0 -0
  216. /package/build/cjs/__demo__/data/{target-with-legend.visualization.json → aggregate/target-with-legend.visualization.json} +0 -0
  217. /package/build/cjs/__demo__/data/{under-above-100.legendSet.json → aggregate/under-above-100.legendSet.json} +0 -0
  218. /package/build/cjs/__demo__/data/{weeklyColumns.data.json → aggregate/weeklyColumns.data.json} +0 -0
  219. /package/build/cjs/__demo__/data/{weeklyColumns.metadata.json → aggregate/weeklyColumns.metadata.json} +0 -0
  220. /package/build/cjs/__demo__/data/{weeklyColumns.visualization.json → aggregate/weeklyColumns.visualization.json} +0 -0
  221. /package/build/es/__demo__/data/{avgTotalAggregationType.data.json → aggregate/avgTotalAggregationType.data.json} +0 -0
  222. /package/build/es/__demo__/data/{avgTotalAggregationType.metadata.json → aggregate/avgTotalAggregationType.metadata.json} +0 -0
  223. /package/build/es/__demo__/data/{avgTotalAggregationType.visualization.json → aggregate/avgTotalAggregationType.visualization.json} +0 -0
  224. /package/build/es/__demo__/data/{deep.data.json → aggregate/deep.data.json} +0 -0
  225. /package/build/es/__demo__/data/{deep.visualization.json → aggregate/deep.visualization.json} +0 -0
  226. /package/build/es/__demo__/data/{deepWithFilters.data.json → aggregate/deepWithFilters.data.json} +0 -0
  227. /package/build/es/__demo__/data/{deepWithFilters.visualization.json → aggregate/deepWithFilters.visualization.json} +0 -0
  228. /package/build/es/__demo__/data/{degs.data.json → aggregate/degs.data.json} +0 -0
  229. /package/build/es/__demo__/data/{degs.metadata.json → aggregate/degs.metadata.json} +0 -0
  230. /package/build/es/__demo__/data/{degs.visualization.json → aggregate/degs.visualization.json} +0 -0
  231. /package/build/es/__demo__/data/{diseaseWeeks.data.json → aggregate/diseaseWeeks.data.json} +0 -0
  232. /package/build/es/__demo__/data/{diseaseWeeks.metadata.json → aggregate/diseaseWeeks.metadata.json} +0 -0
  233. /package/build/es/__demo__/data/{diseaseWeeks.visualization.json → aggregate/diseaseWeeks.visualization.json} +0 -0
  234. /package/build/es/__demo__/data/{emptyColumns.data.json → aggregate/emptyColumns.data.json} +0 -0
  235. /package/build/es/__demo__/data/{emptyColumns.metadata.json → aggregate/emptyColumns.metadata.json} +0 -0
  236. /package/build/es/__demo__/data/{emptyColumns.visualization.json → aggregate/emptyColumns.visualization.json} +0 -0
  237. /package/build/es/__demo__/data/{emptyRows.data.json → aggregate/emptyRows.data.json} +0 -0
  238. /package/build/es/__demo__/data/{emptyRows.visualization.json → aggregate/emptyRows.visualization.json} +0 -0
  239. /package/build/es/__demo__/data/{hierarchy.data.json → aggregate/hierarchy.data.json} +0 -0
  240. /package/build/es/__demo__/data/{hierarchy.metadata.json → aggregate/hierarchy.metadata.json} +0 -0
  241. /package/build/es/__demo__/data/{hierarchy.visualization.json → aggregate/hierarchy.visualization.json} +0 -0
  242. /package/build/es/__demo__/data/{lastFiveYears.data.json → aggregate/lastFiveYears.data.json} +0 -0
  243. /package/build/es/__demo__/data/{lastFiveYears.metadata.json → aggregate/lastFiveYears.metadata.json} +0 -0
  244. /package/build/es/__demo__/data/{lastFiveYears.visualization.json → aggregate/lastFiveYears.visualization.json} +0 -0
  245. /package/build/es/__demo__/data/{narrative.data.json → aggregate/narrative.data.json} +0 -0
  246. /package/build/es/__demo__/data/{narrative.metadata.json → aggregate/narrative.metadata.json} +0 -0
  247. /package/build/es/__demo__/data/{narrative.visualization.json → aggregate/narrative.visualization.json} +0 -0
  248. /package/build/es/__demo__/data/{simple.data.json → aggregate/simple.data.json} +0 -0
  249. /package/build/es/__demo__/data/{simple.metadata.json → aggregate/simple.metadata.json} +0 -0
  250. /package/build/es/__demo__/data/{simple.visualization.json → aggregate/simple.visualization.json} +0 -0
  251. /package/build/es/__demo__/data/{target-with-legend.data.json → aggregate/target-with-legend.data.json} +0 -0
  252. /package/build/es/__demo__/data/{target-with-legend.metadata.json → aggregate/target-with-legend.metadata.json} +0 -0
  253. /package/build/es/__demo__/data/{target-with-legend.visualization.json → aggregate/target-with-legend.visualization.json} +0 -0
  254. /package/build/es/__demo__/data/{under-above-100.legendSet.json → aggregate/under-above-100.legendSet.json} +0 -0
  255. /package/build/es/__demo__/data/{weeklyColumns.data.json → aggregate/weeklyColumns.data.json} +0 -0
  256. /package/build/es/__demo__/data/{weeklyColumns.metadata.json → aggregate/weeklyColumns.metadata.json} +0 -0
  257. /package/build/es/__demo__/data/{weeklyColumns.visualization.json → aggregate/weeklyColumns.visualization.json} +0 -0
@@ -1,105 +1,115 @@
1
1
  "use strict";
2
2
 
3
- require("@testing-library/jest-dom");
4
3
  var _react = require("@testing-library/react");
5
- var _enzyme = require("enzyme");
4
+ var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
6
5
  var _react2 = _interopRequireDefault(require("react"));
7
6
  var _index = require("../index.js");
8
7
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
9
8
  describe('<HoverMenuBar/>', () => {
10
- it('renders children', () => {
9
+ test('renders children', () => {
11
10
  const childNode = 'text node';
12
- const wrapper = (0, _enzyme.shallow)(/*#__PURE__*/_react2.default.createElement(_index.HoverMenuBar, null, childNode));
13
- expect(wrapper.containsMatchingElement(childNode)).toBe(true);
11
+ (0, _react.render)(/*#__PURE__*/_react2.default.createElement(_index.HoverMenuBar, null, childNode));
12
+ expect(_react.screen.getByText(childNode)).toBeInTheDocument();
14
13
  });
15
- it('accepts a `dataTest` prop', () => {
14
+ test('accepts a `dataTest` prop', () => {
16
15
  const dataTest = 'test';
17
- const wrapper = (0, _enzyme.shallow)(/*#__PURE__*/_react2.default.createElement(_index.HoverMenuBar, {
16
+ (0, _react.render)(/*#__PURE__*/_react2.default.createElement(_index.HoverMenuBar, {
18
17
  dataTest: dataTest
19
18
  }, "children"));
20
- expect(wrapper.find('div').prop('data-test')).toBe(dataTest);
19
+ expect(_react.screen.getByTestId(dataTest)).toBeInTheDocument();
21
20
  });
22
21
  describe('mouse interactions', () => {
23
- it('does not open on hover before a dropdown anchor is clicked', async () => {
22
+ test('does not open on hover before a dropdown anchor is clicked', async () => {
23
+ const user = _userEvent.default.setup();
24
24
  createFullMenuBarWrapper();
25
- _react.fireEvent.mouseOver(_react.screen.getByText('Menu A'));
25
+ await user.hover(_react.screen.getByText('Menu A'));
26
26
  await expectMenuItemsInDocument([['Menu item A.1', false], ['Menu item A.2', false], ['Menu item A.3', false]]);
27
27
  });
28
- it('does not open when a disabled dropdown anchor is clicked', async () => {
28
+ test('does not open when a disabled dropdown anchor is clicked', async () => {
29
+ const user = _userEvent.default.setup();
29
30
  createFullMenuBarWrapper();
30
- _react.fireEvent.click(_react.screen.getByText('Menu C'));
31
+ await user.click(_react.screen.getByText('Menu C'));
31
32
  await expectMenuItemsInDocument([['Menu item A.1', false], ['Menu item A.2', false], ['Menu item A.3', false]]);
32
33
  });
33
- it('opens menu list when clicked', async () => {
34
+ test('opens menu list when clicked', async () => {
35
+ const user = _userEvent.default.setup();
34
36
  createFullMenuBarWrapper();
35
- _react.fireEvent.click(_react.screen.getByText('Menu A'));
37
+ await user.click(_react.screen.getByText('Menu A'));
36
38
  await expectMenuItemsInDocument([['Menu item A.1', true], ['Menu item B.1', false], ['Menu item C.1', false]]);
37
39
  });
38
- it('responds to hover once open', async () => {
40
+ test('responds to hover once open', async () => {
41
+ const user = _userEvent.default.setup();
39
42
  createFullMenuBarWrapper();
40
- _react.fireEvent.click(_react.screen.getByText('Menu A'));
41
- _react.fireEvent.mouseOver(_react.screen.getByText('Menu B'));
43
+ await user.click(_react.screen.getByText('Menu A'));
44
+ await user.hover(_react.screen.getByText('Menu B'));
42
45
  await expectMenuItemsInDocument([['Menu item A.1', false], ['Menu item B.1', true], ['Menu item C.1', false]]);
43
46
  });
44
- it('does not open disabled dropdown on hover in hover mode', async () => {
47
+ test('does not open disabled dropdown on hover in hover mode', async () => {
48
+ const user = _userEvent.default.setup();
45
49
  createFullMenuBarWrapper();
46
- _react.fireEvent.click(_react.screen.getByText('Menu B'));
47
- _react.fireEvent.mouseOver(_react.screen.getByText('Menu C'));
50
+ await user.click(_react.screen.getByText('Menu B'));
51
+ await user.hover(_react.screen.getByText('Menu C'));
48
52
  await expectMenuItemsInDocument([['Menu item B.1', true], ['Menu item C.1', false]]);
49
53
  });
50
- it('opens submenus when in hover mode', async () => {
54
+ test('opens submenus when in hover mode', async () => {
55
+ const user = _userEvent.default.setup();
51
56
  createFullMenuBarWrapper();
52
- _react.fireEvent.click(_react.screen.getByText('Menu B'));
53
- _react.fireEvent.mouseOver(_react.screen.getByText('Menu item B.1'));
57
+ await user.click(_react.screen.getByText('Menu B'));
58
+ await user.hover(_react.screen.getByText('Menu item B.1'));
54
59
  await expectMenuItemsInDocument([['Menu item B.1.1', true], ['Menu item B.1.2', true], ['Menu item B.1.3', true], ['Menu item B.2.1', false], ['Menu item B.2.2', false], ['Menu item B.2.3', false]]);
55
- _react.fireEvent.mouseOver(_react.screen.getByText('Menu item B.2'));
60
+ await user.hover(_react.screen.getByText('Menu item B.2'));
56
61
  await expectMenuItemsInDocument([['Menu item B.1.1', false], ['Menu item B.1.2', false], ['Menu item B.1.3', false], ['Menu item B.2.1', true], ['Menu item B.2.2', true], ['Menu item B.2.3', true]]);
57
62
  });
58
- it('does not open disabled submenus when in hover mode', async () => {
63
+ test('does not open disabled submenus when in hover mode', async () => {
64
+ const user = _userEvent.default.setup();
59
65
  createFullMenuBarWrapper();
60
- _react.fireEvent.click(_react.screen.getByText('Menu B'));
61
- _react.fireEvent.mouseOver(_react.screen.getByText('Menu item B.2'));
66
+ await user.click(_react.screen.getByText('Menu B'));
67
+ await user.hover(_react.screen.getByText('Menu item B.2'));
62
68
  await expectMenuItemsInDocument([['Menu item B.2.1', true], ['Menu item B.2.2', true], ['Menu item B.2.3', true], ['Menu item B.3.1', false], ['Menu item B.3.2', false], ['Menu item B.3.3', false]]);
63
- _react.fireEvent.mouseOver(_react.screen.getByText('Menu item B.3'));
69
+ await user.hover(_react.screen.getByText('Menu item B.3'));
64
70
  await expectMenuItemsInDocument([['Menu item B.2.1', true], ['Menu item B.2.2', true], ['Menu item B.2.3', true], ['Menu item B.3.1', false], ['Menu item B.3.2', false], ['Menu item B.3.3', false]]);
65
71
  });
66
- it('closes when clicking on then document', async () => {
72
+ test('closes when clicking on then document', async () => {
73
+ const user = _userEvent.default.setup();
67
74
  createFullMenuBarWrapper();
68
- _react.fireEvent.click(_react.screen.getByText('Menu A'));
75
+ await user.click(_react.screen.getByText('Menu A'));
69
76
  await expectMenuItemsInDocument([['Menu item A.1', true]]);
70
- _react.fireEvent.click(document);
77
+ await user.click(document.body);
71
78
  await expectMenuItemsInDocument([['Menu item A.1', false]]);
72
79
  });
73
- it('stays open when clicking a open submenu anchor', async () => {
80
+ test('stays open when clicking a open submenu anchor', async () => {
81
+ const user = _userEvent.default.setup();
74
82
  createFullMenuBarWrapper();
75
- _react.fireEvent.click(_react.screen.getByText('Menu B'));
83
+ await user.click(_react.screen.getByText('Menu B'));
76
84
  await expectMenuItemsInDocument([['Menu item B.1', true]]);
77
- _react.fireEvent.mouseOver(_react.screen.getByText('Menu item B.1'));
85
+ await user.hover(_react.screen.getByText('Menu item B.1'));
78
86
  await expectMenuItemsInDocument([['Menu item B.1', true], ['Menu item B.1.1', true], ['Menu item B.1.2', true], ['Menu item B.1.3', true]]);
79
- _react.fireEvent.click(_react.screen.getByText('Menu item B.1'));
87
+ await user.click(_react.screen.getByText('Menu item B.1'));
80
88
  await expectMenuItemsInDocument([['Menu item B.1', true], ['Menu item B.1.1', true], ['Menu item B.1.2', true], ['Menu item B.1.3', true]]);
81
89
  });
82
- it('calls the onClick of the menu item and closes when clicking a menu item', async () => {
90
+ test('calls the onClick of the menu item and closes when clicking a menu item', async () => {
91
+ const user = _userEvent.default.setup();
83
92
  const menuItemOnClickSpy = jest.fn();
84
93
  createFullMenuBarWrapper({
85
94
  menuItemOnClickSpy
86
95
  });
87
- _react.fireEvent.click(_react.screen.getByText('Menu A'));
96
+ await user.click(_react.screen.getByText('Menu A'));
88
97
  await expectMenuItemsInDocument([['Menu item A.1', true]]);
89
- _react.fireEvent.click(_react.screen.getByText('Menu item A.1'));
98
+ await user.click(_react.screen.getByText('Menu item A.1'));
90
99
  expect(menuItemOnClickSpy).toHaveBeenCalledTimes(1);
91
100
  await expectMenuItemsInDocument([['Menu item A.1', false]]);
92
101
  });
93
- it('calls the onClick of the menu item and closes when clicking a submenu item', async () => {
102
+ test('calls the onClick of the menu item and closes when clicking a submenu item', async () => {
103
+ const user = _userEvent.default.setup();
94
104
  const subMenuItemOnClickSpy = jest.fn();
95
105
  createFullMenuBarWrapper({
96
106
  subMenuItemOnClickSpy
97
107
  });
98
- _react.fireEvent.click(_react.screen.getByText('Menu B'));
108
+ await user.click(_react.screen.getByText('Menu B'));
99
109
  await expectMenuItemsInDocument([['Menu item B.1', true]]);
100
- _react.fireEvent.mouseOver(_react.screen.getByText('Menu item B.1'));
110
+ await user.hover(_react.screen.getByText('Menu item B.1'));
101
111
  await expectMenuItemsInDocument([['Menu item B.1.1', true]]);
102
- _react.fireEvent.click(_react.screen.getByText('Menu item B.1.1'));
112
+ await user.click(_react.screen.getByText('Menu item B.1.1'));
103
113
  expect(subMenuItemOnClickSpy).toHaveBeenCalledTimes(1);
104
114
  await expectMenuItemsInDocument([['Menu item B.1', false], ['Menu item B.1.1', false], ['Menu item B.1.1', false]]);
105
115
  });
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
- var _enzyme = require("enzyme");
4
- var _react = _interopRequireDefault(require("react"));
3
+ var _react = require("@testing-library/react");
4
+ var _react2 = _interopRequireDefault(require("react"));
5
5
  var _index = require("../index.js");
6
6
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
7
7
  describe('<HoverMenuDropdown/>', () => {
@@ -9,20 +9,20 @@ describe('<HoverMenuDropdown/>', () => {
9
9
  * in the mouse interaction tests for the HoverMenuBar.
10
10
  * Only the `dataTest` prop needs to be verified here. */
11
11
 
12
- it('accepts a `dataTest` prop', () => {
12
+ test('accepts a `dataTest` prop', () => {
13
13
  const dataTest = 'test';
14
- const wrapper = (0, _enzyme.shallow)(/*#__PURE__*/_react.default.createElement(_index.HoverMenuDropdown, {
14
+ (0, _react.render)(/*#__PURE__*/_react2.default.createElement(_index.HoverMenuDropdown, {
15
15
  label: "test dropdown",
16
16
  dataTest: dataTest
17
17
  }, "children"));
18
- expect(wrapper.find('button').prop('data-test')).toBe(dataTest);
18
+ expect(_react.screen.getByTestId(dataTest)).toBeInTheDocument();
19
19
  });
20
- it('accepts a `className` prop', () => {
20
+ test('accepts a `className` prop', () => {
21
21
  const className = 'test';
22
- const wrapper = (0, _enzyme.shallow)(/*#__PURE__*/_react.default.createElement(_index.HoverMenuDropdown, {
22
+ (0, _react.render)(/*#__PURE__*/_react2.default.createElement(_index.HoverMenuDropdown, {
23
23
  label: "test dropdown",
24
24
  className: className
25
25
  }, "children"));
26
- expect(wrapper.find('button')).toHaveClassName(className);
26
+ expect(_react.screen.getByRole('button')).toHaveClass(className);
27
27
  });
28
28
  });
@@ -1,32 +1,31 @@
1
1
  "use strict";
2
2
 
3
- require("@testing-library/jest-dom");
4
3
  var _react = require("@testing-library/react");
5
- var _enzyme = require("enzyme");
6
4
  var _react2 = _interopRequireDefault(require("react"));
7
5
  var _index = require("../index.js");
8
6
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
9
7
  describe('<HoverMenuList/>', () => {
10
8
  const dataTest = 'test';
11
9
  const childNode = 'children';
12
- it('renders children', () => {
13
- const wrapper = (0, _enzyme.shallow)(/*#__PURE__*/_react2.default.createElement(_index.HoverMenuList, null, childNode));
14
- expect(wrapper.containsMatchingElement(childNode)).toBe(true);
10
+ test('renders children', () => {
11
+ (0, _react.render)(/*#__PURE__*/_react2.default.createElement(_index.HoverMenuList, null, childNode));
12
+ expect(_react.screen.getByText(childNode)).toBeInTheDocument();
15
13
  });
16
- it('accept a `className` prop', () => {
14
+ test('accept a `className` prop', () => {
17
15
  const className = 'className';
18
- const wrapper = (0, _enzyme.shallow)(/*#__PURE__*/_react2.default.createElement(_index.HoverMenuList, {
16
+ (0, _react.render)(/*#__PURE__*/_react2.default.createElement(_index.HoverMenuList, {
17
+ dataTest: dataTest,
19
18
  className: className
20
19
  }, childNode));
21
- expect(wrapper.find('ul')).toHaveClassName(className);
20
+ expect(_react.screen.getByTestId(dataTest)).toHaveClass(className);
22
21
  });
23
- it('accepts a `dataTest` prop', () => {
24
- const wrapper = (0, _enzyme.shallow)(/*#__PURE__*/_react2.default.createElement(_index.HoverMenuList, {
22
+ test('accepts a `dataTest` prop', () => {
23
+ (0, _react.render)(/*#__PURE__*/_react2.default.createElement(_index.HoverMenuList, {
25
24
  dataTest: dataTest
26
25
  }, childNode));
27
- expect(wrapper.find('ul').prop('data-test')).toBe(dataTest);
26
+ expect(_react.screen.getByTestId(dataTest)).toBeInTheDocument();
28
27
  });
29
- it('accept a `dense` prop', () => {
28
+ test('accept a `dense` prop', () => {
30
29
  (0, _react.render)(/*#__PURE__*/_react2.default.createElement(_index.HoverMenuList, {
31
30
  dense: true
32
31
  }, /*#__PURE__*/_react2.default.createElement(_index.HoverMenuListItem, {
@@ -37,18 +36,24 @@ describe('<HoverMenuList/>', () => {
37
36
  expect(_react.screen.getByText('item 1').closest('li')).toHaveClass('dense');
38
37
  expect(_react.screen.getByText('item 2').closest('li')).toHaveClass('dense');
39
38
  });
40
- it('accept a `maxHeight` prop', () => {
39
+ test('accept a `maxHeight` prop', () => {
41
40
  const maxHeight = '100000px';
42
- const wrapper = (0, _enzyme.shallow)(/*#__PURE__*/_react2.default.createElement(_index.HoverMenuList, {
41
+ const {
42
+ container
43
+ } = (0, _react.render)(/*#__PURE__*/_react2.default.createElement(_index.HoverMenuList, {
44
+ dataTest: dataTest,
43
45
  maxHeight: maxHeight
44
46
  }, childNode));
45
- expect(wrapper.find('style').text()).toContain(`max-height: ${maxHeight}`);
47
+ expect(container).toMatchSnapshot();
46
48
  });
47
- it('accept a `maxWidth` prop', () => {
49
+ test('accept a `maxWidth` prop', () => {
48
50
  const maxWidth = '100000px';
49
- const wrapper = (0, _enzyme.shallow)(/*#__PURE__*/_react2.default.createElement(_index.HoverMenuList, {
51
+ const {
52
+ container
53
+ } = (0, _react.render)(/*#__PURE__*/_react2.default.createElement(_index.HoverMenuList, {
54
+ dataTest: dataTest,
50
55
  maxWidth: maxWidth
51
56
  }, childNode));
52
- expect(wrapper.find('style').text()).toContain(`max-width: ${maxWidth}`);
57
+ expect(container).toMatchSnapshot();
53
58
  });
54
59
  });
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
- var _enzyme = require("enzyme");
4
- var _react = _interopRequireDefault(require("react"));
3
+ var _react = require("@testing-library/react");
4
+ var _react2 = _interopRequireDefault(require("react"));
5
5
  var _index = require("../index.js");
6
6
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
7
7
  describe('<HoverMenuListItem/>', () => {
@@ -10,36 +10,42 @@ describe('<HoverMenuListItem/>', () => {
10
10
  * Only the `className`, `dataTest`, `destructive` and
11
11
  * `icon` prop need to be verified here. */
12
12
 
13
- it('accepts a `className` prop', () => {
13
+ test('accepts a `className` prop', () => {
14
14
  const className = 'className';
15
- const wrapper = (0, _enzyme.shallow)(/*#__PURE__*/_react.default.createElement(_index.HoverMenuListItem, {
15
+ (0, _react.render)(/*#__PURE__*/_react2.default.createElement(_index.HoverMenuListItem, {
16
16
  className: className
17
17
  }));
18
- expect(wrapper.find('li')).toHaveClassName(className);
18
+ expect(_react.screen.getByTestId('dhis2-uicore-hovermenulistitem')).toHaveClass(className);
19
19
  });
20
- it('accepts a `dataTest` prop', () => {
20
+ test('accepts a `dataTest` prop', () => {
21
21
  const dataTest = 'test';
22
- const wrapper = (0, _enzyme.shallow)(/*#__PURE__*/_react.default.createElement(_index.HoverMenuListItem, {
22
+ (0, _react.render)(/*#__PURE__*/_react2.default.createElement(_index.HoverMenuListItem, {
23
23
  dataTest: dataTest
24
24
  }));
25
- expect(wrapper.find('li').prop('data-test')).toBe(dataTest);
25
+ expect(_react.screen.getByTestId(dataTest)).toBeInTheDocument();
26
26
  });
27
- it('accepts a `destructive` prop', () => {
28
- const wrapper = (0, _enzyme.shallow)(/*#__PURE__*/_react.default.createElement(_index.HoverMenuListItem, {
27
+ test('accepts a `destructive` prop', () => {
28
+ const dataTest = 'test';
29
+ (0, _react.render)(/*#__PURE__*/_react2.default.createElement(_index.HoverMenuListItem, {
30
+ dataTest: dataTest,
29
31
  destructive: true
30
32
  }));
31
- expect(wrapper.find('li')).toHaveClassName('destructive');
33
+ expect(_react.screen.getByTestId(dataTest)).toBeInTheDocument();
32
34
  });
33
- it('accepts an `icon` prop', () => {
35
+ test('accepts an `icon` prop', () => {
36
+ const dataTest = 'test';
34
37
  const iconText = 'I am an icon';
35
- const icon = /*#__PURE__*/_react.default.createElement("span", {
38
+ const icon = /*#__PURE__*/_react2.default.createElement("span", {
36
39
  id: "testicon"
37
40
  }, iconText);
38
- const wrapper = (0, _enzyme.shallow)(/*#__PURE__*/_react.default.createElement(_index.HoverMenuListItem, {
41
+ (0, _react.render)(/*#__PURE__*/_react2.default.createElement(_index.HoverMenuListItem, {
42
+ dataTest: dataTest,
39
43
  icon: icon
40
44
  }));
41
- expect(wrapper.find('span.icon')).toExist();
42
- expect(wrapper.find('span#testicon')).toExist();
43
- expect(wrapper.find('span#testicon').text()).toBe(iconText);
45
+ const iconWrapperEl = _react.screen.getByTestId(dataTest).firstChild;
46
+ expect(iconWrapperEl).toBeInTheDocument();
47
+ expect(iconWrapperEl).toHaveClass('icon');
48
+ const iconEl = iconWrapperEl.closest('span');
49
+ expect(iconEl).toHaveTextContent(iconText);
44
50
  });
45
51
  });
@@ -0,0 +1,63 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`<HoverMenuList/> accept a \`maxHeight\` prop 1`] = `
4
+ <div>
5
+ <ul
6
+ data-test="test"
7
+ >
8
+ children
9
+ <style>
10
+
11
+ ul {
12
+ position: relative;
13
+ margin: 0;
14
+ padding: 0;
15
+ user-select: none;
16
+ background: #ffffff;
17
+ border: 1px solid #f3f5f7;
18
+ border-radius: 3px;
19
+ box-shadow: 0px 10px 15px -3px rgba(33,41,52,0.1), 0px 4px 6px -2px rgba(33,41,52,0.05);
20
+ display: inline-block;
21
+ min-width: 128px;
22
+ max-width: 380px;
23
+ max-height: 100000px;
24
+ padding: 4px 0;
25
+ overflow: auto;
26
+ list-style: none;
27
+ }
28
+
29
+ </style>
30
+ </ul>
31
+ </div>
32
+ `;
33
+
34
+ exports[`<HoverMenuList/> accept a \`maxWidth\` prop 1`] = `
35
+ <div>
36
+ <ul
37
+ data-test="test"
38
+ >
39
+ children
40
+ <style>
41
+
42
+ ul {
43
+ position: relative;
44
+ margin: 0;
45
+ padding: 0;
46
+ user-select: none;
47
+ background: #ffffff;
48
+ border: 1px solid #f3f5f7;
49
+ border-radius: 3px;
50
+ box-shadow: 0px 10px 15px -3px rgba(33,41,52,0.1), 0px 4px 6px -2px rgba(33,41,52,0.05);
51
+ display: inline-block;
52
+ min-width: 128px;
53
+ max-width: 100000px;
54
+ max-height: auto;
55
+ padding: 4px 0;
56
+ overflow: auto;
57
+ list-style: none;
58
+ }
59
+
60
+ </style>
61
+ </ul>
62
+ </div>
63
+ `;
@@ -21,7 +21,9 @@ const InterpretationsAndDetailsToggler = ({
21
21
  disabled: disabled,
22
22
  "data-test": dataTest,
23
23
  className: "jsx-1238484262 " + `jsx-${_MenuButtonStyles.default.__hash}`
24
- }, isShowing ? /*#__PURE__*/_react.default.createElement(_ui.IconChevronRight24, null) : /*#__PURE__*/_react.default.createElement(_ui.IconChevronLeft24, null), _d2I18n.default.t('Interpretations and details'), /*#__PURE__*/_react.default.createElement(_style.default, {
24
+ }, isShowing ? /*#__PURE__*/_react.default.createElement(_ui.IconChevronRight24, {
25
+ dataTest: `${dataTest}-showing`
26
+ }) : /*#__PURE__*/_react.default.createElement(_ui.IconChevronLeft24, null), _d2I18n.default.t('Interpretations and details'), /*#__PURE__*/_react.default.createElement(_style.default, {
25
27
  id: _MenuButtonStyles.default.__hash
26
28
  }, _MenuButtonStyles.default), /*#__PURE__*/_react.default.createElement(_style.default, {
27
29
  id: "1238484262"
@@ -1,45 +1,46 @@
1
1
  "use strict";
2
2
 
3
- var _enzyme = require("enzyme");
4
- var _react = _interopRequireDefault(require("react"));
3
+ var _react = require("@testing-library/react");
4
+ var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
5
+ var _react2 = _interopRequireDefault(require("react"));
5
6
  var _index = require("../index.js");
6
7
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
7
8
  describe('<InterpretationsAndDetailsToggler/>', () => {
8
9
  const noop = () => {};
9
- it('accepts an `onClick` prop', () => {
10
+ test('accepts an `onClick` prop', async () => {
11
+ const user = _userEvent.default.setup();
10
12
  const onClick = jest.fn();
11
- const wrapper = (0, _enzyme.shallow)(/*#__PURE__*/_react.default.createElement(_index.InterpretationsAndDetailsToggler, {
13
+ (0, _react.render)(/*#__PURE__*/_react2.default.createElement(_index.InterpretationsAndDetailsToggler, {
12
14
  onClick: onClick
13
15
  }));
14
- wrapper.simulate('click');
16
+ await user.click(_react.screen.getByRole('button'));
15
17
  expect(onClick).toHaveBeenCalledTimes(1);
16
18
  });
17
- it('accepts a `dataTest` prop', () => {
19
+ test('accepts a `dataTest` prop', () => {
18
20
  const dataTest = 'test';
19
- const wrapper = (0, _enzyme.shallow)(/*#__PURE__*/_react.default.createElement(_index.InterpretationsAndDetailsToggler, {
21
+ (0, _react.render)(/*#__PURE__*/_react2.default.createElement(_index.InterpretationsAndDetailsToggler, {
20
22
  onClick: noop,
21
23
  dataTest: dataTest
22
24
  }));
23
- expect(wrapper.prop('data-test')).toBe(dataTest);
25
+ expect(_react.screen.getByTestId(dataTest)).toBeInTheDocument();
24
26
  });
25
- it('accepts a `disabled` prop', () => {
26
- const wrapper = (0, _enzyme.shallow)(/*#__PURE__*/_react.default.createElement(_index.InterpretationsAndDetailsToggler, {
27
+ test('accepts a `disabled` prop', () => {
28
+ (0, _react.render)(/*#__PURE__*/_react2.default.createElement(_index.InterpretationsAndDetailsToggler, {
27
29
  disabled: true,
28
30
  onClick: noop
29
31
  }));
30
- expect(wrapper.find('button').prop('disabled')).toEqual(true);
32
+ expect(_react.screen.getByRole('button')).toBeDisabled();
31
33
  });
32
- it('accepts an `isShowing` prop', () => {
33
- const wrapper = (0, _enzyme.shallow)(/*#__PURE__*/_react.default.createElement(_index.InterpretationsAndDetailsToggler, {
34
+ test('accepts an `isShowing` prop', () => {
35
+ const showingDataTest = 'dhis2-analytics-interpretationsanddetailstoggler-showing';
36
+ (0, _react.render)(/*#__PURE__*/_react2.default.createElement(_index.InterpretationsAndDetailsToggler, {
34
37
  onClick: noop
35
38
  }));
36
- const wrapperWithIsShowing = (0, _enzyme.shallow)(/*#__PURE__*/_react.default.createElement(_index.InterpretationsAndDetailsToggler, {
39
+ expect(_react.screen.queryByTestId(showingDataTest)).not.toBeInTheDocument();
40
+ (0, _react.render)(/*#__PURE__*/_react2.default.createElement(_index.InterpretationsAndDetailsToggler, {
37
41
  isShowing: true,
38
42
  onClick: noop
39
43
  }));
40
- expect(wrapper.find('SvgChevronRight24')).toHaveLength(0);
41
- expect(wrapper.find('SvgChevronLeft24')).toHaveLength(1);
42
- expect(wrapperWithIsShowing.find('SvgChevronRight24')).toHaveLength(1);
43
- expect(wrapperWithIsShowing.find('SvgChevronLeft24')).toHaveLength(0);
44
+ expect(_react.screen.getByTestId(showingDataTest)).toBeInTheDocument();
44
45
  });
45
46
  });
@@ -1,20 +1,20 @@
1
1
  "use strict";
2
2
 
3
- var _enzyme = require("enzyme");
4
- var _react = _interopRequireDefault(require("react"));
3
+ var _react = require("@testing-library/react");
4
+ var _react2 = _interopRequireDefault(require("react"));
5
5
  var _index = require("../index.js");
6
6
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
7
7
  describe('<Toolbar/>', () => {
8
- it('renders children', () => {
8
+ test('renders children', () => {
9
9
  const childNode = 'text node';
10
- const wrapper = (0, _enzyme.shallow)(/*#__PURE__*/_react.default.createElement(_index.Toolbar, null, childNode));
11
- expect(wrapper.containsMatchingElement(childNode)).toBe(true);
10
+ (0, _react.render)(/*#__PURE__*/_react2.default.createElement(_index.Toolbar, null, childNode));
11
+ expect(_react.screen.getByText(childNode)).toBeInTheDocument();
12
12
  });
13
- it('accepts a `dataTest` prop', () => {
13
+ test('accepts a `dataTest` prop', () => {
14
14
  const dataTest = 'test';
15
- const wrapper = (0, _enzyme.shallow)(/*#__PURE__*/_react.default.createElement(_index.Toolbar, {
15
+ (0, _react.render)(/*#__PURE__*/_react2.default.createElement(_index.Toolbar, {
16
16
  dataTest: dataTest
17
17
  }));
18
- expect(wrapper.prop('data-test')).toBe(dataTest);
18
+ expect(_react.screen.getByTestId(dataTest)).toBeInTheDocument();
19
19
  });
20
20
  });
@@ -1,26 +1,29 @@
1
1
  "use strict";
2
2
 
3
- var _enzyme = require("enzyme");
4
- var _react = _interopRequireDefault(require("react"));
3
+ var _react = require("@testing-library/react");
4
+ var _react2 = _interopRequireDefault(require("react"));
5
5
  var _index = require("../index.js");
6
6
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
7
7
  describe('<ToolbarSidebar/>', () => {
8
- it('renders children', () => {
8
+ test('renders children', () => {
9
9
  const childNode = 'text node';
10
- const wrapper = (0, _enzyme.shallow)(/*#__PURE__*/_react.default.createElement(_index.ToolbarSidebar, null, childNode));
11
- expect(wrapper.containsMatchingElement(childNode)).toBe(true);
10
+ (0, _react.render)(/*#__PURE__*/_react2.default.createElement(_index.ToolbarSidebar, null, childNode));
11
+ expect(_react.screen.getByText(childNode)).toBeInTheDocument();
12
12
  });
13
- it('accepts a `dataTest` prop', () => {
13
+ test('accepts a `dataTest` prop', () => {
14
14
  const dataTest = 'test';
15
- const wrapper = (0, _enzyme.shallow)(/*#__PURE__*/_react.default.createElement(_index.ToolbarSidebar, {
15
+ (0, _react.render)(/*#__PURE__*/_react2.default.createElement(_index.ToolbarSidebar, {
16
16
  dataTest: dataTest
17
17
  }));
18
- expect(wrapper.prop('data-test')).toBe(dataTest);
18
+ expect(_react.screen.getByTestId(dataTest)).toBeInTheDocument();
19
19
  });
20
- it('accepts a `isHidden` prop', () => {
21
- const wrapper = (0, _enzyme.shallow)(/*#__PURE__*/_react.default.createElement(_index.ToolbarSidebar, {
20
+ test('accepts a `isHidden` prop', () => {
21
+ const {
22
+ container
23
+ } = (0, _react.render)(/*#__PURE__*/_react2.default.createElement(_index.ToolbarSidebar, {
22
24
  isHidden: true
23
25
  }));
24
- expect(wrapper.find('div').hasClass('isHidden')).toEqual(true);
26
+ const divEl = container.querySelector('div');
27
+ expect(divEl).toHaveClass('isHidden');
25
28
  });
26
29
  });
@@ -1,39 +1,41 @@
1
1
  "use strict";
2
2
 
3
- var _enzyme = require("enzyme");
4
- var _react = _interopRequireDefault(require("react"));
3
+ var _react = require("@testing-library/react");
4
+ var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
5
+ var _react2 = _interopRequireDefault(require("react"));
5
6
  var _index = require("../index.js");
6
7
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
7
8
  describe('<UpdateButton/>', () => {
8
9
  const noop = () => {};
9
- it('accepts an `onClick` prop', () => {
10
+ test('accepts an `onClick` prop', async () => {
11
+ const user = _userEvent.default.setup();
10
12
  const onClick = jest.fn();
11
- const wrapper = (0, _enzyme.shallow)(/*#__PURE__*/_react.default.createElement(_index.UpdateButton, {
13
+ (0, _react.render)(/*#__PURE__*/_react2.default.createElement(_index.UpdateButton, {
12
14
  onClick: onClick
13
15
  }));
14
- wrapper.simulate('click');
16
+ await user.click(_react.screen.getByRole('button'));
15
17
  expect(onClick).toHaveBeenCalledTimes(1);
16
18
  });
17
- it('accepts a `dataTest` prop', () => {
19
+ test('accepts a `dataTest` prop', () => {
18
20
  const dataTest = 'test';
19
- const wrapper = (0, _enzyme.shallow)(/*#__PURE__*/_react.default.createElement(_index.UpdateButton, {
21
+ (0, _react.render)(/*#__PURE__*/_react2.default.createElement(_index.UpdateButton, {
20
22
  onClick: noop,
21
23
  dataTest: dataTest
22
24
  }));
23
- expect(wrapper.prop('data-test')).toBe(dataTest);
25
+ expect(_react.screen.getByTestId(dataTest)).toBeInTheDocument();
24
26
  });
25
- it('accepts a `disabled` prop', () => {
26
- const wrapper = (0, _enzyme.shallow)(/*#__PURE__*/_react.default.createElement(_index.UpdateButton, {
27
+ test('accepts a `disabled` prop', () => {
28
+ (0, _react.render)(/*#__PURE__*/_react2.default.createElement(_index.UpdateButton, {
27
29
  disabled: true,
28
30
  onClick: noop
29
31
  }));
30
- expect(wrapper.find('button').prop('disabled')).toEqual(true);
32
+ expect(_react.screen.getByRole('button')).toBeDisabled();
31
33
  });
32
- it('accepts an `loading` prop', () => {
33
- const wrapper = (0, _enzyme.shallow)(/*#__PURE__*/_react.default.createElement(_index.UpdateButton, {
34
+ test('accepts an `loading` prop', () => {
35
+ (0, _react.render)(/*#__PURE__*/_react2.default.createElement(_index.UpdateButton, {
34
36
  onClick: noop,
35
37
  loading: true
36
38
  }));
37
- expect(wrapper.find('CircularLoader')).toHaveLength(1);
39
+ expect(_react.screen.getByTestId('dhis2-uicore-circularloader')).toBeInTheDocument();
38
40
  });
39
41
  });
@@ -37,7 +37,8 @@ const TranslationModal = ({
37
37
  return /*#__PURE__*/_react.default.createElement(_ui.Modal, {
38
38
  large: true,
39
39
  position: "middle",
40
- onClose: onClose
40
+ onClose: onClose,
41
+ dataTest: "dhis2-analytics-translation-modal"
41
42
  }, /*#__PURE__*/_react.default.createElement(_ui.ModalTitle, null, _d2I18n.default.t('Translate: {{objectName}}', {
42
43
  objectName: objectToTranslate.name || 'TEXT',
43
44
  // XXX