Repository navigation
Conversation
Reconcile the branch's public ControlGroup work onto origin/main's internal implementation. The canonical component now lives at src/internal/components/control-group/ (main's location); src/control-group/ is a thin public wrapper that re-exports it, so there are no two divergent copies of the component logic. Conflict resolution (option 2): - src/control-group/index.tsx + interfaces.ts: reduced to a thin public wrapper over the internal component (adopting main's new-location imports). - src/input/__tests__/control-group.test.tsx: public ControlGroup + public ControlGroupWrapper + internal PositionProbe. - interfaces: kept main's richer ControlGroupProps.ControlGroupDirection (horizontal | vertical | auto). Consistency: repointed grouped-control-styles consumers, the public test-util selectors import, and the cross-component control-group tests; removed the duplicated public implementation files; regenerated the documenter and test-utils snapshots. The public wrapper now wires useBaseComponent + applyDisplayName and the internal component accepts an optional __internalRootRef so the released component meets the public-component baseline. Verified: npm run build (pass), npm run lint (pass), targeted control-group jest suites (pass), broader consumer suites (pass), naming-convention and use-base-component for control-group (pass), snapshots regenerated, full npm run test:unit green except the pre-existing test-utils-selectors CWD-path bug on the untouched wizard component (out of scope).
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #5145 +/- ##
=======================================
Coverage 97.73% 97.73%
=======================================
Files 996 997 +1
Lines 32210 32215 +5
Branches 11900 11902 +2
=======================================
+ Hits 31481 31486 +5
Misses 723 723
Partials 6 6 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Resolve two control-group conflicts introduced by merging origin/main while keeping the control group publicly available. - src/internal/components/control-group/index.tsx: keep both the InternalBaseComponentProps import (public base-component wiring) and main's new FormFieldContext/useFormFieldContext imports, since the merged body uses all of them for validation and __internalRootRef. - control-group.test.tsx: take main's new Select and createWrapper imports but use the PUBLIC test-utils/dom/control-group wrapper path instead of main's internal path, keeping a single public surface. All other changes from main's latest are kept as-is. Public wrapper, public test-util path, and barrel registrations remain intact.
Promote the control-group component from an internal component to a fully public component, co-located following the segmented-control / tiles convention. - Move implementation to src/control-group/internal.tsx - Co-locate interfaces, styles, tests, and integ tests under src/control-group/ - Keep the shared grouped-control-styles helper internal under src/internal/components/control-group-styles/ - Repoint all tests and dev pages to the public component - Repoint test-utils to the public component sim: https://taskei.amazon.dev/tasks/control-group-release
Port #5173 onto the relocated public control-group component. The PR's original internal paths (src/internal/components/control-group/) are deleted on this branch; the component now lives at src/control-group/. - interfaces.ts: ControlGroupProps extends FormFieldControlProps, exposing controlId / ariaLabelledby / ariaDescribedby in the public API (imported from ../types/form-field, public-safe). - internal.tsx: wire the three props into useFormFieldContext and resolve a group id for the inline-label case (generated fallback so the inline label's htmlFor can reference the native group). - Add 4 unit tests covering controlId and the ARIA properties, including the inline-label + ariaLabelledby merge. - Regenerate the documenter snapshot to reflect the three new props.
Port GitHub PRs #5182 and #5172 onto the relocated public control-group component (src/control-group/; the PRs' internal paths under src/internal/components/control-group/ are deleted on this branch). #5182: disabled grouped-control styles (grouped-control-disabled mixin), parameterized grouped-control validation-border padding, grouped-control CSS class renames (with-error/with-warning -> grouped-with-error/ grouped-with-warning, grouped-validation-first -> grouped-row-first) across the shared mixin, grouped-control-styles helper, input, autosuggest-input, button-trigger and segmented-control; base border now color-border-control-group-default; segmented-control wrapper drops the grouped-control class helper; plus an autosuggest inline-tokens validation dev-page example. #5172: a shared grouped-control dev-warnings module, its test, and consumer wiring in autosuggest, input, multiselect and select. Path remaps: grouped-control-styles helper and the new dev-warnings module live under src/internal/components/control-group-styles/; the dev-warnings test lives under the public src/control-group/__tests__/. The multiselect inlineTokens destructured default is dropped (false -> no default) so an explicit false is distinguishable from undefined for the warning.
Port the latest commits of PR #5173 onto the public control-group layout. ControlGroupProps now only picks ariaLabelledby and ariaDescribedby from FormFieldControlProps; the group id still comes from a surrounding FormField context. Regenerate the documenter snapshot.
Port the latest commits of PR #5182 onto the public control-group layout: add a grouped-<direction> class, replace grouped-row-first with direction/position selectors to fix the vertical-last border, and restore grouped classes on the segmented control select mode.
Port PR #5186 onto the public control-group layout: wrap the autosuggest token field in ResetGroupedControlContext so nested controls do not pick up grouped borders in validation state.
jperals
had a problem deploying
to
dev-pages-react18
October 23, 2026 18:20 — with
GitHub Actions
Error
jperals
had a problem deploying
to
dev-pages-react16
October 23, 2026 18:20 — with
GitHub Actions
Error
This branch was successfully deployed
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.
Description
This PR includes:
ariaLabelledbyandariaDescribedbyto control group #5173And on top of that:
expandToViewportis enforced in bothinlineTokensis enforced in multiselectHow has this been tested?
Unit, integration and visual regression tests.
Review checklist
The following items are to be evaluated by the author(s) and the reviewer(s).
Correctness
CONTRIBUTING.md.CONTRIBUTING.md.Security
checkSafeUrlfunction.Testing
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.