@k-int/stripes-kint-components 5.34.1 → 5.36.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 (327) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/es/index.js +12 -0
  3. package/es/lib/Files/FileUploader/FileUploader.js +119 -0
  4. package/es/lib/Files/FileUploader/index.js +13 -0
  5. package/es/lib/Files/FileView/FileView.js +116 -0
  6. package/es/lib/Files/FileView/index.js +13 -0
  7. package/es/lib/Files/index.js +27 -0
  8. package/es/lib/Files/useFileHandlers.js +133 -0
  9. package/es/lib/NoResultsMessage/NoResultsMessage.js +28 -10
  10. package/es/lib/SASQLookupComponent/SASQLookupComponent.js +109 -60
  11. package/es/lib/SASQLookupComponent/SASQLookupComponent.test.js +11 -0
  12. package/es/lib/SASQLookupComponent/TableBody/TableBody.js +6 -0
  13. package/es/lib/hooks/index.js +8 -0
  14. package/es/lib/hooks/useMutateTemplates/index.js +13 -0
  15. package/es/lib/hooks/useMutateTemplates/useMutateTemplates.js +45 -0
  16. package/es/lib/utils/downloadBlob.js +42 -0
  17. package/es/lib/utils/index.js +9 -1
  18. package/package.json +2 -1
  19. package/src/artifacts/coverage-jest/ActionList/ActionList.js.html +1 -1
  20. package/src/artifacts/coverage-jest/ActionList/ActionListFieldArray.js.html +1 -1
  21. package/src/artifacts/coverage-jest/ActionList/index.html +1 -1
  22. package/src/artifacts/coverage-jest/ActionList/index.js.html +1 -1
  23. package/src/artifacts/coverage-jest/ButtonTypedown/ButtonTypedown.js.html +1 -1
  24. package/src/artifacts/coverage-jest/ButtonTypedown/index.html +1 -1
  25. package/src/artifacts/coverage-jest/ButtonTypedown/index.js.html +1 -1
  26. package/src/artifacts/coverage-jest/ComboButton/ComboButton.js.html +1 -1
  27. package/src/artifacts/coverage-jest/ComboButton/index.html +1 -1
  28. package/src/artifacts/coverage-jest/ComboButton/index.js.html +1 -1
  29. package/src/artifacts/coverage-jest/CustomProperties/Config/CustomPropertiesLookup.js.html +1 -1
  30. package/src/artifacts/coverage-jest/CustomProperties/Config/CustomPropertiesSettings.js.html +1 -1
  31. package/src/artifacts/coverage-jest/CustomProperties/Config/CustomPropertyForm.js.html +1 -1
  32. package/src/artifacts/coverage-jest/CustomProperties/Config/CustomPropertyView.js.html +1 -1
  33. package/src/artifacts/coverage-jest/CustomProperties/Config/index.html +1 -1
  34. package/src/artifacts/coverage-jest/CustomProperties/Config/index.js.html +1 -1
  35. package/src/artifacts/coverage-jest/CustomProperties/Edit/CustomPropertiesEdit.js.html +1 -1
  36. package/src/artifacts/coverage-jest/CustomProperties/Edit/CustomPropertiesEditCtx.js.html +1 -1
  37. package/src/artifacts/coverage-jest/CustomProperties/Edit/CustomPropertiesListField.js.html +1 -1
  38. package/src/artifacts/coverage-jest/CustomProperties/Edit/CustomPropertyField.js.html +1 -1
  39. package/src/artifacts/coverage-jest/CustomProperties/Edit/CustomPropertyFormCard.js.html +1 -1
  40. package/src/artifacts/coverage-jest/CustomProperties/Edit/index.html +1 -1
  41. package/src/artifacts/coverage-jest/CustomProperties/Edit/index.js.html +1 -1
  42. package/src/artifacts/coverage-jest/CustomProperties/Edit/testResources.js.html +1 -1
  43. package/src/artifacts/coverage-jest/CustomProperties/Filter/CustomPropertiesFilter.js.html +1 -1
  44. package/src/artifacts/coverage-jest/CustomProperties/Filter/CustomPropertiesFilterField.js.html +1 -1
  45. package/src/artifacts/coverage-jest/CustomProperties/Filter/CustomPropertiesFilterFieldArray.js.html +1 -1
  46. package/src/artifacts/coverage-jest/CustomProperties/Filter/CustomPropertiesFilterForm.js.html +1 -1
  47. package/src/artifacts/coverage-jest/CustomProperties/Filter/CustomPropertiesRule.js.html +1 -1
  48. package/src/artifacts/coverage-jest/CustomProperties/Filter/index.html +1 -1
  49. package/src/artifacts/coverage-jest/CustomProperties/Filter/index.js.html +1 -1
  50. package/src/artifacts/coverage-jest/CustomProperties/Filter/testResources.js.html +1 -1
  51. package/src/artifacts/coverage-jest/CustomProperties/Filter/useOperators.js.html +1 -1
  52. package/src/artifacts/coverage-jest/CustomProperties/Filter/useParseActiveFilterStrings.js.html +1 -1
  53. package/src/artifacts/coverage-jest/CustomProperties/Filter/useValueProps.js.html +1 -1
  54. package/src/artifacts/coverage-jest/CustomProperties/View/CustomPropertiesView.js.html +1 -1
  55. package/src/artifacts/coverage-jest/CustomProperties/View/CustomPropertiesViewCtx.js.html +1 -1
  56. package/src/artifacts/coverage-jest/CustomProperties/View/CustomPropertyCard.js.html +1 -1
  57. package/src/artifacts/coverage-jest/CustomProperties/View/index.html +1 -1
  58. package/src/artifacts/coverage-jest/CustomProperties/View/index.js.html +1 -1
  59. package/src/artifacts/coverage-jest/CustomProperties/View/testResources.js.html +1 -1
  60. package/src/artifacts/coverage-jest/CustomProperties/index.html +1 -1
  61. package/src/artifacts/coverage-jest/CustomProperties/index.js.html +1 -1
  62. package/src/artifacts/coverage-jest/CycleButton/CycleButton.js.html +1 -1
  63. package/src/artifacts/coverage-jest/CycleButton/index.html +1 -1
  64. package/src/artifacts/coverage-jest/CycleButton/index.js.html +1 -1
  65. package/src/artifacts/coverage-jest/FieldLabel/FieldLabel.js.html +1 -1
  66. package/src/artifacts/coverage-jest/FieldLabel/index.html +1 -1
  67. package/src/artifacts/coverage-jest/FieldLabel/index.js.html +1 -1
  68. package/src/artifacts/coverage-jest/Files/FileUploader/FileUploader.js.html +487 -0
  69. package/src/artifacts/coverage-jest/Files/FileUploader/index.html +131 -0
  70. package/src/artifacts/coverage-jest/Files/FileUploader/index.js.html +88 -0
  71. package/src/artifacts/coverage-jest/Files/FileView/FileView.js.html +430 -0
  72. package/src/artifacts/coverage-jest/Files/FileView/index.html +131 -0
  73. package/src/artifacts/coverage-jest/Files/FileView/index.js.html +88 -0
  74. package/src/artifacts/coverage-jest/Files/index.html +131 -0
  75. package/src/artifacts/coverage-jest/Files/index.js.html +94 -0
  76. package/src/artifacts/coverage-jest/Files/useFileHandlers.js.html +469 -0
  77. package/src/artifacts/coverage-jest/FormModal/FormModal.js.html +1 -1
  78. package/src/artifacts/coverage-jest/FormModal/index.html +1 -1
  79. package/src/artifacts/coverage-jest/FormModal/index.js.html +1 -1
  80. package/src/artifacts/coverage-jest/FormattedKintMessage/FormattedKintMessage.js.html +1 -1
  81. package/src/artifacts/coverage-jest/FormattedKintMessage/index.html +1 -1
  82. package/src/artifacts/coverage-jest/FormattedKintMessage/index.js.html +1 -1
  83. package/src/artifacts/coverage-jest/IconSelect/IconSelect.js.html +1 -1
  84. package/src/artifacts/coverage-jest/IconSelect/index.html +1 -1
  85. package/src/artifacts/coverage-jest/IconSelect/index.js.html +1 -1
  86. package/src/artifacts/coverage-jest/NoResultsMessage/NoResultsMessage.js.html +70 -13
  87. package/src/artifacts/coverage-jest/NoResultsMessage/index.html +3 -3
  88. package/src/artifacts/coverage-jest/NoResultsMessage/index.js.html +1 -1
  89. package/src/artifacts/coverage-jest/NumberField/NumberField.js.html +1 -1
  90. package/src/artifacts/coverage-jest/NumberField/index.html +1 -1
  91. package/src/artifacts/coverage-jest/NumberField/index.js.html +1 -1
  92. package/src/artifacts/coverage-jest/QueryTypedown/QueryTypedown.js.html +1 -1
  93. package/src/artifacts/coverage-jest/QueryTypedown/index.html +1 -1
  94. package/src/artifacts/coverage-jest/QueryTypedown/index.js.html +1 -1
  95. package/src/artifacts/coverage-jest/RefdataButtons/RefdataButtons.js.html +1 -1
  96. package/src/artifacts/coverage-jest/RefdataButtons/index.html +1 -1
  97. package/src/artifacts/coverage-jest/RefdataButtons/index.js.html +1 -1
  98. package/src/artifacts/coverage-jest/ResponsiveButtonGroup/ResponsiveButtonGroup.js.html +1 -1
  99. package/src/artifacts/coverage-jest/ResponsiveButtonGroup/index.html +1 -1
  100. package/src/artifacts/coverage-jest/ResponsiveButtonGroup/index.js.html +1 -1
  101. package/src/artifacts/coverage-jest/ResponsiveButtonGroup/useResponsiveButtonGroupSizing.js.html +1 -1
  102. package/src/artifacts/coverage-jest/RichSelect/RichSelect.js.html +1 -1
  103. package/src/artifacts/coverage-jest/RichSelect/index.html +1 -1
  104. package/src/artifacts/coverage-jest/RichSelect/index.js.html +1 -1
  105. package/src/artifacts/coverage-jest/RichSelect/useSelectedOption.js.html +1 -1
  106. package/src/artifacts/coverage-jest/SASQLookupComponent/SASQLookupComponent.js.html +298 -136
  107. package/src/artifacts/coverage-jest/SASQLookupComponent/TableBody/TableBody.js.html +12 -3
  108. package/src/artifacts/coverage-jest/SASQLookupComponent/TableBody/index.html +1 -1
  109. package/src/artifacts/coverage-jest/SASQLookupComponent/TableBody/index.js.html +1 -1
  110. package/src/artifacts/coverage-jest/SASQLookupComponent/index.html +16 -16
  111. package/src/artifacts/coverage-jest/SASQLookupComponent/index.js.html +1 -1
  112. package/src/artifacts/coverage-jest/SASQRoute/SASQRoute.js.html +1 -1
  113. package/src/artifacts/coverage-jest/SASQRoute/index.html +1 -1
  114. package/src/artifacts/coverage-jest/SASQRoute/index.js.html +1 -1
  115. package/src/artifacts/coverage-jest/SASQViewComponent/SASQViewComponent.js.html +12 -12
  116. package/src/artifacts/coverage-jest/SASQViewComponent/index.html +15 -15
  117. package/src/artifacts/coverage-jest/SASQViewComponent/index.js.html +1 -1
  118. package/src/artifacts/coverage-jest/SearchField/SearchField.js.html +1 -1
  119. package/src/artifacts/coverage-jest/SearchField/index.html +1 -1
  120. package/src/artifacts/coverage-jest/SearchField/index.js.html +1 -1
  121. package/src/artifacts/coverage-jest/SearchKeyControl/SearchKeyControl.js.html +1 -1
  122. package/src/artifacts/coverage-jest/SearchKeyControl/index.html +1 -1
  123. package/src/artifacts/coverage-jest/SearchKeyControl/index.js.html +1 -1
  124. package/src/artifacts/coverage-jest/Settings/EditableRefdataCategoryList/EditableRefdataCategoryList.js.html +1 -1
  125. package/src/artifacts/coverage-jest/Settings/EditableRefdataCategoryList/index.html +1 -1
  126. package/src/artifacts/coverage-jest/Settings/EditableRefdataCategoryList/index.js.html +1 -1
  127. package/src/artifacts/coverage-jest/Settings/EditableRefdataList/EditableRefdataList.js.html +1 -1
  128. package/src/artifacts/coverage-jest/Settings/EditableRefdataList/index.html +1 -1
  129. package/src/artifacts/coverage-jest/Settings/EditableRefdataList/index.js.html +1 -1
  130. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/EditableSettingsList.js.html +1 -1
  131. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/EditableSettingsListFieldArray/EditableSettingsListFieldArray.js.html +1 -1
  132. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/EditableSettingsListFieldArray/index.html +1 -1
  133. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/EditableSettingsListFieldArray/index.js.html +1 -1
  134. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/SettingField/EditSettingValue/EditSettingValue.js.html +1 -1
  135. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/SettingField/EditSettingValue/index.html +1 -1
  136. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/SettingField/EditSettingValue/index.js.html +1 -1
  137. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/SettingField/RenderSettingValue/RenderSettingValue.js.html +1 -1
  138. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/SettingField/RenderSettingValue/index.html +1 -1
  139. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/SettingField/RenderSettingValue/index.js.html +1 -1
  140. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/SettingField/SettingField.js.html +1 -1
  141. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/SettingField/index.html +1 -1
  142. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/SettingField/index.js.html +1 -1
  143. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/index.html +1 -1
  144. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/index.js.html +1 -1
  145. package/src/artifacts/coverage-jest/Settings/RefdataCategoriesSettings/RefdataCategoriesSettings.js.html +1 -1
  146. package/src/artifacts/coverage-jest/Settings/RefdataCategoriesSettings/index.html +1 -1
  147. package/src/artifacts/coverage-jest/Settings/RefdataCategoriesSettings/index.js.html +1 -1
  148. package/src/artifacts/coverage-jest/Settings/SettingPage/SettingPage.js.html +1 -1
  149. package/src/artifacts/coverage-jest/Settings/SettingPage/SettingPagePane/SettingPagePane.js.html +1 -1
  150. package/src/artifacts/coverage-jest/Settings/SettingPage/SettingPagePane/index.html +1 -1
  151. package/src/artifacts/coverage-jest/Settings/SettingPage/SettingPagePane/index.js.html +1 -1
  152. package/src/artifacts/coverage-jest/Settings/SettingPage/index.html +1 -1
  153. package/src/artifacts/coverage-jest/Settings/SettingPage/index.js.html +1 -1
  154. package/src/artifacts/coverage-jest/Settings/Settings/Settings.js.html +1 -1
  155. package/src/artifacts/coverage-jest/Settings/Settings/index.html +1 -1
  156. package/src/artifacts/coverage-jest/Settings/Settings/index.js.html +1 -1
  157. package/src/artifacts/coverage-jest/Settings/SettingsFormContainer/SettingsFormContainer.js.html +1 -1
  158. package/src/artifacts/coverage-jest/Settings/SettingsFormContainer/index.html +1 -1
  159. package/src/artifacts/coverage-jest/Settings/SettingsFormContainer/index.js.html +1 -1
  160. package/src/artifacts/coverage-jest/Settings/StaticSettingsField/StaticSettingsField.js.html +1 -1
  161. package/src/artifacts/coverage-jest/Settings/StaticSettingsField/StaticSettingsFieldComponent/StaticSettingsFieldComponent.js.html +1 -1
  162. package/src/artifacts/coverage-jest/Settings/StaticSettingsField/StaticSettingsFieldComponent/index.html +1 -1
  163. package/src/artifacts/coverage-jest/Settings/StaticSettingsField/StaticSettingsFieldComponent/index.js.html +1 -1
  164. package/src/artifacts/coverage-jest/Settings/StaticSettingsField/index.html +1 -1
  165. package/src/artifacts/coverage-jest/Settings/StaticSettingsField/index.js.html +1 -1
  166. package/src/artifacts/coverage-jest/Settings/constants/index.html +1 -1
  167. package/src/artifacts/coverage-jest/Settings/constants/index.js.html +1 -1
  168. package/src/artifacts/coverage-jest/Settings/constants/queryKeys.js.html +1 -1
  169. package/src/artifacts/coverage-jest/Settings/contexts/SettingsContext.js.html +1 -1
  170. package/src/artifacts/coverage-jest/Settings/contexts/index.html +1 -1
  171. package/src/artifacts/coverage-jest/Settings/contexts/index.js.html +1 -1
  172. package/src/artifacts/coverage-jest/Settings/hooks/index.html +1 -1
  173. package/src/artifacts/coverage-jest/Settings/hooks/index.js.html +1 -1
  174. package/src/artifacts/coverage-jest/Settings/hooks/staticSettingsPages/index.html +1 -1
  175. package/src/artifacts/coverage-jest/Settings/hooks/staticSettingsPages/index.js.html +1 -1
  176. package/src/artifacts/coverage-jest/Settings/hooks/staticSettingsPages/useSettingCallout/index.html +1 -1
  177. package/src/artifacts/coverage-jest/Settings/hooks/staticSettingsPages/useSettingCallout/index.js.html +1 -1
  178. package/src/artifacts/coverage-jest/Settings/hooks/staticSettingsPages/useSettingCallout/useSettingCallout.js.html +1 -1
  179. package/src/artifacts/coverage-jest/Settings/hooks/staticSettingsPages/useSettingsSectionInitalValues/index.html +1 -1
  180. package/src/artifacts/coverage-jest/Settings/hooks/staticSettingsPages/useSettingsSectionInitalValues/index.js.html +1 -1
  181. package/src/artifacts/coverage-jest/Settings/hooks/staticSettingsPages/useSettingsSectionInitalValues/useSettingsSectionInitalValues.js.html +1 -1
  182. package/src/artifacts/coverage-jest/Settings/hooks/staticSettingsPages/useStaticSettingsSection.js.html +1 -1
  183. package/src/artifacts/coverage-jest/Settings/hooks/useAppSettings/index.html +1 -1
  184. package/src/artifacts/coverage-jest/Settings/hooks/useAppSettings/index.js.html +1 -1
  185. package/src/artifacts/coverage-jest/Settings/hooks/useAppSettings/useAppSettings.js.html +1 -1
  186. package/src/artifacts/coverage-jest/Settings/hooks/useSettingSection/index.html +1 -1
  187. package/src/artifacts/coverage-jest/Settings/hooks/useSettingSection/index.js.html +1 -1
  188. package/src/artifacts/coverage-jest/Settings/hooks/useSettingSection/useSettingSection.js.html +1 -1
  189. package/src/artifacts/coverage-jest/Settings/hooks/useSettings/index.html +1 -1
  190. package/src/artifacts/coverage-jest/Settings/hooks/useSettings/index.js.html +1 -1
  191. package/src/artifacts/coverage-jest/Settings/hooks/useSettings/useSettings.js.html +1 -1
  192. package/src/artifacts/coverage-jest/Settings/index.html +1 -1
  193. package/src/artifacts/coverage-jest/Settings/index.js.html +1 -1
  194. package/src/artifacts/coverage-jest/Tags/Tags.js.html +9 -9
  195. package/src/artifacts/coverage-jest/Tags/hooks/index.html +16 -16
  196. package/src/artifacts/coverage-jest/Tags/hooks/index.js.html +1 -1
  197. package/src/artifacts/coverage-jest/Tags/hooks/useTags.js.html +9 -9
  198. package/src/artifacts/coverage-jest/Tags/hooks/useTagsEnabled.js.html +1 -1
  199. package/src/artifacts/coverage-jest/Tags/index.html +15 -15
  200. package/src/artifacts/coverage-jest/Tags/index.js.html +1 -1
  201. package/src/artifacts/coverage-jest/Tags/tagsConfig.js.html +1 -1
  202. package/src/artifacts/coverage-jest/Typedown/Typedown.js.html +1 -1
  203. package/src/artifacts/coverage-jest/Typedown/index.html +1 -1
  204. package/src/artifacts/coverage-jest/Typedown/index.js.html +1 -1
  205. package/src/artifacts/coverage-jest/cobertura-coverage.xml +580 -314
  206. package/src/artifacts/coverage-jest/constants/comparators.js.html +1 -1
  207. package/src/artifacts/coverage-jest/constants/customProperties.js.html +1 -1
  208. package/src/artifacts/coverage-jest/constants/endpoints.js.html +1 -1
  209. package/src/artifacts/coverage-jest/constants/eventCodes.js.html +1 -1
  210. package/src/artifacts/coverage-jest/constants/index.html +1 -1
  211. package/src/artifacts/coverage-jest/constants/pagination.js.html +1 -1
  212. package/src/artifacts/coverage-jest/hooks/index.html +15 -15
  213. package/src/artifacts/coverage-jest/hooks/index.js.html +8 -2
  214. package/src/artifacts/coverage-jest/hooks/intlHooks/index.html +1 -1
  215. package/src/artifacts/coverage-jest/hooks/intlHooks/index.js.html +1 -1
  216. package/src/artifacts/coverage-jest/hooks/intlHooks/useIntlKey/index.html +1 -1
  217. package/src/artifacts/coverage-jest/hooks/intlHooks/useIntlKey/index.js.html +1 -1
  218. package/src/artifacts/coverage-jest/hooks/intlHooks/useIntlKey/useIntlKey.js.html +7 -7
  219. package/src/artifacts/coverage-jest/hooks/intlHooks/useIntlKeyStore/index.html +1 -1
  220. package/src/artifacts/coverage-jest/hooks/intlHooks/useIntlKeyStore/index.js.html +1 -1
  221. package/src/artifacts/coverage-jest/hooks/intlHooks/useIntlKeyStore/useIntlKeyStore.js.html +11 -11
  222. package/src/artifacts/coverage-jest/hooks/intlHooks/useKintIntl/index.html +1 -1
  223. package/src/artifacts/coverage-jest/hooks/intlHooks/useKintIntl/index.js.html +1 -1
  224. package/src/artifacts/coverage-jest/hooks/intlHooks/useKintIntl/useKintIntl.js.html +9 -9
  225. package/src/artifacts/coverage-jest/hooks/typedownHooks/index.html +1 -1
  226. package/src/artifacts/coverage-jest/hooks/typedownHooks/index.js.html +1 -1
  227. package/src/artifacts/coverage-jest/hooks/typedownHooks/useTypedown.js.html +1 -1
  228. package/src/artifacts/coverage-jest/hooks/typedownHooks/useTypedownData.js.html +1 -1
  229. package/src/artifacts/coverage-jest/hooks/typedownHooks/useTypedownToggle.js.html +1 -1
  230. package/src/artifacts/coverage-jest/hooks/useActionListRef.js.html +1 -1
  231. package/src/artifacts/coverage-jest/hooks/useActiveElement.js.html +1 -1
  232. package/src/artifacts/coverage-jest/hooks/useCustProps.js.html +1 -1
  233. package/src/artifacts/coverage-jest/hooks/useCustomProperties.js.html +1 -1
  234. package/src/artifacts/coverage-jest/hooks/useHelperApp.js.html +1 -1
  235. package/src/artifacts/coverage-jest/hooks/useInvalidateRefdata/index.html +1 -1
  236. package/src/artifacts/coverage-jest/hooks/useInvalidateRefdata/index.js.html +1 -1
  237. package/src/artifacts/coverage-jest/hooks/useInvalidateRefdata/useInvalidateRefdata.js.html +1 -1
  238. package/src/artifacts/coverage-jest/hooks/useKiwtFieldArray.js.html +1 -1
  239. package/src/artifacts/coverage-jest/hooks/useKiwtSASQuery.js.html +16 -16
  240. package/src/artifacts/coverage-jest/hooks/useLocalPageStore.js.html +1 -1
  241. package/src/artifacts/coverage-jest/hooks/useLocalStorageState.js.html +5 -5
  242. package/src/artifacts/coverage-jest/hooks/useModConfigEntries.js.html +1 -1
  243. package/src/artifacts/coverage-jest/hooks/useMutateCustomProperties/index.html +1 -1
  244. package/src/artifacts/coverage-jest/hooks/useMutateCustomProperties/index.js.html +1 -1
  245. package/src/artifacts/coverage-jest/hooks/useMutateCustomProperties/useMutateCustomProperties.js.html +1 -1
  246. package/src/artifacts/coverage-jest/hooks/useMutateGeneric/index.html +1 -1
  247. package/src/artifacts/coverage-jest/hooks/useMutateGeneric/index.js.html +1 -1
  248. package/src/artifacts/coverage-jest/hooks/useMutateGeneric/useMutateGeneric.js.html +1 -1
  249. package/src/artifacts/coverage-jest/hooks/useMutateModConfigEntry.js.html +1 -1
  250. package/src/artifacts/coverage-jest/hooks/useMutateRefdataCategory/index.html +1 -1
  251. package/src/artifacts/coverage-jest/hooks/useMutateRefdataCategory/index.js.html +1 -1
  252. package/src/artifacts/coverage-jest/hooks/useMutateRefdataCategory/useMutateRefdataCategory.js.html +1 -1
  253. package/src/artifacts/coverage-jest/hooks/useMutateRefdataValue/index.html +1 -1
  254. package/src/artifacts/coverage-jest/hooks/useMutateRefdataValue/index.js.html +1 -1
  255. package/src/artifacts/coverage-jest/hooks/useMutateRefdataValue/useMutateRefdataValue.js.html +1 -1
  256. package/src/artifacts/coverage-jest/hooks/useMutateTemplates/index.html +131 -0
  257. package/src/artifacts/coverage-jest/hooks/useMutateTemplates/index.js.html +88 -0
  258. package/src/artifacts/coverage-jest/hooks/useMutateTemplates/useMutateTemplates.js.html +217 -0
  259. package/src/artifacts/coverage-jest/hooks/useParallelBatchFetch.js.html +9 -9
  260. package/src/artifacts/coverage-jest/hooks/usePrevNextPagination.js.html +37 -37
  261. package/src/artifacts/coverage-jest/hooks/useQIndex.js.html +9 -9
  262. package/src/artifacts/coverage-jest/hooks/useRefdata.js.html +1 -1
  263. package/src/artifacts/coverage-jest/hooks/useSASQQueryMeta.js.html +1 -1
  264. package/src/artifacts/coverage-jest/hooks/useStandaloneSASQQueryParameter/index.html +1 -1
  265. package/src/artifacts/coverage-jest/hooks/useStandaloneSASQQueryParameter/index.js.html +1 -1
  266. package/src/artifacts/coverage-jest/hooks/useStandaloneSASQQueryParameter/useStandaloneSASQQueryParameter.js.html +1 -1
  267. package/src/artifacts/coverage-jest/hooks/useTemplates.js.html +1 -1
  268. package/src/artifacts/coverage-jest/index.html +120 -60
  269. package/src/artifacts/coverage-jest/utils/buildUrl.js.html +12 -12
  270. package/src/artifacts/coverage-jest/utils/downloadBlob.js.html +211 -0
  271. package/src/artifacts/coverage-jest/utils/filterParsers/deparseKiwtQueryFilters.js.html +1 -1
  272. package/src/artifacts/coverage-jest/utils/filterParsers/index.html +1 -1
  273. package/src/artifacts/coverage-jest/utils/filterParsers/index.js.html +1 -1
  274. package/src/artifacts/coverage-jest/utils/filterParsers/parseKiwtQueryFilters.js.html +1 -1
  275. package/src/artifacts/coverage-jest/utils/filterParsers/parseKiwtQueryGroups.js.html +1 -1
  276. package/src/artifacts/coverage-jest/utils/filterParsers/parseKiwtQueryString.js.html +1 -1
  277. package/src/artifacts/coverage-jest/utils/generateKiwtQuery.js.html +3 -3
  278. package/src/artifacts/coverage-jest/utils/generateKiwtQueryParams/generateKiwtQueryParams.js.html +19 -19
  279. package/src/artifacts/coverage-jest/utils/generateKiwtQueryParams/index.html +1 -1
  280. package/src/artifacts/coverage-jest/utils/generateKiwtQueryParams/index.js.html +1 -1
  281. package/src/artifacts/coverage-jest/utils/groupCustomPropertiesByCtx.js.html +1 -1
  282. package/src/artifacts/coverage-jest/utils/index.html +24 -9
  283. package/src/artifacts/coverage-jest/utils/index.js.html +5 -2
  284. package/src/artifacts/coverage-jest/utils/matchString/index.html +1 -1
  285. package/src/artifacts/coverage-jest/utils/matchString/index.js.html +1 -1
  286. package/src/artifacts/coverage-jest/utils/matchString/matchString.js.html +1 -1
  287. package/src/artifacts/coverage-jest/utils/modConfigEntriesQueryKey.js.html +1 -1
  288. package/src/artifacts/coverage-jest/utils/parseErrorResponse.js.html +1 -1
  289. package/src/artifacts/coverage-jest/utils/parseModConfigEntry.js.html +1 -1
  290. package/src/artifacts/coverage-jest/utils/refdataOptions.js.html +1 -1
  291. package/src/artifacts/coverage-jest/utils/refdataQueryKey/index.html +1 -1
  292. package/src/artifacts/coverage-jest/utils/refdataQueryKey/index.js.html +1 -1
  293. package/src/artifacts/coverage-jest/utils/refdataQueryKey/refdataQueryKey.js.html +1 -1
  294. package/src/artifacts/coverage-jest/utils/selectorSafe.js.html +1 -1
  295. package/src/artifacts/coverage-jest/utils/sortByLabel.js.html +1 -1
  296. package/src/artifacts/coverage-jest/utils/stringStyling/boldString.js.html +1 -1
  297. package/src/artifacts/coverage-jest/utils/stringStyling/highlightString.js.html +1 -1
  298. package/src/artifacts/coverage-jest/utils/stringStyling/index.html +1 -1
  299. package/src/artifacts/coverage-jest/utils/stringStyling/index.js.html +1 -1
  300. package/src/artifacts/coverage-jest/utils/toCamelCase.js.html +1 -1
  301. package/src/artifacts/coverage-jest/utils/typedownQueryKey.js.html +1 -1
  302. package/src/artifacts/coverage-jest/validators/index.html +1 -1
  303. package/src/artifacts/coverage-jest/validators/index.js.html +1 -1
  304. package/src/artifacts/coverage-jest/validators/validators.js.html +1 -1
  305. package/src/index.js +2 -0
  306. package/src/lib/Files/FileUploader/FileUploader.js +134 -0
  307. package/src/lib/Files/FileUploader/index.js +1 -0
  308. package/src/lib/Files/FileView/FileView.js +115 -0
  309. package/src/lib/Files/FileView/index.js +1 -0
  310. package/src/lib/Files/index.js +3 -0
  311. package/src/lib/Files/useFileHandlers.js +128 -0
  312. package/src/lib/NoResultsMessage/NoResultsMessage.js +29 -10
  313. package/src/lib/NoResultsMessage/README.md +16 -13
  314. package/src/lib/SASQLookupComponent/README.md +12 -0
  315. package/src/lib/SASQLookupComponent/SASQLookupComponent.js +127 -73
  316. package/src/lib/SASQLookupComponent/SASQLookupComponent.test.js +13 -1
  317. package/src/lib/SASQLookupComponent/TableBody/TableBody.js +4 -1
  318. package/src/lib/SASQRoute/README.md +6 -1
  319. package/src/lib/hooks/index.js +2 -0
  320. package/src/lib/hooks/useMutateTemplates/index.js +1 -0
  321. package/src/lib/hooks/useMutateTemplates/useMutateTemplates.js +44 -0
  322. package/src/lib/utils/downloadBlob.js +42 -0
  323. package/src/lib/utils/index.js +1 -0
  324. package/styles/FileUploader.css +34 -0
  325. package/styles/FileView.css +8 -0
  326. package/styles/NoResultsMessage.css +1 -0
  327. package/styles/SASQLookupComponent.css +15 -0
@@ -0,0 +1,469 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for Files/useFileHandlers.js</title>
7
+ <meta charset="utf-8" />
8
+ <link rel="stylesheet" href="../prettify.css" />
9
+ <link rel="stylesheet" href="../base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="../favicon.png" />
11
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
12
+ <style type='text/css'>
13
+ .coverage-summary .sorter {
14
+ background-image: url(../sort-arrow-sprite.png);
15
+ }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <div class='wrapper'>
21
+ <div class='pad1'>
22
+ <h1><a href="../index.html">All files</a> / <a href="index.html">Files</a> useFileHandlers.js</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">2.7% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>1/37</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">0% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>0/25</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">0% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>0/8</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">2.7% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>1/37</span>
50
+ </div>
51
+
52
+
53
+ </div>
54
+ <p class="quiet">
55
+ Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
+ </p>
57
+ <template id="filterTemplate">
58
+ <div class="quiet">
59
+ Filter:
60
+ <input type="search" id="fileSearch">
61
+ </div>
62
+ </template>
63
+ </div>
64
+ <div class='status-line low'></div>
65
+ <pre><table class="coverage">
66
+ <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
+ <a name='L2'></a><a href='#L2'>2</a>
68
+ <a name='L3'></a><a href='#L3'>3</a>
69
+ <a name='L4'></a><a href='#L4'>4</a>
70
+ <a name='L5'></a><a href='#L5'>5</a>
71
+ <a name='L6'></a><a href='#L6'>6</a>
72
+ <a name='L7'></a><a href='#L7'>7</a>
73
+ <a name='L8'></a><a href='#L8'>8</a>
74
+ <a name='L9'></a><a href='#L9'>9</a>
75
+ <a name='L10'></a><a href='#L10'>10</a>
76
+ <a name='L11'></a><a href='#L11'>11</a>
77
+ <a name='L12'></a><a href='#L12'>12</a>
78
+ <a name='L13'></a><a href='#L13'>13</a>
79
+ <a name='L14'></a><a href='#L14'>14</a>
80
+ <a name='L15'></a><a href='#L15'>15</a>
81
+ <a name='L16'></a><a href='#L16'>16</a>
82
+ <a name='L17'></a><a href='#L17'>17</a>
83
+ <a name='L18'></a><a href='#L18'>18</a>
84
+ <a name='L19'></a><a href='#L19'>19</a>
85
+ <a name='L20'></a><a href='#L20'>20</a>
86
+ <a name='L21'></a><a href='#L21'>21</a>
87
+ <a name='L22'></a><a href='#L22'>22</a>
88
+ <a name='L23'></a><a href='#L23'>23</a>
89
+ <a name='L24'></a><a href='#L24'>24</a>
90
+ <a name='L25'></a><a href='#L25'>25</a>
91
+ <a name='L26'></a><a href='#L26'>26</a>
92
+ <a name='L27'></a><a href='#L27'>27</a>
93
+ <a name='L28'></a><a href='#L28'>28</a>
94
+ <a name='L29'></a><a href='#L29'>29</a>
95
+ <a name='L30'></a><a href='#L30'>30</a>
96
+ <a name='L31'></a><a href='#L31'>31</a>
97
+ <a name='L32'></a><a href='#L32'>32</a>
98
+ <a name='L33'></a><a href='#L33'>33</a>
99
+ <a name='L34'></a><a href='#L34'>34</a>
100
+ <a name='L35'></a><a href='#L35'>35</a>
101
+ <a name='L36'></a><a href='#L36'>36</a>
102
+ <a name='L37'></a><a href='#L37'>37</a>
103
+ <a name='L38'></a><a href='#L38'>38</a>
104
+ <a name='L39'></a><a href='#L39'>39</a>
105
+ <a name='L40'></a><a href='#L40'>40</a>
106
+ <a name='L41'></a><a href='#L41'>41</a>
107
+ <a name='L42'></a><a href='#L42'>42</a>
108
+ <a name='L43'></a><a href='#L43'>43</a>
109
+ <a name='L44'></a><a href='#L44'>44</a>
110
+ <a name='L45'></a><a href='#L45'>45</a>
111
+ <a name='L46'></a><a href='#L46'>46</a>
112
+ <a name='L47'></a><a href='#L47'>47</a>
113
+ <a name='L48'></a><a href='#L48'>48</a>
114
+ <a name='L49'></a><a href='#L49'>49</a>
115
+ <a name='L50'></a><a href='#L50'>50</a>
116
+ <a name='L51'></a><a href='#L51'>51</a>
117
+ <a name='L52'></a><a href='#L52'>52</a>
118
+ <a name='L53'></a><a href='#L53'>53</a>
119
+ <a name='L54'></a><a href='#L54'>54</a>
120
+ <a name='L55'></a><a href='#L55'>55</a>
121
+ <a name='L56'></a><a href='#L56'>56</a>
122
+ <a name='L57'></a><a href='#L57'>57</a>
123
+ <a name='L58'></a><a href='#L58'>58</a>
124
+ <a name='L59'></a><a href='#L59'>59</a>
125
+ <a name='L60'></a><a href='#L60'>60</a>
126
+ <a name='L61'></a><a href='#L61'>61</a>
127
+ <a name='L62'></a><a href='#L62'>62</a>
128
+ <a name='L63'></a><a href='#L63'>63</a>
129
+ <a name='L64'></a><a href='#L64'>64</a>
130
+ <a name='L65'></a><a href='#L65'>65</a>
131
+ <a name='L66'></a><a href='#L66'>66</a>
132
+ <a name='L67'></a><a href='#L67'>67</a>
133
+ <a name='L68'></a><a href='#L68'>68</a>
134
+ <a name='L69'></a><a href='#L69'>69</a>
135
+ <a name='L70'></a><a href='#L70'>70</a>
136
+ <a name='L71'></a><a href='#L71'>71</a>
137
+ <a name='L72'></a><a href='#L72'>72</a>
138
+ <a name='L73'></a><a href='#L73'>73</a>
139
+ <a name='L74'></a><a href='#L74'>74</a>
140
+ <a name='L75'></a><a href='#L75'>75</a>
141
+ <a name='L76'></a><a href='#L76'>76</a>
142
+ <a name='L77'></a><a href='#L77'>77</a>
143
+ <a name='L78'></a><a href='#L78'>78</a>
144
+ <a name='L79'></a><a href='#L79'>79</a>
145
+ <a name='L80'></a><a href='#L80'>80</a>
146
+ <a name='L81'></a><a href='#L81'>81</a>
147
+ <a name='L82'></a><a href='#L82'>82</a>
148
+ <a name='L83'></a><a href='#L83'>83</a>
149
+ <a name='L84'></a><a href='#L84'>84</a>
150
+ <a name='L85'></a><a href='#L85'>85</a>
151
+ <a name='L86'></a><a href='#L86'>86</a>
152
+ <a name='L87'></a><a href='#L87'>87</a>
153
+ <a name='L88'></a><a href='#L88'>88</a>
154
+ <a name='L89'></a><a href='#L89'>89</a>
155
+ <a name='L90'></a><a href='#L90'>90</a>
156
+ <a name='L91'></a><a href='#L91'>91</a>
157
+ <a name='L92'></a><a href='#L92'>92</a>
158
+ <a name='L93'></a><a href='#L93'>93</a>
159
+ <a name='L94'></a><a href='#L94'>94</a>
160
+ <a name='L95'></a><a href='#L95'>95</a>
161
+ <a name='L96'></a><a href='#L96'>96</a>
162
+ <a name='L97'></a><a href='#L97'>97</a>
163
+ <a name='L98'></a><a href='#L98'>98</a>
164
+ <a name='L99'></a><a href='#L99'>99</a>
165
+ <a name='L100'></a><a href='#L100'>100</a>
166
+ <a name='L101'></a><a href='#L101'>101</a>
167
+ <a name='L102'></a><a href='#L102'>102</a>
168
+ <a name='L103'></a><a href='#L103'>103</a>
169
+ <a name='L104'></a><a href='#L104'>104</a>
170
+ <a name='L105'></a><a href='#L105'>105</a>
171
+ <a name='L106'></a><a href='#L106'>106</a>
172
+ <a name='L107'></a><a href='#L107'>107</a>
173
+ <a name='L108'></a><a href='#L108'>108</a>
174
+ <a name='L109'></a><a href='#L109'>109</a>
175
+ <a name='L110'></a><a href='#L110'>110</a>
176
+ <a name='L111'></a><a href='#L111'>111</a>
177
+ <a name='L112'></a><a href='#L112'>112</a>
178
+ <a name='L113'></a><a href='#L113'>113</a>
179
+ <a name='L114'></a><a href='#L114'>114</a>
180
+ <a name='L115'></a><a href='#L115'>115</a>
181
+ <a name='L116'></a><a href='#L116'>116</a>
182
+ <a name='L117'></a><a href='#L117'>117</a>
183
+ <a name='L118'></a><a href='#L118'>118</a>
184
+ <a name='L119'></a><a href='#L119'>119</a>
185
+ <a name='L120'></a><a href='#L120'>120</a>
186
+ <a name='L121'></a><a href='#L121'>121</a>
187
+ <a name='L122'></a><a href='#L122'>122</a>
188
+ <a name='L123'></a><a href='#L123'>123</a>
189
+ <a name='L124'></a><a href='#L124'>124</a>
190
+ <a name='L125'></a><a href='#L125'>125</a>
191
+ <a name='L126'></a><a href='#L126'>126</a>
192
+ <a name='L127'></a><a href='#L127'>127</a>
193
+ <a name='L128'></a><a href='#L128'>128</a>
194
+ <a name='L129'></a><a href='#L129'>129</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
195
+ <span class="cline-any cline-neutral">&nbsp;</span>
196
+ <span class="cline-any cline-neutral">&nbsp;</span>
197
+ <span class="cline-any cline-neutral">&nbsp;</span>
198
+ <span class="cline-any cline-neutral">&nbsp;</span>
199
+ <span class="cline-any cline-neutral">&nbsp;</span>
200
+ <span class="cline-any cline-neutral">&nbsp;</span>
201
+ <span class="cline-any cline-neutral">&nbsp;</span>
202
+ <span class="cline-any cline-yes">27x</span>
203
+ <span class="cline-any cline-neutral">&nbsp;</span>
204
+ <span class="cline-any cline-neutral">&nbsp;</span>
205
+ <span class="cline-any cline-neutral">&nbsp;</span>
206
+ <span class="cline-any cline-neutral">&nbsp;</span>
207
+ <span class="cline-any cline-neutral">&nbsp;</span>
208
+ <span class="cline-any cline-neutral">&nbsp;</span>
209
+ <span class="cline-any cline-neutral">&nbsp;</span>
210
+ <span class="cline-any cline-neutral">&nbsp;</span>
211
+ <span class="cline-any cline-neutral">&nbsp;</span>
212
+ <span class="cline-any cline-neutral">&nbsp;</span>
213
+ <span class="cline-any cline-neutral">&nbsp;</span>
214
+ <span class="cline-any cline-neutral">&nbsp;</span>
215
+ <span class="cline-any cline-neutral">&nbsp;</span>
216
+ <span class="cline-any cline-neutral">&nbsp;</span>
217
+ <span class="cline-any cline-neutral">&nbsp;</span>
218
+ <span class="cline-any cline-no">&nbsp;</span>
219
+ <span class="cline-any cline-neutral">&nbsp;</span>
220
+ <span class="cline-any cline-neutral">&nbsp;</span>
221
+ <span class="cline-any cline-no">&nbsp;</span>
222
+ <span class="cline-any cline-no">&nbsp;</span>
223
+ <span class="cline-any cline-neutral">&nbsp;</span>
224
+ <span class="cline-any cline-no">&nbsp;</span>
225
+ <span class="cline-any cline-neutral">&nbsp;</span>
226
+ <span class="cline-any cline-no">&nbsp;</span>
227
+ <span class="cline-any cline-neutral">&nbsp;</span>
228
+ <span class="cline-any cline-no">&nbsp;</span>
229
+ <span class="cline-any cline-neutral">&nbsp;</span>
230
+ <span class="cline-any cline-no">&nbsp;</span>
231
+ <span class="cline-any cline-neutral">&nbsp;</span>
232
+ <span class="cline-any cline-no">&nbsp;</span>
233
+ <span class="cline-any cline-neutral">&nbsp;</span>
234
+ <span class="cline-any cline-neutral">&nbsp;</span>
235
+ <span class="cline-any cline-neutral">&nbsp;</span>
236
+ <span class="cline-any cline-no">&nbsp;</span>
237
+ <span class="cline-any cline-no">&nbsp;</span>
238
+ <span class="cline-any cline-neutral">&nbsp;</span>
239
+ <span class="cline-any cline-no">&nbsp;</span>
240
+ <span class="cline-any cline-neutral">&nbsp;</span>
241
+ <span class="cline-any cline-no">&nbsp;</span>
242
+ <span class="cline-any cline-no">&nbsp;</span>
243
+ <span class="cline-any cline-neutral">&nbsp;</span>
244
+ <span class="cline-any cline-neutral">&nbsp;</span>
245
+ <span class="cline-any cline-neutral">&nbsp;</span>
246
+ <span class="cline-any cline-no">&nbsp;</span>
247
+ <span class="cline-any cline-neutral">&nbsp;</span>
248
+ <span class="cline-any cline-no">&nbsp;</span>
249
+ <span class="cline-any cline-neutral">&nbsp;</span>
250
+ <span class="cline-any cline-no">&nbsp;</span>
251
+ <span class="cline-any cline-neutral">&nbsp;</span>
252
+ <span class="cline-any cline-neutral">&nbsp;</span>
253
+ <span class="cline-any cline-no">&nbsp;</span>
254
+ <span class="cline-any cline-neutral">&nbsp;</span>
255
+ <span class="cline-any cline-neutral">&nbsp;</span>
256
+ <span class="cline-any cline-neutral">&nbsp;</span>
257
+ <span class="cline-any cline-no">&nbsp;</span>
258
+ <span class="cline-any cline-neutral">&nbsp;</span>
259
+ <span class="cline-any cline-neutral">&nbsp;</span>
260
+ <span class="cline-any cline-no">&nbsp;</span>
261
+ <span class="cline-any cline-no">&nbsp;</span>
262
+ <span class="cline-any cline-neutral">&nbsp;</span>
263
+ <span class="cline-any cline-no">&nbsp;</span>
264
+ <span class="cline-any cline-no">&nbsp;</span>
265
+ <span class="cline-any cline-no">&nbsp;</span>
266
+ <span class="cline-any cline-no">&nbsp;</span>
267
+ <span class="cline-any cline-no">&nbsp;</span>
268
+ <span class="cline-any cline-neutral">&nbsp;</span>
269
+ <span class="cline-any cline-no">&nbsp;</span>
270
+ <span class="cline-any cline-neutral">&nbsp;</span>
271
+ <span class="cline-any cline-neutral">&nbsp;</span>
272
+ <span class="cline-any cline-neutral">&nbsp;</span>
273
+ <span class="cline-any cline-no">&nbsp;</span>
274
+ <span class="cline-any cline-neutral">&nbsp;</span>
275
+ <span class="cline-any cline-neutral">&nbsp;</span>
276
+ <span class="cline-any cline-neutral">&nbsp;</span>
277
+ <span class="cline-any cline-neutral">&nbsp;</span>
278
+ <span class="cline-any cline-neutral">&nbsp;</span>
279
+ <span class="cline-any cline-neutral">&nbsp;</span>
280
+ <span class="cline-any cline-neutral">&nbsp;</span>
281
+ <span class="cline-any cline-no">&nbsp;</span>
282
+ <span class="cline-any cline-neutral">&nbsp;</span>
283
+ <span class="cline-any cline-no">&nbsp;</span>
284
+ <span class="cline-any cline-neutral">&nbsp;</span>
285
+ <span class="cline-any cline-neutral">&nbsp;</span>
286
+ <span class="cline-any cline-neutral">&nbsp;</span>
287
+ <span class="cline-any cline-neutral">&nbsp;</span>
288
+ <span class="cline-any cline-neutral">&nbsp;</span>
289
+ <span class="cline-any cline-neutral">&nbsp;</span>
290
+ <span class="cline-any cline-neutral">&nbsp;</span>
291
+ <span class="cline-any cline-no">&nbsp;</span>
292
+ <span class="cline-any cline-neutral">&nbsp;</span>
293
+ <span class="cline-any cline-no">&nbsp;</span>
294
+ <span class="cline-any cline-neutral">&nbsp;</span>
295
+ <span class="cline-any cline-neutral">&nbsp;</span>
296
+ <span class="cline-any cline-no">&nbsp;</span>
297
+ <span class="cline-any cline-no">&nbsp;</span>
298
+ <span class="cline-any cline-neutral">&nbsp;</span>
299
+ <span class="cline-any cline-neutral">&nbsp;</span>
300
+ <span class="cline-any cline-neutral">&nbsp;</span>
301
+ <span class="cline-any cline-neutral">&nbsp;</span>
302
+ <span class="cline-any cline-no">&nbsp;</span>
303
+ <span class="cline-any cline-neutral">&nbsp;</span>
304
+ <span class="cline-any cline-no">&nbsp;</span>
305
+ <span class="cline-any cline-neutral">&nbsp;</span>
306
+ <span class="cline-any cline-neutral">&nbsp;</span>
307
+ <span class="cline-any cline-neutral">&nbsp;</span>
308
+ <span class="cline-any cline-no">&nbsp;</span>
309
+ <span class="cline-any cline-neutral">&nbsp;</span>
310
+ <span class="cline-any cline-neutral">&nbsp;</span>
311
+ <span class="cline-any cline-neutral">&nbsp;</span>
312
+ <span class="cline-any cline-neutral">&nbsp;</span>
313
+ <span class="cline-any cline-neutral">&nbsp;</span>
314
+ <span class="cline-any cline-neutral">&nbsp;</span>
315
+ <span class="cline-any cline-neutral">&nbsp;</span>
316
+ <span class="cline-any cline-neutral">&nbsp;</span>
317
+ <span class="cline-any cline-neutral">&nbsp;</span>
318
+ <span class="cline-any cline-neutral">&nbsp;</span>
319
+ <span class="cline-any cline-neutral">&nbsp;</span>
320
+ <span class="cline-any cline-neutral">&nbsp;</span>
321
+ <span class="cline-any cline-neutral">&nbsp;</span>
322
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { useCallback } from 'react';
323
+ import { useMutation, useQuery } from 'react-query';
324
+ &nbsp;
325
+ import { useOkapiKy } from '@folio/stripes/core';
326
+ import { downloadBlob } from '../utils';
327
+ &nbsp;
328
+ // This is copied and adapted from stripes-erm-components
329
+ &nbsp;
330
+ const useFileHandlers = <span class="fstat-no" title="function not covered" >({</span>
331
+ // When fetchFile is true, will AUTOMATICALLY fetch not only
332
+ // fileMetadata but ALSO file itself
333
+ fetchFile = <span class="branch-0 cbranch-no" title="branch not covered" >false,</span>
334
+ /* fileEndpoint can be a string or
335
+ * {
336
+ * download: string | function,
337
+ * metadata: string | function
338
+ * upload: string | function,
339
+ * }
340
+ */
341
+ fileEndpoint,
342
+ fileField = <span class="branch-0 cbranch-no" title="branch not covered" >'upload',</span>
343
+ fileMappings = <span class="branch-0 cbranch-no" title="branch not covered" >{},</span> // A mapping from file -&gt; formData field,
344
+ fileId // An OPTIONAL id for a file which results in fetching and returning file metadata
345
+ }) =&gt; {
346
+ const ky = <span class="cstat-no" title="statement not covered" >useOkapiKy();</span>
347
+ &nbsp;
348
+ // A method which resolves the endpoint to hit based on fileEndpoint
349
+ const resolveEndpoint = <span class="cstat-no" title="statement not covered" >useCallback(<span class="fstat-no" title="function not covered" >(t</span>ype, file) =&gt; {</span>
350
+ <span class="cstat-no" title="statement not covered" > if (typeof fileEndpoint === 'string') {</span>
351
+ // We have a base endpoint, configure default behaviour
352
+ <span class="cstat-no" title="statement not covered" > switch (type) {</span>
353
+ case 'upload':
354
+ <span class="cstat-no" title="statement not covered" > return fileEndpoint;</span>
355
+ case 'download':
356
+ <span class="cstat-no" title="statement not covered" > return `${fileEndpoint}/${file?.id}/raw`;</span>
357
+ case 'metadata':
358
+ <span class="cstat-no" title="statement not covered" > return `${fileEndpoint}/${file.id}`;</span>
359
+ default:
360
+ <span class="cstat-no" title="statement not covered" > throw new TypeError(`Unsupported endpoint type ${type}`);</span>
361
+ }
362
+ }
363
+ &nbsp;
364
+ <span class="cstat-no" title="statement not covered" > if (typeof fileEndpoint !== 'object') {</span>
365
+ <span class="cstat-no" title="statement not covered" > throw new TypeError(`Unsupported fileEndpoint type ${typeof fileEndpoint}`);</span>
366
+ }
367
+ const config = <span class="cstat-no" title="statement not covered" >fileEndpoint[type];</span>
368
+ &nbsp;
369
+ <span class="cstat-no" title="statement not covered" > if (config === null) {</span>
370
+ <span class="cstat-no" title="statement not covered" > throw new TypeError(`Unsupported fileEndpoint[${type}] is not configured`);</span>
371
+ }
372
+ &nbsp;
373
+ // Finally we have configured behaviour
374
+ <span class="cstat-no" title="statement not covered" > switch (typeof config) {</span>
375
+ case 'function':
376
+ <span class="cstat-no" title="statement not covered" > return config(file);</span>
377
+ case 'string':
378
+ <span class="cstat-no" title="statement not covered" > return config;</span>
379
+ default:
380
+ // If we have hit the end then we've done something wrong
381
+ <span class="cstat-no" title="statement not covered" > throw new TypeError(`Unsupported configuration for fileEndpoint[${type}]: ${typeof config}`);</span>
382
+ }
383
+ }, [fileEndpoint]);
384
+ &nbsp;
385
+ const { mutateAsync: handleUploadFile } = <span class="cstat-no" title="statement not covered" >useMutation(</span>
386
+ [fileEndpoint, 'handleUpload'],
387
+ <span class="fstat-no" title="function not covered" > (f</span>ile) =&gt; {
388
+ const formData = <span class="cstat-no" title="statement not covered" >new FormData();</span>
389
+ <span class="cstat-no" title="statement not covered" > formData.append(fileField, file);</span>
390
+ &nbsp;
391
+ <span class="cstat-no" title="statement not covered" > Object.entries(fileMappings).forEach(<span class="fstat-no" title="function not covered" >([</span>key, value]) =&gt; {</span>
392
+ <span class="cstat-no" title="statement not covered" > if (typeof value === 'string') {</span>
393
+ <span class="cstat-no" title="statement not covered" > formData.append(key, value);</span>
394
+ } else <span class="cstat-no" title="statement not covered" >if (typeof value === 'function') {</span>
395
+ <span class="cstat-no" title="statement not covered" > formData.append(key, value(file));</span>
396
+ } else {
397
+ <span class="cstat-no" title="statement not covered" > throw new TypeError('Invalid fileMapping: ' + key);</span>
398
+ }
399
+ });
400
+ &nbsp;
401
+ <span class="cstat-no" title="statement not covered" > return ky.post(resolveEndpoint('upload', file), { body: formData }).json();</span>
402
+ }
403
+ );
404
+ &nbsp;
405
+ const {
406
+ data: fileBlob,
407
+ isLoading: isFileLoading,
408
+ refetch: refetchFile
409
+ } = <span class="cstat-no" title="statement not covered" >useQuery({</span>
410
+ queryKey: [fileEndpoint, 'content', fileId],
411
+ queryFn: <span class="fstat-no" title="function not covered" >()</span> =&gt; <span class="cstat-no" title="statement not covered" >ky.get(resolveEndpoint('download', { id: fileId })).blob(),</span>
412
+ enabled: !!fileId &amp;&amp; typeof fileId === 'string' &amp;&amp; fetchFile,
413
+ staleTime: Infinity, // Assume the file won't change underneath us.
414
+ });
415
+ &nbsp;
416
+ &nbsp;
417
+ // We are declaratively fetching a file via a function, useMutation is more convenient here
418
+ // NOTE even if fileBlob already exists this will refetch it for download
419
+ const { mutate: getFile, mutateAsync: getFileAsync } = <span class="cstat-no" title="statement not covered" >useMutation(</span>
420
+ [fileEndpoint, 'getFile'],
421
+ <span class="fstat-no" title="function not covered" > (f</span>ile) =&gt; <span class="cstat-no" title="statement not covered" >ky.get(resolveEndpoint('download', file)).blob()</span>
422
+ );
423
+ &nbsp;
424
+ const handleDownloadFile = <span class="cstat-no" title="statement not covered" >useCallback(<span class="fstat-no" title="function not covered" >(f</span>ileMetadata) =&gt; {</span>
425
+ <span class="cstat-no" title="statement not covered" > return getFileAsync(fileMetadata)</span>
426
+ /* In this instance we want the file name back as it was handed in, whitespace and all */
427
+ .then(downloadBlob(fileMetadata.name, { processWhitespace: false }));
428
+ }, [getFileAsync]);
429
+ &nbsp;
430
+ const { data: fileMetadata, isLoading: isFileMetadataLoading } = <span class="cstat-no" title="statement not covered" >useQuery({</span>
431
+ queryKey: [fileEndpoint, 'metadata', fileId],
432
+ queryFn: <span class="fstat-no" title="function not covered" >()</span> =&gt; <span class="cstat-no" title="statement not covered" >ky.get(resolveEndpoint('metadata', { id: fileId })).json(),</span>
433
+ enabled: !!fileId &amp;&amp; typeof fileId === 'string',
434
+ });
435
+ &nbsp;
436
+ <span class="cstat-no" title="statement not covered" > return {</span>
437
+ file: fileBlob,
438
+ fileMetadata,
439
+ getFile,
440
+ getFileAsync,
441
+ handleDownloadFile,
442
+ handleUploadFile,
443
+ isFileLoading,
444
+ isFileMetadataLoading,
445
+ refetchFile
446
+ };
447
+ };
448
+ &nbsp;
449
+ export default useFileHandlers;
450
+ &nbsp;</pre></td></tr></table></pre>
451
+
452
+ <div class='push'></div><!-- for sticky footer -->
453
+ </div><!-- /wrapper -->
454
+ <div class='footer quiet pad2 space-top1 center small'>
455
+ Code coverage generated by
456
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
457
+ at 2026-04-16T17:02:24.586Z
458
+ </div>
459
+ <script src="../prettify.js"></script>
460
+ <script>
461
+ window.onload = function () {
462
+ prettyPrint();
463
+ };
464
+ </script>
465
+ <script src="../sorter.js"></script>
466
+ <script src="../block-navigation.js"></script>
467
+ </body>
468
+ </html>
469
+
@@ -526,7 +526,7 @@ export default FormModal;
526
526
  <div class='footer quiet pad2 space-top1 center small'>
527
527
  Code coverage generated by
528
528
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
529
- at 2026-03-23T17:05:11.570Z
529
+ at 2026-04-16T17:02:24.586Z
530
530
  </div>
531
531
  <script src="../prettify.js"></script>
532
532
  <script>
@@ -116,7 +116,7 @@
116
116
  <div class='footer quiet pad2 space-top1 center small'>
117
117
  Code coverage generated by
118
118
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
119
- at 2026-03-23T17:05:11.570Z
119
+ at 2026-04-16T17:02:24.586Z
120
120
  </div>
121
121
  <script src="../prettify.js"></script>
122
122
  <script>
@@ -73,7 +73,7 @@
73
73
  <div class='footer quiet pad2 space-top1 center small'>
74
74
  Code coverage generated by
75
75
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
76
- at 2026-03-23T17:05:11.570Z
76
+ at 2026-04-16T17:02:24.586Z
77
77
  </div>
78
78
  <script src="../prettify.js"></script>
79
79
  <script>
@@ -232,7 +232,7 @@ export default FormattedKintMessage;
232
232
  <div class='footer quiet pad2 space-top1 center small'>
233
233
  Code coverage generated by
234
234
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
235
- at 2026-03-23T17:05:11.570Z
235
+ at 2026-04-16T17:02:24.586Z
236
236
  </div>
237
237
  <script src="../prettify.js"></script>
238
238
  <script>
@@ -116,7 +116,7 @@
116
116
  <div class='footer quiet pad2 space-top1 center small'>
117
117
  Code coverage generated by
118
118
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
119
- at 2026-03-23T17:05:11.570Z
119
+ at 2026-04-16T17:02:24.586Z
120
120
  </div>
121
121
  <script src="../prettify.js"></script>
122
122
  <script>
@@ -73,7 +73,7 @@
73
73
  <div class='footer quiet pad2 space-top1 center small'>
74
74
  Code coverage generated by
75
75
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
76
- at 2026-03-23T17:05:11.570Z
76
+ at 2026-04-16T17:02:24.586Z
77
77
  </div>
78
78
  <script src="../prettify.js"></script>
79
79
  <script>
@@ -493,7 +493,7 @@ export default IconSelect;
493
493
  <div class='footer quiet pad2 space-top1 center small'>
494
494
  Code coverage generated by
495
495
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
496
- at 2026-03-23T17:05:11.570Z
496
+ at 2026-04-16T17:02:24.586Z
497
497
  </div>
498
498
  <script src="../prettify.js"></script>
499
499
  <script>
@@ -116,7 +116,7 @@
116
116
  <div class='footer quiet pad2 space-top1 center small'>
117
117
  Code coverage generated by
118
118
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
119
- at 2026-03-23T17:05:11.570Z
119
+ at 2026-04-16T17:02:24.586Z
120
120
  </div>
121
121
  <script src="../prettify.js"></script>
122
122
  <script>
@@ -73,7 +73,7 @@
73
73
  <div class='footer quiet pad2 space-top1 center small'>
74
74
  Code coverage generated by
75
75
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
76
- at 2026-03-23T17:05:11.570Z
76
+ at 2026-04-16T17:02:24.586Z
77
77
  </div>
78
78
  <script src="../prettify.js"></script>
79
79
  <script>