@k-int/stripes-kint-components 5.28.5 → 5.29.1

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 (295) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/es/lib/SASQLookupComponent/SASQLookupComponent.js +5 -2
  3. package/es/lib/Settings/EditableSettingsList/EditableSettingsList.js +26 -8
  4. package/es/lib/Settings/EditableSettingsList/EditableSettingsListFieldArray/EditableSettingsListFieldArray.js +28 -26
  5. package/es/lib/Settings/EditableSettingsList/EditableSettingsListFieldArray/EditableSettingsListFieldArray.test.js +8 -2
  6. package/es/lib/Settings/EditableSettingsList/SettingField/EditSettingValue/EditSettingValue.js +10 -9
  7. package/es/lib/Settings/EditableSettingsList/SettingField/EditSettingValue/EditSettingValue.test.js +29 -44
  8. package/es/lib/Settings/EditableSettingsList/SettingField/SettingField.js +45 -19
  9. package/es/lib/Settings/EditableSettingsList/SettingField/SettingField.test.js +2 -0
  10. package/es/lib/Settings/SettingPage/SettingPage.js +3 -0
  11. package/es/lib/Settings/StaticSettingsField/StaticSettingsField.js +7 -61
  12. package/es/lib/Settings/StaticSettingsField/StaticSettingsFieldComponent/StaticSettingsFieldComponent.js +64 -0
  13. package/es/lib/Settings/StaticSettingsField/StaticSettingsFieldComponent/index.js +13 -0
  14. package/es/lib/Settings/StaticSettingsField/index.js +8 -1
  15. package/es/lib/Settings/constants/queryKeys.js +10 -1
  16. package/es/lib/Settings/hooks/useSettingSection/useSettingSection.js +6 -0
  17. package/es/lib/Settings/index.js +9 -2
  18. package/package.json +1 -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/ComboButton/ComboButton.js.html +1 -1
  24. package/src/artifacts/coverage-jest/ComboButton/index.html +1 -1
  25. package/src/artifacts/coverage-jest/ComboButton/index.js.html +1 -1
  26. package/src/artifacts/coverage-jest/CustomProperties/Config/CustomPropertiesLookup.js.html +1 -1
  27. package/src/artifacts/coverage-jest/CustomProperties/Config/CustomPropertiesSettings.js.html +1 -1
  28. package/src/artifacts/coverage-jest/CustomProperties/Config/CustomPropertyForm.js.html +1 -1
  29. package/src/artifacts/coverage-jest/CustomProperties/Config/CustomPropertyView.js.html +1 -1
  30. package/src/artifacts/coverage-jest/CustomProperties/Config/index.html +1 -1
  31. package/src/artifacts/coverage-jest/CustomProperties/Config/index.js.html +1 -1
  32. package/src/artifacts/coverage-jest/CustomProperties/Edit/CustomPropertiesEdit.js.html +1 -1
  33. package/src/artifacts/coverage-jest/CustomProperties/Edit/CustomPropertiesEditCtx.js.html +1 -1
  34. package/src/artifacts/coverage-jest/CustomProperties/Edit/CustomPropertiesListField.js.html +1 -1
  35. package/src/artifacts/coverage-jest/CustomProperties/Edit/CustomPropertyField.js.html +1 -1
  36. package/src/artifacts/coverage-jest/CustomProperties/Edit/CustomPropertyFormCard.js.html +1 -1
  37. package/src/artifacts/coverage-jest/CustomProperties/Edit/index.html +1 -1
  38. package/src/artifacts/coverage-jest/CustomProperties/Edit/index.js.html +1 -1
  39. package/src/artifacts/coverage-jest/CustomProperties/Edit/testResources.js.html +1 -1
  40. package/src/artifacts/coverage-jest/CustomProperties/Filter/CustomPropertiesFilter.js.html +1 -1
  41. package/src/artifacts/coverage-jest/CustomProperties/Filter/CustomPropertiesFilterField.js.html +1 -1
  42. package/src/artifacts/coverage-jest/CustomProperties/Filter/CustomPropertiesFilterFieldArray.js.html +1 -1
  43. package/src/artifacts/coverage-jest/CustomProperties/Filter/CustomPropertiesFilterForm.js.html +1 -1
  44. package/src/artifacts/coverage-jest/CustomProperties/Filter/CustomPropertiesRule.js.html +1 -1
  45. package/src/artifacts/coverage-jest/CustomProperties/Filter/index.html +1 -1
  46. package/src/artifacts/coverage-jest/CustomProperties/Filter/index.js.html +1 -1
  47. package/src/artifacts/coverage-jest/CustomProperties/Filter/testResources.js.html +1 -1
  48. package/src/artifacts/coverage-jest/CustomProperties/Filter/useOperators.js.html +1 -1
  49. package/src/artifacts/coverage-jest/CustomProperties/Filter/useParseActiveFilterStrings.js.html +1 -1
  50. package/src/artifacts/coverage-jest/CustomProperties/Filter/useValueProps.js.html +1 -1
  51. package/src/artifacts/coverage-jest/CustomProperties/View/CustomPropertiesView.js.html +1 -1
  52. package/src/artifacts/coverage-jest/CustomProperties/View/CustomPropertiesViewCtx.js.html +1 -1
  53. package/src/artifacts/coverage-jest/CustomProperties/View/CustomPropertyCard.js.html +1 -1
  54. package/src/artifacts/coverage-jest/CustomProperties/View/index.html +1 -1
  55. package/src/artifacts/coverage-jest/CustomProperties/View/index.js.html +1 -1
  56. package/src/artifacts/coverage-jest/CustomProperties/View/testResources.js.html +1 -1
  57. package/src/artifacts/coverage-jest/CustomProperties/index.html +1 -1
  58. package/src/artifacts/coverage-jest/CustomProperties/index.js.html +1 -1
  59. package/src/artifacts/coverage-jest/CycleButton/CycleButton.js.html +1 -1
  60. package/src/artifacts/coverage-jest/CycleButton/index.html +1 -1
  61. package/src/artifacts/coverage-jest/CycleButton/index.js.html +1 -1
  62. package/src/artifacts/coverage-jest/FieldLabel/FieldLabel.js.html +1 -1
  63. package/src/artifacts/coverage-jest/FieldLabel/index.html +1 -1
  64. package/src/artifacts/coverage-jest/FieldLabel/index.js.html +1 -1
  65. package/src/artifacts/coverage-jest/FormModal/FormModal.js.html +1 -1
  66. package/src/artifacts/coverage-jest/FormModal/index.html +1 -1
  67. package/src/artifacts/coverage-jest/FormModal/index.js.html +1 -1
  68. package/src/artifacts/coverage-jest/FormattedKintMessage/FormattedKintMessage.js.html +1 -1
  69. package/src/artifacts/coverage-jest/FormattedKintMessage/index.html +1 -1
  70. package/src/artifacts/coverage-jest/FormattedKintMessage/index.js.html +1 -1
  71. package/src/artifacts/coverage-jest/IconSelect/IconSelect.js.html +1 -1
  72. package/src/artifacts/coverage-jest/IconSelect/index.html +1 -1
  73. package/src/artifacts/coverage-jest/IconSelect/index.js.html +1 -1
  74. package/src/artifacts/coverage-jest/NoResultsMessage/NoResultsMessage.js.html +1 -1
  75. package/src/artifacts/coverage-jest/NoResultsMessage/index.html +1 -1
  76. package/src/artifacts/coverage-jest/NoResultsMessage/index.js.html +1 -1
  77. package/src/artifacts/coverage-jest/NumberField/NumberField.js.html +1 -1
  78. package/src/artifacts/coverage-jest/NumberField/index.html +1 -1
  79. package/src/artifacts/coverage-jest/NumberField/index.js.html +1 -1
  80. package/src/artifacts/coverage-jest/QueryTypedown/QueryTypedown.js.html +1 -1
  81. package/src/artifacts/coverage-jest/QueryTypedown/index.html +1 -1
  82. package/src/artifacts/coverage-jest/QueryTypedown/index.js.html +1 -1
  83. package/src/artifacts/coverage-jest/RefdataButtons/RefdataButtons.js.html +1 -1
  84. package/src/artifacts/coverage-jest/RefdataButtons/index.html +1 -1
  85. package/src/artifacts/coverage-jest/RefdataButtons/index.js.html +1 -1
  86. package/src/artifacts/coverage-jest/ResponsiveButtonGroup/ResponsiveButtonGroup.js.html +1 -1
  87. package/src/artifacts/coverage-jest/ResponsiveButtonGroup/index.html +1 -1
  88. package/src/artifacts/coverage-jest/ResponsiveButtonGroup/index.js.html +1 -1
  89. package/src/artifacts/coverage-jest/ResponsiveButtonGroup/useResponsiveButtonGroupSizing.js.html +1 -1
  90. package/src/artifacts/coverage-jest/RichSelect/RichSelect.js.html +1 -1
  91. package/src/artifacts/coverage-jest/RichSelect/index.html +1 -1
  92. package/src/artifacts/coverage-jest/RichSelect/index.js.html +1 -1
  93. package/src/artifacts/coverage-jest/RichSelect/useSelectedOption.js.html +1 -1
  94. package/src/artifacts/coverage-jest/SASQLookupComponent/SASQLookupComponent.js.html +11 -5
  95. package/src/artifacts/coverage-jest/SASQLookupComponent/TableBody/TableBody.js.html +1 -1
  96. package/src/artifacts/coverage-jest/SASQLookupComponent/TableBody/index.html +1 -1
  97. package/src/artifacts/coverage-jest/SASQLookupComponent/TableBody/index.js.html +1 -1
  98. package/src/artifacts/coverage-jest/SASQLookupComponent/index.html +3 -3
  99. package/src/artifacts/coverage-jest/SASQLookupComponent/index.js.html +1 -1
  100. package/src/artifacts/coverage-jest/SASQRoute/SASQRoute.js.html +1 -1
  101. package/src/artifacts/coverage-jest/SASQRoute/index.html +1 -1
  102. package/src/artifacts/coverage-jest/SASQRoute/index.js.html +1 -1
  103. package/src/artifacts/coverage-jest/SASQViewComponent/SASQViewComponent.js.html +1 -1
  104. package/src/artifacts/coverage-jest/SASQViewComponent/index.html +1 -1
  105. package/src/artifacts/coverage-jest/SASQViewComponent/index.js.html +1 -1
  106. package/src/artifacts/coverage-jest/SearchField/SearchField.js.html +1 -1
  107. package/src/artifacts/coverage-jest/SearchField/index.html +1 -1
  108. package/src/artifacts/coverage-jest/SearchField/index.js.html +1 -1
  109. package/src/artifacts/coverage-jest/SearchKeyControl/SearchKeyControl.js.html +1 -1
  110. package/src/artifacts/coverage-jest/SearchKeyControl/index.html +1 -1
  111. package/src/artifacts/coverage-jest/SearchKeyControl/index.js.html +1 -1
  112. package/src/artifacts/coverage-jest/Settings/EditableRefdataCategoryList/EditableRefdataCategoryList.js.html +1 -1
  113. package/src/artifacts/coverage-jest/Settings/EditableRefdataCategoryList/index.html +1 -1
  114. package/src/artifacts/coverage-jest/Settings/EditableRefdataCategoryList/index.js.html +1 -1
  115. package/src/artifacts/coverage-jest/Settings/EditableRefdataList/EditableRefdataList.js.html +1 -1
  116. package/src/artifacts/coverage-jest/Settings/EditableRefdataList/index.html +1 -1
  117. package/src/artifacts/coverage-jest/Settings/EditableRefdataList/index.js.html +1 -1
  118. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/EditableSettingsList.js.html +94 -28
  119. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/EditableSettingsListFieldArray/EditableSettingsListFieldArray.js.html +50 -44
  120. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/EditableSettingsListFieldArray/index.html +19 -19
  121. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/EditableSettingsListFieldArray/index.js.html +1 -1
  122. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/SettingField/EditSettingValue/EditSettingValue.js.html +20 -11
  123. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/SettingField/EditSettingValue/index.html +5 -5
  124. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/SettingField/EditSettingValue/index.js.html +1 -1
  125. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/SettingField/RenderSettingValue/RenderSettingValue.js.html +1 -1
  126. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/SettingField/RenderSettingValue/index.html +1 -1
  127. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/SettingField/RenderSettingValue/index.js.html +1 -1
  128. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/SettingField/SettingField.js.html +118 -31
  129. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/SettingField/index.html +19 -19
  130. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/SettingField/index.js.html +1 -1
  131. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/index.html +15 -15
  132. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/index.js.html +1 -1
  133. package/src/artifacts/coverage-jest/Settings/RefdataCategoriesSettings/RefdataCategoriesSettings.js.html +1 -1
  134. package/src/artifacts/coverage-jest/Settings/RefdataCategoriesSettings/index.html +1 -1
  135. package/src/artifacts/coverage-jest/Settings/RefdataCategoriesSettings/index.js.html +1 -1
  136. package/src/artifacts/coverage-jest/Settings/SettingPage/SettingPage.js.html +5 -2
  137. package/src/artifacts/coverage-jest/Settings/SettingPage/SettingPagePane/SettingPagePane.js.html +1 -1
  138. package/src/artifacts/coverage-jest/Settings/SettingPage/SettingPagePane/index.html +1 -1
  139. package/src/artifacts/coverage-jest/Settings/SettingPage/SettingPagePane/index.js.html +1 -1
  140. package/src/artifacts/coverage-jest/Settings/SettingPage/index.html +1 -1
  141. package/src/artifacts/coverage-jest/Settings/SettingPage/index.js.html +1 -1
  142. package/src/artifacts/coverage-jest/Settings/SettingsFormContainer/SettingsFormContainer.js.html +1 -1
  143. package/src/artifacts/coverage-jest/Settings/SettingsFormContainer/index.html +1 -1
  144. package/src/artifacts/coverage-jest/Settings/SettingsFormContainer/index.js.html +1 -1
  145. package/src/artifacts/coverage-jest/Settings/StaticSettingsField/StaticSettingsField.js.html +18 -198
  146. package/src/artifacts/coverage-jest/Settings/StaticSettingsField/StaticSettingsFieldComponent/StaticSettingsFieldComponent.js.html +211 -0
  147. package/src/artifacts/coverage-jest/Settings/StaticSettingsField/StaticSettingsFieldComponent/index.html +131 -0
  148. package/src/artifacts/coverage-jest/Settings/StaticSettingsField/StaticSettingsFieldComponent/index.js.html +88 -0
  149. package/src/artifacts/coverage-jest/Settings/StaticSettingsField/index.html +19 -19
  150. package/src/artifacts/coverage-jest/Settings/StaticSettingsField/index.js.html +6 -3
  151. package/src/artifacts/coverage-jest/Settings/constants/index.html +17 -17
  152. package/src/artifacts/coverage-jest/Settings/constants/index.js.html +1 -1
  153. package/src/artifacts/coverage-jest/Settings/constants/queryKeys.js.html +43 -10
  154. package/src/artifacts/coverage-jest/Settings/contexts/SettingsContext.js.html +1 -1
  155. package/src/artifacts/coverage-jest/Settings/contexts/index.html +1 -1
  156. package/src/artifacts/coverage-jest/Settings/contexts/index.js.html +1 -1
  157. package/src/artifacts/coverage-jest/Settings/hooks/index.html +1 -1
  158. package/src/artifacts/coverage-jest/Settings/hooks/index.js.html +1 -1
  159. package/src/artifacts/coverage-jest/Settings/hooks/staticSettingsPages/index.html +1 -1
  160. package/src/artifacts/coverage-jest/Settings/hooks/staticSettingsPages/index.js.html +1 -1
  161. package/src/artifacts/coverage-jest/Settings/hooks/staticSettingsPages/useSettingCallout/index.html +1 -1
  162. package/src/artifacts/coverage-jest/Settings/hooks/staticSettingsPages/useSettingCallout/index.js.html +1 -1
  163. package/src/artifacts/coverage-jest/Settings/hooks/staticSettingsPages/useSettingCallout/useSettingCallout.js.html +1 -1
  164. package/src/artifacts/coverage-jest/Settings/hooks/staticSettingsPages/useSettingsSectionInitalValues/index.html +1 -1
  165. package/src/artifacts/coverage-jest/Settings/hooks/staticSettingsPages/useSettingsSectionInitalValues/index.js.html +1 -1
  166. package/src/artifacts/coverage-jest/Settings/hooks/staticSettingsPages/useSettingsSectionInitalValues/useSettingsSectionInitalValues.js.html +1 -1
  167. package/src/artifacts/coverage-jest/Settings/hooks/staticSettingsPages/useStaticSettingsSection.js.html +1 -1
  168. package/src/artifacts/coverage-jest/Settings/hooks/useAppSettings/index.html +1 -1
  169. package/src/artifacts/coverage-jest/Settings/hooks/useAppSettings/index.js.html +1 -1
  170. package/src/artifacts/coverage-jest/Settings/hooks/useAppSettings/useAppSettings.js.html +1 -1
  171. package/src/artifacts/coverage-jest/Settings/hooks/useSettingSection/index.html +13 -13
  172. package/src/artifacts/coverage-jest/Settings/hooks/useSettingSection/index.js.html +1 -1
  173. package/src/artifacts/coverage-jest/Settings/hooks/useSettingSection/useSettingSection.js.html +21 -9
  174. package/src/artifacts/coverage-jest/Settings/hooks/useSettings/index.html +1 -1
  175. package/src/artifacts/coverage-jest/Settings/hooks/useSettings/index.js.html +1 -1
  176. package/src/artifacts/coverage-jest/Settings/hooks/useSettings/useSettings.js.html +1 -1
  177. package/src/artifacts/coverage-jest/Settings/index.html +1 -1
  178. package/src/artifacts/coverage-jest/Settings/index.js.html +2 -2
  179. package/src/artifacts/coverage-jest/Tags/Tags.js.html +1 -1
  180. package/src/artifacts/coverage-jest/Tags/hooks/index.html +1 -1
  181. package/src/artifacts/coverage-jest/Tags/hooks/index.js.html +1 -1
  182. package/src/artifacts/coverage-jest/Tags/hooks/useTags.js.html +1 -1
  183. package/src/artifacts/coverage-jest/Tags/hooks/useTagsEnabled.js.html +1 -1
  184. package/src/artifacts/coverage-jest/Tags/index.html +1 -1
  185. package/src/artifacts/coverage-jest/Tags/index.js.html +1 -1
  186. package/src/artifacts/coverage-jest/Tags/tagsConfig.js.html +1 -1
  187. package/src/artifacts/coverage-jest/Typedown/Typedown.js.html +1 -1
  188. package/src/artifacts/coverage-jest/Typedown/index.html +1 -1
  189. package/src/artifacts/coverage-jest/Typedown/index.js.html +1 -1
  190. package/src/artifacts/coverage-jest/cobertura-coverage.xml +272 -210
  191. package/src/artifacts/coverage-jest/constants/comparators.js.html +1 -1
  192. package/src/artifacts/coverage-jest/constants/customProperties.js.html +1 -1
  193. package/src/artifacts/coverage-jest/constants/endpoints.js.html +1 -1
  194. package/src/artifacts/coverage-jest/constants/eventCodes.js.html +1 -1
  195. package/src/artifacts/coverage-jest/constants/index.html +1 -1
  196. package/src/artifacts/coverage-jest/constants/pagination.js.html +1 -1
  197. package/src/artifacts/coverage-jest/hooks/index.html +1 -1
  198. package/src/artifacts/coverage-jest/hooks/index.js.html +1 -1
  199. package/src/artifacts/coverage-jest/hooks/intlHooks/index.html +1 -1
  200. package/src/artifacts/coverage-jest/hooks/intlHooks/index.js.html +1 -1
  201. package/src/artifacts/coverage-jest/hooks/intlHooks/useIntlKey/index.html +1 -1
  202. package/src/artifacts/coverage-jest/hooks/intlHooks/useIntlKey/index.js.html +1 -1
  203. package/src/artifacts/coverage-jest/hooks/intlHooks/useIntlKey/useIntlKey.js.html +1 -1
  204. package/src/artifacts/coverage-jest/hooks/intlHooks/useIntlKeyStore/index.html +1 -1
  205. package/src/artifacts/coverage-jest/hooks/intlHooks/useIntlKeyStore/index.js.html +1 -1
  206. package/src/artifacts/coverage-jest/hooks/intlHooks/useIntlKeyStore/useIntlKeyStore.js.html +1 -1
  207. package/src/artifacts/coverage-jest/hooks/intlHooks/useKintIntl/index.html +1 -1
  208. package/src/artifacts/coverage-jest/hooks/intlHooks/useKintIntl/index.js.html +1 -1
  209. package/src/artifacts/coverage-jest/hooks/intlHooks/useKintIntl/useKintIntl.js.html +1 -1
  210. package/src/artifacts/coverage-jest/hooks/typedownHooks/index.html +1 -1
  211. package/src/artifacts/coverage-jest/hooks/typedownHooks/index.js.html +1 -1
  212. package/src/artifacts/coverage-jest/hooks/typedownHooks/useTypedown.js.html +1 -1
  213. package/src/artifacts/coverage-jest/hooks/typedownHooks/useTypedownData.js.html +1 -1
  214. package/src/artifacts/coverage-jest/hooks/typedownHooks/useTypedownToggle.js.html +1 -1
  215. package/src/artifacts/coverage-jest/hooks/useActionListRef.js.html +1 -1
  216. package/src/artifacts/coverage-jest/hooks/useActiveElement.js.html +1 -1
  217. package/src/artifacts/coverage-jest/hooks/useCustomProperties.js.html +1 -1
  218. package/src/artifacts/coverage-jest/hooks/useHelperApp.js.html +1 -1
  219. package/src/artifacts/coverage-jest/hooks/useInvalidateRefdata/index.html +1 -1
  220. package/src/artifacts/coverage-jest/hooks/useInvalidateRefdata/index.js.html +1 -1
  221. package/src/artifacts/coverage-jest/hooks/useInvalidateRefdata/useInvalidateRefdata.js.html +1 -1
  222. package/src/artifacts/coverage-jest/hooks/useKiwtFieldArray.js.html +1 -1
  223. package/src/artifacts/coverage-jest/hooks/useKiwtSASQuery.js.html +1 -1
  224. package/src/artifacts/coverage-jest/hooks/useLocalPageStore.js.html +1 -1
  225. package/src/artifacts/coverage-jest/hooks/useLocalStorageState.js.html +1 -1
  226. package/src/artifacts/coverage-jest/hooks/useModConfigEntries.js.html +1 -1
  227. package/src/artifacts/coverage-jest/hooks/useMutateCustomProperties/index.html +1 -1
  228. package/src/artifacts/coverage-jest/hooks/useMutateCustomProperties/index.js.html +1 -1
  229. package/src/artifacts/coverage-jest/hooks/useMutateCustomProperties/useMutateCustomProperties.js.html +1 -1
  230. package/src/artifacts/coverage-jest/hooks/useMutateGeneric/index.html +1 -1
  231. package/src/artifacts/coverage-jest/hooks/useMutateGeneric/index.js.html +1 -1
  232. package/src/artifacts/coverage-jest/hooks/useMutateGeneric/useMutateGeneric.js.html +1 -1
  233. package/src/artifacts/coverage-jest/hooks/useMutateModConfigEntry.js.html +1 -1
  234. package/src/artifacts/coverage-jest/hooks/useMutateRefdataCategory/index.html +1 -1
  235. package/src/artifacts/coverage-jest/hooks/useMutateRefdataCategory/index.js.html +1 -1
  236. package/src/artifacts/coverage-jest/hooks/useMutateRefdataCategory/useMutateRefdataCategory.js.html +1 -1
  237. package/src/artifacts/coverage-jest/hooks/useMutateRefdataValue/index.html +1 -1
  238. package/src/artifacts/coverage-jest/hooks/useMutateRefdataValue/index.js.html +1 -1
  239. package/src/artifacts/coverage-jest/hooks/useMutateRefdataValue/useMutateRefdataValue.js.html +1 -1
  240. package/src/artifacts/coverage-jest/hooks/usePrevNextPagination.js.html +1 -1
  241. package/src/artifacts/coverage-jest/hooks/useQIndex.js.html +1 -1
  242. package/src/artifacts/coverage-jest/hooks/useRefdata.js.html +1 -1
  243. package/src/artifacts/coverage-jest/hooks/useSASQQueryMeta.js.html +1 -1
  244. package/src/artifacts/coverage-jest/hooks/useStandaloneSASQQueryParameter/index.html +1 -1
  245. package/src/artifacts/coverage-jest/hooks/useStandaloneSASQQueryParameter/index.js.html +1 -1
  246. package/src/artifacts/coverage-jest/hooks/useStandaloneSASQQueryParameter/useStandaloneSASQQueryParameter.js.html +1 -1
  247. package/src/artifacts/coverage-jest/hooks/useTemplates.js.html +1 -1
  248. package/src/artifacts/coverage-jest/index.html +79 -64
  249. package/src/artifacts/coverage-jest/utils/buildUrl.js.html +1 -1
  250. package/src/artifacts/coverage-jest/utils/filterParsers/deparseKiwtQueryFilters.js.html +1 -1
  251. package/src/artifacts/coverage-jest/utils/filterParsers/index.html +1 -1
  252. package/src/artifacts/coverage-jest/utils/filterParsers/index.js.html +1 -1
  253. package/src/artifacts/coverage-jest/utils/filterParsers/parseKiwtQueryFilters.js.html +1 -1
  254. package/src/artifacts/coverage-jest/utils/filterParsers/parseKiwtQueryGroups.js.html +1 -1
  255. package/src/artifacts/coverage-jest/utils/filterParsers/parseKiwtQueryString.js.html +1 -1
  256. package/src/artifacts/coverage-jest/utils/generateKiwtQuery.js.html +1 -1
  257. package/src/artifacts/coverage-jest/utils/generateKiwtQueryParams/generateKiwtQueryParams.js.html +1 -1
  258. package/src/artifacts/coverage-jest/utils/generateKiwtQueryParams/index.html +1 -1
  259. package/src/artifacts/coverage-jest/utils/generateKiwtQueryParams/index.js.html +1 -1
  260. package/src/artifacts/coverage-jest/utils/groupCustomPropertiesByCtx.js.html +1 -1
  261. package/src/artifacts/coverage-jest/utils/highlightString.js.html +1 -1
  262. package/src/artifacts/coverage-jest/utils/index.html +1 -1
  263. package/src/artifacts/coverage-jest/utils/index.js.html +1 -1
  264. package/src/artifacts/coverage-jest/utils/matchString.js.html +1 -1
  265. package/src/artifacts/coverage-jest/utils/modConfigEntriesQueryKey.js.html +1 -1
  266. package/src/artifacts/coverage-jest/utils/parseErrorResponse.js.html +1 -1
  267. package/src/artifacts/coverage-jest/utils/parseModConfigEntry.js.html +1 -1
  268. package/src/artifacts/coverage-jest/utils/refdataOptions.js.html +1 -1
  269. package/src/artifacts/coverage-jest/utils/refdataQueryKey/index.html +1 -1
  270. package/src/artifacts/coverage-jest/utils/refdataQueryKey/index.js.html +1 -1
  271. package/src/artifacts/coverage-jest/utils/refdataQueryKey/refdataQueryKey.js.html +1 -1
  272. package/src/artifacts/coverage-jest/utils/selectorSafe.js.html +1 -1
  273. package/src/artifacts/coverage-jest/utils/sortByLabel.js.html +1 -1
  274. package/src/artifacts/coverage-jest/utils/toCamelCase.js.html +1 -1
  275. package/src/artifacts/coverage-jest/utils/typedownQueryKey.js.html +1 -1
  276. package/src/artifacts/coverage-jest/validators/index.html +1 -1
  277. package/src/artifacts/coverage-jest/validators/index.js.html +1 -1
  278. package/src/artifacts/coverage-jest/validators/validators.js.html +1 -1
  279. package/src/lib/SASQLookupComponent/README.md +2 -1
  280. package/src/lib/SASQLookupComponent/SASQLookupComponent.js +4 -2
  281. package/src/lib/Settings/EditableSettingsList/EditableSettingsList.js +42 -20
  282. package/src/lib/Settings/EditableSettingsList/EditableSettingsListFieldArray/EditableSettingsListFieldArray.js +27 -25
  283. package/src/lib/Settings/EditableSettingsList/EditableSettingsListFieldArray/EditableSettingsListFieldArray.test.js +2 -0
  284. package/src/lib/Settings/EditableSettingsList/SettingField/EditSettingValue/EditSettingValue.js +9 -6
  285. package/src/lib/Settings/EditableSettingsList/SettingField/EditSettingValue/EditSettingValue.test.js +29 -44
  286. package/src/lib/Settings/EditableSettingsList/SettingField/SettingField.js +49 -20
  287. package/src/lib/Settings/EditableSettingsList/SettingField/SettingField.test.js +2 -0
  288. package/src/lib/Settings/SettingPage/SettingPage.js +1 -0
  289. package/src/lib/Settings/StaticSettingsField/StaticSettingsField.js +8 -68
  290. package/src/lib/Settings/StaticSettingsField/StaticSettingsFieldComponent/StaticSettingsFieldComponent.js +42 -0
  291. package/src/lib/Settings/StaticSettingsField/StaticSettingsFieldComponent/index.js +1 -0
  292. package/src/lib/Settings/StaticSettingsField/index.js +2 -1
  293. package/src/lib/Settings/constants/queryKeys.js +12 -1
  294. package/src/lib/Settings/hooks/useSettingSection/useSettingSection.js +6 -2
  295. package/src/lib/Settings/index.js +1 -1
package/CHANGELOG.md CHANGED
@@ -1,3 +1,17 @@
1
+ ## [5.29.1](https://gitlab.com/knowledge-integration/folio/stripes-kint-components/compare/v5.29.0...v5.29.1) (2025-11-27)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * Settings no longer lose focus while typing ([831ea24](https://gitlab.com/knowledge-integration/folio/stripes-kint-components/commit/831ea247f82372f9ef7023a4e2b1b6d3391697dc))
7
+
8
+ # [5.29.0](https://gitlab.com/knowledge-integration/folio/stripes-kint-components/compare/v5.28.5...v5.29.0) (2025-11-27)
9
+
10
+
11
+ ### Features
12
+
13
+ * **SASQLookupComponent:** hasFilterPane -- ability to turn off filter pane entirely and hand roll one. ([bdaf899](https://gitlab.com/knowledge-integration/folio/stripes-kint-components/commit/bdaf8998edc6f50211d740c3d010bb20dc26bc5c))
14
+
1
15
  ## [5.28.5](https://gitlab.com/knowledge-integration/folio/stripes-kint-components/compare/v5.28.4...v5.28.5) (2025-11-24)
2
16
 
3
17
 
@@ -35,6 +35,8 @@ const SASQLookupComponent = /*#__PURE__*/(0, _react.forwardRef)((props, ref) =>
35
35
  FilterComponent = () => null,
36
36
  FilterPaneHeaderComponent = () => null,
37
37
  filterPaneProps = {},
38
+ hasFilterPane = true,
39
+ // Ability to entirely turn off filter pane
38
40
  id,
39
41
  intlKey: passedIntlKey,
40
42
  intlNS: passedIntlNS,
@@ -210,7 +212,7 @@ const SASQLookupComponent = /*#__PURE__*/(0, _react.forwardRef)((props, ref) =>
210
212
  if (mainPaneFirstMenu) {
211
213
  return mainPaneFirstMenu(internalStateProps);
212
214
  }
213
- if (!filterPaneVisible) {
215
+ if (!filterPaneVisible && hasFilterPane) {
214
216
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.PaneMenu, {
215
217
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_smartComponents.ExpandFilterPaneButton, {
216
218
  filterCount: filterCount,
@@ -224,7 +226,7 @@ const SASQLookupComponent = /*#__PURE__*/(0, _react.forwardRef)((props, ref) =>
224
226
  appId: namespace,
225
227
  id: "".concat(id, "-paneset")
226
228
  }, persistedPanesetProps), {}, {
227
- children: [filterPaneVisible && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Pane, _objectSpread(_objectSpread({
229
+ children: [hasFilterPane && filterPaneVisible && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Pane, _objectSpread(_objectSpread({
228
230
  defaultWidth: "20%",
229
231
  firstMenu: filterPaneFirstMenu ? filterPaneFirstMenu(internalStateProps) : null,
230
232
  id: "".concat(id, "-filter-pane"),
@@ -328,6 +330,7 @@ SASQLookupComponent.propTypes = {
328
330
  FilterComponent: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.node]),
329
331
  FilterPaneHeaderComponent: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.node]),
330
332
  queryParameterGenerator: _propTypes.default.func,
333
+ hasFilterPane: _propTypes.default.bool,
331
334
  id: _propTypes.default.string.isRequired,
332
335
  intlKey: _propTypes.default.string,
333
336
  intlNS: _propTypes.default.string,
@@ -14,23 +14,35 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
14
14
  const EditableSettingsList = _ref => {
15
15
  let {
16
16
  allowEdit = true,
17
- // A gloabal boolean permission to turn on/off editing of all appSettings in the frontend
18
- data,
17
+ // A global boolean permission to turn on/off editing of all appSettings in the frontend
19
18
  initialValues,
20
19
  intlKey: passedIntlKey,
21
20
  intlNS: passedIntlNS,
22
21
  label,
23
22
  labelOverrides = {},
24
23
  onSave,
25
- render // Experimental idea, allow unique rendering per setting?
24
+ render,
25
+ // Experimental idea, allow unique rendering per setting?
26
+ settingData
26
27
  } = _ref;
28
+ // Fake the form save... this is super bad I know, but it's very old code and the plan is to get rid of this component
29
+ // Because it's in a single Form even though each setting really requires it's own form. It'd be more work to unpick that
30
+ // without accidentally causing some backwards compatibility issues I think. So for now we fake it
31
+
32
+ let settingToSave;
33
+ const handleFormSubmit = async _values => {
34
+ return onSave(settingToSave).then(res => {
35
+ settingToSave = undefined;
36
+ return res;
37
+ });
38
+ };
27
39
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactFinalForm.Form, {
28
40
  enableReinitialize: true,
29
41
  initialValues: initialValues,
30
42
  keepDirtyOnReinitialize: true,
31
43
  mutators: _finalFormArrays.default,
32
44
  navigationCheck: true,
33
- onSubmit: onSave,
45
+ onSubmit: handleFormSubmit,
34
46
  subscription: {
35
47
  value: true
36
48
  },
@@ -38,20 +50,26 @@ const EditableSettingsList = _ref => {
38
50
  let {
39
51
  handleSubmit
40
52
  } = _ref2;
53
+ // Set up the setting we want to save, then trigger handleSubmit so we get "submitting" in the form.
54
+ // Yes this is ugly
55
+ const handleSave = async setting => {
56
+ settingToSave = setting;
57
+ return handleSubmit();
58
+ };
41
59
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("form", {
42
60
  onSubmit: handleSubmit,
43
61
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactFinalFormArrays.FieldArray, {
44
62
  allowEdit: allowEdit,
45
63
  component: _EditableSettingsListFieldArray.default,
46
- data: data,
47
64
  intlKey: passedIntlKey,
48
65
  intlNS: passedIntlNS,
49
66
  label: label,
50
67
  labelOverrides: labelOverrides,
51
68
  name: "settings",
52
- onSave: onSave,
53
- render: render
54
- })
69
+ onSave: handleSave,
70
+ render: render,
71
+ settingData: settingData
72
+ }, "editable-setting-list-field-array")
55
73
  });
56
74
  }
57
75
  });
@@ -18,7 +18,6 @@ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e =
18
18
  const EditableSettingsListField = _ref => {
19
19
  let {
20
20
  allowEdit,
21
- data,
22
21
  fields,
23
22
  handleSave,
24
23
  index,
@@ -26,13 +25,18 @@ const EditableSettingsListField = _ref => {
26
25
  intlNS,
27
26
  labelOverrides,
28
27
  render,
29
- setting
28
+ setting,
29
+ settingData: passedSettingData
30
30
  } = _ref;
31
31
  // Handle editing or not at this level
32
32
  const [editing, setEditing] = (0, _react.useState)(false);
33
+ // This is really grim.
34
+ // Set up whether this setting is submitting or not.
35
+ // Submitting in the form level applies to ALL
36
+ const [settingSubmitting, setSettingSubmitting] = (0, _react.useState)(false);
33
37
  const settingData = (0, _react.useMemo)(() => _objectSpread({
34
- currentSetting: fields.value[index]
35
- }, fields), [fields, index]);
38
+ currentSetting: passedSettingData.settings[index]
39
+ }, passedSettingData), [index, passedSettingData]);
36
40
  const DefaultField = (0, _react.useCallback)(() => {
37
41
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactFinalForm.Field, {
38
42
  allowEdit: allowEdit,
@@ -42,15 +46,20 @@ const EditableSettingsListField = _ref => {
42
46
  intlKey: intlKey,
43
47
  intlNS: intlNS,
44
48
  labelOverrides: labelOverrides,
45
- name: setting,
46
- onSave: () => handleSave(index),
49
+ name: "".concat(setting, ".value"),
50
+ onSave: handleSave,
51
+ parse: v => v,
47
52
  setEditing: setEditing,
48
- settingData: settingData
49
- }, setting);
50
- }, [allowEdit, editing, handleSave, index, intlKey, intlNS, labelOverrides, setting, settingData]);
53
+ setSettingSubmitting: setSettingSubmitting,
54
+ settingData: settingData,
55
+ settingSubmitting: settingSubmitting
56
+ });
57
+ }, [allowEdit, editing, handleSave, index, intlKey, intlNS, labelOverrides, setting, settingData, settingSubmitting]);
58
+ if (!render || render instanceof Function) {
59
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(DefaultField, {}, "".concat(setting, "-default-field"));
60
+ }
51
61
  return render({
52
62
  allowEdit,
53
- data,
54
63
  DefaultField,
55
64
  editing,
56
65
  fields,
@@ -59,44 +68,37 @@ const EditableSettingsListField = _ref => {
59
68
  intlKey,
60
69
  intlNS,
61
70
  setEditing,
71
+ setSettingSubmitting,
62
72
  setting,
63
73
  settingData,
64
- SettingFieldComponent: _SettingField.SettingField
74
+ SettingFieldComponent: _SettingField.SettingField,
75
+ settingSubmitting
65
76
  });
66
77
  };
67
78
  const EditableSettingsListFieldArray = _ref2 => {
68
79
  let {
69
80
  allowEdit: passedAllowEdit = true,
70
- data: passedData,
71
81
  fields: passedFields,
72
82
  intlKey: passedIntlKey,
73
83
  intlNS: passedIntlNS,
74
84
  labelOverrides = {},
75
85
  onSave,
76
- render = _ref3 => {
77
- let {
78
- DefaultField
79
- } = _ref3;
80
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(DefaultField, {});
81
- }
86
+ render,
87
+ settingData
82
88
  } = _ref2;
83
- const handleSave = index => {
84
- const setting = passedFields.value[index];
85
- return onSave(setting);
86
- };
87
89
  return passedFields.map((setting, i) => {
88
90
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(EditableSettingsListField, {
89
91
  allowEdit: passedAllowEdit,
90
- data: passedData,
91
92
  fields: passedFields,
92
- handleSave: handleSave,
93
+ handleSave: onSave,
93
94
  index: i,
94
95
  intlKey: passedIntlKey,
95
96
  intlNS: passedIntlNS,
96
97
  labelOverrides: labelOverrides,
97
98
  render: render,
98
- setting: setting
99
- });
99
+ setting: setting,
100
+ settingData: settingData
101
+ }, setting);
100
102
  });
101
103
  };
102
104
  EditableSettingsListFieldArray.propTypes = {
@@ -69,7 +69,10 @@ describe('EditableSettingsListFieldArray', () => {
69
69
  onSubmit: onSubmit,
70
70
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactFinalFormArrays.FieldArray, {
71
71
  component: _EditableSettingsListFieldArray.default,
72
- name: "settings"
72
+ name: "settings",
73
+ settingData: {
74
+ settings
75
+ }
73
76
  })
74
77
  }));
75
78
  });
@@ -90,7 +93,10 @@ describe('EditableSettingsListFieldArray', () => {
90
93
  onSubmit: onSubmit,
91
94
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactFinalFormArrays.FieldArray, {
92
95
  component: _EditableSettingsListFieldArray.default,
93
- name: "settings"
96
+ name: "settings",
97
+ settingData: {
98
+ settings: multipleSettings
99
+ }
94
100
  })
95
101
  }));
96
102
  });
@@ -4,11 +4,12 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
+ var _react = require("react");
7
8
  var _propTypes = _interopRequireDefault(require("prop-types"));
8
9
  var _hooks = require("../../../../hooks");
9
- var _StaticSettingsField = _interopRequireDefault(require("../../../StaticSettingsField"));
10
+ var _StaticSettingsField = require("../../../StaticSettingsField");
10
11
  var _jsxRuntime = require("react/jsx-runtime");
11
- const _excluded = ["currentSetting", "input", "intlKey", "intlNS", "labelOverrides"];
12
+ const _excluded = ["currentSetting", "intlKey", "intlNS", "labelOverrides", "name"];
12
13
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
14
  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; }
14
15
  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; }
@@ -20,25 +21,25 @@ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t =
20
21
  const EditSettingValue = _ref => {
21
22
  let {
22
23
  currentSetting: setting,
23
- input,
24
24
  intlKey: passedIntlKey,
25
25
  intlNS: passedIntlNS,
26
- labelOverrides = {}
26
+ labelOverrides = {},
27
+ name
27
28
  } = _ref,
28
29
  props = _objectWithoutProperties(_ref, _excluded);
29
30
  const kintIntl = (0, _hooks.useKintIntl)(passedIntlKey, passedIntlNS);
30
- const fieldLabel = kintIntl.formatKintMessage({
31
+ const fieldLabel = (0, _react.useMemo)(() => kintIntl.formatKintMessage({
31
32
  id: 'settings.valueFor',
32
33
  overrideValue: labelOverrides === null || labelOverrides === void 0 ? void 0 : labelOverrides.valueFor
33
34
  }, {
34
35
  name: setting.key
35
- });
36
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_StaticSettingsField.default, _objectSpread({
36
+ }), [kintIntl, labelOverrides === null || labelOverrides === void 0 ? void 0 : labelOverrides.valueFor, setting.key]);
37
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_StaticSettingsField.StaticSettingsFieldComponent, _objectSpread({
37
38
  "aria-label": fieldLabel,
38
39
  autofocus: true,
39
- name: "".concat(input.name, ".value"),
40
+ name: name,
40
41
  setting: setting
41
- }, props));
42
+ }, props), "static-render-function-".concat(name));
42
43
  };
43
44
  EditSettingValue.propTypes = {
44
45
  currentSetting: _propTypes.default.shape({
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
 
3
+ var _reactFinalForm = require("react-final-form");
3
4
  var _stripesErmTesting = require("@folio/stripes-erm-testing");
4
5
  var _EditSettingValue = _interopRequireDefault(require("./EditSettingValue"));
5
6
  var _helpers = require("../../../../../../test/jest/helpers");
@@ -81,11 +82,10 @@ describe('EditSettingValue', () => {
81
82
  renderComponent = (0, _helpers.renderWithKintHarness)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_stripesErmTesting.TestForm, {
82
83
  initialValues: {},
83
84
  onSubmit: onSubmit,
84
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_EditSettingValue.default, {
85
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactFinalForm.Field, {
86
+ component: _EditSettingValue.default,
85
87
  currentSetting: stringSetting,
86
- input: {
87
- name: 'test'
88
- }
88
+ name: "test"
89
89
  })
90
90
  }));
91
91
  });
@@ -103,16 +103,13 @@ describe('EditSettingValue', () => {
103
103
  beforeEach(() => {
104
104
  renderComponent = (0, _helpers.renderWithKintHarness)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_stripesErmTesting.TestForm, {
105
105
  initialValues: {
106
- test: {
107
- value: stringSetting.value
108
- }
106
+ test: stringSetting.value
109
107
  },
110
108
  onSubmit: onSubmit,
111
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_EditSettingValue.default, {
109
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactFinalForm.Field, {
110
+ component: _EditSettingValue.default,
112
111
  currentSetting: stringSetting,
113
- input: {
114
- name: 'test'
115
- }
112
+ name: "test"
116
113
  })
117
114
  }));
118
115
  });
@@ -136,11 +133,10 @@ describe('EditSettingValue', () => {
136
133
  renderComponent = (0, _helpers.renderWithKintHarness)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_stripesErmTesting.TestForm, {
137
134
  initialValues: {},
138
135
  onSubmit: onSubmit,
139
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_EditSettingValue.default, {
136
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactFinalForm.Field, {
137
+ component: _EditSettingValue.default,
140
138
  currentSetting: refdataSetting,
141
- input: {
142
- name: 'test'
143
- },
139
+ name: "test",
144
140
  refdata: refdata
145
141
  })
146
142
  }));
@@ -179,16 +175,13 @@ describe('EditSettingValue', () => {
179
175
  beforeEach(() => {
180
176
  renderComponent = (0, _helpers.renderWithKintHarness)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_stripesErmTesting.TestForm, {
181
177
  initialValues: {
182
- test: {
183
- value: refdataSetting.value
184
- }
178
+ test: refdataSetting.value
185
179
  },
186
180
  onSubmit: onSubmit,
187
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_EditSettingValue.default, {
181
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactFinalForm.Field, {
182
+ component: _EditSettingValue.default,
188
183
  currentSetting: refdataSetting,
189
- input: {
190
- name: 'test'
191
- },
184
+ name: "test",
192
185
  refdata: refdata
193
186
  })
194
187
  }));
@@ -228,11 +221,10 @@ describe('EditSettingValue', () => {
228
221
  renderComponent = (0, _helpers.renderWithKintHarness)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_stripesErmTesting.TestForm, {
229
222
  initialValues: {},
230
223
  onSubmit: onSubmit,
231
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_EditSettingValue.default, {
224
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactFinalForm.Field, {
225
+ component: _EditSettingValue.default,
232
226
  currentSetting: refdataSetting,
233
- input: {
234
- name: 'test'
235
- },
227
+ name: "test",
236
228
  refdata: moreRefdata
237
229
  })
238
230
  }));
@@ -274,16 +266,13 @@ describe('EditSettingValue', () => {
274
266
  beforeEach(() => {
275
267
  renderComponent = (0, _helpers.renderWithKintHarness)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_stripesErmTesting.TestForm, {
276
268
  initialValues: {
277
- test: {
278
- value: refdataSetting.value
279
- }
269
+ test: refdataSetting.value
280
270
  },
281
271
  onSubmit: onSubmit,
282
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_EditSettingValue.default, {
272
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactFinalForm.Field, {
273
+ component: _EditSettingValue.default,
283
274
  currentSetting: refdataSetting,
284
- input: {
285
- name: 'test'
286
- },
275
+ name: "test",
287
276
  refdata: moreRefdata
288
277
  })
289
278
  }));
@@ -328,11 +317,10 @@ describe('EditSettingValue', () => {
328
317
  renderComponent = (0, _helpers.renderWithKintHarness)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_stripesErmTesting.TestForm, {
329
318
  initialValues: {},
330
319
  onSubmit: onSubmit,
331
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_EditSettingValue.default, {
320
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactFinalForm.Field, {
321
+ component: _EditSettingValue.default,
332
322
  currentSetting: templateSetting,
333
- input: {
334
- name: 'test'
335
- },
323
+ name: "test",
336
324
  templates: templates
337
325
  })
338
326
  }));
@@ -373,16 +361,13 @@ describe('EditSettingValue', () => {
373
361
  beforeEach(() => {
374
362
  renderComponent = (0, _helpers.renderWithKintHarness)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_stripesErmTesting.TestForm, {
375
363
  initialValues: {
376
- test: {
377
- value: templateSetting.value
378
- }
364
+ test: templateSetting.value
379
365
  },
380
366
  onSubmit: onSubmit,
381
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_EditSettingValue.default, {
367
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactFinalForm.Field, {
368
+ component: _EditSettingValue.default,
382
369
  currentSetting: templateSetting,
383
- input: {
384
- name: 'test'
385
- },
370
+ name: "test",
386
371
  templates: templates
387
372
  })
388
373
  }));
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _react = require("react");
8
8
  var _propTypes = _interopRequireDefault(require("prop-types"));
9
+ var _reactFinalForm = require("react-final-form");
9
10
  var _components = require("@folio/stripes/components");
10
11
  var _EditSettingValue = _interopRequireDefault(require("./EditSettingValue"));
11
12
  var _RenderSettingValue = _interopRequireDefault(require("./RenderSettingValue"));
@@ -27,17 +28,25 @@ const SettingField = settingFieldProps => {
27
28
  intlKey: passedIntlKey,
28
29
  intlNS: passedIntlNS,
29
30
  labelOverrides = {},
31
+ name,
30
32
  onSave,
31
33
  setEditing,
32
34
  settingData: {
33
35
  currentSetting
34
- } = {}
36
+ } = {},
37
+ setSettingSubmitting,
38
+ settingSubmitting
35
39
  } = settingFieldProps;
36
40
  const kintIntl = (0, _hooks.useKintIntl)(passedIntlKey, passedIntlNS);
37
41
  const {
38
42
  refdataEndpoint,
39
43
  templateEndpoint
40
44
  } = (0, _react.useContext)(_contexts.SettingsContext);
45
+ const {
46
+ submitting,
47
+ invalid,
48
+ values
49
+ } = (0, _reactFinalForm.useFormState)();
41
50
  const {
42
51
  0: {
43
52
  values: refdata = []
@@ -57,7 +66,7 @@ const SettingField = settingFieldProps => {
57
66
  enabled: !!(currentSetting !== null && currentSetting !== void 0 && currentSetting.vocab) && currentSetting.settingType === 'Template'
58
67
  }
59
68
  });
60
- const renderHelpText = helpTextId => {
69
+ const renderHelpText = (0, _react.useCallback)(helpTextId => {
61
70
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
62
71
  className: _renderHelpText.default.help,
63
72
  children: kintIntl.formatKintMessage({
@@ -95,33 +104,49 @@ const SettingField = settingFieldProps => {
95
104
  })
96
105
  })
97
106
  });
98
- };
99
- const renderEditButton = () => {
107
+ }, [kintIntl]);
108
+ const renderEditButton = (0, _react.useCallback)(() => {
100
109
  const EditText = editing ? kintIntl.formatKintMessage({
101
110
  id: 'save'
102
111
  }) : kintIntl.formatKintMessage({
103
112
  id: 'edit'
104
113
  });
105
114
  if (allowEdit) {
106
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
115
+ var _values$settings;
116
+ // This is unbelievably gross... this stems from this all being in a single FieldArray.
117
+ // We should aim to set this up in an ActionList as soon as possible
118
+ const settingToSave = (_values$settings = values.settings) === null || _values$settings === void 0 ? void 0 : _values$settings.find(s => s.id === currentSetting.id);
119
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.Button, {
120
+ disabled: editing && (submitting || invalid),
107
121
  marginBottom0: true,
108
122
  onClick: e => {
109
123
  e.preventDefault();
110
- return editing ? onSave().then(() => setEditing(false)) : setEditing(true);
124
+ if (editing) {
125
+ setSettingSubmitting(true);
126
+ // We want to track that JUST this setting is being edited,
127
+ // since "Submitting" is relevant for any and all submits
128
+ // I hate this
129
+ return onSave(settingToSave).then(() => {
130
+ setEditing(false);
131
+ setSettingSubmitting(false);
132
+ });
133
+ }
134
+ return setEditing(true);
111
135
  },
112
- children: EditText
136
+ children: [submitting && settingSubmitting ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Spinner, {}) : null, EditText]
113
137
  });
114
138
  }
115
139
  return null;
116
- };
117
- let RenderFunction;
118
- if (editing === false) {
119
- RenderFunction = _RenderSettingValue.default;
120
- } else {
121
- RenderFunction = _EditSettingValue.default;
122
- }
123
- const id = "settings.".concat((0, _utils.toCamelCase)(currentSetting.section), ".").concat((0, _utils.toCamelCase)(currentSetting.key), ".help");
124
- const renderHeaderStart = () => {
140
+ }, [allowEdit, currentSetting.id, editing, invalid, kintIntl, onSave, setEditing, setSettingSubmitting, settingSubmitting, submitting, values.settings]);
141
+ const RenderFunction = (0, _react.useMemo)(() => {
142
+ if (editing === false) {
143
+ return _RenderSettingValue.default;
144
+ } else {
145
+ return _EditSettingValue.default;
146
+ }
147
+ }, [editing]);
148
+ const id = (0, _react.useMemo)(() => "settings.".concat((0, _utils.toCamelCase)(currentSetting.section), ".").concat((0, _utils.toCamelCase)(currentSetting.key), ".help"), [currentSetting.key, currentSetting.section]);
149
+ const renderHeaderStart = (0, _react.useCallback)(() => {
125
150
  const settingName = Object.keys(currentSetting).length > 0 ? kintIntl.formatKintMessage({
126
151
  id: "settings.".concat((0, _utils.toCamelCase)(currentSetting.section), ".").concat((0, _utils.toCamelCase)(currentSetting.key))
127
152
  }) : kintIntl.formatKintMessage({
@@ -132,20 +157,21 @@ const SettingField = settingFieldProps => {
132
157
  content: renderHelpText(id)
133
158
  }), settingName]
134
159
  });
135
- };
160
+ }, [currentSetting, id, kintIntl, renderHelpText]);
136
161
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Card, {
137
162
  headerEnd: renderEditButton(),
138
163
  headerStart: renderHeaderStart(),
139
164
  roundedBorder: true,
140
165
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(RenderFunction, _objectSpread({
141
166
  currentSetting: currentSetting,
167
+ disabled: submitting,
142
168
  intlKey: passedIntlKey,
143
169
  intlNS: passedIntlNS,
144
170
  labelOverrides: labelOverrides,
145
171
  refdata: refdata,
146
172
  templates: templates
147
- }, settingFieldProps))
148
- });
173
+ }, settingFieldProps), "setting-render-function-".concat(name))
174
+ }, "setting-edit-card-".concat(name));
149
175
  };
150
176
  SettingField.propTypes = {
151
177
  allowEdit: _propTypes.default.bool,
@@ -25,6 +25,7 @@ const setting = {
25
25
  value: 'diku-shared'
26
26
  };
27
27
  const setEditing = jest.fn();
28
+ const setSettingSubmitting = jest.fn();
28
29
  let renderComponent;
29
30
  describe('SettingField', () => {
30
31
  describe.each([{
@@ -56,6 +57,7 @@ describe('SettingField', () => {
56
57
  name: "test",
57
58
  onSave: onSave,
58
59
  setEditing: setEditing,
60
+ setSettingSubmitting: setSettingSubmitting,
59
61
  settingData: {
60
62
  currentSetting: setting
61
63
  }
@@ -44,6 +44,9 @@ const SettingPage = _ref => {
44
44
  onSave: handleSubmit,
45
45
  onSubmit: handleSubmit,
46
46
  render: render,
47
+ settingData: {
48
+ settings
49
+ },
47
50
  settingSection: sectionName
48
51
  });
49
52
  };