Skip to content

Releases: POLPROG-TECH/Native-UI

@polprog/native-ui@1.5.0

31 May 19:57
38f699c

Choose a tag to compare

Minor Changes

  • cfe95b8: Code-quality audit fixes across the component library.

    Accessibility

    • Input / TextArea now append their error message to the accessible label and TextArea exposes a disabled accessibility state.
    • Switch makes the entire label/subtitle row tappable and exposes the subtitle in the accessible name; the inner native switch is hidden from assistive tech when wrapped.
    • Modal and BottomSheet backdrops are now exposed as a dismiss button (or hidden when non-dismissable), and decorative handles/glyphs in BottomSheet, Select, ListItem and Checkbox are hidden from screen readers.

    API

    • Input and TextArea now forward refs to the underlying TextInput.
    • Radio accepts a style prop and triggers light haptics on press, matching Checkbox/Switch.
    • Box now extends ViewProps, fixing the previously mistyped accessibilityRole and untyped passthrough props.
    • The selectedValue / onValueChange aliases on Select are marked @deprecated.

    Performance

    • Button, IconButton, Switch, Checkbox and Radio are wrapped in React.memo, with memoized styles and a shared useDebouncedPress hook for press handling.
    • Select uses useWindowDimensions and memoized callbacks instead of inline closures.

    Types

    • elevation tokens are now strongly typed via the exported Elevation type, removing as ViewStyle casts throughout the library.

    A new public useDebouncedPress hook is exported for consumers.

    Docs

@polprog/native-ui@1.4.0

09 May 11:33
497572a

Choose a tag to compare

Minor Changes

  • 6ebdff9: feat(DatePickerInput): Full-featured cross-platform date/time picker

    • Added mode prop supporting date, time, and datetime modes
    • Added disabled, placeholder, testID, icon props
    • Implemented controlled open/close via isOpen / onOpen / onClose
    • Added clearable / onClear props for clearing selected value
    • Android datetime mode: two-step picker flow (date → time)
    • iOS: compact native picker with placeholder-first flow support
    • DEV-only console warning when peer dependency is missing
    • Created DateRangePickerInput composite component for date range selection
    • Storybook story with playground and multiple variants

@polprog/native-ui@1.3.1

05 May 14:19
b718ade

Choose a tag to compare

Patch Changes

  • 223a23c: Code quality sweep: performance, accessibility, and DRY improvements across 10 components.

    Performance

    • ListItem - wrapped in React.memo
    • Chip - handlePress stabilised with useCallback.
    • SettingsRow / SettingsSwitchRow - merged iconColorMap memoised with useMemo.
    • Select - SelectRow.onPress closure replaced with stable value + onSelect props, eliminating per-option re-renders.
    • Countdown - onExpire moved to a ref to avoid unnecessary effect re-runs.

    Accessibility

    • Modal - replaced incorrect accessibilityRole="alert" with accessibilityViewIsModal.
    • BottomSheet / Select sheet - replaced hardcoded paddingBottom: 34 with useSafeAreaInsets().bottom.
    • Select - replaced hardcoded maxHeight: 320 with 40% of window height for better scaling with large text sizes.

    DRY / Maintainability

    • Extracted shared FieldLabel and FieldError components; refactored Input, TextArea, and Select to use them.

@polprog/native-ui@1.3.0

23 Apr 22:41
08c6b6b

Choose a tag to compare

Minor Changes

  • 58820f9: Component bug fixes, single-responsibility refactors, and a test-coverage push past 90%.

    Fixes

    • SearchBar - honour parent-driven resets even when the debounce timer is in flight.
    • BottomTabBar - hide the badge for 0, negative, and empty-string counts.
    • Countdown - clear the interval the moment the counter expires instead of leaking timers.
    • BottomSheet - respect theme.reduceAnimations on exit, not only on enter.
    • Toast - treat duration: 0 as sticky rather than collapsing to the default 3 s timeout.
    • ErrorBoundary - treat resetKeys transitioning between defined and undefined (and back) as a reset trigger.

    Refactor

    • Extracted helpers, hooks, and subcomponents across SearchBar, BottomTabBar, Countdown, BottomSheet, Toast, and ErrorBoundary for clearer single-responsibility boundaries.

    Tests & infrastructure

    • Added suites for Avatar, Skeleton, ScreenContainer, Modal, BottomSheet, ConfettiOverlay, Select, InputPrompt, Divider, Heading, SectionLabel, PaginationDots, MarqueeText, PressableScale, responsive tokens, useResponsiveSpacing, and ThemeProvider.
    • Centralised React Native and Reanimated jest mocks, injected __DEV__ globally.

@polprog/native-ui@1.2.0

22 Apr 18:19

Choose a tag to compare

@polprog/native-ui@1.2.0

Minor Changes

  • ec695b5: Add new BottomTabBar, Countdown, and StatTile components with Storybook docs and MSW support.
  • c7ac7bb: Add 22 component test suites (351 tests) covering BottomTabBar, Card, Checkbox, Chip, Countdown, EmptyState, ErrorBoundary, IconButton, Input, ListHeader, ListItem, ListSection, ListSwitchItem, ProgressBar, Radio, SearchBar, Section, SettingsRow, Spinner, StatTile, Switch, and TextArea. Raise coverage thresholds to 50%.
  • c7ac7bb: Improve react-native mock with aria-label, aria-selected, and disabled guard on Switch for accessible testing under jsdom.

Patch Changes

  • d9fb8fa: Fix Storybook play-test queries: use role="tab" for BottomTabBar items, add debounce wait for IconButton, and pointerEventsCheck: 0 for disabled buttons.
  • de7a826: Remove changeset check from pre-push hook that was blocking the changesets release bot.

All notable changes to this package will be documented in this file.
The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.

Releases are managed via Changesets.
To add a changelog entry, run npx changeset from the monorepo root.

@polprog/native-ui@1.1.0

20 Apr 23:03

Choose a tag to compare

Minor Changes

  • 1dc6ab5: Added semantic tokens layer, strict TypeScript, ESLint a11y rules, and changesets for automated versioning.

All notable changes to this package will be documented in this file.
The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.

Releases are managed via Changesets.
To add a changelog entry, run npx changeset from the monorepo root.