@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.
- package/CHANGELOG.md +22 -0
- package/es/index.js +8 -0
- package/es/lib/ButtonTypedown/ButtonTypedown.js +59 -0
- package/es/lib/ButtonTypedown/index.js +13 -0
- package/es/lib/Typedown/Typedown.js +89 -46
- package/es/lib/hooks/typedownHooks/useTypedown.js +148 -85
- package/package.json +1 -1
- package/src/artifacts/coverage-jest/ActionList/ActionList.js.html +1 -1
- package/src/artifacts/coverage-jest/ActionList/ActionListFieldArray.js.html +1 -1
- package/src/artifacts/coverage-jest/ActionList/index.html +1 -1
- package/src/artifacts/coverage-jest/ActionList/index.js.html +1 -1
- package/src/artifacts/coverage-jest/ButtonTypedown/ButtonTypedown.js.html +244 -0
- package/src/artifacts/coverage-jest/ButtonTypedown/index.html +131 -0
- package/src/artifacts/coverage-jest/ButtonTypedown/index.js.html +88 -0
- package/src/artifacts/coverage-jest/ComboButton/ComboButton.js.html +1 -1
- package/src/artifacts/coverage-jest/ComboButton/index.html +1 -1
- package/src/artifacts/coverage-jest/ComboButton/index.js.html +1 -1
- package/src/artifacts/coverage-jest/CustomProperties/Config/CustomPropertiesLookup.js.html +1 -1
- package/src/artifacts/coverage-jest/CustomProperties/Config/CustomPropertiesSettings.js.html +1 -1
- package/src/artifacts/coverage-jest/CustomProperties/Config/CustomPropertyForm.js.html +1 -1
- package/src/artifacts/coverage-jest/CustomProperties/Config/CustomPropertyView.js.html +1 -1
- package/src/artifacts/coverage-jest/CustomProperties/Config/index.html +1 -1
- package/src/artifacts/coverage-jest/CustomProperties/Config/index.js.html +1 -1
- package/src/artifacts/coverage-jest/CustomProperties/Edit/CustomPropertiesEdit.js.html +1 -1
- package/src/artifacts/coverage-jest/CustomProperties/Edit/CustomPropertiesEditCtx.js.html +1 -1
- package/src/artifacts/coverage-jest/CustomProperties/Edit/CustomPropertiesListField.js.html +1 -1
- package/src/artifacts/coverage-jest/CustomProperties/Edit/CustomPropertyField.js.html +1 -1
- package/src/artifacts/coverage-jest/CustomProperties/Edit/CustomPropertyFormCard.js.html +1 -1
- package/src/artifacts/coverage-jest/CustomProperties/Edit/index.html +1 -1
- package/src/artifacts/coverage-jest/CustomProperties/Edit/index.js.html +1 -1
- package/src/artifacts/coverage-jest/CustomProperties/Edit/testResources.js.html +1 -1
- package/src/artifacts/coverage-jest/CustomProperties/Filter/CustomPropertiesFilter.js.html +1 -1
- package/src/artifacts/coverage-jest/CustomProperties/Filter/CustomPropertiesFilterField.js.html +1 -1
- package/src/artifacts/coverage-jest/CustomProperties/Filter/CustomPropertiesFilterFieldArray.js.html +1 -1
- package/src/artifacts/coverage-jest/CustomProperties/Filter/CustomPropertiesFilterForm.js.html +1 -1
- package/src/artifacts/coverage-jest/CustomProperties/Filter/CustomPropertiesRule.js.html +1 -1
- package/src/artifacts/coverage-jest/CustomProperties/Filter/index.html +1 -1
- package/src/artifacts/coverage-jest/CustomProperties/Filter/index.js.html +1 -1
- package/src/artifacts/coverage-jest/CustomProperties/Filter/testResources.js.html +1 -1
- package/src/artifacts/coverage-jest/CustomProperties/Filter/useOperators.js.html +1 -1
- package/src/artifacts/coverage-jest/CustomProperties/Filter/useParseActiveFilterStrings.js.html +1 -1
- package/src/artifacts/coverage-jest/CustomProperties/Filter/useValueProps.js.html +1 -1
- package/src/artifacts/coverage-jest/CustomProperties/View/CustomPropertiesView.js.html +1 -1
- package/src/artifacts/coverage-jest/CustomProperties/View/CustomPropertiesViewCtx.js.html +1 -1
- package/src/artifacts/coverage-jest/CustomProperties/View/CustomPropertyCard.js.html +1 -1
- package/src/artifacts/coverage-jest/CustomProperties/View/index.html +1 -1
- package/src/artifacts/coverage-jest/CustomProperties/View/index.js.html +1 -1
- package/src/artifacts/coverage-jest/CustomProperties/View/testResources.js.html +1 -1
- package/src/artifacts/coverage-jest/CustomProperties/index.html +1 -1
- package/src/artifacts/coverage-jest/CustomProperties/index.js.html +1 -1
- package/src/artifacts/coverage-jest/CycleButton/CycleButton.js.html +1 -1
- package/src/artifacts/coverage-jest/CycleButton/index.html +1 -1
- package/src/artifacts/coverage-jest/CycleButton/index.js.html +1 -1
- package/src/artifacts/coverage-jest/FieldLabel/FieldLabel.js.html +1 -1
- package/src/artifacts/coverage-jest/FieldLabel/index.html +1 -1
- package/src/artifacts/coverage-jest/FieldLabel/index.js.html +1 -1
- package/src/artifacts/coverage-jest/FormModal/FormModal.js.html +1 -1
- package/src/artifacts/coverage-jest/FormModal/index.html +1 -1
- package/src/artifacts/coverage-jest/FormModal/index.js.html +1 -1
- package/src/artifacts/coverage-jest/FormattedKintMessage/FormattedKintMessage.js.html +1 -1
- package/src/artifacts/coverage-jest/FormattedKintMessage/index.html +1 -1
- package/src/artifacts/coverage-jest/FormattedKintMessage/index.js.html +1 -1
- package/src/artifacts/coverage-jest/IconSelect/IconSelect.js.html +1 -1
- package/src/artifacts/coverage-jest/IconSelect/index.html +1 -1
- package/src/artifacts/coverage-jest/IconSelect/index.js.html +1 -1
- package/src/artifacts/coverage-jest/NoResultsMessage/NoResultsMessage.js.html +1 -1
- package/src/artifacts/coverage-jest/NoResultsMessage/index.html +1 -1
- package/src/artifacts/coverage-jest/NoResultsMessage/index.js.html +1 -1
- package/src/artifacts/coverage-jest/NumberField/NumberField.js.html +1 -1
- package/src/artifacts/coverage-jest/NumberField/index.html +1 -1
- package/src/artifacts/coverage-jest/NumberField/index.js.html +1 -1
- package/src/artifacts/coverage-jest/QueryTypedown/QueryTypedown.js.html +1 -1
- package/src/artifacts/coverage-jest/QueryTypedown/index.html +1 -1
- package/src/artifacts/coverage-jest/QueryTypedown/index.js.html +1 -1
- package/src/artifacts/coverage-jest/RefdataButtons/RefdataButtons.js.html +1 -1
- package/src/artifacts/coverage-jest/RefdataButtons/index.html +1 -1
- package/src/artifacts/coverage-jest/RefdataButtons/index.js.html +1 -1
- package/src/artifacts/coverage-jest/ResponsiveButtonGroup/ResponsiveButtonGroup.js.html +1 -1
- package/src/artifacts/coverage-jest/ResponsiveButtonGroup/index.html +1 -1
- package/src/artifacts/coverage-jest/ResponsiveButtonGroup/index.js.html +1 -1
- package/src/artifacts/coverage-jest/ResponsiveButtonGroup/useResponsiveButtonGroupSizing.js.html +1 -1
- package/src/artifacts/coverage-jest/RichSelect/RichSelect.js.html +1 -1
- package/src/artifacts/coverage-jest/RichSelect/index.html +1 -1
- package/src/artifacts/coverage-jest/RichSelect/index.js.html +1 -1
- package/src/artifacts/coverage-jest/RichSelect/useSelectedOption.js.html +1 -1
- package/src/artifacts/coverage-jest/SASQLookupComponent/SASQLookupComponent.js.html +1 -1
- package/src/artifacts/coverage-jest/SASQLookupComponent/TableBody/TableBody.js.html +1 -1
- package/src/artifacts/coverage-jest/SASQLookupComponent/TableBody/index.html +1 -1
- package/src/artifacts/coverage-jest/SASQLookupComponent/TableBody/index.js.html +1 -1
- package/src/artifacts/coverage-jest/SASQLookupComponent/index.html +1 -1
- package/src/artifacts/coverage-jest/SASQLookupComponent/index.js.html +1 -1
- package/src/artifacts/coverage-jest/SASQRoute/SASQRoute.js.html +1 -1
- package/src/artifacts/coverage-jest/SASQRoute/index.html +1 -1
- package/src/artifacts/coverage-jest/SASQRoute/index.js.html +1 -1
- package/src/artifacts/coverage-jest/SASQViewComponent/SASQViewComponent.js.html +1 -1
- package/src/artifacts/coverage-jest/SASQViewComponent/index.html +1 -1
- package/src/artifacts/coverage-jest/SASQViewComponent/index.js.html +1 -1
- package/src/artifacts/coverage-jest/SearchField/SearchField.js.html +1 -1
- package/src/artifacts/coverage-jest/SearchField/index.html +1 -1
- package/src/artifacts/coverage-jest/SearchField/index.js.html +1 -1
- package/src/artifacts/coverage-jest/SearchKeyControl/SearchKeyControl.js.html +1 -1
- package/src/artifacts/coverage-jest/SearchKeyControl/index.html +1 -1
- package/src/artifacts/coverage-jest/SearchKeyControl/index.js.html +1 -1
- package/src/artifacts/coverage-jest/Settings/EditableRefdataCategoryList/EditableRefdataCategoryList.js.html +1 -1
- package/src/artifacts/coverage-jest/Settings/EditableRefdataCategoryList/index.html +1 -1
- package/src/artifacts/coverage-jest/Settings/EditableRefdataCategoryList/index.js.html +1 -1
- package/src/artifacts/coverage-jest/Settings/EditableRefdataList/EditableRefdataList.js.html +1 -1
- package/src/artifacts/coverage-jest/Settings/EditableRefdataList/index.html +1 -1
- package/src/artifacts/coverage-jest/Settings/EditableRefdataList/index.js.html +1 -1
- package/src/artifacts/coverage-jest/Settings/EditableSettingsList/EditableSettingsList.js.html +1 -1
- package/src/artifacts/coverage-jest/Settings/EditableSettingsList/EditableSettingsListFieldArray/EditableSettingsListFieldArray.js.html +1 -1
- package/src/artifacts/coverage-jest/Settings/EditableSettingsList/EditableSettingsListFieldArray/index.html +1 -1
- package/src/artifacts/coverage-jest/Settings/EditableSettingsList/EditableSettingsListFieldArray/index.js.html +1 -1
- package/src/artifacts/coverage-jest/Settings/EditableSettingsList/SettingField/EditSettingValue/EditSettingValue.js.html +1 -1
- package/src/artifacts/coverage-jest/Settings/EditableSettingsList/SettingField/EditSettingValue/index.html +1 -1
- package/src/artifacts/coverage-jest/Settings/EditableSettingsList/SettingField/EditSettingValue/index.js.html +1 -1
- package/src/artifacts/coverage-jest/Settings/EditableSettingsList/SettingField/RenderSettingValue/RenderSettingValue.js.html +1 -1
- package/src/artifacts/coverage-jest/Settings/EditableSettingsList/SettingField/RenderSettingValue/index.html +1 -1
- package/src/artifacts/coverage-jest/Settings/EditableSettingsList/SettingField/RenderSettingValue/index.js.html +1 -1
- package/src/artifacts/coverage-jest/Settings/EditableSettingsList/SettingField/SettingField.js.html +1 -1
- package/src/artifacts/coverage-jest/Settings/EditableSettingsList/SettingField/index.html +1 -1
- package/src/artifacts/coverage-jest/Settings/EditableSettingsList/SettingField/index.js.html +1 -1
- package/src/artifacts/coverage-jest/Settings/EditableSettingsList/index.html +1 -1
- package/src/artifacts/coverage-jest/Settings/EditableSettingsList/index.js.html +1 -1
- package/src/artifacts/coverage-jest/Settings/RefdataCategoriesSettings/RefdataCategoriesSettings.js.html +1 -1
- package/src/artifacts/coverage-jest/Settings/RefdataCategoriesSettings/index.html +1 -1
- package/src/artifacts/coverage-jest/Settings/RefdataCategoriesSettings/index.js.html +1 -1
- package/src/artifacts/coverage-jest/Settings/SettingPage/SettingPage.js.html +1 -1
- package/src/artifacts/coverage-jest/Settings/SettingPage/SettingPagePane/SettingPagePane.js.html +1 -1
- package/src/artifacts/coverage-jest/Settings/SettingPage/SettingPagePane/index.html +1 -1
- package/src/artifacts/coverage-jest/Settings/SettingPage/SettingPagePane/index.js.html +1 -1
- package/src/artifacts/coverage-jest/Settings/SettingPage/index.html +1 -1
- package/src/artifacts/coverage-jest/Settings/SettingPage/index.js.html +1 -1
- package/src/artifacts/coverage-jest/Settings/SettingsFormContainer/SettingsFormContainer.js.html +1 -1
- package/src/artifacts/coverage-jest/Settings/SettingsFormContainer/index.html +1 -1
- package/src/artifacts/coverage-jest/Settings/SettingsFormContainer/index.js.html +1 -1
- package/src/artifacts/coverage-jest/Settings/StaticSettingsField/StaticSettingsField.js.html +1 -1
- package/src/artifacts/coverage-jest/Settings/StaticSettingsField/StaticSettingsFieldComponent/StaticSettingsFieldComponent.js.html +1 -1
- package/src/artifacts/coverage-jest/Settings/StaticSettingsField/StaticSettingsFieldComponent/index.html +1 -1
- package/src/artifacts/coverage-jest/Settings/StaticSettingsField/StaticSettingsFieldComponent/index.js.html +1 -1
- package/src/artifacts/coverage-jest/Settings/StaticSettingsField/index.html +1 -1
- package/src/artifacts/coverage-jest/Settings/StaticSettingsField/index.js.html +1 -1
- package/src/artifacts/coverage-jest/Settings/constants/index.html +1 -1
- package/src/artifacts/coverage-jest/Settings/constants/index.js.html +1 -1
- package/src/artifacts/coverage-jest/Settings/constants/queryKeys.js.html +1 -1
- package/src/artifacts/coverage-jest/Settings/contexts/SettingsContext.js.html +1 -1
- package/src/artifacts/coverage-jest/Settings/contexts/index.html +1 -1
- package/src/artifacts/coverage-jest/Settings/contexts/index.js.html +1 -1
- package/src/artifacts/coverage-jest/Settings/hooks/index.html +1 -1
- package/src/artifacts/coverage-jest/Settings/hooks/index.js.html +1 -1
- package/src/artifacts/coverage-jest/Settings/hooks/staticSettingsPages/index.html +1 -1
- package/src/artifacts/coverage-jest/Settings/hooks/staticSettingsPages/index.js.html +1 -1
- package/src/artifacts/coverage-jest/Settings/hooks/staticSettingsPages/useSettingCallout/index.html +1 -1
- package/src/artifacts/coverage-jest/Settings/hooks/staticSettingsPages/useSettingCallout/index.js.html +1 -1
- package/src/artifacts/coverage-jest/Settings/hooks/staticSettingsPages/useSettingCallout/useSettingCallout.js.html +1 -1
- package/src/artifacts/coverage-jest/Settings/hooks/staticSettingsPages/useSettingsSectionInitalValues/index.html +1 -1
- package/src/artifacts/coverage-jest/Settings/hooks/staticSettingsPages/useSettingsSectionInitalValues/index.js.html +1 -1
- package/src/artifacts/coverage-jest/Settings/hooks/staticSettingsPages/useSettingsSectionInitalValues/useSettingsSectionInitalValues.js.html +1 -1
- package/src/artifacts/coverage-jest/Settings/hooks/staticSettingsPages/useStaticSettingsSection.js.html +1 -1
- package/src/artifacts/coverage-jest/Settings/hooks/useAppSettings/index.html +1 -1
- package/src/artifacts/coverage-jest/Settings/hooks/useAppSettings/index.js.html +1 -1
- package/src/artifacts/coverage-jest/Settings/hooks/useAppSettings/useAppSettings.js.html +1 -1
- package/src/artifacts/coverage-jest/Settings/hooks/useSettingSection/index.html +1 -1
- package/src/artifacts/coverage-jest/Settings/hooks/useSettingSection/index.js.html +1 -1
- package/src/artifacts/coverage-jest/Settings/hooks/useSettingSection/useSettingSection.js.html +1 -1
- package/src/artifacts/coverage-jest/Settings/hooks/useSettings/index.html +1 -1
- package/src/artifacts/coverage-jest/Settings/hooks/useSettings/index.js.html +1 -1
- package/src/artifacts/coverage-jest/Settings/hooks/useSettings/useSettings.js.html +1 -1
- package/src/artifacts/coverage-jest/Settings/index.html +1 -1
- package/src/artifacts/coverage-jest/Settings/index.js.html +1 -1
- package/src/artifacts/coverage-jest/Tags/Tags.js.html +1 -1
- package/src/artifacts/coverage-jest/Tags/hooks/index.html +1 -1
- package/src/artifacts/coverage-jest/Tags/hooks/index.js.html +1 -1
- package/src/artifacts/coverage-jest/Tags/hooks/useTags.js.html +1 -1
- package/src/artifacts/coverage-jest/Tags/hooks/useTagsEnabled.js.html +1 -1
- package/src/artifacts/coverage-jest/Tags/index.html +1 -1
- package/src/artifacts/coverage-jest/Tags/index.js.html +1 -1
- package/src/artifacts/coverage-jest/Tags/tagsConfig.js.html +1 -1
- package/src/artifacts/coverage-jest/Typedown/Typedown.js.html +230 -62
- package/src/artifacts/coverage-jest/Typedown/index.html +15 -15
- package/src/artifacts/coverage-jest/Typedown/index.js.html +1 -1
- package/src/artifacts/coverage-jest/cobertura-coverage.xml +252 -103
- package/src/artifacts/coverage-jest/constants/comparators.js.html +1 -1
- package/src/artifacts/coverage-jest/constants/customProperties.js.html +1 -1
- package/src/artifacts/coverage-jest/constants/endpoints.js.html +1 -1
- package/src/artifacts/coverage-jest/constants/eventCodes.js.html +1 -1
- package/src/artifacts/coverage-jest/constants/index.html +1 -1
- package/src/artifacts/coverage-jest/constants/pagination.js.html +1 -1
- package/src/artifacts/coverage-jest/hooks/index.html +1 -1
- package/src/artifacts/coverage-jest/hooks/index.js.html +1 -1
- package/src/artifacts/coverage-jest/hooks/intlHooks/index.html +1 -1
- package/src/artifacts/coverage-jest/hooks/intlHooks/index.js.html +1 -1
- package/src/artifacts/coverage-jest/hooks/intlHooks/useIntlKey/index.html +1 -1
- package/src/artifacts/coverage-jest/hooks/intlHooks/useIntlKey/index.js.html +1 -1
- package/src/artifacts/coverage-jest/hooks/intlHooks/useIntlKey/useIntlKey.js.html +1 -1
- package/src/artifacts/coverage-jest/hooks/intlHooks/useIntlKeyStore/index.html +1 -1
- package/src/artifacts/coverage-jest/hooks/intlHooks/useIntlKeyStore/index.js.html +1 -1
- package/src/artifacts/coverage-jest/hooks/intlHooks/useIntlKeyStore/useIntlKeyStore.js.html +1 -1
- package/src/artifacts/coverage-jest/hooks/intlHooks/useKintIntl/index.html +1 -1
- package/src/artifacts/coverage-jest/hooks/intlHooks/useKintIntl/index.js.html +1 -1
- package/src/artifacts/coverage-jest/hooks/intlHooks/useKintIntl/useKintIntl.js.html +1 -1
- package/src/artifacts/coverage-jest/hooks/typedownHooks/index.html +14 -14
- package/src/artifacts/coverage-jest/hooks/typedownHooks/index.js.html +1 -1
- package/src/artifacts/coverage-jest/hooks/typedownHooks/useTypedown.js.html +318 -105
- package/src/artifacts/coverage-jest/hooks/typedownHooks/useTypedownData.js.html +1 -1
- package/src/artifacts/coverage-jest/hooks/typedownHooks/useTypedownToggle.js.html +1 -1
- package/src/artifacts/coverage-jest/hooks/useActionListRef.js.html +1 -1
- package/src/artifacts/coverage-jest/hooks/useActiveElement.js.html +1 -1
- package/src/artifacts/coverage-jest/hooks/useCustomProperties.js.html +1 -1
- package/src/artifacts/coverage-jest/hooks/useHelperApp.js.html +1 -1
- package/src/artifacts/coverage-jest/hooks/useInvalidateRefdata/index.html +1 -1
- package/src/artifacts/coverage-jest/hooks/useInvalidateRefdata/index.js.html +1 -1
- package/src/artifacts/coverage-jest/hooks/useInvalidateRefdata/useInvalidateRefdata.js.html +1 -1
- package/src/artifacts/coverage-jest/hooks/useKiwtFieldArray.js.html +1 -1
- package/src/artifacts/coverage-jest/hooks/useKiwtSASQuery.js.html +1 -1
- package/src/artifacts/coverage-jest/hooks/useLocalPageStore.js.html +1 -1
- package/src/artifacts/coverage-jest/hooks/useLocalStorageState.js.html +1 -1
- package/src/artifacts/coverage-jest/hooks/useModConfigEntries.js.html +1 -1
- package/src/artifacts/coverage-jest/hooks/useMutateCustomProperties/index.html +1 -1
- package/src/artifacts/coverage-jest/hooks/useMutateCustomProperties/index.js.html +1 -1
- package/src/artifacts/coverage-jest/hooks/useMutateCustomProperties/useMutateCustomProperties.js.html +1 -1
- package/src/artifacts/coverage-jest/hooks/useMutateGeneric/index.html +1 -1
- package/src/artifacts/coverage-jest/hooks/useMutateGeneric/index.js.html +1 -1
- package/src/artifacts/coverage-jest/hooks/useMutateGeneric/useMutateGeneric.js.html +1 -1
- package/src/artifacts/coverage-jest/hooks/useMutateModConfigEntry.js.html +1 -1
- package/src/artifacts/coverage-jest/hooks/useMutateRefdataCategory/index.html +1 -1
- package/src/artifacts/coverage-jest/hooks/useMutateRefdataCategory/index.js.html +1 -1
- package/src/artifacts/coverage-jest/hooks/useMutateRefdataCategory/useMutateRefdataCategory.js.html +1 -1
- package/src/artifacts/coverage-jest/hooks/useMutateRefdataValue/index.html +1 -1
- package/src/artifacts/coverage-jest/hooks/useMutateRefdataValue/index.js.html +1 -1
- package/src/artifacts/coverage-jest/hooks/useMutateRefdataValue/useMutateRefdataValue.js.html +1 -1
- package/src/artifacts/coverage-jest/hooks/usePrevNextPagination.js.html +1 -1
- package/src/artifacts/coverage-jest/hooks/useQIndex.js.html +1 -1
- package/src/artifacts/coverage-jest/hooks/useRefdata.js.html +1 -1
- package/src/artifacts/coverage-jest/hooks/useSASQQueryMeta.js.html +1 -1
- package/src/artifacts/coverage-jest/hooks/useStandaloneSASQQueryParameter/index.html +1 -1
- package/src/artifacts/coverage-jest/hooks/useStandaloneSASQQueryParameter/index.js.html +1 -1
- package/src/artifacts/coverage-jest/hooks/useStandaloneSASQQueryParameter/useStandaloneSASQQueryParameter.js.html +1 -1
- package/src/artifacts/coverage-jest/hooks/useTemplates.js.html +1 -1
- package/src/artifacts/coverage-jest/index.html +40 -25
- package/src/artifacts/coverage-jest/utils/buildUrl.js.html +1 -1
- package/src/artifacts/coverage-jest/utils/filterParsers/deparseKiwtQueryFilters.js.html +1 -1
- package/src/artifacts/coverage-jest/utils/filterParsers/index.html +1 -1
- package/src/artifacts/coverage-jest/utils/filterParsers/index.js.html +1 -1
- package/src/artifacts/coverage-jest/utils/filterParsers/parseKiwtQueryFilters.js.html +1 -1
- package/src/artifacts/coverage-jest/utils/filterParsers/parseKiwtQueryGroups.js.html +1 -1
- package/src/artifacts/coverage-jest/utils/filterParsers/parseKiwtQueryString.js.html +1 -1
- package/src/artifacts/coverage-jest/utils/generateKiwtQuery.js.html +1 -1
- package/src/artifacts/coverage-jest/utils/generateKiwtQueryParams/generateKiwtQueryParams.js.html +1 -1
- package/src/artifacts/coverage-jest/utils/generateKiwtQueryParams/index.html +1 -1
- package/src/artifacts/coverage-jest/utils/generateKiwtQueryParams/index.js.html +1 -1
- package/src/artifacts/coverage-jest/utils/groupCustomPropertiesByCtx.js.html +1 -1
- package/src/artifacts/coverage-jest/utils/highlightString.js.html +1 -1
- package/src/artifacts/coverage-jest/utils/index.html +1 -1
- package/src/artifacts/coverage-jest/utils/index.js.html +1 -1
- package/src/artifacts/coverage-jest/utils/matchString.js.html +1 -1
- package/src/artifacts/coverage-jest/utils/modConfigEntriesQueryKey.js.html +1 -1
- package/src/artifacts/coverage-jest/utils/parseErrorResponse.js.html +1 -1
- package/src/artifacts/coverage-jest/utils/parseModConfigEntry.js.html +1 -1
- package/src/artifacts/coverage-jest/utils/refdataOptions.js.html +1 -1
- package/src/artifacts/coverage-jest/utils/refdataQueryKey/index.html +1 -1
- package/src/artifacts/coverage-jest/utils/refdataQueryKey/index.js.html +1 -1
- package/src/artifacts/coverage-jest/utils/refdataQueryKey/refdataQueryKey.js.html +1 -1
- package/src/artifacts/coverage-jest/utils/selectorSafe.js.html +1 -1
- package/src/artifacts/coverage-jest/utils/sortByLabel.js.html +1 -1
- package/src/artifacts/coverage-jest/utils/toCamelCase.js.html +1 -1
- package/src/artifacts/coverage-jest/utils/typedownQueryKey.js.html +1 -1
- package/src/artifacts/coverage-jest/validators/index.html +1 -1
- package/src/artifacts/coverage-jest/validators/index.js.html +1 -1
- package/src/artifacts/coverage-jest/validators/validators.js.html +1 -1
- package/src/index.js +4 -0
- package/src/lib/ButtonTypedown/ButtonTypedown.js +53 -0
- package/src/lib/ButtonTypedown/README.md +53 -0
- package/src/lib/ButtonTypedown/index.js +1 -0
- package/src/lib/Typedown/README.md +24 -21
- package/src/lib/Typedown/Typedown.js +106 -50
- package/src/lib/hooks/typedownHooks/useTypedown.js +165 -94
- 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">1.
|
|
26
|
+
<span class="strong">1.17% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>1/
|
|
28
|
+
<span class='fraction'>1/85</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/
|
|
35
|
+
<span class='fraction'>0/61</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/
|
|
42
|
+
<span class='fraction'>0/22</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">1.
|
|
47
|
+
<span class="strong">1.29% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>1/
|
|
49
|
+
<span class='fraction'>1/77</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -222,7 +222,78 @@
|
|
|
222
222
|
<a name='L157'></a><a href='#L157'>157</a>
|
|
223
223
|
<a name='L158'></a><a href='#L158'>158</a>
|
|
224
224
|
<a name='L159'></a><a href='#L159'>159</a>
|
|
225
|
-
<a name='L160'></a><a href='#L160'>160</a
|
|
225
|
+
<a name='L160'></a><a href='#L160'>160</a>
|
|
226
|
+
<a name='L161'></a><a href='#L161'>161</a>
|
|
227
|
+
<a name='L162'></a><a href='#L162'>162</a>
|
|
228
|
+
<a name='L163'></a><a href='#L163'>163</a>
|
|
229
|
+
<a name='L164'></a><a href='#L164'>164</a>
|
|
230
|
+
<a name='L165'></a><a href='#L165'>165</a>
|
|
231
|
+
<a name='L166'></a><a href='#L166'>166</a>
|
|
232
|
+
<a name='L167'></a><a href='#L167'>167</a>
|
|
233
|
+
<a name='L168'></a><a href='#L168'>168</a>
|
|
234
|
+
<a name='L169'></a><a href='#L169'>169</a>
|
|
235
|
+
<a name='L170'></a><a href='#L170'>170</a>
|
|
236
|
+
<a name='L171'></a><a href='#L171'>171</a>
|
|
237
|
+
<a name='L172'></a><a href='#L172'>172</a>
|
|
238
|
+
<a name='L173'></a><a href='#L173'>173</a>
|
|
239
|
+
<a name='L174'></a><a href='#L174'>174</a>
|
|
240
|
+
<a name='L175'></a><a href='#L175'>175</a>
|
|
241
|
+
<a name='L176'></a><a href='#L176'>176</a>
|
|
242
|
+
<a name='L177'></a><a href='#L177'>177</a>
|
|
243
|
+
<a name='L178'></a><a href='#L178'>178</a>
|
|
244
|
+
<a name='L179'></a><a href='#L179'>179</a>
|
|
245
|
+
<a name='L180'></a><a href='#L180'>180</a>
|
|
246
|
+
<a name='L181'></a><a href='#L181'>181</a>
|
|
247
|
+
<a name='L182'></a><a href='#L182'>182</a>
|
|
248
|
+
<a name='L183'></a><a href='#L183'>183</a>
|
|
249
|
+
<a name='L184'></a><a href='#L184'>184</a>
|
|
250
|
+
<a name='L185'></a><a href='#L185'>185</a>
|
|
251
|
+
<a name='L186'></a><a href='#L186'>186</a>
|
|
252
|
+
<a name='L187'></a><a href='#L187'>187</a>
|
|
253
|
+
<a name='L188'></a><a href='#L188'>188</a>
|
|
254
|
+
<a name='L189'></a><a href='#L189'>189</a>
|
|
255
|
+
<a name='L190'></a><a href='#L190'>190</a>
|
|
256
|
+
<a name='L191'></a><a href='#L191'>191</a>
|
|
257
|
+
<a name='L192'></a><a href='#L192'>192</a>
|
|
258
|
+
<a name='L193'></a><a href='#L193'>193</a>
|
|
259
|
+
<a name='L194'></a><a href='#L194'>194</a>
|
|
260
|
+
<a name='L195'></a><a href='#L195'>195</a>
|
|
261
|
+
<a name='L196'></a><a href='#L196'>196</a>
|
|
262
|
+
<a name='L197'></a><a href='#L197'>197</a>
|
|
263
|
+
<a name='L198'></a><a href='#L198'>198</a>
|
|
264
|
+
<a name='L199'></a><a href='#L199'>199</a>
|
|
265
|
+
<a name='L200'></a><a href='#L200'>200</a>
|
|
266
|
+
<a name='L201'></a><a href='#L201'>201</a>
|
|
267
|
+
<a name='L202'></a><a href='#L202'>202</a>
|
|
268
|
+
<a name='L203'></a><a href='#L203'>203</a>
|
|
269
|
+
<a name='L204'></a><a href='#L204'>204</a>
|
|
270
|
+
<a name='L205'></a><a href='#L205'>205</a>
|
|
271
|
+
<a name='L206'></a><a href='#L206'>206</a>
|
|
272
|
+
<a name='L207'></a><a href='#L207'>207</a>
|
|
273
|
+
<a name='L208'></a><a href='#L208'>208</a>
|
|
274
|
+
<a name='L209'></a><a href='#L209'>209</a>
|
|
275
|
+
<a name='L210'></a><a href='#L210'>210</a>
|
|
276
|
+
<a name='L211'></a><a href='#L211'>211</a>
|
|
277
|
+
<a name='L212'></a><a href='#L212'>212</a>
|
|
278
|
+
<a name='L213'></a><a href='#L213'>213</a>
|
|
279
|
+
<a name='L214'></a><a href='#L214'>214</a>
|
|
280
|
+
<a name='L215'></a><a href='#L215'>215</a>
|
|
281
|
+
<a name='L216'></a><a href='#L216'>216</a>
|
|
282
|
+
<a name='L217'></a><a href='#L217'>217</a>
|
|
283
|
+
<a name='L218'></a><a href='#L218'>218</a>
|
|
284
|
+
<a name='L219'></a><a href='#L219'>219</a>
|
|
285
|
+
<a name='L220'></a><a href='#L220'>220</a>
|
|
286
|
+
<a name='L221'></a><a href='#L221'>221</a>
|
|
287
|
+
<a name='L222'></a><a href='#L222'>222</a>
|
|
288
|
+
<a name='L223'></a><a href='#L223'>223</a>
|
|
289
|
+
<a name='L224'></a><a href='#L224'>224</a>
|
|
290
|
+
<a name='L225'></a><a href='#L225'>225</a>
|
|
291
|
+
<a name='L226'></a><a href='#L226'>226</a>
|
|
292
|
+
<a name='L227'></a><a href='#L227'>227</a>
|
|
293
|
+
<a name='L228'></a><a href='#L228'>228</a>
|
|
294
|
+
<a name='L229'></a><a href='#L229'>229</a>
|
|
295
|
+
<a name='L230'></a><a href='#L230'>230</a>
|
|
296
|
+
<a name='L231'></a><a href='#L231'>231</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
226
297
|
<span class="cline-any cline-neutral"> </span>
|
|
227
298
|
<span class="cline-any cline-neutral"> </span>
|
|
228
299
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -240,13 +311,17 @@
|
|
|
240
311
|
<span class="cline-any cline-neutral"> </span>
|
|
241
312
|
<span class="cline-any cline-neutral"> </span>
|
|
242
313
|
<span class="cline-any cline-neutral"> </span>
|
|
314
|
+
<span class="cline-any cline-yes">23x</span>
|
|
243
315
|
<span class="cline-any cline-neutral"> </span>
|
|
244
316
|
<span class="cline-any cline-neutral"> </span>
|
|
245
|
-
<span class="cline-any cline-yes">23x</span>
|
|
246
317
|
<span class="cline-any cline-neutral"> </span>
|
|
247
318
|
<span class="cline-any cline-neutral"> </span>
|
|
248
319
|
<span class="cline-any cline-neutral"> </span>
|
|
249
320
|
<span class="cline-any cline-neutral"> </span>
|
|
321
|
+
<span class="cline-any cline-neutral"> </span>
|
|
322
|
+
<span class="cline-any cline-no"> </span>
|
|
323
|
+
<span class="cline-any cline-no"> </span>
|
|
324
|
+
<span class="cline-any cline-no"> </span>
|
|
250
325
|
<span class="cline-any cline-no"> </span>
|
|
251
326
|
<span class="cline-any cline-neutral"> </span>
|
|
252
327
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -254,42 +329,94 @@
|
|
|
254
329
|
<span class="cline-any cline-no"> </span>
|
|
255
330
|
<span class="cline-any cline-no"> </span>
|
|
256
331
|
<span class="cline-any cline-no"> </span>
|
|
257
|
-
<span class="cline-any cline-
|
|
332
|
+
<span class="cline-any cline-no"> </span>
|
|
258
333
|
<span class="cline-any cline-no"> </span>
|
|
259
334
|
<span class="cline-any cline-neutral"> </span>
|
|
260
335
|
<span class="cline-any cline-neutral"> </span>
|
|
261
336
|
<span class="cline-any cline-no"> </span>
|
|
337
|
+
<span class="cline-any cline-neutral"> </span>
|
|
338
|
+
<span class="cline-any cline-no"> </span>
|
|
262
339
|
<span class="cline-any cline-no"> </span>
|
|
340
|
+
<span class="cline-any cline-no"> </span>
|
|
341
|
+
<span class="cline-any cline-neutral"> </span>
|
|
342
|
+
<span class="cline-any cline-neutral"> </span>
|
|
263
343
|
<span class="cline-any cline-neutral"> </span>
|
|
264
344
|
<span class="cline-any cline-no"> </span>
|
|
265
345
|
<span class="cline-any cline-neutral"> </span>
|
|
266
346
|
<span class="cline-any cline-no"> </span>
|
|
347
|
+
<span class="cline-any cline-neutral"> </span>
|
|
348
|
+
<span class="cline-any cline-neutral"> </span>
|
|
267
349
|
<span class="cline-any cline-no"> </span>
|
|
268
350
|
<span class="cline-any cline-no"> </span>
|
|
269
351
|
<span class="cline-any cline-neutral"> </span>
|
|
352
|
+
<span class="cline-any cline-neutral"> </span>
|
|
353
|
+
<span class="cline-any cline-neutral"> </span>
|
|
270
354
|
<span class="cline-any cline-no"> </span>
|
|
271
355
|
<span class="cline-any cline-neutral"> </span>
|
|
272
356
|
<span class="cline-any cline-no"> </span>
|
|
273
357
|
<span class="cline-any cline-no"> </span>
|
|
274
358
|
<span class="cline-any cline-neutral"> </span>
|
|
275
|
-
<span class="cline-any cline-no"> </span>
|
|
276
359
|
<span class="cline-any cline-neutral"> </span>
|
|
360
|
+
<span class="cline-any cline-no"> </span>
|
|
361
|
+
<span class="cline-any cline-no"> </span>
|
|
277
362
|
<span class="cline-any cline-neutral"> </span>
|
|
278
363
|
<span class="cline-any cline-no"> </span>
|
|
279
364
|
<span class="cline-any cline-neutral"> </span>
|
|
280
365
|
<span class="cline-any cline-neutral"> </span>
|
|
281
366
|
<span class="cline-any cline-neutral"> </span>
|
|
282
367
|
<span class="cline-any cline-neutral"> </span>
|
|
368
|
+
<span class="cline-any cline-neutral"> </span>
|
|
369
|
+
<span class="cline-any cline-neutral"> </span>
|
|
370
|
+
<span class="cline-any cline-neutral"> </span>
|
|
371
|
+
<span class="cline-any cline-neutral"> </span>
|
|
372
|
+
<span class="cline-any cline-neutral"> </span>
|
|
373
|
+
<span class="cline-any cline-neutral"> </span>
|
|
374
|
+
<span class="cline-any cline-neutral"> </span>
|
|
375
|
+
<span class="cline-any cline-neutral"> </span>
|
|
376
|
+
<span class="cline-any cline-neutral"> </span>
|
|
377
|
+
<span class="cline-any cline-neutral"> </span>
|
|
378
|
+
<span class="cline-any cline-neutral"> </span>
|
|
379
|
+
<span class="cline-any cline-neutral"> </span>
|
|
380
|
+
<span class="cline-any cline-neutral"> </span>
|
|
381
|
+
<span class="cline-any cline-neutral"> </span>
|
|
382
|
+
<span class="cline-any cline-neutral"> </span>
|
|
383
|
+
<span class="cline-any cline-neutral"> </span>
|
|
384
|
+
<span class="cline-any cline-neutral"> </span>
|
|
385
|
+
<span class="cline-any cline-neutral"> </span>
|
|
386
|
+
<span class="cline-any cline-neutral"> </span>
|
|
387
|
+
<span class="cline-any cline-neutral"> </span>
|
|
388
|
+
<span class="cline-any cline-neutral"> </span>
|
|
389
|
+
<span class="cline-any cline-neutral"> </span>
|
|
390
|
+
<span class="cline-any cline-neutral"> </span>
|
|
391
|
+
<span class="cline-any cline-neutral"> </span>
|
|
392
|
+
<span class="cline-any cline-neutral"> </span>
|
|
393
|
+
<span class="cline-any cline-neutral"> </span>
|
|
394
|
+
<span class="cline-any cline-neutral"> </span>
|
|
395
|
+
<span class="cline-any cline-neutral"> </span>
|
|
396
|
+
<span class="cline-any cline-neutral"> </span>
|
|
397
|
+
<span class="cline-any cline-no"> </span>
|
|
398
|
+
<span class="cline-any cline-neutral"> </span>
|
|
283
399
|
<span class="cline-any cline-no"> </span>
|
|
284
400
|
<span class="cline-any cline-neutral"> </span>
|
|
285
401
|
<span class="cline-any cline-neutral"> </span>
|
|
286
402
|
<span class="cline-any cline-neutral"> </span>
|
|
403
|
+
<span class="cline-any cline-neutral"> </span>
|
|
404
|
+
<span class="cline-any cline-neutral"> </span>
|
|
405
|
+
<span class="cline-any cline-neutral"> </span>
|
|
406
|
+
<span class="cline-any cline-neutral"> </span>
|
|
407
|
+
<span class="cline-any cline-neutral"> </span>
|
|
408
|
+
<span class="cline-any cline-no"> </span>
|
|
287
409
|
<span class="cline-any cline-no"> </span>
|
|
288
410
|
<span class="cline-any cline-no"> </span>
|
|
289
411
|
<span class="cline-any cline-no"> </span>
|
|
290
412
|
<span class="cline-any cline-no"> </span>
|
|
291
413
|
<span class="cline-any cline-no"> </span>
|
|
292
414
|
<span class="cline-any cline-neutral"> </span>
|
|
415
|
+
<span class="cline-any cline-no"> </span>
|
|
416
|
+
<span class="cline-any cline-neutral"> </span>
|
|
417
|
+
<span class="cline-any cline-neutral"> </span>
|
|
418
|
+
<span class="cline-any cline-no"> </span>
|
|
419
|
+
<span class="cline-any cline-no"> </span>
|
|
293
420
|
<span class="cline-any cline-neutral"> </span>
|
|
294
421
|
<span class="cline-any cline-neutral"> </span>
|
|
295
422
|
<span class="cline-any cline-no"> </span>
|
|
@@ -298,9 +425,11 @@
|
|
|
298
425
|
<span class="cline-any cline-no"> </span>
|
|
299
426
|
<span class="cline-any cline-neutral"> </span>
|
|
300
427
|
<span class="cline-any cline-neutral"> </span>
|
|
428
|
+
<span class="cline-any cline-no"> </span>
|
|
301
429
|
<span class="cline-any cline-neutral"> </span>
|
|
302
430
|
<span class="cline-any cline-neutral"> </span>
|
|
303
431
|
<span class="cline-any cline-no"> </span>
|
|
432
|
+
<span class="cline-any cline-neutral"> </span>
|
|
304
433
|
<span class="cline-any cline-no"> </span>
|
|
305
434
|
<span class="cline-any cline-neutral"> </span>
|
|
306
435
|
<span class="cline-any cline-no"> </span>
|
|
@@ -310,6 +439,8 @@
|
|
|
310
439
|
<span class="cline-any cline-no"> </span>
|
|
311
440
|
<span class="cline-any cline-neutral"> </span>
|
|
312
441
|
<span class="cline-any cline-neutral"> </span>
|
|
442
|
+
<span class="cline-any cline-no"> </span>
|
|
443
|
+
<span class="cline-any cline-no"> </span>
|
|
313
444
|
<span class="cline-any cline-neutral"> </span>
|
|
314
445
|
<span class="cline-any cline-neutral"> </span>
|
|
315
446
|
<span class="cline-any cline-no"> </span>
|
|
@@ -319,20 +450,24 @@
|
|
|
319
450
|
<span class="cline-any cline-neutral"> </span>
|
|
320
451
|
<span class="cline-any cline-neutral"> </span>
|
|
321
452
|
<span class="cline-any cline-no"> </span>
|
|
453
|
+
<span class="cline-any cline-neutral"> </span>
|
|
454
|
+
<span class="cline-any cline-neutral"> </span>
|
|
455
|
+
<span class="cline-any cline-no"> </span>
|
|
322
456
|
<span class="cline-any cline-no"> </span>
|
|
323
457
|
<span class="cline-any cline-no"> </span>
|
|
324
458
|
<span class="cline-any cline-neutral"> </span>
|
|
325
459
|
<span class="cline-any cline-neutral"> </span>
|
|
326
460
|
<span class="cline-any cline-no"> </span>
|
|
327
461
|
<span class="cline-any cline-no"> </span>
|
|
328
|
-
<span class="cline-any cline-neutral"> </span>
|
|
329
462
|
<span class="cline-any cline-no"> </span>
|
|
330
463
|
<span class="cline-any cline-no"> </span>
|
|
331
464
|
<span class="cline-any cline-no"> </span>
|
|
332
465
|
<span class="cline-any cline-no"> </span>
|
|
333
466
|
<span class="cline-any cline-neutral"> </span>
|
|
334
|
-
<span class="cline-any cline-no"> </span>
|
|
335
467
|
<span class="cline-any cline-neutral"> </span>
|
|
468
|
+
<span class="cline-any cline-neutral"> </span>
|
|
469
|
+
<span class="cline-any cline-neutral"> </span>
|
|
470
|
+
<span class="cline-any cline-no"> </span>
|
|
336
471
|
<span class="cline-any cline-no"> </span>
|
|
337
472
|
<span class="cline-any cline-neutral"> </span>
|
|
338
473
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -340,23 +475,30 @@
|
|
|
340
475
|
<span class="cline-any cline-no"> </span>
|
|
341
476
|
<span class="cline-any cline-neutral"> </span>
|
|
342
477
|
<span class="cline-any cline-neutral"> </span>
|
|
478
|
+
<span class="cline-any cline-neutral"> </span>
|
|
343
479
|
<span class="cline-any cline-no"> </span>
|
|
344
480
|
<span class="cline-any cline-no"> </span>
|
|
345
481
|
<span class="cline-any cline-neutral"> </span>
|
|
482
|
+
<span class="cline-any cline-neutral"> </span>
|
|
483
|
+
<span class="cline-any cline-neutral"> </span>
|
|
484
|
+
<span class="cline-any cline-neutral"> </span>
|
|
346
485
|
<span class="cline-any cline-no"> </span>
|
|
347
486
|
<span class="cline-any cline-neutral"> </span>
|
|
487
|
+
<span class="cline-any cline-neutral"> </span>
|
|
348
488
|
<span class="cline-any cline-no"> </span>
|
|
349
489
|
<span class="cline-any cline-no"> </span>
|
|
350
490
|
<span class="cline-any cline-neutral"> </span>
|
|
351
|
-
<span class="cline-any cline-
|
|
491
|
+
<span class="cline-any cline-no"> </span>
|
|
352
492
|
<span class="cline-any cline-neutral"> </span>
|
|
353
493
|
<span class="cline-any cline-no"> </span>
|
|
494
|
+
<span class="cline-any cline-no"> </span>
|
|
354
495
|
<span class="cline-any cline-neutral"> </span>
|
|
355
496
|
<span class="cline-any cline-neutral"> </span>
|
|
356
497
|
<span class="cline-any cline-neutral"> </span>
|
|
357
498
|
<span class="cline-any cline-no"> </span>
|
|
358
499
|
<span class="cline-any cline-neutral"> </span>
|
|
359
500
|
<span class="cline-any cline-neutral"> </span>
|
|
501
|
+
<span class="cline-any cline-neutral"> </span>
|
|
360
502
|
<span class="cline-any cline-no"> </span>
|
|
361
503
|
<span class="cline-any cline-neutral"> </span>
|
|
362
504
|
<span class="cline-any cline-no"> </span>
|
|
@@ -381,7 +523,7 @@
|
|
|
381
523
|
<span class="cline-any cline-neutral"> </span>
|
|
382
524
|
<span class="cline-any cline-neutral"> </span>
|
|
383
525
|
<span class="cline-any cline-neutral"> </span>
|
|
384
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import { useEffect, useRef, useState } from 'react';
|
|
526
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import { useCallback, useEffect, useRef, useState } from 'react';
|
|
385
527
|
import { useResizeDetector } from 'react-resize-detector';
|
|
386
528
|
|
|
387
529
|
import {
|
|
@@ -397,106 +539,180 @@ import {
|
|
|
397
539
|
UP_ARROW
|
|
398
540
|
} from '../../constants/eventCodes';
|
|
399
541
|
|
|
400
|
-
import selectorSafe from '../../utils/selectorSafe';
|
|
401
|
-
|
|
402
542
|
import useTypedownToggle from './useTypedownToggle';
|
|
403
543
|
|
|
404
544
|
const useTypedown = <span class="fstat-no" title="function not covered" >(</span>
|
|
405
545
|
name,
|
|
406
|
-
{
|
|
546
|
+
{
|
|
547
|
+
dataOptions,
|
|
548
|
+
timeout = <span class="branch-0 cbranch-no" title="branch not covered" >800</span>
|
|
549
|
+
} = <span class="branch-0 cbranch-no" title="branch not covered" >{}</span>
|
|
407
550
|
) => {
|
|
408
|
-
//
|
|
409
|
-
const
|
|
551
|
+
// SET UP STATE HOLDING DOM ELEMENTS
|
|
552
|
+
const [list, setList] = <span class="cstat-no" title="statement not covered" >useState();</span>
|
|
553
|
+
const [trigger, setTrigger] = <span class="cstat-no" title="statement not covered" >useState();</span>
|
|
554
|
+
const [footer, setFooter] = <span class="cstat-no" title="statement not covered" >useState();</span>
|
|
555
|
+
const [header, setHeader] = <span class="cstat-no" title="statement not covered" >useState();</span>
|
|
410
556
|
|
|
411
557
|
// SET UP REFS
|
|
412
|
-
const listRef = <span class="cstat-no" title="statement not covered" >useRef();</span>
|
|
413
558
|
const triggerRef = <span class="cstat-no" title="statement not covered" >useRef();</span>
|
|
414
559
|
const overlayRef = <span class="cstat-no" title="statement not covered" >useRef();</span>
|
|
415
|
-
const
|
|
416
|
-
|
|
417
|
-
const
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
<span class="cstat-no" title="statement not covered" > if (footer && footer.getAttribute('hasListener') !== 'true') {</span>
|
|
421
|
-
<span class="cstat-no" title="statement not covered" > footer.addEventListener('keydown', <span class="fstat-no" title="function not covered" >e </span>=> {</span>
|
|
422
|
-
// We want special behaviour on tab
|
|
423
|
-
<span class="cstat-no" title="statement not covered" > if (e.code === TAB) {</span>
|
|
424
|
-
// Prevent the default behaviour
|
|
425
|
-
<span class="cstat-no" title="statement not covered" > e.preventDefault();</span>
|
|
426
|
-
const focusFunc = <span class="cstat-no" title="statement not covered" >e.shiftKey ? getPreviousFocusable : getNextFocusable;</span>
|
|
427
|
-
const elem = <span class="cstat-no" title="statement not covered" >focusFunc(footerRef.current, true, true, false, true);</span>
|
|
428
|
-
|
|
429
|
-
<span class="cstat-no" title="statement not covered" > if (elem) {</span>
|
|
430
|
-
// Focus on next focusable element
|
|
431
|
-
<span class="cstat-no" title="statement not covered" > elem.focus();</span>
|
|
432
|
-
} else <span class="cstat-no" title="statement not covered" >if (e.shiftKey) {</span>
|
|
433
|
-
// We are at the beginning of the list, refocus on search bar
|
|
434
|
-
<span class="cstat-no" title="statement not covered" > searchFieldComponent.focus();</span>
|
|
435
|
-
} else {
|
|
436
|
-
// We are at the end of the list, move onto next focusable element in page
|
|
437
|
-
<span class="cstat-no" title="statement not covered" > getNextFocusable(searchFieldComponent, false).focus();</span>
|
|
438
|
-
}
|
|
439
|
-
}
|
|
440
|
-
});
|
|
441
|
-
|
|
442
|
-
<span class="cstat-no" title="statement not covered" > footer.setAttribute('hasListener', 'true');</span>
|
|
443
|
-
}
|
|
444
|
-
|
|
445
|
-
// SET UP HANDLERS
|
|
446
|
-
const searchFieldKeyDownHandler = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >e </span>=> {</span>
|
|
447
|
-
<span class="cstat-no" title="statement not covered" > if (e.code === UP_ARROW) {</span>
|
|
448
|
-
const elem = <span class="cstat-no" title="statement not covered" >getLastFocusable(listRef.current, true, true);</span>
|
|
449
|
-
<span class="cstat-no" title="statement not covered" > if (elem) {</span>
|
|
450
|
-
<span class="cstat-no" title="statement not covered" > elem.focus();</span>
|
|
451
|
-
}
|
|
452
|
-
}
|
|
560
|
+
const listRef = <span class="cstat-no" title="statement not covered" >useCallback(<span class="fstat-no" title="function not covered" >no</span>de => <span class="cstat-no" title="statement not covered" >setList(node),</span> []);</span>
|
|
561
|
+
const triggerComponentRef = <span class="cstat-no" title="statement not covered" >useCallback(<span class="fstat-no" title="function not covered" >no</span>de => <span class="cstat-no" title="statement not covered" >setTrigger(node),</span> []);</span>
|
|
562
|
+
const footerRef = <span class="cstat-no" title="statement not covered" >useCallback(<span class="fstat-no" title="function not covered" >no</span>de => <span class="cstat-no" title="statement not covered" >setFooter(node),</span> []);</span>
|
|
563
|
+
const headerRef = <span class="cstat-no" title="statement not covered" >useCallback(<span class="fstat-no" title="function not covered" >no</span>de => <span class="cstat-no" title="statement not covered" >setHeader(node),</span> []);</span>
|
|
453
564
|
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
<span class="cstat-no" title="statement not covered" > if (elem) {</span>
|
|
457
|
-
<span class="cstat-no" title="statement not covered" > elem.focus();</span>
|
|
458
|
-
}
|
|
459
|
-
}
|
|
565
|
+
// OVERLAY PORTAL
|
|
566
|
+
const portal = <span class="cstat-no" title="statement not covered" >document.getElementById('OverlayContainer');</span>
|
|
460
567
|
|
|
461
|
-
|
|
462
|
-
<span class="cstat-no" title="statement not covered" >
|
|
463
|
-
<span class="cstat-no" title="statement not covered" >
|
|
464
|
-
// If we
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
<span class="cstat-no" title="statement not covered" >
|
|
468
|
-
} else {
|
|
469
|
-
<span class="cstat-no" title="statement not covered" > getNextFocusable(searchFieldComponent, false).focus();</span>
|
|
470
|
-
}
|
|
568
|
+
const getPreviousToTrigger = <span class="cstat-no" title="statement not covered" >useCallback(<span class="fstat-no" title="function not covered" >()</span> => {</span>
|
|
569
|
+
const prevElem = <span class="cstat-no" title="statement not covered" >getPreviousFocusable(trigger, false, false, false);</span>
|
|
570
|
+
<span class="cstat-no" title="statement not covered" > if (prevElem.closest('[id^=OverlayContainer]') !== null) {</span>
|
|
571
|
+
// If we find ourselves inside the OverlayContainer when heading backwards from the trigger
|
|
572
|
+
// then we must be the first focusable element on the page.
|
|
573
|
+
// From here we need to skip over the overlay container and head backwards
|
|
574
|
+
<span class="cstat-no" title="statement not covered" > return getPreviousFocusable(portal, false, false, false);</span>
|
|
471
575
|
}
|
|
472
|
-
|
|
576
|
+
<span class="cstat-no" title="statement not covered" > return prevElem;</span>
|
|
577
|
+
}, [portal, trigger]);
|
|
473
578
|
|
|
474
|
-
|
|
475
|
-
<span class="cstat-no" title="statement not covered" >
|
|
476
|
-
const elem = <span class="cstat-no" title="statement not covered" >getNextFocusable(listRef.current, true, true);</span>
|
|
477
|
-
<span class="cstat-no" title="statement not covered" > elem.focus();</span>
|
|
478
|
-
}
|
|
579
|
+
<span class="cstat-no" title="statement not covered" > useEffect(<span class="fstat-no" title="function not covered" >()</span> => {</span>
|
|
580
|
+
const cleanups = <span class="cstat-no" title="statement not covered" >[];</span>
|
|
479
581
|
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
<span class="cstat-no" title="statement not covered" >
|
|
483
|
-
|
|
582
|
+
// There appears to be some BIZARRE off-by-one issue with selectors here, that can be fixed by introducing a 1ms delay...
|
|
583
|
+
// I hate it but it is effective
|
|
584
|
+
<span class="cstat-no" title="statement not covered" > setTimeout(<span class="fstat-no" title="function not covered" >()</span> => {</span>
|
|
585
|
+
// Split these out to shut up the linter
|
|
586
|
+
const rawFirstItemInList = (<span class="cstat-no" title="statement not covered" >list ? getFirstFocusable(list) : null)</span>;
|
|
587
|
+
const rawLastItemInList = (<span class="cstat-no" title="statement not covered" >list ? getLastFocusable(list) : null)</span>;
|
|
484
588
|
|
|
485
|
-
|
|
486
|
-
<span class="cstat-no" title="statement not covered" >
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
<span class="cstat-no" title="statement not covered" >
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
589
|
+
// If there are no dataOptions, this can get a bit stuck, so deliberately set to null when no dataOptions are present
|
|
590
|
+
const firstItemInList = <span class="cstat-no" title="statement not covered" >dataOptions.length > 0 ? rawFirstItemInList : null;</span>
|
|
591
|
+
const lastItemInList = <span class="cstat-no" title="statement not covered" >dataOptions.length > 0 ? rawLastItemInList : null;</span>
|
|
592
|
+
|
|
593
|
+
const configs = <span class="cstat-no" title="statement not covered" >[</span>
|
|
594
|
+
// --- HEADER CONFIG ---
|
|
595
|
+
{
|
|
596
|
+
element: header,
|
|
597
|
+
allowTabThroughContents: true,
|
|
598
|
+
previousElement: trigger,
|
|
599
|
+
nextElement: (footer ? getFirstFocusable(footer) : null) ?? getNextFocusable(trigger, false),
|
|
600
|
+
downElement: firstItemInList,
|
|
601
|
+
upElement: lastItemInList,
|
|
602
|
+
},
|
|
603
|
+
// --- FOOTER CONFIG ---
|
|
604
|
+
{
|
|
605
|
+
element: footer,
|
|
606
|
+
allowTabThroughContents: true,
|
|
607
|
+
previousElement: (header ? getLastFocusable(header) : null) ?? trigger,
|
|
608
|
+
nextElement: getNextFocusable(trigger, false),
|
|
609
|
+
downElement: firstItemInList,
|
|
610
|
+
upElement: lastItemInList,
|
|
611
|
+
},
|
|
612
|
+
// --- LIST/CONTAINER CONFIG ---
|
|
613
|
+
{
|
|
614
|
+
element: list,
|
|
615
|
+
allowUpDownThroughContents: true,
|
|
616
|
+
previousElement: (header ? getLastFocusable(header) : null) ?? trigger,
|
|
617
|
+
nextElement: (footer ? getFirstFocusable(footer) : null) ?? getNextFocusable(trigger, false)
|
|
618
|
+
},
|
|
619
|
+
// --- TRIGGER CONFIG ---
|
|
620
|
+
{
|
|
621
|
+
element: trigger,
|
|
622
|
+
nextElement: (header ? getFirstFocusable(header) : null) ?? (footer ? getFirstFocusable(footer) : null) ?? getNextFocusable(trigger, false),
|
|
623
|
+
previousElement: getPreviousToTrigger(),
|
|
624
|
+
downElement: firstItemInList,
|
|
625
|
+
upElement: lastItemInList,
|
|
626
|
+
}
|
|
627
|
+
].filter(<span class="fstat-no" title="function not covered" >c </span>=> <span class="cstat-no" title="statement not covered" >c.element)</span>; // Filter out configs where the element (e.g., header) is null
|
|
628
|
+
|
|
629
|
+
const setupListener = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >(c</span>onfig) => {</span>
|
|
630
|
+
const {
|
|
631
|
+
element,
|
|
632
|
+
allowTabThroughContents,
|
|
633
|
+
previousElement,
|
|
634
|
+
nextElement,
|
|
635
|
+
allowUpDownThroughContents,
|
|
636
|
+
downElement,
|
|
637
|
+
upElement,
|
|
638
|
+
} = <span class="cstat-no" title="statement not covered" >config;</span>
|
|
639
|
+
const handleTab = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >e </span>=> {</span>
|
|
640
|
+
const IS_SHIFT = <span class="cstat-no" title="statement not covered" >e.shiftKey;</span>
|
|
641
|
+
const tabIgnoreContents = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >()</span> => {</span>
|
|
642
|
+
<span class="cstat-no" title="statement not covered" > if (IS_SHIFT) {</span>
|
|
643
|
+
<span class="cstat-no" title="statement not covered" > return previousElement?.focus();</span>
|
|
644
|
+
}
|
|
645
|
+
<span class="cstat-no" title="statement not covered" > return nextElement?.focus();</span>
|
|
646
|
+
};
|
|
647
|
+
|
|
648
|
+
<span class="cstat-no" title="statement not covered" > if (!allowTabThroughContents) {</span>
|
|
649
|
+
<span class="cstat-no" title="statement not covered" > return tabIgnoreContents();</span>
|
|
650
|
+
}
|
|
651
|
+
|
|
652
|
+
const focusFunc = <span class="cstat-no" title="statement not covered" >IS_SHIFT ? getPreviousFocusable : getNextFocusable;</span>
|
|
653
|
+
const elem = <span class="cstat-no" title="statement not covered" >focusFunc(element, true, true, false, true);</span>
|
|
654
|
+
<span class="cstat-no" title="statement not covered" > if (elem) {</span>
|
|
655
|
+
<span class="cstat-no" title="statement not covered" > return elem.focus();</span>
|
|
656
|
+
}
|
|
498
657
|
|
|
499
|
-
|
|
658
|
+
<span class="cstat-no" title="statement not covered" > return tabIgnoreContents();</span>
|
|
659
|
+
};
|
|
660
|
+
|
|
661
|
+
const handleUpDown = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >e </span>=> {</span>
|
|
662
|
+
// Prevent the default behaviour
|
|
663
|
+
const IS_UP = <span class="cstat-no" title="statement not covered" >e.code === UP_ARROW;</span>
|
|
664
|
+
|
|
665
|
+
const upDownIgnoreContents = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >()</span> => {</span>
|
|
666
|
+
<span class="cstat-no" title="statement not covered" > if (IS_UP) {</span>
|
|
667
|
+
<span class="cstat-no" title="statement not covered" > return upElement?.focus();</span>
|
|
668
|
+
}
|
|
669
|
+
<span class="cstat-no" title="statement not covered" > return downElement?.focus();</span>
|
|
670
|
+
};
|
|
671
|
+
|
|
672
|
+
<span class="cstat-no" title="statement not covered" > if (!allowUpDownThroughContents) {</span>
|
|
673
|
+
<span class="cstat-no" title="statement not covered" > return upDownIgnoreContents();</span>
|
|
674
|
+
}
|
|
675
|
+
|
|
676
|
+
const focusFunc = <span class="cstat-no" title="statement not covered" >IS_UP ? getPreviousFocusable : getNextFocusable;</span>
|
|
677
|
+
const elem = <span class="cstat-no" title="statement not covered" >focusFunc(element, true, true, true, true);</span> // Allow looping through elements
|
|
678
|
+
<span class="cstat-no" title="statement not covered" > if (elem) {</span>
|
|
679
|
+
<span class="cstat-no" title="statement not covered" > return elem.focus();</span>
|
|
680
|
+
}
|
|
681
|
+
|
|
682
|
+
<span class="cstat-no" title="statement not covered" > return upDownIgnoreContents();</span>
|
|
683
|
+
};
|
|
684
|
+
|
|
685
|
+
const handler = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >(e</span>) => {</span>
|
|
686
|
+
<span class="cstat-no" title="statement not covered" > if (!element.contains(document.activeElement)) {</span>
|
|
687
|
+
<span class="cstat-no" title="statement not covered" > return;</span>
|
|
688
|
+
}
|
|
689
|
+
|
|
690
|
+
<span class="cstat-no" title="statement not covered" > if (e.code === TAB) {</span>
|
|
691
|
+
<span class="cstat-no" title="statement not covered" > e.preventDefault();</span>
|
|
692
|
+
<span class="cstat-no" title="statement not covered" > handleTab(e);</span>
|
|
693
|
+
} else <span class="cstat-no" title="statement not covered" >if (e.code === DOWN_ARROW || e.code === UP_ARROW) {</span>
|
|
694
|
+
<span class="cstat-no" title="statement not covered" > e.preventDefault();</span>
|
|
695
|
+
<span class="cstat-no" title="statement not covered" > handleUpDown(e);</span>
|
|
696
|
+
}
|
|
697
|
+
};
|
|
698
|
+
|
|
699
|
+
// Add event listener and add the removal of said event listener to the cleanup function
|
|
700
|
+
<span class="cstat-no" title="statement not covered" > element.addEventListener('keydown', handler);</span>
|
|
701
|
+
<span class="cstat-no" title="statement not covered" > cleanups.push(<span class="fstat-no" title="function not covered" >()</span> => <span class="cstat-no" title="statement not covered" >element.removeEventListener('keydown', handler))</span>;</span>
|
|
702
|
+
};
|
|
703
|
+
|
|
704
|
+
// Set up the event listener for each config entry
|
|
705
|
+
<span class="cstat-no" title="statement not covered" > configs.forEach(setupListener);</span>
|
|
706
|
+
}, 0);
|
|
707
|
+
|
|
708
|
+
// Cleanup any event listeners
|
|
709
|
+
<span class="cstat-no" title="statement not covered" > return <span class="fstat-no" title="function not covered" >()</span> => {</span>
|
|
710
|
+
<span class="cstat-no" title="statement not covered" > cleanups.forEach(<span class="fstat-no" title="function not covered" >cl</span>eanup => <span class="cstat-no" title="statement not covered" >cleanup())</span>;</span>
|
|
711
|
+
};
|
|
712
|
+
// Re-add the listener ANY time any of the elements changes (this is why we're using callback refs)
|
|
713
|
+
}, [dataOptions, header, trigger, footer, list, getPreviousToTrigger]);
|
|
714
|
+
|
|
715
|
+
const handleNextFocus = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >()</span> => <span class="cstat-no" title="statement not covered" >getNextFocusable(trigger, false).focus();</span></span>
|
|
500
716
|
|
|
501
717
|
// SET UP VARIABLES
|
|
502
718
|
const { open } = <span class="cstat-no" title="statement not covered" >useTypedownToggle(name);</span>
|
|
@@ -514,21 +730,18 @@ const useTypedown = <span class="fstat-no" title="function not covered" >(</span
|
|
|
514
730
|
|
|
515
731
|
// RESIZE STUFF
|
|
516
732
|
const { width: searchWidth, ref: resizeRef } = <span class="cstat-no" title="statement not covered" >useResizeDetector();</span>
|
|
517
|
-
|
|
518
|
-
// OVERLAY PORTAL
|
|
519
|
-
const portal = <span class="cstat-no" title="statement not covered" >document.getElementById('OverlayContainer');</span>
|
|
520
733
|
|
|
521
734
|
<span class="cstat-no" title="statement not covered" > return {</span>
|
|
522
735
|
refs: {
|
|
523
736
|
listRef,
|
|
524
737
|
triggerRef,
|
|
738
|
+
triggerComponentRef,
|
|
525
739
|
overlayRef,
|
|
526
|
-
footerRef
|
|
740
|
+
footerRef,
|
|
741
|
+
headerRef
|
|
527
742
|
},
|
|
528
743
|
handlers: {
|
|
529
744
|
handleNextFocus,
|
|
530
|
-
listKeyDownHandler,
|
|
531
|
-
searchFieldKeyDownHandler
|
|
532
745
|
},
|
|
533
746
|
variables: {
|
|
534
747
|
open: useOpen ? open : false,
|
|
@@ -547,7 +760,7 @@ export default useTypedown;
|
|
|
547
760
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
548
761
|
Code coverage generated by
|
|
549
762
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
550
|
-
at 2025-12-
|
|
763
|
+
at 2025-12-12T20:17:01.385Z
|
|
551
764
|
</div>
|
|
552
765
|
<script src="../../prettify.js"></script>
|
|
553
766
|
<script>
|