Repository navigation
fix(dashboard): Checkbox adapter declares and forwards indeterminate (KEA-7886) - #17831
Merged
diegosouzapw merged 1 commit intoOct 21, 2026
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Regression
Lote 2b (#17416) passes
indeterminate={…}to the sharedCheckboxadapter (src/shared/components/Checkbox.tsx) at two sites inConnectionsListPanel.tsx. It works at runtime: the adapter spreads...propsto the kitCheckbox, which supportsindeterminateand applies it to the input through a ref. The adapter's prop type did not declare it, though, socheck:dashboard-typecheckreported a new TS2322 and went red for every lote:Fix
CheckboxPropsnow declaresindeterminate?: boolean.KitCheckboxexplicitly. It is stillforwardRef, it still imports the kit from the@omniroute/ui-kit/checkboxsubpath, and every existing prop and behaviour is unchanged.ConnectionsListPanel.tsxand the typecheck baseline are untouched.Dashboard typecheck
[dashboard-typecheck] FAILwithConnectionsListPanel.tsx TS2322 (baseline 3, live 4)[dashboard-typecheck] OK — 194 pre-existing error(s), all within frozen baseline.withConnectionsListPanel.tsx TS2322 (baseline 3 -> live 2). The baseline file is untouched; ratcheting it down is left to the controller.Also run:
npm run typecheck:core(exit 0), pluseslintandprettier --checkon the two changed files (clean). The vitest run over the adapter test,datatable.test.tsxandselectAllIndeterminate.test.tsxpassed: 3 files, 12 tests.Test
New case in
tests/unit/ui/adapters/textarea-checkbox.test.tsx. The kit does not emitaria-checkedordata-state; it sets the DOMindeterminateproperty. The test therefore checksinput.indeterminate === trueand:indeterminate, re-renders withindeterminate={false}, and checks that both flip back. The runtime spread already carried the prop, so the type error caught by tsc is the red signal; the DOM test pins the forwarding.