Skip to content

Wire or remove declared public props that are currently no-op #8

Description

@alx-so

Problem

Several props are declared in the public component interfaces but are not wired into rendered components or runtime behavior.

This creates a misleading API surface: consumers can pass props that TypeScript accepts, but the component ignores them.

Impact

Consumers may rely on documented or typed props and spend time debugging why nothing changes. In particular, accessibility and test automation can be affected when testID is accepted but never rendered.

Code references

  • src/components/Select/Select.tsx#L29-L45: placeholder, testID, and icon are declared on SelectProps.
  • src/components/Select/Select.tsx#L225-L248: rendered output does not use placeholder, testID, or icon.
  • src/components/InputSelect/InputSelect.tsx#L17-L31: placeholder, renderValue, testID, and icon are declared on InputSelectProps.
  • src/components/InputSelect/InputSelect.tsx#L222-L237: props are spread to Input, but Input has no matching behavior for several of these props.
  • src/components/InputSelect/InputSelect.tsx#L160-L168: disabled prevents opening suggestions, but text entry itself remains editable through Input.
  • src/components/Input/Input.tsx#L27-L45: InputProps does not expose disabled, placeholder, testID, or editable behavior.

Acceptance criteria

  • Decide which props are part of the supported public API for Input, Select, and InputSelect.
  • Wire supported props through to rendered React Native elements.
  • Remove unsupported props from public TypeScript interfaces or document their intended future status separately.
  • disabled prevents both opening suggestions and editing text where applicable.
  • README/API examples match the supported props.
  • Regression tests cover at least testID, placeholder, and disabled behavior.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: apiPublic API, props, and exportsbugSomething isn't workingdocumentationImprovements or additions to documentationpriority: mediumImportant but lower urgency

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions