@k-int/stripes-kint-components 5.30.0 → 5.31.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (278) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/es/index.js +8 -0
  3. package/es/lib/ButtonTypedown/ButtonTypedown.js +59 -0
  4. package/es/lib/ButtonTypedown/index.js +13 -0
  5. package/es/lib/Typedown/Typedown.js +89 -46
  6. package/es/lib/hooks/typedownHooks/useTypedown.js +148 -85
  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 +244 -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 +230 -62
  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 +252 -103
  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 +318 -105
  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 +40 -25
  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 +53 -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 +106 -50
  277. package/src/lib/hooks/typedownHooks/useTypedown.js +165 -94
  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.77% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>2/44</span>
28
+ <span class='fraction'>2/53</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">3.92% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>2/42</span>
49
+ <span class='fraction'>2/51</span>
50
50
  </div>
51
51
 
52
52
 
@@ -359,7 +359,63 @@
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>
416
+ <a name='L351'></a><a href='#L351'>351</a>
417
+ <a name='L352'></a><a href='#L352'>352</a>
418
+ <a name='L353'></a><a href='#L353'>353</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
363
419
  <span class="cline-any cline-neutral">&nbsp;</span>
364
420
  <span class="cline-any cline-neutral">&nbsp;</span>
365
421
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -394,6 +450,10 @@
394
450
  <span class="cline-any cline-neutral">&nbsp;</span>
395
451
  <span class="cline-any cline-neutral">&nbsp;</span>
396
452
  <span class="cline-any cline-neutral">&nbsp;</span>
453
+ <span class="cline-any cline-neutral">&nbsp;</span>
454
+ <span class="cline-any cline-neutral">&nbsp;</span>
455
+ <span class="cline-any cline-neutral">&nbsp;</span>
456
+ <span class="cline-any cline-no">&nbsp;</span>
397
457
  <span class="cline-any cline-no">&nbsp;</span>
398
458
  <span class="cline-any cline-neutral">&nbsp;</span>
399
459
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -455,6 +515,7 @@
455
515
  <span class="cline-any cline-neutral">&nbsp;</span>
456
516
  <span class="cline-any cline-neutral">&nbsp;</span>
457
517
  <span class="cline-any cline-neutral">&nbsp;</span>
518
+ <span class="cline-any cline-neutral">&nbsp;</span>
458
519
  <span class="cline-any cline-no">&nbsp;</span>
459
520
  <span class="cline-any cline-no">&nbsp;</span>
460
521
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -468,6 +529,7 @@
468
529
  <span class="cline-any cline-neutral">&nbsp;</span>
469
530
  <span class="cline-any cline-no">&nbsp;</span>
470
531
  <span class="cline-any cline-no">&nbsp;</span>
532
+ <span class="cline-any cline-no">&nbsp;</span>
471
533
  <span class="cline-any cline-neutral">&nbsp;</span>
472
534
  <span class="cline-any cline-no">&nbsp;</span>
473
535
  <span class="cline-any cline-no">&nbsp;</span>
@@ -476,6 +538,14 @@
476
538
  <span class="cline-any cline-neutral">&nbsp;</span>
477
539
  <span class="cline-any cline-no">&nbsp;</span>
478
540
  <span class="cline-any cline-no">&nbsp;</span>
541
+ <span class="cline-any cline-no">&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>
545
+ <span class="cline-any cline-neutral">&nbsp;</span>
546
+ <span class="cline-any cline-neutral">&nbsp;</span>
547
+ <span class="cline-any cline-neutral">&nbsp;</span>
548
+ <span class="cline-any cline-neutral">&nbsp;</span>
479
549
  <span class="cline-any cline-neutral">&nbsp;</span>
480
550
  <span class="cline-any cline-neutral">&nbsp;</span>
481
551
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -487,10 +557,7 @@
487
557
  <span class="cline-any cline-neutral">&nbsp;</span>
488
558
  <span class="cline-any cline-neutral">&nbsp;</span>
489
559
  <span class="cline-any cline-neutral">&nbsp;</span>
490
- <span class="cline-any cline-no">&nbsp;</span>
491
560
  <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
561
  <span class="cline-any cline-neutral">&nbsp;</span>
495
562
  <span class="cline-any cline-neutral">&nbsp;</span>
496
563
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -533,8 +600,15 @@
533
600
  <span class="cline-any cline-neutral">&nbsp;</span>
534
601
  <span class="cline-any cline-neutral">&nbsp;</span>
535
602
  <span class="cline-any cline-neutral">&nbsp;</span>
603
+ <span class="cline-any cline-no">&nbsp;</span>
536
604
  <span class="cline-any cline-neutral">&nbsp;</span>
537
605
  <span class="cline-any cline-neutral">&nbsp;</span>
606
+ <span class="cline-any cline-no">&nbsp;</span>
607
+ <span class="cline-any cline-neutral">&nbsp;</span>
608
+ <span class="cline-any cline-no">&nbsp;</span>
609
+ <span class="cline-any cline-neutral">&nbsp;</span>
610
+ <span class="cline-any cline-no">&nbsp;</span>
611
+ <span class="cline-any cline-no">&nbsp;</span>
538
612
  <span class="cline-any cline-neutral">&nbsp;</span>
539
613
  <span class="cline-any cline-neutral">&nbsp;</span>
540
614
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -565,11 +639,35 @@
565
639
  <span class="cline-any cline-neutral">&nbsp;</span>
566
640
  <span class="cline-any cline-neutral">&nbsp;</span>
567
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>
661
+ <span class="cline-any cline-neutral">&nbsp;</span>
662
+ <span class="cline-any cline-neutral">&nbsp;</span>
663
+ <span class="cline-any cline-neutral">&nbsp;</span>
664
+ <span class="cline-any cline-neutral">&nbsp;</span>
665
+ <span class="cline-any cline-neutral">&nbsp;</span>
666
+ <span class="cline-any cline-neutral">&nbsp;</span>
568
667
  <span class="cline-any cline-no">&nbsp;</span>
569
668
  <span class="cline-any cline-no">&nbsp;</span>
570
669
  <span class="cline-any cline-neutral">&nbsp;</span>
571
670
  <span class="cline-any cline-neutral">&nbsp;</span>
572
- <span class="cline-any cline-no">&nbsp;</span>
573
671
  <span class="cline-any cline-neutral">&nbsp;</span>
574
672
  <span class="cline-any cline-neutral">&nbsp;</span>
575
673
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -581,17 +679,22 @@
581
679
  <span class="cline-any cline-neutral">&nbsp;</span>
582
680
  <span class="cline-any cline-neutral">&nbsp;</span>
583
681
  <span class="cline-any cline-neutral">&nbsp;</span>
682
+ <span class="cline-any cline-no">&nbsp;</span>
584
683
  <span class="cline-any cline-neutral">&nbsp;</span>
585
684
  <span class="cline-any cline-neutral">&nbsp;</span>
586
685
  <span class="cline-any cline-neutral">&nbsp;</span>
587
686
  <span class="cline-any cline-neutral">&nbsp;</span>
588
687
  <span class="cline-any cline-neutral">&nbsp;</span>
688
+ <span class="cline-any cline-no">&nbsp;</span>
589
689
  <span class="cline-any cline-neutral">&nbsp;</span>
690
+ <span class="cline-any cline-no">&nbsp;</span>
691
+ <span class="cline-any cline-no">&nbsp;</span>
590
692
  <span class="cline-any cline-neutral">&nbsp;</span>
591
693
  <span class="cline-any cline-neutral">&nbsp;</span>
592
694
  <span class="cline-any cline-neutral">&nbsp;</span>
593
695
  <span class="cline-any cline-neutral">&nbsp;</span>
594
696
  <span class="cline-any cline-neutral">&nbsp;</span>
697
+ <span class="cline-any cline-no">&nbsp;</span>
595
698
  <span class="cline-any cline-neutral">&nbsp;</span>
596
699
  <span class="cline-any cline-neutral">&nbsp;</span>
597
700
  <span class="cline-any cline-no">&nbsp;</span>
@@ -616,6 +719,9 @@
616
719
  <span class="cline-any cline-neutral">&nbsp;</span>
617
720
  <span class="cline-any cline-neutral">&nbsp;</span>
618
721
  <span class="cline-any cline-neutral">&nbsp;</span>
722
+ <span class="cline-any cline-neutral">&nbsp;</span>
723
+ <span class="cline-any cline-neutral">&nbsp;</span>
724
+ <span class="cline-any cline-neutral">&nbsp;</span>
619
725
  <span class="cline-any cline-no">&nbsp;</span>
620
726
  <span class="cline-any cline-neutral">&nbsp;</span>
621
727
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -625,6 +731,9 @@
625
731
  <span class="cline-any cline-neutral">&nbsp;</span>
626
732
  <span class="cline-any cline-neutral">&nbsp;</span>
627
733
  <span class="cline-any cline-neutral">&nbsp;</span>
734
+ <span class="cline-any cline-neutral">&nbsp;</span>
735
+ <span class="cline-any cline-neutral">&nbsp;</span>
736
+ <span class="cline-any cline-neutral">&nbsp;</span>
628
737
  <span class="cline-any cline-yes">23x</span>
629
738
  <span class="cline-any cline-neutral">&nbsp;</span>
630
739
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -655,7 +764,10 @@
655
764
  <span class="cline-any cline-neutral">&nbsp;</span>
656
765
  <span class="cline-any cline-neutral">&nbsp;</span>
657
766
  <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';
767
+ <span class="cline-any cline-neutral">&nbsp;</span>
768
+ <span class="cline-any cline-neutral">&nbsp;</span>
769
+ <span class="cline-any cline-neutral">&nbsp;</span>
770
+ <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
771
  import PropTypes from 'prop-types';
660
772
  import classnames from 'classnames';
661
773
  &nbsp;
@@ -675,6 +787,7 @@ const Typedown = <span class="fstat-no" title="function not covered" >({</span>
675
787
  displayClearItem = <span class="branch-0 cbranch-no" title="branch not covered" >true,</span>
676
788
  displayValueWhileOpen = <span class="branch-0 cbranch-no" title="branch not covered" >true,</span>
677
789
  endOfList,
790
+ getDisplayValue, // Can overrule displayValue entirely
678
791
  id,
679
792
  initialOpenDelay = <span class="branch-0 cbranch-no" title="branch not covered" >800,</span> // Initial opening delay of 800ms (handles any stripes animations)
680
793
  input,
@@ -685,12 +798,15 @@ const Typedown = <span class="fstat-no" title="function not covered" >({</span>
685
798
  onChange,
686
799
  onType,
687
800
  renderFooter = <span class="branch-0 cbranch-no" title="branch not covered" >null,</span>
801
+ renderHeader = <span class="branch-0 cbranch-no" title="branch not covered" >null,</span>
688
802
  renderListItem = <span class="branch-0 cbranch-no" title="branch not covered" >null,</span>
803
+ renderTrigger = <span class="branch-0 cbranch-no" title="branch not covered" >null,</span>
689
804
  required,
690
805
  selectedStyles, // A way to pass any styles that need to be applied globally on selection
691
806
  uniqueIdentificationPath = <span class="branch-0 cbranch-no" title="branch not covered" >'id'</span>
692
807
  }) =&gt; {
693
808
  const selectedUniqueId = <span class="cstat-no" title="statement not covered" >get(input.value, uniqueIdentificationPath);</span>
809
+ 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
810
  &nbsp;
695
811
  // Display data needs to be in line with data options but also able to react to default handleType
696
812
  const [displayData, setDisplayData] = <span class="cstat-no" title="statement not covered" >useState(dataOptions);</span>
@@ -704,7 +820,7 @@ const Typedown = <span class="fstat-no" title="function not covered" >({</span>
704
820
  }, [dataOptions]);
705
821
  &nbsp;
706
822
  // 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>
823
+ const handleType = <span class="cstat-no" title="statement not covered" >useCallback(<span class="fstat-no" title="function not covered" >(e</span>) =&gt; {</span>
708
824
  const regex = <span class="cstat-no" title="statement not covered" >new RegExp(`${e.target.value.toLowerCase()}`);</span>
709
825
  <span class="cstat-no" title="statement not covered" > if (onType) {</span>
710
826
  <span class="cstat-no" title="statement not covered" > onType(e);</span>
@@ -723,20 +839,20 @@ const Typedown = <span class="fstat-no" title="function not covered" >({</span>
723
839
  } else {
724
840
  <span class="cstat-no" title="statement not covered" > setExactMatch(false);</span>
725
841
  }
726
- };
842
+ }, [dataOptions, displayData, filterPath, onType, uniqueIdentificationPath]);
727
843
  &nbsp;
728
844
  // Hook to set up all the essentials
729
845
  const {
730
846
  refs: {
731
847
  listRef,
732
848
  triggerRef,
849
+ triggerComponentRef,
733
850
  overlayRef,
734
- footerRef
851
+ footerRef,
852
+ headerRef
735
853
  },
736
854
  handlers: {
737
855
  handleNextFocus,
738
- listKeyDownHandler,
739
- searchFieldKeyDownHandler
740
856
  },
741
857
  variables: {
742
858
  open,
@@ -747,6 +863,7 @@ const Typedown = <span class="fstat-no" title="function not covered" >({</span>
747
863
  } = <span class="cstat-no" title="statement not covered" >useTypedown(</span>
748
864
  input.name,
749
865
  {
866
+ dataOptions,
750
867
  timeout: initialOpenDelay
751
868
  }
752
869
  );
@@ -756,19 +873,52 @@ const Typedown = <span class="fstat-no" title="function not covered" >({</span>
756
873
  className={css.listItem}
757
874
  &gt;
758
875
  {renderListItem ?
759
- renderListItem(option, currentlyTyped, exactMatch, optionIsSelected) :
876
+ renderListItem(option, currentlyTyped, exactMatch, optionIsSelected, selectedValue) :
760
877
  get(option, uniqueIdentificationPath)
761
878
  }
762
879
  &lt;/div&gt;
763
- ), [currentlyTyped, exactMatch, renderListItem, uniqueIdentificationPath]);
880
+ ), [currentlyTyped, exactMatch, renderListItem, selectedValue, uniqueIdentificationPath]);
764
881
  &nbsp;
765
882
  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
883
  <span class="cstat-no" title="statement not covered" > input.onChange(value);</span>
884
+ <span class="cstat-no" title="statement not covered" > setSelectedValue(value);</span>
767
885
  &nbsp;
768
886
  <span class="cstat-no" title="statement not covered" > if (typeof onChange === 'function') {</span>
769
887
  <span class="cstat-no" title="statement not covered" > onChange(value);</span>
770
888
  }
771
889
  }, [input, onChange]);
890
+ &nbsp;
891
+ const renderTypedownTrigger = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >()</span> =&gt; {</span>
892
+ const triggerComponentId = <span class="cstat-no" title="statement not covered" >`typedown-trigger-${selectorSafe(input.name)}`;</span>
893
+ <span class="cstat-no" title="statement not covered" > return (</span>
894
+ &lt;div
895
+ ref={triggerRef}
896
+ id={`typedown-parent-${selectorSafe(input.name)}-trigger`}
897
+ &gt;
898
+ {renderTrigger ?
899
+ renderTrigger({ // Pass all props in that searchfield uses.
900
+ handleType,
901
+ input, // Pass input? Useful when not controlled I guess
902
+ meta,
903
+ selectedValue,
904
+ triggerComponentId,
905
+ triggerComponentRef,
906
+ })
907
+ :
908
+ &lt;SearchField
909
+ ref={triggerComponentRef}
910
+ // Pass meta through so correct styling gets applied to the TextField
911
+ id={triggerComponentId}
912
+ label={label}
913
+ marginBottom0
914
+ meta={meta}
915
+ onChange={handleType}
916
+ required={required}
917
+ /&gt;
918
+ }
919
+ &lt;/div&gt;
920
+ );
921
+ };
772
922
  &nbsp;
773
923
  const dropDown = <span class="cstat-no" title="statement not covered" >useCallback(<span class="fstat-no" title="function not covered" >()</span> =&gt; {</span>
774
924
  <span class="cstat-no" title="statement not covered" > return (</span>
@@ -777,30 +927,53 @@ const Typedown = <span class="fstat-no" title="function not covered" >({</span>
777
927
  id={`typedown-parent-${selectorSafe(input.name)}-menu`}
778
928
  style={{ '--searchWidth': `${searchWidth}px` }}
779
929
  &gt;
930
+ {renderHeader &amp;&amp;
931
+ &lt;div
932
+ ref={headerRef}
933
+ className={css.header}
934
+ id={`typedown-header-${selectorSafe(input.name)}`}
935
+ &gt;
936
+ {/* Adopt a more extensible pattern for renderHeader, renderFooter will eventually follow */}
937
+ {renderHeader({
938
+ currentlyTyped,
939
+ displayData,
940
+ handleType,
941
+ exactMatch
942
+ })}
943
+ &lt;/div&gt;
944
+ }
945
+ {/* eslint-disable-next-line jsx-a11y/no-static-element-interactions */}
780
946
  &lt;div
781
947
  ref={listRef}
782
948
  className={css.listContainer}
783
949
  id="typedown-list"
950
+ /* This is an acceptable exception to the no-static-element-interactions
951
+ * as we are only PREVENTING interactions, namely focus change on scrollbar click
952
+ * Without this, the typedown closes instantly when the scrollbar is clicked or dragged.
953
+ * This does NOT prevent item click, as e.propagation is not prevented.
954
+ */
955
+ onMouseDown={<span class="fstat-no" title="function not covered" >(e</span>) =&gt; <span class="cstat-no" title="statement not covered" >e.preventDefault()}</span>
784
956
  &gt;
785
957
  {displayData?.length ? displayData?.map(<span class="fstat-no" title="function not covered" >(d</span>, index) =&gt; {
786
958
  const isSelectedEval = <span class="cstat-no" title="statement not covered" >isSelected ? isSelected(input.value, d) : get(input.value, uniqueIdentificationPath) === get(d, uniqueIdentificationPath);</span>
787
959
  &nbsp;
788
960
  const selectedCSS = <span class="cstat-no" title="statement not covered" >selectedStyles ?? css.selectedMenuButton;</span>
961
+ &nbsp;
962
+ const uniqueButtonKey = <span class="cstat-no" title="statement not covered" >`typedown-button-[${get(d, uniqueIdentificationPath)}]`;</span>
789
963
  <span class="cstat-no" title="statement not covered" > return (</span>
790
964
  &lt;button
791
- key={`typedown-button-[${index}]`}
965
+ key={uniqueButtonKey}
792
966
  className={classnames(
793
967
  css.fullWidth,
794
968
  css.menuButton,
795
969
  { [`${selectedCSS}`]: isSelectedEval },
796
970
  )}
797
971
  data-selected={isSelectedEval}
798
- id={`typedown-button-[${index}]`}
972
+ id={uniqueButtonKey}
799
973
  onClick={<span class="fstat-no" title="function not covered" >()</span> =&gt; {
800
974
  <span class="cstat-no" title="statement not covered" > handleChange(d);</span>
801
975
  <span class="cstat-no" title="statement not covered" > handleNextFocus();</span>
802
976
  }}
803
- onKeyDown={listKeyDownHandler}
804
977
  type="button"
805
978
  &gt;
806
979
  {renderItem(d, isSelectedEval)}
@@ -829,41 +1002,52 @@ const Typedown = <span class="fstat-no" title="function not covered" >({</span>
829
1002
  footerRef,
830
1003
  handleChange,
831
1004
  handleNextFocus,
1005
+ handleType,
1006
+ headerRef,
832
1007
  input.name,
833
1008
  input.value,
834
1009
  isSelected,
835
- listKeyDownHandler,
836
1010
  listRef,
837
1011
  renderFooter,
1012
+ renderHeader,
838
1013
  renderItem,
839
1014
  searchWidth,
840
1015
  selectedStyles,
841
1016
  uniqueIdentificationPath
842
1017
  ]);
843
1018
  &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>
1019
+ const renderSelectedItem = <span class="cstat-no" title="statement not covered" >useCallback(<span class="fstat-no" title="function not covered" >()</span> =&gt; (</span>
1020
+ <span class="cstat-no" title="statement not covered" > &lt;div</span>
1021
+ className={classnames(
1022
+ css.selectedDisplay
1023
+ )}
1024
+ &gt;
846
1025
  &lt;div
847
- ref={triggerRef}
848
- id={`typedown-parent-${selectorSafe(input.name)}-searchField`}
1026
+ className={css.selectedItem}
849
1027
  &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;
1028
+ {renderItem(input.value)}
860
1029
  &lt;/div&gt;
861
- );
862
- };
1030
+ {displayClearItem &amp;&amp;
1031
+ &lt;IconButton
1032
+ className={css.clearItem}
1033
+ icon="times-circle-solid"
1034
+ onClick={<span class="fstat-no" title="function not covered" >()</span> =&gt; <span class="cstat-no" title="statement not covered" >handleChange()}</span>
1035
+ /&gt;
1036
+ }
1037
+ &lt;/div&gt;
1038
+ ), [displayClearItem, handleChange, input.value, renderItem]);
863
1039
  &nbsp;
864
1040
  const displayValue = <span class="cstat-no" title="statement not covered" >useMemo(<span class="fstat-no" title="function not covered" >()</span> =&gt; {</span>
1041
+ // Allow full control over whether to display the value
1042
+ <span class="cstat-no" title="statement not covered" > if (getDisplayValue) {</span>
1043
+ <span class="cstat-no" title="statement not covered" > return getDisplayValue({</span>
1044
+ selectedUniqueId,
1045
+ open
1046
+ });
1047
+ }
1048
+ &nbsp;
865
1049
  <span class="cstat-no" title="statement not covered" > return !!selectedUniqueId &amp;&amp; (!open || displayValueWhileOpen);</span>
866
- }, [displayValueWhileOpen, open, selectedUniqueId]);
1050
+ }, [displayValueWhileOpen, getDisplayValue, open, selectedUniqueId]);
867
1051
  &nbsp;
868
1052
  <span class="cstat-no" title="statement not covered" > return (</span>
869
1053
  &lt;div
@@ -874,7 +1058,7 @@ const Typedown = <span class="fstat-no" title="function not covered" >({</span>
874
1058
  )}
875
1059
  id={`typedown-id-${id}`}
876
1060
  &gt;
877
- {renderSearchField()}
1061
+ {renderTypedownTrigger()}
878
1062
  &lt;Popper
879
1063
  key="typedown-menu-toggle"
880
1064
  anchorRef={triggerRef}
@@ -897,26 +1081,7 @@ const Typedown = <span class="fstat-no" title="function not covered" >({</span>
897
1081
  &gt;
898
1082
  {dropDown()}
899
1083
  &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
- }
1084
+ {displayValue &amp;&amp; renderSelectedItem()}
920
1085
  &lt;/div&gt;
921
1086
  );
922
1087
  };
@@ -932,6 +1097,7 @@ Typedown.propTypes = {
932
1097
  PropTypes.element
933
1098
  ]),
934
1099
  filterPath: PropTypes.string,
1100
+ getDisplayValue: PropTypes.func,
935
1101
  id: PropTypes.string,
936
1102
  initialOpenDelay: PropTypes.number,
937
1103
  input: PropTypes.object,
@@ -943,8 +1109,10 @@ Typedown.propTypes = {
943
1109
  meta: PropTypes.object,
944
1110
  onChange: PropTypes.func,
945
1111
  onType: PropTypes.func,
1112
+ renderHeader: PropTypes.func,
946
1113
  renderFooter: PropTypes.func,
947
1114
  renderListItem: PropTypes.func,
1115
+ renderTrigger: PropTypes.func,
948
1116
  required: PropTypes.bool,
949
1117
  selectedStyles: PropTypes.string,
950
1118
  uniqueIdentificationPath: PropTypes.string
@@ -958,7 +1126,7 @@ export default Typedown;
958
1126
  <div class='footer quiet pad2 space-top1 center small'>
959
1127
  Code coverage generated by
960
1128
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
961
- at 2025-12-10T12:12:10.913Z
1129
+ at 2025-12-12T20:17:01.385Z
962
1130
  </div>
963
1131
  <script src="../prettify.js"></script>
964
1132
  <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.77% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>2/44</span>
28
+ <span class='fraction'>2/53</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">3.92% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>2/42</span>
49
+ <span class='fraction'>2/51</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.77" 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.77" class="pct low">3.77%</td>
87
+ <td data-value="53" class="abs low">2/53</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="3.92" class="pct low">3.92%</td>
93
+ <td data-value="51" class="abs low">2/51</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-12T20:17:01.385Z
120
120
  </div>
121
121
  <script src="../prettify.js"></script>
122
122
  <script>