* Added onLongPress handling to GestureView. Added isTouch to the GestureState base to tell whether gestures came from touch or mouse. It appears that ReactXP's web gestureview doesn't actually support touches at all right now, so it's very platform-specific for now, but hopefully someday that won't be the case...
* Added docs, a unit test, addressed feedback, and, uh, the missing web implementation that I seem to have forgotten.
A committed but not yet released version of RN for Windows adds support for alerts in multi window apps by the means of a new option in RN.AlertOptions. This option is a react tag that is used as a hint by the native side to detect the right top level window to parent the native alert.
ReactXP API models the identification of root views through "rootViewId" properties. They are already used for modals/popups, so we're adding same property to RXP.AlertOptions.
The implementation keeps a list of active root views in order to quickly map the rootViewId to the RNW expected react tag hint.
This mechanism will be used for other APIs as well in future PRs (there's one where we pass the rootViewId to RNW directly, and that in not very clean since it expects RNW to understand RXP properties)
* Brent pointed out a problem in my last change, where first-runs of non-cached images would throw an error as well as a load. Reworked it to only show the img tag when the blob url is loaded, if there's an onload prop.
* Fixing PR feedback.
* Use semver in reactxp dependencies
This prevents consumers from accidentally importing and bundling two versions of the same library
For example, if I have version 1.0.0 in reactxp and 1.0.1 in my app, I would bundle both versions. If reactxp has semver, it allows 1.0.1 to be bundled once since it's compatible with the referenced version in reactxp
* Update package.json
_checkAndReportLayout calls into _getContainer which calls ReactDon.findDomNode
It's possible for the component to already be unmounted, so we should protect this call and return null if there's no longer a node
The input HTML element has size 20 by default. This means that it has to allocate at least 20 characters, which makes the input to have a minimum width that can fit those characters (the final minimum width in pixels depends on the browser and the font. More info: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Input). This behavior differs from mobile implementation that doesn't have a minimum width by default.
Since size attribute has to be greater than 0, setting it to 1 is the closest we can get to have same behavior across platforms.