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.
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
testIDis accepted but never rendered.Code references
src/components/Select/Select.tsx#L29-L45:placeholder,testID, andiconare declared onSelectProps.src/components/Select/Select.tsx#L225-L248: rendered output does not useplaceholder,testID, oricon.src/components/InputSelect/InputSelect.tsx#L17-L31:placeholder,renderValue,testID, andiconare declared onInputSelectProps.src/components/InputSelect/InputSelect.tsx#L222-L237: props are spread toInput, butInputhas no matching behavior for several of these props.src/components/InputSelect/InputSelect.tsx#L160-L168:disabledprevents opening suggestions, but text entry itself remains editable throughInput.src/components/Input/Input.tsx#L27-L45:InputPropsdoes not expose disabled, placeholder, testID, or editable behavior.Acceptance criteria
Input,Select, andInputSelect.disabledprevents both opening suggestions and editing text where applicable.testID,placeholder, and disabled behavior.