@k-int/stripes-kint-components 5.31.3 → 5.32.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (417) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/es/__mocks__/@folio/stripes/components.js +7 -3
  3. package/es/__mocks__/@folio/stripes/core.js +6 -4
  4. package/es/__mocks__/@folio/stripes/smart-components.js +6 -4
  5. package/es/__mocks__/react-query.js +6 -4
  6. package/es/__mocks__/react-router-dom.js +6 -6
  7. package/es/lib/ActionList/ActionList.js +33 -26
  8. package/es/lib/ActionList/ActionListFieldArray.js +119 -103
  9. package/es/lib/ButtonTypedown/ButtonTypedown.js +72 -17
  10. package/es/lib/ComboButton/ComboButton.js +47 -42
  11. package/es/lib/CustomProperties/Config/CustomPropertiesLookup.js +17 -11
  12. package/es/lib/CustomProperties/Config/CustomPropertiesSettings.js +46 -42
  13. package/es/lib/CustomProperties/Config/CustomPropertyForm.js +58 -58
  14. package/es/lib/CustomProperties/Config/CustomPropertyForm.test.js +8 -4
  15. package/es/lib/CustomProperties/Config/CustomPropertyView.js +33 -32
  16. package/es/lib/CustomProperties/Config/CustomPropertyView.test.js +1 -1
  17. package/es/lib/CustomProperties/Edit/CustomPropertiesEdit.js +1 -1
  18. package/es/lib/CustomProperties/Edit/CustomPropertiesEditCtx.js +3 -3
  19. package/es/lib/CustomProperties/Edit/CustomPropertiesListField.js +35 -29
  20. package/es/lib/CustomProperties/Edit/CustomPropertyField.js +59 -61
  21. package/es/lib/CustomProperties/Edit/CustomPropertyField.test.js +20 -20
  22. package/es/lib/CustomProperties/Edit/CustomPropertyFormCard.js +2 -2
  23. package/es/lib/CustomProperties/Edit/CustomPropertyFormCard.test.js +1 -1
  24. package/es/lib/CustomProperties/Edit/testResources.js +12 -11
  25. package/es/lib/CustomProperties/Filter/CustomPropertiesFilter.js +33 -22
  26. package/es/lib/CustomProperties/Filter/CustomPropertiesFilterField.js +37 -24
  27. package/es/lib/CustomProperties/Filter/CustomPropertiesFilterField.test.js +1 -1
  28. package/es/lib/CustomProperties/Filter/CustomPropertiesFilterFieldArray.js +6 -6
  29. package/es/lib/CustomProperties/Filter/CustomPropertiesFilterForm.js +6 -3
  30. package/es/lib/CustomProperties/Filter/CustomPropertiesFilterForm.test.js +8 -4
  31. package/es/lib/CustomProperties/Filter/CustomPropertiesRule.js +19 -15
  32. package/es/lib/CustomProperties/Filter/testResources.js +2 -1
  33. package/es/lib/CustomProperties/Filter/useParseActiveFilterStrings.js +2 -1
  34. package/es/lib/CustomProperties/View/CustomPropertiesView.js +1 -1
  35. package/es/lib/CustomProperties/View/CustomPropertiesViewCtx.js +26 -18
  36. package/es/lib/CustomProperties/View/CustomPropertiesViewCtx.test.js +6 -3
  37. package/es/lib/CustomProperties/View/CustomPropertyCard.js +11 -7
  38. package/es/lib/CycleButton/CycleButton.js +17 -9
  39. package/es/lib/FormModal/FormModal.js +32 -24
  40. package/es/lib/FormattedKintMessage/FormattedKintMessage.js +30 -23
  41. package/es/lib/IconSelect/IconSelect.js +32 -22
  42. package/es/lib/NoResultsMessage/NoResultsMessage.js +5 -4
  43. package/es/lib/NumberField/NumberField.js +25 -17
  44. package/es/lib/NumberField/NumberField.test.js +7 -6
  45. package/es/lib/QueryTypedown/QueryTypedown.js +15 -8
  46. package/es/lib/RefdataButtons/RefdataButtons.js +9 -6
  47. package/es/lib/ResponsiveButtonGroup/ResponsiveButtonGroup.js +60 -48
  48. package/es/lib/ResponsiveButtonGroup/useResponsiveButtonGroupSizing.js +6 -5
  49. package/es/lib/RichSelect/RichSelect.js +36 -31
  50. package/es/lib/RichSelect/useSelectedOption.js +2 -1
  51. package/es/lib/SASQLookupComponent/SASQLookupComponent.js +94 -91
  52. package/es/lib/SASQLookupComponent/SASQLookupComponent.test.js +532 -0
  53. package/es/lib/SASQLookupComponent/TableBody/TableBody.js +58 -43
  54. package/es/lib/SASQLookupComponent/TableBody/TableBody.test.js +257 -0
  55. package/es/lib/SASQLookupComponent/__mocks__/SASQLookupComponent.js +33 -0
  56. package/es/lib/SASQLookupComponent/__mocks__/SASQLookupComponentRender.js +24 -0
  57. package/es/lib/SASQLookupComponent/__mocks__/index.js +20 -0
  58. package/es/lib/SASQRoute/SASQRoute.js +29 -25
  59. package/es/lib/SASQRoute/SASQRoute.test.js +269 -0
  60. package/es/lib/SASQViewComponent/SASQViewComponent.js +76 -68
  61. package/es/lib/SASQViewComponent/SASQViewComponent.test.js +108 -0
  62. package/es/lib/SASQViewComponent/__mocks__/SASQViewComponent.js +19 -0
  63. package/es/lib/SASQViewComponent/__mocks__/SASQViewComponentRender.js +19 -0
  64. package/es/lib/SASQViewComponent/__mocks__/index.js +20 -0
  65. package/es/lib/SearchField/SearchField.js +13 -7
  66. package/es/lib/SearchKeyControl/SearchKeyControl.js +13 -8
  67. package/es/lib/SearchKeyControl/SearchKeyControl.test.js +6 -2
  68. package/es/lib/Settings/EditableRefdataCategoryList/EditableRefdataCategoryList.js +46 -30
  69. package/es/lib/Settings/EditableRefdataList/EditableRefdataList.js +43 -33
  70. package/es/lib/Settings/EditableSettingsList/EditableSettingsListFieldArray/EditableSettingsListFieldArray.js +12 -8
  71. package/es/lib/Settings/EditableSettingsList/SettingField/EditSettingValue/EditSettingValue.js +20 -13
  72. package/es/lib/Settings/EditableSettingsList/SettingField/RenderSettingValue/RenderSettingValue.js +12 -10
  73. package/es/lib/Settings/EditableSettingsList/SettingField/SettingField.js +15 -10
  74. package/es/lib/Settings/EditableSettingsList/SettingField/SettingField.test.js +3 -3
  75. package/es/lib/Settings/RefdataCategoriesSettings/RefdataCategoriesSettings.js +26 -19
  76. package/es/lib/Settings/SettingPage/SettingPagePane/SettingPagePane.js +2 -2
  77. package/es/lib/Settings/Settings/Settings.js +158 -0
  78. package/es/lib/Settings/Settings/index.js +13 -0
  79. package/es/lib/Settings/SettingsFormContainer/SettingsFormContainer.js +35 -30
  80. package/es/lib/Settings/StaticSettingsField/StaticSettingsField.js +8 -5
  81. package/es/lib/Settings/StaticSettingsField/StaticSettingsFieldComponent/StaticSettingsFieldComponent.js +22 -18
  82. package/es/lib/Settings/hooks/staticSettingsPages/useSettingCallout/useSettingCallout.js +2 -2
  83. package/es/lib/Settings/hooks/staticSettingsPages/useSettingsSectionInitalValues/useSettingsSectionInitalValues.js +1 -1
  84. package/es/lib/Settings/hooks/staticSettingsPages/useStaticSettingsSection.js +7 -3
  85. package/es/lib/Settings/hooks/useAppSettings/useAppSettings.js +11 -7
  86. package/es/lib/Settings/hooks/useSettingSection/useSettingSection.js +22 -16
  87. package/es/lib/Settings/hooks/useSettings/useSettings.js +69 -63
  88. package/es/lib/Tags/Tags.js +8 -5
  89. package/es/lib/Tags/hooks/useTags.js +1 -1
  90. package/es/lib/Tags/hooks/useTagsEnabled.js +3 -2
  91. package/es/lib/Tags/tagsConfig.js +1 -1
  92. package/es/lib/Typedown/Typedown.js +31 -21
  93. package/es/lib/hooks/__mocks__/index.js +7 -3
  94. package/es/lib/hooks/intlHooks/useIntlKeyStore/useIntlKeyStore.js +26 -20
  95. package/es/lib/hooks/intlHooks/useKintIntl/useKintIntl.js +34 -24
  96. package/es/lib/hooks/typedownHooks/useTypedown.js +12 -11
  97. package/es/lib/hooks/typedownHooks/useTypedownToggle.js +2 -2
  98. package/es/lib/hooks/useActionListRef.js +1 -1
  99. package/es/lib/hooks/useActiveElement.js +1 -1
  100. package/es/lib/hooks/useCustomProperties.js +10 -6
  101. package/es/lib/hooks/useHelperApp.js +16 -13
  102. package/es/lib/hooks/useKiwtFieldArray.js +8 -7
  103. package/es/lib/hooks/useKiwtSASQuery.js +19 -15
  104. package/es/lib/hooks/useLocalPageStore.js +10 -7
  105. package/es/lib/hooks/useModConfigEntries.js +2 -2
  106. package/es/lib/hooks/useMutateCustomProperties/useMutateCustomProperties.js +17 -10
  107. package/es/lib/hooks/useMutateGeneric/useMutateGeneric.js +2 -2
  108. package/es/lib/hooks/useMutateModConfigEntry.js +2 -2
  109. package/es/lib/hooks/useMutateRefdataCategory/useMutateRefdataCategory.js +21 -15
  110. package/es/lib/hooks/useMutateRefdataValue/useMutateRefdataValue.js +23 -16
  111. package/es/lib/hooks/usePrevNextPagination.js +19 -17
  112. package/es/lib/hooks/useQIndex.js +14 -11
  113. package/es/lib/hooks/useRefdata.js +3 -3
  114. package/es/lib/hooks/useStandaloneSASQQueryParameter/useStandaloneSASQQueryParameter.js +13 -9
  115. package/es/lib/hooks/useTemplates.js +4 -4
  116. package/es/lib/utils/buildUrl.js +3 -2
  117. package/es/lib/utils/filterParsers/deparseKiwtQueryFilters.js +5 -5
  118. package/es/lib/utils/filterParsers/parseKiwtQueryFilters.js +2 -2
  119. package/es/lib/utils/filterParsers/parseKiwtQueryGroups.js +5 -4
  120. package/es/lib/utils/filterParsers/parseKiwtQueryString.js +1 -1
  121. package/es/lib/utils/generateKiwtQueryParams/generateKiwtQueryParams.js +107 -94
  122. package/es/lib/utils/groupCustomPropertiesByCtx.js +9 -5
  123. package/es/lib/utils/matchString.js +7 -5
  124. package/es/lib/utils/parseErrorResponse.js +7 -3
  125. package/es/lib/utils/selectorSafe.js +3 -2
  126. package/es/lib/utils/sortByLabel.js +3 -2
  127. package/es/lib/validators/validators.js +9 -6
  128. package/package.json +5 -1
  129. package/src/artifacts/coverage-jest/ActionList/ActionList.js.html +4 -4
  130. package/src/artifacts/coverage-jest/ActionList/ActionListFieldArray.js.html +10 -10
  131. package/src/artifacts/coverage-jest/ActionList/index.html +1 -1
  132. package/src/artifacts/coverage-jest/ActionList/index.js.html +1 -1
  133. package/src/artifacts/coverage-jest/ButtonTypedown/ButtonTypedown.js.html +217 -25
  134. package/src/artifacts/coverage-jest/ButtonTypedown/index.html +17 -17
  135. package/src/artifacts/coverage-jest/ButtonTypedown/index.js.html +1 -1
  136. package/src/artifacts/coverage-jest/ComboButton/ComboButton.js.html +3 -3
  137. package/src/artifacts/coverage-jest/ComboButton/index.html +1 -1
  138. package/src/artifacts/coverage-jest/ComboButton/index.js.html +1 -1
  139. package/src/artifacts/coverage-jest/CustomProperties/Config/CustomPropertiesLookup.js.html +3 -3
  140. package/src/artifacts/coverage-jest/CustomProperties/Config/CustomPropertiesSettings.js.html +6 -6
  141. package/src/artifacts/coverage-jest/CustomProperties/Config/CustomPropertyForm.js.html +3 -3
  142. package/src/artifacts/coverage-jest/CustomProperties/Config/CustomPropertyView.js.html +3 -3
  143. package/src/artifacts/coverage-jest/CustomProperties/Config/index.html +1 -1
  144. package/src/artifacts/coverage-jest/CustomProperties/Config/index.js.html +1 -1
  145. package/src/artifacts/coverage-jest/CustomProperties/Edit/CustomPropertiesEdit.js.html +3 -3
  146. package/src/artifacts/coverage-jest/CustomProperties/Edit/CustomPropertiesEditCtx.js.html +3 -3
  147. package/src/artifacts/coverage-jest/CustomProperties/Edit/CustomPropertiesListField.js.html +5 -5
  148. package/src/artifacts/coverage-jest/CustomProperties/Edit/CustomPropertyField.js.html +3 -3
  149. package/src/artifacts/coverage-jest/CustomProperties/Edit/CustomPropertyFormCard.js.html +3 -3
  150. package/src/artifacts/coverage-jest/CustomProperties/Edit/index.html +1 -1
  151. package/src/artifacts/coverage-jest/CustomProperties/Edit/index.js.html +1 -1
  152. package/src/artifacts/coverage-jest/CustomProperties/Edit/testResources.js.html +1 -1
  153. package/src/artifacts/coverage-jest/CustomProperties/Filter/CustomPropertiesFilter.js.html +3 -3
  154. package/src/artifacts/coverage-jest/CustomProperties/Filter/CustomPropertiesFilterField.js.html +3 -3
  155. package/src/artifacts/coverage-jest/CustomProperties/Filter/CustomPropertiesFilterFieldArray.js.html +3 -3
  156. package/src/artifacts/coverage-jest/CustomProperties/Filter/CustomPropertiesFilterForm.js.html +3 -3
  157. package/src/artifacts/coverage-jest/CustomProperties/Filter/CustomPropertiesRule.js.html +4 -4
  158. package/src/artifacts/coverage-jest/CustomProperties/Filter/index.html +1 -1
  159. package/src/artifacts/coverage-jest/CustomProperties/Filter/index.js.html +1 -1
  160. package/src/artifacts/coverage-jest/CustomProperties/Filter/testResources.js.html +1 -1
  161. package/src/artifacts/coverage-jest/CustomProperties/Filter/useOperators.js.html +3 -3
  162. package/src/artifacts/coverage-jest/CustomProperties/Filter/useParseActiveFilterStrings.js.html +2 -2
  163. package/src/artifacts/coverage-jest/CustomProperties/Filter/useValueProps.js.html +3 -3
  164. package/src/artifacts/coverage-jest/CustomProperties/View/CustomPropertiesView.js.html +3 -3
  165. package/src/artifacts/coverage-jest/CustomProperties/View/CustomPropertiesViewCtx.js.html +3 -3
  166. package/src/artifacts/coverage-jest/CustomProperties/View/CustomPropertyCard.js.html +3 -3
  167. package/src/artifacts/coverage-jest/CustomProperties/View/index.html +1 -1
  168. package/src/artifacts/coverage-jest/CustomProperties/View/index.js.html +1 -1
  169. package/src/artifacts/coverage-jest/CustomProperties/View/testResources.js.html +1 -1
  170. package/src/artifacts/coverage-jest/CustomProperties/index.html +1 -1
  171. package/src/artifacts/coverage-jest/CustomProperties/index.js.html +1 -1
  172. package/src/artifacts/coverage-jest/CycleButton/CycleButton.js.html +3 -3
  173. package/src/artifacts/coverage-jest/CycleButton/index.html +1 -1
  174. package/src/artifacts/coverage-jest/CycleButton/index.js.html +1 -1
  175. package/src/artifacts/coverage-jest/FieldLabel/FieldLabel.js.html +2 -2
  176. package/src/artifacts/coverage-jest/FieldLabel/index.html +1 -1
  177. package/src/artifacts/coverage-jest/FieldLabel/index.js.html +1 -1
  178. package/src/artifacts/coverage-jest/FormModal/FormModal.js.html +3 -3
  179. package/src/artifacts/coverage-jest/FormModal/index.html +1 -1
  180. package/src/artifacts/coverage-jest/FormModal/index.js.html +1 -1
  181. package/src/artifacts/coverage-jest/FormattedKintMessage/FormattedKintMessage.js.html +3 -3
  182. package/src/artifacts/coverage-jest/FormattedKintMessage/index.html +1 -1
  183. package/src/artifacts/coverage-jest/FormattedKintMessage/index.js.html +1 -1
  184. package/src/artifacts/coverage-jest/IconSelect/IconSelect.js.html +3 -3
  185. package/src/artifacts/coverage-jest/IconSelect/index.html +1 -1
  186. package/src/artifacts/coverage-jest/IconSelect/index.js.html +1 -1
  187. package/src/artifacts/coverage-jest/NoResultsMessage/NoResultsMessage.js.html +3 -3
  188. package/src/artifacts/coverage-jest/NoResultsMessage/index.html +1 -1
  189. package/src/artifacts/coverage-jest/NoResultsMessage/index.js.html +1 -1
  190. package/src/artifacts/coverage-jest/NumberField/NumberField.js.html +3 -3
  191. package/src/artifacts/coverage-jest/NumberField/index.html +1 -1
  192. package/src/artifacts/coverage-jest/NumberField/index.js.html +1 -1
  193. package/src/artifacts/coverage-jest/QueryTypedown/QueryTypedown.js.html +3 -3
  194. package/src/artifacts/coverage-jest/QueryTypedown/index.html +1 -1
  195. package/src/artifacts/coverage-jest/QueryTypedown/index.js.html +1 -1
  196. package/src/artifacts/coverage-jest/RefdataButtons/RefdataButtons.js.html +3 -3
  197. package/src/artifacts/coverage-jest/RefdataButtons/index.html +1 -1
  198. package/src/artifacts/coverage-jest/RefdataButtons/index.js.html +1 -1
  199. package/src/artifacts/coverage-jest/ResponsiveButtonGroup/ResponsiveButtonGroup.js.html +6 -6
  200. package/src/artifacts/coverage-jest/ResponsiveButtonGroup/index.html +1 -1
  201. package/src/artifacts/coverage-jest/ResponsiveButtonGroup/index.js.html +1 -1
  202. package/src/artifacts/coverage-jest/ResponsiveButtonGroup/useResponsiveButtonGroupSizing.js.html +2 -2
  203. package/src/artifacts/coverage-jest/RichSelect/RichSelect.js.html +3 -3
  204. package/src/artifacts/coverage-jest/RichSelect/index.html +1 -1
  205. package/src/artifacts/coverage-jest/RichSelect/index.js.html +1 -1
  206. package/src/artifacts/coverage-jest/RichSelect/useSelectedOption.js.html +2 -2
  207. package/src/artifacts/coverage-jest/SASQLookupComponent/SASQLookupComponent.js.html +146 -149
  208. package/src/artifacts/coverage-jest/SASQLookupComponent/TableBody/TableBody.js.html +74 -65
  209. package/src/artifacts/coverage-jest/SASQLookupComponent/TableBody/index.html +21 -21
  210. package/src/artifacts/coverage-jest/SASQLookupComponent/TableBody/index.js.html +1 -1
  211. package/src/artifacts/coverage-jest/SASQLookupComponent/index.html +21 -21
  212. package/src/artifacts/coverage-jest/SASQLookupComponent/index.js.html +1 -1
  213. package/src/artifacts/coverage-jest/SASQRoute/SASQRoute.js.html +43 -43
  214. package/src/artifacts/coverage-jest/SASQRoute/index.html +21 -21
  215. package/src/artifacts/coverage-jest/SASQRoute/index.js.html +1 -1
  216. package/src/artifacts/coverage-jest/SASQViewComponent/SASQViewComponent.js.html +42 -42
  217. package/src/artifacts/coverage-jest/SASQViewComponent/index.html +21 -21
  218. package/src/artifacts/coverage-jest/SASQViewComponent/index.js.html +1 -1
  219. package/src/artifacts/coverage-jest/SearchField/SearchField.js.html +4 -4
  220. package/src/artifacts/coverage-jest/SearchField/index.html +1 -1
  221. package/src/artifacts/coverage-jest/SearchField/index.js.html +1 -1
  222. package/src/artifacts/coverage-jest/SearchKeyControl/SearchKeyControl.js.html +3 -3
  223. package/src/artifacts/coverage-jest/SearchKeyControl/index.html +1 -1
  224. package/src/artifacts/coverage-jest/SearchKeyControl/index.js.html +1 -1
  225. package/src/artifacts/coverage-jest/Settings/EditableRefdataCategoryList/EditableRefdataCategoryList.js.html +4 -4
  226. package/src/artifacts/coverage-jest/Settings/EditableRefdataCategoryList/index.html +1 -1
  227. package/src/artifacts/coverage-jest/Settings/EditableRefdataCategoryList/index.js.html +1 -1
  228. package/src/artifacts/coverage-jest/Settings/EditableRefdataList/EditableRefdataList.js.html +4 -4
  229. package/src/artifacts/coverage-jest/Settings/EditableRefdataList/index.html +1 -1
  230. package/src/artifacts/coverage-jest/Settings/EditableRefdataList/index.js.html +1 -1
  231. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/EditableSettingsList.js.html +3 -3
  232. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/EditableSettingsListFieldArray/EditableSettingsListFieldArray.js.html +5 -5
  233. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/EditableSettingsListFieldArray/index.html +1 -1
  234. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/EditableSettingsListFieldArray/index.js.html +1 -1
  235. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/SettingField/EditSettingValue/EditSettingValue.js.html +3 -3
  236. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/SettingField/EditSettingValue/index.html +1 -1
  237. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/SettingField/EditSettingValue/index.js.html +1 -1
  238. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/SettingField/RenderSettingValue/RenderSettingValue.js.html +3 -3
  239. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/SettingField/RenderSettingValue/index.html +1 -1
  240. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/SettingField/RenderSettingValue/index.js.html +1 -1
  241. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/SettingField/SettingField.js.html +3 -3
  242. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/SettingField/index.html +1 -1
  243. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/SettingField/index.js.html +1 -1
  244. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/index.html +1 -1
  245. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/index.js.html +1 -1
  246. package/src/artifacts/coverage-jest/Settings/RefdataCategoriesSettings/RefdataCategoriesSettings.js.html +4 -4
  247. package/src/artifacts/coverage-jest/Settings/RefdataCategoriesSettings/index.html +1 -1
  248. package/src/artifacts/coverage-jest/Settings/RefdataCategoriesSettings/index.js.html +1 -1
  249. package/src/artifacts/coverage-jest/Settings/SettingPage/SettingPage.js.html +3 -3
  250. package/src/artifacts/coverage-jest/Settings/SettingPage/SettingPagePane/SettingPagePane.js.html +3 -3
  251. package/src/artifacts/coverage-jest/Settings/SettingPage/SettingPagePane/index.html +1 -1
  252. package/src/artifacts/coverage-jest/Settings/SettingPage/SettingPagePane/index.js.html +1 -1
  253. package/src/artifacts/coverage-jest/Settings/SettingPage/index.html +1 -1
  254. package/src/artifacts/coverage-jest/Settings/SettingPage/index.js.html +1 -1
  255. package/src/artifacts/coverage-jest/Settings/Settings/Settings.js.html +643 -0
  256. package/src/artifacts/coverage-jest/Settings/Settings/index.html +131 -0
  257. package/src/artifacts/coverage-jest/Settings/Settings/index.js.html +88 -0
  258. package/src/artifacts/coverage-jest/Settings/SettingsFormContainer/SettingsFormContainer.js.html +3 -3
  259. package/src/artifacts/coverage-jest/Settings/SettingsFormContainer/index.html +1 -1
  260. package/src/artifacts/coverage-jest/Settings/SettingsFormContainer/index.js.html +1 -1
  261. package/src/artifacts/coverage-jest/Settings/StaticSettingsField/StaticSettingsField.js.html +3 -3
  262. package/src/artifacts/coverage-jest/Settings/StaticSettingsField/StaticSettingsFieldComponent/StaticSettingsFieldComponent.js.html +2 -2
  263. package/src/artifacts/coverage-jest/Settings/StaticSettingsField/StaticSettingsFieldComponent/index.html +1 -1
  264. package/src/artifacts/coverage-jest/Settings/StaticSettingsField/StaticSettingsFieldComponent/index.js.html +1 -1
  265. package/src/artifacts/coverage-jest/Settings/StaticSettingsField/index.html +1 -1
  266. package/src/artifacts/coverage-jest/Settings/StaticSettingsField/index.js.html +1 -1
  267. package/src/artifacts/coverage-jest/Settings/constants/index.html +1 -1
  268. package/src/artifacts/coverage-jest/Settings/constants/index.js.html +1 -1
  269. package/src/artifacts/coverage-jest/Settings/constants/queryKeys.js.html +5 -5
  270. package/src/artifacts/coverage-jest/Settings/contexts/SettingsContext.js.html +2 -2
  271. package/src/artifacts/coverage-jest/Settings/contexts/index.html +1 -1
  272. package/src/artifacts/coverage-jest/Settings/contexts/index.js.html +1 -1
  273. package/src/artifacts/coverage-jest/Settings/hooks/index.html +1 -1
  274. package/src/artifacts/coverage-jest/Settings/hooks/index.js.html +1 -1
  275. package/src/artifacts/coverage-jest/Settings/hooks/staticSettingsPages/index.html +1 -1
  276. package/src/artifacts/coverage-jest/Settings/hooks/staticSettingsPages/index.js.html +1 -1
  277. package/src/artifacts/coverage-jest/Settings/hooks/staticSettingsPages/useSettingCallout/index.html +1 -1
  278. package/src/artifacts/coverage-jest/Settings/hooks/staticSettingsPages/useSettingCallout/index.js.html +1 -1
  279. package/src/artifacts/coverage-jest/Settings/hooks/staticSettingsPages/useSettingCallout/useSettingCallout.js.html +2 -2
  280. package/src/artifacts/coverage-jest/Settings/hooks/staticSettingsPages/useSettingsSectionInitalValues/index.html +1 -1
  281. package/src/artifacts/coverage-jest/Settings/hooks/staticSettingsPages/useSettingsSectionInitalValues/index.js.html +1 -1
  282. package/src/artifacts/coverage-jest/Settings/hooks/staticSettingsPages/useSettingsSectionInitalValues/useSettingsSectionInitalValues.js.html +2 -2
  283. package/src/artifacts/coverage-jest/Settings/hooks/staticSettingsPages/useStaticSettingsSection.js.html +2 -2
  284. package/src/artifacts/coverage-jest/Settings/hooks/useAppSettings/index.html +1 -1
  285. package/src/artifacts/coverage-jest/Settings/hooks/useAppSettings/index.js.html +1 -1
  286. package/src/artifacts/coverage-jest/Settings/hooks/useAppSettings/useAppSettings.js.html +2 -2
  287. package/src/artifacts/coverage-jest/Settings/hooks/useSettingSection/index.html +1 -1
  288. package/src/artifacts/coverage-jest/Settings/hooks/useSettingSection/index.js.html +1 -1
  289. package/src/artifacts/coverage-jest/Settings/hooks/useSettingSection/useSettingSection.js.html +2 -2
  290. package/src/artifacts/coverage-jest/Settings/hooks/useSettings/index.html +12 -12
  291. package/src/artifacts/coverage-jest/Settings/hooks/useSettings/index.js.html +1 -1
  292. package/src/artifacts/coverage-jest/Settings/hooks/useSettings/useSettings.js.html +33 -15
  293. package/src/artifacts/coverage-jest/Settings/index.html +1 -1
  294. package/src/artifacts/coverage-jest/Settings/index.js.html +1 -1
  295. package/src/artifacts/coverage-jest/Tags/Tags.js.html +3 -3
  296. package/src/artifacts/coverage-jest/Tags/hooks/index.html +1 -1
  297. package/src/artifacts/coverage-jest/Tags/hooks/index.js.html +1 -1
  298. package/src/artifacts/coverage-jest/Tags/hooks/useTags.js.html +2 -2
  299. package/src/artifacts/coverage-jest/Tags/hooks/useTagsEnabled.js.html +8 -8
  300. package/src/artifacts/coverage-jest/Tags/index.html +1 -1
  301. package/src/artifacts/coverage-jest/Tags/index.js.html +1 -1
  302. package/src/artifacts/coverage-jest/Tags/tagsConfig.js.html +5 -5
  303. package/src/artifacts/coverage-jest/Typedown/Typedown.js.html +15 -6
  304. package/src/artifacts/coverage-jest/Typedown/index.html +3 -3
  305. package/src/artifacts/coverage-jest/Typedown/index.js.html +1 -1
  306. package/src/artifacts/coverage-jest/cobertura-coverage.xml +1006 -839
  307. package/src/artifacts/coverage-jest/constants/comparators.js.html +1 -1
  308. package/src/artifacts/coverage-jest/constants/customProperties.js.html +12 -12
  309. package/src/artifacts/coverage-jest/constants/endpoints.js.html +4 -4
  310. package/src/artifacts/coverage-jest/constants/eventCodes.js.html +4 -4
  311. package/src/artifacts/coverage-jest/constants/index.html +1 -1
  312. package/src/artifacts/coverage-jest/constants/pagination.js.html +6 -6
  313. package/src/artifacts/coverage-jest/hooks/index.html +51 -51
  314. package/src/artifacts/coverage-jest/hooks/index.js.html +1 -1
  315. package/src/artifacts/coverage-jest/hooks/intlHooks/index.html +1 -1
  316. package/src/artifacts/coverage-jest/hooks/intlHooks/index.js.html +1 -1
  317. package/src/artifacts/coverage-jest/hooks/intlHooks/useIntlKey/index.html +1 -1
  318. package/src/artifacts/coverage-jest/hooks/intlHooks/useIntlKey/index.js.html +1 -1
  319. package/src/artifacts/coverage-jest/hooks/intlHooks/useIntlKey/useIntlKey.js.html +8 -8
  320. package/src/artifacts/coverage-jest/hooks/intlHooks/useIntlKeyStore/index.html +1 -1
  321. package/src/artifacts/coverage-jest/hooks/intlHooks/useIntlKeyStore/index.js.html +1 -1
  322. package/src/artifacts/coverage-jest/hooks/intlHooks/useIntlKeyStore/useIntlKeyStore.js.html +12 -12
  323. package/src/artifacts/coverage-jest/hooks/intlHooks/useKintIntl/index.html +1 -1
  324. package/src/artifacts/coverage-jest/hooks/intlHooks/useKintIntl/index.js.html +1 -1
  325. package/src/artifacts/coverage-jest/hooks/intlHooks/useKintIntl/useKintIntl.js.html +10 -10
  326. package/src/artifacts/coverage-jest/hooks/typedownHooks/index.html +1 -1
  327. package/src/artifacts/coverage-jest/hooks/typedownHooks/index.js.html +1 -1
  328. package/src/artifacts/coverage-jest/hooks/typedownHooks/useTypedown.js.html +2 -2
  329. package/src/artifacts/coverage-jest/hooks/typedownHooks/useTypedownData.js.html +2 -2
  330. package/src/artifacts/coverage-jest/hooks/typedownHooks/useTypedownToggle.js.html +2 -2
  331. package/src/artifacts/coverage-jest/hooks/useActionListRef.js.html +2 -2
  332. package/src/artifacts/coverage-jest/hooks/useActiveElement.js.html +2 -2
  333. package/src/artifacts/coverage-jest/hooks/useCustomProperties.js.html +3 -3
  334. package/src/artifacts/coverage-jest/hooks/useHelperApp.js.html +2 -2
  335. package/src/artifacts/coverage-jest/hooks/useInvalidateRefdata/index.html +1 -1
  336. package/src/artifacts/coverage-jest/hooks/useInvalidateRefdata/index.js.html +1 -1
  337. package/src/artifacts/coverage-jest/hooks/useInvalidateRefdata/useInvalidateRefdata.js.html +2 -2
  338. package/src/artifacts/coverage-jest/hooks/useKiwtFieldArray.js.html +2 -2
  339. package/src/artifacts/coverage-jest/hooks/useKiwtSASQuery.js.html +48 -48
  340. package/src/artifacts/coverage-jest/hooks/useLocalPageStore.js.html +3 -3
  341. package/src/artifacts/coverage-jest/hooks/useLocalStorageState.js.html +22 -22
  342. package/src/artifacts/coverage-jest/hooks/useModConfigEntries.js.html +3 -3
  343. package/src/artifacts/coverage-jest/hooks/useMutateCustomProperties/index.html +1 -1
  344. package/src/artifacts/coverage-jest/hooks/useMutateCustomProperties/index.js.html +1 -1
  345. package/src/artifacts/coverage-jest/hooks/useMutateCustomProperties/useMutateCustomProperties.js.html +2 -2
  346. package/src/artifacts/coverage-jest/hooks/useMutateGeneric/index.html +1 -1
  347. package/src/artifacts/coverage-jest/hooks/useMutateGeneric/index.js.html +5 -2
  348. package/src/artifacts/coverage-jest/hooks/useMutateGeneric/useMutateGeneric.js.html +2 -2
  349. package/src/artifacts/coverage-jest/hooks/useMutateModConfigEntry.js.html +2 -2
  350. package/src/artifacts/coverage-jest/hooks/useMutateRefdataCategory/index.html +1 -1
  351. package/src/artifacts/coverage-jest/hooks/useMutateRefdataCategory/index.js.html +1 -1
  352. package/src/artifacts/coverage-jest/hooks/useMutateRefdataCategory/useMutateRefdataCategory.js.html +2 -2
  353. package/src/artifacts/coverage-jest/hooks/useMutateRefdataValue/index.html +1 -1
  354. package/src/artifacts/coverage-jest/hooks/useMutateRefdataValue/index.js.html +1 -1
  355. package/src/artifacts/coverage-jest/hooks/useMutateRefdataValue/useMutateRefdataValue.js.html +2 -2
  356. package/src/artifacts/coverage-jest/hooks/usePrevNextPagination.js.html +68 -68
  357. package/src/artifacts/coverage-jest/hooks/useQIndex.js.html +28 -28
  358. package/src/artifacts/coverage-jest/hooks/useRefdata.js.html +3 -3
  359. package/src/artifacts/coverage-jest/hooks/useSASQQueryMeta.js.html +2 -2
  360. package/src/artifacts/coverage-jest/hooks/useStandaloneSASQQueryParameter/index.html +1 -1
  361. package/src/artifacts/coverage-jest/hooks/useStandaloneSASQQueryParameter/index.js.html +1 -1
  362. package/src/artifacts/coverage-jest/hooks/useStandaloneSASQQueryParameter/useStandaloneSASQQueryParameter.js.html +2 -2
  363. package/src/artifacts/coverage-jest/hooks/useTemplates.js.html +2 -2
  364. package/src/artifacts/coverage-jest/index.html +115 -100
  365. package/src/artifacts/coverage-jest/utils/buildUrl.js.html +34 -34
  366. package/src/artifacts/coverage-jest/utils/filterParsers/deparseKiwtQueryFilters.js.html +3 -3
  367. package/src/artifacts/coverage-jest/utils/filterParsers/index.html +1 -1
  368. package/src/artifacts/coverage-jest/utils/filterParsers/index.js.html +1 -1
  369. package/src/artifacts/coverage-jest/utils/filterParsers/parseKiwtQueryFilters.js.html +3 -3
  370. package/src/artifacts/coverage-jest/utils/filterParsers/parseKiwtQueryGroups.js.html +2 -2
  371. package/src/artifacts/coverage-jest/utils/filterParsers/parseKiwtQueryString.js.html +5 -5
  372. package/src/artifacts/coverage-jest/utils/generateKiwtQuery.js.html +7 -7
  373. package/src/artifacts/coverage-jest/utils/generateKiwtQueryParams/generateKiwtQueryParams.js.html +67 -67
  374. package/src/artifacts/coverage-jest/utils/generateKiwtQueryParams/index.html +21 -21
  375. package/src/artifacts/coverage-jest/utils/generateKiwtQueryParams/index.js.html +1 -1
  376. package/src/artifacts/coverage-jest/utils/groupCustomPropertiesByCtx.js.html +2 -2
  377. package/src/artifacts/coverage-jest/utils/highlightString.js.html +3 -3
  378. package/src/artifacts/coverage-jest/utils/index.html +22 -22
  379. package/src/artifacts/coverage-jest/utils/index.js.html +1 -1
  380. package/src/artifacts/coverage-jest/utils/matchString.js.html +2 -2
  381. package/src/artifacts/coverage-jest/utils/modConfigEntriesQueryKey.js.html +2 -2
  382. package/src/artifacts/coverage-jest/utils/parseErrorResponse.js.html +2 -2
  383. package/src/artifacts/coverage-jest/utils/parseModConfigEntry.js.html +2 -2
  384. package/src/artifacts/coverage-jest/utils/refdataOptions.js.html +1 -1
  385. package/src/artifacts/coverage-jest/utils/refdataQueryKey/index.html +1 -1
  386. package/src/artifacts/coverage-jest/utils/refdataQueryKey/index.js.html +1 -1
  387. package/src/artifacts/coverage-jest/utils/refdataQueryKey/refdataQueryKey.js.html +2 -2
  388. package/src/artifacts/coverage-jest/utils/selectorSafe.js.html +2 -2
  389. package/src/artifacts/coverage-jest/utils/sortByLabel.js.html +2 -2
  390. package/src/artifacts/coverage-jest/utils/toCamelCase.js.html +2 -2
  391. package/src/artifacts/coverage-jest/utils/typedownQueryKey.js.html +2 -2
  392. package/src/artifacts/coverage-jest/validators/index.html +1 -1
  393. package/src/artifacts/coverage-jest/validators/index.js.html +1 -1
  394. package/src/artifacts/coverage-jest/validators/validators.js.html +8 -8
  395. package/src/lib/ButtonTypedown/ButtonTypedown.js +77 -13
  396. package/src/lib/SASQLookupComponent/SASQLookupComponent.js +3 -4
  397. package/src/lib/SASQLookupComponent/SASQLookupComponent.test.js +495 -0
  398. package/src/lib/SASQLookupComponent/TableBody/TableBody.js +6 -3
  399. package/src/lib/SASQLookupComponent/TableBody/TableBody.test.js +247 -0
  400. package/src/lib/SASQLookupComponent/__mocks__/SASQLookupComponent.js +31 -0
  401. package/src/lib/SASQLookupComponent/__mocks__/SASQLookupComponentRender.js +20 -0
  402. package/src/lib/SASQLookupComponent/__mocks__/index.js +2 -0
  403. package/src/lib/SASQRoute/SASQRoute.test.js +281 -0
  404. package/src/lib/SASQViewComponent/SASQViewComponent.test.js +114 -0
  405. package/src/lib/SASQViewComponent/__mocks__/SASQViewComponent.js +13 -0
  406. package/src/lib/SASQViewComponent/__mocks__/SASQViewComponentRender.js +17 -0
  407. package/src/lib/SASQViewComponent/__mocks__/index.js +2 -0
  408. package/src/lib/Settings/EditableSettingsList/EditableSettingsListFieldArray/EditableSettingsListFieldArray.js +1 -1
  409. package/src/lib/Settings/Settings/Settings.js +186 -0
  410. package/src/lib/Settings/Settings/index.js +1 -0
  411. package/src/lib/Settings/hooks/useSettings/useSettings.js +13 -7
  412. package/src/lib/Typedown/Typedown.js +4 -1
  413. package/src/lib/hooks/useMutateGeneric/index.js +1 -1
  414. package/styles/TypeDown.css +2 -2
  415. package/test/helpers/test-implementor-translations.json +2 -1
  416. package/test/helpers/translationsProperties.js +1 -1
  417. package/test/jest/setupTests.js +1 -1
@@ -0,0 +1,532 @@
1
+ "use strict";
2
+
3
+ var _react = require("react");
4
+ var _reactRouterDom = require("react-router-dom");
5
+ var _react2 = require("@folio/jest-config-stripes/testing-library/react");
6
+ var _core = require("@folio/stripes/core");
7
+ var _components = require("@folio/stripes/components");
8
+ var _stripesErmTesting = require("@folio/stripes-erm-testing");
9
+ var _reactQuery = require("react-query");
10
+ var _jest = require("../../../test/jest");
11
+ var _SASQLookupComponent = _interopRequireDefault(require("./SASQLookupComponent"));
12
+ var _helpers = _interopRequireDefault(require("../../../test/helpers"));
13
+ var _jsxRuntime = require("react/jsx-runtime");
14
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
16
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
17
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
18
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
19
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
20
+ jest.mock('react-query', () => {
21
+ const {
22
+ mockReactQuery
23
+ } = jest.requireActual('@folio/stripes-erm-testing');
24
+ return _objectSpread(_objectSpread(_objectSpread({}, jest.requireActual('react-query')), mockReactQuery), {}, {
25
+ useQuery: jest.fn((_key, func, opts) => {
26
+ const defaultData = {
27
+ results: [{
28
+ id: 1,
29
+ someData: false,
30
+ test: 'wibble'
31
+ }, {
32
+ id: 2,
33
+ someData: true,
34
+ test: 'wobble'
35
+ }],
36
+ totalRecords: 2
37
+ };
38
+
39
+ // Mock ensures the function is called so we can test outcomes
40
+ if (opts.enabled) {
41
+ func();
42
+ }
43
+ if (opts.select) {
44
+ return {
45
+ data: opts.select(defaultData),
46
+ extraProp: 'extraProp'
47
+ };
48
+ }
49
+ return {
50
+ data: defaultData,
51
+ extraProp: 'extraProp'
52
+ };
53
+ })
54
+ });
55
+ });
56
+
57
+ // TODO why does unmocking react-router-dom cause module hierarchy issues?
58
+ // EXAMPLE mocking react-router-dom
59
+ const mockHistoryPush = jest.fn();
60
+ const mockHistoryReplace = jest.fn();
61
+ jest.mock('react-router-dom', () => {
62
+ const {
63
+ mockReactRouterDom
64
+ } = jest.requireActual('@folio/stripes-erm-testing');
65
+ const actualReactRouterDom = jest.requireActual('react-router-dom');
66
+ return _objectSpread(_objectSpread(_objectSpread({}, actualReactRouterDom), mockReactRouterDom), {}, {
67
+ useHistory: jest.fn(() => ({
68
+ push: mockHistoryPush,
69
+ replace: mockHistoryReplace
70
+ })),
71
+ useLocation: actualReactRouterDom.useLocation // Bit ugly... idk why I need to put this back specifically like this instead of just unmocking react-router-dom
72
+ });
73
+ });
74
+ jest.mock('./TableBody', () => jest.fn(_ref => {
75
+ let {
76
+ mclProps
77
+ } = _ref;
78
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
79
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
80
+ children: "TableBody"
81
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
82
+ onClick: () => mclProps.onNeedMoreData(null, 1),
83
+ children: "Next Page"
84
+ })]
85
+ });
86
+ }));
87
+ jest.mock('../SearchKeyControl', () => jest.fn(() => /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
88
+ children: "SearchKeyControl"
89
+ })));
90
+ const fetchParameters = {
91
+ endpoint: '/wibble',
92
+ SASQ_MAP: {
93
+ searchKey: 'test.test1.test2,test3',
94
+ filterKeys: {
95
+ status: 'status.value',
96
+ wobble: 'wobble.value'
97
+ }
98
+ }
99
+ };
100
+ const baseSASQLookupProps = {
101
+ id: 'testing-sasq-lookup-component',
102
+ path: 'the-path',
103
+ // Required as it's needed for children
104
+ fetchParameters
105
+ };
106
+ const baseSASQObj = {
107
+ filters: '',
108
+ qindex: undefined,
109
+ query: ''
110
+ };
111
+ const getBaseExpectedQueryNamespace = function () {
112
+ let obj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : baseSASQLookupProps;
113
+ return ['@folio/test-implementor', 'SASQ', 'testing-sasq-lookup-component', 'viewAll', obj, 1];
114
+ };
115
+ let renderComponent;
116
+ let theRef;
117
+ describe('SASQLookupComponent', () => {
118
+ describe.each([{
119
+ testLabel: 'default behaviour',
120
+ props: baseSASQLookupProps,
121
+ expectQueryFire: false,
122
+ expectedMockKyCall: '/wibble?filters=status.value%3D%3DtestFilter&stats=true&page=1'
123
+ }, {
124
+ testLabel: 'with searchable indexes',
125
+ props: _objectSpread(_objectSpread({}, baseSASQLookupProps), {}, {
126
+ searchableIndexes: [{
127
+ key: 'name',
128
+ label: 'Name'
129
+ }]
130
+ }),
131
+ expectQueryFire: false,
132
+ // No actual query yet
133
+ expectedSearchKeyControl: true
134
+ }, {
135
+ testLabel: 'starting with filters',
136
+ props: baseSASQLookupProps,
137
+ startingLocation: '/wibble?filters=status.testFilter',
138
+ expectedQueryNamespace: getBaseExpectedQueryNamespace({
139
+ filters: 'status.testFilter',
140
+ qindex: undefined,
141
+ query: ''
142
+ }),
143
+ expectedMockKyCall: '/wibble?filters=status.value%3D%3DtestFilter&stats=true&page=1',
144
+ expectedMockKyCallAfterSearch: '/wibble?match=test.test1.test2&match=test3&term=some%20test%20query&filters=status.value%3D%3DtestFilter&stats=true&page=1',
145
+ expectedRef: {
146
+ lookupQueryProps: {
147
+ data: {
148
+ results: [{
149
+ 'id': 1,
150
+ 'someData': false,
151
+ 'test': 'wibble'
152
+ }, {
153
+ 'id': 2,
154
+ 'someData': true,
155
+ 'test': 'wobble'
156
+ }],
157
+ totalRecords: 2
158
+ },
159
+ 'extraProp': 'extraProp'
160
+ },
161
+ queryParams: '?filters=status.value%3D%3DtestFilter&stats=true&page=1'
162
+ }
163
+ }, {
164
+ testLabel: 'starting with qindex and no query',
165
+ props: baseSASQLookupProps,
166
+ startingLocation: '/wibble?qindex=test.test1.test2',
167
+ expectQueryFire: false,
168
+ expectedQueryNamespace: getBaseExpectedQueryNamespace({
169
+ filters: '',
170
+ qindex: 'test.test1.test2',
171
+ query: ''
172
+ }),
173
+ expectedMockKyCallAfterSearch: '/wibble?match=test.test1.test2&term=some%20test%20query&stats=true&page=1'
174
+ }, {
175
+ testLabel: 'starting with qindex and query',
176
+ props: _objectSpread(_objectSpread({}, baseSASQLookupProps), {}, {
177
+ sasqProps: {
178
+ initialSearchState: {
179
+ query: 'hello',
180
+ qindex: 'test.test1.test2'
181
+ }
182
+ }
183
+ }),
184
+ startingLocation: '/wibble?qindex=some.new.qindex.path&query=hello',
185
+ expectedQueryNamespace: getBaseExpectedQueryNamespace({
186
+ filters: '',
187
+ qindex: 'some.new.qindex.path',
188
+ query: 'hello'
189
+ }),
190
+ expectedMockKyCall: '/wibble?match=some.new.qindex.path&term=hello&stats=true&page=1',
191
+ expectedMockKyCallAfterSearch: '/wibble?match=some.new.qindex.path&term=some%20test%20query&stats=true&page=1',
192
+ expectedRef: {
193
+ lookupQueryProps: {
194
+ data: {
195
+ results: [{
196
+ 'id': 1,
197
+ 'someData': false,
198
+ 'test': 'wibble'
199
+ }, {
200
+ 'id': 2,
201
+ 'someData': true,
202
+ 'test': 'wobble'
203
+ }],
204
+ totalRecords: 2
205
+ },
206
+ 'extraProp': 'extraProp'
207
+ },
208
+ queryParams: '?match=some.new.qindex.path&term=hello&stats=true&page=1'
209
+ }
210
+ }, {
211
+ testLabel: 'with FilterComponent',
212
+ props: _objectSpread(_objectSpread({}, baseSASQLookupProps), {}, {
213
+ FilterComponent: () => /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
214
+ children: "FilterComponent"
215
+ })
216
+ }),
217
+ expectQueryFire: false,
218
+ expectedMockKyCall: '/wibble?filters=status.value%3D%3DtestFilter&stats=true&page=1',
219
+ expectedFilterComponent: 'FilterComponent'
220
+ }, {
221
+ testLabel: 'with filter pane disabled',
222
+ props: _objectSpread(_objectSpread({}, baseSASQLookupProps), {}, {
223
+ hasFilterPane: false
224
+ }),
225
+ expectQueryFire: false,
226
+ expectedSearchField: false,
227
+ expectedFilterPane: false
228
+ }, {
229
+ testLabel: 'with FilterHeaderComponent',
230
+ props: _objectSpread(_objectSpread({}, baseSASQLookupProps), {}, {
231
+ FilterPaneHeaderComponent: () => /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
232
+ children: "FilterPaneHeaderComponent"
233
+ })
234
+ }),
235
+ expectQueryFire: false,
236
+ expectedMockKyCall: '/wibble?filters=status.value%3D%3DtestFilter&stats=true&page=1',
237
+ expectedFilterHeaderComponent: 'FilterPaneHeaderComponent'
238
+ }, {
239
+ testLabel: 'no search field mode',
240
+ props: _objectSpread(_objectSpread({}, baseSASQLookupProps), {}, {
241
+ noSearchField: true
242
+ }),
243
+ expectQueryFire: false,
244
+ expectedSearchField: false
245
+ }, {
246
+ testLabel: 'with RenderBody',
247
+ props: _objectSpread(_objectSpread({}, baseSASQLookupProps), {}, {
248
+ RenderBody: () => /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
249
+ children: "TheBodyComponent"
250
+ })
251
+ }),
252
+ expectQueryFire: false,
253
+ expectedMockKyCall: '/wibble?filters=status.value%3D%3DtestFilter&stats=true&page=1',
254
+ expectedBodyComponent: 'TheBodyComponent'
255
+ }, {
256
+ testLabel: 'with custom lookupQueryNamespaceGenerator',
257
+ props: _objectSpread(_objectSpread({}, baseSASQLookupProps), {}, {
258
+ lookupQueryNamespaceGenerator: _ref2 => {
259
+ let {
260
+ currentPage,
261
+ namespace,
262
+ id: passedId
263
+ } = _ref2;
264
+ return ["testing-".concat(currentPage), "testing-".concat(namespace), "testing-".concat(passedId)];
265
+ }
266
+ }),
267
+ expectedQueryNamespace: ['testing-1', 'testing-@folio/test-implementor', 'testing-testing-sasq-lookup-component'],
268
+ startingLocation: '/wibble?filters=status.testFilter',
269
+ expectedMockKyCall: '/wibble?filters=status.value%3D%3DtestFilter&stats=true&page=1',
270
+ expectedMockKyCallAfterSearch: '/wibble?match=test.test1.test2&match=test3&term=some%20test%20query&filters=status.value%3D%3DtestFilter&stats=true&page=1',
271
+ expectedRef: {
272
+ lookupQueryProps: {
273
+ data: {
274
+ results: [{
275
+ 'id': 1,
276
+ 'someData': false,
277
+ 'test': 'wibble'
278
+ }, {
279
+ 'id': 2,
280
+ 'someData': true,
281
+ 'test': 'wobble'
282
+ }],
283
+ totalRecords: 2
284
+ },
285
+ 'extraProp': 'extraProp'
286
+ },
287
+ queryParams: '?filters=status.value%3D%3DtestFilter&stats=true&page=1'
288
+ }
289
+ }, {
290
+ testLabel: 'with lookupResponseTransform',
291
+ props: _objectSpread(_objectSpread({}, baseSASQLookupProps), {}, {
292
+ sasqProps: {
293
+ initialSearchState: {
294
+ query: 'test',
295
+ qindex: 'test.test1.test2'
296
+ }
297
+ },
298
+ // Wrap results in an extra object to prove transform works
299
+ lookupResponseTransform: resp => ({
300
+ originalData: resp,
301
+ transformed: true
302
+ })
303
+ }),
304
+ startingLocation: '/wibble?query=test',
305
+ expectedQueryNamespace: getBaseExpectedQueryNamespace({
306
+ filters: '',
307
+ qindex: undefined,
308
+ query: 'test'
309
+ }),
310
+ expectedMockKyCall: '/wibble?match=test.test1.test2&match=test3&term=test&stats=true&page=1',
311
+ expectedRef: {
312
+ lookupQueryProps: {
313
+ data: {
314
+ originalData: {
315
+ results: [{
316
+ 'id': 1,
317
+ 'someData': false,
318
+ 'test': 'wibble'
319
+ }, {
320
+ 'id': 2,
321
+ 'someData': true,
322
+ 'test': 'wobble'
323
+ }],
324
+ totalRecords: 2
325
+ },
326
+ transformed: true
327
+ },
328
+ 'extraProp': 'extraProp'
329
+ },
330
+ queryParams: '?match=test.test1.test2&match=test3&term=test&stats=true&page=1'
331
+ },
332
+ expectedNumberOfResults: 0
333
+ }])('$testLabel', _ref3 => {
334
+ let {
335
+ props,
336
+ startingLocation = '/wibble',
337
+ expectQueryFire = true,
338
+ expectedQueryNamespace = getBaseExpectedQueryNamespace(baseSASQObj),
339
+ expectedMockKyCall = '/wibble?match=test.test1.test2&match=test3&term=some%20test%20query&stats=true&page=1',
340
+ expectedMockKyCallAfterSearch = '/wibble?match=test.test1.test2&match=test3&term=some%20test%20query&stats=true&page=1',
341
+ expectedFilterComponent,
342
+ expectedFilterHeaderComponent,
343
+ expectedFilterPane = true,
344
+ expectedBodyComponent,
345
+ expectedNumberOfResults = 2,
346
+ expectedSearchField = true,
347
+ expectedSearchKeyControl = false,
348
+ expectedRef
349
+ } = _ref3;
350
+ beforeEach(() => {
351
+ // CLEAR MOCKS
352
+ _core.mockKy.mockClear();
353
+ _reactQuery.useQuery.mockClear();
354
+
355
+ // CLEAR LOCAL STORAGE to ensure filter pane starts open
356
+ window.localStorage.clear();
357
+
358
+ // SET UP REF
359
+ theRef = /*#__PURE__*/(0, _react.createRef)();
360
+ renderComponent = (0, _jest.renderWithKintHarness)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactRouterDom.MemoryRouter, {
361
+ initialEntries: [startingLocation],
362
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_SASQLookupComponent.default, _objectSpread(_objectSpread({
363
+ ref: theRef
364
+ }, props), {}, {
365
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
366
+ children: "CHILD COMPONENT"
367
+ })
368
+ }))
369
+ }), undefined, _helpers.default);
370
+ });
371
+ test('renders children', () => {
372
+ const {
373
+ getByText
374
+ } = renderComponent;
375
+ expect(getByText('CHILD COMPONENT')).toBeInTheDocument();
376
+ });
377
+ test('renders the main pane', async () => {
378
+ await (0, _stripesErmTesting.Pane)({
379
+ id: "".concat(props.id, "-main-pane")
380
+ }).exists();
381
+ });
382
+
383
+ // This MUST happen before the Searching block as that will clear the mocks
384
+ describe('Initial lookup', () => {
385
+ // Called once without SASQ props, then once without page, then finally as expected, so call 2
386
+ test('useQuery namespace was as expected', () => {
387
+ expect(_reactQuery.useQuery.mock.calls[3][0]).toEqual(expectedQueryNamespace);
388
+ });
389
+ if (expectQueryFire) {
390
+ test('mockKy was called with expected values', () => {
391
+ expect(_core.mockKy).toHaveBeenCalledWith(expectedMockKyCall);
392
+ });
393
+ test('ref has gained lookup data', async () => {
394
+ await (0, _react2.waitFor)(() => {
395
+ expect(theRef.current).toEqual(expectedRef);
396
+ });
397
+ });
398
+ } else {
399
+ test('mockKy was not called', () => {
400
+ expect(_core.mockKy).toHaveBeenCalledTimes(0);
401
+ });
402
+ }
403
+ });
404
+ describe('Searching', () => {
405
+ if (expectedSearchKeyControl) {
406
+ test('renders SearchKeyControl', () => {
407
+ const {
408
+ getByText
409
+ } = renderComponent;
410
+ expect(getByText('SearchKeyControl')).toBeInTheDocument();
411
+ });
412
+ }
413
+ if (!expectedSearchField) {
414
+ test('does not render SearchField', async () => {
415
+ await (0, _stripesErmTesting.SearchField)().absent();
416
+ });
417
+ } else {
418
+ test('renders SearchField', async () => {
419
+ await (0, _stripesErmTesting.SearchField)().exists();
420
+ });
421
+ test('mockKy has not yet been called with expected search', async () => {
422
+ await (0, _react2.waitFor)(() => {
423
+ expect(_core.mockKy).not.toHaveBeenCalledWith(expectedMockKyCallAfterSearch);
424
+ });
425
+ });
426
+ describe('running a search', () => {
427
+ beforeEach(async () => {
428
+ _core.mockKy.mockClear();
429
+ await (0, _react2.waitFor)(async () => {
430
+ await (0, _stripesErmTesting.SearchField)().fillIn('some test query');
431
+ await (0, _stripesErmTesting.Button)('Search').click();
432
+ });
433
+ });
434
+ test('mockKy behaves as expected after search', async () => {
435
+ await (0, _react2.waitFor)(() => {
436
+ expect(_core.mockKy).toHaveBeenCalledWith(expectedMockKyCallAfterSearch);
437
+ });
438
+ });
439
+ describe('resetting search', () => {
440
+ beforeEach(async () => {
441
+ _core.mockKy.mockClear();
442
+ await (0, _react2.waitFor)(async () => {
443
+ await (0, _stripesErmTesting.Button)('Reset all').click();
444
+ });
445
+ });
446
+ if (expectQueryFire) {
447
+ test('mockKy was called with expected values after reset', async () => {
448
+ await (0, _react2.waitFor)(() => {
449
+ expect(_core.mockKy).toHaveBeenCalledWith(expectedMockKyCall);
450
+ });
451
+ });
452
+ } else {
453
+ test('mockKy was not called after reset', () => {
454
+ expect(_core.mockKy).toHaveBeenCalledTimes(0);
455
+ });
456
+ }
457
+ });
458
+ });
459
+ }
460
+ });
461
+
462
+ // TESTING TOTAL RECORDS DISPLAY
463
+ test('displays the correct number of found values', async () => {
464
+ // SASQ uses paneSub for "found X values"
465
+ await (0, _stripesErmTesting.Pane)({
466
+ subtitle: "Found ".concat(expectedNumberOfResults, " values")
467
+ }).exists();
468
+ });
469
+ if (expectedBodyComponent) {
470
+ test('renders the RenderBody', () => {
471
+ const {
472
+ getByText
473
+ } = renderComponent;
474
+ expect(getByText(expectedBodyComponent)).toBeInTheDocument();
475
+ });
476
+ } else {
477
+ test('renders the TableBody', () => {
478
+ const {
479
+ getByText
480
+ } = renderComponent;
481
+ expect(getByText('TableBody')).toBeInTheDocument();
482
+ });
483
+ }
484
+ if (expectedFilterPane) {
485
+ describe('Filter pane', () => {
486
+ test('renders the filter pane', async () => {
487
+ await (0, _stripesErmTesting.Pane)({
488
+ id: "".concat(props.id, "-filter-pane")
489
+ }).exists();
490
+ });
491
+ test('collapse filter pane button exists', async () => {
492
+ await (0, _stripesErmTesting.IconButton)('caret-left').exists();
493
+ });
494
+ test('expand filter pane button does not exist', async () => {
495
+ await (0, _stripesErmTesting.IconButton)('caret-right').absent();
496
+ });
497
+ describe('toggling the filter pane', () => {
498
+ beforeEach(async () => {
499
+ // Find the collapse button in the filter pane
500
+ await (0, _react2.waitFor)(async () => {
501
+ await (0, _stripesErmTesting.IconButton)('caret-left').click();
502
+ });
503
+ });
504
+ test('expand button appears in main pane', async () => {
505
+ await (0, _stripesErmTesting.IconButton)('caret-right').exists();
506
+ });
507
+ test('filter pane is removed from DOM', async () => {
508
+ await (0, _stripesErmTesting.Pane)({
509
+ id: "".concat(props.id, "-filter-pane")
510
+ }).absent();
511
+ });
512
+ });
513
+ if (expectedFilterComponent) {
514
+ test('FilterComponent renders', () => {
515
+ const {
516
+ getByText
517
+ } = renderComponent;
518
+ expect(getByText(expectedFilterComponent)).toBeInTheDocument();
519
+ });
520
+ }
521
+ if (expectedFilterHeaderComponent) {
522
+ test('FilterHeaderComponent renders', () => {
523
+ const {
524
+ getByText
525
+ } = renderComponent;
526
+ expect(getByText(expectedFilterHeaderComponent)).toBeInTheDocument();
527
+ });
528
+ }
529
+ });
530
+ }
531
+ });
532
+ });
@@ -10,34 +10,43 @@ var _reactRouterDom = require("react-router-dom");
10
10
  var _components = require("@folio/stripes/components");
11
11
  var _NoResultsMessage = _interopRequireDefault(require("../../NoResultsMessage"));
12
12
  var _jsxRuntime = require("react/jsx-runtime");
13
+ const _excluded = ["formatter"];
13
14
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
16
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
17
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
18
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
19
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
20
+ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
21
+ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
14
22
  const TableBody = _ref => {
23
+ var _query$sort, _match$params2;
15
24
  let {
16
- data,
17
- error,
18
- fetchNextPage,
19
- filterPaneVisible,
20
- intlKey: passedIntlKey,
21
- intlNS: passedIntlNS,
22
- isError,
23
- isLoading,
24
- labelOverrides = {},
25
- match,
26
- mclProps: {
27
- formatter = {},
28
- ...mclProps
29
- } = {},
30
- noResultsProps = {},
31
- onSort,
32
- path,
33
- resultColumns,
34
- rowNavigation = true,
35
- // Default navigation onRowClick
36
- getNavigationIdentifier = row => row?.id,
37
- toggleFilterPane,
38
- query
39
- } = _ref;
40
- const sortOrder = query.sort ?? '';
25
+ data,
26
+ error,
27
+ fetchNextPage,
28
+ filterPaneVisible,
29
+ intlKey: passedIntlKey,
30
+ intlNS: passedIntlNS,
31
+ isError,
32
+ isLoading,
33
+ labelOverrides = {},
34
+ match,
35
+ mclProps: {
36
+ formatter = {}
37
+ } = {},
38
+ noResultsProps = {},
39
+ onSort,
40
+ path,
41
+ resultColumns,
42
+ rowNavigation = true,
43
+ // Default navigation onRowClick
44
+ getNavigationIdentifier = row => row === null || row === void 0 ? void 0 : row.id,
45
+ toggleFilterPane,
46
+ query
47
+ } = _ref,
48
+ mclProps = _objectWithoutProperties(_ref.mclProps, _excluded);
49
+ const sortOrder = (_query$sort = query.sort) !== null && _query$sort !== void 0 ? _query$sort : '';
41
50
  const history = (0, _reactRouterDom.useHistory)();
42
51
  const location = (0, _reactRouterDom.useLocation)();
43
52
  const onNeedMoreData = (_askAmount, index) => {
@@ -52,9 +61,10 @@ const TableBody = _ref => {
52
61
  // Build the list of visible columns
53
62
  const visibleColumns = resultColumns.map(e => e.propertyPath);
54
63
  const getRowUrl = (0, _react.useCallback)(rowData => {
55
- const baseUrl = `${path}/${getNavigationIdentifier(rowData)}`;
64
+ var _location$search;
65
+ const baseUrl = "".concat(path, "/").concat(getNavigationIdentifier(rowData));
56
66
  return {
57
- url: `${baseUrl}${location?.search}`,
67
+ url: "".concat(baseUrl).concat((_location$search = location === null || location === void 0 ? void 0 : location.search) !== null && _location$search !== void 0 ? _location$search : ''),
58
68
  path,
59
69
  baseUrl,
60
70
  location
@@ -63,10 +73,13 @@ const TableBody = _ref => {
63
73
  const getEnhancedFormatter = (0, _react.useCallback)(() => {
64
74
  const enhancedFormatter = {};
65
75
  for (const [key, value] of Object.entries(formatter)) {
66
- enhancedFormatter[key] = item => value({
67
- ...item,
68
- defaultRowUrl: getRowUrl(item)
69
- });
76
+ if (typeof value === 'function') {
77
+ enhancedFormatter[key] = item => value(_objectSpread(_objectSpread({}, item), {}, {
78
+ defaultRowUrl: getRowUrl(item)
79
+ }));
80
+ } else {
81
+ enhancedFormatter[key] = value;
82
+ }
70
83
  }
71
84
  return enhancedFormatter;
72
85
  }, [formatter, getRowUrl]);
@@ -79,21 +92,25 @@ const TableBody = _ref => {
79
92
  return null;
80
93
  }, [getRowUrl, history, rowNavigation]);
81
94
  const isSelected = (0, _react.useCallback)(_ref2 => {
95
+ var _match$params;
82
96
  let {
83
97
  item
84
98
  } = _ref2;
85
- return getNavigationIdentifier(item) === match?.params?.id;
86
- }, [getNavigationIdentifier, match?.params?.id]);
87
- const NoResultsComponent = (0, _react.useMemo)(() => noResultsProps?.component ?? _NoResultsMessage.default, [noResultsProps?.component]);
88
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.MultiColumnList, {
99
+ return getNavigationIdentifier(item) === (match === null || match === void 0 || (_match$params = match.params) === null || _match$params === void 0 ? void 0 : _match$params.id);
100
+ }, [getNavigationIdentifier, match === null || match === void 0 || (_match$params2 = match.params) === null || _match$params2 === void 0 ? void 0 : _match$params2.id]);
101
+ const NoResultsComponent = (0, _react.useMemo)(() => {
102
+ var _noResultsProps$compo;
103
+ return (_noResultsProps$compo = noResultsProps === null || noResultsProps === void 0 ? void 0 : noResultsProps.component) !== null && _noResultsProps$compo !== void 0 ? _noResultsProps$compo : _NoResultsMessage.default;
104
+ }, [noResultsProps === null || noResultsProps === void 0 ? void 0 : noResultsProps.component]);
105
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.MultiColumnList, _objectSpread({
89
106
  autosize: true,
90
107
  columnMapping: columnMapping,
91
- contentData: data?.results,
108
+ contentData: data === null || data === void 0 ? void 0 : data.results,
92
109
  formatter: getEnhancedFormatter() // Pass enhanced formatter
93
110
  ,
94
111
  hasMargin: true,
95
112
  interactive: rowNavigation,
96
- isEmptyMessage: /*#__PURE__*/(0, _jsxRuntime.jsx)(NoResultsComponent, {
113
+ isEmptyMessage: /*#__PURE__*/(0, _jsxRuntime.jsx)(NoResultsComponent, _objectSpread({}, _objectSpread({
97
114
  error,
98
115
  filterPaneIsVisible: filterPaneVisible,
99
116
  intlKey: passedIntlKey,
@@ -102,9 +119,8 @@ const TableBody = _ref => {
102
119
  isLoading,
103
120
  labelOverrides,
104
121
  searchTerm: query.query,
105
- toggleFilterPane,
106
- ...noResultsProps // Anything passed in directly takes precedence
107
- }),
122
+ toggleFilterPane
123
+ }, noResultsProps))),
108
124
  isSelected: isSelected,
109
125
  onHeaderClick: onSort,
110
126
  onNeedMoreData: onNeedMoreData,
@@ -113,9 +129,8 @@ const TableBody = _ref => {
113
129
  sortDirection: sortOrder.startsWith('-') ? 'descending' : 'ascending',
114
130
  sortOrder: sortOrder.replace(/^-/, '').replace(/,.*/, ''),
115
131
  totalCount: data.totalRecords,
116
- visibleColumns: visibleColumns,
117
- ...mclProps
118
- });
132
+ visibleColumns: visibleColumns
133
+ }, mclProps));
119
134
  };
120
135
  TableBody.propTypes = {
121
136
  data: _propTypes.default.shape({