diff --git a/docs/components/View.md b/docs/components/View.md index 51162846..a395dab5 100644 --- a/docs/components/View.md +++ b/docs/components/View.md @@ -132,15 +132,15 @@ Controls whether the View can be the target of touch events. The enhanced `box-none` is the equivalent of: ```css -.box-none { pointer-events: none } -.box-none * { pointer-events: auto } +.box-none { pointer-events: none !important; } +.box-none > * { pointer-events: auto; } ``` `box-only` is the equivalent of: ```css -.box-only { pointer-events: auto } -.box-only * { pointer-events: none } +.box-only { pointer-events: auto !important; } +.box-only > * { pointer-events: none; } ``` **style**: ?style diff --git a/docs/storybook/components/View/ViewExample.js b/docs/storybook/components/View/ViewExample.js index 00281419..b70f5dea 100644 --- a/docs/storybook/components/View/ViewExample.js +++ b/docs/storybook/components/View/ViewExample.js @@ -1,5 +1,3 @@ -/* eslint-disable react/prefer-es6-class */ - /** * Copyright (c) 2013-present, Facebook, Inc. * All rights reserved. @@ -23,12 +21,15 @@ * @flow */ -import createReactClass from 'create-react-class'; import React from 'react'; import { storiesOf } from '@kadira/storybook'; import UIExplorer from '../../UIExplorer'; import ViewTransformsExample from './ViewTransformsExample'; -import { StyleSheet, Text, TouchableWithoutFeedback, View } from 'react-native'; +import { StyleSheet, Text, TouchableHighlight, TouchableWithoutFeedback, View } from 'react-native'; + +const logger = e => { + console.log(e.nativeEvent); +}; const styles = StyleSheet.create({ box: { @@ -55,12 +56,10 @@ const styles = StyleSheet.create({ } }); -const ViewBorderStyleExample = createReactClass({ - getInitialState() { - return { - showBorder: true - }; - }, +class ViewBorderStyleExample extends React.Component { + state = { + showBorder: true + }; render() { return ( @@ -93,19 +92,17 @@ const ViewBorderStyleExample = createReactClass({ ); - }, + } _handlePress() { this.setState({ showBorder: !this.state.showBorder }); } -}); +} -const ZIndexExample = createReactClass({ - getInitialState() { - return { - flipped: false - }; - }, +class ZIndexExample extends React.Component { + state = { + flipped: false + }; render() { const indices = this.state.flipped ? [-1, 0, 1, 2] : [2, 1, 0, -1]; @@ -148,17 +145,17 @@ const ZIndexExample = createReactClass({ ); - }, + } _handlePress() { this.setState({ flipped: !this.state.flipped }); } -}); +} const examples = [ { title: 'Background Color', - render: function() { + render() { return ( @@ -170,7 +167,7 @@ const examples = [ }, { title: 'Border', - render: function() { + render() { return ( 5px blue border @@ -180,7 +177,7 @@ const examples = [ }, { title: 'Padding/Margin', - render: function() { + render() { return ( @@ -203,7 +200,7 @@ const examples = [ }, { title: 'Border Radius', - render: function() { + render() { return ( @@ -217,19 +214,19 @@ const examples = [ }, { title: 'Border Style', - render: function() { + render() { return ; } }, { title: 'Circle with Border Radius', - render: function() { + render() { return ; } }, { title: 'Overflow', - render: function() { + render() { return ( Opacity 0 @@ -273,10 +270,31 @@ const examples = [ }, { title: 'ZIndex', - render: function() { + render() { return ; } }, + { + title: 'Pointer Events', + render() { + return ( + + + none + + auto + + + box-only + + + box-none + + + + ); + } + }, { title: 'Basic shadow', render() { diff --git a/src/apis/AppRegistry/__tests__/__snapshots__/renderApplication-test.js.snap b/src/apis/AppRegistry/__tests__/__snapshots__/renderApplication-test.js.snap index f1e9a9a0..b6080033 100644 --- a/src/apis/AppRegistry/__tests__/__snapshots__/renderApplication-test.js.snap +++ b/src/apis/AppRegistry/__tests__/__snapshots__/renderApplication-test.js.snap @@ -16,12 +16,12 @@ button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0;} input::-webkit-inner-spin-button,input::-webkit-outer-spin-button,input::-webkit-search-cancel-button,input::-webkit-search-decoration,input::-webkit-search-results-button,input::-webkit-search-results-decoration{display:none;} @keyframes rn-ActivityIndicator-animation{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg);}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg);}} @keyframes rn-ProgressBar-animation{0%{-webkit-transform:translateX(-100%);transform:translateX(-100%);}100%{-webkit-transform:translateX(400%);transform:translateX(400%);}} -.rn-pointerEvents-105ug2t{pointer-events:auto;} -.rn-pointerEvents-12vffkv{pointer-events:none;} -.rn-pointerEvents-12vffkv *{pointer-events:auto;} -.rn-pointerEvents-ah5dr5{pointer-events:auto;} -.rn-pointerEvents-ah5dr5 *{pointer-events:none;} -.rn-pointerEvents-633pao{pointer-events:none;} +.rn-pointerEvents-105ug2t{pointer-events:auto !important;} +.rn-pointerEvents-ah5dr5{pointer-events:auto !important;} +.rn-pointerEvents-633pao{pointer-events:none !important;} +.rn-pointerEvents-12vffkv{pointer-events:none !important;} +.rn-pointerEvents-12vffkv > *{pointer-events:auto;} +.rn-pointerEvents-ah5dr5 > *{pointer-events:none;}