@k-int/stripes-kint-components 4.7.1 → 5.0.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 (358) hide show
  1. package/CHANGELOG.md +3 -2
  2. package/README.md +1 -1
  3. package/es/__mocks__/@folio/stripes/components.js +21 -10
  4. package/es/__mocks__/@folio/stripes/core.js +7 -4
  5. package/es/__mocks__/@folio/stripes/smart-components.js +7 -4
  6. package/es/__mocks__/react-query.js +7 -4
  7. package/es/__mocks__/react-router-dom.js +7 -6
  8. package/es/artifacts/coverage-jest/lcov-report/prettify.js +2 -2
  9. package/es/artifacts/coverage-jest/lcov-report/sorter.js +6 -6
  10. package/es/index.js +52 -54
  11. package/es/lib/ActionList/ActionList.js +51 -38
  12. package/es/lib/ActionList/ActionListFieldArray.js +168 -144
  13. package/es/lib/ActionList/index.js +1 -1
  14. package/es/lib/ComboButton/ComboButton.js +89 -72
  15. package/es/lib/ComboButton/index.js +1 -1
  16. package/es/lib/CustomProperties/Config/CustomPropertiesLookup.js +78 -58
  17. package/es/lib/CustomProperties/Config/CustomPropertiesLookup.test.js +19 -15
  18. package/es/lib/CustomProperties/Config/CustomPropertiesSettings.js +163 -114
  19. package/es/lib/CustomProperties/Config/CustomPropertiesSettings.test.js +68 -31
  20. package/es/lib/CustomProperties/Config/CustomPropertyForm.js +48 -36
  21. package/es/lib/CustomProperties/Config/CustomPropertyForm.test.js +121 -84
  22. package/es/lib/CustomProperties/Config/CustomPropertyView.js +9 -10
  23. package/es/lib/CustomProperties/Config/CustomPropertyView.test.js +136 -49
  24. package/es/lib/CustomProperties/Config/index.js +4 -4
  25. package/es/lib/CustomProperties/Edit/CustomPropertiesEdit.js +21 -19
  26. package/es/lib/CustomProperties/Edit/CustomPropertiesEdit.test.js +17 -12
  27. package/es/lib/CustomProperties/Edit/CustomPropertiesEditCtx.js +27 -29
  28. package/es/lib/CustomProperties/Edit/CustomPropertiesEditCtx.test.js +17 -12
  29. package/es/lib/CustomProperties/Edit/CustomPropertiesListField.js +103 -86
  30. package/es/lib/CustomProperties/Edit/CustomPropertiesListField.test.js +64 -28
  31. package/es/lib/CustomProperties/Edit/CustomPropertyField.js +116 -124
  32. package/es/lib/CustomProperties/Edit/CustomPropertyField.test.js +179 -99
  33. package/es/lib/CustomProperties/Edit/CustomPropertyFormCard.js +44 -43
  34. package/es/lib/CustomProperties/Edit/CustomPropertyFormCard.test.js +27 -23
  35. package/es/lib/CustomProperties/Edit/index.js +5 -5
  36. package/es/lib/CustomProperties/Edit/testResources.js +35 -13
  37. package/es/lib/CustomProperties/Filter/CustomPropertiesFilter.js +81 -60
  38. package/es/lib/CustomProperties/Filter/CustomPropertiesFilter.test.js +58 -24
  39. package/es/lib/CustomProperties/Filter/CustomPropertiesFilterField.js +54 -39
  40. package/es/lib/CustomProperties/Filter/CustomPropertiesFilterField.test.js +16 -17
  41. package/es/lib/CustomProperties/Filter/CustomPropertiesFilterFieldArray.js +23 -27
  42. package/es/lib/CustomProperties/Filter/CustomPropertiesFilterFieldArray.test.js +46 -20
  43. package/es/lib/CustomProperties/Filter/CustomPropertiesFilterForm.js +20 -18
  44. package/es/lib/CustomProperties/Filter/CustomPropertiesFilterForm.test.js +53 -24
  45. package/es/lib/CustomProperties/Filter/CustomPropertiesRule.js +43 -39
  46. package/es/lib/CustomProperties/Filter/CustomPropertiesRule.test.js +225 -78
  47. package/es/lib/CustomProperties/Filter/index.js +6 -6
  48. package/es/lib/CustomProperties/Filter/testResources.js +33 -13
  49. package/es/lib/CustomProperties/Filter/useOperators.js +16 -17
  50. package/es/lib/CustomProperties/Filter/useParseActiveFilterStrings.js +30 -17
  51. package/es/lib/CustomProperties/Filter/useValueProps.js +27 -22
  52. package/es/lib/CustomProperties/View/CustomPropertiesView.js +21 -19
  53. package/es/lib/CustomProperties/View/CustomPropertiesView.test.js +17 -12
  54. package/es/lib/CustomProperties/View/CustomPropertiesViewCtx.js +63 -55
  55. package/es/lib/CustomProperties/View/CustomPropertiesViewCtx.test.js +24 -15
  56. package/es/lib/CustomProperties/View/CustomPropertyCard.js +18 -17
  57. package/es/lib/CustomProperties/View/index.js +3 -3
  58. package/es/lib/CustomProperties/View/testResources.js +4 -4
  59. package/es/lib/CustomProperties/index.js +18 -18
  60. package/es/lib/CycleButton/CycleButton.js +32 -17
  61. package/es/lib/CycleButton/index.js +1 -1
  62. package/es/lib/EditableRefdataCategoryList/EditableRefdataCategoryList.js +154 -112
  63. package/es/lib/EditableRefdataCategoryList/index.js +1 -1
  64. package/es/lib/EditableRefdataList/EditableRefdataList.js +173 -130
  65. package/es/lib/EditableRefdataList/index.js +1 -1
  66. package/es/lib/EditableSettingsList/EditableSettingsList.js +13 -16
  67. package/es/lib/EditableSettingsList/EditableSettingsListFieldArray.js +25 -18
  68. package/es/lib/EditableSettingsList/EditableSettingsListFieldArray.test.js +90 -61
  69. package/es/lib/EditableSettingsList/SettingField/EditSettingValue.js +34 -21
  70. package/es/lib/EditableSettingsList/SettingField/EditSettingValue.test.js +83 -99
  71. package/es/lib/EditableSettingsList/SettingField/RenderSettingValue.js +19 -17
  72. package/es/lib/EditableSettingsList/SettingField/RenderSettingValue.test.js +275 -187
  73. package/es/lib/EditableSettingsList/SettingField/SettingField.js +109 -74
  74. package/es/lib/EditableSettingsList/SettingField/SettingField.test.js +170 -55
  75. package/es/lib/EditableSettingsList/SettingField/index.js +3 -3
  76. package/es/lib/EditableSettingsList/index.js +3 -3
  77. package/es/lib/FormModal/FormModal.js +46 -43
  78. package/es/lib/FormModal/index.js +1 -1
  79. package/es/lib/FormattedKintMessage/FormattedKintMessage.js +27 -24
  80. package/es/lib/FormattedKintMessage/index.js +1 -1
  81. package/es/lib/IconSelect/IconSelect.js +68 -49
  82. package/es/lib/IconSelect/index.js +1 -1
  83. package/es/lib/NoResultsMessage/NoResultsMessage.js +17 -18
  84. package/es/lib/NoResultsMessage/index.js +1 -1
  85. package/es/lib/QueryTypedown/QueryTypedown.js +38 -17
  86. package/es/lib/QueryTypedown/index.js +1 -1
  87. package/es/lib/RefdataButtons/RefdataButtons.js +29 -26
  88. package/es/lib/RefdataButtons/index.js +1 -1
  89. package/es/lib/ResponsiveButtonGroup/ResponsiveButtonGroup.js +88 -83
  90. package/es/lib/ResponsiveButtonGroup/index.js +1 -1
  91. package/es/lib/ResponsiveButtonGroup/useResponsiveButtonGroupSizing.js +41 -28
  92. package/es/lib/RichSelect/RichSelect.js +86 -70
  93. package/es/lib/RichSelect/index.js +2 -2
  94. package/es/lib/RichSelect/useSelectedOption.js +12 -3
  95. package/es/lib/SASQLookupComponent/SASQLookupComponent.js +137 -115
  96. package/es/lib/SASQLookupComponent/TableBody/TableBody.js +46 -40
  97. package/es/lib/SASQLookupComponent/TableBody/index.js +1 -1
  98. package/es/lib/SASQLookupComponent/index.js +2 -2
  99. package/es/lib/SASQRoute/SASQRoute.js +37 -31
  100. package/es/lib/SASQRoute/index.js +1 -1
  101. package/es/lib/SASQViewComponent/SASQViewComponent.js +46 -39
  102. package/es/lib/SASQViewComponent/index.js +1 -1
  103. package/es/lib/SearchField/SearchField.js +16 -11
  104. package/es/lib/SearchField/index.js +1 -1
  105. package/es/lib/SettingPage/SettingPage.js +20 -21
  106. package/es/lib/SettingPage/SettingPagePane.js +6 -8
  107. package/es/lib/SettingPage/index.js +2 -2
  108. package/es/lib/SettingsFormContainer/SettingsFormContainer.js +53 -50
  109. package/es/lib/SettingsFormContainer/index.js +1 -1
  110. package/es/lib/Typedown/Typedown.js +83 -65
  111. package/es/lib/Typedown/index.js +1 -1
  112. package/es/lib/constants/customProperties.js +11 -11
  113. package/es/lib/constants/endpoints.js +1 -1
  114. package/es/lib/constants/eventCodes.js +3 -3
  115. package/es/lib/contexts/SettingsContext.js +1 -1
  116. package/es/lib/contexts/index.js +1 -1
  117. package/es/lib/hooks/__mocks__/index.js +29 -9
  118. package/es/lib/hooks/index.js +19 -19
  119. package/es/lib/hooks/typedownHooks/index.js +3 -3
  120. package/es/lib/hooks/typedownHooks/useTypedown.js +48 -48
  121. package/es/lib/hooks/typedownHooks/useTypedownData.js +21 -11
  122. package/es/lib/hooks/typedownHooks/useTypedownToggle.js +20 -12
  123. package/es/lib/hooks/useActiveElement.js +17 -8
  124. package/es/lib/hooks/useCustomProperties.js +30 -22
  125. package/es/lib/hooks/useHelperApp.js +49 -30
  126. package/es/lib/hooks/useIntlKey.js +5 -3
  127. package/es/lib/hooks/useIntlKeyStore.js +49 -43
  128. package/es/lib/hooks/useInvalidateRefdata.js +5 -3
  129. package/es/lib/hooks/useKintIntl.js +31 -28
  130. package/es/lib/hooks/useKiwtFieldArray.js +45 -34
  131. package/es/lib/hooks/useKiwtSASQuery.js +48 -38
  132. package/es/lib/hooks/useLocalStorageState.js +18 -6
  133. package/es/lib/hooks/useModConfigEntries.js +25 -26
  134. package/es/lib/hooks/useMutateCustomProperties.js +62 -19
  135. package/es/lib/hooks/useMutateModConfigEntry.js +59 -21
  136. package/es/lib/hooks/useMutateRefdataCategory.js +60 -19
  137. package/es/lib/hooks/useMutateRefdataValue.js +65 -28
  138. package/es/lib/hooks/useQIndex.js +26 -12
  139. package/es/lib/hooks/useRefdata.js +19 -17
  140. package/es/lib/hooks/useSASQQueryMeta.js +20 -13
  141. package/es/lib/hooks/useTemplates.js +12 -13
  142. package/es/lib/settingsHooks/index.js +3 -3
  143. package/es/lib/settingsHooks/useAppSettings.js +26 -19
  144. package/es/lib/settingsHooks/useSettingSection.js +17 -16
  145. package/es/lib/settingsHooks/useSettings.js +72 -58
  146. package/es/lib/utils/buildUrl.js +8 -10
  147. package/es/lib/utils/generateKiwtQuery.js +3 -3
  148. package/es/lib/utils/generateKiwtQueryParams.js +96 -88
  149. package/es/lib/utils/groupCustomPropertiesByCtx.js +18 -8
  150. package/es/lib/utils/highlightString.js +37 -17
  151. package/es/lib/utils/index.js +17 -17
  152. package/es/lib/utils/matchString.js +8 -4
  153. package/es/lib/utils/modConfigEntriesQueryKey.js +7 -8
  154. package/es/lib/utils/parseErrorResponse.js +63 -22
  155. package/es/lib/utils/parseKiwtQueryGroups.js +10 -10
  156. package/es/lib/utils/parseKiwtQueryGroups.test.js +15 -15
  157. package/es/lib/utils/parseModConfigEntry.js +2 -2
  158. package/es/lib/utils/refdataQueryKey.js +2 -2
  159. package/es/lib/utils/selectorSafe.js +4 -4
  160. package/es/lib/utils/sortByLabel.js +3 -3
  161. package/es/lib/utils/toCamelCase.js +12 -7
  162. package/es/lib/utils/typedownQueryKey.js +2 -2
  163. package/es/lib/validators/index.js +1 -1
  164. package/es/lib/validators/validators.js +29 -22
  165. package/junit.xml +162 -162
  166. package/package.json +8 -26
  167. package/src/artifacts/coverage-jest/lcov-report/ActionList/ActionList.js.html +1 -1
  168. package/src/artifacts/coverage-jest/lcov-report/ActionList/ActionListFieldArray.js.html +7 -4
  169. package/src/artifacts/coverage-jest/lcov-report/ActionList/index.html +1 -1
  170. package/src/artifacts/coverage-jest/lcov-report/ActionList/index.js.html +1 -1
  171. package/src/artifacts/coverage-jest/lcov-report/{hooks/settingsHooks/useSettings.js.html → ComboButton/ComboButton.js.html} +234 -129
  172. package/src/artifacts/coverage-jest/lcov-report/{hooks/settingsHooks → ComboButton}/index.html +31 -61
  173. package/src/artifacts/coverage-jest/lcov-report/{hooks/settingsHooks → ComboButton}/index.js.html +12 -18
  174. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Config/CustomPropertiesLookup.js.html +1 -1
  175. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Config/CustomPropertiesSettings.js.html +1 -1
  176. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Config/CustomPropertyForm.js.html +1 -1
  177. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Config/CustomPropertyView.js.html +1 -1
  178. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Config/index.html +1 -1
  179. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Config/index.js.html +1 -1
  180. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Edit/CustomPropertiesEdit.js.html +1 -1
  181. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Edit/CustomPropertiesEditCtx.js.html +1 -1
  182. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Edit/CustomPropertiesListField.js.html +1 -1
  183. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Edit/CustomPropertyField.js.html +1 -1
  184. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Edit/CustomPropertyFormCard.js.html +1 -1
  185. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Edit/index.html +1 -1
  186. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Edit/index.js.html +1 -1
  187. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Edit/testResources.js.html +1 -1
  188. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/CustomPropertiesFilter.js.html +1 -1
  189. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/CustomPropertiesFilterField.js.html +1 -1
  190. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/CustomPropertiesFilterFieldArray.js.html +1 -1
  191. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/CustomPropertiesFilterForm.js.html +1 -1
  192. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/CustomPropertiesRule.js.html +1 -1
  193. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/index.html +1 -1
  194. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/index.js.html +1 -1
  195. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/testResources.js.html +1 -1
  196. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/useOperators.js.html +1 -1
  197. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/useParseActiveFilterStrings.js.html +1 -1
  198. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/useValueProps.js.html +1 -1
  199. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/View/CustomPropertiesView.js.html +1 -1
  200. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/View/CustomPropertiesViewCtx.js.html +1 -1
  201. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/View/CustomPropertyCard.js.html +1 -1
  202. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/View/index.html +1 -1
  203. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/View/index.js.html +1 -1
  204. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/View/testResources.js.html +1 -1
  205. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/index.html +1 -1
  206. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/index.js.html +1 -1
  207. package/src/artifacts/coverage-jest/lcov-report/CycleButton/CycleButton.js.html +1 -1
  208. package/src/artifacts/coverage-jest/lcov-report/CycleButton/index.html +1 -1
  209. package/src/artifacts/coverage-jest/lcov-report/CycleButton/index.js.html +1 -1
  210. package/src/artifacts/coverage-jest/lcov-report/EditableRefdataCategoryList/EditableRefdataCategoryList.js.html +1 -1
  211. package/src/artifacts/coverage-jest/lcov-report/EditableRefdataCategoryList/index.html +1 -1
  212. package/src/artifacts/coverage-jest/lcov-report/EditableRefdataCategoryList/index.js.html +1 -1
  213. package/src/artifacts/coverage-jest/lcov-report/EditableRefdataList/EditableRefdataList.js.html +1 -1
  214. package/src/artifacts/coverage-jest/lcov-report/EditableRefdataList/index.html +1 -1
  215. package/src/artifacts/coverage-jest/lcov-report/EditableRefdataList/index.js.html +1 -1
  216. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/EditableSettingsList.js.html +1 -1
  217. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/EditableSettingsListFieldArray.js.html +1 -1
  218. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/SettingField/EditSettingValue.js.html +1 -1
  219. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/SettingField/RenderSettingValue.js.html +1 -1
  220. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/SettingField/SettingField.js.html +1 -1
  221. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/SettingField/index.html +1 -1
  222. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/SettingField/index.js.html +1 -1
  223. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/index.html +1 -1
  224. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/index.js.html +1 -1
  225. package/src/artifacts/coverage-jest/lcov-report/FormModal/FormModal.js.html +1 -1
  226. package/src/artifacts/coverage-jest/lcov-report/FormModal/index.html +1 -1
  227. package/src/artifacts/coverage-jest/lcov-report/FormModal/index.js.html +1 -1
  228. package/src/artifacts/coverage-jest/lcov-report/FormattedKintMessage/FormattedKintMessage.js.html +1 -1
  229. package/src/artifacts/coverage-jest/lcov-report/FormattedKintMessage/index.html +1 -1
  230. package/src/artifacts/coverage-jest/lcov-report/FormattedKintMessage/index.js.html +1 -1
  231. package/src/artifacts/coverage-jest/lcov-report/IconSelect/IconSelect.js.html +1 -1
  232. package/src/artifacts/coverage-jest/lcov-report/IconSelect/index.html +1 -1
  233. package/src/artifacts/coverage-jest/lcov-report/IconSelect/index.js.html +1 -1
  234. package/src/artifacts/coverage-jest/lcov-report/NoResultsMessage/NoResultsMessage.js.html +1 -1
  235. package/src/artifacts/coverage-jest/lcov-report/NoResultsMessage/index.html +1 -1
  236. package/src/artifacts/coverage-jest/lcov-report/NoResultsMessage/index.js.html +1 -1
  237. package/src/artifacts/coverage-jest/lcov-report/QueryTypedown/QueryTypedown.js.html +1 -1
  238. package/src/artifacts/coverage-jest/lcov-report/QueryTypedown/index.html +1 -1
  239. package/src/artifacts/coverage-jest/lcov-report/QueryTypedown/index.js.html +1 -1
  240. package/src/artifacts/coverage-jest/lcov-report/RefdataButtons/RefdataButtons.js.html +1 -1
  241. package/src/artifacts/coverage-jest/lcov-report/RefdataButtons/index.html +1 -1
  242. package/src/artifacts/coverage-jest/lcov-report/RefdataButtons/index.js.html +1 -1
  243. package/src/artifacts/coverage-jest/lcov-report/ResponsiveButtonGroup/ResponsiveButtonGroup.js.html +1 -1
  244. package/src/artifacts/coverage-jest/lcov-report/ResponsiveButtonGroup/index.html +1 -1
  245. package/src/artifacts/coverage-jest/lcov-report/ResponsiveButtonGroup/index.js.html +1 -1
  246. package/src/artifacts/coverage-jest/lcov-report/ResponsiveButtonGroup/useResponsiveButtonGroupSizing.js.html +1 -1
  247. package/src/artifacts/coverage-jest/lcov-report/RichSelect/RichSelect.js.html +1 -1
  248. package/src/artifacts/coverage-jest/lcov-report/RichSelect/index.html +1 -1
  249. package/src/artifacts/coverage-jest/lcov-report/RichSelect/index.js.html +1 -1
  250. package/src/artifacts/coverage-jest/lcov-report/RichSelect/useSelectedOption.js.html +1 -1
  251. package/src/artifacts/coverage-jest/lcov-report/SASQLookupComponent/SASQLookupComponent.js.html +1 -1
  252. package/src/artifacts/coverage-jest/lcov-report/SASQLookupComponent/TableBody/TableBody.js.html +1 -1
  253. package/src/artifacts/coverage-jest/lcov-report/SASQLookupComponent/TableBody/index.html +1 -1
  254. package/src/artifacts/coverage-jest/lcov-report/SASQLookupComponent/TableBody/index.js.html +1 -1
  255. package/src/artifacts/coverage-jest/lcov-report/SASQLookupComponent/index.html +1 -1
  256. package/src/artifacts/coverage-jest/lcov-report/SASQLookupComponent/index.js.html +1 -1
  257. package/src/artifacts/coverage-jest/lcov-report/SASQRoute/SASQRoute.js.html +1 -1
  258. package/src/artifacts/coverage-jest/lcov-report/SASQRoute/index.html +1 -1
  259. package/src/artifacts/coverage-jest/lcov-report/SASQRoute/index.js.html +1 -1
  260. package/src/artifacts/coverage-jest/lcov-report/SASQViewComponent/SASQViewComponent.js.html +1 -1
  261. package/src/artifacts/coverage-jest/lcov-report/SASQViewComponent/index.html +1 -1
  262. package/src/artifacts/coverage-jest/lcov-report/SASQViewComponent/index.js.html +1 -1
  263. package/src/artifacts/coverage-jest/lcov-report/SearchField/SearchField.js.html +1 -1
  264. package/src/artifacts/coverage-jest/lcov-report/SearchField/index.html +1 -1
  265. package/src/artifacts/coverage-jest/lcov-report/SearchField/index.js.html +1 -1
  266. package/src/artifacts/coverage-jest/lcov-report/SettingPage/SettingPage.js.html +1 -1
  267. package/src/artifacts/coverage-jest/lcov-report/SettingPage/SettingPagePane.js.html +1 -1
  268. package/src/artifacts/coverage-jest/lcov-report/SettingPage/index.html +1 -1
  269. package/src/artifacts/coverage-jest/lcov-report/SettingPage/index.js.html +1 -1
  270. package/src/artifacts/coverage-jest/lcov-report/SettingsFormContainer/SettingsFormContainer.js.html +82 -10
  271. package/src/artifacts/coverage-jest/lcov-report/SettingsFormContainer/index.html +15 -15
  272. package/src/artifacts/coverage-jest/lcov-report/SettingsFormContainer/index.js.html +1 -1
  273. package/src/artifacts/coverage-jest/lcov-report/Typedown/Typedown.js.html +1 -1
  274. package/src/artifacts/coverage-jest/lcov-report/Typedown/index.html +1 -1
  275. package/src/artifacts/coverage-jest/lcov-report/Typedown/index.js.html +1 -1
  276. package/src/artifacts/coverage-jest/lcov-report/constants/customProperties.js.html +1 -1
  277. package/src/artifacts/coverage-jest/lcov-report/constants/endpoints.js.html +1 -1
  278. package/src/artifacts/coverage-jest/lcov-report/constants/eventCodes.js.html +1 -1
  279. package/src/artifacts/coverage-jest/lcov-report/constants/index.html +1 -1
  280. package/src/artifacts/coverage-jest/lcov-report/contexts/SettingsContext.js.html +1 -1
  281. package/src/artifacts/coverage-jest/lcov-report/contexts/index.html +1 -1
  282. package/src/artifacts/coverage-jest/lcov-report/contexts/index.js.html +1 -1
  283. package/src/artifacts/coverage-jest/lcov-report/hooks/index.html +1 -1
  284. package/src/artifacts/coverage-jest/lcov-report/hooks/index.js.html +1 -1
  285. package/src/artifacts/coverage-jest/lcov-report/hooks/typedownHooks/index.html +1 -1
  286. package/src/artifacts/coverage-jest/lcov-report/hooks/typedownHooks/index.js.html +1 -1
  287. package/src/artifacts/coverage-jest/lcov-report/hooks/typedownHooks/useTypedown.js.html +1 -1
  288. package/src/artifacts/coverage-jest/lcov-report/hooks/typedownHooks/useTypedownData.js.html +1 -1
  289. package/src/artifacts/coverage-jest/lcov-report/hooks/typedownHooks/useTypedownToggle.js.html +1 -1
  290. package/src/artifacts/coverage-jest/lcov-report/hooks/useActiveElement.js.html +1 -1
  291. package/src/artifacts/coverage-jest/lcov-report/hooks/useCustomProperties.js.html +1 -1
  292. package/src/artifacts/coverage-jest/lcov-report/hooks/useHelperApp.js.html +1 -1
  293. package/src/artifacts/coverage-jest/lcov-report/hooks/useIntlKey.js.html +1 -1
  294. package/src/artifacts/coverage-jest/lcov-report/hooks/useIntlKeyStore.js.html +1 -1
  295. package/src/artifacts/coverage-jest/lcov-report/hooks/useInvalidateRefdata.js.html +1 -1
  296. package/src/artifacts/coverage-jest/lcov-report/hooks/useKintIntl.js.html +1 -1
  297. package/src/artifacts/coverage-jest/lcov-report/hooks/useKiwtFieldArray.js.html +1 -1
  298. package/src/artifacts/coverage-jest/lcov-report/hooks/useKiwtSASQuery.js.html +1 -1
  299. package/src/artifacts/coverage-jest/lcov-report/hooks/useLocalStorageState.js.html +1 -1
  300. package/src/artifacts/coverage-jest/lcov-report/hooks/useModConfigEntries.js.html +1 -1
  301. package/src/artifacts/coverage-jest/lcov-report/hooks/useMutateCustomProperties.js.html +1 -1
  302. package/src/artifacts/coverage-jest/lcov-report/hooks/useMutateModConfigEntry.js.html +1 -1
  303. package/src/artifacts/coverage-jest/lcov-report/hooks/useMutateRefdataCategory.js.html +1 -1
  304. package/src/artifacts/coverage-jest/lcov-report/hooks/useMutateRefdataValue.js.html +1 -1
  305. package/src/artifacts/coverage-jest/lcov-report/hooks/useQIndex.js.html +1 -1
  306. package/src/artifacts/coverage-jest/lcov-report/hooks/useRefdata.js.html +1 -1
  307. package/src/artifacts/coverage-jest/lcov-report/hooks/useSASQQueryMeta.js.html +1 -1
  308. package/src/artifacts/coverage-jest/lcov-report/hooks/useTemplates.js.html +1 -1
  309. package/src/artifacts/coverage-jest/lcov-report/index.html +32 -17
  310. package/src/artifacts/coverage-jest/lcov-report/settingsHooks/index.html +1 -1
  311. package/src/artifacts/coverage-jest/lcov-report/settingsHooks/index.js.html +1 -1
  312. package/src/artifacts/coverage-jest/lcov-report/settingsHooks/useAppSettings.js.html +1 -1
  313. package/src/artifacts/coverage-jest/lcov-report/settingsHooks/useSettingSection.js.html +1 -1
  314. package/src/artifacts/coverage-jest/lcov-report/settingsHooks/useSettings.js.html +1 -1
  315. package/src/artifacts/coverage-jest/lcov-report/utils/buildUrl.js.html +1 -1
  316. package/src/artifacts/coverage-jest/lcov-report/utils/generateKiwtQuery.js.html +1 -1
  317. package/src/artifacts/coverage-jest/lcov-report/utils/generateKiwtQueryParams.js.html +1 -1
  318. package/src/artifacts/coverage-jest/lcov-report/utils/groupCustomPropertiesByCtx.js.html +1 -1
  319. package/src/artifacts/coverage-jest/lcov-report/utils/highlightString.js.html +1 -1
  320. package/src/artifacts/coverage-jest/lcov-report/utils/index.html +1 -1
  321. package/src/artifacts/coverage-jest/lcov-report/utils/index.js.html +1 -1
  322. package/src/artifacts/coverage-jest/lcov-report/utils/matchString.js.html +1 -1
  323. package/src/artifacts/coverage-jest/lcov-report/utils/modConfigEntriesQueryKey.js.html +1 -1
  324. package/src/artifacts/coverage-jest/lcov-report/utils/parseErrorResponse.js.html +1 -1
  325. package/src/artifacts/coverage-jest/lcov-report/utils/parseKiwtQueryGroups.js.html +1 -1
  326. package/src/artifacts/coverage-jest/lcov-report/utils/parseModConfigEntry.js.html +1 -1
  327. package/src/artifacts/coverage-jest/lcov-report/utils/refdataOptions.js.html +1 -1
  328. package/src/artifacts/coverage-jest/lcov-report/utils/refdataQueryKey.js.html +1 -1
  329. package/src/artifacts/coverage-jest/lcov-report/utils/selectorSafe.js.html +1 -1
  330. package/src/artifacts/coverage-jest/lcov-report/utils/sortByLabel.js.html +1 -1
  331. package/src/artifacts/coverage-jest/lcov-report/utils/toCamelCase.js.html +1 -1
  332. package/src/artifacts/coverage-jest/lcov-report/utils/typedownQueryKey.js.html +1 -1
  333. package/src/artifacts/coverage-jest/lcov-report/validators/index.html +1 -1
  334. package/src/artifacts/coverage-jest/lcov-report/validators/index.js.html +1 -1
  335. package/src/artifacts/coverage-jest/lcov-report/validators/validators.js.html +1 -1
  336. package/src/artifacts/coverage-jest/lcov.info +119 -44
  337. package/src/index.js +0 -2
  338. package/src/lib/CustomProperties/Config/CustomPropertiesSettings.test.js +1 -1
  339. package/src/lib/CustomProperties/Config/CustomPropertyForm.test.js +1 -2
  340. package/src/lib/CustomProperties/Config/CustomPropertyView.test.js +1 -1
  341. package/src/lib/CustomProperties/Edit/CustomPropertiesEdit.test.js +1 -1
  342. package/src/lib/CustomProperties/Edit/CustomPropertiesEditCtx.test.js +1 -1
  343. package/src/lib/CustomProperties/Edit/CustomPropertiesListField.test.js +2 -3
  344. package/src/lib/CustomProperties/Edit/CustomPropertyField.test.js +7 -2
  345. package/src/lib/CustomProperties/Filter/CustomPropertiesFilter.test.js +1 -1
  346. package/src/lib/CustomProperties/Filter/CustomPropertiesFilterFieldArray.test.js +2 -2
  347. package/src/lib/CustomProperties/Filter/CustomPropertiesFilterForm.test.js +1 -1
  348. package/src/lib/CustomProperties/Filter/CustomPropertiesRule.test.js +1 -2
  349. package/src/lib/CustomProperties/View/CustomPropertiesView.test.js +1 -1
  350. package/src/lib/CustomProperties/View/CustomPropertiesViewCtx.test.js +1 -1
  351. package/src/lib/EditableSettingsList/SettingField/SettingField.test.js +4 -5
  352. package/test/jest/helpers/renderWithKintHarness.js +1 -1
  353. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Config/testResources.js.html +0 -793
  354. package/src/artifacts/coverage-jest/lcov-report/hooks/settingsHooks/useAppSettings.js.html +0 -292
  355. package/src/artifacts/coverage-jest/lcov-report/hooks/settingsHooks/useSettingSection.js.html +0 -214
  356. package/src/artifacts/coverage-jest/lcov-report/hooks/useAvailableCustomProperties.js.html +0 -205
  357. package/src/artifacts/coverage-jest/lcov-report/utils/renderHelpText.js.html +0 -166
  358. package/src/artifacts/coverage-jest/lcov-report/utils/validators.js.html +0 -370
@@ -3,15 +3,15 @@
3
3
  <html lang="en">
4
4
 
5
5
  <head>
6
- <title>Code coverage report for hooks/settingsHooks/useSettings.js</title>
6
+ <title>Code coverage report for ComboButton/ComboButton.js</title>
7
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" />
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
11
  <meta name="viewport" content="width=device-width, initial-scale=1" />
12
12
  <style type='text/css'>
13
13
  .coverage-summary .sorter {
14
- background-image: url(../../sort-arrow-sprite.png);
14
+ background-image: url(../sort-arrow-sprite.png);
15
15
  }
16
16
  </style>
17
17
  </head>
@@ -19,20 +19,20 @@
19
19
  <body>
20
20
  <div class='wrapper'>
21
21
  <div class='pad1'>
22
- <h1><a href="../../index.html">All files</a> / <a href="index.html">hooks/settingsHooks</a> useSettings.js</h1>
22
+ <h1><a href="../index.html">All files</a> / <a href="index.html">ComboButton</a> ComboButton.js</h1>
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">0% </span>
26
+ <span class="strong">9.52% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>0/22</span>
28
+ <span class='fraction'>2/21</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
33
  <span class="strong">0% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>0/2</span>
35
+ <span class='fraction'>0/13</span>
36
36
  </div>
37
37
 
38
38
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">0% </span>
47
+ <span class="strong">10% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>0/21</span>
49
+ <span class='fraction'>2/20</span>
50
50
  </div>
51
51
 
52
52
 
@@ -189,7 +189,42 @@
189
189
  <a name='L124'></a><a href='#L124'>124</a>
190
190
  <a name='L125'></a><a href='#L125'>125</a>
191
191
  <a name='L126'></a><a href='#L126'>126</a>
192
- <a name='L127'></a><a href='#L127'>127</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
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>
195
+ <a name='L130'></a><a href='#L130'>130</a>
196
+ <a name='L131'></a><a href='#L131'>131</a>
197
+ <a name='L132'></a><a href='#L132'>132</a>
198
+ <a name='L133'></a><a href='#L133'>133</a>
199
+ <a name='L134'></a><a href='#L134'>134</a>
200
+ <a name='L135'></a><a href='#L135'>135</a>
201
+ <a name='L136'></a><a href='#L136'>136</a>
202
+ <a name='L137'></a><a href='#L137'>137</a>
203
+ <a name='L138'></a><a href='#L138'>138</a>
204
+ <a name='L139'></a><a href='#L139'>139</a>
205
+ <a name='L140'></a><a href='#L140'>140</a>
206
+ <a name='L141'></a><a href='#L141'>141</a>
207
+ <a name='L142'></a><a href='#L142'>142</a>
208
+ <a name='L143'></a><a href='#L143'>143</a>
209
+ <a name='L144'></a><a href='#L144'>144</a>
210
+ <a name='L145'></a><a href='#L145'>145</a>
211
+ <a name='L146'></a><a href='#L146'>146</a>
212
+ <a name='L147'></a><a href='#L147'>147</a>
213
+ <a name='L148'></a><a href='#L148'>148</a>
214
+ <a name='L149'></a><a href='#L149'>149</a>
215
+ <a name='L150'></a><a href='#L150'>150</a>
216
+ <a name='L151'></a><a href='#L151'>151</a>
217
+ <a name='L152'></a><a href='#L152'>152</a>
218
+ <a name='L153'></a><a href='#L153'>153</a>
219
+ <a name='L154'></a><a href='#L154'>154</a>
220
+ <a name='L155'></a><a href='#L155'>155</a>
221
+ <a name='L156'></a><a href='#L156'>156</a>
222
+ <a name='L157'></a><a href='#L157'>157</a>
223
+ <a name='L158'></a><a href='#L158'>158</a>
224
+ <a name='L159'></a><a href='#L159'>159</a>
225
+ <a name='L160'></a><a href='#L160'>160</a>
226
+ <a name='L161'></a><a href='#L161'>161</a>
227
+ <a name='L162'></a><a href='#L162'>162</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
193
228
  <span class="cline-any cline-neutral">&nbsp;</span>
194
229
  <span class="cline-any cline-neutral">&nbsp;</span>
195
230
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -204,7 +239,6 @@
204
239
  <span class="cline-any cline-neutral">&nbsp;</span>
205
240
  <span class="cline-any cline-neutral">&nbsp;</span>
206
241
  <span class="cline-any cline-neutral">&nbsp;</span>
207
- <span class="cline-any cline-no">&nbsp;</span>
208
242
  <span class="cline-any cline-neutral">&nbsp;</span>
209
243
  <span class="cline-any cline-neutral">&nbsp;</span>
210
244
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -212,28 +246,34 @@
212
246
  <span class="cline-any cline-neutral">&nbsp;</span>
213
247
  <span class="cline-any cline-neutral">&nbsp;</span>
214
248
  <span class="cline-any cline-neutral">&nbsp;</span>
249
+ <span class="cline-any cline-yes">20x</span>
215
250
  <span class="cline-any cline-neutral">&nbsp;</span>
216
251
  <span class="cline-any cline-neutral">&nbsp;</span>
217
- <span class="cline-any cline-no">&nbsp;</span>
218
- <span class="cline-any cline-no">&nbsp;</span>
219
252
  <span class="cline-any cline-neutral">&nbsp;</span>
220
- <span class="cline-any cline-no">&nbsp;</span>
221
- <span class="cline-any cline-no">&nbsp;</span>
222
253
  <span class="cline-any cline-neutral">&nbsp;</span>
223
254
  <span class="cline-any cline-neutral">&nbsp;</span>
224
255
  <span class="cline-any cline-neutral">&nbsp;</span>
225
256
  <span class="cline-any cline-neutral">&nbsp;</span>
226
257
  <span class="cline-any cline-neutral">&nbsp;</span>
227
258
  <span class="cline-any cline-neutral">&nbsp;</span>
259
+ <span class="cline-any cline-no">&nbsp;</span>
260
+ <span class="cline-any cline-no">&nbsp;</span>
228
261
  <span class="cline-any cline-neutral">&nbsp;</span>
229
262
  <span class="cline-any cline-neutral">&nbsp;</span>
230
263
  <span class="cline-any cline-no">&nbsp;</span>
264
+ <span class="cline-any cline-no">&nbsp;</span>
231
265
  <span class="cline-any cline-neutral">&nbsp;</span>
232
266
  <span class="cline-any cline-no">&nbsp;</span>
233
267
  <span class="cline-any cline-neutral">&nbsp;</span>
234
268
  <span class="cline-any cline-neutral">&nbsp;</span>
269
+ <span class="cline-any cline-neutral">&nbsp;</span>
270
+ <span class="cline-any cline-neutral">&nbsp;</span>
235
271
  <span class="cline-any cline-no">&nbsp;</span>
236
272
  <span class="cline-any cline-no">&nbsp;</span>
273
+ <span class="cline-any cline-neutral">&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>
237
277
  <span class="cline-any cline-no">&nbsp;</span>
238
278
  <span class="cline-any cline-neutral">&nbsp;</span>
239
279
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -260,14 +300,34 @@
260
300
  <span class="cline-any cline-neutral">&nbsp;</span>
261
301
  <span class="cline-any cline-neutral">&nbsp;</span>
262
302
  <span class="cline-any cline-neutral">&nbsp;</span>
303
+ <span class="cline-any cline-neutral">&nbsp;</span>
304
+ <span class="cline-any cline-neutral">&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-neutral">&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>
263
313
  <span class="cline-any cline-no">&nbsp;</span>
314
+ <span class="cline-any cline-no">&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>
264
319
  <span class="cline-any cline-neutral">&nbsp;</span>
265
320
  <span class="cline-any cline-no">&nbsp;</span>
321
+ <span class="cline-any cline-neutral">&nbsp;</span>
322
+ <span class="cline-any cline-neutral">&nbsp;</span>
266
323
  <span class="cline-any cline-no">&nbsp;</span>
267
324
  <span class="cline-any cline-no">&nbsp;</span>
268
325
  <span class="cline-any cline-neutral">&nbsp;</span>
269
326
  <span class="cline-any cline-neutral">&nbsp;</span>
270
327
  <span class="cline-any cline-neutral">&nbsp;</span>
328
+ <span class="cline-any cline-no">&nbsp;</span>
329
+ <span class="cline-any cline-neutral">&nbsp;</span>
330
+ <span class="cline-any cline-neutral">&nbsp;</span>
271
331
  <span class="cline-any cline-neutral">&nbsp;</span>
272
332
  <span class="cline-any cline-neutral">&nbsp;</span>
273
333
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -279,14 +339,16 @@
279
339
  <span class="cline-any cline-neutral">&nbsp;</span>
280
340
  <span class="cline-any cline-neutral">&nbsp;</span>
281
341
  <span class="cline-any cline-no">&nbsp;</span>
342
+ <span class="cline-any cline-no">&nbsp;</span>
343
+ <span class="cline-any cline-neutral">&nbsp;</span>
344
+ <span class="cline-any cline-neutral">&nbsp;</span>
345
+ <span class="cline-any cline-neutral">&nbsp;</span>
282
346
  <span class="cline-any cline-neutral">&nbsp;</span>
283
347
  <span class="cline-any cline-neutral">&nbsp;</span>
284
348
  <span class="cline-any cline-neutral">&nbsp;</span>
285
349
  <span class="cline-any cline-neutral">&nbsp;</span>
286
350
  <span class="cline-any cline-neutral">&nbsp;</span>
287
351
  <span class="cline-any cline-neutral">&nbsp;</span>
288
- <span class="cline-any cline-no">&nbsp;</span>
289
- <span class="cline-any cline-no">&nbsp;</span>
290
352
  <span class="cline-any cline-neutral">&nbsp;</span>
291
353
  <span class="cline-any cline-neutral">&nbsp;</span>
292
354
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -298,7 +360,6 @@
298
360
  <span class="cline-any cline-neutral">&nbsp;</span>
299
361
  <span class="cline-any cline-neutral">&nbsp;</span>
300
362
  <span class="cline-any cline-neutral">&nbsp;</span>
301
- <span class="cline-any cline-no">&nbsp;</span>
302
363
  <span class="cline-any cline-no">&nbsp;</span>
303
364
  <span class="cline-any cline-neutral">&nbsp;</span>
304
365
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -306,7 +367,14 @@
306
367
  <span class="cline-any cline-neutral">&nbsp;</span>
307
368
  <span class="cline-any cline-neutral">&nbsp;</span>
308
369
  <span class="cline-any cline-neutral">&nbsp;</span>
309
- <span class="cline-any cline-no">&nbsp;</span>
370
+ <span class="cline-any cline-neutral">&nbsp;</span>
371
+ <span class="cline-any cline-neutral">&nbsp;</span>
372
+ <span class="cline-any cline-neutral">&nbsp;</span>
373
+ <span class="cline-any cline-yes">20x</span>
374
+ <span class="cline-any cline-neutral">&nbsp;</span>
375
+ <span class="cline-any cline-neutral">&nbsp;</span>
376
+ <span class="cline-any cline-neutral">&nbsp;</span>
377
+ <span class="cline-any cline-neutral">&nbsp;</span>
310
378
  <span class="cline-any cline-neutral">&nbsp;</span>
311
379
  <span class="cline-any cline-neutral">&nbsp;</span>
312
380
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -315,132 +383,169 @@
315
383
  <span class="cline-any cline-neutral">&nbsp;</span>
316
384
  <span class="cline-any cline-neutral">&nbsp;</span>
317
385
  <span class="cline-any cline-neutral">&nbsp;</span>
318
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import React from 'react';
386
+ <span class="cline-any cline-neutral">&nbsp;</span>
387
+ <span class="cline-any cline-neutral">&nbsp;</span>
388
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { cloneElement, useCallback, useMemo, useState } from 'react';
319
389
  import PropTypes from 'prop-types';
320
390
  &nbsp;
321
- import { useQuery } from 'react-query';
322
- import { useOkapiKy } from '@folio/stripes/core';
391
+ import classnames from 'classnames';
323
392
  &nbsp;
324
- import { Settings } from '@folio/stripes/smart-components';
393
+ import {
394
+ Button,
395
+ Dropdown,
396
+ DropdownMenu,
397
+ Icon,
398
+ Popover
399
+ } from '@folio/stripes/components';
325
400
  &nbsp;
326
- import { SettingPage, SettingPagePane } from '../../SettingPage';
327
- import { SettingsContext } from '../../contexts';
401
+ // FIXME we should probably store the shared styles in a more aptly named file
402
+ import css from '../../../styles/ResponsiveButtonGroup.css';
328
403
  &nbsp;
329
- import { generateKiwtQueryParams, sortByLabel, toCamelCase } from '../../utils';
330
- import useKintIntl from '../useKintIntl';
331
- import useIntlKey from '../useIntlKey';
404
+ /*
405
+ * ComboButton component, can either act as Primary/Bonus buttons in a dropdown
406
+ * OR it can act as a popover rendered besides a button.
407
+ * If neither are provided it will act as an ordinary button
408
+ */
332
409
  &nbsp;
333
- const useSettings = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >({</span></span>
334
- dynamicPageExclusions,
335
- intlKey: passedIntlKey,
336
- intlNS: passedIntlNS,
337
- labelOverrides = <span class="branch-0 cbranch-no" title="branch not covered" >{},</span>
338
- persistentPages,
339
- refdataEndpoint,
340
- settingEndpoint,
341
- templateEndpoint
410
+ const ComboButton = <span class="fstat-no" title="function not covered" >({</span>
411
+ children,
412
+ dropdownButtons = <span class="branch-0 cbranch-no" title="branch not covered" >[],</span> // These MUST be buttons
413
+ dropdownProps = <span class="branch-0 cbranch-no" title="branch not covered" >{},</span>
414
+ dropdownRender,
415
+ marginBottom0, // Will ONLY control the margin of the dropdown/main button
416
+ popoverProps = <span class="branch-0 cbranch-no" title="branch not covered" >{},</span>
417
+ triggerProps,
418
+ ...buttonProps
342
419
  }) =&gt; {
343
- const ky = <span class="cstat-no" title="statement not covered" >useOkapiKy();</span>
344
- const kintIntl = <span class="cstat-no" title="statement not covered" >useKintIntl(passedIntlKey, passedIntlNS);</span>
420
+ const [open, setOpen] = <span class="cstat-no" title="statement not covered" >useState(false);</span>
421
+ const onToggle = <span class="cstat-no" title="statement not covered" >useCallback(<span class="fstat-no" title="function not covered" >()</span> =&gt; <span class="cstat-no" title="statement not covered" >setOpen(!open),</span> [open, setOpen]);</span>
345
422
  &nbsp;
346
- const queryParams = <span class="cstat-no" title="statement not covered" >generateKiwtQueryParams({</span>
347
- filters: dynamicPageExclusions?.map(<span class="fstat-no" title="function not covered" >dp</span>e =&gt; (<span class="cstat-no" title="statement not covered" >{</span>
348
- path: 'section',
349
- comparator: '!=',
350
- value: dpe
351
- })),
352
- perPage: 100,
353
- stats: false
354
- }, {});
423
+ // FIXME a lot of this is shared with ResponsiveButtonGroup
424
+ const styledDropdownButtons = <span class="cstat-no" title="statement not covered" >useMemo(<span class="fstat-no" title="function not covered" >()</span> =&gt; (</span>
425
+ <span class="cstat-no" title="statement not covered" > dropdownButtons</span>
426
+ ?.map(<span class="fstat-no" title="function not covered" >bu</span>tton =&gt; {
427
+ <span class="cstat-no" title="statement not covered" > return cloneElement(button, { buttonStyle: 'dropdownItem' });</span>
428
+ })
429
+ ), [dropdownButtons]);
355
430
  &nbsp;
356
- const { data: appSettings = <span class="branch-0 cbranch-no" title="branch not covered" >[],</span> isLoading } = <span class="cstat-no" title="statement not covered" >useQuery(</span>
357
- ['stripes-kint-components', 'useSettings', 'appSettings', settingEndpoint, queryParams],
358
- <span class="fstat-no" title="function not covered" > ()</span> =&gt; <span class="cstat-no" title="statement not covered" >ky(`${settingEndpoint}?${queryParams?.join('&amp;')}`).json()</span>
359
- );
431
+ // eslint-disable-next-line react/prop-types
432
+ const renderActionMenuContent = <span class="cstat-no" title="statement not covered" >useCallback(<span class="fstat-no" title="function not covered" >()</span> =&gt; (</span>
433
+ <span class="cstat-no" title="statement not covered" > &lt;DropdownMenu&gt;</span>
434
+ {[...styledDropdownButtons]}
435
+ &lt;/DropdownMenu&gt;
436
+ ), [styledDropdownButtons]);
360
437
  &nbsp;
361
- const sections = <span class="cstat-no" title="statement not covered" >[...new Set(appSettings.map(<span class="fstat-no" title="function not covered" >s </span>=&gt; <span class="cstat-no" title="statement not covered" >s.section)</span>)];</span>
362
- const dynamic = <span class="cstat-no" title="statement not covered" >sections.map(<span class="fstat-no" title="function not covered" >se</span>ction =&gt; {</span>
363
- <span class="cstat-no" title="statement not covered" > return (</span>
364
- {
365
- route: section,
366
- label: kintIntl.formatKintMessage({
367
- id: `settings.settingsSection.${toCamelCase(section)}`,
368
- fallbackMessage: section
369
- }),
370
- component: <span class="fstat-no" title="function not covered" >(p</span>rops) =&gt; (
371
- <span class="cstat-no" title="statement not covered" > &lt;SettingPagePane</span>
372
- intlKey={passedIntlKey}
373
- intlNS={passedIntlNS}
374
- sectionName={section}
375
- &gt;
376
- &lt;SettingPage
377
- intlKey={passedIntlKey}
378
- intlNS={passedIntlNS}
379
- labelOverrides={labelOverrides}
380
- sectionName={section}
381
- {...props}
382
- /&gt;
383
- &lt;/SettingPagePane&gt;
438
+ const renderTrigger = <span class="cstat-no" title="statement not covered" >useCallback(<span class="fstat-no" title="function not covered" >({</span></span>
439
+ onToggle: toggleFunc,
440
+ triggerRef,
441
+ keyHandler,
442
+ open: openState,
443
+ ariaProps,
444
+ getTriggerProps
445
+ }) =&gt; (
446
+ <span class="cstat-no" title="statement not covered" > &lt;Button</span>
447
+ ref={triggerRef}
448
+ aria-label="menu"
449
+ buttonClass={
450
+ classnames(
451
+ css.width100,
452
+ css.dropdownButtonClass,
453
+ { [`${css.marginBottom}`]: !marginBottom0 },
454
+ { [`${css.marginBottom0}`]: marginBottom0 }
384
455
  )
385
456
  }
386
- );
387
- });
457
+ buttonStyle={buttonProps?.buttonStyle ?? 'default'}
458
+ onClick={toggleFunc}
459
+ onKeyDown={keyHandler}
460
+ type="button"
461
+ {...getTriggerProps()}
462
+ {...ariaProps}
463
+ {...triggerProps}
464
+ &gt;
465
+ &lt;Icon icon={openState ? 'triangle-up' : 'triangle-down'} iconPosition="end" /&gt;
466
+ &lt;/Button&gt;
467
+ ), [
468
+ buttonProps?.buttonStyle,
469
+ triggerProps,
470
+ marginBottom0
471
+ ]);
388
472
  &nbsp;
389
- const pageList = <span class="cstat-no" title="statement not covered" >persistentPages.concat(dynamic).sort(sortByLabel);</span>
390
- &nbsp;
391
- const intlKey = <span class="cstat-no" title="statement not covered" >useIntlKey(passedIntlKey, passedIntlNS);</span>
392
- const SettingsContextProvider = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >({</span> children }) =&gt; {</span>
393
- <span class="cstat-no" title="statement not covered" > return (</span>
394
- &lt;SettingsContext.Provider
395
- value={{
396
- intlKey, // This is only here for backwards compatibility... is now grabbed from useIntlKey instead of what's passed in directly
397
- refdataEndpoint,
398
- settingEndpoint,
399
- templateEndpoint
400
- }}
473
+ let comboTrigger;
474
+ <span class="cstat-no" title="statement not covered" > if (dropdownButtons.length &gt; 0) {</span>
475
+ <span class="cstat-no" title="statement not covered" > comboTrigger = &lt;Dropdown</span>
476
+ key="combobutton-dropdown-toggle"
477
+ className={css.dropdownClass}
478
+ onToggle={onToggle}
479
+ open={open}
480
+ renderMenu={renderActionMenuContent}
481
+ renderTrigger={<span class="fstat-no" title="function not covered" >(r</span>enderTriggerProps) =&gt; <span class="cstat-no" title="statement not covered" >renderTrigger(renderTriggerProps)}</span>
482
+ {...dropdownProps}
483
+ /&gt;;
484
+ } else <span class="cstat-no" title="statement not covered" >if (dropdownRender) {</span>
485
+ <span class="cstat-no" title="statement not covered" > comboTrigger = (</span>
486
+ &lt;Popover
487
+ onToggle={onToggle}
488
+ open={open}
489
+ renderTrigger={<span class="fstat-no" title="function not covered" >({</span> open: openState, ref, toggle }) =&gt; <span class="cstat-no" title="statement not covered" >renderTrigger({</span>
490
+ getTriggerProps: <span class="fstat-no" title="function not covered" >()</span> =&gt; {},
491
+ onToggle: toggle,
492
+ open: openState,
493
+ triggerRef: ref
494
+ })}
495
+ {...popoverProps}
401
496
  &gt;
402
- {children}
403
- &lt;/SettingsContext.Provider&gt;
497
+ {dropdownRender}
498
+ &lt;/Popover&gt;
404
499
  );
405
- };
406
- &nbsp;
407
- <span class="cstat-no" title="statement not covered" > SettingsContextProvider.propTypes = {</span>
408
- children: PropTypes.oneOfType([
409
- PropTypes.func,
410
- PropTypes.node
411
- ])
412
- };
500
+ }
413
501
  &nbsp;
414
- const SettingsComponent = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >(p</span>rops) =&gt; {</span>
502
+ <span class="cstat-no" title="statement not covered" > if (comboTrigger) {</span>
415
503
  <span class="cstat-no" title="statement not covered" > return (</span>
416
- &lt;Settings
417
- pages={pageList}
418
- paneTitle={
419
- kintIntl.formatKintMessage({
420
- id: 'meta.title'
421
- })}
422
- {...props}
423
- /&gt;
504
+ &lt;div
505
+ className={
506
+ classnames(
507
+ css.buttonGroup,
508
+ )
509
+ }
510
+ &gt;
511
+ &lt;Button
512
+ marginBottom0={marginBottom0}
513
+ {...buttonProps}
514
+ &gt;
515
+ {children}
516
+ &lt;/Button&gt;
517
+ {comboTrigger}
518
+ &lt;/div&gt;
424
519
  );
425
- };
520
+ }
426
521
  &nbsp;
427
- const SettingsComponentWithContext = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >(p</span>rops) =&gt; {</span>
428
- <span class="cstat-no" title="statement not covered" > return (</span>
429
- &lt;SettingsContextProvider&gt;
430
- &lt;SettingsComponent {...props} /&gt;
431
- &lt;/SettingsContextProvider&gt;
432
- );
433
- };
434
522
  &nbsp;
435
- <span class="cstat-no" title="statement not covered" > return {</span>
436
- isLoading,
437
- pageList,
438
- SettingsComponent: SettingsComponentWithContext,
439
- SettingsContextProvider
440
- };
523
+ // Fallback, acts as a normal button
524
+ <span class="cstat-no" title="statement not covered" > return (</span>
525
+ &lt;Button
526
+ marginBottom0={marginBottom0}
527
+ {...buttonProps}
528
+ &gt;
529
+ {children}
530
+ &lt;/Button&gt;
531
+ );
532
+ };
533
+ &nbsp;
534
+ ComboButton.propTypes = {
535
+ children: PropTypes.node,
536
+ dropdownButtons: PropTypes.arrayOf(PropTypes.node),
537
+ dropdownProps: PropTypes.object,
538
+ dropdownRender: PropTypes.oneOfType([
539
+ PropTypes.func,
540
+ PropTypes.node
541
+ ]),
542
+ id: PropTypes.string,
543
+ marginBottom0: PropTypes.bool,
544
+ popoverProps: PropTypes.object,
545
+ triggerProps: PropTypes.object,
441
546
  };
442
547
  &nbsp;
443
- export default useSettings;
548
+ export default ComboButton;
444
549
  &nbsp;</pre></td></tr></table></pre>
445
550
 
446
551
  <div class='push'></div><!-- for sticky footer -->
@@ -448,16 +553,16 @@ export default useSettings;
448
553
  <div class='footer quiet pad2 space-top1 center small'>
449
554
  Code coverage generated by
450
555
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
451
- at 2023-01-18T10:53:27.335Z
556
+ at 2023-08-04T09:55:19.966Z
452
557
  </div>
453
- <script src="../../prettify.js"></script>
558
+ <script src="../prettify.js"></script>
454
559
  <script>
455
560
  window.onload = function () {
456
561
  prettyPrint();
457
562
  };
458
563
  </script>
459
- <script src="../../sorter.js"></script>
460
- <script src="../../block-navigation.js"></script>
564
+ <script src="../sorter.js"></script>
565
+ <script src="../block-navigation.js"></script>
461
566
  </body>
462
567
  </html>
463
568