@k-int/stripes-kint-components 1.2.5 → 1.6.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 (430) hide show
  1. package/CHANGELOG.md +32 -11
  2. package/artifacts/coverage-jest/lcov-report/base.css +224 -0
  3. package/artifacts/coverage-jest/lcov-report/block-navigation.js +87 -0
  4. package/artifacts/coverage-jest/lcov-report/es/lib/ActionList/ActionList.js.html +389 -0
  5. package/artifacts/coverage-jest/lcov-report/es/lib/ActionList/ActionListFieldArray.js.html +1076 -0
  6. package/artifacts/coverage-jest/lcov-report/es/lib/ActionList/index.html +147 -0
  7. package/artifacts/coverage-jest/lcov-report/es/lib/ActionList/index.js.html +140 -0
  8. package/artifacts/coverage-jest/lcov-report/es/lib/EditableRefdataList/EditableRefdataList.js.html +680 -0
  9. package/artifacts/coverage-jest/lcov-report/es/lib/EditableRefdataList/index.html +132 -0
  10. package/artifacts/coverage-jest/lcov-report/es/lib/EditableRefdataList/index.js.html +140 -0
  11. package/artifacts/coverage-jest/lcov-report/es/lib/EditableSettingsList/EditableSettingsList.js.html +353 -0
  12. package/artifacts/coverage-jest/lcov-report/es/lib/EditableSettingsList/EditableSettingsListFieldArray.js.html +353 -0
  13. package/artifacts/coverage-jest/lcov-report/es/lib/EditableSettingsList/SettingField/EditSettingValue.js.html +482 -0
  14. package/artifacts/coverage-jest/lcov-report/es/lib/EditableSettingsList/SettingField/RenderSettingValue.js.html +434 -0
  15. package/artifacts/coverage-jest/lcov-report/es/lib/EditableSettingsList/SettingField/SettingField.js.html +644 -0
  16. package/artifacts/coverage-jest/lcov-report/es/lib/EditableSettingsList/SettingField/index.html +162 -0
  17. package/artifacts/coverage-jest/lcov-report/es/lib/EditableSettingsList/SettingField/index.js.html +188 -0
  18. package/artifacts/coverage-jest/lcov-report/es/lib/EditableSettingsList/index.html +147 -0
  19. package/artifacts/coverage-jest/lcov-report/es/lib/EditableSettingsList/index.js.html +188 -0
  20. package/artifacts/coverage-jest/lcov-report/es/lib/NoResultsMessage/NoResultsMessage.js.html +449 -0
  21. package/artifacts/coverage-jest/lcov-report/es/lib/NoResultsMessage/index.html +132 -0
  22. package/artifacts/coverage-jest/lcov-report/es/lib/NoResultsMessage/index.js.html +140 -0
  23. package/artifacts/coverage-jest/lcov-report/es/lib/QueryTypedown/QueryTypedown.js.html +413 -0
  24. package/artifacts/coverage-jest/lcov-report/es/lib/QueryTypedown/index.html +132 -0
  25. package/artifacts/coverage-jest/lcov-report/es/lib/QueryTypedown/index.js.html +140 -0
  26. package/artifacts/coverage-jest/lcov-report/es/lib/RefdataButtons/RefdataButtons.js.html +512 -0
  27. package/artifacts/coverage-jest/lcov-report/es/lib/RefdataButtons/index.html +132 -0
  28. package/artifacts/coverage-jest/lcov-report/es/lib/RefdataButtons/index.js.html +140 -0
  29. package/artifacts/coverage-jest/lcov-report/es/lib/SASQLookupComponent/SASQLookupComponent.js.html +1115 -0
  30. package/artifacts/coverage-jest/lcov-report/es/lib/SASQLookupComponent/index.html +132 -0
  31. package/artifacts/coverage-jest/lcov-report/es/lib/SASQLookupComponent/index.js.html +140 -0
  32. package/artifacts/coverage-jest/lcov-report/es/lib/SASQRoute/SASQRoute.js.html +404 -0
  33. package/artifacts/coverage-jest/lcov-report/es/lib/SASQRoute/index.html +132 -0
  34. package/artifacts/coverage-jest/lcov-report/es/lib/SASQRoute/index.js.html +140 -0
  35. package/artifacts/coverage-jest/lcov-report/es/lib/SASQViewComponent/SASQViewComponent.js.html +413 -0
  36. package/artifacts/coverage-jest/lcov-report/es/lib/SASQViewComponent/index.html +132 -0
  37. package/artifacts/coverage-jest/lcov-report/es/lib/SASQViewComponent/index.js.html +140 -0
  38. package/artifacts/coverage-jest/lcov-report/es/lib/SearchField/SearchField.js.html +353 -0
  39. package/artifacts/coverage-jest/lcov-report/es/lib/SearchField/index.html +132 -0
  40. package/artifacts/coverage-jest/lcov-report/es/lib/SearchField/index.js.html +140 -0
  41. package/artifacts/coverage-jest/lcov-report/es/lib/SettingPage/SettingPage.js.html +380 -0
  42. package/artifacts/coverage-jest/lcov-report/es/lib/SettingPage/SettingPagePane.js.html +308 -0
  43. package/artifacts/coverage-jest/lcov-report/es/lib/SettingPage/index.html +147 -0
  44. package/artifacts/coverage-jest/lcov-report/es/lib/SettingPage/index.js.html +164 -0
  45. package/artifacts/coverage-jest/lcov-report/es/lib/TypeDown/TypeDown.js.html +839 -0
  46. package/artifacts/coverage-jest/lcov-report/es/lib/TypeDown/index.html +132 -0
  47. package/artifacts/coverage-jest/lcov-report/es/lib/TypeDown/index.js.html +140 -0
  48. package/artifacts/coverage-jest/lcov-report/es/lib/Typedown/Typedown.js.html +887 -0
  49. package/artifacts/coverage-jest/lcov-report/es/lib/Typedown/index.html +132 -0
  50. package/artifacts/coverage-jest/lcov-report/es/lib/Typedown/index.js.html +140 -0
  51. package/artifacts/coverage-jest/lcov-report/es/lib/constants/eventCodes.js.html +209 -0
  52. package/artifacts/coverage-jest/lcov-report/es/lib/constants/index.html +117 -0
  53. package/artifacts/coverage-jest/lcov-report/es/lib/contexts/SettingsContext.js.html +206 -0
  54. package/artifacts/coverage-jest/lcov-report/es/lib/contexts/index.html +132 -0
  55. package/artifacts/coverage-jest/lcov-report/es/lib/contexts/index.js.html +140 -0
  56. package/artifacts/coverage-jest/lcov-report/es/lib/hooks/index.html +252 -0
  57. package/artifacts/coverage-jest/lcov-report/es/lib/hooks/index.js.html +374 -0
  58. package/artifacts/coverage-jest/lcov-report/es/lib/hooks/settingsHooks/index.html +147 -0
  59. package/artifacts/coverage-jest/lcov-report/es/lib/hooks/settingsHooks/index.js.html +164 -0
  60. package/artifacts/coverage-jest/lcov-report/es/lib/hooks/settingsHooks/useSettingSection.js.html +305 -0
  61. package/artifacts/coverage-jest/lcov-report/es/lib/hooks/settingsHooks/useSettings.js.html +584 -0
  62. package/artifacts/coverage-jest/lcov-report/es/lib/hooks/typedownHooks/index.html +162 -0
  63. package/artifacts/coverage-jest/lcov-report/es/lib/hooks/typedownHooks/index.js.html +188 -0
  64. package/artifacts/coverage-jest/lcov-report/es/lib/hooks/typedownHooks/useTypedown.js.html +644 -0
  65. package/artifacts/coverage-jest/lcov-report/es/lib/hooks/typedownHooks/useTypedownData.js.html +335 -0
  66. package/artifacts/coverage-jest/lcov-report/es/lib/hooks/typedownHooks/useTypedownToggle.js.html +350 -0
  67. package/artifacts/coverage-jest/lcov-report/es/lib/hooks/useActiveElement.js.html +323 -0
  68. package/artifacts/coverage-jest/lcov-report/es/lib/hooks/useHelperApp.js.html +488 -0
  69. package/artifacts/coverage-jest/lcov-report/es/lib/hooks/useKiwtFieldArray.js.html +509 -0
  70. package/artifacts/coverage-jest/lcov-report/es/lib/hooks/useKiwtSASQuery.js.html +467 -0
  71. package/artifacts/coverage-jest/lcov-report/es/lib/hooks/useLocalStorageState.js.html +329 -0
  72. package/artifacts/coverage-jest/lcov-report/es/lib/hooks/useMutateRefdataValue.js.html +488 -0
  73. package/artifacts/coverage-jest/lcov-report/es/lib/hooks/useQIndex.js.html +407 -0
  74. package/artifacts/coverage-jest/lcov-report/es/lib/hooks/useRefdata.js.html +401 -0
  75. package/artifacts/coverage-jest/lcov-report/es/lib/hooks/useTemplates.js.html +314 -0
  76. package/artifacts/coverage-jest/lcov-report/es/lib/utils/buildUrl.js.html +296 -0
  77. package/artifacts/coverage-jest/lcov-report/es/lib/utils/generateKiwtQuery.js.html +230 -0
  78. package/artifacts/coverage-jest/lcov-report/es/lib/utils/generateKiwtQueryParams.js.html +545 -0
  79. package/artifacts/coverage-jest/lcov-report/es/lib/utils/getFocusableElements.js.html +572 -0
  80. package/artifacts/coverage-jest/lcov-report/es/lib/utils/index.html +237 -0
  81. package/artifacts/coverage-jest/lcov-report/es/lib/utils/index.js.html +284 -0
  82. package/artifacts/coverage-jest/lcov-report/es/lib/utils/renderHelpText.js.html +410 -0
  83. package/artifacts/coverage-jest/lcov-report/es/lib/utils/selectorSafe.js.html +209 -0
  84. package/artifacts/coverage-jest/lcov-report/es/lib/utils/sortByLabel.js.html +248 -0
  85. package/artifacts/coverage-jest/lcov-report/es/lib/utils/toCamelCase.js.html +227 -0
  86. package/artifacts/coverage-jest/lcov-report/favicon.png +0 -0
  87. package/artifacts/coverage-jest/lcov-report/index.html +717 -0
  88. package/artifacts/coverage-jest/lcov-report/prettify.css +1 -0
  89. package/artifacts/coverage-jest/lcov-report/prettify.js +2 -0
  90. package/artifacts/coverage-jest/lcov-report/sort-arrow-sprite.png +0 -0
  91. package/artifacts/coverage-jest/lcov-report/sorter.js +196 -0
  92. package/artifacts/coverage-jest/lcov-report/src/index.html +117 -0
  93. package/artifacts/coverage-jest/lcov-report/src/index.js.html +305 -0
  94. package/artifacts/coverage-jest/lcov-report/src/lib/ActionList/ActionList.js.html +248 -0
  95. package/artifacts/coverage-jest/lcov-report/src/lib/ActionList/ActionListFieldArray.js.html +764 -0
  96. package/artifacts/coverage-jest/lcov-report/src/lib/ActionList/index.html +147 -0
  97. package/artifacts/coverage-jest/lcov-report/src/lib/ActionList/index.js.html +89 -0
  98. package/artifacts/coverage-jest/lcov-report/src/lib/EditableRefdataList/EditableRefdataList.js.html +362 -0
  99. package/artifacts/coverage-jest/lcov-report/src/lib/EditableRefdataList/index.html +132 -0
  100. package/artifacts/coverage-jest/lcov-report/src/lib/EditableRefdataList/index.js.html +86 -0
  101. package/artifacts/coverage-jest/lcov-report/src/lib/EditableSettingsList/EditableSettingsList.js.html +224 -0
  102. package/artifacts/coverage-jest/lcov-report/src/lib/EditableSettingsList/EditableSettingsListFieldArray.js.html +212 -0
  103. package/artifacts/coverage-jest/lcov-report/src/lib/EditableSettingsList/SettingField/EditSettingValue.js.html +308 -0
  104. package/artifacts/coverage-jest/lcov-report/src/lib/EditableSettingsList/SettingField/RenderSettingValue.js.html +260 -0
  105. package/artifacts/coverage-jest/lcov-report/src/lib/EditableSettingsList/SettingField/SettingField.js.html +437 -0
  106. package/artifacts/coverage-jest/lcov-report/src/lib/EditableSettingsList/SettingField/index.html +162 -0
  107. package/artifacts/coverage-jest/lcov-report/src/lib/EditableSettingsList/SettingField/index.js.html +95 -0
  108. package/artifacts/coverage-jest/lcov-report/src/lib/EditableSettingsList/index.html +147 -0
  109. package/artifacts/coverage-jest/lcov-report/src/lib/EditableSettingsList/index.js.html +95 -0
  110. package/artifacts/coverage-jest/lcov-report/src/lib/NoResultsMessage/NoResultsMessage.js.html +320 -0
  111. package/artifacts/coverage-jest/lcov-report/src/lib/NoResultsMessage/index.html +132 -0
  112. package/artifacts/coverage-jest/lcov-report/src/lib/NoResultsMessage/index.js.html +89 -0
  113. package/artifacts/coverage-jest/lcov-report/src/lib/QueryTypedown/QueryTypedown.js.html +185 -0
  114. package/artifacts/coverage-jest/lcov-report/src/lib/QueryTypedown/index.html +132 -0
  115. package/artifacts/coverage-jest/lcov-report/src/lib/QueryTypedown/index.js.html +89 -0
  116. package/artifacts/coverage-jest/lcov-report/src/lib/RefdataButtons/RefdataButtons.js.html +371 -0
  117. package/artifacts/coverage-jest/lcov-report/src/lib/RefdataButtons/index.html +132 -0
  118. package/artifacts/coverage-jest/lcov-report/src/lib/RefdataButtons/index.js.html +89 -0
  119. package/artifacts/coverage-jest/lcov-report/src/lib/SASQLookupComponent/SASQLookupComponent.js.html +932 -0
  120. package/artifacts/coverage-jest/lcov-report/src/lib/SASQLookupComponent/index.html +132 -0
  121. package/artifacts/coverage-jest/lcov-report/src/lib/SASQLookupComponent/index.js.html +89 -0
  122. package/artifacts/coverage-jest/lcov-report/src/lib/SASQRoute/SASQRoute.js.html +275 -0
  123. package/artifacts/coverage-jest/lcov-report/src/lib/SASQRoute/index.html +132 -0
  124. package/artifacts/coverage-jest/lcov-report/src/lib/SASQRoute/index.js.html +89 -0
  125. package/artifacts/coverage-jest/lcov-report/src/lib/SASQViewComponent/SASQViewComponent.js.html +251 -0
  126. package/artifacts/coverage-jest/lcov-report/src/lib/SASQViewComponent/index.html +132 -0
  127. package/artifacts/coverage-jest/lcov-report/src/lib/SASQViewComponent/index.js.html +89 -0
  128. package/artifacts/coverage-jest/lcov-report/src/lib/SearchField/SearchField.js.html +215 -0
  129. package/artifacts/coverage-jest/lcov-report/src/lib/SearchField/index.html +132 -0
  130. package/artifacts/coverage-jest/lcov-report/src/lib/SearchField/index.js.html +89 -0
  131. package/artifacts/coverage-jest/lcov-report/src/lib/SettingPage/SettingPage.js.html +212 -0
  132. package/artifacts/coverage-jest/lcov-report/src/lib/SettingPage/SettingPagePane.js.html +149 -0
  133. package/artifacts/coverage-jest/lcov-report/src/lib/SettingPage/index.html +147 -0
  134. package/artifacts/coverage-jest/lcov-report/src/lib/SettingPage/index.js.html +92 -0
  135. package/artifacts/coverage-jest/lcov-report/src/lib/TypeDown/TypeDown.js.html +764 -0
  136. package/artifacts/coverage-jest/lcov-report/src/lib/TypeDown/index.html +132 -0
  137. package/artifacts/coverage-jest/lcov-report/src/lib/TypeDown/index.js.html +89 -0
  138. package/artifacts/coverage-jest/lcov-report/src/lib/Typedown/Typedown.js.html +788 -0
  139. package/artifacts/coverage-jest/lcov-report/src/lib/Typedown/index.html +132 -0
  140. package/artifacts/coverage-jest/lcov-report/src/lib/Typedown/index.js.html +89 -0
  141. package/artifacts/coverage-jest/lcov-report/src/lib/constants/eventCodes.js.html +95 -0
  142. package/artifacts/coverage-jest/lcov-report/src/lib/constants/index.html +117 -0
  143. package/artifacts/coverage-jest/lcov-report/src/lib/contexts/SettingsContext.js.html +98 -0
  144. package/artifacts/coverage-jest/lcov-report/src/lib/contexts/index.html +132 -0
  145. package/artifacts/coverage-jest/lcov-report/src/lib/contexts/index.js.html +86 -0
  146. package/artifacts/coverage-jest/lcov-report/src/lib/hooks/index.html +252 -0
  147. package/artifacts/coverage-jest/lcov-report/src/lib/hooks/index.js.html +116 -0
  148. package/artifacts/coverage-jest/lcov-report/src/lib/hooks/settingsHooks/index.html +147 -0
  149. package/artifacts/coverage-jest/lcov-report/src/lib/hooks/settingsHooks/index.js.html +92 -0
  150. package/artifacts/coverage-jest/lcov-report/src/lib/hooks/settingsHooks/useSettingSection.js.html +164 -0
  151. package/artifacts/coverage-jest/lcov-report/src/lib/hooks/settingsHooks/useSettings.js.html +377 -0
  152. package/artifacts/coverage-jest/lcov-report/src/lib/hooks/typedownHooks/index.html +162 -0
  153. package/artifacts/coverage-jest/lcov-report/src/lib/hooks/typedownHooks/index.js.html +95 -0
  154. package/artifacts/coverage-jest/lcov-report/src/lib/hooks/typedownHooks/useTypedown.js.html +524 -0
  155. package/artifacts/coverage-jest/lcov-report/src/lib/hooks/typedownHooks/useTypedownData.js.html +164 -0
  156. package/artifacts/coverage-jest/lcov-report/src/lib/hooks/typedownHooks/useTypedownToggle.js.html +164 -0
  157. package/artifacts/coverage-jest/lcov-report/src/lib/hooks/useActiveElement.js.html +158 -0
  158. package/artifacts/coverage-jest/lcov-report/src/lib/hooks/useHelperApp.js.html +284 -0
  159. package/artifacts/coverage-jest/lcov-report/src/lib/hooks/useKiwtFieldArray.js.html +275 -0
  160. package/artifacts/coverage-jest/lcov-report/src/lib/hooks/useKiwtSASQuery.js.html +179 -0
  161. package/artifacts/coverage-jest/lcov-report/src/lib/hooks/useLocalStorageState.js.html +137 -0
  162. package/artifacts/coverage-jest/lcov-report/src/lib/hooks/useMutateRefdataValue.js.html +302 -0
  163. package/artifacts/coverage-jest/lcov-report/src/lib/hooks/useQIndex.js.html +209 -0
  164. package/artifacts/coverage-jest/lcov-report/src/lib/hooks/useRefdata.js.html +287 -0
  165. package/artifacts/coverage-jest/lcov-report/src/lib/hooks/useTemplates.js.html +167 -0
  166. package/artifacts/coverage-jest/lcov-report/src/lib/utils/buildUrl.js.html +194 -0
  167. package/artifacts/coverage-jest/lcov-report/src/lib/utils/generateKiwtQuery.js.html +110 -0
  168. package/artifacts/coverage-jest/lcov-report/src/lib/utils/generateKiwtQueryParams.js.html +287 -0
  169. package/artifacts/coverage-jest/lcov-report/src/lib/utils/getFocusableElements.js.html +380 -0
  170. package/artifacts/coverage-jest/lcov-report/src/lib/utils/index.html +237 -0
  171. package/artifacts/coverage-jest/lcov-report/src/lib/utils/index.js.html +116 -0
  172. package/artifacts/coverage-jest/lcov-report/src/lib/utils/renderHelpText.js.html +167 -0
  173. package/artifacts/coverage-jest/lcov-report/src/lib/utils/selectorSafe.js.html +104 -0
  174. package/artifacts/coverage-jest/lcov-report/src/lib/utils/sortByLabel.js.html +131 -0
  175. package/artifacts/coverage-jest/lcov-report/src/lib/utils/toCamelCase.js.html +128 -0
  176. package/artifacts/coverage-jest/lcov.info +10040 -0
  177. package/es/artifacts/coverage-jest/lcov-report/block-navigation.js +109 -0
  178. package/es/artifacts/coverage-jest/lcov-report/prettify.js +998 -0
  179. package/es/artifacts/coverage-jest/lcov-report/sorter.js +238 -0
  180. package/es/index.js +104 -12
  181. package/es/lib/ActionList/ActionList.js +58 -24
  182. package/es/lib/ActionList/ActionListFieldArray.js +129 -84
  183. package/es/lib/ActionList/index.js +7 -3
  184. package/es/lib/EditableRefdataList/EditableRefdataList.js +52 -16
  185. package/es/lib/EditableRefdataList/index.js +7 -3
  186. package/es/lib/EditableSettingsList/EditableSettingsList.js +90 -0
  187. package/es/lib/{Settings → EditableSettingsList}/EditableSettingsListFieldArray.js +45 -14
  188. package/es/lib/EditableSettingsList/EditableSettingsListFieldArray.test.js +181 -0
  189. package/es/lib/{Settings → EditableSettingsList/SettingField}/EditSettingValue.js +72 -9
  190. package/es/lib/EditableSettingsList/SettingField/EditSettingValue.test.js +447 -0
  191. package/es/lib/{Settings → EditableSettingsList/SettingField}/RenderSettingValue.js +45 -7
  192. package/es/lib/EditableSettingsList/SettingField/RenderSettingValue.test.js +495 -0
  193. package/es/lib/{Settings → EditableSettingsList/SettingField}/SettingField.js +79 -36
  194. package/es/lib/EditableSettingsList/SettingField/SettingField.test.js +180 -0
  195. package/es/lib/EditableSettingsList/SettingField/index.js +35 -0
  196. package/es/lib/EditableSettingsList/index.js +35 -0
  197. package/es/lib/NoResultsMessage/NoResultsMessage.js +122 -0
  198. package/es/lib/NoResultsMessage/index.js +19 -0
  199. package/es/lib/QueryTypedown/QueryTypedown.js +110 -0
  200. package/es/lib/QueryTypedown/index.js +19 -0
  201. package/es/lib/RefdataButtons/RefdataButtons.js +143 -0
  202. package/es/lib/RefdataButtons/index.js +19 -0
  203. package/es/lib/SASQLookupComponent/SASQLookupComponent.js +344 -0
  204. package/es/lib/SASQLookupComponent/index.js +19 -0
  205. package/es/lib/SASQRoute/SASQRoute.js +107 -0
  206. package/es/lib/SASQRoute/index.js +19 -0
  207. package/es/lib/SASQViewComponent/SASQViewComponent.js +110 -0
  208. package/es/lib/SASQViewComponent/index.js +19 -0
  209. package/es/lib/SearchField/SearchField.js +48 -13
  210. package/es/lib/SearchField/index.js +6 -2
  211. package/es/lib/SettingPage/SettingPage.js +99 -0
  212. package/es/lib/SettingPage/SettingPagePane.js +83 -0
  213. package/es/lib/SettingPage/index.js +27 -0
  214. package/es/lib/TypeDown/TypeDown.js +156 -95
  215. package/es/lib/TypeDown/index.js +6 -2
  216. package/es/lib/Typedown/Typedown.js +269 -0
  217. package/es/lib/Typedown/index.js +19 -0
  218. package/es/lib/constants/eventCodes.js +31 -1
  219. package/es/lib/contexts/SettingsContext.js +41 -0
  220. package/es/lib/contexts/index.js +19 -0
  221. package/es/lib/hooks/index.js +49 -7
  222. package/es/lib/hooks/settingsHooks/index.js +27 -0
  223. package/es/lib/hooks/settingsHooks/useSettingSection.js +74 -0
  224. package/es/lib/{Settings → hooks/settingsHooks}/useSettings.js +70 -21
  225. package/es/lib/hooks/typedownHooks/index.js +8 -28
  226. package/es/lib/hooks/typedownHooks/useTypedown.js +132 -11
  227. package/es/lib/hooks/typedownHooks/useTypedownData.js +35 -2
  228. package/es/lib/hooks/typedownHooks/useTypedownToggle.js +39 -6
  229. package/es/lib/hooks/useActiveElement.js +33 -2
  230. package/es/lib/hooks/useHelperApp.js +48 -9
  231. package/es/lib/hooks/useKiwtFieldArray.js +142 -0
  232. package/es/lib/hooks/useKiwtSASQuery.js +61 -6
  233. package/es/lib/hooks/useLocalStorageState.js +82 -0
  234. package/es/lib/hooks/useMutateRefdataValue.js +42 -9
  235. package/es/lib/hooks/useQIndex.js +108 -0
  236. package/es/lib/hooks/useRefdata.js +63 -13
  237. package/es/lib/hooks/useTemplates.js +36 -3
  238. package/es/lib/utils/buildUrl.js +43 -10
  239. package/es/lib/utils/generateKiwtQuery.js +31 -92
  240. package/es/lib/utils/generateKiwtQueryParams.js +154 -0
  241. package/es/lib/utils/index.js +47 -3
  242. package/es/lib/utils/renderHelpText.js +109 -0
  243. package/es/lib/utils/selectorSafe.js +31 -2
  244. package/es/lib/utils/sortByLabel.js +55 -0
  245. package/es/lib/utils/toCamelCase.js +48 -0
  246. package/jest.config.js +15 -1
  247. package/junit.xml +79 -0
  248. package/package.json +17 -10
  249. package/src/artifacts/coverage-jest/lcov-report/ActionList/ActionList.js.html +248 -0
  250. package/src/artifacts/coverage-jest/lcov-report/ActionList/ActionListFieldArray.js.html +764 -0
  251. package/src/artifacts/coverage-jest/lcov-report/ActionList/index.html +147 -0
  252. package/src/artifacts/coverage-jest/lcov-report/ActionList/index.js.html +89 -0
  253. package/src/artifacts/coverage-jest/lcov-report/EditableRefdataList/EditableRefdataList.js.html +362 -0
  254. package/src/artifacts/coverage-jest/lcov-report/EditableRefdataList/index.html +132 -0
  255. package/src/artifacts/coverage-jest/lcov-report/EditableRefdataList/index.js.html +89 -0
  256. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/EditableSettingsList.js.html +224 -0
  257. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/EditableSettingsListFieldArray.js.html +212 -0
  258. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/SettingField/EditSettingValue.js.html +377 -0
  259. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/SettingField/RenderSettingValue.js.html +263 -0
  260. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/SettingField/SettingField.js.html +437 -0
  261. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/SettingField/index.html +162 -0
  262. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/SettingField/index.js.html +95 -0
  263. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/index.html +147 -0
  264. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/index.js.html +95 -0
  265. package/src/artifacts/coverage-jest/lcov-report/NoResultsMessage/NoResultsMessage.js.html +320 -0
  266. package/src/artifacts/coverage-jest/lcov-report/NoResultsMessage/index.html +132 -0
  267. package/src/artifacts/coverage-jest/lcov-report/NoResultsMessage/index.js.html +89 -0
  268. package/src/artifacts/coverage-jest/lcov-report/QueryTypedown/QueryTypedown.js.html +185 -0
  269. package/src/artifacts/coverage-jest/lcov-report/QueryTypedown/index.html +132 -0
  270. package/src/artifacts/coverage-jest/lcov-report/QueryTypedown/index.js.html +89 -0
  271. package/src/artifacts/coverage-jest/lcov-report/RefdataButtons/RefdataButtons.js.html +371 -0
  272. package/src/artifacts/coverage-jest/lcov-report/RefdataButtons/index.html +132 -0
  273. package/src/artifacts/coverage-jest/lcov-report/RefdataButtons/index.js.html +89 -0
  274. package/src/artifacts/coverage-jest/lcov-report/SASQLookupComponent/SASQLookupComponent.js.html +932 -0
  275. package/src/artifacts/coverage-jest/lcov-report/SASQLookupComponent/index.html +132 -0
  276. package/src/artifacts/coverage-jest/lcov-report/SASQLookupComponent/index.js.html +89 -0
  277. package/src/artifacts/coverage-jest/lcov-report/SASQRoute/SASQRoute.js.html +275 -0
  278. package/src/artifacts/coverage-jest/lcov-report/SASQRoute/index.html +132 -0
  279. package/src/artifacts/coverage-jest/lcov-report/SASQRoute/index.js.html +89 -0
  280. package/src/artifacts/coverage-jest/lcov-report/SASQViewComponent/SASQViewComponent.js.html +251 -0
  281. package/src/artifacts/coverage-jest/lcov-report/SASQViewComponent/index.html +132 -0
  282. package/src/artifacts/coverage-jest/lcov-report/SASQViewComponent/index.js.html +89 -0
  283. package/src/artifacts/coverage-jest/lcov-report/SearchField/SearchField.js.html +215 -0
  284. package/src/artifacts/coverage-jest/lcov-report/SearchField/index.html +132 -0
  285. package/src/artifacts/coverage-jest/lcov-report/SearchField/index.js.html +89 -0
  286. package/src/artifacts/coverage-jest/lcov-report/SettingPage/SettingPage.js.html +212 -0
  287. package/src/artifacts/coverage-jest/lcov-report/SettingPage/SettingPagePane.js.html +179 -0
  288. package/src/artifacts/coverage-jest/lcov-report/SettingPage/index.html +147 -0
  289. package/src/artifacts/coverage-jest/lcov-report/SettingPage/index.js.html +92 -0
  290. package/src/artifacts/coverage-jest/lcov-report/TypeDown/TypeDown.js.html +770 -0
  291. package/src/artifacts/coverage-jest/lcov-report/TypeDown/index.html +132 -0
  292. package/src/artifacts/coverage-jest/lcov-report/TypeDown/index.js.html +89 -0
  293. package/src/artifacts/coverage-jest/lcov-report/Typedown/Typedown.js.html +791 -0
  294. package/src/artifacts/coverage-jest/lcov-report/Typedown/index.html +132 -0
  295. package/src/artifacts/coverage-jest/lcov-report/Typedown/index.js.html +89 -0
  296. package/src/artifacts/coverage-jest/lcov-report/base.css +224 -0
  297. package/src/artifacts/coverage-jest/lcov-report/block-navigation.js +87 -0
  298. package/src/artifacts/coverage-jest/lcov-report/constants/eventCodes.js.html +95 -0
  299. package/src/artifacts/coverage-jest/lcov-report/constants/index.html +117 -0
  300. package/src/artifacts/coverage-jest/lcov-report/contexts/SettingsContext.js.html +98 -0
  301. package/src/artifacts/coverage-jest/lcov-report/contexts/index.html +132 -0
  302. package/src/artifacts/coverage-jest/lcov-report/contexts/index.js.html +92 -0
  303. package/src/artifacts/coverage-jest/lcov-report/favicon.png +0 -0
  304. package/src/artifacts/coverage-jest/lcov-report/hooks/index.html +252 -0
  305. package/src/artifacts/coverage-jest/lcov-report/hooks/index.js.html +116 -0
  306. package/src/artifacts/coverage-jest/lcov-report/hooks/settingsHooks/index.html +147 -0
  307. package/src/artifacts/coverage-jest/lcov-report/hooks/settingsHooks/index.js.html +92 -0
  308. package/src/artifacts/coverage-jest/lcov-report/hooks/settingsHooks/useSettingSection.js.html +164 -0
  309. package/src/artifacts/coverage-jest/lcov-report/hooks/settingsHooks/useSettings.js.html +404 -0
  310. package/src/artifacts/coverage-jest/lcov-report/hooks/typedownHooks/index.html +162 -0
  311. package/src/artifacts/coverage-jest/lcov-report/hooks/typedownHooks/index.js.html +95 -0
  312. package/src/artifacts/coverage-jest/lcov-report/hooks/typedownHooks/useTypedown.js.html +524 -0
  313. package/src/artifacts/coverage-jest/lcov-report/hooks/typedownHooks/useTypedownData.js.html +164 -0
  314. package/src/artifacts/coverage-jest/lcov-report/hooks/typedownHooks/useTypedownToggle.js.html +164 -0
  315. package/src/artifacts/coverage-jest/lcov-report/hooks/useActiveElement.js.html +158 -0
  316. package/src/artifacts/coverage-jest/lcov-report/hooks/useHelperApp.js.html +284 -0
  317. package/src/artifacts/coverage-jest/lcov-report/hooks/useKiwtFieldArray.js.html +275 -0
  318. package/src/artifacts/coverage-jest/lcov-report/hooks/useKiwtSASQuery.js.html +179 -0
  319. package/src/artifacts/coverage-jest/lcov-report/hooks/useLocalStorageState.js.html +137 -0
  320. package/src/artifacts/coverage-jest/lcov-report/hooks/useMutateRefdataValue.js.html +302 -0
  321. package/src/artifacts/coverage-jest/lcov-report/hooks/useQIndex.js.html +209 -0
  322. package/src/artifacts/coverage-jest/lcov-report/hooks/useRefdata.js.html +287 -0
  323. package/src/artifacts/coverage-jest/lcov-report/hooks/useTemplates.js.html +167 -0
  324. package/src/artifacts/coverage-jest/lcov-report/index.html +402 -0
  325. package/src/artifacts/coverage-jest/lcov-report/prettify.css +1 -0
  326. package/src/artifacts/coverage-jest/lcov-report/prettify.js +2 -0
  327. package/src/artifacts/coverage-jest/lcov-report/sort-arrow-sprite.png +0 -0
  328. package/src/artifacts/coverage-jest/lcov-report/sorter.js +196 -0
  329. package/src/artifacts/coverage-jest/lcov-report/utils/buildUrl.js.html +194 -0
  330. package/src/artifacts/coverage-jest/lcov-report/utils/generateKiwtQuery.js.html +110 -0
  331. package/src/artifacts/coverage-jest/lcov-report/utils/generateKiwtQueryParams.js.html +287 -0
  332. package/src/artifacts/coverage-jest/lcov-report/utils/getFocusableElements.js.html +386 -0
  333. package/src/artifacts/coverage-jest/lcov-report/utils/index.html +237 -0
  334. package/src/artifacts/coverage-jest/lcov-report/utils/index.js.html +116 -0
  335. package/src/artifacts/coverage-jest/lcov-report/utils/renderHelpText.js.html +167 -0
  336. package/src/artifacts/coverage-jest/lcov-report/utils/selectorSafe.js.html +104 -0
  337. package/src/artifacts/coverage-jest/lcov-report/utils/sortByLabel.js.html +131 -0
  338. package/src/artifacts/coverage-jest/lcov-report/utils/toCamelCase.js.html +128 -0
  339. package/src/artifacts/coverage-jest/lcov.info +2073 -0
  340. package/src/index.js +44 -6
  341. package/src/lib/ActionList/index.js +1 -1
  342. package/src/lib/EditableRefdataList/EditableRefdataList.js +1 -1
  343. package/src/lib/EditableRefdataList/README.md +1 -1
  344. package/src/lib/EditableRefdataList/index.js +1 -1
  345. package/src/lib/{Settings → EditableSettingsList}/EditableSettingsList.js +0 -0
  346. package/src/lib/{Settings → EditableSettingsList}/EditableSettingsListFieldArray.js +2 -2
  347. package/src/lib/EditableSettingsList/EditableSettingsListFieldArray.test.js +111 -0
  348. package/src/lib/{Settings → EditableSettingsList/SettingField}/EditSettingValue.js +24 -1
  349. package/src/lib/EditableSettingsList/SettingField/EditSettingValue.test.js +379 -0
  350. package/src/lib/{Settings → EditableSettingsList/SettingField}/RenderSettingValue.js +2 -1
  351. package/src/lib/EditableSettingsList/SettingField/RenderSettingValue.test.js +368 -0
  352. package/src/lib/{Settings → EditableSettingsList/SettingField}/SettingField.js +7 -7
  353. package/src/lib/EditableSettingsList/SettingField/SettingField.test.js +80 -0
  354. package/src/lib/EditableSettingsList/SettingField/index.js +3 -0
  355. package/src/lib/EditableSettingsList/index.js +3 -0
  356. package/src/lib/NoResultsMessage/NoResultsMessage.js +78 -0
  357. package/src/lib/NoResultsMessage/index.js +1 -0
  358. package/src/lib/QueryTypedown/QueryTypedown.js +33 -0
  359. package/src/lib/QueryTypedown/index.js +1 -0
  360. package/src/lib/{Settings → RefdataButtons}/RefdataButtons.js +1 -1
  361. package/src/lib/RefdataButtons/index.js +1 -0
  362. package/src/lib/SASQLookupComponent/SASQLookupComponent.js +282 -0
  363. package/src/lib/SASQLookupComponent/index.js +1 -0
  364. package/src/lib/SASQRoute/README.md +55 -0
  365. package/src/lib/SASQRoute/SASQRoute.js +63 -0
  366. package/src/lib/SASQRoute/index.js +1 -0
  367. package/src/lib/SASQViewComponent/SASQViewComponent.js +55 -0
  368. package/src/lib/SASQViewComponent/index.js +1 -0
  369. package/src/lib/{Settings → SettingPage}/SettingPage.js +5 -5
  370. package/src/lib/{Settings → SettingPage}/SettingPagePane.js +12 -2
  371. package/src/lib/SettingPage/index.js +2 -0
  372. package/src/lib/TypeDown/README.md +1 -0
  373. package/src/lib/TypeDown/TypeDown.js +24 -3
  374. package/src/lib/Typedown/README.md +115 -0
  375. package/src/lib/Typedown/Typedown.js +235 -0
  376. package/src/lib/Typedown/index.js +1 -0
  377. package/src/lib/{Settings → contexts}/SettingsContext.js +1 -1
  378. package/src/lib/contexts/index.js +2 -0
  379. package/src/lib/hooks/README.md +109 -2
  380. package/src/lib/hooks/index.js +4 -0
  381. package/src/lib/hooks/settingsHooks/index.js +2 -0
  382. package/src/lib/{Settings → hooks/settingsHooks}/useSettingSection.js +0 -0
  383. package/src/lib/{Settings → hooks/settingsHooks}/useSettings.js +14 -6
  384. package/src/lib/hooks/typedownHooks/index.js +0 -3
  385. package/src/lib/hooks/typedownHooks/useTypedown.js +95 -11
  386. package/src/lib/hooks/useHelperApp.js +5 -1
  387. package/src/lib/hooks/useKiwtFieldArray.js +63 -0
  388. package/src/lib/hooks/useKiwtSASQuery.js +9 -1
  389. package/src/lib/hooks/useLocalStorageState.js +17 -0
  390. package/src/lib/hooks/useQIndex.js +41 -0
  391. package/src/lib/hooks/useRefdata.js +23 -6
  392. package/src/lib/utils/README.md +39 -1
  393. package/src/lib/utils/generateKiwtQuery.js +3 -57
  394. package/src/lib/utils/generateKiwtQueryParams.js +67 -0
  395. package/src/lib/utils/index.js +8 -0
  396. package/src/lib/{Settings/utils → utils}/renderHelpText.js +1 -1
  397. package/src/lib/{Settings/utils → utils}/sortByLabel.js +1 -1
  398. package/src/lib/{Settings/utils → utils}/toCamelCase.js +0 -0
  399. package/styles/NoResultsMessage.css +38 -0
  400. package/test/helpers/index.js +1 -0
  401. package/test/helpers/translationsProperties.js +40 -0
  402. package/test/jest/helpers/KintHarness.js +36 -0
  403. package/test/jest/helpers/index.js +2 -0
  404. package/test/jest/helpers/renderWithKintHarness.js +15 -0
  405. package/test/jest/jest-transformer.js +4 -0
  406. package/test/jest/setupTests.js +1 -0
  407. package/translations/stripes-kint-components/en.json +6 -1
  408. package/yarn-error.log +15050 -0
  409. package/babelOptions.js +0 -30
  410. package/es/lib/Settings/EditableSettingsList.js +0 -57
  411. package/es/lib/Settings/RefdataButtons.js +0 -100
  412. package/es/lib/Settings/SettingPage.js +0 -64
  413. package/es/lib/Settings/SettingPagePane.js +0 -43
  414. package/es/lib/Settings/SettingsContext.js +0 -18
  415. package/es/lib/Settings/index.js +0 -71
  416. package/es/lib/Settings/useSettingSection.js +0 -41
  417. package/es/lib/Settings/utils/index.js +0 -31
  418. package/es/lib/Settings/utils/renderHelpText.js +0 -57
  419. package/es/lib/Settings/utils/sortByLabel.js +0 -26
  420. package/es/lib/Settings/utils/toCamelCase.js +0 -19
  421. package/es/lib/hooks/typedownHooks/useTypedownFooter.js +0 -47
  422. package/es/lib/hooks/typedownHooks/useTypedownList.js +0 -45
  423. package/es/lib/hooks/typedownHooks/useTypedownSearchField.js +0 -47
  424. package/es/lib/utils/getFocusableElements.js +0 -132
  425. package/src/lib/Settings/index.js +0 -8
  426. package/src/lib/Settings/utils/index.js +0 -3
  427. package/src/lib/hooks/typedownHooks/useTypedownFooter.js +0 -43
  428. package/src/lib/hooks/typedownHooks/useTypedownList.js +0 -36
  429. package/src/lib/hooks/typedownHooks/useTypedownSearchField.js +0 -39
  430. package/src/lib/utils/getFocusableElements.js +0 -99
@@ -0,0 +1,115 @@
1
+ ```
2
+ import React from 'react';
3
+
4
+ import { Button, Col, Pane, Row, TextField } from '@folio/stripes/components';
5
+ import { AppIcon } from '@folio/stripes/core';
6
+ import { generateKiwtQuery, TypeDown } from '@k-int/stripes-kint-components';
7
+
8
+ import { Form, Field, useFormState } from 'react-final-form';
9
+
10
+ const TestField = () => {
11
+ const pathMutator = (input, path) => {
12
+ const query = generateKiwtQuery(
13
+ {
14
+ searchKey: 'name,alternateNames.name',
15
+ stats: false
16
+ }, {
17
+ sort: 'name',
18
+ query: input,
19
+ }
20
+ );
21
+
22
+ return `${path}${query}`;
23
+ };
24
+
25
+ console.log("Current values: %o", useFormState()?.values)
26
+ return (
27
+ <Field
28
+ component={TypeDown}
29
+ name="test"
30
+ path="erm/sas"
31
+ pathMutator={pathMutator}
32
+ renderFooter={() => (
33
+ <>
34
+ <Button
35
+ id="footer button 1"
36
+ marginBottom0
37
+ onClick={() => {
38
+ alert('sup')
39
+ }}
40
+ type="button"
41
+ >
42
+ Hello 1
43
+ </Button>
44
+ <Button
45
+ id="footer button 2"
46
+ marginBottom0
47
+ onClick={() => {
48
+ alert('sup 2')
49
+ }}
50
+ type="button"
51
+ >
52
+ Hello 2
53
+ </Button>
54
+ </>
55
+ )}
56
+ renderListItem={agreement => {
57
+ return (
58
+ <>
59
+ <AppIcon
60
+ app="agreements"
61
+ size="small"
62
+ >
63
+ {agreement.name}
64
+ </AppIcon>
65
+ </>
66
+ );
67
+ }}
68
+ />
69
+ );
70
+ };
71
+
72
+
73
+ const TestComponent = () => {
74
+ return (
75
+ <Pane
76
+ defaultWidth="fill"
77
+ dismissible
78
+ id="test-typedown"
79
+ paneTitle={"Test typedown"}
80
+ >
81
+ <Form
82
+ enableReinitialize
83
+ navigationCheck
84
+ onSubmit={(values) => console.log("submitting: %o", values)}
85
+ subscription={{ values: true }}
86
+ >
87
+ {({ handleSubmit }) => {
88
+ return (
89
+ <form onSubmit={handleSubmit}>
90
+ <Row>
91
+ <Col xs={6}>
92
+ <TestField />
93
+ </Col>
94
+ <Col xs={6}>
95
+ <Field
96
+ component={TextField}
97
+ name="test2"
98
+ />
99
+ </Col>
100
+ </Row>
101
+ <Button
102
+ type="submit"
103
+ >
104
+ submit
105
+ </Button>
106
+ </form>
107
+ );
108
+ }}
109
+ </Form>
110
+ </Pane>
111
+ );
112
+ };
113
+
114
+ export default TestComponent;
115
+ ```
@@ -0,0 +1,235 @@
1
+ import React, { useCallback, useEffect, useState } from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import classnames from 'classnames';
4
+
5
+ import get from 'lodash/get';
6
+
7
+ import { EndOfList, IconButton, Popper } from '@folio/stripes/components';
8
+
9
+ // eslint-disable-next-line import/no-extraneous-dependencies
10
+ import { interactionStyles } from '@folio/stripes-components/lib/sharedStyles/interactionStyles.css';
11
+
12
+ import SearchField from '../SearchField';
13
+ import css from '../../../styles/TypeDown.css';
14
+
15
+ import { useTypedown } from '../hooks/typedownHooks';
16
+ import selectorSafe from '../utils/selectorSafe';
17
+
18
+ const Typedown = ({
19
+ dataOptions,
20
+ input,
21
+ filterPath,
22
+ meta,
23
+ onChange,
24
+ onType,
25
+ renderFooter = null,
26
+ renderListItem = null,
27
+ uniqueIdentificationPath = 'id'
28
+ }) => {
29
+ const selectedUniqueId = get(input.value, uniqueIdentificationPath);
30
+
31
+ // Display data needs to be in line with data options but also able to react to default handleType
32
+ const [displayData, setDisplayData] = useState(dataOptions);
33
+ useEffect(() => {
34
+ setDisplayData(dataOptions);
35
+ }, [dataOptions]);
36
+
37
+ // Setup default handleType
38
+ const handleType = (e) => {
39
+ const regex = new RegExp(`${e.target.value.toLowerCase()}`);
40
+ if (onType) {
41
+ onType(e);
42
+ } else if (filterPath && e?.target?.value) {
43
+ setDisplayData(dataOptions.filter(item => get(item, filterPath)?.toLowerCase()?.match(regex)));
44
+ } else if (e?.target?.value) {
45
+ setDisplayData(dataOptions.filter(item => get(item, uniqueIdentificationPath)?.toLowerCase()?.match(regex)));
46
+ } else {
47
+ setDisplayData(dataOptions);
48
+ }
49
+ };
50
+
51
+ // Hook to set up all the essentials
52
+ const {
53
+ refs: {
54
+ listRef,
55
+ triggerRef,
56
+ overlayRef,
57
+ footerRef
58
+ },
59
+ handlers: {
60
+ handleNextFocus,
61
+ listKeyDownHandler,
62
+ searchFieldKeyDownHandler
63
+ },
64
+ variables: {
65
+ open,
66
+ portal,
67
+ resizeRef,
68
+ searchWidth
69
+ }
70
+ } = useTypedown(input.name);
71
+
72
+ const renderItem = useCallback((option) => (
73
+ <div
74
+ className={css.listItem}
75
+ >
76
+ {renderListItem ?
77
+ renderListItem(option) :
78
+ get(option, uniqueIdentificationPath)
79
+ }
80
+ </div>
81
+ ), [renderListItem, uniqueIdentificationPath]);
82
+
83
+ const handleChange = useCallback(value => {
84
+ input.onChange(value);
85
+
86
+ if (typeof onChange === 'function') {
87
+ onChange(value);
88
+ }
89
+ }, [input, onChange]);
90
+
91
+ const dropDown = useCallback(() => {
92
+ return (
93
+ <div
94
+ className={css.dropdownMenu}
95
+ id={`typedown-parent-${selectorSafe(input.name)}-menu`}
96
+ style={{ '--searchWidth': `${searchWidth}px` }}
97
+ >
98
+ <div
99
+ ref={listRef}
100
+ className={css.listContainer}
101
+ id="typedown-list"
102
+ >
103
+ {displayData?.length ? displayData?.map((d, index) => {
104
+ const isSelected = get(input.value, uniqueIdentificationPath) === get(d, uniqueIdentificationPath);
105
+ return (
106
+ <button
107
+ key={`typedown-button-[${index}]`}
108
+ className={classnames(
109
+ interactionStyles,
110
+ css.fullWidth,
111
+ css.menuButton
112
+ )}
113
+ data-selected={isSelected}
114
+ id={`typedown-button-[${index}]`}
115
+ onClick={() => {
116
+ handleChange(d);
117
+ handleNextFocus();
118
+ }}
119
+ onKeyDown={listKeyDownHandler}
120
+ type="button"
121
+ >
122
+ {renderItem(d)}
123
+ </button>
124
+ );
125
+ }) :
126
+ // TODO test this
127
+ <EndOfList />
128
+ }
129
+ </div>
130
+ {renderFooter &&
131
+ <div
132
+ ref={footerRef}
133
+ className={css.footer}
134
+ id={`typedown-footer-${selectorSafe(input.name)}`}
135
+ >
136
+ {renderFooter()}
137
+ </div>
138
+ }
139
+ </div>
140
+ );
141
+ }, [
142
+ displayData,
143
+ footerRef,
144
+ handleChange,
145
+ handleNextFocus,
146
+ input,
147
+ listKeyDownHandler,
148
+ listRef,
149
+ renderFooter,
150
+ renderItem,
151
+ searchWidth,
152
+ uniqueIdentificationPath
153
+ ]);
154
+
155
+ const renderSearchField = () => {
156
+ return (
157
+ <div
158
+ ref={triggerRef}
159
+ id={`typedown-parent-${selectorSafe(input.name)}-searchField`}
160
+ >
161
+ <SearchField
162
+ // Pass meta through so correct styling gets applied to the TextField
163
+ id={`typedown-searchField-${selectorSafe(input.name)}`}
164
+ marginBottom0
165
+ meta={meta}
166
+ onChange={handleType}
167
+ onKeyDown={searchFieldKeyDownHandler}
168
+ />
169
+ </div>
170
+ );
171
+ };
172
+
173
+ return (
174
+ <div
175
+ ref={resizeRef}
176
+ >
177
+ {renderSearchField()}
178
+ <Popper
179
+ key="typedown-menu-toggle"
180
+ anchorRef={triggerRef}
181
+ className={classnames(
182
+ css.dropdown,
183
+ css.fullWidth
184
+ )}
185
+ isOpen={open}
186
+ modifiers={{
187
+ flip: { boundariesElement: 'viewport', padding: 10 },
188
+ preventOverflow: { boundariesElement: 'viewport', padding: 10 }
189
+ }}
190
+ overlayProps={{
191
+ 'ref': overlayRef,
192
+ 'tabIndex': '-1',
193
+ 'onClick': (e) => { e.stopPropagation(); } // prevent propagation of click events
194
+ }}
195
+ overlayRef={overlayRef}
196
+ portal={portal}
197
+ >
198
+ {dropDown()}
199
+ </Popper>
200
+ {selectedUniqueId && !open &&
201
+ <div
202
+ className={classnames(
203
+ css.selected,
204
+ css.selectedDisplay
205
+ )}
206
+ >
207
+ <div
208
+ className={css.selectedItem}
209
+ >
210
+ {renderItem(input.value)}
211
+ </div>
212
+ <IconButton
213
+ className={css.clearItem}
214
+ icon="times-circle-solid"
215
+ onClick={() => handleChange()}
216
+ />
217
+ </div>
218
+ }
219
+ </div>
220
+ );
221
+ };
222
+
223
+ Typedown.propTypes = {
224
+ dataOptions: PropTypes.arrayOf(PropTypes.object),
225
+ filterPath: PropTypes.string,
226
+ input: PropTypes.object,
227
+ meta: PropTypes.object,
228
+ onChange: PropTypes.func,
229
+ onType: PropTypes.func,
230
+ renderFooter: PropTypes.func,
231
+ renderListItem: PropTypes.func,
232
+ uniqueIdentificationPath: PropTypes.string
233
+ };
234
+
235
+ export default Typedown;
@@ -0,0 +1 @@
1
+ export { default } from './Typedown';
@@ -1,4 +1,4 @@
1
- import React, { createContext } from 'react';
1
+ import { createContext } from 'react';
2
2
 
3
3
  const SettingsContext = createContext();
4
4
  export default SettingsContext;
@@ -0,0 +1,2 @@
1
+ // eslint-disable-next-line import/prefer-default-export
2
+ export { default as SettingsContext } from './SettingsContext';
@@ -21,6 +21,7 @@ endpoint | string | The endpoint to fetch refdataValues from | | ✓ |
21
21
  desc | string | The refdataCategory (usually of the form `DomainClass.Field`) | | ✕ |
22
22
  queryParams | object | A set of queryParameters to hand to react-query's `useQuery` | | ✕ |
23
23
  returnQueryObject | bool | A switch to return the entirety of the queryObject from useQuery. If `false`, the data will be destructured, if `true` the return will be the full object returned by react-query's `useQuery` | false | ✕ |
24
+ options | object | An object of the shape SASQ_MAP (See generateKiwtQuery) to pass to the generateKiwtQuery inside. Any passed desc "d" will be passed as a filter `DescKey.${d}`, with DescKey acting as FilterName, assuming `filterKeys: { DescKey: "desc" }` in options, so `desc==${d}` is passed directly to the backend. | `{filterKeys: {DescKey: "desc" }, stats: false, max: 100}` | ✕ |
24
25
 
25
26
  ## useMutateRefdataValue
26
27
  A hook for mutations (Create/Delete/Edit) of refdataValues.
@@ -117,6 +118,8 @@ A hook which takes an object containing various helper components to render, and
117
118
  When the url contains a query of the form `helper={name}`, this hook will check the helpers object it was handed for a key matching `{name}`, and if there is one it will return the component value for that key.
118
119
 
119
120
  The hook also returns an object `helperToggleFunctions`, which will have the same keys as were handed to the hook, and values corresponding to "toggle" functions for that key. These functions are a simple way to change the helper query in the url.
121
+
122
+ Finally the hook also returns an ease-of-use function `isOpen`, which takes a string input and returns a boolean if the current helper in the URL matches that string or not.
120
123
  ### Basic usage
121
124
  ```
122
125
  import { useHelperApp } from '@k-int/stripes-kint-components'
@@ -124,7 +127,7 @@ import { useHelperApp } from '@k-int/stripes-kint-components'
124
127
  const ChatPane = () => { ... }
125
128
  const Tags = () => { ... }
126
129
  ...
127
- const { HelperComponent, helperToggleFunctions } = useActiveElement({
130
+ const { HelperComponent, helperToggleFunctions } = useHelperApp({
128
131
  chat: ChatPane,
129
132
  tags: Tags
130
133
  });
@@ -180,4 +183,108 @@ import { useQuery } from 'react-query';
180
183
  ...
181
184
  </SearchAndSortQuery>
182
185
 
183
- ```
186
+ ```
187
+
188
+ ## useQIndex
189
+ A hook with a similar API to setState, but instead stores a value in the `qindex` parameter in the URL.
190
+ Returns an array `[qindex, setQindex]`. There is no way to set an initialValue with the hook, as the state is derived from the URL rather than the other way around. This means that multiple `useQIndex` hooks can exist at once.
191
+
192
+ ### BasicUsage
193
+ ```
194
+ import {
195
+ Button,
196
+ } from '@folio/stripes/components';
197
+ import useQindex from '../../../../stripes-kint-components/src/lib/hooks/useQIndex';
198
+
199
+ const Test() {
200
+ const [qindex, setQindex] = useQindex();
201
+
202
+ return (
203
+ <>
204
+ <Button
205
+ onClick={() => setQindex(qindex + "1")}
206
+ >
207
+ change the qindex
208
+ </Button>
209
+ <div>
210
+ {`The current qindex is: ${qindex}`
211
+ </div>
212
+ </>
213
+ );
214
+ }
215
+
216
+ export default Test;
217
+ ```
218
+
219
+ ## useKiwtFieldArray
220
+ A hook to replace `withKiwtFieldArray` [from stripes-erm-components](https://github.com/folio-org/stripes-erm-components/tree/master/lib/withKiwtFieldArray). Provides functions for adding and deleting items in a way which the backend endpoints will understand, as well as an "items" array to track the current set of valid items in the form.
221
+
222
+
223
+ ### BasicUsage
224
+ ```
225
+ ...
226
+ import useKiwtFieldArray from '../../../util/useKiwtFieldArray';
227
+ ...
228
+
229
+ const TestFieldArray = () => {
230
+ const {
231
+ items,
232
+ onAddField,
233
+ onDeleteField
234
+ } = useKiwtFieldArray(name, true);
235
+
236
+ return (
237
+ <>
238
+ {items.map((item, index) => {
239
+ return (
240
+ <Row>
241
+ <Col xs={3}>
242
+ <Field
243
+ name={`${name}[${index}].name`}
244
+ component={TextField}
245
+ required
246
+ validate={requiredValidator}
247
+ />
248
+ </Col>
249
+ <Col xs={1}>
250
+ <IconButton
251
+ icon="trash"
252
+ id="remove-volume-button"
253
+ onClick={() => onDeleteField(index, volume)}
254
+ />
255
+ </Col>
256
+ </Row>
257
+ );
258
+ })}
259
+ <Button
260
+ onClick={() => onAddField({}})}
261
+ >
262
+ ADD NEW
263
+ </Button>
264
+ </>
265
+ );
266
+ };
267
+
268
+ const Test = ({}) => {
269
+ return (
270
+ <Form
271
+ ...
272
+ render={({ handleSubmit, submitting, form }) => (
273
+ <form onSubmit={handleSubmit}>
274
+ <FieldArray
275
+ name="test"
276
+ component={TestFieldArray}
277
+ />
278
+ </form>
279
+ )}
280
+ />
281
+ );
282
+ };
283
+ export default Test
284
+ ```
285
+
286
+ ### Props
287
+ Name | Type | Description | default | required
288
+ --- | --- | --- | --- | ---
289
+ name | String | The name of the fieldArray, used to hook into the final form state for that field. | | ✓ |
290
+ submitWholeDeletedObject | bool | a boolean flag to ensure that a deleted object is sent whole to the backend, rather than just as an id. | false | ✕ |
@@ -4,3 +4,7 @@ export { default as useMutateRefdataValue } from './useMutateRefdataValue';
4
4
  export { default as useActiveElement } from './useActiveElement';
5
5
  export { default as useKiwtSASQuery } from './useKiwtSASQuery';
6
6
  export { default as useHelperApp } from './useHelperApp';
7
+ export { default as useLocalStorageState } from './useLocalStorageState';
8
+ export { default as useQIndex } from './useQIndex';
9
+ export { useSettings, useSettingSection } from './settingsHooks';
10
+ export { default as useKiwtFieldArray } from './useKiwtFieldArray';
@@ -0,0 +1,2 @@
1
+ export { default as useSettings } from './useSettings';
2
+ export { default as useSettingSection } from './useSettingSection';
@@ -1,15 +1,16 @@
1
1
  import React, { useContext } from 'react';
2
+ import PropTypes from 'prop-types';
3
+
2
4
  import { useQuery } from 'react-query';
3
5
  import { FormattedMessage, useIntl } from 'react-intl';
4
6
  import { useOkapiKy } from '@folio/stripes/core';
5
7
 
6
8
  import { Settings } from '@folio/stripes/smart-components';
7
9
 
8
- import SettingPage from './SettingPage';
9
- import SettingPagePane from './SettingPagePane';
10
- import SettingsContext from './SettingsContext';
10
+ import { SettingPage, SettingPagePane } from '../../SettingPage';
11
+ import { SettingsContext } from '../../contexts';
11
12
 
12
- import { sortByLabel, toCamelCase } from './utils';
13
+ import { sortByLabel, toCamelCase } from '../../utils';
13
14
 
14
15
  const useSettings = ({
15
16
  dynamicPageExclusions,
@@ -21,7 +22,7 @@ const useSettings = ({
21
22
  }) => {
22
23
  const ky = useOkapiKy();
23
24
  const intl = useIntl();
24
- const extraPathItems = dynamicPageExclusions.map(dpe => `filters=section!=${dpe}`)
25
+ const extraPathItems = dynamicPageExclusions.map(dpe => `filters=section!=${dpe}`);
25
26
  extraPathItems.push('max=500');
26
27
 
27
28
  const { data: appSettings = [], isLoading } = useQuery(
@@ -50,7 +51,7 @@ const useSettings = ({
50
51
  );
51
52
  });
52
53
 
53
- const pageList = persistentPages.concat(dynamic).sort(sortByLabel)
54
+ const pageList = persistentPages.concat(dynamic).sort(sortByLabel);
54
55
 
55
56
  const SettingsContextProvider = ({ children }) => {
56
57
  return (
@@ -67,6 +68,13 @@ const useSettings = ({
67
68
  );
68
69
  };
69
70
 
71
+ SettingsContextProvider.propTypes = {
72
+ children: PropTypes.oneOfType([
73
+ PropTypes.func,
74
+ PropTypes.node
75
+ ])
76
+ };
77
+
70
78
  const SettingsComponent = (props) => {
71
79
  const settingsData = useContext(SettingsContext);
72
80
 
@@ -1,6 +1,3 @@
1
1
  export { default as useTypedown } from './useTypedown';
2
- export { default as useTypedownFooter } from './useTypedownFooter';
3
- export { default as useTypedownList } from './useTypedownList';
4
- export { default as useTypedownSearchField } from './useTypedownSearchField';
5
2
  export { default as useTypedownToggle } from './useTypedownToggle';
6
3
  export { default as useTypedownData } from './useTypedownData';