70 Commits

Author SHA1 Message Date
Nicolas Gallagher c47bec7b93 0.15.0 2021-02-12 10:54:39 -08:00
Nicolas Gallagher a5d6cd51ef Update prettier and reformat code 2021-02-11 14:58:05 -08:00
Nicolas Gallagher 7b0365272c New documentation site and examples app
Replaces the old storybook with static HTML documentation and an interactive
examples app. The documentation is now easier to customize, easier to maintain,
and faster to load. The interactive examples are a dedicated Next.js app that
can be loaded and edited in codesandbox, as well as embedded in the
documentation where needed.
2021-02-11 14:53:04 -08:00
Nicolas Gallagher 2e7e5631f9 Remove storybook docs and examples 2021-02-06 09:12:41 -08:00
Sudhanshu Gautam e493af50cf [add] Linking: event listeners
Fix ##1650
Close #1863
2021-02-05 13:56:40 -08:00
Nicolas Gallagher f5c9f63723 0.14.13 2021-02-05 13:55:00 -08:00
Nicolas Gallagher 4b8cd20aaa 0.14.12 2021-02-04 12:47:23 -08:00
Nicolas Gallagher d48f59102f 0.14.11 2021-01-29 13:39:45 -08:00
Nicolas Gallagher 6739ab95cf 0.14.10 2020-12-17 13:51:03 -08:00
Nicolas Gallagher c4e0fd7ab5 0.14.9 2020-12-04 11:47:36 -08:00
Nicolas Gallagher 6928fab9e0 0.14.8 2020-11-09 15:57:38 -08:00
Nicolas Gallagher 6624a70cca 0.14.7 2020-10-30 10:52:37 -07:00
Nicolas Gallagher 1048f7ce3e 0.14.6 2020-10-29 17:14:39 -07:00
Nicolas Gallagher 07e578edb8 [fix] ResponderSystem negotiation logic
This fixes a bug in the negotiation logic that caused a cycle of
terminate->grant events to be sent to the current responder during a pointer
move. The root cause was using an incorrect event path in the calculation of
the lowest common ancestor's index. The fix is to ensure that the event path
stored with the current responder is pruned to begin with the node that is the
current responder (rather than any child responders it may have contained).
2020-10-29 17:13:46 -07:00
Nicolas Gallagher b8fddcf6b1 0.14.5 2020-10-27 11:06:27 -07:00
Nicolas Gallagher b4e53e8cd3 0.14.4 2020-10-22 11:00:02 -07:00
Nicolas Gallagher 2428b6c6fc 0.14.3 2020-10-19 16:02:22 -07:00
Nicolas Gallagher 663458713c 0.14.2 2020-10-16 12:57:49 -07:00
Nicolas Gallagher 933bd138ce 0.14.1 2020-10-12 13:41:20 -07:00
Nicolas Gallagher 78174d7b48 0.14.0 2020-10-09 12:59:41 -07:00
Nicolas Gallagher 38fd574984 [add] Pressable support for hover state
This patch ports the 'useHover' hook to React Native for Web, providing hover
state that is scoped to a pressable and does not bubble to ancestor pressables.
This behavior aligns with the behavior of the focus and press states.

Fix #1708
2020-10-09 11:35:36 -07:00
James Ward d97a1ca567 [add] Modal component
This adds support for the React Native Modal on web.

The app content is hidden from screen readers by setting the aria-modal flag on
the modal. This focus is trapped within the modal, both when attempting to
focus elsewhere using the mouse as well as when attempting to focus elsewhere
using the keyboard. A built-in "Escape to close" mechanism is been implemented
that calls 'onRequestClose' for the active modal.

Close #1646
Fix #1020
2020-10-09 11:32:31 -07:00
Nicolas Gallagher bf2e10d482 0.13.18 2020-10-09 11:17:09 -07:00
Nicolas Gallagher df14c7278a 0.13.17 2020-10-08 12:29:11 -07:00
Nicolas Gallagher bdcb4de7dc 0.13.16 2020-10-06 11:41:31 -07:00
Nicolas Gallagher aad0c88cea 0.13.15 2020-10-05 15:38:06 -07:00
Shobhit Chittora 06d3cadf05 Update docs suggested preset to metro-react-native-babel-preset
Updating the document as `babel-preset-react-native` is deprecated in favor for
`metro-react-native-babel-preset`. More info here -
https://www.npmjs.com/package/babel-preset-react-native.

Close #1751
2020-10-05 14:48:38 -07:00
Nicolas Gallagher 7bc6fc8347 0.13.14 2020-09-24 13:39:37 -07:00
Nicolas Gallagher af0d80a808 0.13.13 2020-09-21 15:56:18 -07:00
Nicolas Gallagher 74acb21aa8 0.13.12 2020-09-09 11:57:58 -07:00
Nicolas Gallagher 9ed9231b04 0.13.11 2020-09-08 12:33:37 -07:00
Nicolas Gallagher 397de88137 0.13.10 2020-09-08 11:24:19 -07:00
Nicolas Gallagher 8add92f776 0.13.9 2020-08-25 12:05:29 -07:00
Nicolas Gallagher 67a3d78799 0.13.8 2020-08-17 11:32:37 -07:00
Nicolas Gallagher 7fc17d01cc 0.13.7 2020-08-12 10:58:28 -07:00
Nicolas Gallagher 75c5a90563 0.13.6 2020-08-10 14:13:13 -07:00
Nicolas Gallagher 251cdfb220 0.13.5 2020-08-03 14:10:51 -07:00
Nicolas Gallagher 5426762ed4 0.13.4 2020-07-20 12:26:49 -07:00
Nicolas Gallagher 72638d028b 0.13.3 2020-07-07 14:43:10 -07:00
Nicolas Gallagher 96dcce0261 0.13.2 2020-07-07 11:45:46 -07:00
Nicolas Gallagher 8c391604ba 0.13.1 2020-06-29 12:20:51 -07:00
Nicolas Gallagher 824cca1972 0.13.0 2020-06-26 15:16:53 -07:00
Nicolas Gallagher 5dda71c2a6 [change] Remove 'accessibilityRelationship'; add 'dataSet'
Remove the 'accessibilityRelationship' prop which is not part of React Native.
The general approach to supporting ARIA-like accessibility APIs in React Native
needs revisiting and it will be easier to stop going down this path.

This patch also reverts the "unstable_ariaSet" change, and renames
"unstable_dataSet" to "dataSet". Avoiding another breaking change to
accessibility props will ease upgrading for now.
2020-06-26 14:51:55 -07:00
Nicolas Gallagher c2d4fd6d77 Fix TextInput onSelectionChange logic 2020-06-26 14:51:51 -07:00
Jaap Frolich 324995ec2b [add] Appearance module
Close #1597
2020-06-26 14:51:50 -07:00
Nicolas Gallagher cecacbc3ac Add eslint-plugin-flowtype 2020-06-26 14:51:49 -07:00
Nicolas Gallagher ff6109ec1c Update README and docs 2020-06-26 14:51:49 -07:00
Nicolas Gallagher aa647567ad [change] Remove hitSlop
Rely on the native behavior of browsers to provide hitslop for touch on
interactive elements.

Fix 1609
2020-06-26 14:51:48 -07:00
Nicolas Gallagher cf7d5e9b07 [fix] forwarding of refs and props
Fixes a performance regression in prop forwarding by reintroducing prop filtering.
Fixes ref forwarding to host components, mutating the host node to add imperative APIs.
2020-06-26 14:51:45 -07:00
Nicolas Gallagher 88f5dedffd [change] Add Pressable and replace Touchables
Port and rewrite "Pressability" from React Native as "PressResponder". This
integrates a press target with the responder system on web. It avoids
performing layout measurement during gestures by eschewing React Native's
iOS-like UX in favor of expected Web UX: a press target will look pressed until
the pointer is released, even if the pointer has moved outside the bounding
rect of the target.

The PressResponder is used to reimplement the existing Touchables. It's
expected that they will eventually be removed in favor of Pressable.

Fix #1583
Fix #1564
Fix #1534
Fix #1419
Fix #1219
Fix #1166
2020-06-26 14:51:43 -07:00