@k-int/stripes-kint-components 5.30.0 → 5.31.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 (278) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/es/index.js +8 -0
  3. package/es/lib/ButtonTypedown/ButtonTypedown.js +58 -0
  4. package/es/lib/ButtonTypedown/index.js +13 -0
  5. package/es/lib/Typedown/Typedown.js +85 -44
  6. package/es/lib/hooks/typedownHooks/useTypedown.js +104 -81
  7. package/package.json +1 -1
  8. package/src/artifacts/coverage-jest/ActionList/ActionList.js.html +1 -1
  9. package/src/artifacts/coverage-jest/ActionList/ActionListFieldArray.js.html +1 -1
  10. package/src/artifacts/coverage-jest/ActionList/index.html +1 -1
  11. package/src/artifacts/coverage-jest/ActionList/index.js.html +1 -1
  12. package/src/artifacts/coverage-jest/ButtonTypedown/ButtonTypedown.js.html +241 -0
  13. package/src/artifacts/coverage-jest/ButtonTypedown/index.html +131 -0
  14. package/src/artifacts/coverage-jest/ButtonTypedown/index.js.html +88 -0
  15. package/src/artifacts/coverage-jest/ComboButton/ComboButton.js.html +1 -1
  16. package/src/artifacts/coverage-jest/ComboButton/index.html +1 -1
  17. package/src/artifacts/coverage-jest/ComboButton/index.js.html +1 -1
  18. package/src/artifacts/coverage-jest/CustomProperties/Config/CustomPropertiesLookup.js.html +1 -1
  19. package/src/artifacts/coverage-jest/CustomProperties/Config/CustomPropertiesSettings.js.html +1 -1
  20. package/src/artifacts/coverage-jest/CustomProperties/Config/CustomPropertyForm.js.html +1 -1
  21. package/src/artifacts/coverage-jest/CustomProperties/Config/CustomPropertyView.js.html +1 -1
  22. package/src/artifacts/coverage-jest/CustomProperties/Config/index.html +1 -1
  23. package/src/artifacts/coverage-jest/CustomProperties/Config/index.js.html +1 -1
  24. package/src/artifacts/coverage-jest/CustomProperties/Edit/CustomPropertiesEdit.js.html +1 -1
  25. package/src/artifacts/coverage-jest/CustomProperties/Edit/CustomPropertiesEditCtx.js.html +1 -1
  26. package/src/artifacts/coverage-jest/CustomProperties/Edit/CustomPropertiesListField.js.html +1 -1
  27. package/src/artifacts/coverage-jest/CustomProperties/Edit/CustomPropertyField.js.html +1 -1
  28. package/src/artifacts/coverage-jest/CustomProperties/Edit/CustomPropertyFormCard.js.html +1 -1
  29. package/src/artifacts/coverage-jest/CustomProperties/Edit/index.html +1 -1
  30. package/src/artifacts/coverage-jest/CustomProperties/Edit/index.js.html +1 -1
  31. package/src/artifacts/coverage-jest/CustomProperties/Edit/testResources.js.html +1 -1
  32. package/src/artifacts/coverage-jest/CustomProperties/Filter/CustomPropertiesFilter.js.html +1 -1
  33. package/src/artifacts/coverage-jest/CustomProperties/Filter/CustomPropertiesFilterField.js.html +1 -1
  34. package/src/artifacts/coverage-jest/CustomProperties/Filter/CustomPropertiesFilterFieldArray.js.html +1 -1
  35. package/src/artifacts/coverage-jest/CustomProperties/Filter/CustomPropertiesFilterForm.js.html +1 -1
  36. package/src/artifacts/coverage-jest/CustomProperties/Filter/CustomPropertiesRule.js.html +1 -1
  37. package/src/artifacts/coverage-jest/CustomProperties/Filter/index.html +1 -1
  38. package/src/artifacts/coverage-jest/CustomProperties/Filter/index.js.html +1 -1
  39. package/src/artifacts/coverage-jest/CustomProperties/Filter/testResources.js.html +1 -1
  40. package/src/artifacts/coverage-jest/CustomProperties/Filter/useOperators.js.html +1 -1
  41. package/src/artifacts/coverage-jest/CustomProperties/Filter/useParseActiveFilterStrings.js.html +1 -1
  42. package/src/artifacts/coverage-jest/CustomProperties/Filter/useValueProps.js.html +1 -1
  43. package/src/artifacts/coverage-jest/CustomProperties/View/CustomPropertiesView.js.html +1 -1
  44. package/src/artifacts/coverage-jest/CustomProperties/View/CustomPropertiesViewCtx.js.html +1 -1
  45. package/src/artifacts/coverage-jest/CustomProperties/View/CustomPropertyCard.js.html +1 -1
  46. package/src/artifacts/coverage-jest/CustomProperties/View/index.html +1 -1
  47. package/src/artifacts/coverage-jest/CustomProperties/View/index.js.html +1 -1
  48. package/src/artifacts/coverage-jest/CustomProperties/View/testResources.js.html +1 -1
  49. package/src/artifacts/coverage-jest/CustomProperties/index.html +1 -1
  50. package/src/artifacts/coverage-jest/CustomProperties/index.js.html +1 -1
  51. package/src/artifacts/coverage-jest/CycleButton/CycleButton.js.html +1 -1
  52. package/src/artifacts/coverage-jest/CycleButton/index.html +1 -1
  53. package/src/artifacts/coverage-jest/CycleButton/index.js.html +1 -1
  54. package/src/artifacts/coverage-jest/FieldLabel/FieldLabel.js.html +1 -1
  55. package/src/artifacts/coverage-jest/FieldLabel/index.html +1 -1
  56. package/src/artifacts/coverage-jest/FieldLabel/index.js.html +1 -1
  57. package/src/artifacts/coverage-jest/FormModal/FormModal.js.html +1 -1
  58. package/src/artifacts/coverage-jest/FormModal/index.html +1 -1
  59. package/src/artifacts/coverage-jest/FormModal/index.js.html +1 -1
  60. package/src/artifacts/coverage-jest/FormattedKintMessage/FormattedKintMessage.js.html +1 -1
  61. package/src/artifacts/coverage-jest/FormattedKintMessage/index.html +1 -1
  62. package/src/artifacts/coverage-jest/FormattedKintMessage/index.js.html +1 -1
  63. package/src/artifacts/coverage-jest/IconSelect/IconSelect.js.html +1 -1
  64. package/src/artifacts/coverage-jest/IconSelect/index.html +1 -1
  65. package/src/artifacts/coverage-jest/IconSelect/index.js.html +1 -1
  66. package/src/artifacts/coverage-jest/NoResultsMessage/NoResultsMessage.js.html +1 -1
  67. package/src/artifacts/coverage-jest/NoResultsMessage/index.html +1 -1
  68. package/src/artifacts/coverage-jest/NoResultsMessage/index.js.html +1 -1
  69. package/src/artifacts/coverage-jest/NumberField/NumberField.js.html +1 -1
  70. package/src/artifacts/coverage-jest/NumberField/index.html +1 -1
  71. package/src/artifacts/coverage-jest/NumberField/index.js.html +1 -1
  72. package/src/artifacts/coverage-jest/QueryTypedown/QueryTypedown.js.html +1 -1
  73. package/src/artifacts/coverage-jest/QueryTypedown/index.html +1 -1
  74. package/src/artifacts/coverage-jest/QueryTypedown/index.js.html +1 -1
  75. package/src/artifacts/coverage-jest/RefdataButtons/RefdataButtons.js.html +1 -1
  76. package/src/artifacts/coverage-jest/RefdataButtons/index.html +1 -1
  77. package/src/artifacts/coverage-jest/RefdataButtons/index.js.html +1 -1
  78. package/src/artifacts/coverage-jest/ResponsiveButtonGroup/ResponsiveButtonGroup.js.html +1 -1
  79. package/src/artifacts/coverage-jest/ResponsiveButtonGroup/index.html +1 -1
  80. package/src/artifacts/coverage-jest/ResponsiveButtonGroup/index.js.html +1 -1
  81. package/src/artifacts/coverage-jest/ResponsiveButtonGroup/useResponsiveButtonGroupSizing.js.html +1 -1
  82. package/src/artifacts/coverage-jest/RichSelect/RichSelect.js.html +1 -1
  83. package/src/artifacts/coverage-jest/RichSelect/index.html +1 -1
  84. package/src/artifacts/coverage-jest/RichSelect/index.js.html +1 -1
  85. package/src/artifacts/coverage-jest/RichSelect/useSelectedOption.js.html +1 -1
  86. package/src/artifacts/coverage-jest/SASQLookupComponent/SASQLookupComponent.js.html +1 -1
  87. package/src/artifacts/coverage-jest/SASQLookupComponent/TableBody/TableBody.js.html +1 -1
  88. package/src/artifacts/coverage-jest/SASQLookupComponent/TableBody/index.html +1 -1
  89. package/src/artifacts/coverage-jest/SASQLookupComponent/TableBody/index.js.html +1 -1
  90. package/src/artifacts/coverage-jest/SASQLookupComponent/index.html +1 -1
  91. package/src/artifacts/coverage-jest/SASQLookupComponent/index.js.html +1 -1
  92. package/src/artifacts/coverage-jest/SASQRoute/SASQRoute.js.html +1 -1
  93. package/src/artifacts/coverage-jest/SASQRoute/index.html +1 -1
  94. package/src/artifacts/coverage-jest/SASQRoute/index.js.html +1 -1
  95. package/src/artifacts/coverage-jest/SASQViewComponent/SASQViewComponent.js.html +1 -1
  96. package/src/artifacts/coverage-jest/SASQViewComponent/index.html +1 -1
  97. package/src/artifacts/coverage-jest/SASQViewComponent/index.js.html +1 -1
  98. package/src/artifacts/coverage-jest/SearchField/SearchField.js.html +1 -1
  99. package/src/artifacts/coverage-jest/SearchField/index.html +1 -1
  100. package/src/artifacts/coverage-jest/SearchField/index.js.html +1 -1
  101. package/src/artifacts/coverage-jest/SearchKeyControl/SearchKeyControl.js.html +1 -1
  102. package/src/artifacts/coverage-jest/SearchKeyControl/index.html +1 -1
  103. package/src/artifacts/coverage-jest/SearchKeyControl/index.js.html +1 -1
  104. package/src/artifacts/coverage-jest/Settings/EditableRefdataCategoryList/EditableRefdataCategoryList.js.html +1 -1
  105. package/src/artifacts/coverage-jest/Settings/EditableRefdataCategoryList/index.html +1 -1
  106. package/src/artifacts/coverage-jest/Settings/EditableRefdataCategoryList/index.js.html +1 -1
  107. package/src/artifacts/coverage-jest/Settings/EditableRefdataList/EditableRefdataList.js.html +1 -1
  108. package/src/artifacts/coverage-jest/Settings/EditableRefdataList/index.html +1 -1
  109. package/src/artifacts/coverage-jest/Settings/EditableRefdataList/index.js.html +1 -1
  110. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/EditableSettingsList.js.html +1 -1
  111. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/EditableSettingsListFieldArray/EditableSettingsListFieldArray.js.html +1 -1
  112. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/EditableSettingsListFieldArray/index.html +1 -1
  113. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/EditableSettingsListFieldArray/index.js.html +1 -1
  114. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/SettingField/EditSettingValue/EditSettingValue.js.html +1 -1
  115. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/SettingField/EditSettingValue/index.html +1 -1
  116. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/SettingField/EditSettingValue/index.js.html +1 -1
  117. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/SettingField/RenderSettingValue/RenderSettingValue.js.html +1 -1
  118. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/SettingField/RenderSettingValue/index.html +1 -1
  119. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/SettingField/RenderSettingValue/index.js.html +1 -1
  120. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/SettingField/SettingField.js.html +1 -1
  121. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/SettingField/index.html +1 -1
  122. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/SettingField/index.js.html +1 -1
  123. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/index.html +1 -1
  124. package/src/artifacts/coverage-jest/Settings/EditableSettingsList/index.js.html +1 -1
  125. package/src/artifacts/coverage-jest/Settings/RefdataCategoriesSettings/RefdataCategoriesSettings.js.html +1 -1
  126. package/src/artifacts/coverage-jest/Settings/RefdataCategoriesSettings/index.html +1 -1
  127. package/src/artifacts/coverage-jest/Settings/RefdataCategoriesSettings/index.js.html +1 -1
  128. package/src/artifacts/coverage-jest/Settings/SettingPage/SettingPage.js.html +1 -1
  129. package/src/artifacts/coverage-jest/Settings/SettingPage/SettingPagePane/SettingPagePane.js.html +1 -1
  130. package/src/artifacts/coverage-jest/Settings/SettingPage/SettingPagePane/index.html +1 -1
  131. package/src/artifacts/coverage-jest/Settings/SettingPage/SettingPagePane/index.js.html +1 -1
  132. package/src/artifacts/coverage-jest/Settings/SettingPage/index.html +1 -1
  133. package/src/artifacts/coverage-jest/Settings/SettingPage/index.js.html +1 -1
  134. package/src/artifacts/coverage-jest/Settings/SettingsFormContainer/SettingsFormContainer.js.html +1 -1
  135. package/src/artifacts/coverage-jest/Settings/SettingsFormContainer/index.html +1 -1
  136. package/src/artifacts/coverage-jest/Settings/SettingsFormContainer/index.js.html +1 -1
  137. package/src/artifacts/coverage-jest/Settings/StaticSettingsField/StaticSettingsField.js.html +1 -1
  138. package/src/artifacts/coverage-jest/Settings/StaticSettingsField/StaticSettingsFieldComponent/StaticSettingsFieldComponent.js.html +1 -1
  139. package/src/artifacts/coverage-jest/Settings/StaticSettingsField/StaticSettingsFieldComponent/index.html +1 -1
  140. package/src/artifacts/coverage-jest/Settings/StaticSettingsField/StaticSettingsFieldComponent/index.js.html +1 -1
  141. package/src/artifacts/coverage-jest/Settings/StaticSettingsField/index.html +1 -1
  142. package/src/artifacts/coverage-jest/Settings/StaticSettingsField/index.js.html +1 -1
  143. package/src/artifacts/coverage-jest/Settings/constants/index.html +1 -1
  144. package/src/artifacts/coverage-jest/Settings/constants/index.js.html +1 -1
  145. package/src/artifacts/coverage-jest/Settings/constants/queryKeys.js.html +1 -1
  146. package/src/artifacts/coverage-jest/Settings/contexts/SettingsContext.js.html +1 -1
  147. package/src/artifacts/coverage-jest/Settings/contexts/index.html +1 -1
  148. package/src/artifacts/coverage-jest/Settings/contexts/index.js.html +1 -1
  149. package/src/artifacts/coverage-jest/Settings/hooks/index.html +1 -1
  150. package/src/artifacts/coverage-jest/Settings/hooks/index.js.html +1 -1
  151. package/src/artifacts/coverage-jest/Settings/hooks/staticSettingsPages/index.html +1 -1
  152. package/src/artifacts/coverage-jest/Settings/hooks/staticSettingsPages/index.js.html +1 -1
  153. package/src/artifacts/coverage-jest/Settings/hooks/staticSettingsPages/useSettingCallout/index.html +1 -1
  154. package/src/artifacts/coverage-jest/Settings/hooks/staticSettingsPages/useSettingCallout/index.js.html +1 -1
  155. package/src/artifacts/coverage-jest/Settings/hooks/staticSettingsPages/useSettingCallout/useSettingCallout.js.html +1 -1
  156. package/src/artifacts/coverage-jest/Settings/hooks/staticSettingsPages/useSettingsSectionInitalValues/index.html +1 -1
  157. package/src/artifacts/coverage-jest/Settings/hooks/staticSettingsPages/useSettingsSectionInitalValues/index.js.html +1 -1
  158. package/src/artifacts/coverage-jest/Settings/hooks/staticSettingsPages/useSettingsSectionInitalValues/useSettingsSectionInitalValues.js.html +1 -1
  159. package/src/artifacts/coverage-jest/Settings/hooks/staticSettingsPages/useStaticSettingsSection.js.html +1 -1
  160. package/src/artifacts/coverage-jest/Settings/hooks/useAppSettings/index.html +1 -1
  161. package/src/artifacts/coverage-jest/Settings/hooks/useAppSettings/index.js.html +1 -1
  162. package/src/artifacts/coverage-jest/Settings/hooks/useAppSettings/useAppSettings.js.html +1 -1
  163. package/src/artifacts/coverage-jest/Settings/hooks/useSettingSection/index.html +1 -1
  164. package/src/artifacts/coverage-jest/Settings/hooks/useSettingSection/index.js.html +1 -1
  165. package/src/artifacts/coverage-jest/Settings/hooks/useSettingSection/useSettingSection.js.html +1 -1
  166. package/src/artifacts/coverage-jest/Settings/hooks/useSettings/index.html +1 -1
  167. package/src/artifacts/coverage-jest/Settings/hooks/useSettings/index.js.html +1 -1
  168. package/src/artifacts/coverage-jest/Settings/hooks/useSettings/useSettings.js.html +1 -1
  169. package/src/artifacts/coverage-jest/Settings/index.html +1 -1
  170. package/src/artifacts/coverage-jest/Settings/index.js.html +1 -1
  171. package/src/artifacts/coverage-jest/Tags/Tags.js.html +1 -1
  172. package/src/artifacts/coverage-jest/Tags/hooks/index.html +1 -1
  173. package/src/artifacts/coverage-jest/Tags/hooks/index.js.html +1 -1
  174. package/src/artifacts/coverage-jest/Tags/hooks/useTags.js.html +1 -1
  175. package/src/artifacts/coverage-jest/Tags/hooks/useTagsEnabled.js.html +1 -1
  176. package/src/artifacts/coverage-jest/Tags/index.html +1 -1
  177. package/src/artifacts/coverage-jest/Tags/index.js.html +1 -1
  178. package/src/artifacts/coverage-jest/Tags/tagsConfig.js.html +1 -1
  179. package/src/artifacts/coverage-jest/Typedown/Typedown.js.html +219 -60
  180. package/src/artifacts/coverage-jest/Typedown/index.html +15 -15
  181. package/src/artifacts/coverage-jest/Typedown/index.js.html +1 -1
  182. package/src/artifacts/coverage-jest/cobertura-coverage.xml +196 -99
  183. package/src/artifacts/coverage-jest/constants/comparators.js.html +1 -1
  184. package/src/artifacts/coverage-jest/constants/customProperties.js.html +1 -1
  185. package/src/artifacts/coverage-jest/constants/endpoints.js.html +1 -1
  186. package/src/artifacts/coverage-jest/constants/eventCodes.js.html +1 -1
  187. package/src/artifacts/coverage-jest/constants/index.html +1 -1
  188. package/src/artifacts/coverage-jest/constants/pagination.js.html +1 -1
  189. package/src/artifacts/coverage-jest/hooks/index.html +1 -1
  190. package/src/artifacts/coverage-jest/hooks/index.js.html +1 -1
  191. package/src/artifacts/coverage-jest/hooks/intlHooks/index.html +1 -1
  192. package/src/artifacts/coverage-jest/hooks/intlHooks/index.js.html +1 -1
  193. package/src/artifacts/coverage-jest/hooks/intlHooks/useIntlKey/index.html +1 -1
  194. package/src/artifacts/coverage-jest/hooks/intlHooks/useIntlKey/index.js.html +1 -1
  195. package/src/artifacts/coverage-jest/hooks/intlHooks/useIntlKey/useIntlKey.js.html +1 -1
  196. package/src/artifacts/coverage-jest/hooks/intlHooks/useIntlKeyStore/index.html +1 -1
  197. package/src/artifacts/coverage-jest/hooks/intlHooks/useIntlKeyStore/index.js.html +1 -1
  198. package/src/artifacts/coverage-jest/hooks/intlHooks/useIntlKeyStore/useIntlKeyStore.js.html +1 -1
  199. package/src/artifacts/coverage-jest/hooks/intlHooks/useKintIntl/index.html +1 -1
  200. package/src/artifacts/coverage-jest/hooks/intlHooks/useKintIntl/index.js.html +1 -1
  201. package/src/artifacts/coverage-jest/hooks/intlHooks/useKintIntl/useKintIntl.js.html +1 -1
  202. package/src/artifacts/coverage-jest/hooks/typedownHooks/index.html +14 -14
  203. package/src/artifacts/coverage-jest/hooks/typedownHooks/index.js.html +1 -1
  204. package/src/artifacts/coverage-jest/hooks/typedownHooks/useTypedown.js.html +170 -116
  205. package/src/artifacts/coverage-jest/hooks/typedownHooks/useTypedownData.js.html +1 -1
  206. package/src/artifacts/coverage-jest/hooks/typedownHooks/useTypedownToggle.js.html +1 -1
  207. package/src/artifacts/coverage-jest/hooks/useActionListRef.js.html +1 -1
  208. package/src/artifacts/coverage-jest/hooks/useActiveElement.js.html +1 -1
  209. package/src/artifacts/coverage-jest/hooks/useCustomProperties.js.html +1 -1
  210. package/src/artifacts/coverage-jest/hooks/useHelperApp.js.html +1 -1
  211. package/src/artifacts/coverage-jest/hooks/useInvalidateRefdata/index.html +1 -1
  212. package/src/artifacts/coverage-jest/hooks/useInvalidateRefdata/index.js.html +1 -1
  213. package/src/artifacts/coverage-jest/hooks/useInvalidateRefdata/useInvalidateRefdata.js.html +1 -1
  214. package/src/artifacts/coverage-jest/hooks/useKiwtFieldArray.js.html +1 -1
  215. package/src/artifacts/coverage-jest/hooks/useKiwtSASQuery.js.html +1 -1
  216. package/src/artifacts/coverage-jest/hooks/useLocalPageStore.js.html +1 -1
  217. package/src/artifacts/coverage-jest/hooks/useLocalStorageState.js.html +1 -1
  218. package/src/artifacts/coverage-jest/hooks/useModConfigEntries.js.html +1 -1
  219. package/src/artifacts/coverage-jest/hooks/useMutateCustomProperties/index.html +1 -1
  220. package/src/artifacts/coverage-jest/hooks/useMutateCustomProperties/index.js.html +1 -1
  221. package/src/artifacts/coverage-jest/hooks/useMutateCustomProperties/useMutateCustomProperties.js.html +1 -1
  222. package/src/artifacts/coverage-jest/hooks/useMutateGeneric/index.html +1 -1
  223. package/src/artifacts/coverage-jest/hooks/useMutateGeneric/index.js.html +1 -1
  224. package/src/artifacts/coverage-jest/hooks/useMutateGeneric/useMutateGeneric.js.html +1 -1
  225. package/src/artifacts/coverage-jest/hooks/useMutateModConfigEntry.js.html +1 -1
  226. package/src/artifacts/coverage-jest/hooks/useMutateRefdataCategory/index.html +1 -1
  227. package/src/artifacts/coverage-jest/hooks/useMutateRefdataCategory/index.js.html +1 -1
  228. package/src/artifacts/coverage-jest/hooks/useMutateRefdataCategory/useMutateRefdataCategory.js.html +1 -1
  229. package/src/artifacts/coverage-jest/hooks/useMutateRefdataValue/index.html +1 -1
  230. package/src/artifacts/coverage-jest/hooks/useMutateRefdataValue/index.js.html +1 -1
  231. package/src/artifacts/coverage-jest/hooks/useMutateRefdataValue/useMutateRefdataValue.js.html +1 -1
  232. package/src/artifacts/coverage-jest/hooks/usePrevNextPagination.js.html +1 -1
  233. package/src/artifacts/coverage-jest/hooks/useQIndex.js.html +1 -1
  234. package/src/artifacts/coverage-jest/hooks/useRefdata.js.html +1 -1
  235. package/src/artifacts/coverage-jest/hooks/useSASQQueryMeta.js.html +1 -1
  236. package/src/artifacts/coverage-jest/hooks/useStandaloneSASQQueryParameter/index.html +1 -1
  237. package/src/artifacts/coverage-jest/hooks/useStandaloneSASQQueryParameter/index.js.html +1 -1
  238. package/src/artifacts/coverage-jest/hooks/useStandaloneSASQQueryParameter/useStandaloneSASQQueryParameter.js.html +1 -1
  239. package/src/artifacts/coverage-jest/hooks/useTemplates.js.html +1 -1
  240. package/src/artifacts/coverage-jest/index.html +39 -24
  241. package/src/artifacts/coverage-jest/utils/buildUrl.js.html +1 -1
  242. package/src/artifacts/coverage-jest/utils/filterParsers/deparseKiwtQueryFilters.js.html +1 -1
  243. package/src/artifacts/coverage-jest/utils/filterParsers/index.html +1 -1
  244. package/src/artifacts/coverage-jest/utils/filterParsers/index.js.html +1 -1
  245. package/src/artifacts/coverage-jest/utils/filterParsers/parseKiwtQueryFilters.js.html +1 -1
  246. package/src/artifacts/coverage-jest/utils/filterParsers/parseKiwtQueryGroups.js.html +1 -1
  247. package/src/artifacts/coverage-jest/utils/filterParsers/parseKiwtQueryString.js.html +1 -1
  248. package/src/artifacts/coverage-jest/utils/generateKiwtQuery.js.html +1 -1
  249. package/src/artifacts/coverage-jest/utils/generateKiwtQueryParams/generateKiwtQueryParams.js.html +1 -1
  250. package/src/artifacts/coverage-jest/utils/generateKiwtQueryParams/index.html +1 -1
  251. package/src/artifacts/coverage-jest/utils/generateKiwtQueryParams/index.js.html +1 -1
  252. package/src/artifacts/coverage-jest/utils/groupCustomPropertiesByCtx.js.html +1 -1
  253. package/src/artifacts/coverage-jest/utils/highlightString.js.html +1 -1
  254. package/src/artifacts/coverage-jest/utils/index.html +1 -1
  255. package/src/artifacts/coverage-jest/utils/index.js.html +1 -1
  256. package/src/artifacts/coverage-jest/utils/matchString.js.html +1 -1
  257. package/src/artifacts/coverage-jest/utils/modConfigEntriesQueryKey.js.html +1 -1
  258. package/src/artifacts/coverage-jest/utils/parseErrorResponse.js.html +1 -1
  259. package/src/artifacts/coverage-jest/utils/parseModConfigEntry.js.html +1 -1
  260. package/src/artifacts/coverage-jest/utils/refdataOptions.js.html +1 -1
  261. package/src/artifacts/coverage-jest/utils/refdataQueryKey/index.html +1 -1
  262. package/src/artifacts/coverage-jest/utils/refdataQueryKey/index.js.html +1 -1
  263. package/src/artifacts/coverage-jest/utils/refdataQueryKey/refdataQueryKey.js.html +1 -1
  264. package/src/artifacts/coverage-jest/utils/selectorSafe.js.html +1 -1
  265. package/src/artifacts/coverage-jest/utils/sortByLabel.js.html +1 -1
  266. package/src/artifacts/coverage-jest/utils/toCamelCase.js.html +1 -1
  267. package/src/artifacts/coverage-jest/utils/typedownQueryKey.js.html +1 -1
  268. package/src/artifacts/coverage-jest/validators/index.html +1 -1
  269. package/src/artifacts/coverage-jest/validators/index.js.html +1 -1
  270. package/src/artifacts/coverage-jest/validators/validators.js.html +1 -1
  271. package/src/index.js +4 -0
  272. package/src/lib/ButtonTypedown/ButtonTypedown.js +52 -0
  273. package/src/lib/ButtonTypedown/README.md +53 -0
  274. package/src/lib/ButtonTypedown/index.js +1 -0
  275. package/src/lib/Typedown/README.md +24 -21
  276. package/src/lib/Typedown/Typedown.js +101 -48
  277. package/src/lib/hooks/typedownHooks/useTypedown.js +105 -87
  278. package/styles/TypeDown.css +4 -0
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">4.54% </span>
26
+ <span class="strong">3.84% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>2/44</span>
28
+ <span class='fraction'>2/52</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/40</span>
35
+ <span class='fraction'>0/48</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
40
  <span class="strong">0% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>0/14</span>
42
+ <span class='fraction'>0/16</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">4.76% </span>
47
+ <span class="strong">4% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>2/42</span>
49
+ <span class='fraction'>2/50</span>
50
50
  </div>
51
51
 
52
52
 
@@ -359,7 +359,60 @@
359
359
  <a name='L294'></a><a href='#L294'>294</a>
360
360
  <a name='L295'></a><a href='#L295'>295</a>
361
361
  <a name='L296'></a><a href='#L296'>296</a>
362
- <a name='L297'></a><a href='#L297'>297</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
362
+ <a name='L297'></a><a href='#L297'>297</a>
363
+ <a name='L298'></a><a href='#L298'>298</a>
364
+ <a name='L299'></a><a href='#L299'>299</a>
365
+ <a name='L300'></a><a href='#L300'>300</a>
366
+ <a name='L301'></a><a href='#L301'>301</a>
367
+ <a name='L302'></a><a href='#L302'>302</a>
368
+ <a name='L303'></a><a href='#L303'>303</a>
369
+ <a name='L304'></a><a href='#L304'>304</a>
370
+ <a name='L305'></a><a href='#L305'>305</a>
371
+ <a name='L306'></a><a href='#L306'>306</a>
372
+ <a name='L307'></a><a href='#L307'>307</a>
373
+ <a name='L308'></a><a href='#L308'>308</a>
374
+ <a name='L309'></a><a href='#L309'>309</a>
375
+ <a name='L310'></a><a href='#L310'>310</a>
376
+ <a name='L311'></a><a href='#L311'>311</a>
377
+ <a name='L312'></a><a href='#L312'>312</a>
378
+ <a name='L313'></a><a href='#L313'>313</a>
379
+ <a name='L314'></a><a href='#L314'>314</a>
380
+ <a name='L315'></a><a href='#L315'>315</a>
381
+ <a name='L316'></a><a href='#L316'>316</a>
382
+ <a name='L317'></a><a href='#L317'>317</a>
383
+ <a name='L318'></a><a href='#L318'>318</a>
384
+ <a name='L319'></a><a href='#L319'>319</a>
385
+ <a name='L320'></a><a href='#L320'>320</a>
386
+ <a name='L321'></a><a href='#L321'>321</a>
387
+ <a name='L322'></a><a href='#L322'>322</a>
388
+ <a name='L323'></a><a href='#L323'>323</a>
389
+ <a name='L324'></a><a href='#L324'>324</a>
390
+ <a name='L325'></a><a href='#L325'>325</a>
391
+ <a name='L326'></a><a href='#L326'>326</a>
392
+ <a name='L327'></a><a href='#L327'>327</a>
393
+ <a name='L328'></a><a href='#L328'>328</a>
394
+ <a name='L329'></a><a href='#L329'>329</a>
395
+ <a name='L330'></a><a href='#L330'>330</a>
396
+ <a name='L331'></a><a href='#L331'>331</a>
397
+ <a name='L332'></a><a href='#L332'>332</a>
398
+ <a name='L333'></a><a href='#L333'>333</a>
399
+ <a name='L334'></a><a href='#L334'>334</a>
400
+ <a name='L335'></a><a href='#L335'>335</a>
401
+ <a name='L336'></a><a href='#L336'>336</a>
402
+ <a name='L337'></a><a href='#L337'>337</a>
403
+ <a name='L338'></a><a href='#L338'>338</a>
404
+ <a name='L339'></a><a href='#L339'>339</a>
405
+ <a name='L340'></a><a href='#L340'>340</a>
406
+ <a name='L341'></a><a href='#L341'>341</a>
407
+ <a name='L342'></a><a href='#L342'>342</a>
408
+ <a name='L343'></a><a href='#L343'>343</a>
409
+ <a name='L344'></a><a href='#L344'>344</a>
410
+ <a name='L345'></a><a href='#L345'>345</a>
411
+ <a name='L346'></a><a href='#L346'>346</a>
412
+ <a name='L347'></a><a href='#L347'>347</a>
413
+ <a name='L348'></a><a href='#L348'>348</a>
414
+ <a name='L349'></a><a href='#L349'>349</a>
415
+ <a name='L350'></a><a href='#L350'>350</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
363
416
  <span class="cline-any cline-neutral">&nbsp;</span>
364
417
  <span class="cline-any cline-neutral">&nbsp;</span>
365
418
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -394,6 +447,10 @@
394
447
  <span class="cline-any cline-neutral">&nbsp;</span>
395
448
  <span class="cline-any cline-neutral">&nbsp;</span>
396
449
  <span class="cline-any cline-neutral">&nbsp;</span>
450
+ <span class="cline-any cline-neutral">&nbsp;</span>
451
+ <span class="cline-any cline-neutral">&nbsp;</span>
452
+ <span class="cline-any cline-neutral">&nbsp;</span>
453
+ <span class="cline-any cline-no">&nbsp;</span>
397
454
  <span class="cline-any cline-no">&nbsp;</span>
398
455
  <span class="cline-any cline-neutral">&nbsp;</span>
399
456
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -468,6 +525,7 @@
468
525
  <span class="cline-any cline-neutral">&nbsp;</span>
469
526
  <span class="cline-any cline-no">&nbsp;</span>
470
527
  <span class="cline-any cline-no">&nbsp;</span>
528
+ <span class="cline-any cline-no">&nbsp;</span>
471
529
  <span class="cline-any cline-neutral">&nbsp;</span>
472
530
  <span class="cline-any cline-no">&nbsp;</span>
473
531
  <span class="cline-any cline-no">&nbsp;</span>
@@ -476,6 +534,14 @@
476
534
  <span class="cline-any cline-neutral">&nbsp;</span>
477
535
  <span class="cline-any cline-no">&nbsp;</span>
478
536
  <span class="cline-any cline-no">&nbsp;</span>
537
+ <span class="cline-any cline-no">&nbsp;</span>
538
+ <span class="cline-any cline-neutral">&nbsp;</span>
539
+ <span class="cline-any cline-neutral">&nbsp;</span>
540
+ <span class="cline-any cline-neutral">&nbsp;</span>
541
+ <span class="cline-any cline-neutral">&nbsp;</span>
542
+ <span class="cline-any cline-neutral">&nbsp;</span>
543
+ <span class="cline-any cline-neutral">&nbsp;</span>
544
+ <span class="cline-any cline-neutral">&nbsp;</span>
479
545
  <span class="cline-any cline-neutral">&nbsp;</span>
480
546
  <span class="cline-any cline-neutral">&nbsp;</span>
481
547
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -487,10 +553,7 @@
487
553
  <span class="cline-any cline-neutral">&nbsp;</span>
488
554
  <span class="cline-any cline-neutral">&nbsp;</span>
489
555
  <span class="cline-any cline-neutral">&nbsp;</span>
490
- <span class="cline-any cline-no">&nbsp;</span>
491
556
  <span class="cline-any cline-neutral">&nbsp;</span>
492
- <span class="cline-any cline-no">&nbsp;</span>
493
- <span class="cline-any cline-no">&nbsp;</span>
494
557
  <span class="cline-any cline-neutral">&nbsp;</span>
495
558
  <span class="cline-any cline-neutral">&nbsp;</span>
496
559
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -533,8 +596,13 @@
533
596
  <span class="cline-any cline-neutral">&nbsp;</span>
534
597
  <span class="cline-any cline-neutral">&nbsp;</span>
535
598
  <span class="cline-any cline-neutral">&nbsp;</span>
599
+ <span class="cline-any cline-no">&nbsp;</span>
600
+ <span class="cline-any cline-neutral">&nbsp;</span>
536
601
  <span class="cline-any cline-neutral">&nbsp;</span>
602
+ <span class="cline-any cline-no">&nbsp;</span>
537
603
  <span class="cline-any cline-neutral">&nbsp;</span>
604
+ <span class="cline-any cline-no">&nbsp;</span>
605
+ <span class="cline-any cline-no">&nbsp;</span>
538
606
  <span class="cline-any cline-neutral">&nbsp;</span>
539
607
  <span class="cline-any cline-neutral">&nbsp;</span>
540
608
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -565,11 +633,35 @@
565
633
  <span class="cline-any cline-neutral">&nbsp;</span>
566
634
  <span class="cline-any cline-neutral">&nbsp;</span>
567
635
  <span class="cline-any cline-neutral">&nbsp;</span>
636
+ <span class="cline-any cline-neutral">&nbsp;</span>
637
+ <span class="cline-any cline-neutral">&nbsp;</span>
638
+ <span class="cline-any cline-neutral">&nbsp;</span>
639
+ <span class="cline-any cline-neutral">&nbsp;</span>
640
+ <span class="cline-any cline-neutral">&nbsp;</span>
641
+ <span class="cline-any cline-neutral">&nbsp;</span>
642
+ <span class="cline-any cline-neutral">&nbsp;</span>
643
+ <span class="cline-any cline-neutral">&nbsp;</span>
644
+ <span class="cline-any cline-neutral">&nbsp;</span>
645
+ <span class="cline-any cline-neutral">&nbsp;</span>
646
+ <span class="cline-any cline-neutral">&nbsp;</span>
647
+ <span class="cline-any cline-neutral">&nbsp;</span>
648
+ <span class="cline-any cline-neutral">&nbsp;</span>
649
+ <span class="cline-any cline-neutral">&nbsp;</span>
650
+ <span class="cline-any cline-neutral">&nbsp;</span>
651
+ <span class="cline-any cline-neutral">&nbsp;</span>
652
+ <span class="cline-any cline-neutral">&nbsp;</span>
653
+ <span class="cline-any cline-neutral">&nbsp;</span>
654
+ <span class="cline-any cline-neutral">&nbsp;</span>
655
+ <span class="cline-any cline-neutral">&nbsp;</span>
656
+ <span class="cline-any cline-neutral">&nbsp;</span>
657
+ <span class="cline-any cline-neutral">&nbsp;</span>
658
+ <span class="cline-any cline-neutral">&nbsp;</span>
659
+ <span class="cline-any cline-neutral">&nbsp;</span>
660
+ <span class="cline-any cline-neutral">&nbsp;</span>
568
661
  <span class="cline-any cline-no">&nbsp;</span>
569
662
  <span class="cline-any cline-no">&nbsp;</span>
570
663
  <span class="cline-any cline-neutral">&nbsp;</span>
571
664
  <span class="cline-any cline-neutral">&nbsp;</span>
572
- <span class="cline-any cline-no">&nbsp;</span>
573
665
  <span class="cline-any cline-neutral">&nbsp;</span>
574
666
  <span class="cline-any cline-neutral">&nbsp;</span>
575
667
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -581,17 +673,22 @@
581
673
  <span class="cline-any cline-neutral">&nbsp;</span>
582
674
  <span class="cline-any cline-neutral">&nbsp;</span>
583
675
  <span class="cline-any cline-neutral">&nbsp;</span>
676
+ <span class="cline-any cline-no">&nbsp;</span>
584
677
  <span class="cline-any cline-neutral">&nbsp;</span>
585
678
  <span class="cline-any cline-neutral">&nbsp;</span>
586
679
  <span class="cline-any cline-neutral">&nbsp;</span>
587
680
  <span class="cline-any cline-neutral">&nbsp;</span>
588
681
  <span class="cline-any cline-neutral">&nbsp;</span>
682
+ <span class="cline-any cline-no">&nbsp;</span>
589
683
  <span class="cline-any cline-neutral">&nbsp;</span>
684
+ <span class="cline-any cline-no">&nbsp;</span>
685
+ <span class="cline-any cline-no">&nbsp;</span>
590
686
  <span class="cline-any cline-neutral">&nbsp;</span>
591
687
  <span class="cline-any cline-neutral">&nbsp;</span>
592
688
  <span class="cline-any cline-neutral">&nbsp;</span>
593
689
  <span class="cline-any cline-neutral">&nbsp;</span>
594
690
  <span class="cline-any cline-neutral">&nbsp;</span>
691
+ <span class="cline-any cline-no">&nbsp;</span>
595
692
  <span class="cline-any cline-neutral">&nbsp;</span>
596
693
  <span class="cline-any cline-neutral">&nbsp;</span>
597
694
  <span class="cline-any cline-no">&nbsp;</span>
@@ -616,6 +713,9 @@
616
713
  <span class="cline-any cline-neutral">&nbsp;</span>
617
714
  <span class="cline-any cline-neutral">&nbsp;</span>
618
715
  <span class="cline-any cline-neutral">&nbsp;</span>
716
+ <span class="cline-any cline-neutral">&nbsp;</span>
717
+ <span class="cline-any cline-neutral">&nbsp;</span>
718
+ <span class="cline-any cline-neutral">&nbsp;</span>
619
719
  <span class="cline-any cline-no">&nbsp;</span>
620
720
  <span class="cline-any cline-neutral">&nbsp;</span>
621
721
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -625,6 +725,9 @@
625
725
  <span class="cline-any cline-neutral">&nbsp;</span>
626
726
  <span class="cline-any cline-neutral">&nbsp;</span>
627
727
  <span class="cline-any cline-neutral">&nbsp;</span>
728
+ <span class="cline-any cline-neutral">&nbsp;</span>
729
+ <span class="cline-any cline-neutral">&nbsp;</span>
730
+ <span class="cline-any cline-neutral">&nbsp;</span>
628
731
  <span class="cline-any cline-yes">23x</span>
629
732
  <span class="cline-any cline-neutral">&nbsp;</span>
630
733
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -655,7 +758,10 @@
655
758
  <span class="cline-any cline-neutral">&nbsp;</span>
656
759
  <span class="cline-any cline-neutral">&nbsp;</span>
657
760
  <span class="cline-any cline-neutral">&nbsp;</span>
658
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import React, { useCallback, useEffect, useMemo, useState } from 'react';
761
+ <span class="cline-any cline-neutral">&nbsp;</span>
762
+ <span class="cline-any cline-neutral">&nbsp;</span>
763
+ <span class="cline-any cline-neutral">&nbsp;</span>
764
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { useCallback, useEffect, useMemo, useState } from 'react';
659
765
  import PropTypes from 'prop-types';
660
766
  import classnames from 'classnames';
661
767
  &nbsp;
@@ -675,6 +781,7 @@ const Typedown = <span class="fstat-no" title="function not covered" >({</span>
675
781
  displayClearItem = <span class="branch-0 cbranch-no" title="branch not covered" >true,</span>
676
782
  displayValueWhileOpen = <span class="branch-0 cbranch-no" title="branch not covered" >true,</span>
677
783
  endOfList,
784
+ getDisplayValue, // Can overrule displayValue entirely
678
785
  id,
679
786
  initialOpenDelay = <span class="branch-0 cbranch-no" title="branch not covered" >800,</span> // Initial opening delay of 800ms (handles any stripes animations)
680
787
  input,
@@ -685,12 +792,15 @@ const Typedown = <span class="fstat-no" title="function not covered" >({</span>
685
792
  onChange,
686
793
  onType,
687
794
  renderFooter = <span class="branch-0 cbranch-no" title="branch not covered" >null,</span>
795
+ renderHeader = <span class="branch-0 cbranch-no" title="branch not covered" >null,</span>
688
796
  renderListItem = <span class="branch-0 cbranch-no" title="branch not covered" >null,</span>
797
+ renderTrigger = <span class="branch-0 cbranch-no" title="branch not covered" >null,</span>
689
798
  required,
690
799
  selectedStyles, // A way to pass any styles that need to be applied globally on selection
691
800
  uniqueIdentificationPath = <span class="branch-0 cbranch-no" title="branch not covered" >'id'</span>
692
801
  }) =&gt; {
693
802
  const selectedUniqueId = <span class="cstat-no" title="statement not covered" >get(input.value, uniqueIdentificationPath);</span>
803
+ const [selectedValue, setSelectedValue] = <span class="cstat-no" title="statement not covered" >useState(input.value);</span> // Track what's been selected in state as well
694
804
  &nbsp;
695
805
  // Display data needs to be in line with data options but also able to react to default handleType
696
806
  const [displayData, setDisplayData] = <span class="cstat-no" title="statement not covered" >useState(dataOptions);</span>
@@ -704,7 +814,7 @@ const Typedown = <span class="fstat-no" title="function not covered" >({</span>
704
814
  }, [dataOptions]);
705
815
  &nbsp;
706
816
  // Setup default handleType
707
- const handleType = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >(e</span>) =&gt; {</span>
817
+ const handleType = <span class="cstat-no" title="statement not covered" >useCallback(<span class="fstat-no" title="function not covered" >(e</span>) =&gt; {</span>
708
818
  const regex = <span class="cstat-no" title="statement not covered" >new RegExp(`${e.target.value.toLowerCase()}`);</span>
709
819
  <span class="cstat-no" title="statement not covered" > if (onType) {</span>
710
820
  <span class="cstat-no" title="statement not covered" > onType(e);</span>
@@ -723,20 +833,20 @@ const Typedown = <span class="fstat-no" title="function not covered" >({</span>
723
833
  } else {
724
834
  <span class="cstat-no" title="statement not covered" > setExactMatch(false);</span>
725
835
  }
726
- };
836
+ }, [dataOptions, displayData, filterPath, onType, uniqueIdentificationPath]);
727
837
  &nbsp;
728
838
  // Hook to set up all the essentials
729
839
  const {
730
840
  refs: {
731
841
  listRef,
732
842
  triggerRef,
843
+ triggerComponentRef,
733
844
  overlayRef,
734
- footerRef
845
+ footerRef,
846
+ headerRef
735
847
  },
736
848
  handlers: {
737
849
  handleNextFocus,
738
- listKeyDownHandler,
739
- searchFieldKeyDownHandler
740
850
  },
741
851
  variables: {
742
852
  open,
@@ -756,19 +866,52 @@ const Typedown = <span class="fstat-no" title="function not covered" >({</span>
756
866
  className={css.listItem}
757
867
  &gt;
758
868
  {renderListItem ?
759
- renderListItem(option, currentlyTyped, exactMatch, optionIsSelected) :
869
+ renderListItem(option, currentlyTyped, exactMatch, optionIsSelected, selectedValue) :
760
870
  get(option, uniqueIdentificationPath)
761
871
  }
762
872
  &lt;/div&gt;
763
- ), [currentlyTyped, exactMatch, renderListItem, uniqueIdentificationPath]);
873
+ ), [currentlyTyped, exactMatch, renderListItem, selectedValue, uniqueIdentificationPath]);
764
874
  &nbsp;
765
875
  const handleChange = <span class="cstat-no" title="statement not covered" >useCallback(<span class="fstat-no" title="function not covered" >va</span>lue =&gt; {</span>
766
876
  <span class="cstat-no" title="statement not covered" > input.onChange(value);</span>
877
+ <span class="cstat-no" title="statement not covered" > setSelectedValue(value);</span>
767
878
  &nbsp;
768
879
  <span class="cstat-no" title="statement not covered" > if (typeof onChange === 'function') {</span>
769
880
  <span class="cstat-no" title="statement not covered" > onChange(value);</span>
770
881
  }
771
882
  }, [input, onChange]);
883
+ &nbsp;
884
+ const renderTypedownTrigger = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >()</span> =&gt; {</span>
885
+ const triggerComponentId = <span class="cstat-no" title="statement not covered" >`typedown-trigger-${selectorSafe(input.name)}`;</span>
886
+ <span class="cstat-no" title="statement not covered" > return (</span>
887
+ &lt;div
888
+ ref={triggerRef}
889
+ id={`typedown-parent-${selectorSafe(input.name)}-trigger`}
890
+ &gt;
891
+ {renderTrigger ?
892
+ renderTrigger({ // Pass all props in that searchfield uses.
893
+ handleType,
894
+ input, // Pass input? Useful when not controlled I guess
895
+ meta,
896
+ selectedValue,
897
+ triggerComponentId,
898
+ triggerComponentRef,
899
+ })
900
+ :
901
+ &lt;SearchField
902
+ ref={triggerComponentRef}
903
+ // Pass meta through so correct styling gets applied to the TextField
904
+ id={triggerComponentId}
905
+ label={label}
906
+ marginBottom0
907
+ meta={meta}
908
+ onChange={handleType}
909
+ required={required}
910
+ /&gt;
911
+ }
912
+ &lt;/div&gt;
913
+ );
914
+ };
772
915
  &nbsp;
773
916
  const dropDown = <span class="cstat-no" title="statement not covered" >useCallback(<span class="fstat-no" title="function not covered" >()</span> =&gt; {</span>
774
917
  <span class="cstat-no" title="statement not covered" > return (</span>
@@ -777,10 +920,32 @@ const Typedown = <span class="fstat-no" title="function not covered" >({</span>
777
920
  id={`typedown-parent-${selectorSafe(input.name)}-menu`}
778
921
  style={{ '--searchWidth': `${searchWidth}px` }}
779
922
  &gt;
923
+ {renderHeader &amp;&amp;
924
+ &lt;div
925
+ ref={headerRef}
926
+ className={css.header}
927
+ id={`typedown-header-${selectorSafe(input.name)}`}
928
+ &gt;
929
+ {/* Adopt a more extensible pattern for renderHeader, renderFooter will eventually follow */}
930
+ {renderHeader({
931
+ currentlyTyped,
932
+ displayData,
933
+ handleType,
934
+ exactMatch
935
+ })}
936
+ &lt;/div&gt;
937
+ }
938
+ {/* eslint-disable-next-line jsx-a11y/no-static-element-interactions */}
780
939
  &lt;div
781
940
  ref={listRef}
782
941
  className={css.listContainer}
783
942
  id="typedown-list"
943
+ /* This is an acceptable exception to the no-static-element-interactions
944
+ * as we are only PREVENTING interactions, namely focus change on scrollbar click
945
+ * Without this, the typedown closes instantly when the scrollbar is clicked or dragged.
946
+ * This does NOT prevent item click, as e.propagation is not prevented.
947
+ */
948
+ onMouseDown={<span class="fstat-no" title="function not covered" >(e</span>) =&gt; <span class="cstat-no" title="statement not covered" >e.preventDefault()}</span>
784
949
  &gt;
785
950
  {displayData?.length ? displayData?.map(<span class="fstat-no" title="function not covered" >(d</span>, index) =&gt; {
786
951
  const isSelectedEval = <span class="cstat-no" title="statement not covered" >isSelected ? isSelected(input.value, d) : get(input.value, uniqueIdentificationPath) === get(d, uniqueIdentificationPath);</span>
@@ -800,7 +965,6 @@ const Typedown = <span class="fstat-no" title="function not covered" >({</span>
800
965
  <span class="cstat-no" title="statement not covered" > handleChange(d);</span>
801
966
  <span class="cstat-no" title="statement not covered" > handleNextFocus();</span>
802
967
  }}
803
- onKeyDown={listKeyDownHandler}
804
968
  type="button"
805
969
  &gt;
806
970
  {renderItem(d, isSelectedEval)}
@@ -829,41 +993,52 @@ const Typedown = <span class="fstat-no" title="function not covered" >({</span>
829
993
  footerRef,
830
994
  handleChange,
831
995
  handleNextFocus,
996
+ handleType,
997
+ headerRef,
832
998
  input.name,
833
999
  input.value,
834
1000
  isSelected,
835
- listKeyDownHandler,
836
1001
  listRef,
837
1002
  renderFooter,
1003
+ renderHeader,
838
1004
  renderItem,
839
1005
  searchWidth,
840
1006
  selectedStyles,
841
1007
  uniqueIdentificationPath
842
1008
  ]);
843
1009
  &nbsp;
844
- const renderSearchField = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >()</span> =&gt; {</span>
845
- <span class="cstat-no" title="statement not covered" > return (</span>
1010
+ const renderSelectedItem = <span class="cstat-no" title="statement not covered" >useCallback(<span class="fstat-no" title="function not covered" >()</span> =&gt; (</span>
1011
+ <span class="cstat-no" title="statement not covered" > &lt;div</span>
1012
+ className={classnames(
1013
+ css.selectedDisplay
1014
+ )}
1015
+ &gt;
846
1016
  &lt;div
847
- ref={triggerRef}
848
- id={`typedown-parent-${selectorSafe(input.name)}-searchField`}
1017
+ className={css.selectedItem}
849
1018
  &gt;
850
- &lt;SearchField
851
- // Pass meta through so correct styling gets applied to the TextField
852
- id={`typedown-searchField-${selectorSafe(input.name)}`}
853
- label={label}
854
- marginBottom0
855
- meta={meta}
856
- onChange={handleType}
857
- onKeyDown={searchFieldKeyDownHandler}
858
- required={required}
859
- /&gt;
1019
+ {renderItem(input.value)}
860
1020
  &lt;/div&gt;
861
- );
862
- };
1021
+ {displayClearItem &amp;&amp;
1022
+ &lt;IconButton
1023
+ className={css.clearItem}
1024
+ icon="times-circle-solid"
1025
+ onClick={<span class="fstat-no" title="function not covered" >()</span> =&gt; <span class="cstat-no" title="statement not covered" >handleChange()}</span>
1026
+ /&gt;
1027
+ }
1028
+ &lt;/div&gt;
1029
+ ), [displayClearItem, handleChange, input.value, renderItem]);
863
1030
  &nbsp;
864
1031
  const displayValue = <span class="cstat-no" title="statement not covered" >useMemo(<span class="fstat-no" title="function not covered" >()</span> =&gt; {</span>
1032
+ // Allow full control over whether to display the value
1033
+ <span class="cstat-no" title="statement not covered" > if (getDisplayValue) {</span>
1034
+ <span class="cstat-no" title="statement not covered" > return getDisplayValue({</span>
1035
+ selectedUniqueId,
1036
+ open
1037
+ });
1038
+ }
1039
+ &nbsp;
865
1040
  <span class="cstat-no" title="statement not covered" > return !!selectedUniqueId &amp;&amp; (!open || displayValueWhileOpen);</span>
866
- }, [displayValueWhileOpen, open, selectedUniqueId]);
1041
+ }, [displayValueWhileOpen, getDisplayValue, open, selectedUniqueId]);
867
1042
  &nbsp;
868
1043
  <span class="cstat-no" title="statement not covered" > return (</span>
869
1044
  &lt;div
@@ -874,7 +1049,7 @@ const Typedown = <span class="fstat-no" title="function not covered" >({</span>
874
1049
  )}
875
1050
  id={`typedown-id-${id}`}
876
1051
  &gt;
877
- {renderSearchField()}
1052
+ {renderTypedownTrigger()}
878
1053
  &lt;Popper
879
1054
  key="typedown-menu-toggle"
880
1055
  anchorRef={triggerRef}
@@ -897,26 +1072,7 @@ const Typedown = <span class="fstat-no" title="function not covered" >({</span>
897
1072
  &gt;
898
1073
  {dropDown()}
899
1074
  &lt;/Popper&gt;
900
- {displayValue &amp;&amp;
901
- &lt;div
902
- className={classnames(
903
- css.selectedDisplay
904
- )}
905
- &gt;
906
- &lt;div
907
- className={css.selectedItem}
908
- &gt;
909
- {renderItem(input.value)}
910
- &lt;/div&gt;
911
- {displayClearItem &amp;&amp;
912
- &lt;IconButton
913
- className={css.clearItem}
914
- icon="times-circle-solid"
915
- onClick={<span class="fstat-no" title="function not covered" >()</span> =&gt; <span class="cstat-no" title="statement not covered" >handleChange()}</span>
916
- /&gt;
917
- }
918
- &lt;/div&gt;
919
- }
1075
+ {displayValue &amp;&amp; renderSelectedItem()}
920
1076
  &lt;/div&gt;
921
1077
  );
922
1078
  };
@@ -932,6 +1088,7 @@ Typedown.propTypes = {
932
1088
  PropTypes.element
933
1089
  ]),
934
1090
  filterPath: PropTypes.string,
1091
+ getDisplayValue: PropTypes.func,
935
1092
  id: PropTypes.string,
936
1093
  initialOpenDelay: PropTypes.number,
937
1094
  input: PropTypes.object,
@@ -943,8 +1100,10 @@ Typedown.propTypes = {
943
1100
  meta: PropTypes.object,
944
1101
  onChange: PropTypes.func,
945
1102
  onType: PropTypes.func,
1103
+ renderHeader: PropTypes.func,
946
1104
  renderFooter: PropTypes.func,
947
1105
  renderListItem: PropTypes.func,
1106
+ renderTrigger: PropTypes.func,
948
1107
  required: PropTypes.bool,
949
1108
  selectedStyles: PropTypes.string,
950
1109
  uniqueIdentificationPath: PropTypes.string
@@ -958,7 +1117,7 @@ export default Typedown;
958
1117
  <div class='footer quiet pad2 space-top1 center small'>
959
1118
  Code coverage generated by
960
1119
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
961
- at 2025-12-10T12:12:10.913Z
1120
+ at 2025-12-12T16:39:50.848Z
962
1121
  </div>
963
1122
  <script src="../prettify.js"></script>
964
1123
  <script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">4.54% </span>
26
+ <span class="strong">3.84% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>2/44</span>
28
+ <span class='fraction'>2/52</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/40</span>
35
+ <span class='fraction'>0/48</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
40
  <span class="strong">0% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>0/14</span>
42
+ <span class='fraction'>0/16</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">4.76% </span>
47
+ <span class="strong">4% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>2/42</span>
49
+ <span class='fraction'>2/50</span>
50
50
  </div>
51
51
 
52
52
 
@@ -80,17 +80,17 @@
80
80
  </thead>
81
81
  <tbody><tr>
82
82
  <td class="file low" data-value="Typedown.js"><a href="Typedown.js.html">Typedown.js</a></td>
83
- <td data-value="4.54" class="pic low">
84
- <div class="chart"><div class="cover-fill" style="width: 4%"></div><div class="cover-empty" style="width: 96%"></div></div>
83
+ <td data-value="3.84" class="pic low">
84
+ <div class="chart"><div class="cover-fill" style="width: 3%"></div><div class="cover-empty" style="width: 97%"></div></div>
85
85
  </td>
86
- <td data-value="4.54" class="pct low">4.54%</td>
87
- <td data-value="44" class="abs low">2/44</td>
86
+ <td data-value="3.84" class="pct low">3.84%</td>
87
+ <td data-value="52" class="abs low">2/52</td>
88
88
  <td data-value="0" class="pct low">0%</td>
89
- <td data-value="40" class="abs low">0/40</td>
89
+ <td data-value="48" class="abs low">0/48</td>
90
90
  <td data-value="0" class="pct low">0%</td>
91
- <td data-value="14" class="abs low">0/14</td>
92
- <td data-value="4.76" class="pct low">4.76%</td>
93
- <td data-value="42" class="abs low">2/42</td>
91
+ <td data-value="16" class="abs low">0/16</td>
92
+ <td data-value="4" class="pct low">4%</td>
93
+ <td data-value="50" class="abs low">2/50</td>
94
94
  </tr>
95
95
 
96
96
  <tr>
@@ -116,7 +116,7 @@
116
116
  <div class='footer quiet pad2 space-top1 center small'>
117
117
  Code coverage generated by
118
118
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
119
- at 2025-12-10T12:12:10.913Z
119
+ at 2025-12-12T16:39:50.848Z
120
120
  </div>
121
121
  <script src="../prettify.js"></script>
122
122
  <script>
@@ -73,7 +73,7 @@
73
73
  <div class='footer quiet pad2 space-top1 center small'>
74
74
  Code coverage generated by
75
75
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
76
- at 2025-12-10T12:12:10.913Z
76
+ at 2025-12-12T16:39:50.848Z
77
77
  </div>
78
78
  <script src="../prettify.js"></script>
79
79
  <script>