@dhis2/analytics 28.0.3 → 28.0.5

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 (496) hide show
  1. package/build/cjs/__demo__/DataDimension.stories.js +1 -2
  2. package/build/cjs/__demo__/Filter.stories.js +1 -2
  3. package/build/cjs/__demo__/FixedPeriodSelect.stories.js +1 -2
  4. package/build/cjs/__demo__/OpenFileDialog.stories.js +19 -1
  5. package/build/cjs/__demo__/OrgUnitDimension.stories.js +1 -2
  6. package/build/cjs/__demo__/PivotTable.stories.js +166 -224
  7. package/build/cjs/__demo__/ScatterPlotPdfExport.stories.js +1 -2
  8. package/build/cjs/__demo__/SingleValue.stories.js +1 -2
  9. package/build/cjs/__demo__/Toolbar.stories.js +1 -2
  10. package/build/cjs/api/__tests__/dimensions.spec.js +1 -2
  11. package/build/cjs/api/analytics/Analytics.js +8 -9
  12. package/build/cjs/api/analytics/AnalyticsBase.js +58 -77
  13. package/build/cjs/api/analytics/AnalyticsRequest.js +1 -2
  14. package/build/cjs/api/analytics/AnalyticsRequestBase.js +18 -21
  15. package/build/cjs/api/analytics/AnalyticsRequestPropertiesMixin.js +19 -38
  16. package/build/cjs/api/analytics/AnalyticsResponseHeader.js +5 -7
  17. package/build/cjs/api/analytics/__tests__/AnalyticsBase.spec.js +9 -12
  18. package/build/cjs/api/analytics/__tests__/AnalyticsRequest.spec.js +8 -2
  19. package/build/cjs/api/analytics/utils.js +11 -17
  20. package/build/cjs/api/dimensions.js +119 -148
  21. package/build/cjs/api/expression.js +39 -60
  22. package/build/cjs/api/organisationUnits.js +23 -35
  23. package/build/cjs/components/AboutAOUnit/AboutAOUnit.js +12 -20
  24. package/build/cjs/components/CachedDataQueryProvider.js +7 -9
  25. package/build/cjs/components/DashboardPluginWrapper/DashboardPluginWrapper.js +18 -22
  26. package/build/cjs/components/DataDimension/Calculation/CalculationModal.js +44 -61
  27. package/build/cjs/components/DataDimension/Calculation/DataElementOption.js +5 -6
  28. package/build/cjs/components/DataDimension/Calculation/DataElementSelector.js +29 -38
  29. package/build/cjs/components/DataDimension/Calculation/DndContext.js +29 -37
  30. package/build/cjs/components/DataDimension/Calculation/DraggingItem.js +5 -6
  31. package/build/cjs/components/DataDimension/Calculation/DropZone.js +4 -5
  32. package/build/cjs/components/DataDimension/Calculation/FormulaField.js +29 -32
  33. package/build/cjs/components/DataDimension/Calculation/FormulaItem.js +14 -16
  34. package/build/cjs/components/DataDimension/Calculation/MathOperatorSelector.js +23 -29
  35. package/build/cjs/components/DataDimension/Calculation/Operator.js +6 -7
  36. package/build/cjs/components/DataDimension/DataDimension.js +20 -32
  37. package/build/cjs/components/DataDimension/Info/CalculationInfo.js +14 -22
  38. package/build/cjs/components/DataDimension/Info/DataElementInfo.js +23 -36
  39. package/build/cjs/components/DataDimension/Info/DataElementOperandInfo.js +30 -44
  40. package/build/cjs/components/DataDimension/Info/DataSetInfo.js +26 -39
  41. package/build/cjs/components/DataDimension/Info/EventDataItemInfo.js +21 -34
  42. package/build/cjs/components/DataDimension/Info/IndicatorInfo.js +21 -32
  43. package/build/cjs/components/DataDimension/Info/InfoPopover.js +6 -7
  44. package/build/cjs/components/DataDimension/Info/InfoTable.js +39 -52
  45. package/build/cjs/components/DataDimension/Info/OptionInfo.js +13 -20
  46. package/build/cjs/components/DataDimension/Info/ProgramIndicatorInfo.js +46 -58
  47. package/build/cjs/components/DataDimension/ItemOptionsSelector/ItemOptionsSelector.js +22 -32
  48. package/build/cjs/components/DataDimension/ItemSelector/DataTypeSelector.js +6 -7
  49. package/build/cjs/components/DataDimension/ItemSelector/DetailSelector.js +5 -6
  50. package/build/cjs/components/DataDimension/ItemSelector/GroupSelector.js +10 -12
  51. package/build/cjs/components/DataDimension/ItemSelector/ItemSelector.js +86 -104
  52. package/build/cjs/components/DataDimension/ItemSelector/MetricSelector.js +5 -6
  53. package/build/cjs/components/DataDimension/SourceEmptyPlaceholder.js +10 -13
  54. package/build/cjs/components/DataDimension/TransferOption.js +35 -39
  55. package/build/cjs/components/DimensionMenu.js +13 -14
  56. package/build/cjs/components/DimensionsPanel/DimensionsPanel.js +8 -9
  57. package/build/cjs/components/DimensionsPanel/List/DimensionItem.js +12 -13
  58. package/build/cjs/components/DimensionsPanel/List/DimensionList.js +12 -11
  59. package/build/cjs/components/DimensionsPanel/List/OptionsButton.js +8 -11
  60. package/build/cjs/components/DimensionsPanel/List/RecommendedIcon.js +10 -13
  61. package/build/cjs/components/DimensionsPanel/List/__tests__/DimensionItem.spec.js +48 -41
  62. package/build/cjs/components/DimensionsPanel/List/__tests__/__snapshots__/DimensionItem.spec.js.snap +110 -114
  63. package/build/cjs/components/DimensionsPanel/__tests__/DimensionsPanel.spec.js +36 -33
  64. package/build/cjs/components/DynamicDimension/DynamicDimension.js +9 -13
  65. package/build/cjs/components/DynamicDimension/ItemSelector.js +25 -38
  66. package/build/cjs/components/FileMenu/DeleteDialog.js +11 -16
  67. package/build/cjs/components/FileMenu/FileMenu.js +19 -30
  68. package/build/cjs/components/FileMenu/GetLinkDialog.js +7 -7
  69. package/build/cjs/components/FileMenu/RenameDialog.js +13 -21
  70. package/build/cjs/components/FileMenu/SaveAsDialog.js +13 -21
  71. package/build/cjs/components/FileMenu/__tests__/DeleteDialog.spec.js +24 -27
  72. package/build/cjs/components/FileMenu/__tests__/FileMenu.spec.js +55 -31
  73. package/build/cjs/components/FileMenu/__tests__/GetLinkDialog.spec.js +35 -39
  74. package/build/cjs/components/FileMenu/__tests__/RenameDialog.spec.js +17 -11
  75. package/build/cjs/components/FileMenu/__tests__/SaveAsDialog.spec.js +44 -37
  76. package/build/cjs/components/FileMenu/utils.js +10 -12
  77. package/build/cjs/components/Filter/Filter.js +21 -27
  78. package/build/cjs/components/Filter/__tests__/Filter.spec.js +29 -34
  79. package/build/cjs/components/Interpretations/InterpretationModal/Comment.js +8 -10
  80. package/build/cjs/components/Interpretations/InterpretationModal/CommentAddForm.js +10 -15
  81. package/build/cjs/components/Interpretations/InterpretationModal/CommentDeleteButton.js +10 -15
  82. package/build/cjs/components/Interpretations/InterpretationModal/CommentUpdateForm.js +12 -17
  83. package/build/cjs/components/Interpretations/InterpretationModal/InterpretationModal.js +19 -25
  84. package/build/cjs/components/Interpretations/InterpretationModal/InterpretationThread.js +12 -14
  85. package/build/cjs/components/Interpretations/InterpretationsUnit/InterpretationForm.js +12 -17
  86. package/build/cjs/components/Interpretations/InterpretationsUnit/InterpretationList.js +10 -11
  87. package/build/cjs/components/Interpretations/InterpretationsUnit/InterpretationsUnit.js +23 -33
  88. package/build/cjs/components/Interpretations/common/Interpretation/Interpretation.js +13 -15
  89. package/build/cjs/components/Interpretations/common/Interpretation/InterpretationDeleteButton.js +7 -11
  90. package/build/cjs/components/Interpretations/common/Interpretation/InterpretationSharingLink.js +5 -7
  91. package/build/cjs/components/Interpretations/common/Interpretation/InterpretationUpdateForm.js +15 -23
  92. package/build/cjs/components/Interpretations/common/Interpretation/useLike.js +5 -6
  93. package/build/cjs/components/Interpretations/common/Message/Message.js +6 -7
  94. package/build/cjs/components/Interpretations/common/Message/MessageButtonStrip.js +8 -11
  95. package/build/cjs/components/Interpretations/common/Message/MessageEditorContainer.js +18 -21
  96. package/build/cjs/components/Interpretations/common/Message/MessageIconButton.js +34 -40
  97. package/build/cjs/components/Interpretations/common/Message/MessageInput.js +1 -2
  98. package/build/cjs/components/Interpretations/common/Message/MessageStatsBar.js +8 -11
  99. package/build/cjs/components/LegendKey/LegendKey.js +3 -4
  100. package/build/cjs/components/OfflineTooltip.js +18 -26
  101. package/build/cjs/components/OpenFileDialog/CreatedByFilter.js +28 -26
  102. package/build/cjs/components/OpenFileDialog/CustomSelectOption.js +23 -26
  103. package/build/cjs/components/OpenFileDialog/DateField.js +3 -4
  104. package/build/cjs/components/OpenFileDialog/FileList.js +19 -22
  105. package/build/cjs/components/OpenFileDialog/NameFilter.js +15 -21
  106. package/build/cjs/components/OpenFileDialog/OpenFileDialog.js +50 -79
  107. package/build/cjs/components/OpenFileDialog/PaginationControls.js +22 -28
  108. package/build/cjs/components/OpenFileDialog/VisTypeFilter.js +65 -36
  109. package/build/cjs/components/OpenFileDialog/__tests__/OpenFileDialog.spec.js +51 -0
  110. package/build/cjs/components/Options/VisualizationOptions.js +35 -46
  111. package/build/cjs/components/OrgUnitDimension/OrgUnitDimension.js +38 -60
  112. package/build/cjs/components/OrgUnitDimension/__tests__/OrgUnitDimension.spec.js +78 -44
  113. package/build/cjs/components/PeriodDimension/FixedPeriodFilter.js +17 -25
  114. package/build/cjs/components/PeriodDimension/FixedPeriodSelect.js +15 -21
  115. package/build/cjs/components/PeriodDimension/PeriodDimension.js +9 -12
  116. package/build/cjs/components/PeriodDimension/PeriodTransfer.js +49 -63
  117. package/build/cjs/components/PeriodDimension/RelativePeriodFilter.js +25 -30
  118. package/build/cjs/components/PeriodDimension/__tests__/FixedPeriodSingleSelect.spec.js +14 -21
  119. package/build/cjs/components/PeriodDimension/__tests__/PeriodDimension.spec.js +27 -23
  120. package/build/cjs/components/PeriodDimension/utils/fixedPeriods.js +6 -7
  121. package/build/cjs/components/PeriodDimension/utils/index.js +1 -5
  122. package/build/cjs/components/PivotTable/PivotTable.js +8 -10
  123. package/build/cjs/components/PivotTable/PivotTableBody.js +20 -29
  124. package/build/cjs/components/PivotTable/PivotTableCell.js +8 -12
  125. package/build/cjs/components/PivotTable/PivotTableClippedAxis.js +14 -17
  126. package/build/cjs/components/PivotTable/PivotTableColumnHeaderCell.js +7 -8
  127. package/build/cjs/components/PivotTable/PivotTableColumnHeaders.js +22 -29
  128. package/build/cjs/components/PivotTable/PivotTableContainer.js +5 -6
  129. package/build/cjs/components/PivotTable/PivotTableDimensionLabelCell.js +4 -5
  130. package/build/cjs/components/PivotTable/PivotTableEmptyCell.js +3 -4
  131. package/build/cjs/components/PivotTable/PivotTableEmptyRow.js +4 -5
  132. package/build/cjs/components/PivotTable/PivotTableEngineContext.js +5 -7
  133. package/build/cjs/components/PivotTable/PivotTableHead.js +13 -16
  134. package/build/cjs/components/PivotTable/PivotTableHeaderCell.js +8 -9
  135. package/build/cjs/components/PivotTable/PivotTableRow.js +20 -27
  136. package/build/cjs/components/PivotTable/PivotTableRowHeaderCell.js +5 -6
  137. package/build/cjs/components/PivotTable/PivotTableSortIcon.js +4 -5
  138. package/build/cjs/components/PivotTable/PivotTableTitleRow.js +19 -24
  139. package/build/cjs/components/PivotTable/PivotTableTitleRows.js +4 -5
  140. package/build/cjs/components/PivotTable/PivotTableValueCell.js +6 -8
  141. package/build/cjs/components/RichText/Editor/Editor.js +70 -85
  142. package/build/cjs/components/RichText/Editor/__tests__/Editor.spec.js +6 -7
  143. package/build/cjs/components/RichText/Parser/Parser.js +5 -10
  144. package/build/cjs/components/RichText/Parser/__tests__/MdParser.spec.js +1 -1
  145. package/build/cjs/components/RichText/Parser/__tests__/Parser.spec.js +22 -23
  146. package/build/cjs/components/Toolbar/HoverMenuBar/HoverMenuBar.js +20 -24
  147. package/build/cjs/components/Toolbar/HoverMenuBar/HoverMenuDropdown.js +8 -13
  148. package/build/cjs/components/Toolbar/HoverMenuBar/HoverMenuList.js +9 -17
  149. package/build/cjs/components/Toolbar/HoverMenuBar/HoverMenuListItem.js +11 -16
  150. package/build/cjs/components/Toolbar/HoverMenuBar/__tests__/HoverMenuBar.spec.js +56 -47
  151. package/build/cjs/components/Toolbar/HoverMenuBar/__tests__/HoverMenuDropdown.spec.js +8 -8
  152. package/build/cjs/components/Toolbar/HoverMenuBar/__tests__/HoverMenuList.spec.js +30 -23
  153. package/build/cjs/components/Toolbar/HoverMenuBar/__tests__/HoverMenuListItem.spec.js +23 -17
  154. package/build/cjs/components/Toolbar/HoverMenuBar/__tests__/__snapshots__/HoverMenuList.spec.js.snap +63 -0
  155. package/build/cjs/components/Toolbar/InterpretationsAndDetailsToggler.js +17 -21
  156. package/build/cjs/components/Toolbar/Toolbar.js +10 -16
  157. package/build/cjs/components/Toolbar/ToolbarSidebar.js +12 -18
  158. package/build/cjs/components/Toolbar/UpdateButton.js +18 -24
  159. package/build/cjs/components/Toolbar/__tests__/InterpretationsAndDetailsToggler.spec.js +19 -18
  160. package/build/cjs/components/Toolbar/__tests__/Toolbar.spec.js +8 -8
  161. package/build/cjs/components/Toolbar/__tests__/ToolbarSidebar.spec.js +14 -11
  162. package/build/cjs/components/Toolbar/__tests__/UpdateButton.spec.js +16 -14
  163. package/build/cjs/components/TransferOption.js +14 -15
  164. package/build/cjs/components/TranslationDialog/TranslationModal/LocalesSelect.js +19 -27
  165. package/build/cjs/components/TranslationDialog/TranslationModal/TranslationForm.js +17 -25
  166. package/build/cjs/components/TranslationDialog/TranslationModal/TranslationModal.js +9 -10
  167. package/build/cjs/components/TranslationDialog/TranslationModal/TranslationModalActions.js +18 -27
  168. package/build/cjs/components/TranslationDialog/TranslationModal/__tests__/TranslationModal.spec.js +25 -16
  169. package/build/cjs/components/TranslationDialog/TranslationModal/useTranslationsResults.js +3 -4
  170. package/build/cjs/components/UserMention/UserList.js +6 -7
  171. package/build/cjs/components/UserMention/UserMentionWrapper.js +13 -20
  172. package/build/cjs/components/UserMention/useUserSearchResults.js +12 -16
  173. package/build/cjs/components/VisTypeIcon.js +5 -6
  174. package/build/cjs/index.js +38 -39
  175. package/build/cjs/locales/ar_IQ/translations.json +20 -11
  176. package/build/cjs/locales/cs/translations.json +2 -0
  177. package/build/cjs/locales/en/translations.json +1 -0
  178. package/build/cjs/locales/es/translations.json +2 -0
  179. package/build/cjs/locales/fr/translations.json +2 -0
  180. package/build/cjs/locales/id/translations.json +20 -11
  181. package/build/cjs/locales/index.js +62 -62
  182. package/build/cjs/locales/lo/translations.json +2 -0
  183. package/build/cjs/locales/nb/translations.json +2 -0
  184. package/build/cjs/locales/prs/translations.json +2 -0
  185. package/build/cjs/locales/ps/translations.json +2 -0
  186. package/build/cjs/locales/pt/translations.json +2 -0
  187. package/build/cjs/locales/pt_BR/translations.json +2 -0
  188. package/build/cjs/locales/ru/translations.json +2 -0
  189. package/build/cjs/locales/si/translations.json +20 -11
  190. package/build/cjs/locales/sv/translations.json +20 -11
  191. package/build/cjs/locales/tet/translations.json +20 -11
  192. package/build/cjs/locales/tg/translations.json +2 -0
  193. package/build/cjs/locales/uk/translations.json +2 -0
  194. package/build/cjs/locales/ur/translations.json +2 -0
  195. package/build/cjs/locales/uz_UZ_Cyrl/translations.json +2 -0
  196. package/build/cjs/locales/uz_UZ_Latn/translations.json +4 -2
  197. package/build/cjs/locales/vi/translations.json +2 -0
  198. package/build/cjs/locales/zh/translations.json +2 -0
  199. package/build/cjs/locales/zh_CN/translations.json +17 -15
  200. package/build/cjs/modules/__tests__/expressions.spec.js +4 -5
  201. package/build/cjs/modules/__tests__/isNumeric.spec.js +33 -0
  202. package/build/cjs/modules/dimensionListItem.js +4 -5
  203. package/build/cjs/modules/expressions.js +3 -9
  204. package/build/cjs/modules/getPWAInstallationStatus.js +7 -9
  205. package/build/cjs/modules/layout/dimensionCreate.js +1 -3
  206. package/build/cjs/modules/layout/dimensionIsValid.js +3 -4
  207. package/build/cjs/modules/legends.js +5 -6
  208. package/build/cjs/modules/outliers/index.js +5 -6
  209. package/build/cjs/modules/outliers/iqr.js +4 -6
  210. package/build/cjs/modules/outliers/modZScore.js +6 -14
  211. package/build/cjs/modules/outliers/zScore.js +3 -4
  212. package/build/cjs/modules/pivotTable/AdaptiveClippingController.js +12 -16
  213. package/build/cjs/modules/pivotTable/PivotTableEngine.js +48 -59
  214. package/build/cjs/modules/pivotTable/clipAxis.js +7 -8
  215. package/build/cjs/modules/pivotTable/clipPartitionedAxis.js +9 -10
  216. package/build/cjs/modules/pivotTable/getHeaderForDisplay.js +8 -9
  217. package/build/cjs/modules/pivotTable/measureText.js +7 -9
  218. package/build/cjs/modules/pivotTable/useParentSize.js +1 -2
  219. package/build/cjs/modules/pivotTable/useScrollPosition.js +1 -2
  220. package/build/cjs/modules/pivotTable/useTableClipping.js +6 -7
  221. package/build/cjs/modules/relativeItems/index.js +1 -4
  222. package/build/cjs/modules/renderValue.js +1 -2
  223. package/build/cjs/modules/utils.js +11 -2
  224. package/build/cjs/visualizations/config/adapters/dhis_highcharts/addTrendLines.js +3 -8
  225. package/build/cjs/visualizations/config/adapters/dhis_highcharts/axis.js +7 -10
  226. package/build/cjs/visualizations/config/adapters/dhis_highcharts/customAxes.js +2 -5
  227. package/build/cjs/visualizations/config/adapters/dhis_highcharts/customSVGOptions/index.js +7 -8
  228. package/build/cjs/visualizations/config/adapters/dhis_highcharts/customSVGOptions/singleValue/getSingleValueBackgroundColor.js +1 -2
  229. package/build/cjs/visualizations/config/adapters/dhis_highcharts/customSVGOptions/singleValue/index.js +6 -7
  230. package/build/cjs/visualizations/config/adapters/dhis_highcharts/getFormatter.js +2 -3
  231. package/build/cjs/visualizations/config/adapters/dhis_highcharts/getSteps.js +2 -3
  232. package/build/cjs/visualizations/config/adapters/dhis_highcharts/getTrimmedConfig.js +3 -4
  233. package/build/cjs/visualizations/config/adapters/dhis_highcharts/index.js +8 -10
  234. package/build/cjs/visualizations/config/adapters/dhis_highcharts/legend.js +6 -7
  235. package/build/cjs/visualizations/config/adapters/dhis_highcharts/legendSet.js +22 -26
  236. package/build/cjs/visualizations/config/adapters/dhis_highcharts/plotOptions.js +8 -9
  237. package/build/cjs/visualizations/config/adapters/dhis_highcharts/series/index.js +18 -20
  238. package/build/cjs/visualizations/config/adapters/dhis_highcharts/series/pie.js +1 -4
  239. package/build/cjs/visualizations/config/adapters/dhis_highcharts/subtitle/index.js +1 -2
  240. package/build/cjs/visualizations/config/adapters/dhis_highcharts/yAxis/gauge.js +1 -3
  241. package/build/cjs/visualizations/config/index.js +11 -12
  242. package/build/cjs/visualizations/config/validators/dhis/index.js +3 -4
  243. package/build/cjs/visualizations/index.js +1 -4
  244. package/build/cjs/visualizations/store/adapters/dhis_highcharts/index.js +7 -8
  245. package/build/cjs/visualizations/store/index.js +15 -17
  246. package/build/cjs/visualizations/store/validators/dhis/index.js +5 -6
  247. package/build/cjs/visualizations/util/getFilterText.js +3 -6
  248. package/build/cjs/visualizations/util/shouldUseContrastColor.js +1 -2
  249. package/build/es/__demo__/OpenFileDialog.stories.js +17 -0
  250. package/build/es/__demo__/PivotTable.stories.js +165 -222
  251. package/build/es/api/__tests__/dimensions.spec.js +1 -2
  252. package/build/es/api/analytics/Analytics.js +8 -9
  253. package/build/es/api/analytics/AnalyticsBase.js +58 -77
  254. package/build/es/api/analytics/AnalyticsRequest.js +1 -2
  255. package/build/es/api/analytics/AnalyticsRequestBase.js +18 -21
  256. package/build/es/api/analytics/AnalyticsRequestPropertiesMixin.js +19 -38
  257. package/build/es/api/analytics/AnalyticsResponseHeader.js +5 -7
  258. package/build/es/api/analytics/__tests__/AnalyticsBase.spec.js +8 -10
  259. package/build/es/api/analytics/__tests__/AnalyticsRequest.spec.js +8 -2
  260. package/build/es/api/analytics/utils.js +11 -17
  261. package/build/es/api/dimensions.js +119 -148
  262. package/build/es/api/expression.js +39 -60
  263. package/build/es/api/organisationUnits.js +23 -35
  264. package/build/es/components/AboutAOUnit/AboutAOUnit.js +11 -18
  265. package/build/es/components/CachedDataQueryProvider.js +6 -7
  266. package/build/es/components/DashboardPluginWrapper/DashboardPluginWrapper.js +17 -20
  267. package/build/es/components/DataDimension/Calculation/CalculationModal.js +43 -59
  268. package/build/es/components/DataDimension/Calculation/DataElementOption.js +5 -6
  269. package/build/es/components/DataDimension/Calculation/DataElementSelector.js +28 -36
  270. package/build/es/components/DataDimension/Calculation/DndContext.js +28 -35
  271. package/build/es/components/DataDimension/Calculation/DraggingItem.js +5 -6
  272. package/build/es/components/DataDimension/Calculation/DropZone.js +4 -5
  273. package/build/es/components/DataDimension/Calculation/FormulaField.js +29 -32
  274. package/build/es/components/DataDimension/Calculation/FormulaItem.js +13 -14
  275. package/build/es/components/DataDimension/Calculation/MathOperatorSelector.js +23 -29
  276. package/build/es/components/DataDimension/Calculation/Operator.js +6 -7
  277. package/build/es/components/DataDimension/DataDimension.js +19 -30
  278. package/build/es/components/DataDimension/Info/CalculationInfo.js +13 -20
  279. package/build/es/components/DataDimension/Info/DataElementInfo.js +23 -36
  280. package/build/es/components/DataDimension/Info/DataElementOperandInfo.js +29 -42
  281. package/build/es/components/DataDimension/Info/DataSetInfo.js +26 -39
  282. package/build/es/components/DataDimension/Info/EventDataItemInfo.js +21 -34
  283. package/build/es/components/DataDimension/Info/IndicatorInfo.js +20 -30
  284. package/build/es/components/DataDimension/Info/InfoPopover.js +6 -7
  285. package/build/es/components/DataDimension/Info/InfoTable.js +39 -52
  286. package/build/es/components/DataDimension/Info/OptionInfo.js +13 -20
  287. package/build/es/components/DataDimension/Info/ProgramIndicatorInfo.js +45 -56
  288. package/build/es/components/DataDimension/ItemOptionsSelector/ItemOptionsSelector.js +21 -30
  289. package/build/es/components/DataDimension/ItemSelector/DataTypeSelector.js +6 -7
  290. package/build/es/components/DataDimension/ItemSelector/DetailSelector.js +5 -6
  291. package/build/es/components/DataDimension/ItemSelector/GroupSelector.js +9 -10
  292. package/build/es/components/DataDimension/ItemSelector/ItemSelector.js +85 -102
  293. package/build/es/components/DataDimension/ItemSelector/MetricSelector.js +5 -6
  294. package/build/es/components/DataDimension/SourceEmptyPlaceholder.js +10 -13
  295. package/build/es/components/DataDimension/TransferOption.js +35 -39
  296. package/build/es/components/DimensionMenu.js +13 -14
  297. package/build/es/components/DimensionsPanel/DimensionsPanel.js +7 -7
  298. package/build/es/components/DimensionsPanel/List/DimensionItem.js +11 -11
  299. package/build/es/components/DimensionsPanel/List/DimensionList.js +11 -9
  300. package/build/es/components/DimensionsPanel/List/OptionsButton.js +8 -11
  301. package/build/es/components/DimensionsPanel/List/RecommendedIcon.js +10 -13
  302. package/build/es/components/DimensionsPanel/List/__tests__/DimensionItem.spec.js +47 -40
  303. package/build/es/components/DimensionsPanel/List/__tests__/__snapshots__/DimensionItem.spec.js.snap +110 -114
  304. package/build/es/components/DimensionsPanel/__tests__/DimensionsPanel.spec.js +35 -32
  305. package/build/es/components/DynamicDimension/DynamicDimension.js +9 -13
  306. package/build/es/components/DynamicDimension/ItemSelector.js +24 -36
  307. package/build/es/components/FileMenu/DeleteDialog.js +10 -14
  308. package/build/es/components/FileMenu/FileMenu.js +18 -28
  309. package/build/es/components/FileMenu/GetLinkDialog.js +7 -7
  310. package/build/es/components/FileMenu/RenameDialog.js +12 -19
  311. package/build/es/components/FileMenu/SaveAsDialog.js +12 -19
  312. package/build/es/components/FileMenu/__tests__/DeleteDialog.spec.js +23 -26
  313. package/build/es/components/FileMenu/__tests__/FileMenu.spec.js +56 -32
  314. package/build/es/components/FileMenu/__tests__/GetLinkDialog.spec.js +34 -38
  315. package/build/es/components/FileMenu/__tests__/RenameDialog.spec.js +18 -12
  316. package/build/es/components/FileMenu/__tests__/SaveAsDialog.spec.js +43 -36
  317. package/build/es/components/FileMenu/utils.js +10 -12
  318. package/build/es/components/Filter/Filter.js +21 -27
  319. package/build/es/components/Filter/__tests__/Filter.spec.js +28 -33
  320. package/build/es/components/Interpretations/InterpretationModal/Comment.js +7 -8
  321. package/build/es/components/Interpretations/InterpretationModal/CommentAddForm.js +9 -13
  322. package/build/es/components/Interpretations/InterpretationModal/CommentDeleteButton.js +9 -13
  323. package/build/es/components/Interpretations/InterpretationModal/CommentUpdateForm.js +11 -15
  324. package/build/es/components/Interpretations/InterpretationModal/InterpretationModal.js +18 -23
  325. package/build/es/components/Interpretations/InterpretationModal/InterpretationThread.js +11 -12
  326. package/build/es/components/Interpretations/InterpretationsUnit/InterpretationForm.js +11 -15
  327. package/build/es/components/Interpretations/InterpretationsUnit/InterpretationList.js +10 -11
  328. package/build/es/components/Interpretations/InterpretationsUnit/InterpretationsUnit.js +22 -31
  329. package/build/es/components/Interpretations/common/Interpretation/Interpretation.js +12 -13
  330. package/build/es/components/Interpretations/common/Interpretation/InterpretationDeleteButton.js +7 -11
  331. package/build/es/components/Interpretations/common/Interpretation/InterpretationSharingLink.js +4 -5
  332. package/build/es/components/Interpretations/common/Interpretation/InterpretationUpdateForm.js +14 -21
  333. package/build/es/components/Interpretations/common/Interpretation/useLike.js +5 -6
  334. package/build/es/components/Interpretations/common/Message/Message.js +6 -7
  335. package/build/es/components/Interpretations/common/Message/MessageButtonStrip.js +8 -11
  336. package/build/es/components/Interpretations/common/Message/MessageEditorContainer.js +18 -21
  337. package/build/es/components/Interpretations/common/Message/MessageIconButton.js +34 -40
  338. package/build/es/components/Interpretations/common/Message/MessageStatsBar.js +8 -11
  339. package/build/es/components/LegendKey/LegendKey.js +3 -4
  340. package/build/es/components/OfflineTooltip.js +18 -26
  341. package/build/es/components/OpenFileDialog/CreatedByFilter.js +26 -25
  342. package/build/es/components/OpenFileDialog/CustomSelectOption.js +23 -26
  343. package/build/es/components/OpenFileDialog/DateField.js +3 -4
  344. package/build/es/components/OpenFileDialog/FileList.js +19 -22
  345. package/build/es/components/OpenFileDialog/NameFilter.js +15 -21
  346. package/build/es/components/OpenFileDialog/OpenFileDialog.js +49 -78
  347. package/build/es/components/OpenFileDialog/PaginationControls.js +22 -28
  348. package/build/es/components/OpenFileDialog/VisTypeFilter.js +64 -36
  349. package/build/es/components/OpenFileDialog/__tests__/OpenFileDialog.spec.js +49 -0
  350. package/build/es/components/Options/VisualizationOptions.js +34 -44
  351. package/build/es/components/OrgUnitDimension/OrgUnitDimension.js +37 -58
  352. package/build/es/components/OrgUnitDimension/__tests__/OrgUnitDimension.spec.js +77 -43
  353. package/build/es/components/PeriodDimension/FixedPeriodFilter.js +17 -25
  354. package/build/es/components/PeriodDimension/FixedPeriodSelect.js +14 -19
  355. package/build/es/components/PeriodDimension/PeriodDimension.js +9 -12
  356. package/build/es/components/PeriodDimension/PeriodTransfer.js +48 -61
  357. package/build/es/components/PeriodDimension/RelativePeriodFilter.js +25 -30
  358. package/build/es/components/PeriodDimension/__tests__/FixedPeriodSingleSelect.spec.js +13 -20
  359. package/build/es/components/PeriodDimension/__tests__/PeriodDimension.spec.js +26 -22
  360. package/build/es/components/PeriodDimension/utils/fixedPeriods.js +6 -7
  361. package/build/es/components/PeriodDimension/utils/index.js +1 -5
  362. package/build/es/components/PivotTable/PivotTable.js +7 -8
  363. package/build/es/components/PivotTable/PivotTableBody.js +20 -29
  364. package/build/es/components/PivotTable/PivotTableCell.js +8 -12
  365. package/build/es/components/PivotTable/PivotTableClippedAxis.js +14 -17
  366. package/build/es/components/PivotTable/PivotTableColumnHeaderCell.js +7 -8
  367. package/build/es/components/PivotTable/PivotTableColumnHeaders.js +22 -29
  368. package/build/es/components/PivotTable/PivotTableContainer.js +5 -6
  369. package/build/es/components/PivotTable/PivotTableDimensionLabelCell.js +4 -5
  370. package/build/es/components/PivotTable/PivotTableEmptyCell.js +3 -4
  371. package/build/es/components/PivotTable/PivotTableEmptyRow.js +4 -5
  372. package/build/es/components/PivotTable/PivotTableEngineContext.js +4 -5
  373. package/build/es/components/PivotTable/PivotTableHead.js +13 -16
  374. package/build/es/components/PivotTable/PivotTableHeaderCell.js +8 -9
  375. package/build/es/components/PivotTable/PivotTableRow.js +20 -27
  376. package/build/es/components/PivotTable/PivotTableRowHeaderCell.js +5 -6
  377. package/build/es/components/PivotTable/PivotTableSortIcon.js +4 -5
  378. package/build/es/components/PivotTable/PivotTableTitleRow.js +18 -22
  379. package/build/es/components/PivotTable/PivotTableTitleRows.js +4 -5
  380. package/build/es/components/PivotTable/PivotTableValueCell.js +5 -6
  381. package/build/es/components/RichText/Editor/Editor.js +69 -83
  382. package/build/es/components/RichText/Editor/__tests__/Editor.spec.js +7 -8
  383. package/build/es/components/RichText/Parser/Parser.js +4 -8
  384. package/build/es/components/RichText/Parser/__tests__/MdParser.spec.js +1 -1
  385. package/build/es/components/RichText/Parser/__tests__/Parser.spec.js +21 -22
  386. package/build/es/components/Toolbar/HoverMenuBar/HoverMenuBar.js +20 -23
  387. package/build/es/components/Toolbar/HoverMenuBar/HoverMenuDropdown.js +7 -11
  388. package/build/es/components/Toolbar/HoverMenuBar/HoverMenuList.js +8 -15
  389. package/build/es/components/Toolbar/HoverMenuBar/HoverMenuListItem.js +10 -14
  390. package/build/es/components/Toolbar/HoverMenuBar/__tests__/HoverMenuBar.spec.js +57 -48
  391. package/build/es/components/Toolbar/HoverMenuBar/__tests__/HoverMenuDropdown.spec.js +7 -7
  392. package/build/es/components/Toolbar/HoverMenuBar/__tests__/HoverMenuList.spec.js +27 -20
  393. package/build/es/components/Toolbar/HoverMenuBar/__tests__/HoverMenuListItem.spec.js +21 -15
  394. package/build/es/components/Toolbar/HoverMenuBar/__tests__/__snapshots__/HoverMenuList.spec.js.snap +63 -0
  395. package/build/es/components/Toolbar/InterpretationsAndDetailsToggler.js +17 -21
  396. package/build/es/components/Toolbar/Toolbar.js +10 -16
  397. package/build/es/components/Toolbar/ToolbarSidebar.js +12 -18
  398. package/build/es/components/Toolbar/UpdateButton.js +18 -24
  399. package/build/es/components/Toolbar/__tests__/InterpretationsAndDetailsToggler.spec.js +18 -17
  400. package/build/es/components/Toolbar/__tests__/Toolbar.spec.js +7 -7
  401. package/build/es/components/Toolbar/__tests__/ToolbarSidebar.spec.js +13 -10
  402. package/build/es/components/Toolbar/__tests__/UpdateButton.spec.js +15 -13
  403. package/build/es/components/TransferOption.js +14 -15
  404. package/build/es/components/TranslationDialog/TranslationModal/LocalesSelect.js +19 -27
  405. package/build/es/components/TranslationDialog/TranslationModal/TranslationForm.js +16 -23
  406. package/build/es/components/TranslationDialog/TranslationModal/TranslationModal.js +8 -8
  407. package/build/es/components/TranslationDialog/TranslationModal/TranslationModalActions.js +18 -27
  408. package/build/es/components/TranslationDialog/TranslationModal/__tests__/TranslationModal.spec.js +24 -15
  409. package/build/es/components/TranslationDialog/TranslationModal/useTranslationsResults.js +3 -4
  410. package/build/es/components/UserMention/UserList.js +6 -7
  411. package/build/es/components/UserMention/UserMentionWrapper.js +12 -18
  412. package/build/es/components/UserMention/useUserSearchResults.js +12 -16
  413. package/build/es/components/VisTypeIcon.js +5 -6
  414. package/build/es/locales/ar_IQ/translations.json +20 -11
  415. package/build/es/locales/cs/translations.json +2 -0
  416. package/build/es/locales/en/translations.json +1 -0
  417. package/build/es/locales/es/translations.json +2 -0
  418. package/build/es/locales/fr/translations.json +2 -0
  419. package/build/es/locales/id/translations.json +20 -11
  420. package/build/es/locales/lo/translations.json +2 -0
  421. package/build/es/locales/nb/translations.json +2 -0
  422. package/build/es/locales/prs/translations.json +2 -0
  423. package/build/es/locales/ps/translations.json +2 -0
  424. package/build/es/locales/pt/translations.json +2 -0
  425. package/build/es/locales/pt_BR/translations.json +2 -0
  426. package/build/es/locales/ru/translations.json +2 -0
  427. package/build/es/locales/si/translations.json +20 -11
  428. package/build/es/locales/sv/translations.json +20 -11
  429. package/build/es/locales/tet/translations.json +20 -11
  430. package/build/es/locales/tg/translations.json +2 -0
  431. package/build/es/locales/uk/translations.json +2 -0
  432. package/build/es/locales/ur/translations.json +2 -0
  433. package/build/es/locales/uz_UZ_Cyrl/translations.json +2 -0
  434. package/build/es/locales/uz_UZ_Latn/translations.json +4 -2
  435. package/build/es/locales/vi/translations.json +2 -0
  436. package/build/es/locales/zh/translations.json +2 -0
  437. package/build/es/locales/zh_CN/translations.json +17 -15
  438. package/build/es/modules/__tests__/expressions.spec.js +4 -5
  439. package/build/es/modules/__tests__/isNumeric.spec.js +31 -0
  440. package/build/es/modules/dimensionListItem.js +4 -5
  441. package/build/es/modules/expressions.js +3 -9
  442. package/build/es/modules/getPWAInstallationStatus.js +7 -9
  443. package/build/es/modules/layout/dimensionCreate.js +1 -3
  444. package/build/es/modules/layout/dimensionIsValid.js +3 -4
  445. package/build/es/modules/legends.js +5 -6
  446. package/build/es/modules/outliers/index.js +2 -3
  447. package/build/es/modules/outliers/iqr.js +4 -6
  448. package/build/es/modules/outliers/modZScore.js +6 -14
  449. package/build/es/modules/outliers/zScore.js +3 -4
  450. package/build/es/modules/pivotTable/AdaptiveClippingController.js +12 -16
  451. package/build/es/modules/pivotTable/PivotTableEngine.js +48 -59
  452. package/build/es/modules/pivotTable/clipAxis.js +7 -8
  453. package/build/es/modules/pivotTable/clipPartitionedAxis.js +9 -10
  454. package/build/es/modules/pivotTable/getHeaderForDisplay.js +8 -9
  455. package/build/es/modules/pivotTable/measureText.js +7 -9
  456. package/build/es/modules/pivotTable/useParentSize.js +1 -2
  457. package/build/es/modules/pivotTable/useScrollPosition.js +1 -2
  458. package/build/es/modules/pivotTable/useTableClipping.js +6 -7
  459. package/build/es/modules/relativeItems/index.js +1 -4
  460. package/build/es/modules/renderValue.js +1 -2
  461. package/build/es/modules/utils.js +9 -1
  462. package/build/es/visualizations/config/adapters/dhis_highcharts/addTrendLines.js +3 -8
  463. package/build/es/visualizations/config/adapters/dhis_highcharts/axis.js +2 -5
  464. package/build/es/visualizations/config/adapters/dhis_highcharts/customAxes.js +2 -5
  465. package/build/es/visualizations/config/adapters/dhis_highcharts/customSVGOptions/index.js +7 -8
  466. package/build/es/visualizations/config/adapters/dhis_highcharts/customSVGOptions/singleValue/getSingleValueBackgroundColor.js +1 -2
  467. package/build/es/visualizations/config/adapters/dhis_highcharts/customSVGOptions/singleValue/index.js +6 -7
  468. package/build/es/visualizations/config/adapters/dhis_highcharts/getFormatter.js +1 -1
  469. package/build/es/visualizations/config/adapters/dhis_highcharts/getSteps.js +1 -1
  470. package/build/es/visualizations/config/adapters/dhis_highcharts/getTrimmedConfig.js +3 -4
  471. package/build/es/visualizations/config/adapters/dhis_highcharts/index.js +7 -8
  472. package/build/es/visualizations/config/adapters/dhis_highcharts/legend.js +6 -7
  473. package/build/es/visualizations/config/adapters/dhis_highcharts/legendSet.js +22 -26
  474. package/build/es/visualizations/config/adapters/dhis_highcharts/plotOptions.js +8 -9
  475. package/build/es/visualizations/config/adapters/dhis_highcharts/series/index.js +18 -20
  476. package/build/es/visualizations/config/adapters/dhis_highcharts/series/pie.js +1 -4
  477. package/build/es/visualizations/config/adapters/dhis_highcharts/yAxis/gauge.js +1 -3
  478. package/build/es/visualizations/config/index.js +11 -12
  479. package/build/es/visualizations/config/validators/dhis/index.js +3 -4
  480. package/build/es/visualizations/index.js +1 -4
  481. package/build/es/visualizations/store/adapters/dhis_highcharts/index.js +7 -8
  482. package/build/es/visualizations/store/index.js +15 -17
  483. package/build/es/visualizations/store/validators/dhis/index.js +5 -6
  484. package/build/es/visualizations/util/getFilterText.js +3 -6
  485. package/build/es/visualizations/util/shouldUseContrastColor.js +1 -2
  486. package/package.json +13 -15
  487. package/build/cjs/components/OrgUnitDimension/__tests__/__snapshots__/OrgUnitDimension.spec.js.snap +0 -89
  488. package/build/cjs/components/PeriodDimension/__tests__/PeriodSelector.spec.js +0 -29
  489. package/build/cjs/components/PeriodDimension/__tests__/__snapshots__/FixedPeriodSingleSelect.spec.js.snap +0 -93
  490. package/build/cjs/components/PeriodDimension/__tests__/__snapshots__/PeriodDimension.spec.js.snap +0 -17
  491. package/build/cjs/components/PeriodDimension/__tests__/__snapshots__/PeriodSelector.spec.js.snap +0 -89
  492. package/build/es/components/OrgUnitDimension/__tests__/__snapshots__/OrgUnitDimension.spec.js.snap +0 -89
  493. package/build/es/components/PeriodDimension/__tests__/PeriodSelector.spec.js +0 -26
  494. package/build/es/components/PeriodDimension/__tests__/__snapshots__/FixedPeriodSingleSelect.spec.js.snap +0 -93
  495. package/build/es/components/PeriodDimension/__tests__/__snapshots__/PeriodDimension.spec.js.snap +0 -17
  496. package/build/es/components/PeriodDimension/__tests__/__snapshots__/PeriodSelector.spec.js.snap +0 -89
@@ -2,6 +2,7 @@
2
2
 
3
3
  var _appRuntime = require("@dhis2/app-runtime");
4
4
  var _react = require("@testing-library/react");
5
+ var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
5
6
  require("@testing-library/jest-dom");
6
7
  var _react2 = _interopRequireDefault(require("react"));
7
8
  var _index = require("../../Toolbar/index.js");
@@ -16,7 +17,7 @@ jest.mock('../../TranslationDialog/TranslationModal/useTranslationsResults.js',
16
17
  fetching: true
17
18
  })
18
19
  }));
19
- describe('The FileMenu component ', () => {
20
+ describe('FileMenu component ', () => {
20
21
  const onDelete = jest.fn();
21
22
  const onError = jest.fn();
22
23
  const onNew = jest.fn();
@@ -54,8 +55,7 @@ describe('The FileMenu component ', () => {
54
55
  href: 'http://dhis2.org'
55
56
  }
56
57
  };
57
- const renderFileMenu = function () {
58
- let customProps = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
58
+ const renderFileMenu = (customProps = {}) => {
59
59
  const props = {
60
60
  ...baseProps,
61
61
  ...customProps
@@ -72,6 +72,19 @@ describe('The FileMenu component ', () => {
72
72
  userAccesses: [],
73
73
  userGroupAccesses: []
74
74
  }
75
+ },
76
+ visualizations: {
77
+ pager: {
78
+ page: 1,
79
+ pageSize: 50
80
+ },
81
+ visualizations: [{
82
+ id: 'vis1',
83
+ displayName: 'Visualization 1',
84
+ type: 'VISUALIZATION',
85
+ created: '2025-07-23T15:04:16.864',
86
+ lastUpdated: '2025-07-23T15:04:16.864'
87
+ }]
75
88
  }
76
89
  };
77
90
  return (0, _react.render)(/*#__PURE__*/_react2.default.createElement(_appRuntime.CustomDataProvider, {
@@ -79,7 +92,8 @@ describe('The FileMenu component ', () => {
79
92
  }, /*#__PURE__*/_react2.default.createElement(_index.HoverMenuBar, null, /*#__PURE__*/_react2.default.createElement(_FileMenu.FileMenu, props))));
80
93
  };
81
94
  const openDropdown = async () => {
82
- _react.fireEvent.click(_react.screen.getByTestId('dhis2-analytics-hovermenudropdown'));
95
+ const user = _userEvent.default.setup();
96
+ await user.click(_react.screen.getByTestId('dhis2-analytics-hovermenudropdown'));
83
97
  expect(await _react.screen.findByTestId('file-menu-container')).toBeVisible();
84
98
  };
85
99
  const MENU_ITEMS = {
@@ -131,20 +145,20 @@ describe('The FileMenu component ', () => {
131
145
  }
132
146
  }
133
147
  };
134
- it('renders a button', () => {
148
+ test('renders a button', () => {
135
149
  renderFileMenu();
136
150
  expect(_react.screen.getAllByTestId('dhis2-analytics-hovermenudropdown')).toHaveLength(1);
137
151
  const button = _react.screen.getByTestId('dhis2-analytics-hovermenudropdown');
138
152
  expect(button).toBeVisible();
139
153
  expect(button).toHaveTextContent('File');
140
154
  });
141
- it('opens when clicking the button', async () => {
155
+ test('opens when clicking the button', async () => {
142
156
  renderFileMenu();
143
157
  expect(_react.screen.queryByTestId('file-menu-container')).not.toBeInTheDocument();
144
158
  await openDropdown();
145
159
  expect(await _react.screen.findByTestId('file-menu-container')).toBeVisible();
146
160
  });
147
- it('renders some enabled buttons regardless of the access settings', async () => {
161
+ test('renders some enabled buttons regardless of the access settings', async () => {
148
162
  renderFileMenu();
149
163
  await openDropdown();
150
164
  assertMenuItemsDisabledState([{
@@ -155,7 +169,7 @@ describe('The FileMenu component ', () => {
155
169
  disabled: false
156
170
  }]);
157
171
  });
158
- it('renders some disabled buttons when no fileObject is present', async () => {
172
+ test('renders some disabled buttons when no fileObject is present', async () => {
159
173
  renderFileMenu();
160
174
  await openDropdown();
161
175
  assertMenuItemsDisabledState([{
@@ -178,7 +192,7 @@ describe('The FileMenu component ', () => {
178
192
  disabled: true
179
193
  }]);
180
194
  });
181
- it('renders some enabled buttons when update access is granted', async () => {
195
+ test('renders some enabled buttons when update access is granted', async () => {
182
196
  const customProps = {
183
197
  fileObject: {
184
198
  id: 'test',
@@ -202,7 +216,7 @@ describe('The FileMenu component ', () => {
202
216
  disabled: false
203
217
  }]);
204
218
  });
205
- it('renders enabled Delete button when delete access is granted', async () => {
219
+ test('renders enabled Delete button when delete access is granted', async () => {
206
220
  const customProps = {
207
221
  fileObject: {
208
222
  id: 'test',
@@ -220,7 +234,7 @@ describe('The FileMenu component ', () => {
220
234
  disabled: false
221
235
  }]);
222
236
  });
223
- it('renders enabled Share button when manage access is granted', async () => {
237
+ test('renders enabled Share button when manage access is granted', async () => {
224
238
  const customProps = {
225
239
  fileObject: {
226
240
  id: 'test',
@@ -238,50 +252,56 @@ describe('The FileMenu component ', () => {
238
252
  disabled: false
239
253
  }]);
240
254
  });
241
- it('renders the OpenFileDialog component when the Open button is clicked', async () => {
255
+ test('renders the OpenFileDialog component when the Open button is clicked', async () => {
256
+ const user = _userEvent.default.setup();
242
257
  renderFileMenu();
243
258
  await openDropdown();
244
- _react.fireEvent.click(_react.screen.getByTestId(MENU_ITEMS.OPEN.testId));
259
+ await user.click(_react.screen.getByTestId(MENU_ITEMS.OPEN.testId));
245
260
  expect(await _react.screen.findByText('Open a visualization', {
246
261
  selector: 'h1'
247
262
  })).toBeVisible();
248
263
  });
249
- it('renders the RenameDialog when the Rename button is clicked', async () => {
264
+ test('renders the RenameDialog when the Rename button is clicked', async () => {
265
+ const user = _userEvent.default.setup();
250
266
  renderFileMenu(fullAccessProps);
251
267
  await openDropdown();
252
- _react.fireEvent.click(_react.screen.getByTestId(MENU_ITEMS.RENAME.testId));
268
+ await user.click(_react.screen.getByTestId(MENU_ITEMS.RENAME.testId));
253
269
  expect(await _react.screen.findByText('Rename visualization', {
254
270
  selector: 'h1'
255
271
  })).toBeVisible();
256
272
  });
257
- it('renders the TranslationDialog when the Translate button is clicked', async () => {
273
+ test('renders the TranslationDialog when the Translate button is clicked', async () => {
274
+ const user = _userEvent.default.setup();
258
275
  renderFileMenu(fullAccessProps);
259
276
  await openDropdown();
260
- _react.fireEvent.click(_react.screen.getByTestId(MENU_ITEMS.TRANSLATE.testId));
277
+ await user.click(_react.screen.getByTestId(MENU_ITEMS.TRANSLATE.testId));
261
278
  expect(await _react.screen.findByText('Translate', {
262
279
  exact: false,
263
280
  selector: 'h1'
264
281
  })).toBeVisible();
265
282
  });
266
- it('renders the SharingDialog when the Share button is clicked', async () => {
283
+ test('renders the SharingDialog when the Share button is clicked', async () => {
284
+ const user = _userEvent.default.setup();
267
285
  renderFileMenu(fullAccessProps);
268
286
  await openDropdown();
269
- _react.fireEvent.click(_react.screen.getByTestId(MENU_ITEMS.SHARE.testId));
287
+ await user.click(_react.screen.getByTestId(MENU_ITEMS.SHARE.testId));
270
288
  expect(await _react.screen.findByText('Sharing and access', {
271
289
  selector: 'h1'
272
290
  })).toBeVisible();
273
291
  });
274
- it('renders the GetLinkDialog when the Get link button is clicked', async () => {
292
+ test('renders the GetLinkDialog when the Get link button is clicked', async () => {
293
+ const user = _userEvent.default.setup();
275
294
  const url = 'http://localhost/dhis-web-data-visualizer/#/test';
276
295
  renderFileMenu(fullAccessProps);
277
296
  await openDropdown();
278
- _react.fireEvent.click(_react.screen.getByTestId(MENU_ITEMS.GET_LINK.testId));
297
+ await user.click(_react.screen.getByTestId(MENU_ITEMS.GET_LINK.testId));
279
298
  expect(await _react.screen.findByTestId('dhis2-uicore-modal')).toBeVisible();
280
299
  expect(_react.screen.getByRole('link', {
281
300
  name: url
282
301
  })).toHaveAttribute('href', url);
283
302
  });
284
- it('renders the DeleteDialog when the Delete button is clicked', async () => {
303
+ test('renders the DeleteDialog when the Delete button is clicked', async () => {
304
+ const user = _userEvent.default.setup();
285
305
  const customProps = {
286
306
  fileObject: {
287
307
  id: 'delete-test',
@@ -294,20 +314,22 @@ describe('The FileMenu component ', () => {
294
314
  };
295
315
  renderFileMenu(customProps);
296
316
  await openDropdown();
297
- _react.fireEvent.click(_react.screen.getByTestId(MENU_ITEMS.DELETE.testId));
317
+ await user.click(_react.screen.getByTestId(MENU_ITEMS.DELETE.testId));
298
318
  expect(await _react.screen.findByText('Delete visualization', {
299
319
  selector: 'h1'
300
320
  })).toBeVisible();
301
321
  });
302
- it('renders the SaveAsDialog when the Save as… button is clicked', async () => {
322
+ test('renders the SaveAsDialog when the Save as… button is clicked', async () => {
323
+ const user = _userEvent.default.setup();
303
324
  renderFileMenu(fullAccessProps);
304
325
  await openDropdown();
305
- _react.fireEvent.click(_react.screen.getByTestId(MENU_ITEMS.SAVE_AS.testId));
326
+ await user.click(_react.screen.getByTestId(MENU_ITEMS.SAVE_AS.testId));
306
327
  expect(await _react.screen.findByText('Save visualization as', {
307
328
  selector: 'h1'
308
329
  })).toBeVisible();
309
330
  });
310
- it('renders the SaveAsDialog when the Save… button is clicked but no fileObject is present', async () => {
331
+ test('renders the SaveAsDialog when the Save… button is clicked but no fileObject is present', async () => {
332
+ const user = _userEvent.default.setup();
311
333
  const customProps = {
312
334
  fileObject: {
313
335
  // NOTE: no `id` field
@@ -318,22 +340,24 @@ describe('The FileMenu component ', () => {
318
340
  };
319
341
  renderFileMenu(customProps);
320
342
  await openDropdown();
321
- _react.fireEvent.click(_react.screen.getByTestId(MENU_ITEMS.SAVE.testId));
343
+ await user.click(_react.screen.getByTestId(MENU_ITEMS.SAVE.testId));
322
344
  expect(await _react.screen.findByText('Save visualization as', {
323
345
  selector: 'h1'
324
346
  })).toBeVisible();
325
347
  });
326
- it('calls the onSave callback when the Save button is clicked and a fileObject is present', async () => {
348
+ test('calls the onSave callback when the Save button is clicked and a fileObject is present', async () => {
349
+ const user = _userEvent.default.setup();
327
350
  renderFileMenu(fullAccessProps);
328
351
  await openDropdown();
329
- _react.fireEvent.click(_react.screen.getByTestId(MENU_ITEMS.SAVE.testId));
352
+ await user.click(_react.screen.getByTestId(MENU_ITEMS.SAVE.testId));
330
353
  expect(_react.screen.queryByText('Open a visualization')).not.toBeVisible();
331
354
  expect(onSave).toHaveBeenCalledTimes(1);
332
355
  });
333
- it('calls the onNew callback when the New button is clicked', async () => {
356
+ test('calls the onNew callback when the New button is clicked', async () => {
357
+ const user = _userEvent.default.setup();
334
358
  renderFileMenu();
335
359
  await openDropdown();
336
- _react.fireEvent.click(_react.screen.getByTestId(MENU_ITEMS.NEW.testId));
360
+ await user.click(_react.screen.getByTestId(MENU_ITEMS.NEW.testId));
337
361
  expect(_react.screen.queryByText('Open a visualization')).not.toBeVisible();
338
362
  expect(onNew).toHaveBeenCalledTimes(1);
339
363
  });
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
 
3
- var _ui = require("@dhis2/ui");
4
- var _enzyme = require("enzyme");
5
- 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"));
6
6
  var _GetLinkDialog = require("../GetLinkDialog.js");
7
7
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
8
8
  const testBaseUrl = 'http://host.tld/test/';
@@ -45,49 +45,45 @@ const tests = [{
45
45
  id: 'map-id-2',
46
46
  expected: 'http://localhost/dhis-web-maps/#/map-id-2'
47
47
  }];
48
- describe('The FileMenu - GetLinkDialog component', () => {
49
- let shallowGetLinkDialog;
48
+ describe('FileMenu - GetLinkDialog component', () => {
50
49
  const onClose = jest.fn();
51
- const getGetLinkDialogComponent = props => {
52
- if (!shallowGetLinkDialog) {
53
- shallowGetLinkDialog = (0, _enzyme.shallow)(/*#__PURE__*/_react.default.createElement(_GetLinkDialog.GetLinkDialog, props));
54
- }
55
- return shallowGetLinkDialog;
50
+ const props = {
51
+ type: tests[0].type,
52
+ id: tests[0].id,
53
+ onClose
56
54
  };
57
- beforeEach(() => {
58
- shallowGetLinkDialog = undefined;
55
+ test('renders a Modal component', () => {
56
+ (0, _react.render)(/*#__PURE__*/_react2.default.createElement(_GetLinkDialog.GetLinkDialog, props));
57
+ const modalComponent = _react.screen.getByTestId('dhis2-uicore-modal');
58
+ expect(modalComponent).toBeInTheDocument();
59
+ expect(_react.screen.getByLabelText('Close modal dialog')).toBeInTheDocument();
59
60
  });
60
- it('renders a Modal component', () => {
61
- expect(getGetLinkDialogComponent({
62
- type: tests[0].type,
63
- id: tests[0].id
64
- }).find(_ui.Modal)).toHaveLength(1);
61
+ test('calls the onClose callback when the Close button is clicked', async () => {
62
+ const user = _userEvent.default.setup();
63
+ (0, _react.render)(/*#__PURE__*/_react2.default.createElement(_GetLinkDialog.GetLinkDialog, props));
64
+ const closeButton = _react.screen.getByRole('button', {
65
+ name: 'Close'
66
+ });
67
+ await user.click(closeButton);
68
+ expect(onClose).toHaveBeenCalledTimes(1);
65
69
  });
66
- test.each(tests)('renders a <a> tag containing the correct app path and id', _ref => {
67
- let {
68
- apiVersion,
69
- baseUrl,
70
- type,
71
- id,
72
- expected
73
- } = _ref;
70
+ test.each(tests)('renders a <a> tag containing the correct app path and id', ({
71
+ apiVersion,
72
+ baseUrl,
73
+ type,
74
+ id,
75
+ expected
76
+ }) => {
74
77
  mockUseConfig.mockReturnValueOnce({
75
78
  apiVersion: apiVersion || 42,
76
79
  baseUrl
77
80
  });
78
- const href = getGetLinkDialogComponent({
79
- type,
80
- id,
81
- onClose
82
- }).find('a').prop('href');
83
- expect(href).toMatch(expected);
84
- });
85
- it('calls the onClose callback when the Close button is clicked', () => {
86
- getGetLinkDialogComponent({
87
- type: tests[0].type,
88
- id: tests[0].id,
89
- onClose
90
- }).find(_ui.Button).at(1).simulate('click');
91
- expect(onClose).toHaveBeenCalled();
81
+ (0, _react.render)(/*#__PURE__*/_react2.default.createElement(_GetLinkDialog.GetLinkDialog, {
82
+ onClose: onClose,
83
+ type: type,
84
+ id: id
85
+ }));
86
+ const anchorElement = _react.screen.getByRole('link');
87
+ expect(anchorElement.href).toMatch(expected);
92
88
  });
93
89
  });
@@ -1,12 +1,12 @@
1
1
  "use strict";
2
2
 
3
- require("@testing-library/jest-dom");
4
3
  var _react = require("@testing-library/react");
4
+ var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
5
5
  var _react2 = _interopRequireDefault(require("react"));
6
6
  var _RenameDialog = require("../RenameDialog.js");
7
7
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
8
8
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
9
- describe('The FileMenu - RenameDialog component', () => {
9
+ describe('FileMenu - RenameDialog component', () => {
10
10
  const onClose = jest.fn();
11
11
  const onRename = jest.fn();
12
12
  const props = {
@@ -21,18 +21,18 @@ describe('The FileMenu - RenameDialog component', () => {
21
21
  jest.resetAllMocks();
22
22
  jest.clearAllMocks();
23
23
  });
24
- it('renders a Modal component with the correct heading', () => {
24
+ test('renders a Modal component with the correct heading', () => {
25
25
  (0, _react.render)(/*#__PURE__*/_react2.default.createElement(_RenameDialog.RenameDialog, props));
26
26
  expect(_react.screen.getAllByTestId('file-menu-rename-modal')).toHaveLength(1);
27
27
  expect(_react.screen.getByRole('heading')).toHaveTextContent('Rename visualization');
28
28
  });
29
- it('renders a InputField for name', () => {
29
+ test('renders a InputField for name', () => {
30
30
  (0, _react.render)(/*#__PURE__*/_react2.default.createElement(_RenameDialog.RenameDialog, props));
31
31
  expect(_react.screen.getByTestId('file-menu-rename-modal-name')).toBeInTheDocument();
32
32
  expect(_react.screen.getByText('Name')).toBeInTheDocument();
33
33
  expect(_react.screen.getByText('Name')).toBeVisible();
34
34
  });
35
- it('renders a InputField for name with prefilled value if name is in object prop', () => {
35
+ test('renders a InputField for name with prefilled value if name is in object prop', () => {
36
36
  (0, _react.render)(/*#__PURE__*/_react2.default.createElement(_RenameDialog.RenameDialog, _extends({}, props, {
37
37
  object: {
38
38
  ...props.object,
@@ -44,7 +44,7 @@ describe('The FileMenu - RenameDialog component', () => {
44
44
  expect(inputElement).toBeInTheDocument();
45
45
  expect(inputElement).toHaveValue('Vis test');
46
46
  });
47
- it('renders a TextAreaField for description', () => {
47
+ test('renders a TextAreaField for description', () => {
48
48
  (0, _react.render)(/*#__PURE__*/_react2.default.createElement(_RenameDialog.RenameDialog, props));
49
49
 
50
50
  // Locate the label by its text
@@ -55,7 +55,7 @@ describe('The FileMenu - RenameDialog component', () => {
55
55
  expect(descriptionField).toBeInTheDocument();
56
56
  expect(descriptionField).toBeVisible();
57
57
  });
58
- it('renders a TextAreaField for description with prefilled value if description is in object prop', () => {
58
+ test('renders a TextAreaField for description with prefilled value if description is in object prop', () => {
59
59
  (0, _react.render)(/*#__PURE__*/_react2.default.createElement(_RenameDialog.RenameDialog, _extends({}, props, {
60
60
  object: {
61
61
  ...props.object,
@@ -71,15 +71,21 @@ describe('The FileMenu - RenameDialog component', () => {
71
71
  expect(descriptionField).toBeInTheDocument();
72
72
  expect(descriptionField).toHaveValue('Long explanation of the visualization');
73
73
  });
74
- it('calls the onClose callback when the Cancel button is clicked', async () => {
74
+ test('calls the onClose callback when the Cancel button is clicked', async () => {
75
+ const user = _userEvent.default.setup();
75
76
  (0, _react.render)(/*#__PURE__*/_react2.default.createElement(_RenameDialog.RenameDialog, props));
76
- await _react.fireEvent.click(_react.screen.getByTestId('file-menu-rename-modal-cancel'));
77
+ await user.click(_react.screen.getByRole('button', {
78
+ name: 'Cancel'
79
+ }));
77
80
  expect(onClose).toHaveBeenCalled();
78
81
  expect(onRename).not.toHaveBeenCalled();
79
82
  });
80
- it('calls the onRename callback when the Rename button is clicked', async () => {
83
+ test('calls the onRename callback when the Rename button is clicked', async () => {
84
+ const user = _userEvent.default.setup();
81
85
  (0, _react.render)(/*#__PURE__*/_react2.default.createElement(_RenameDialog.RenameDialog, props));
82
- await _react.fireEvent.click(_react.screen.getByTestId('file-menu-rename-modal-rename'));
86
+ await user.click(_react.screen.getByRole('button', {
87
+ name: 'Rename'
88
+ }));
83
89
  expect(onRename).toHaveBeenCalled();
84
90
  expect(onClose).toHaveBeenCalled();
85
91
  });
@@ -1,56 +1,63 @@
1
1
  "use strict";
2
2
 
3
- var _ui = require("@dhis2/ui");
4
- var _enzyme = require("enzyme");
5
- 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"));
6
6
  var _SaveAsDialog = require("../SaveAsDialog.js");
7
7
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
8
- describe('The FileMenu - SaveAsDialog component', () => {
9
- let shallowSaveAsDialog;
10
- let props;
8
+ describe('FileMenu - SaveAsDialog component', () => {
11
9
  const onClose = jest.fn();
12
10
  const onSaveAs = jest.fn();
13
- const getSaveAsDialogComponent = props => {
14
- if (!shallowSaveAsDialog) {
15
- shallowSaveAsDialog = (0, _enzyme.shallow)(/*#__PURE__*/_react.default.createElement(_SaveAsDialog.SaveAsDialog, props));
16
- }
17
- return shallowSaveAsDialog;
11
+ const props = {
12
+ type: 'visualization',
13
+ object: {
14
+ name: 'Save as name test',
15
+ description: 'Save as description test'
16
+ },
17
+ onClose,
18
+ onSaveAs
18
19
  };
19
- beforeEach(() => {
20
- shallowSaveAsDialog = undefined;
21
- props = {
22
- type: 'visualization',
23
- object: {
24
- name: 'Save as name test',
25
- description: 'Save as description test'
26
- },
27
- onClose,
28
- onSaveAs
29
- };
20
+ test('renders a Modal component', () => {
21
+ (0, _react.render)(/*#__PURE__*/_react2.default.createElement(_SaveAsDialog.SaveAsDialog, props));
22
+ expect(_react.screen.getByTestId('file-menu-saveas-modal')).toBeInTheDocument();
30
23
  });
31
- it('renders a Modal component', () => {
32
- expect(getSaveAsDialogComponent(props).find(_ui.Modal)).toHaveLength(1);
24
+ test('renders a ModalTitle containing the type prop', () => {
25
+ (0, _react.render)(/*#__PURE__*/_react2.default.createElement(_SaveAsDialog.SaveAsDialog, props));
26
+ expect(_react.screen.getByRole('heading')).toHaveTextContent(`Save ${props.type} as`);
33
27
  });
34
- it('renders a ModalTitle containing the type prop', () => {
35
- expect(getSaveAsDialogComponent(props).find(_ui.ModalTitle).childAt(0).text()).toEqual(`Save ${props.type} as`);
28
+ test('renders a InputField for name with prefilled value from the object prop', () => {
29
+ (0, _react.render)(/*#__PURE__*/_react2.default.createElement(_SaveAsDialog.SaveAsDialog, props));
30
+ expect(_react.screen.getByTestId('file-menu-saveas-modal-name')).toBeInTheDocument();
31
+ expect(_react.screen.getByText('Name')).toBeInTheDocument();
32
+ expect(_react.screen.getByText('Name')).toBeVisible();
33
+ expect(_react.screen.getByDisplayValue('Save as name test (copy)')).toBeInTheDocument();
36
34
  });
37
- it('renders a InputField for name with prefilled value from the object prop', () => {
38
- const nameInputField = getSaveAsDialogComponent(props).findWhere(n => n.prop('label') === 'Name');
39
- expect(nameInputField.prop('value')).toEqual('Save as name test (copy)');
35
+ test('renders a TextAreaField for description with prefilled value from the object prop', () => {
36
+ (0, _react.render)(/*#__PURE__*/_react2.default.createElement(_SaveAsDialog.SaveAsDialog, props));
37
+ expect(_react.screen.getByTestId('file-menu-saveas-modal-description')).toBeInTheDocument();
38
+ expect(_react.screen.getByText('Description')).toBeInTheDocument();
39
+ expect(_react.screen.getByText('Description')).toBeVisible();
40
+ expect(_react.screen.getByDisplayValue(props.object.description)).toBeInTheDocument();
40
41
  });
41
- it('renders a TextAreaField for description with prefilled value from the object prop', () => {
42
- const descriptionInputField = getSaveAsDialogComponent(props).findWhere(n => n.prop('label') === 'Description');
43
- expect(descriptionInputField.prop('value')).toEqual(props.object.description);
44
- });
45
- it('calls the onSaveAs callback when the Save button is clicked', () => {
46
- getSaveAsDialogComponent(props).find(_ui.Button).at(1).simulate('click');
42
+ test('calls the onSaveAs callback when the Save button is clicked', async () => {
43
+ const user = _userEvent.default.setup();
44
+ (0, _react.render)(/*#__PURE__*/_react2.default.createElement(_SaveAsDialog.SaveAsDialog, props));
45
+ const saveButton = _react.screen.getByRole('button', {
46
+ name: 'Save'
47
+ });
48
+ await user.click(saveButton);
47
49
  expect(onSaveAs).toHaveBeenCalledWith({
48
50
  name: 'Save as name test (copy)',
49
51
  description: props.object.description
50
52
  });
51
53
  });
52
- it('calls the onClose callback when the Cancel button is clicked', () => {
53
- getSaveAsDialogComponent(props).find(_ui.Button).first().simulate('click');
54
+ test('calls the onClose callback when the Cancel button is clicked', async () => {
55
+ const user = _userEvent.default.setup();
56
+ (0, _react.render)(/*#__PURE__*/_react2.default.createElement(_SaveAsDialog.SaveAsDialog, props));
57
+ const cancelButton = _react.screen.getByRole('button', {
58
+ name: 'Cancel'
59
+ });
60
+ await user.click(cancelButton);
54
61
  expect(onClose).toHaveBeenCalled();
55
62
  });
56
63
  });
@@ -43,12 +43,11 @@ const appPathFor = (fileType, id, apiVersion) => {
43
43
  }
44
44
  };
45
45
  exports.appPathFor = appPathFor;
46
- const preparePayloadForSaveAs = _ref => {
47
- let {
48
- visualization,
49
- name,
50
- description
51
- } = _ref;
46
+ const preparePayloadForSaveAs = ({
47
+ visualization,
48
+ name,
49
+ description
50
+ }) => {
52
51
  delete visualization.id;
53
52
  delete visualization.created;
54
53
  delete visualization.createdBy;
@@ -65,12 +64,11 @@ const preparePayloadForSaveAs = _ref => {
65
64
  return visualization;
66
65
  };
67
66
  exports.preparePayloadForSaveAs = preparePayloadForSaveAs;
68
- const preparePayloadForSave = _ref2 => {
69
- let {
70
- visualization,
71
- name,
72
- description
73
- } = _ref2;
67
+ const preparePayloadForSave = ({
68
+ visualization,
69
+ name,
70
+ description
71
+ }) => {
74
72
  visualization.name = name || visualization.name || _d2I18n.default.t('Untitled {{visualizationType}}, {{date}}', {
75
73
  visualizationType: (0, _visTypes.getDisplayNameByVisType)(visualization.type),
76
74
  date: new Date().toLocaleDateString(undefined, {
@@ -10,37 +10,31 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
10
10
  var _react = _interopRequireDefault(require("react"));
11
11
  var _FilterStyle = _interopRequireDefault(require("./styles/Filter.style.js"));
12
12
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
- const Filter = _ref => {
14
- let {
15
- text,
16
- onChange,
17
- onClear,
18
- placeholder,
19
- type,
20
- dataTest
21
- } = _ref;
22
- return /*#__PURE__*/_react.default.createElement("div", {
23
- className: `jsx-${_FilterStyle.default.__hash}` + " " + "container"
24
- }, /*#__PURE__*/_react.default.createElement(_ui.InputField, {
25
- placeholder: placeholder,
26
- onChange: ref => ref.value.length ? onChange(ref.value) : onClear(),
27
- value: text,
28
- dense: true,
29
- type: type,
30
- dataTest: dataTest
31
- }), /*#__PURE__*/_react.default.createElement(_style.default, {
32
- id: _FilterStyle.default.__hash
33
- }, _FilterStyle.default));
34
- };
13
+ const Filter = ({
14
+ text,
15
+ onChange,
16
+ onClear,
17
+ placeholder,
18
+ type = 'text',
19
+ dataTest
20
+ }) => /*#__PURE__*/_react.default.createElement("div", {
21
+ className: `jsx-${_FilterStyle.default.__hash}` + " " + "container"
22
+ }, /*#__PURE__*/_react.default.createElement(_ui.InputField, {
23
+ placeholder: placeholder,
24
+ onChange: ref => ref.value.length ? onChange(ref.value) : onClear(),
25
+ value: text,
26
+ dense: true,
27
+ type: type,
28
+ dataTest: dataTest
29
+ }), /*#__PURE__*/_react.default.createElement(_style.default, {
30
+ id: _FilterStyle.default.__hash
31
+ }, _FilterStyle.default));
35
32
  Filter.propTypes = {
36
33
  placeholder: _propTypes.default.string.isRequired,
37
- type: _propTypes.default.string.isRequired,
38
34
  onChange: _propTypes.default.func.isRequired,
39
35
  onClear: _propTypes.default.func.isRequired,
40
36
  dataTest: _propTypes.default.string,
41
- text: _propTypes.default.string
42
- };
43
- Filter.defaultProps = {
44
- type: 'text'
37
+ text: _propTypes.default.string,
38
+ type: _propTypes.default.string
45
39
  };
46
40
  var _default = exports.default = Filter;