@axinom/mosaic-ui 0.69.0-rc.2 → 0.69.0-rc.21

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 (326) hide show
  1. package/dist/components/Buttons/Button/Button.d.ts +3 -3
  2. package/dist/components/Buttons/Button/Button.d.ts.map +1 -1
  3. package/dist/components/Buttons/Button.model.d.ts +2 -1
  4. package/dist/components/Buttons/Button.model.d.ts.map +1 -1
  5. package/dist/components/ConfirmDialog/ConfirmDialog.d.ts.map +1 -1
  6. package/dist/components/ConfirmDialog/ConfirmDialog.models.d.ts +0 -1
  7. package/dist/components/ConfirmDialog/ConfirmDialog.models.d.ts.map +1 -1
  8. package/dist/components/DateTime/TimePicker/ScrollColumn/ScrollColumn.d.ts +2 -2
  9. package/dist/components/DateTime/TimePicker/ScrollColumn/ScrollColumn.d.ts.map +1 -1
  10. package/dist/components/DynamicDataList/DynamicDataList.d.ts +1 -1
  11. package/dist/components/DynamicDataList/DynamicDataList.d.ts.map +1 -1
  12. package/dist/components/DynamicDataList/DynamicDataList.model.d.ts +0 -1
  13. package/dist/components/DynamicDataList/DynamicDataList.model.d.ts.map +1 -1
  14. package/dist/components/DynamicDataList/DynamicListDataEntry/DynamicListDataEntry.d.ts +2 -2
  15. package/dist/components/DynamicDataList/DynamicListDataEntry/DynamicListDataEntry.d.ts.map +1 -1
  16. package/dist/components/DynamicDataList/DynamicListDataEntry/Renderers/createInputRenderer/createInputRenderer.d.ts +1 -1
  17. package/dist/components/DynamicDataList/DynamicListDataEntry/Renderers/createInputRenderer/createInputRenderer.d.ts.map +1 -1
  18. package/dist/components/DynamicDataList/DynamicListDataEntry/Renderers/createSelectRenderer/createSelectRenderer.d.ts +1 -1
  19. package/dist/components/DynamicDataList/DynamicListDataEntry/Renderers/createSelectRenderer/createSelectRenderer.d.ts.map +1 -1
  20. package/dist/components/DynamicDataList/DynamicListDataEntry/Renderers/renderers.model.d.ts +2 -0
  21. package/dist/components/DynamicDataList/DynamicListDataEntry/Renderers/renderers.model.d.ts.map +1 -1
  22. package/dist/components/DynamicDataList/DynamicListHeader/DynamicListHeader.d.ts +2 -2
  23. package/dist/components/DynamicDataList/DynamicListHeader/DynamicListHeader.d.ts.map +1 -1
  24. package/dist/components/DynamicDataList/DynamicListRow/DynamicListRow.d.ts +2 -2
  25. package/dist/components/DynamicDataList/DynamicListRow/DynamicListRow.d.ts.map +1 -1
  26. package/dist/components/DynamicDataList/helpers/DynamicListReducer/DynamicListReducer.actions.d.ts +2 -2
  27. package/dist/components/DynamicDataList/helpers/DynamicListReducer/DynamicListReducer.actions.d.ts.map +1 -1
  28. package/dist/components/DynamicDataList/helpers/DynamicListReducer/DynamicListReducer.d.ts.map +1 -1
  29. package/dist/components/DynamicDataList/helpers/DynamicListReducer/DynamicListReducer.init.d.ts.map +1 -1
  30. package/dist/components/DynamicDataList/helpers/useColumnDefs.d.ts +1 -1
  31. package/dist/components/DynamicDataList/helpers/useColumnDefs.d.ts.map +1 -1
  32. package/dist/components/DynamicDataList/helpers/useDataHandler.d.ts +1 -1
  33. package/dist/components/DynamicDataList/helpers/useDataHandler.d.ts.map +1 -1
  34. package/dist/components/DynamicDataList/helpers/useRowAnimation.d.ts.map +1 -1
  35. package/dist/components/DynamicDataList/helpers/useRowEditing.d.ts.map +1 -1
  36. package/dist/components/EmptyStation/EmptyStation.d.ts.map +1 -1
  37. package/dist/components/Explorer/BulkEdit/FormFieldsConfigConverter.d.ts.map +1 -1
  38. package/dist/components/Explorer/BulkEdit/GenerateMutation.d.ts.map +1 -1
  39. package/dist/components/Explorer/BulkEdit/helpers/FieldWrapper.d.ts.map +1 -1
  40. package/dist/components/Explorer/BulkEdit/useBulkEdit.d.ts.map +1 -1
  41. package/dist/components/Explorer/Explorer.d.ts +1 -1
  42. package/dist/components/Explorer/Explorer.d.ts.map +1 -1
  43. package/dist/components/Explorer/Explorer.model.d.ts +0 -1
  44. package/dist/components/Explorer/Explorer.model.d.ts.map +1 -1
  45. package/dist/components/Explorer/NavigationExplorer/NavigationExplorer.d.ts +1 -1
  46. package/dist/components/Explorer/NavigationExplorer/NavigationExplorer.d.ts.map +1 -1
  47. package/dist/components/Explorer/QuickEdit/useQuickEdit.d.ts.map +1 -1
  48. package/dist/components/Explorer/SelectionExplorer/SelectionExplorer.d.ts +1 -1
  49. package/dist/components/Explorer/SelectionExplorer/SelectionExplorer.d.ts.map +1 -1
  50. package/dist/components/Explorer/helpers/useActions.d.ts +0 -1
  51. package/dist/components/Explorer/helpers/useActions.d.ts.map +1 -1
  52. package/dist/components/Explorer/helpers/useDataProvider.d.ts +0 -1
  53. package/dist/components/Explorer/helpers/useDataProvider.d.ts.map +1 -1
  54. package/dist/components/Explorer/helpers/useFilters.d.ts +0 -1
  55. package/dist/components/Explorer/helpers/useFilters.d.ts.map +1 -1
  56. package/dist/components/FieldSelection/FieldSelection.d.ts +1 -0
  57. package/dist/components/FieldSelection/FieldSelection.d.ts.map +1 -1
  58. package/dist/components/Filters/Filter/Filter.d.ts +2 -2
  59. package/dist/components/Filters/Filter/Filter.d.ts.map +1 -1
  60. package/dist/components/Filters/Filters.d.ts +2 -2
  61. package/dist/components/Filters/Filters.d.ts.map +1 -1
  62. package/dist/components/Filters/Filters.model.d.ts +0 -1
  63. package/dist/components/Filters/Filters.model.d.ts.map +1 -1
  64. package/dist/components/Filters/Validators/DateRangeFilterValidator.d.ts.map +1 -1
  65. package/dist/components/Filters/Validators/NumberRangeFilterValidator.d.ts.map +1 -1
  66. package/dist/components/FormElements/DynamicDataListControl/DynamicDataListControl.d.ts +0 -1
  67. package/dist/components/FormElements/DynamicDataListControl/DynamicDataListControl.d.ts.map +1 -1
  68. package/dist/components/FormElements/DynamicDataListControl/DynamicDataListField.d.ts +2 -2
  69. package/dist/components/FormElements/DynamicDataListControl/DynamicDataListField.d.ts.map +1 -1
  70. package/dist/components/FormElements/FormGroup/FormGroup.d.ts +12 -0
  71. package/dist/components/FormElements/FormGroup/FormGroup.d.ts.map +1 -0
  72. package/dist/components/FormElements/FormGroupTitle/FormGroupTitle.d.ts +5 -0
  73. package/dist/components/FormElements/FormGroupTitle/FormGroupTitle.d.ts.map +1 -1
  74. package/dist/components/FormElements/FormikDebug/FormikDebug.d.ts +0 -1
  75. package/dist/components/FormElements/FormikDebug/FormikDebug.d.ts.map +1 -1
  76. package/dist/components/FormElements/ReadOnly/ReadOnlyField.d.ts +2 -2
  77. package/dist/components/FormElements/ReadOnly/ReadOnlyField.d.ts.map +1 -1
  78. package/dist/components/FormElements/ReadOnlyText/ReadOnlyTextField.d.ts +2 -2
  79. package/dist/components/FormElements/ReadOnlyText/ReadOnlyTextField.d.ts.map +1 -1
  80. package/dist/components/FormElements/Tags/Tags.d.ts +2 -2
  81. package/dist/components/FormElements/Tags/Tags.d.ts.map +1 -1
  82. package/dist/components/FormElements/Tags/TagsField.d.ts +2 -2
  83. package/dist/components/FormElements/Tags/TagsField.d.ts.map +1 -1
  84. package/dist/components/FormElements/formStoryHelper.d.ts.map +1 -1
  85. package/dist/components/FormElements/index.d.ts +1 -0
  86. package/dist/components/FormElements/index.d.ts.map +1 -1
  87. package/dist/components/FormElements/useFormikError.d.ts.map +1 -1
  88. package/dist/components/FormStation/Create/Create.d.ts +2 -2
  89. package/dist/components/FormStation/Create/Create.d.ts.map +1 -1
  90. package/dist/components/FormStation/Details/Details.d.ts +2 -2
  91. package/dist/components/FormStation/Details/Details.d.ts.map +1 -1
  92. package/dist/components/FormStation/FormStation.d.ts +2 -2
  93. package/dist/components/FormStation/FormStation.d.ts.map +1 -1
  94. package/dist/components/FormStation/FormStationActions/FormStationActions.d.ts +1 -1
  95. package/dist/components/FormStation/FormStationActions/FormStationActions.d.ts.map +1 -1
  96. package/dist/components/FormStation/FormStationHeader/FormStationHeader.d.ts.map +1 -1
  97. package/dist/components/FormStation/SaveOnDemand/SaveOnDemand.d.ts +0 -1
  98. package/dist/components/FormStation/SaveOnDemand/SaveOnDemand.d.ts.map +1 -1
  99. package/dist/components/FormStation/SaveOnNavigate/handleNavigationAttempt.d.ts.map +1 -1
  100. package/dist/components/FormStation/helpers/useTitle.d.ts.map +1 -1
  101. package/dist/components/InfoPanel/hooks/useCollapse.d.ts +0 -1
  102. package/dist/components/InfoPanel/hooks/useCollapse.d.ts.map +1 -1
  103. package/dist/components/InlineMenu/InlineMenu.d.ts.map +1 -1
  104. package/dist/components/List/List.d.ts +2 -2
  105. package/dist/components/List/List.d.ts.map +1 -1
  106. package/dist/components/List/List.model.d.ts +0 -1
  107. package/dist/components/List/List.model.d.ts.map +1 -1
  108. package/dist/components/List/List.stories.helper.d.ts.map +1 -1
  109. package/dist/components/List/ListHeader/ColumnLabel/ColumnLabel.d.ts +2 -2
  110. package/dist/components/List/ListHeader/ColumnLabel/ColumnLabel.d.ts.map +1 -1
  111. package/dist/components/List/ListHeader/ListHeader.d.ts +2 -2
  112. package/dist/components/List/ListHeader/ListHeader.d.ts.map +1 -1
  113. package/dist/components/List/ListRow/ListRow.d.ts +2 -4
  114. package/dist/components/List/ListRow/ListRow.d.ts.map +1 -1
  115. package/dist/components/List/ListRow/ListRowCell/ListRowCell.d.ts +0 -1
  116. package/dist/components/List/ListRow/ListRowCell/ListRowCell.d.ts.map +1 -1
  117. package/dist/components/List/ListRow/ListRowCell/renderData.d.ts.map +1 -1
  118. package/dist/components/List/ListRow/ListRowLoader.d.ts +2 -2
  119. package/dist/components/List/ListRow/ListRowLoader.d.ts.map +1 -1
  120. package/dist/components/List/ListRow/Renderers/BooleanDotRenderer/BooleanDotRenderer.d.ts +0 -1
  121. package/dist/components/List/ListRow/Renderers/BooleanDotRenderer/BooleanDotRenderer.d.ts.map +1 -1
  122. package/dist/components/List/ListRow/Renderers/DateRenderer/DateRenderer.d.ts.map +1 -1
  123. package/dist/components/List/ListRow/Renderers/ExternalLinkRenderer/ExternalLinkRenderer.d.ts.map +1 -1
  124. package/dist/components/List/ListRow/Renderers/StateRenderer/StateRenderer.d.ts +1 -1
  125. package/dist/components/List/ListRow/Renderers/StateRenderer/StateRenderer.d.ts.map +1 -1
  126. package/dist/components/List/ListRow/Renderers/TagsRenderer/TagsRenderer.d.ts +0 -1
  127. package/dist/components/List/ListRow/Renderers/TagsRenderer/TagsRenderer.d.ts.map +1 -1
  128. package/dist/components/List/ListRow/Renderers/TimestampRenderer/TimestampRenderer.d.ts.map +1 -1
  129. package/dist/components/List/ListRowRenderer/ListRowRenderer.d.ts.map +1 -1
  130. package/dist/components/List/helpers.d.ts.map +1 -1
  131. package/dist/components/List/useColumnsSize.d.ts +0 -2
  132. package/dist/components/List/useColumnsSize.d.ts.map +1 -1
  133. package/dist/components/Loaders/skeletons.d.ts +0 -1
  134. package/dist/components/Loaders/skeletons.d.ts.map +1 -1
  135. package/dist/components/Modal/useModal.d.ts.map +1 -1
  136. package/dist/components/PageHeader/PageHeaderActionsGroup/PageHeaderActionsGroupsContext.d.ts +0 -1
  137. package/dist/components/PageHeader/PageHeaderActionsGroup/PageHeaderActionsGroupsContext.d.ts.map +1 -1
  138. package/dist/components/PageHeader/helpers/useElementWidthObserver.d.ts +1 -2
  139. package/dist/components/PageHeader/helpers/useElementWidthObserver.d.ts.map +1 -1
  140. package/dist/components/Tabs/TabList/ScrollContainer/useScroll.d.ts.map +1 -1
  141. package/dist/components/Utils/Postgraphile/FilterTransformer.d.ts.map +1 -1
  142. package/dist/components/Utils/Postgraphile/SortTransformer.d.ts.map +1 -1
  143. package/dist/components/Utils/State/GlobalState.d.ts.map +1 -1
  144. package/dist/helpers/idleCallbackHelpers.d.ts +0 -1
  145. package/dist/helpers/idleCallbackHelpers.d.ts.map +1 -1
  146. package/dist/helpers/storybook.d.ts.map +1 -1
  147. package/dist/helpers/testing.d.ts +6 -21
  148. package/dist/helpers/testing.d.ts.map +1 -1
  149. package/dist/helpers/utils.d.ts +1 -2
  150. package/dist/helpers/utils.d.ts.map +1 -1
  151. package/dist/hooks/useDEBUGDetectChanges/useDEBUGDetectChanges.d.ts.map +1 -1
  152. package/dist/hooks/useDEBUGRenderCount/useDEBUGRenderCount.d.ts.map +1 -1
  153. package/dist/hooks/useDebounce/useDebounce.d.ts +1 -2
  154. package/dist/hooks/useDebounce/useDebounce.d.ts.map +1 -1
  155. package/dist/hooks/useExpand/useExpand.d.ts.map +1 -1
  156. package/dist/hooks/useReactRouterPause/utils.d.ts.map +1 -1
  157. package/dist/hooks/useResize/useResize.d.ts +0 -1
  158. package/dist/hooks/useResize/useResize.d.ts.map +1 -1
  159. package/dist/hooks/useTabTitle/useTabTitle.d.ts.map +1 -1
  160. package/dist/hooks/useValueOrOnDemand/useValueOrOnDemand.d.ts +1 -1
  161. package/dist/hooks/useValueOrOnDemand/useValueOrOnDemand.d.ts.map +1 -1
  162. package/dist/index.es.js +4 -4
  163. package/dist/index.es.js.map +1 -1
  164. package/dist/index.js +4 -4
  165. package/dist/index.js.map +1 -1
  166. package/dist/utils/ErrorMapper/ErrorMapper.d.ts.map +1 -1
  167. package/dist/utils/ErrorTypeToStationError.d.ts.map +1 -1
  168. package/dist/utils/ToolTipHelpers.d.ts.map +1 -1
  169. package/dist/validators/timestamp/timestamp.d.ts.map +1 -1
  170. package/package.json +11 -10
  171. package/src/components/Accordion/Accordion.spec.tsx +1 -1
  172. package/src/components/Accordion/AccordionItem/AccordionItem.spec.tsx +2 -2
  173. package/src/components/Actions/Action/Action.spec.tsx +189 -228
  174. package/src/components/Actions/Actions.spec.tsx +42 -32
  175. package/src/components/Buttons/Button/Button.spec.tsx +110 -115
  176. package/src/components/Buttons/Button/Button.tsx +4 -0
  177. package/src/components/Buttons/Button.model.ts +2 -0
  178. package/src/components/Buttons/CompositeButton/CompositeButton.spec.tsx +122 -121
  179. package/src/components/Buttons/TextButton/TextButton.spec.tsx +85 -90
  180. package/src/components/ConfirmDialog/ConfirmDialog.spec.tsx +75 -79
  181. package/src/components/DateTime/DatePicker/DatePicker.spec.tsx +8 -7
  182. package/src/components/DateTime/DateTimePicker.spec.tsx +43 -62
  183. package/src/components/DateTime/TimePicker/ScrollColumn/ScrollColumn.spec.tsx +19 -16
  184. package/src/components/DateTime/TimePicker/TimePicker.spec.tsx +44 -73
  185. package/src/components/DynamicDataList/DynamicDataList.spec.tsx +112 -107
  186. package/src/components/DynamicDataList/DynamicListDataEntry/DynamicListDataEntry.spec.tsx +91 -144
  187. package/src/components/DynamicDataList/DynamicListDataEntry/DynamicListDataEntry.tsx +38 -20
  188. package/src/components/DynamicDataList/DynamicListDataEntry/Renderers/createInputRenderer/createInputRenderer.spec.tsx +18 -15
  189. package/src/components/DynamicDataList/DynamicListDataEntry/Renderers/createInputRenderer/createInputRenderer.tsx +2 -0
  190. package/src/components/DynamicDataList/DynamicListDataEntry/Renderers/createSelectRenderer/createSelectRenderer.spec.tsx +53 -28
  191. package/src/components/DynamicDataList/DynamicListDataEntry/Renderers/createSelectRenderer/createSelectRenderer.tsx +2 -0
  192. package/src/components/DynamicDataList/DynamicListDataEntry/Renderers/renderers.model.ts +2 -0
  193. package/src/components/DynamicDataList/DynamicListHeader/DynamicListHeader.scss +19 -5
  194. package/src/components/DynamicDataList/DynamicListHeader/DynamicListHeader.spec.tsx +72 -76
  195. package/src/components/DynamicDataList/DynamicListRow/DynamicListRow.scss +9 -2
  196. package/src/components/DynamicDataList/DynamicListRow/DynamicListRow.spec.tsx +86 -113
  197. package/src/components/DynamicDataList/helpers/DynamicListReducer/DynamicListReducer.actions.spec.ts +1 -0
  198. package/src/components/DynamicDataList/helpers/DynamicListReducer/DynamicListReducer.init.spec.ts +1 -0
  199. package/src/components/DynamicDataList/helpers/DynamicListReducer/DynamicListReducer.spec.ts +6 -5
  200. package/src/components/EmptyStation/EmptyStation.spec.tsx +41 -37
  201. package/src/components/Explorer/BulkEdit/FormFieldsConfigConverter.spec.tsx +29 -28
  202. package/src/components/Explorer/BulkEdit/FormFieldsConfigConverter.tsx +1 -0
  203. package/src/components/Explorer/BulkEdit/GenerateMutation.spec.tsx +1 -0
  204. package/src/components/Explorer/BulkEdit/helpers/FieldWrapper.scss +1 -0
  205. package/src/components/Explorer/BulkEdit/helpers/FieldWrapper.tsx +1 -0
  206. package/src/components/Explorer/Explorer.spec.tsx +513 -825
  207. package/src/components/Explorer/NavigationExplorer/NavigationExplorer.spec.tsx +90 -131
  208. package/src/components/Explorer/QuickEdit/useQuickEdit.spec.tsx +36 -56
  209. package/src/components/Explorer/SelectionExplorer/SelectionExplorer.spec.tsx +59 -65
  210. package/src/components/Explorer/helpers/InMemoryDataProvider.spec.ts +1 -0
  211. package/src/components/Explorer/helpers/useFilters.spec.tsx +13 -11
  212. package/src/components/Explorer/helpers/useStationMessage.spec.tsx +4 -3
  213. package/src/components/Explorer/helpers/useSubtitle.spec.tsx +1 -0
  214. package/src/components/FieldSelection/FieldSelection.scss +1 -1
  215. package/src/components/FieldSelection/FieldSelection.spec.tsx +1 -1
  216. package/src/components/FieldSelection/FieldSelection.tsx +6 -2
  217. package/src/components/Filters/Filter/Filter.spec.tsx +78 -47
  218. package/src/components/Filters/Filters.spec.tsx +56 -58
  219. package/src/components/Filters/SelectionTypes/DateTimeFilter/DateTimeFilter.spec.tsx +45 -46
  220. package/src/components/Filters/SelectionTypes/FreeTextFilter/FreeTextFilter.spec.tsx +23 -23
  221. package/src/components/Filters/SelectionTypes/NumericTextFilter/NumericTextFilter.spec.tsx +37 -28
  222. package/src/components/Filters/SelectionTypes/OptionsFilter/OptionsFilter.spec.tsx +14 -12
  223. package/src/components/Filters/Validators/DateRangeFilterValidator.spec.ts +1 -0
  224. package/src/components/Filters/Validators/NumberRangeFilterValidator.spec.ts +1 -0
  225. package/src/components/FormElements/BooleanView/BooleanViewField.spec.tsx +34 -31
  226. package/src/components/FormElements/Checkbox/Checkbox.spec.tsx +129 -128
  227. package/src/components/FormElements/CustomTags/CustomTags.spec.tsx +312 -446
  228. package/src/components/FormElements/DateTimeField/DateTimeText.spec.tsx +61 -52
  229. package/src/components/FormElements/DynamicDataListControl/DynamicDataListControl.spec.tsx +19 -24
  230. package/src/components/FormElements/FileUploadControl/FileUploadControl.spec.tsx +67 -60
  231. package/src/components/FormElements/FormElementContainer/FormElementContainer.spec.tsx +13 -12
  232. package/src/components/FormElements/FormGroup/FormGroup.scss +62 -0
  233. package/src/components/FormElements/FormGroup/FormGroup.stories.tsx +25 -0
  234. package/src/components/FormElements/FormGroup/FormGroup.tsx +60 -0
  235. package/src/components/FormElements/FormGroupTitle/FormGroupTitle.tsx +5 -0
  236. package/src/components/FormElements/Link/LinkField.spec.tsx +24 -23
  237. package/src/components/FormElements/MaskedSingleLineText/MaskedSingleLineText.spec.tsx +4 -3
  238. package/src/components/FormElements/Radio/Radio.spec.tsx +170 -172
  239. package/src/components/FormElements/ReadOnly/ReadOnlyField.spec.tsx +23 -22
  240. package/src/components/FormElements/ReadOnlyText/ReadOnlyTextField.spec.tsx +23 -22
  241. package/src/components/FormElements/Select/Select.spec.tsx +30 -29
  242. package/src/components/FormElements/SingleLineText/SingleLineText.spec.tsx +46 -42
  243. package/src/components/FormElements/Tags/Tags.spec.tsx +59 -53
  244. package/src/components/FormElements/TextArea/TextArea.spec.tsx +44 -29
  245. package/src/components/FormElements/ToggleButton/ToggleButton.spec.tsx +188 -165
  246. package/src/components/FormElements/index.ts +1 -0
  247. package/src/components/FormStation/FormStation.spec.tsx +273 -198
  248. package/src/components/FormStation/FormStation.stories.tsx +15 -13
  249. package/src/components/FormStation/FormStationHeader/FormStationHeader.tsx +5 -3
  250. package/src/components/FormStation/SaveOnNavigate/SaveOnNavigate.spec.tsx +23 -20
  251. package/src/components/FormStation/SaveOnNavigate/handleNavigationAttempt.spec.ts +25 -24
  252. package/src/components/FormStation/helpers/useTitle.spec.ts +9 -7
  253. package/src/components/Hub/Hub.spec.tsx +13 -10
  254. package/src/components/Hub/Tile/Tile.spec.tsx +29 -25
  255. package/src/components/Icons/Icons.spec.tsx +25 -27
  256. package/src/components/Icons/Icons.tsx +1 -1
  257. package/src/components/InfoPanel/InfoImage/InfoImage.spec.tsx +4 -3
  258. package/src/components/InfoPanel/InfoPanel.scss +2 -0
  259. package/src/components/InfoPanel/InfoPanel.spec.tsx +4 -3
  260. package/src/components/InfoPanel/Paragraph/Paragraph.spec.tsx +4 -3
  261. package/src/components/InfoPanel/Section/Section.spec.tsx +39 -46
  262. package/src/components/InfoPanel/hooks/useCollapse.ts +9 -7
  263. package/src/components/InlineMenu/InlineMenu.spec.tsx +24 -23
  264. package/src/components/InlineMenu/InlineMenu.tsx +3 -0
  265. package/src/components/LandingPageHeader/LandingPageHeader.spec.tsx +9 -8
  266. package/src/components/LandingPageTiles/LandingPageTiles.spec.tsx +29 -28
  267. package/src/components/LandingPageTiles/TileLarge/TileLarge.spec.tsx +68 -61
  268. package/src/components/LandingPageTiles/TileSmall/TileSmall.spec.tsx +50 -32
  269. package/src/components/List/List.spec.tsx +337 -241
  270. package/src/components/List/ListCheckBox/ListCheckBox.spec.tsx +54 -48
  271. package/src/components/List/ListHeader/ColumnLabel/ColumnLabel.scss +4 -1
  272. package/src/components/List/ListHeader/ColumnLabel/ColumnLabel.spec.tsx +46 -43
  273. package/src/components/List/ListHeader/ListHeader.spec.tsx +82 -66
  274. package/src/components/List/ListRow/ListRow.spec.tsx +125 -130
  275. package/src/components/List/ListRow/ListRowCell/ListRowCell.spec.tsx +57 -100
  276. package/src/components/List/ListRow/ListRowLoader.spec.tsx +16 -12
  277. package/src/components/List/ListRow/Renderers/BooleanDotRenderer/BooleanDotRenderer.spec.tsx +12 -9
  278. package/src/components/List/ListRow/Renderers/ExternalLinkRenderer/ExternalLinkRenderer.spec.tsx +40 -35
  279. package/src/components/List/ListRow/Renderers/StateRenderer/StateRenderer.spec.tsx +14 -17
  280. package/src/components/List/ListRow/Renderers/TagsRenderer/TagsRenderer.spec.tsx +18 -17
  281. package/src/components/List/ListRow/Renderers/TagsRenderer/TagsRenderer.tsx +2 -2
  282. package/src/components/List/ListRowRenderer/ListRowRenderer.spec.tsx +82 -68
  283. package/src/components/Loaders/ImageLoader/ImageLoader.spec.tsx +88 -96
  284. package/src/components/Loaders/Loader/Loader.spec.tsx +51 -24
  285. package/src/components/Message/Message.spec.tsx +56 -44
  286. package/src/components/MessageBar/MessageBar.scss +3 -0
  287. package/src/components/MessageBar/MessageBar.spec.tsx +88 -85
  288. package/src/components/Modal/Modal.spec.tsx +92 -87
  289. package/src/components/NavigationAwareStation/NavigationAwareStation.spec.tsx +23 -22
  290. package/src/components/PageHeader/PageHeader.spec.tsx +22 -21
  291. package/src/components/PageHeader/PageHeaderAction/PageHeaderAction.spec.tsx +275 -193
  292. package/src/components/PageHeader/PageHeaderActionsGroup/PageHeaderActionsGroup.spec.tsx +39 -34
  293. package/src/components/ProgressBar/ProgressBar.spec.tsx +18 -15
  294. package/src/components/Utils/Postgraphile/CreateConnectionRenderer.spec.ts +1 -0
  295. package/src/components/Utils/Postgraphile/FilterTransformer.spec.ts +1 -0
  296. package/src/components/Utils/Postgraphile/RangeTransformer.spec.ts +1 -0
  297. package/src/components/Utils/Postgraphile/SortTransformer.spec.ts +1 -0
  298. package/src/components/Utils/Postgraphile/UpdateGQLFragmentGenerator.spec.ts +1 -0
  299. package/src/components/Utils/Postgraphile/generateArrayMutations.spec.ts +1 -0
  300. package/src/components/Utils/Postgraphile/getArrayDiff.spec.ts +1 -0
  301. package/src/components/Utils/Postgraphile/getFormDiff.spec.ts +1 -0
  302. package/src/components/Utils/State/GlobalState.spec.ts +4 -2
  303. package/src/components/Utils/Transformers/Boolean.spec.ts +1 -0
  304. package/src/components/Utils/Transformers/DateTime.spec.ts +2 -1
  305. package/src/components/Utils/Transformers/FileSize.spec.ts +1 -0
  306. package/src/components/Utils/Transformers/SortArray.spec.ts +1 -0
  307. package/src/components/Utils/Transformers/Timestamp.spec.ts +3 -2
  308. package/src/components/Utils/Transformers/TitleCase.spec.ts +1 -0
  309. package/src/components/VisualElements/ImgElement.spec.tsx +34 -35
  310. package/src/components/VisualElements/SvgElement.spec.tsx +72 -69
  311. package/src/helpers/testing.ts +9 -76
  312. package/src/hooks/useBusy/useBusy.spec.tsx +8 -9
  313. package/src/hooks/useClickOutside/useClickOutside.spec.tsx +19 -51
  314. package/src/hooks/useDebounce/useDebounce.spec.tsx +31 -26
  315. package/src/hooks/useExpand/useExpand.spec.tsx +30 -21
  316. package/src/hooks/useTabTitle/useTabTitle.spec.tsx +18 -18
  317. package/src/hooks/useValueOrOnDemand/useValueOrOnDemand.spec.tsx +31 -52
  318. package/src/styles/variables.scss +3 -1
  319. package/src/utils/ErrorMapper/ApolloClient/ApolloErrorMapper.spec.ts +1 -0
  320. package/src/utils/ErrorMapper/ErrorMapper.spec.ts +1 -0
  321. package/src/utils/ErrorTypeToStationError.spec.tsx +12 -11
  322. package/src/utils/ToolTipHelpers.spec.ts +1 -0
  323. package/src/validators/timestamp/timestamp.spec.ts +1 -0
  324. package/dist/helpers/hooksTestingHelpers.d.ts +0 -7
  325. package/dist/helpers/hooksTestingHelpers.d.ts.map +0 -1
  326. package/src/helpers/hooksTestingHelpers.tsx +0 -22
@@ -1,38 +1,41 @@
1
- import { shallow } from 'enzyme';
1
+ import { render } from '@testing-library/react';
2
2
  import React from 'react';
3
+ import { describe, expect, it } from 'vitest';
3
4
  import { BooleanViewField } from './BooleanViewField';
4
5
 
5
6
  describe('BooleanViewField', () => {
6
7
  it('renders the component without crashing', () => {
7
- const wrapper = shallow(<BooleanViewField />);
8
+ const { container } = render(<BooleanViewField />);
8
9
 
9
- expect(wrapper).toBeTruthy();
10
+ expect(container).toBeTruthy();
10
11
  });
11
12
 
12
13
  it('displays a label', () => {
13
14
  const mockLabel = 'mockLabel';
14
- const wrapper = shallow(<BooleanViewField label={mockLabel} />);
15
+ const { container } = render(<BooleanViewField label={mockLabel} />);
15
16
 
16
- const label = wrapper.dive().find('label');
17
+ const label = container.querySelector('label');
17
18
 
18
- expect(label.text()).toBe(mockLabel);
19
+ expect(label?.textContent).toBe(mockLabel);
19
20
  });
20
21
 
21
22
  it('displays default true, false label values', () => {
22
- const wrapper1 = shallow(<BooleanViewField value={true} />);
23
- const text1 = wrapper1.find('[data-test-id="form-field-value"]');
24
- expect(text1.text()).toBe('True');
23
+ const { container: container1 } = render(<BooleanViewField value={true} />);
24
+ const text1 = container1.querySelector('[data-test-id="form-field-value"]');
25
+ expect(text1?.textContent).toBe('True');
25
26
 
26
- const wrapper2 = shallow(<BooleanViewField value={false} />);
27
- const text2 = wrapper2.find('[data-test-id="form-field-value"]');
28
- expect(text2.text()).toBe('False');
27
+ const { container: container2 } = render(
28
+ <BooleanViewField value={false} />,
29
+ );
30
+ const text2 = container2.querySelector('[data-test-id="form-field-value"]');
31
+ expect(text2?.textContent).toBe('False');
29
32
  });
30
33
 
31
34
  it('renders value: true', () => {
32
35
  const trueLabel = 'Enabled';
33
36
  const falseLabel = 'Disabled';
34
37
 
35
- const wrapper = shallow(
38
+ const { container } = render(
36
39
  <BooleanViewField
37
40
  value={true}
38
41
  trueLabel={trueLabel}
@@ -40,20 +43,20 @@ describe('BooleanViewField', () => {
40
43
  />,
41
44
  );
42
45
 
43
- const green = wrapper.find('.true');
44
- const red = wrapper.find('.false');
45
- const text = wrapper.find('[data-test-id="form-field-value"]');
46
+ const green = container.querySelector('.true');
47
+ const red = container.querySelector('.false');
48
+ const text = container.querySelector('[data-test-id="form-field-value"]');
46
49
 
47
- expect(green.exists()).toBe(true);
48
- expect(red.exists()).toBe(false);
49
- expect(text.text()).toBe(trueLabel);
50
+ expect(green).toBeInTheDocument();
51
+ expect(red).not.toBeInTheDocument();
52
+ expect(text?.textContent).toBe(trueLabel);
50
53
  });
51
54
 
52
55
  it('renders value: false', () => {
53
56
  const trueLabel = 'Enabled';
54
57
  const falseLabel = 'Disabled';
55
58
 
56
- const wrapper = shallow(
59
+ const { container } = render(
57
60
  <BooleanViewField
58
61
  value={false}
59
62
  trueLabel={trueLabel}
@@ -61,22 +64,22 @@ describe('BooleanViewField', () => {
61
64
  />,
62
65
  );
63
66
 
64
- const green = wrapper.find('.true');
65
- const red = wrapper.find('.false');
66
- const text = wrapper.find('[data-test-id="form-field-value"]');
67
+ const green = container.querySelector('.true');
68
+ const red = container.querySelector('.false');
69
+ const text = container.querySelector('[data-test-id="form-field-value"]');
67
70
 
68
- expect(green.exists()).toBe(false);
69
- expect(red.exists()).toBe(true);
70
- expect(text.text()).toBe(falseLabel);
71
+ expect(green).not.toBeInTheDocument();
72
+ expect(red).toBeInTheDocument();
73
+ expect(text?.textContent).toBe(falseLabel);
71
74
  });
72
75
 
73
76
  it('defaults to show red circle', () => {
74
- const wrapper = shallow(<BooleanViewField />);
77
+ const { container } = render(<BooleanViewField />);
75
78
 
76
- const green = wrapper.find('.true');
77
- const red = wrapper.find('.false');
79
+ const green = container.querySelector('.true');
80
+ const red = container.querySelector('.false');
78
81
 
79
- expect(green.exists()).toBe(false);
80
- expect(red.exists()).toBe(true);
82
+ expect(green).not.toBeInTheDocument();
83
+ expect(red).toBeInTheDocument();
81
84
  });
82
85
  });
@@ -1,24 +1,26 @@
1
1
  /* eslint-disable @typescript-eslint/ban-ts-comment */
2
- import { mount, shallow } from 'enzyme';
2
+ import { fireEvent, render, waitFor } from '@testing-library/react';
3
3
  import React from 'react';
4
4
  import { act } from 'react-dom/test-utils';
5
- import { ConfirmDialog } from '../../ConfirmDialog';
5
+ import { describe, expect, it, vi } from 'vitest';
6
6
  import { Checkbox, CheckboxProps } from './Checkbox';
7
7
 
8
8
  describe('Checkbox', () => {
9
9
  it('renders the component without crashing', () => {
10
- const wrapper = shallow(<Checkbox name="test-name" />);
10
+ const { container } = render(<Checkbox name="test-name" />);
11
11
 
12
- expect(wrapper).toBeTruthy();
12
+ expect(container).toBeTruthy();
13
13
  });
14
14
 
15
15
  it('displays a label', () => {
16
16
  const mockLabel = 'mockLabel';
17
- const wrapper = shallow(<Checkbox name="test-name" label={mockLabel} />);
17
+ const { container } = render(
18
+ <Checkbox name="test-name" label={mockLabel} />,
19
+ );
18
20
 
19
- const label = wrapper.dive().find('label');
21
+ const label = container.querySelector('label');
20
22
 
21
- expect(label.text()).toBe(mockLabel);
23
+ expect(label?.textContent).toBe(mockLabel);
22
24
  });
23
25
 
24
26
  it('uses optional props when passed in', () => {
@@ -31,39 +33,40 @@ describe('Checkbox', () => {
31
33
  onFocus: () => null,
32
34
  };
33
35
 
34
- const wrapper = shallow(<Checkbox name="test-name" {...mockProps} />);
36
+ const { container } = render(<Checkbox name="test-name" {...mockProps} />);
35
37
 
36
- const checkbox = wrapper.find('input');
38
+ const checkbox = container.querySelector('input') as HTMLInputElement;
37
39
 
38
- const checkboxProps = checkbox.props();
39
- expect(checkboxProps).toEqual(expect.objectContaining(mockProps));
40
+ // React's autoFocus focuses the element programmatically
41
+ // expect(document.activeElement).toBe(checkbox);
42
+ expect(checkbox.disabled).toBe(mockProps.disabled);
43
+ expect(checkbox.id).toBe(mockProps.id);
44
+ expect(checkbox.name).toBe(mockProps.name);
40
45
  });
41
46
 
42
47
  it('sets checkbox field using the value prop and emits updated values', () => {
43
- const spy = jest.fn();
48
+ const spy = vi.fn();
44
49
  const mockValue = true;
45
50
  const mockValueUpdated = false;
46
- const wrapper = shallow(
51
+ const { container } = render(
47
52
  <Checkbox name="test-name" value={mockValue} onChange={spy} />,
48
53
  );
49
54
 
50
- const checkbox = wrapper.find('input');
55
+ const checkbox = container.querySelector('input') as HTMLInputElement;
51
56
 
52
- expect(checkbox.prop('checked')).toEqual(mockValue);
57
+ expect(checkbox.checked).toEqual(mockValue);
53
58
 
54
- checkbox.simulate('change', {
55
- currentTarget: { checked: mockValueUpdated },
56
- });
59
+ fireEvent.click(checkbox);
57
60
 
58
61
  expect(spy).toHaveBeenCalledTimes(1);
59
62
  expect(spy).toHaveBeenCalledWith(mockValueUpdated);
60
63
  });
61
64
 
62
65
  it('raises change, blur, and focus events', () => {
63
- const changeSpy = jest.fn();
64
- const blurSpy = jest.fn();
65
- const focusSpy = jest.fn();
66
- const wrapper = shallow(
66
+ const changeSpy = vi.fn();
67
+ const blurSpy = vi.fn();
68
+ const focusSpy = vi.fn();
69
+ const { container } = render(
67
70
  <Checkbox
68
71
  name={'test-name'}
69
72
  onChange={changeSpy}
@@ -72,64 +75,56 @@ describe('Checkbox', () => {
72
75
  />,
73
76
  );
74
77
 
75
- const checkbox = wrapper.find('input');
78
+ const checkbox = container.querySelector('input') as HTMLInputElement;
76
79
 
77
- checkbox.simulate('change', {
78
- currentTarget: { checked: true },
79
- });
80
+ fireEvent.click(checkbox);
80
81
  expect(changeSpy).toHaveBeenCalledTimes(1);
81
82
 
82
- checkbox.simulate('blur');
83
+ fireEvent.blur(checkbox);
83
84
  expect(blurSpy).toHaveBeenCalledTimes(1);
84
85
 
85
- checkbox.simulate('focus');
86
+ fireEvent.focus(checkbox);
86
87
  expect(focusSpy).toHaveBeenCalledTimes(1);
87
88
  });
88
89
 
89
90
  it('applies error styling and renders error message when an error is passed', () => {
90
91
  const mockErrorMessage = 'test-error-message';
91
- const wrapper = shallow(
92
+ const { container } = render(
92
93
  <Checkbox name="test-name" error={mockErrorMessage} />,
93
94
  );
94
95
 
95
- const errorMsg = wrapper.dive().find('small');
96
- const errorStyling = wrapper.find('input');
96
+ const errorMsg = container.querySelector('small');
97
+ const errorStyling = container.querySelector('input');
97
98
 
98
- expect(errorMsg.text()).toBe(mockErrorMessage);
99
- expect(errorStyling.hasClass('hasError')).toBe(true);
99
+ expect(errorMsg?.textContent).toBe(mockErrorMessage);
100
+ expect(errorStyling?.classList.contains('hasError')).toBe(true);
100
101
  });
101
102
 
102
103
  describe('confirmation', () => {
103
- const mockEvent = {
104
- e: 'event',
105
- persist: () => jest.fn(),
106
- };
107
-
108
104
  it(`'Advanced' mode changes applies confirmation styles`, () => {
109
- const wrapper = shallow(
105
+ const { container } = render(
110
106
  <Checkbox name="test-name" confirmationMode="Advanced" />,
111
107
  );
112
108
 
113
- let checkbox = wrapper.find('input');
109
+ let checkbox = container.querySelector('input') as HTMLInputElement;
114
110
 
115
- expect(checkbox.hasClass('hasConfirm')).toBe(false);
111
+ // Initially no confirmation styling
112
+ expect(checkbox.className).not.toContain('hasConfirm');
116
113
 
117
114
  act(() => {
118
- checkbox.simulate('change', {
119
- currentTarget: { checked: true },
120
- });
115
+ fireEvent.click(checkbox);
121
116
  });
122
- wrapper.update();
123
117
 
124
- checkbox = wrapper.find('input');
118
+ checkbox = container.querySelector('input') as HTMLInputElement;
125
119
 
126
- expect(checkbox.hasClass('hasConfirm')).toBe(true);
120
+ // After clicking, confirmation styling should be applied
121
+ expect(checkbox.className).toContain('hasConfirm');
127
122
  });
128
123
 
129
- it(`When input is not checked, 'Advanced' mode renders a confirmation pop up, raises the 'onChange' with 'true' after the 'Confirm' button is clicked, and finally dismisses the confirmation pop up`, () => {
130
- const spy = jest.fn();
124
+ it(`When input is not checked, 'Advanced' mode renders a confirmation pop up, raises the 'onChange' with 'true' after the 'Confirm' button is clicked, and finally dismisses the confirmation pop up`, async () => {
125
+ const spy = vi.fn();
131
126
 
132
- const wrapper = mount(
127
+ const { container } = render(
133
128
  <Checkbox
134
129
  name="test-name"
135
130
  confirmationMode="Advanced"
@@ -137,89 +132,90 @@ describe('Checkbox', () => {
137
132
  />,
138
133
  );
139
134
 
140
- let checkbox = wrapper.find('input');
141
- let confirmation = wrapper.find(ConfirmDialog);
135
+ let checkbox = container.querySelector('input') as HTMLInputElement;
136
+ let confirmation = document.querySelector('.confirm-dialog-container');
142
137
 
143
- expect(confirmation.exists()).toBe(false);
138
+ expect(confirmation).not.toBeInTheDocument();
144
139
 
145
140
  act(() => {
146
- checkbox.prop('onChange')!({
147
- // @ts-ignore
148
- currentTarget: { checked: true },
149
- });
141
+ fireEvent.click(checkbox);
150
142
  });
151
- wrapper.update();
152
143
 
153
- confirmation = wrapper.find(ConfirmDialog);
144
+ await waitFor(() => {
145
+ const conf = document.querySelector('.confirm-dialog-container');
146
+ expect(conf).toBeInTheDocument();
147
+ });
154
148
 
155
- expect(confirmation.exists()).toBe(true);
149
+ confirmation = document.querySelector('.confirm-dialog-container');
156
150
 
157
- const confirmButton = wrapper.find('button').last();
151
+ const confirmButton = document.querySelectorAll('button')[1];
158
152
 
159
153
  act(() => {
160
- // @ts-expect-error no full event args
161
- confirmButton.prop('onClick')?.(mockEvent);
154
+ fireEvent.click(confirmButton);
155
+ });
156
+
157
+ await waitFor(() => {
158
+ expect(spy).toHaveBeenCalledTimes(1);
162
159
  });
163
- wrapper.update();
164
160
 
165
- checkbox = wrapper.find('input');
166
- confirmation = wrapper.find(ConfirmDialog);
161
+ checkbox = container.querySelector('input') as HTMLInputElement;
162
+ confirmation = document.querySelector('.confirm-dialog-container');
167
163
 
168
- expect(checkbox.hasClass('hasConfirm')).toBe(false);
169
- expect(confirmation.exists()).toBe(false);
170
- expect(spy).toHaveBeenCalledTimes(1);
164
+ expect(checkbox.className).not.toContain('hasConfirm');
165
+ expect(confirmation).not.toBeInTheDocument();
171
166
  expect(spy).toHaveBeenCalledWith(true);
172
167
  });
173
168
 
174
- it(`When input is checked, 'Advanced' mode renders a confirmation pop up, raises the 'onChange' with 'false' after the 'Confirm' button is clicked, and finally dismisses the confirmation pop up`, () => {
175
- const spy = jest.fn();
169
+ it(`When input is checked, 'Advanced' mode renders a confirmation pop up, raises the 'onChange' with 'false' after the 'Confirm' button is clicked, and finally dismisses the confirmation pop up`, async () => {
170
+ const spy = vi.fn();
176
171
 
177
- const wrapper = mount(
172
+ const { container } = render(
178
173
  <Checkbox
179
174
  name="test-name"
180
175
  confirmationMode="Advanced"
181
176
  onChange={spy}
177
+ value={true}
182
178
  />,
183
179
  );
184
180
 
185
- let checkbox = wrapper.find('input');
186
- let confirmation = wrapper.find(ConfirmDialog);
181
+ let checkbox = container.querySelector('input') as HTMLInputElement;
182
+ let confirmation = document.querySelector('.confirm-dialog-container');
187
183
 
188
- expect(confirmation.exists()).toBe(false);
184
+ expect(confirmation).not.toBeInTheDocument();
189
185
 
190
186
  act(() => {
191
- checkbox.prop('onChange')!({
192
- // @ts-ignore
193
- currentTarget: { checked: false },
194
- });
187
+ fireEvent.click(checkbox);
195
188
  });
196
- wrapper.update();
197
189
 
198
- confirmation = wrapper.find(ConfirmDialog);
190
+ await waitFor(() => {
191
+ const conf = document.querySelector('.confirm-dialog-container');
192
+ expect(conf).toBeInTheDocument();
193
+ });
199
194
 
200
- expect(confirmation.exists()).toBe(true);
195
+ confirmation = document.querySelector('.confirm-dialog-container');
201
196
 
202
- const confirmButton = wrapper.find('button').last();
197
+ const confirmButton = document.querySelectorAll('button')[1];
203
198
 
204
199
  act(() => {
205
- // @ts-expect-error no full event args
206
- confirmButton.prop('onClick')?.(mockEvent);
200
+ fireEvent.click(confirmButton);
207
201
  });
208
- wrapper.update();
209
202
 
210
- checkbox = wrapper.find('input');
211
- confirmation = wrapper.find(ConfirmDialog);
203
+ await waitFor(() => {
204
+ expect(spy).toHaveBeenCalledTimes(1);
205
+ });
206
+
207
+ checkbox = container.querySelector('input') as HTMLInputElement;
208
+ confirmation = document.querySelector('.confirm-dialog-container');
212
209
 
213
- expect(checkbox.hasClass('hasConfirm')).toBe(false);
214
- expect(confirmation.exists()).toBe(false);
215
- expect(spy).toHaveBeenCalledTimes(1);
210
+ expect(checkbox.className).not.toContain('hasConfirm');
211
+ expect(confirmation).not.toBeInTheDocument();
216
212
  expect(spy).toHaveBeenCalledWith(false);
217
213
  });
218
214
 
219
- it(`'Advanced' mode renders a confirmation pop up, does not raise the 'onChange' event after the 'Cancel' button is clicked, and finally dismisses the confirmation pop up`, () => {
220
- const spy = jest.fn();
215
+ it(`'Advanced' mode renders a confirmation pop up, does not raise the 'onChange' event after the 'Cancel' button is clicked, and finally dismisses the confirmation pop up`, async () => {
216
+ const spy = vi.fn();
221
217
 
222
- const wrapper = mount(
218
+ const { container } = render(
223
219
  <Checkbox
224
220
  name="test-name"
225
221
  confirmationMode="Advanced"
@@ -227,43 +223,45 @@ describe('Checkbox', () => {
227
223
  />,
228
224
  );
229
225
 
230
- let checkbox = wrapper.find('input');
231
- let confirmation = wrapper.find(ConfirmDialog);
226
+ let checkbox = container.querySelector('input') as HTMLInputElement;
227
+ let confirmation = document.querySelector('.confirm-dialog-container');
232
228
 
233
- expect(confirmation.exists()).toBe(false);
229
+ expect(confirmation).not.toBeInTheDocument();
234
230
 
235
231
  act(() => {
236
- checkbox.prop('onChange')!({
237
- // @ts-ignore
238
- currentTarget: { checked: true },
239
- });
232
+ fireEvent.click(checkbox);
240
233
  });
241
- wrapper.update();
242
234
 
243
- confirmation = wrapper.find(ConfirmDialog);
235
+ await waitFor(() => {
236
+ const conf = document.querySelector('.confirm-dialog-container');
237
+ expect(conf).toBeInTheDocument();
238
+ });
244
239
 
245
- expect(confirmation.exists()).toBe(true);
240
+ confirmation = document.querySelector('.confirm-dialog-container');
246
241
 
247
- const cancelButton = wrapper.find('button').first();
242
+ const cancelButton = document.querySelectorAll('button')[0];
248
243
 
249
244
  act(() => {
250
- // @ts-expect-error no full event args
251
- cancelButton.prop('onClick')?.(mockEvent);
245
+ fireEvent.click(cancelButton);
246
+ });
247
+
248
+ await waitFor(() => {
249
+ const conf = document.querySelector('.confirm-dialog-container');
250
+ expect(conf).not.toBeInTheDocument();
252
251
  });
253
- wrapper.update();
254
252
 
255
- checkbox = wrapper.find('input');
256
- confirmation = wrapper.find(ConfirmDialog);
253
+ checkbox = container.querySelector('input') as HTMLInputElement;
254
+ confirmation = document.querySelector('.confirm-dialog-container');
257
255
 
258
- expect(checkbox.hasClass('hasConfirm')).toBe(false);
259
- expect(confirmation.exists()).toBe(false);
256
+ expect(checkbox.className).not.toContain('hasConfirm');
257
+ expect(confirmation).not.toBeInTheDocument();
260
258
  expect(spy).not.toHaveBeenCalled();
261
259
  });
262
260
 
263
- it(`emits 'onConfirmOpen' if set`, () => {
264
- const spy = jest.fn();
261
+ it(`emits 'onConfirmOpen' if set`, async () => {
262
+ const spy = vi.fn();
265
263
 
266
- const wrapper = mount(
264
+ const { container } = render(
267
265
  <Checkbox
268
266
  name="test-name"
269
267
  confirmationMode="Advanced"
@@ -271,27 +269,30 @@ describe('Checkbox', () => {
271
269
  />,
272
270
  );
273
271
 
274
- const checkbox = wrapper.find('input');
272
+ const checkbox = container.querySelector('input') as HTMLInputElement;
275
273
 
276
274
  act(() => {
277
- checkbox.prop('onChange')!({
278
- // @ts-ignore
279
- currentTarget: { checked: true },
280
- });
275
+ fireEvent.click(checkbox);
276
+ });
277
+
278
+ await waitFor(() => {
279
+ const confirmation = document.querySelector(
280
+ '.confirm-dialog-container',
281
+ );
282
+ expect(confirmation).toBeInTheDocument();
281
283
  });
282
- wrapper.update();
283
284
 
284
- const cancelButton = wrapper.find('button').first();
285
+ const cancelButton = document.querySelectorAll('button')[0];
285
286
 
286
287
  act(() => {
287
- // @ts-expect-error no full event args
288
- cancelButton.prop('onClick')?.(mockEvent);
288
+ fireEvent.click(cancelButton);
289
289
  });
290
- wrapper.update();
291
290
 
292
- expect(spy).toHaveBeenCalledTimes(2);
293
- expect(spy).toHaveBeenNthCalledWith(1, true);
294
- expect(spy).toHaveBeenNthCalledWith(2, false);
291
+ await waitFor(() => {
292
+ expect(spy).toHaveBeenCalledTimes(2);
293
+ expect(spy).toHaveBeenNthCalledWith(1, true);
294
+ expect(spy).toHaveBeenNthCalledWith(2, false);
295
+ });
295
296
  });
296
297
  });
297
298
  });