Skip to content

Navigation Menu

Sign in
Sign up

Stepper: define the public boundary for context exports #6060

Open

Description

Problem

@astryxdesign/core/Stepper publicly exports both useStepperContext and StepperContextValue, but the exported value includes component-private coordination such as previousActiveStep and registerStep.

The source itself describes some fields as internal, and the only repository consumer of registerStep is the built-in Step. However, exporting the hook and full interface makes those details part of the installable TypeScript surface. Internal Stepper changes can therefore become accidental consumer type breaks.

Desired outcome

Decide and encode the supported context boundary:

  1. If custom Step composition is supported, define and document a stable public subset while keeping registration, measurement, animation, and compact-layout coordination private.
  2. If the hook/type are not supported public API, deprecate them and remove them only at an explicit compatibility boundary.

Acceptance criteria

  • The intended public use case for useStepperContext is explicit.
  • Private Stepper coordination is not exposed through a required public interface.
  • A compatibility/type test protects the chosen public surface.
  • Consumer docs or deprecation guidance match the decision.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

      AltStyle によって変換されたページ (->オリジナル) /