Releases: NIPE-Solutions/react-pull-to-refresh
Release list
react-pull-to-refresh 1.0.0
React Pull to Refresh 1.0.0
The established compound API and gesture lifecycle are now available on the stable npm channel.
Highlights
- keeps the existing
Root,Indicator, andContentAPI with scroll arbitration, threshold hysteresis, resistance, and exactly-once refresh commitment - verifies ESM, CommonJS, TypeScript, CSS, and server rendering in isolated React 18 and React 19 consumers
- retains zero runtime dependencies beyond React peers
- publishes the exact verified tarball through protected npm provenance publishing
- documents browser ownership limits and automated evidence more precisely
The automated suite covers Chromium, Firefox, WebKit, keyboard behavior, and axe rules. No physical iOS/Android device run or human screen-reader session was performed for this release; applications should continue to provide a conventional refresh control.
v0.1.0-alpha.1
Pull-to-refresh now preserves browser scrolling more carefully: corrected directional touch-action, a session-scoped touch compatibility adapter, actual scroll-owner and nested-chain checks, and delayed-ref resolution. Root CSS no longer creates a scroll container, so Window scrolling and sticky content compose correctly.
Small thresholds now arm/disarm coherently and refresh hold never adds extra pull. Rejected or synchronously thrown application refreshes settle without core console logging. Editing controls are excluded, and custom surfaces can use data-pull-to-refresh-ignore.
Short website demos now explicitly use their local scroll surface, so desktop dragging also works when the page is scrolled.
This remains an alpha release. Physical iPhone/iPad Safari, Android Chrome, and Firefox Android QA is pending. Page-level custom PTR on iOS Safari is not guaranteed: Safari may retain native browser refresh ownership.
Validation: 71 unit tests and 103 passing Chromium, Firefox and WebKit browser tests in current CI; trusted Chromium touch traces for page and element surfaces; package/API/size checks. JavaScript is 3,042 bytes gzip, with no added runtime dependencies.
Install the alpha explicitly:
npm install @nipe-solutions/react-pull-to-refresh@0.1.0-alpha.1