├── .babelrc ├── .eslintrc ├── .gitignore ├── LICENSE.md ├── README.md ├── index.js ├── package-lock.json └── package.json /.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": ["react-native"] 3 | } -------------------------------------------------------------------------------- /.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "es6": true, 4 | "browser": true, 5 | "node": true 6 | }, 7 | "parser": "babel-eslint", 8 | "parserOptions": { 9 | "ecmaFeatures": { 10 | "jsx": true 11 | }, 12 | "sourceType": "module" 13 | }, 14 | "plugins": [ 15 | "react", 16 | "react-native" 17 | ], 18 | "extends": ["eslint:recommended", "plugin:react/recommended"], 19 | "rules": { 20 | "strict": 0, 21 | "no-console": 0, 22 | "react/prop-types": 0, 23 | "no-alert": 2, 24 | "no-array-constructor": 2, 25 | "no-bitwise": [1, { 26 | "allow": ["~"] 27 | }], 28 | "no-caller": 2, 29 | "no-catch-shadow": 2, 30 | "no-class-assign": 2, 31 | "no-cond-assign": 2, 32 | "no-const-assign": 2, 33 | "no-constant-condition": 2, 34 | "no-continue": 0, 35 | "no-control-regex": 2, 36 | "no-debugger": 2, 37 | "no-delete-var": 2, 38 | "no-div-regex": 2, 39 | "no-dupe-class-members": 2, 40 | "no-dupe-keys": 2, 41 | "no-dupe-args": 2, 42 | "no-duplicate-case": 2, 43 | "no-else-return": 0, // DISCUSS 44 | "no-empty": 2, 45 | "no-empty-character-class": 2, 46 | "no-eq-null": 2, 47 | "no-eval": 2, 48 | "no-ex-assign": 2, 49 | "no-extend-native": 2, 50 | "no-extra-bind": 2, 51 | "no-extra-boolean-cast": 2, 52 | "no-extra-parens": 2, 53 | "no-extra-semi": 2, 54 | "no-fallthrough": 2, 55 | "no-floating-decimal": 2, 56 | "no-func-assign": 2, 57 | "no-implicit-coercion": [2, { 58 | "boolean": false, 59 | "number": true, 60 | "string": true 61 | }], 62 | "no-implied-eval": 2, 63 | "no-inline-comments": 2, 64 | "no-inner-declarations": [2, "functions"], 65 | "no-invalid-regexp": 2, 66 | "no-irregular-whitespace": 2, 67 | "no-iterator": 2, 68 | "no-label-var": 2, 69 | "no-labels": 2, 70 | "no-lone-blocks": 2, 71 | "no-lonely-if": 0, 72 | "no-loop-func": 2, 73 | "no-mixed-requires": [2, false], 74 | "no-mixed-spaces-and-tabs": [2, false], 75 | "linebreak-style": [2, "unix"], 76 | "no-multi-spaces": 2, 77 | "no-multi-str": 2, 78 | "no-multiple-empty-lines": [2, { 79 | "max": 1 80 | }], 81 | "no-native-reassign": 2, 82 | "no-negated-condition": 0, 83 | "no-negated-in-lhs": 2, 84 | "no-nested-ternary": 2, 85 | "no-new": 2, 86 | "no-new-func": 2, 87 | "no-new-object": 2, 88 | "no-new-require": 2, 89 | "no-new-wrappers": 2, 90 | "no-obj-calls": 2, 91 | "no-octal": 2, 92 | "no-octal-escape": 2, 93 | "no-param-reassign": 0, // DISCUSS 94 | "no-path-concat": 2, 95 | "no-plusplus": 0, 96 | "no-process-env": 2, 97 | "no-process-exit": 2, 98 | "no-proto": 2, 99 | "no-redeclare": 2, 100 | "no-regex-spaces": 2, 101 | "no-restricted-modules": 2, 102 | "no-restricted-syntax": 2, 103 | "no-return-assign": 2, 104 | "no-script-url": 2, 105 | "no-self-compare": 2, 106 | "no-sequences": 2, 107 | "no-shadow-restricted-names": 2, 108 | "no-spaced-func": 2, 109 | "no-sparse-arrays": 2, 110 | "no-sync": 0, 111 | "no-ternary": 0, 112 | "no-trailing-spaces": 2, 113 | "no-this-before-super": 2, 114 | "no-throw-literal": 2, 115 | "no-undef": 2, 116 | "no-undef-init": 2, 117 | "no-undefined": 0, 118 | "no-unexpected-multiline": 2, 119 | "no-underscore-dangle": 0, 120 | "no-unneeded-ternary": 2, 121 | "no-unreachable": 2, 122 | "no-unused-expressions": 2, 123 | "no-unused-vars": [2, { 124 | "vars": "all", 125 | "args": "after-used" 126 | }], 127 | "no-useless-call": 2, 128 | "no-useless-concat": 2, 129 | "no-void": 2, 130 | // ES6 "no-var": 2, 131 | "no-warning-comments": [1, { 132 | "terms": ["todo", "fixme", "bug"], 133 | "location": "anywhere" 134 | }], 135 | "no-with": 2, 136 | 137 | "array-bracket-spacing": [2, "never"], 138 | "arrow-spacing": 2, 139 | "accessor-pairs": 2, 140 | "block-scoped-var": 2, 141 | "block-spacing": 2, 142 | "brace-style": [2, "1tbs"], 143 | "callback-return": 0, 144 | "camelcase": [2, { 145 | "properties": "never" 146 | }], 147 | "comma-dangle": [2, "never"], 148 | "comma-spacing": 2, 149 | "comma-style": 2, 150 | "complexity": [1, 20], // DISCUSS 151 | "computed-property-spacing": [2, "never"], 152 | "consistent-return": 0, 153 | "consistent-this": [0, "self"], // DISCUSS 154 | "constructor-super": 2, 155 | "curly": [2, "all"], 156 | "default-case": 2, 157 | "dot-location": [2, "property"], 158 | "dot-notation": [2, { 159 | "allowKeywords": true, 160 | "allowPattern": "^(catch|finally|import)$" 161 | }], 162 | "eol-last": 0, // DISCUSS 163 | "eqeqeq": 2, 164 | "func-names": 0, // DISCUSS 165 | "func-style": [0, "declaration"], // DISCUSS 166 | "generator-star-spacing": 0, 167 | "global-require": 2, 168 | "guard-for-in": 0, // DICUSSS 169 | "handle-callback-err": 2, 170 | "indent": [0, 2], // DISCUSS 171 | "init-declarations": 0, 172 | "jsx-quotes": [2, "prefer-double"], 173 | "key-spacing": [2, { 174 | "beforeColon": false, 175 | "afterColon": true 176 | }], 177 | "lines-around-comment": 0, // DISCUSS 178 | "max-depth": [2, 4], 179 | "max-len": [2, 120, 4, { 180 | "ignoreComments": true, 181 | "ignoreUrls": true, 182 | "ignorePattern": "^import\\s.+\\sfrom\\s.+;$|function\\s[^\\(]*\\({[^}]*}\\)" 183 | }], 184 | "max-nested-callbacks": [2, 3], 185 | "max-params": [1, 5], 186 | "max-statements": [1, 20], 187 | "new-cap": 2, 188 | "new-parens": 2, 189 | "newline-after-var": 0, 190 | "object-curly-spacing": [2, "always"], 191 | // ES6 "object-shorthand": 2, 192 | "one-var": [2, "never"], 193 | "operator-assignment": [2, "always"], 194 | "operator-linebreak": [2, "after" ], 195 | "padded-blocks": [0, "never"], // DISCUSS 196 | // ES6 "prefer-arrow-callback": 2, 197 | // ES6 "prefer-const": 0, 198 | // ES6 "prefer-spread": 2, 199 | "prefer-reflect": 0, 200 | // ES6 "prefer-template": 2, 201 | "quote-props": [0, "as-needed"], // DISCUSS 202 | "quotes": [2, "single"], 203 | "radix": 2, 204 | "id-match": 2, 205 | "require-jsdoc": 0, // DISCUSS 206 | "require-yield": 2, 207 | "semi": 2, 208 | "semi-spacing": [2, { 209 | "before": false, 210 | "after": true 211 | }], 212 | "sort-vars": 2, 213 | "keyword-spacing": 2, 214 | "space-before-blocks": [2, "always"], 215 | "space-before-function-paren": [2, { 216 | "anonymous": "always", 217 | "named": "never" 218 | }], 219 | "space-in-parens": [2, "never"], 220 | "space-infix-ops": 2, 221 | "space-unary-ops": [2, { 222 | "words": true, 223 | "nonwords": false 224 | }], 225 | "spaced-comment": 2, 226 | "use-isnan": 2, 227 | "valid-jsdoc": 2, 228 | "valid-typeof": 2, 229 | "vars-on-top": 0, // DISCUSS 230 | "wrap-iife": [2, "inside"], 231 | "wrap-regex": 2, 232 | "yoda": [2, "never"] 233 | } 234 | } 235 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2017 Ruben Rizzi 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # react-native-modal-wrapper [![npm version](https://badge.fury.io/js/react-native-modal-wrapper.svg)](https://badge.fury.io/js/react-native-modal-wrapper) 2 | 3 | Wrapper component that extends the react native Modal component, adding overlay clickable behavior and allowing swipe in and out in all directions 4 | 5 | ## Install 6 | 7 | ``` 8 | npm install react-native-modal-wrapper --save 9 | ``` 10 | 11 | ## Central modal box example 12 | 13 | 14 | 15 | ```jsx 16 | 20 | New project 21 | 26 | 27 | 28 | 29 | 30 | 31 | ``` 32 | ## Bottom contextual menu example 33 | 34 | 35 | 36 | ```jsx 37 | 42 | {this.contextMenuActions.map(([id, text, onPress]) => 43 | { 49 | onClosed(); 50 | onPress(); 51 | }}> 52 | {text} 53 | 54 | )} 55 | 56 | ``` 57 | 58 | ## Right contextual menu example 59 | 60 | 61 | 62 | ```jsx 63 | this.setState({ isFilterByTagPanelOpen: false })} 66 | position="right" 67 | style={styles.sidebar} 68 | visible={isFilterByTagPanelOpen}> 69 | this.setState({ isFilterByTagPanelOpen: false })} 71 | onSelection={tags => updateProjectFilter({ tags })}> 72 | 73 | 74 | ``` 75 | 76 | ## Modal without overlay example 77 | 78 | 79 | 80 | ```jsx 81 | this.forceUpdate()}> 82 | {/* Page Content */} 83 | { 90 | const { height, width } = Dimensions.get('window'); 91 | const modalHeight = 100; 92 | const modalWidth = 280; 93 | return { 94 | top: (height - modalHeight) / 2, 95 | left: (width - modalWidth) / 2 96 | }; 97 | })()]} 98 | visible={this.state.visible}> 99 | 100 | Modal without overlay 101 | 102 | 103 | 104 | ``` 105 | 106 | ## Properties 107 | 108 | This component supports all the properties of the original react native modal component https://facebook.github.io/react-native/docs/modal.html, plus the following: 109 | 110 | | Prop | Default | Type | Description | 111 | | :------------ |:---------------:| :---------------:| :-----| 112 | | animateOnMount | false | `bool` | Determine whether or not animate the modal if it's visible when it mounts. | 113 | | animationDuration | 300 | `number` | Duration of the animation. | 114 | | position | bottom | `string` | Position where the sliding animation of the modal should start. Accepted values: "top", "bottom", "left", "right". | 115 | | containerStyle | - | `any` | Container styles used for positioning the modal with flexbox (default: alignItems: 'center', flex: 1, justifyContent: 'center'). See the examples. | 116 | | isNative | true | `bool` | Determine the usage of the react native modal component or a simple view wrapper instead. It can be set to false to overcome some react native modal limitations (for example to have more than one modal open at the same time). | 117 | | onAnimateClose | () => null | `func` | Callback executed after the modal is closed. | 118 | | onAnimateOpen | () => null | `func` | Callback executed after the modal is open. | 119 | | overlayStyle | - | `any` | Styles used to define the overlay backgroundColor (default: "#000") and opacity (default: 0.5). | 120 | | overlayTestID | - | `string` | testID prop for the overlay element. | 121 | | screenHeight | computed screen height | `number` | Allow the user to manually set the right screen height to adjust the keyboardSpacer due to an issue on iPad in react native https://github.com/facebook/react-native/issues/7340. | 122 | | shouldAnimateOnOverlayPress | true | `bool` | Determine whether or not animate the modal closing down when the overlay is pressed. | 123 | | shouldAnimateOnRequestClose | false | `bool` | Determine whether or not animate the modal closing down when the onRequestClose callback is executed. | 124 | | shouldCloseOnOverlayPress | true | `bool` | Determine whether or not allow the modal closing down if the overlay is pressed. | 125 | | showOverlay | true | `bool` | Determine whether or not showing the overlay. In combination with isNative={false} it is possible to interact with the background of the application when the modal is still open. | 126 | | style | - | `any` | Styles of the modal (default: backgroundColor: '#fff', justifyContent: 'center'). | 127 | 128 | Note: this component sets some properties of the underlying native modal component to allow sliding flexibility in each direction and the clickable overlay behavior, therefore we suggest not to change those. However, you can set to 0 the animationDuration prop to avoid the component sliding logic from top, bottom, left or right and therefore turning on the react native modal animationType prop, disabled by default. Here the list of the react native modal properties set by default: 129 | 130 | | Prop | Default | Type | Description | 131 | | :------------ |:---------------:| :---------------:| :-----| 132 | | animationType | "none" | `string` | The react native modal has limited animation customization, therefore the animation logic is done externally using position and animationDuration. | 133 | | transparent | true | `bool` | We want to have the overlay by default. | 134 | -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | import React, { Component } from 'react'; 4 | import { 5 | Animated, 6 | Dimensions, 7 | Modal, 8 | Platform, 9 | TouchableWithoutFeedback, 10 | StyleSheet, 11 | View 12 | } from 'react-native'; 13 | import KeyboardSpacer from 'react-native-keyboard-spacer'; 14 | import PropTypes from 'prop-types'; 15 | 16 | const modalPropTypes = { 17 | visible: PropTypes.bool, 18 | supportedOrientations: PropTypes.arrayOf( 19 | PropTypes.oneOf([ 20 | 'portrait', 21 | 'portrait-upside-down', 22 | 'landscape', 23 | 'landscape-left', 24 | 'landscape-right' 25 | ]) 26 | ), 27 | onRequestClose: 28 | Platform.isTV || Platform.OS === 'android' 29 | ? PropTypes.func.isRequired 30 | : PropTypes.func, 31 | onShow: PropTypes.func, 32 | transparent: PropTypes.bool, 33 | animationType: PropTypes.oneOf(['none', 'slide', 'fade']), 34 | hardwareAccelerated: PropTypes.bool, 35 | onDismiss: PropTypes.func, 36 | onOrientationChange: PropTypes.func, 37 | presentationStyle: PropTypes.oneOf([ 38 | 'fullScreen', 39 | 'pageSheet', 40 | 'formSheet', 41 | 'overFullScreen' 42 | ]) 43 | }; 44 | 45 | export default class ModalWrapper extends Component { 46 | constructor(props) { 47 | super(props); 48 | this.state = this.getInitState(); 49 | } 50 | 51 | isVertical = () => { 52 | return this.props.position === 'top' || this.props.position === 'bottom'; 53 | }; 54 | 55 | getInitialPosition = () => { 56 | const { width, height } = Dimensions.get('window'); 57 | const { position } = this.props; 58 | let initialPosition = this.isVertical() ? height : width; 59 | 60 | if (position === 'top' || position === 'left') { 61 | initialPosition = -initialPosition; 62 | } 63 | return initialPosition; 64 | }; 65 | 66 | getInitState = () => { 67 | this.isClosingFromOverlayPress = false; 68 | return { 69 | currentPosition: new Animated.Value(this.getInitialPosition()), 70 | isAnimating: false, 71 | overlayOpacity: new Animated.Value(0) 72 | }; 73 | }; 74 | 75 | getOverlayOpacity = () => { 76 | const { overlayStyle: { opacity } = {} } = this.props; 77 | return opacity === 0 || opacity > 0 ? opacity : 0.5; 78 | }; 79 | 80 | componentDidMount() { 81 | const { animateOnMount, onAnimateOpen, visible } = this.props; 82 | 83 | if (visible) { 84 | if (animateOnMount) { 85 | this.animateOpen(); 86 | } else { 87 | this.setState({ 88 | currentPosition: new Animated.Value(0), 89 | isAnimating: false, 90 | overlayOpacity: new Animated.Value(this.getOverlayOpacity()) 91 | }); 92 | onAnimateOpen(); 93 | } 94 | } 95 | } 96 | 97 | componentWillReceiveProps(newProps) { 98 | if (newProps.visible !== this.props.visible) { 99 | if (newProps.visible) { 100 | this.animateOpen(); 101 | } else { 102 | const { 103 | onAnimateClose, 104 | onRequestClose, 105 | shouldAnimateOnOverlayPress, 106 | shouldAnimateOnRequestClose 107 | } = newProps; 108 | const handleClose = shouldAnimate => { 109 | if (shouldAnimate) { 110 | this.animateClose(); 111 | } else { 112 | this.setState(this.getInitState()); 113 | onRequestClose(); 114 | onAnimateClose(); 115 | } 116 | }; 117 | 118 | if (this.isClosingFromOverlayPress) { 119 | handleClose(shouldAnimateOnOverlayPress); 120 | } else { 121 | handleClose(shouldAnimateOnRequestClose); 122 | } 123 | } 124 | } 125 | } 126 | 127 | animateOpen = () => { 128 | const { animationDuration, onAnimateOpen } = this.props; 129 | 130 | Animated.timing(this.state.overlayOpacity, { 131 | toValue: this.getOverlayOpacity(), 132 | duration: animationDuration 133 | }).start(); 134 | Animated.timing(this.state.currentPosition, { 135 | toValue: 0, 136 | duration: animationDuration 137 | }).start(() => { 138 | this.setState({ isAnimating: false }); 139 | onAnimateOpen(); 140 | }); 141 | this.setState({ isAnimating: true }); 142 | }; 143 | 144 | animateClose = () => { 145 | const { animationDuration, onAnimateClose } = this.props; 146 | const initialPosition = this.getInitialPosition(); 147 | 148 | Animated.timing(this.state.overlayOpacity, { 149 | toValue: 0, 150 | duration: animationDuration 151 | }).start(); 152 | Animated.timing(this.state.currentPosition, { 153 | toValue: initialPosition, 154 | duration: animationDuration 155 | }).start(() => { 156 | this.isClosingFromOverlayPress = false; 157 | this.setState({ isAnimating: false }); 158 | onAnimateClose(); 159 | }); 160 | this.setState({ isAnimating: true }); 161 | }; 162 | 163 | onOverlayPress = () => { 164 | if (this.state.isAnimating) { 165 | return; 166 | } 167 | const { onRequestClose, shouldCloseOnOverlayPress } = this.props; 168 | 169 | if (shouldCloseOnOverlayPress) { 170 | this.isClosingFromOverlayPress = true; 171 | onRequestClose(); 172 | } 173 | }; 174 | 175 | render() { 176 | const { visible, ...nativeModalProps } = Object.keys(modalPropTypes).reduce( 177 | (previous, current) => { 178 | if (this.props.hasOwnProperty(current)) { 179 | previous[current] = this.props[current]; 180 | } 181 | return previous; 182 | }, 183 | {} 184 | ); 185 | const { 186 | children, 187 | containerStyle, 188 | isNative, 189 | overlayStyle, 190 | overlayTestID, 191 | showOverlay, 192 | screenHeight, 193 | style, 194 | ...modalProps 195 | } = Object.keys(this.props).reduce((previous, current) => { 196 | // the reducer is used to get the correct set of ...modalProps 197 | if (!modalPropTypes.hasOwnProperty(current) && current !== 'position') { 198 | previous[current] = this.props[current]; 199 | } 200 | return previous; 201 | }, {}); 202 | const { currentPosition, isAnimating, overlayOpacity } = this.state; 203 | const isVisible = visible || isAnimating; 204 | const modalStyle = [ 205 | styles.modal, 206 | style, 207 | { 208 | transform: this.isVertical() 209 | ? [{ translateY: currentPosition }] 210 | : [{ translateX: currentPosition }] 211 | } 212 | ]; 213 | const modal = ( 214 | 215 | {children} 216 | 217 | ); 218 | const computedScreenHeight = screenHeight 219 | ? screenHeight 220 | : Dimensions.get('window').height; 221 | const keyboardSpacer = 222 | Platform.OS === 'ios' ? ( 223 | 224 | ) : null; 225 | const renderContainer = ( 226 | isJs // eslint-disable-line no-extra-parens 227 | ) => ( 228 | 235 | {showOverlay && ( 236 | 241 | 248 | 249 | )} 250 | {modal} 251 | {isJs && keyboardSpacer} 252 | 253 | ); 254 | const nativeModal = ( 255 | 256 | {renderContainer()} 257 | {keyboardSpacer} 258 | 259 | ); 260 | const jsModal = isVisible && (showOverlay ? renderContainer(true) : modal); 261 | 262 | return isNative ? nativeModal : jsModal; 263 | } 264 | } 265 | 266 | ModalWrapper.propTypes = { 267 | animateOnMount: PropTypes.bool, 268 | animationDuration: PropTypes.number, 269 | containerStyle: PropTypes.any, 270 | isNative: PropTypes.bool, 271 | onAnimateClose: PropTypes.func, 272 | onAnimateOpen: PropTypes.func, 273 | overlayStyle: PropTypes.any, 274 | overlayTestID: PropTypes.string, 275 | position: PropTypes.oneOf(['top', 'bottom', 'left', 'right']), 276 | screenHeight: PropTypes.number, 277 | showOverlay: PropTypes.bool, 278 | shouldAnimateOnOverlayPress: PropTypes.bool, 279 | shouldAnimateOnRequestClose: PropTypes.bool, 280 | shouldCloseOnOverlayPress: PropTypes.bool, 281 | visible: PropTypes.bool.isRequired 282 | }; 283 | 284 | ModalWrapper.defaultProps = { 285 | animateOnMount: false, 286 | animationDuration: 300, 287 | animationType: 'none', 288 | isNative: true, 289 | onAnimateClose: () => null, 290 | onAnimateOpen: () => null, 291 | onRequestClose: () => null, 292 | position: 'bottom', 293 | showOverlay: true, 294 | shouldAnimateOnOverlayPress: true, 295 | shouldAnimateOnRequestClose: false, 296 | shouldCloseOnOverlayPress: true, 297 | transparent: true 298 | }; 299 | 300 | const styles = StyleSheet.create({ 301 | container: { 302 | alignItems: 'center', 303 | flex: 1, 304 | justifyContent: 'center' 305 | }, 306 | modal: { 307 | backgroundColor: '#fff', 308 | justifyContent: 'center' 309 | }, 310 | overlay: { 311 | backgroundColor: '#000', 312 | position: 'absolute', 313 | top: -500, 314 | bottom: -500, 315 | left: -500, 316 | right: -500, 317 | opacity: 0 318 | }, 319 | overlayWrapper: { 320 | position: 'absolute', 321 | top: 0, 322 | bottom: 0, 323 | left: 0, 324 | right: 0 325 | } 326 | }); 327 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "react-native-modal-wrapper", 3 | "version": "3.1.1", 4 | "lockfileVersion": 1, 5 | "requires": true, 6 | "dependencies": { 7 | "acorn": { 8 | "version": "https://registry.npmjs.org/acorn/-/acorn-4.0.3.tgz", 9 | "integrity": "sha1-Gj6FC0KOc7prCdHMUn9aqtTQPvE=", 10 | "dev": true 11 | }, 12 | "acorn-jsx": { 13 | "version": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", 14 | "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", 15 | "dev": true, 16 | "requires": { 17 | "acorn": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz" 18 | }, 19 | "dependencies": { 20 | "acorn": { 21 | "version": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", 22 | "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=", 23 | "dev": true 24 | } 25 | } 26 | }, 27 | "ajv": { 28 | "version": "https://registry.npmjs.org/ajv/-/ajv-4.10.0.tgz", 29 | "integrity": "sha1-euYWkYDrGZGSqLmhn9D0f8msh2Q=", 30 | "dev": true, 31 | "requires": { 32 | "co": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", 33 | "json-stable-stringify": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz" 34 | } 35 | }, 36 | "ajv-keywords": { 37 | "version": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-1.2.0.tgz", 38 | "integrity": "sha1-Z2xPCHv+HosS3Kb9ovPHT0F7CZw=", 39 | "dev": true 40 | }, 41 | "ansi-escapes": { 42 | "version": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz", 43 | "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4=", 44 | "dev": true 45 | }, 46 | "ansi-regex": { 47 | "version": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz", 48 | "integrity": "sha1-xQYbbg74qBd15Q9dZhUb9r83EQc=", 49 | "dev": true 50 | }, 51 | "ansi-styles": { 52 | "version": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", 53 | "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", 54 | "dev": true 55 | }, 56 | "argparse": { 57 | "version": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz", 58 | "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=", 59 | "dev": true, 60 | "requires": { 61 | "sprintf-js": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" 62 | } 63 | }, 64 | "array-union": { 65 | "version": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", 66 | "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", 67 | "dev": true, 68 | "requires": { 69 | "array-uniq": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz" 70 | } 71 | }, 72 | "array-uniq": { 73 | "version": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", 74 | "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", 75 | "dev": true 76 | }, 77 | "arrify": { 78 | "version": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", 79 | "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", 80 | "dev": true 81 | }, 82 | "babel-code-frame": { 83 | "version": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.20.0.tgz", 84 | "integrity": "sha1-uWj4OQkPmovG1Bk4+5bLhPc4eyY=", 85 | "dev": true, 86 | "requires": { 87 | "chalk": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", 88 | "esutils": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", 89 | "js-tokens": "https://registry.npmjs.org/js-tokens/-/js-tokens-2.0.0.tgz" 90 | } 91 | }, 92 | "babel-eslint": { 93 | "version": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-7.1.1.tgz", 94 | "integrity": "sha1-imqITwhapwYK9pz8dzQcL5k3D7I=", 95 | "dev": true, 96 | "requires": { 97 | "babel-code-frame": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.20.0.tgz", 98 | "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.20.0.tgz", 99 | "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.20.0.tgz", 100 | "babylon": "https://registry.npmjs.org/babylon/-/babylon-6.14.1.tgz", 101 | "lodash.pickby": "https://registry.npmjs.org/lodash.pickby/-/lodash.pickby-4.6.0.tgz" 102 | } 103 | }, 104 | "babel-messages": { 105 | "version": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.8.0.tgz", 106 | "integrity": "sha1-v1BHNsqWfm1l7wrbWipflHyODrk=", 107 | "dev": true, 108 | "requires": { 109 | "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz" 110 | } 111 | }, 112 | "babel-runtime": { 113 | "version": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz", 114 | "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8=", 115 | "dev": true, 116 | "requires": { 117 | "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz", 118 | "regenerator-runtime": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz" 119 | } 120 | }, 121 | "babel-traverse": { 122 | "version": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.20.0.tgz", 123 | "integrity": "sha1-U3jRp0Pj2FbmpSKJmUEAu9/Zhyo=", 124 | "dev": true, 125 | "requires": { 126 | "babel-code-frame": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.20.0.tgz", 127 | "babel-messages": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.8.0.tgz", 128 | "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz", 129 | "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.20.0.tgz", 130 | "babylon": "https://registry.npmjs.org/babylon/-/babylon-6.14.1.tgz", 131 | "debug": "https://registry.npmjs.org/debug/-/debug-2.4.1.tgz", 132 | "globals": "https://registry.npmjs.org/globals/-/globals-9.14.0.tgz", 133 | "invariant": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz", 134 | "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.2.tgz" 135 | } 136 | }, 137 | "babel-types": { 138 | "version": "https://registry.npmjs.org/babel-types/-/babel-types-6.20.0.tgz", 139 | "integrity": "sha1-OGnsuYRZUzs334CYhrP387CNK6o=", 140 | "dev": true, 141 | "requires": { 142 | "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz", 143 | "esutils": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", 144 | "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.2.tgz", 145 | "to-fast-properties": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.2.tgz" 146 | } 147 | }, 148 | "babylon": { 149 | "version": "https://registry.npmjs.org/babylon/-/babylon-6.14.1.tgz", 150 | "integrity": "sha1-lWJ1+rcnU62bNDXXr+WPi/CimBU=", 151 | "dev": true 152 | }, 153 | "balanced-match": { 154 | "version": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", 155 | "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=", 156 | "dev": true 157 | }, 158 | "brace-expansion": { 159 | "version": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.6.tgz", 160 | "integrity": "sha1-cZfX6qm4fmSDkOph/GbIRCdCDfk=", 161 | "dev": true, 162 | "requires": { 163 | "balanced-match": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", 164 | "concat-map": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" 165 | } 166 | }, 167 | "caller-path": { 168 | "version": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", 169 | "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", 170 | "dev": true, 171 | "requires": { 172 | "callsites": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz" 173 | } 174 | }, 175 | "callsites": { 176 | "version": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz", 177 | "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=", 178 | "dev": true 179 | }, 180 | "chalk": { 181 | "version": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", 182 | "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", 183 | "dev": true, 184 | "requires": { 185 | "ansi-styles": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", 186 | "escape-string-regexp": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 187 | "has-ansi": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", 188 | "strip-ansi": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", 189 | "supports-color": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz" 190 | } 191 | }, 192 | "circular-json": { 193 | "version": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.1.tgz", 194 | "integrity": "sha1-vos2rvzN6LPKeqLWr8B6NyQsDS0=", 195 | "dev": true 196 | }, 197 | "cli-cursor": { 198 | "version": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz", 199 | "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=", 200 | "dev": true, 201 | "requires": { 202 | "restore-cursor": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz" 203 | } 204 | }, 205 | "cli-width": { 206 | "version": "https://registry.npmjs.org/cli-width/-/cli-width-2.1.0.tgz", 207 | "integrity": "sha1-sjTKIJsp72b8UY2bmNWEewDt8Ao=", 208 | "dev": true 209 | }, 210 | "co": { 211 | "version": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", 212 | "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", 213 | "dev": true 214 | }, 215 | "code-point-at": { 216 | "version": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", 217 | "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", 218 | "dev": true 219 | }, 220 | "concat-map": { 221 | "version": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 222 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", 223 | "dev": true 224 | }, 225 | "concat-stream": { 226 | "version": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.2.tgz", 227 | "integrity": "sha1-cIl4Yk2FavQaWnQd790mHadSwmY=", 228 | "dev": true, 229 | "requires": { 230 | "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", 231 | "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", 232 | "typedarray": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz" 233 | } 234 | }, 235 | "core-js": { 236 | "version": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz", 237 | "integrity": "sha1-TekR5mew6ukSTjQlS1OupvxhjT4=", 238 | "dev": true 239 | }, 240 | "core-util-is": { 241 | "version": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", 242 | "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", 243 | "dev": true 244 | }, 245 | "cross-spawn": { 246 | "version": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.0.1.tgz", 247 | "integrity": "sha1-o7uzAtsil8vqPATt82lB9GE6o5k=", 248 | "dev": true, 249 | "requires": { 250 | "lru-cache": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.0.2.tgz", 251 | "shebang-command": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", 252 | "which": "https://registry.npmjs.org/which/-/which-1.2.12.tgz" 253 | } 254 | }, 255 | "d": { 256 | "version": "https://registry.npmjs.org/d/-/d-0.1.1.tgz", 257 | "integrity": "sha1-2hhMU10Y2O57oqoim5FACfrhEwk=", 258 | "dev": true, 259 | "requires": { 260 | "es5-ext": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.12.tgz" 261 | } 262 | }, 263 | "debug": { 264 | "version": "https://registry.npmjs.org/debug/-/debug-2.4.1.tgz", 265 | "integrity": "sha1-7yUy0nU9KCBFwTyCzkegnla5HVM=", 266 | "dev": true, 267 | "requires": { 268 | "ms": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz" 269 | } 270 | }, 271 | "deep-is": { 272 | "version": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", 273 | "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", 274 | "dev": true 275 | }, 276 | "del": { 277 | "version": "https://registry.npmjs.org/del/-/del-2.2.2.tgz", 278 | "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", 279 | "dev": true, 280 | "requires": { 281 | "globby": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz", 282 | "is-path-cwd": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", 283 | "is-path-in-cwd": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz", 284 | "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz", 285 | "pify": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", 286 | "pinkie-promise": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", 287 | "rimraf": "https://registry.npmjs.org/rimraf/-/rimraf-2.5.4.tgz" 288 | } 289 | }, 290 | "doctrine": { 291 | "version": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", 292 | "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", 293 | "dev": true, 294 | "requires": { 295 | "esutils": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", 296 | "isarray": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" 297 | } 298 | }, 299 | "es5-ext": { 300 | "version": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.12.tgz", 301 | "integrity": "sha1-qoRkHU23a2Krul5F/YBey6sUAEc=", 302 | "dev": true, 303 | "requires": { 304 | "es6-iterator": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.0.tgz", 305 | "es6-symbol": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.0.tgz" 306 | } 307 | }, 308 | "es6-iterator": { 309 | "version": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.0.tgz", 310 | "integrity": "sha1-vZaFZ9YWNeM8C4BydhPJy0sJa6w=", 311 | "dev": true, 312 | "requires": { 313 | "d": "https://registry.npmjs.org/d/-/d-0.1.1.tgz", 314 | "es5-ext": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.12.tgz", 315 | "es6-symbol": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.0.tgz" 316 | } 317 | }, 318 | "es6-map": { 319 | "version": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.4.tgz", 320 | "integrity": "sha1-o0sUe+IkdzpNfagHJ5TO+jYyuJc=", 321 | "dev": true, 322 | "requires": { 323 | "d": "https://registry.npmjs.org/d/-/d-0.1.1.tgz", 324 | "es5-ext": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.12.tgz", 325 | "es6-iterator": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.0.tgz", 326 | "es6-set": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.4.tgz", 327 | "es6-symbol": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.0.tgz", 328 | "event-emitter": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.4.tgz" 329 | } 330 | }, 331 | "es6-set": { 332 | "version": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.4.tgz", 333 | "integrity": "sha1-lRa2dhwpZLkv9HlFYjOiR9xwfOg=", 334 | "dev": true, 335 | "requires": { 336 | "d": "https://registry.npmjs.org/d/-/d-0.1.1.tgz", 337 | "es5-ext": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.12.tgz", 338 | "es6-iterator": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.0.tgz", 339 | "es6-symbol": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.0.tgz", 340 | "event-emitter": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.4.tgz" 341 | } 342 | }, 343 | "es6-symbol": { 344 | "version": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.0.tgz", 345 | "integrity": "sha1-lEgcZV56fK2C66gy2X1UM0ltf/o=", 346 | "dev": true, 347 | "requires": { 348 | "d": "https://registry.npmjs.org/d/-/d-0.1.1.tgz", 349 | "es5-ext": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.12.tgz" 350 | } 351 | }, 352 | "es6-weak-map": { 353 | "version": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.1.tgz", 354 | "integrity": "sha1-DSu9iCfrX7S6j5f7/qUNQ9sh6oE=", 355 | "dev": true, 356 | "requires": { 357 | "d": "https://registry.npmjs.org/d/-/d-0.1.1.tgz", 358 | "es5-ext": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.12.tgz", 359 | "es6-iterator": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.0.tgz", 360 | "es6-symbol": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.0.tgz" 361 | } 362 | }, 363 | "escape-string-regexp": { 364 | "version": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 365 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", 366 | "dev": true 367 | }, 368 | "escope": { 369 | "version": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz", 370 | "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", 371 | "dev": true, 372 | "requires": { 373 | "es6-map": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.4.tgz", 374 | "es6-weak-map": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.1.tgz", 375 | "esrecurse": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.1.0.tgz", 376 | "estraverse": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz" 377 | } 378 | }, 379 | "eslint": { 380 | "version": "https://registry.npmjs.org/eslint/-/eslint-3.12.1.tgz", 381 | "integrity": "sha1-UHpgn+JR3+/Vj9oD5tvX6FHAdYE=", 382 | "dev": true, 383 | "requires": { 384 | "babel-code-frame": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.20.0.tgz", 385 | "chalk": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", 386 | "concat-stream": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.2.tgz", 387 | "debug": "https://registry.npmjs.org/debug/-/debug-2.4.1.tgz", 388 | "doctrine": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", 389 | "escope": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz", 390 | "espree": "https://registry.npmjs.org/espree/-/espree-3.3.2.tgz", 391 | "estraverse": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", 392 | "esutils": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", 393 | "file-entry-cache": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", 394 | "glob": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz", 395 | "globals": "https://registry.npmjs.org/globals/-/globals-9.14.0.tgz", 396 | "ignore": "https://registry.npmjs.org/ignore/-/ignore-3.2.0.tgz", 397 | "imurmurhash": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", 398 | "inquirer": "https://registry.npmjs.org/inquirer/-/inquirer-0.12.0.tgz", 399 | "is-my-json-valid": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.15.0.tgz", 400 | "is-resolvable": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.0.0.tgz", 401 | "js-yaml": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.7.0.tgz", 402 | "json-stable-stringify": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", 403 | "levn": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", 404 | "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.2.tgz", 405 | "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", 406 | "natural-compare": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", 407 | "optionator": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", 408 | "path-is-inside": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", 409 | "pluralize": "https://registry.npmjs.org/pluralize/-/pluralize-1.2.1.tgz", 410 | "progress": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz", 411 | "require-uncached": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", 412 | "shelljs": "https://registry.npmjs.org/shelljs/-/shelljs-0.7.5.tgz", 413 | "strip-bom": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", 414 | "strip-json-comments": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz", 415 | "table": "https://registry.npmjs.org/table/-/table-3.8.3.tgz", 416 | "text-table": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", 417 | "user-home": "https://registry.npmjs.org/user-home/-/user-home-2.0.0.tgz" 418 | } 419 | }, 420 | "eslint-plugin-react": { 421 | "version": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-6.8.0.tgz", 422 | "integrity": "sha1-dBq1Q4oJRTLlzhu7k11oMjVvSS0=", 423 | "dev": true, 424 | "requires": { 425 | "doctrine": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", 426 | "jsx-ast-utils": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-1.3.4.tgz" 427 | } 428 | }, 429 | "eslint-plugin-react-native": { 430 | "version": "https://registry.npmjs.org/eslint-plugin-react-native/-/eslint-plugin-react-native-2.2.1.tgz", 431 | "integrity": "sha1-nakLdrI05qcbBuK5Rmt2+QF8FuA=", 432 | "dev": true, 433 | "requires": { 434 | "babel-eslint": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-7.1.1.tgz", 435 | "eslint": "https://registry.npmjs.org/eslint/-/eslint-3.12.0.tgz" 436 | }, 437 | "dependencies": { 438 | "eslint": { 439 | "version": "https://registry.npmjs.org/eslint/-/eslint-3.12.0.tgz", 440 | "integrity": "sha1-HfpO8AguNf7tkKD7H3mW0dQmskk=", 441 | "dev": true, 442 | "requires": { 443 | "babel-code-frame": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.20.0.tgz", 444 | "chalk": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", 445 | "concat-stream": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.2.tgz", 446 | "debug": "https://registry.npmjs.org/debug/-/debug-2.4.1.tgz", 447 | "doctrine": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", 448 | "escope": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz", 449 | "espree": "https://registry.npmjs.org/espree/-/espree-3.3.2.tgz", 450 | "estraverse": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", 451 | "esutils": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", 452 | "file-entry-cache": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", 453 | "glob": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz", 454 | "globals": "https://registry.npmjs.org/globals/-/globals-9.14.0.tgz", 455 | "ignore": "https://registry.npmjs.org/ignore/-/ignore-3.2.0.tgz", 456 | "imurmurhash": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", 457 | "inquirer": "https://registry.npmjs.org/inquirer/-/inquirer-0.12.0.tgz", 458 | "is-my-json-valid": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.15.0.tgz", 459 | "is-resolvable": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.0.0.tgz", 460 | "js-yaml": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.7.0.tgz", 461 | "json-stable-stringify": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", 462 | "levn": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", 463 | "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.2.tgz", 464 | "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", 465 | "natural-compare": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", 466 | "optionator": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", 467 | "path-is-inside": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", 468 | "pluralize": "https://registry.npmjs.org/pluralize/-/pluralize-1.2.1.tgz", 469 | "progress": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz", 470 | "require-uncached": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", 471 | "shelljs": "https://registry.npmjs.org/shelljs/-/shelljs-0.7.5.tgz", 472 | "strip-bom": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", 473 | "strip-json-comments": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz", 474 | "table": "https://registry.npmjs.org/table/-/table-3.8.3.tgz", 475 | "text-table": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", 476 | "user-home": "https://registry.npmjs.org/user-home/-/user-home-2.0.0.tgz" 477 | } 478 | } 479 | } 480 | }, 481 | "espree": { 482 | "version": "https://registry.npmjs.org/espree/-/espree-3.3.2.tgz", 483 | "integrity": "sha1-2/P63rTstNR3gwPlAQOz02yIuJw=", 484 | "dev": true, 485 | "requires": { 486 | "acorn": "https://registry.npmjs.org/acorn/-/acorn-4.0.3.tgz", 487 | "acorn-jsx": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz" 488 | } 489 | }, 490 | "esprima": { 491 | "version": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", 492 | "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", 493 | "dev": true 494 | }, 495 | "esrecurse": { 496 | "version": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.1.0.tgz", 497 | "integrity": "sha1-RxO2U2rffyrE8yfVWed1a/9kgiA=", 498 | "dev": true, 499 | "requires": { 500 | "estraverse": "https://registry.npmjs.org/estraverse/-/estraverse-4.1.1.tgz", 501 | "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz" 502 | }, 503 | "dependencies": { 504 | "estraverse": { 505 | "version": "https://registry.npmjs.org/estraverse/-/estraverse-4.1.1.tgz", 506 | "integrity": "sha1-9srKcokzqFDvkGYdDheYK6RxEaI=", 507 | "dev": true 508 | } 509 | } 510 | }, 511 | "estraverse": { 512 | "version": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", 513 | "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", 514 | "dev": true 515 | }, 516 | "esutils": { 517 | "version": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", 518 | "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", 519 | "dev": true 520 | }, 521 | "event-emitter": { 522 | "version": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.4.tgz", 523 | "integrity": "sha1-jWPd+0z+H647MsomXExyAiIIC7U=", 524 | "dev": true, 525 | "requires": { 526 | "d": "https://registry.npmjs.org/d/-/d-0.1.1.tgz", 527 | "es5-ext": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.12.tgz" 528 | } 529 | }, 530 | "exit-hook": { 531 | "version": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz", 532 | "integrity": "sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g=", 533 | "dev": true 534 | }, 535 | "fast-levenshtein": { 536 | "version": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.5.tgz", 537 | "integrity": "sha1-vTMUV0RRmrHDbD7p8x8I6QebZ/I=", 538 | "dev": true 539 | }, 540 | "figures": { 541 | "version": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", 542 | "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", 543 | "dev": true, 544 | "requires": { 545 | "escape-string-regexp": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 546 | "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz" 547 | } 548 | }, 549 | "file-entry-cache": { 550 | "version": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", 551 | "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", 552 | "dev": true, 553 | "requires": { 554 | "flat-cache": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.2.1.tgz", 555 | "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz" 556 | } 557 | }, 558 | "flat-cache": { 559 | "version": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.2.1.tgz", 560 | "integrity": "sha1-bIN9YiWn3lZZMjdAs21TYfcWkf8=", 561 | "dev": true, 562 | "requires": { 563 | "circular-json": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.1.tgz", 564 | "del": "https://registry.npmjs.org/del/-/del-2.2.2.tgz", 565 | "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", 566 | "write": "https://registry.npmjs.org/write/-/write-0.2.1.tgz" 567 | } 568 | }, 569 | "fs.realpath": { 570 | "version": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 571 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", 572 | "dev": true 573 | }, 574 | "generate-function": { 575 | "version": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz", 576 | "integrity": "sha1-aFj+fAlpt9TpCTM3ZHrHn2DfvnQ=", 577 | "dev": true 578 | }, 579 | "generate-object-property": { 580 | "version": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", 581 | "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=", 582 | "dev": true, 583 | "requires": { 584 | "is-property": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz" 585 | } 586 | }, 587 | "glob": { 588 | "version": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz", 589 | "integrity": "sha1-gFIR3wT6rxxjo2ADBs31reULLsg=", 590 | "dev": true, 591 | "requires": { 592 | "fs.realpath": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 593 | "inflight": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 594 | "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", 595 | "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz", 596 | "once": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 597 | "path-is-absolute": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" 598 | } 599 | }, 600 | "globals": { 601 | "version": "https://registry.npmjs.org/globals/-/globals-9.14.0.tgz", 602 | "integrity": "sha1-iFmTavADh0EmMFOznQ52yiQeQDQ=", 603 | "dev": true 604 | }, 605 | "globby": { 606 | "version": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz", 607 | "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", 608 | "dev": true, 609 | "requires": { 610 | "array-union": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", 611 | "arrify": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", 612 | "glob": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz", 613 | "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz", 614 | "pify": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", 615 | "pinkie-promise": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz" 616 | } 617 | }, 618 | "graceful-fs": { 619 | "version": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", 620 | "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", 621 | "dev": true 622 | }, 623 | "has-ansi": { 624 | "version": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", 625 | "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", 626 | "dev": true, 627 | "requires": { 628 | "ansi-regex": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz" 629 | } 630 | }, 631 | "ignore": { 632 | "version": "https://registry.npmjs.org/ignore/-/ignore-3.2.0.tgz", 633 | "integrity": "sha1-jYjwPDACoKxSEU2yXSxnOwvx5DU=", 634 | "dev": true 635 | }, 636 | "imurmurhash": { 637 | "version": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", 638 | "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", 639 | "dev": true 640 | }, 641 | "inflight": { 642 | "version": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 643 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", 644 | "dev": true, 645 | "requires": { 646 | "once": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 647 | "wrappy": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" 648 | } 649 | }, 650 | "inherits": { 651 | "version": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", 652 | "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", 653 | "dev": true 654 | }, 655 | "inquirer": { 656 | "version": "https://registry.npmjs.org/inquirer/-/inquirer-0.12.0.tgz", 657 | "integrity": "sha1-HvK/1jUE3wvHV4X/+MLEHfEvB34=", 658 | "dev": true, 659 | "requires": { 660 | "ansi-escapes": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz", 661 | "ansi-regex": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz", 662 | "chalk": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", 663 | "cli-cursor": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz", 664 | "cli-width": "https://registry.npmjs.org/cli-width/-/cli-width-2.1.0.tgz", 665 | "figures": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", 666 | "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.2.tgz", 667 | "readline2": "https://registry.npmjs.org/readline2/-/readline2-1.0.1.tgz", 668 | "run-async": "https://registry.npmjs.org/run-async/-/run-async-0.1.0.tgz", 669 | "rx-lite": "https://registry.npmjs.org/rx-lite/-/rx-lite-3.1.2.tgz", 670 | "string-width": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", 671 | "strip-ansi": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", 672 | "through": "https://registry.npmjs.org/through/-/through-2.3.8.tgz" 673 | } 674 | }, 675 | "interpret": { 676 | "version": "https://registry.npmjs.org/interpret/-/interpret-1.0.1.tgz", 677 | "integrity": "sha1-1Xn7f2k7hYAElHrzn6DbSfeVYCw=", 678 | "dev": true 679 | }, 680 | "invariant": { 681 | "version": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz", 682 | "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=", 683 | "dev": true, 684 | "requires": { 685 | "loose-envify": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.0.tgz" 686 | } 687 | }, 688 | "is-fullwidth-code-point": { 689 | "version": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", 690 | "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", 691 | "dev": true, 692 | "requires": { 693 | "number-is-nan": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz" 694 | } 695 | }, 696 | "is-my-json-valid": { 697 | "version": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.15.0.tgz", 698 | "integrity": "sha1-k27do8o8IR/ZjzstPgjaQ/eykVs=", 699 | "dev": true, 700 | "requires": { 701 | "generate-function": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz", 702 | "generate-object-property": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", 703 | "jsonpointer": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.0.tgz", 704 | "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz" 705 | } 706 | }, 707 | "is-path-cwd": { 708 | "version": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", 709 | "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=", 710 | "dev": true 711 | }, 712 | "is-path-in-cwd": { 713 | "version": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz", 714 | "integrity": "sha1-ZHdYK4IU1gI0YJRWcAO+ip6sBNw=", 715 | "dev": true, 716 | "requires": { 717 | "is-path-inside": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.0.tgz" 718 | } 719 | }, 720 | "is-path-inside": { 721 | "version": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.0.tgz", 722 | "integrity": "sha1-/AbloWg/vaE95mev9xe7wQpI838=", 723 | "dev": true, 724 | "requires": { 725 | "path-is-inside": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz" 726 | } 727 | }, 728 | "is-property": { 729 | "version": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", 730 | "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=", 731 | "dev": true 732 | }, 733 | "is-resolvable": { 734 | "version": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.0.0.tgz", 735 | "integrity": "sha1-jfV8YeouPFAUCNEA+wE8+NbgzGI=", 736 | "dev": true, 737 | "requires": { 738 | "tryit": "https://registry.npmjs.org/tryit/-/tryit-1.0.3.tgz" 739 | } 740 | }, 741 | "isarray": { 742 | "version": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", 743 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", 744 | "dev": true 745 | }, 746 | "isexe": { 747 | "version": "https://registry.npmjs.org/isexe/-/isexe-1.1.2.tgz", 748 | "integrity": "sha1-NvPiLmB1CSD15yQaR2qMakInWtA=", 749 | "dev": true 750 | }, 751 | "js-tokens": { 752 | "version": "https://registry.npmjs.org/js-tokens/-/js-tokens-2.0.0.tgz", 753 | "integrity": "sha1-eZA/VWPud4zBFi5tzxoAJ8l/nLU=", 754 | "dev": true 755 | }, 756 | "js-yaml": { 757 | "version": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.7.0.tgz", 758 | "integrity": "sha1-XJZ93YN6m/3KXy3oQlOr6KHAO4A=", 759 | "dev": true, 760 | "requires": { 761 | "argparse": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz", 762 | "esprima": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz" 763 | } 764 | }, 765 | "json-stable-stringify": { 766 | "version": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", 767 | "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", 768 | "dev": true, 769 | "requires": { 770 | "jsonify": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz" 771 | } 772 | }, 773 | "jsonify": { 774 | "version": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", 775 | "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", 776 | "dev": true 777 | }, 778 | "jsonpointer": { 779 | "version": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.0.tgz", 780 | "integrity": "sha1-ZmHhYdL8RF8Z+YQwIxNDci4fy9U=", 781 | "dev": true 782 | }, 783 | "jsx-ast-utils": { 784 | "version": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-1.3.4.tgz", 785 | "integrity": "sha1-AlftHMSx5ls519mUD5+08g97oKk=", 786 | "dev": true, 787 | "requires": { 788 | "acorn-jsx": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", 789 | "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz" 790 | } 791 | }, 792 | "levn": { 793 | "version": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", 794 | "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", 795 | "dev": true, 796 | "requires": { 797 | "prelude-ls": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", 798 | "type-check": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz" 799 | } 800 | }, 801 | "lodash": { 802 | "version": "https://registry.npmjs.org/lodash/-/lodash-4.17.2.tgz", 803 | "integrity": "sha1-NKMFW6vgTOQkZ7YH1wAHLH/2v0I=", 804 | "dev": true 805 | }, 806 | "lodash.pickby": { 807 | "version": "https://registry.npmjs.org/lodash.pickby/-/lodash.pickby-4.6.0.tgz", 808 | "integrity": "sha1-feoh2MGNdwOifHBMFdO4SmfjOv8=", 809 | "dev": true 810 | }, 811 | "loose-envify": { 812 | "version": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.0.tgz", 813 | "integrity": "sha1-ayYkjEL21PpLDYVC947fzeNWQqg=", 814 | "dev": true, 815 | "requires": { 816 | "js-tokens": "https://registry.npmjs.org/js-tokens/-/js-tokens-2.0.0.tgz" 817 | } 818 | }, 819 | "lru-cache": { 820 | "version": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.0.2.tgz", 821 | "integrity": "sha1-HRdnnAac2l0ECZGgnbwsDbN35V4=", 822 | "dev": true, 823 | "requires": { 824 | "pseudomap": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", 825 | "yallist": "https://registry.npmjs.org/yallist/-/yallist-2.0.0.tgz" 826 | } 827 | }, 828 | "minimatch": { 829 | "version": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz", 830 | "integrity": "sha1-Kk5AkLlrLbBqnX3wEFWmKnfJt3Q=", 831 | "dev": true, 832 | "requires": { 833 | "brace-expansion": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.6.tgz" 834 | } 835 | }, 836 | "minimist": { 837 | "version": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", 838 | "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", 839 | "dev": true 840 | }, 841 | "mkdirp": { 842 | "version": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", 843 | "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", 844 | "dev": true, 845 | "requires": { 846 | "minimist": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz" 847 | } 848 | }, 849 | "ms": { 850 | "version": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz", 851 | "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=", 852 | "dev": true 853 | }, 854 | "mute-stream": { 855 | "version": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz", 856 | "integrity": "sha1-j7+rsKmKJT0xhDMfno3rc3L6xsA=", 857 | "dev": true 858 | }, 859 | "natural-compare": { 860 | "version": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", 861 | "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", 862 | "dev": true 863 | }, 864 | "number-is-nan": { 865 | "version": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", 866 | "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", 867 | "dev": true 868 | }, 869 | "object-assign": { 870 | "version": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz", 871 | "integrity": "sha1-ejs9DpgGPUP0wD8uiubNUahog6A=", 872 | "dev": true 873 | }, 874 | "once": { 875 | "version": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 876 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", 877 | "dev": true, 878 | "requires": { 879 | "wrappy": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" 880 | } 881 | }, 882 | "onetime": { 883 | "version": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", 884 | "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=", 885 | "dev": true 886 | }, 887 | "optionator": { 888 | "version": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", 889 | "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", 890 | "dev": true, 891 | "requires": { 892 | "deep-is": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", 893 | "fast-levenshtein": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.5.tgz", 894 | "levn": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", 895 | "prelude-ls": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", 896 | "type-check": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", 897 | "wordwrap": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz" 898 | } 899 | }, 900 | "os-homedir": { 901 | "version": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", 902 | "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", 903 | "dev": true 904 | }, 905 | "os-shim": { 906 | "version": "https://registry.npmjs.org/os-shim/-/os-shim-0.1.3.tgz", 907 | "integrity": "sha1-a2LDeRz3kJ6jXtRuF2WLtBfLORc=", 908 | "dev": true 909 | }, 910 | "path-is-absolute": { 911 | "version": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 912 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", 913 | "dev": true 914 | }, 915 | "path-is-inside": { 916 | "version": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", 917 | "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", 918 | "dev": true 919 | }, 920 | "pify": { 921 | "version": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", 922 | "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", 923 | "dev": true 924 | }, 925 | "pinkie": { 926 | "version": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", 927 | "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", 928 | "dev": true 929 | }, 930 | "pinkie-promise": { 931 | "version": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", 932 | "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", 933 | "dev": true, 934 | "requires": { 935 | "pinkie": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz" 936 | } 937 | }, 938 | "pluralize": { 939 | "version": "https://registry.npmjs.org/pluralize/-/pluralize-1.2.1.tgz", 940 | "integrity": "sha1-0aIUg/0iu0HlihL6NCGCMUCJfEU=", 941 | "dev": true 942 | }, 943 | "pre-commit": { 944 | "version": "https://registry.npmjs.org/pre-commit/-/pre-commit-1.2.2.tgz", 945 | "integrity": "sha1-287g7p3nI15X95xW186UZBpp7sY=", 946 | "dev": true, 947 | "requires": { 948 | "cross-spawn": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.0.1.tgz", 949 | "spawn-sync": "https://registry.npmjs.org/spawn-sync/-/spawn-sync-1.0.15.tgz", 950 | "which": "https://registry.npmjs.org/which/-/which-1.2.12.tgz" 951 | } 952 | }, 953 | "prelude-ls": { 954 | "version": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", 955 | "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", 956 | "dev": true 957 | }, 958 | "process-nextick-args": { 959 | "version": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", 960 | "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", 961 | "dev": true 962 | }, 963 | "progress": { 964 | "version": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz", 965 | "integrity": "sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=", 966 | "dev": true 967 | }, 968 | "pseudomap": { 969 | "version": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", 970 | "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", 971 | "dev": true 972 | }, 973 | "react-native-keyboard-spacer": { 974 | "version": "0.4.1", 975 | "resolved": "https://registry.npmjs.org/react-native-keyboard-spacer/-/react-native-keyboard-spacer-0.4.1.tgz", 976 | "integrity": "sha1-RvGKMgQyCYol6p+on1FD3SVNMy0=" 977 | }, 978 | "readable-stream": { 979 | "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", 980 | "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", 981 | "dev": true, 982 | "requires": { 983 | "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", 984 | "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", 985 | "isarray": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", 986 | "process-nextick-args": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", 987 | "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", 988 | "util-deprecate": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" 989 | } 990 | }, 991 | "readline2": { 992 | "version": "https://registry.npmjs.org/readline2/-/readline2-1.0.1.tgz", 993 | "integrity": "sha1-QQWWCP/BVHV7cV2ZidGZ/783LjU=", 994 | "dev": true, 995 | "requires": { 996 | "code-point-at": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", 997 | "is-fullwidth-code-point": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", 998 | "mute-stream": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz" 999 | } 1000 | }, 1001 | "rechoir": { 1002 | "version": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", 1003 | "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", 1004 | "dev": true, 1005 | "requires": { 1006 | "resolve": "https://registry.npmjs.org/resolve/-/resolve-1.2.0.tgz" 1007 | } 1008 | }, 1009 | "regenerator-runtime": { 1010 | "version": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz", 1011 | "integrity": "sha1-JX9BlhzkRVixj3gUr0jBdVn5+us=", 1012 | "dev": true 1013 | }, 1014 | "require-uncached": { 1015 | "version": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", 1016 | "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", 1017 | "dev": true, 1018 | "requires": { 1019 | "caller-path": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", 1020 | "resolve-from": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz" 1021 | } 1022 | }, 1023 | "resolve": { 1024 | "version": "https://registry.npmjs.org/resolve/-/resolve-1.2.0.tgz", 1025 | "integrity": "sha1-lYnD8vYUnRQXpAvswWY9tuxrwmw=", 1026 | "dev": true 1027 | }, 1028 | "resolve-from": { 1029 | "version": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz", 1030 | "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=", 1031 | "dev": true 1032 | }, 1033 | "restore-cursor": { 1034 | "version": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz", 1035 | "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=", 1036 | "dev": true, 1037 | "requires": { 1038 | "exit-hook": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz", 1039 | "onetime": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz" 1040 | } 1041 | }, 1042 | "rimraf": { 1043 | "version": "https://registry.npmjs.org/rimraf/-/rimraf-2.5.4.tgz", 1044 | "integrity": "sha1-loAAk8vxoMhr2VtGJUZ1NcKd+gQ=", 1045 | "dev": true, 1046 | "requires": { 1047 | "glob": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz" 1048 | } 1049 | }, 1050 | "run-async": { 1051 | "version": "https://registry.npmjs.org/run-async/-/run-async-0.1.0.tgz", 1052 | "integrity": "sha1-yK1KXhEGYeQCp9IbUw4AnyX444k=", 1053 | "dev": true, 1054 | "requires": { 1055 | "once": "https://registry.npmjs.org/once/-/once-1.4.0.tgz" 1056 | } 1057 | }, 1058 | "rx-lite": { 1059 | "version": "https://registry.npmjs.org/rx-lite/-/rx-lite-3.1.2.tgz", 1060 | "integrity": "sha1-Gc5QLKVyZl87ZHsQk5+X/RYV8QI=", 1061 | "dev": true 1062 | }, 1063 | "shebang-command": { 1064 | "version": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", 1065 | "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", 1066 | "dev": true, 1067 | "requires": { 1068 | "shebang-regex": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz" 1069 | } 1070 | }, 1071 | "shebang-regex": { 1072 | "version": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", 1073 | "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", 1074 | "dev": true 1075 | }, 1076 | "shelljs": { 1077 | "version": "https://registry.npmjs.org/shelljs/-/shelljs-0.7.5.tgz", 1078 | "integrity": "sha1-Lu96UKIeHM832gDfdn7GnjCtBnU=", 1079 | "dev": true, 1080 | "requires": { 1081 | "glob": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz", 1082 | "interpret": "https://registry.npmjs.org/interpret/-/interpret-1.0.1.tgz", 1083 | "rechoir": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz" 1084 | } 1085 | }, 1086 | "slice-ansi": { 1087 | "version": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz", 1088 | "integrity": "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=", 1089 | "dev": true 1090 | }, 1091 | "spawn-sync": { 1092 | "version": "https://registry.npmjs.org/spawn-sync/-/spawn-sync-1.0.15.tgz", 1093 | "integrity": "sha1-sAeZVX63+wyDdsKdROih6mfldHY=", 1094 | "dev": true, 1095 | "requires": { 1096 | "concat-stream": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.2.tgz", 1097 | "os-shim": "https://registry.npmjs.org/os-shim/-/os-shim-0.1.3.tgz" 1098 | } 1099 | }, 1100 | "sprintf-js": { 1101 | "version": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", 1102 | "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", 1103 | "dev": true 1104 | }, 1105 | "string_decoder": { 1106 | "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", 1107 | "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", 1108 | "dev": true 1109 | }, 1110 | "string-width": { 1111 | "version": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", 1112 | "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", 1113 | "dev": true, 1114 | "requires": { 1115 | "code-point-at": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", 1116 | "is-fullwidth-code-point": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", 1117 | "strip-ansi": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz" 1118 | } 1119 | }, 1120 | "strip-ansi": { 1121 | "version": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", 1122 | "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", 1123 | "dev": true, 1124 | "requires": { 1125 | "ansi-regex": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz" 1126 | } 1127 | }, 1128 | "strip-bom": { 1129 | "version": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", 1130 | "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", 1131 | "dev": true 1132 | }, 1133 | "strip-json-comments": { 1134 | "version": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz", 1135 | "integrity": "sha1-HhX7ysl9Pumb8tc7TGVrCCu6+5E=", 1136 | "dev": true 1137 | }, 1138 | "supports-color": { 1139 | "version": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", 1140 | "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", 1141 | "dev": true 1142 | }, 1143 | "table": { 1144 | "version": "https://registry.npmjs.org/table/-/table-3.8.3.tgz", 1145 | "integrity": "sha1-K7xULw/amGGnVdOUf+/Ys/UThV8=", 1146 | "dev": true, 1147 | "requires": { 1148 | "ajv": "https://registry.npmjs.org/ajv/-/ajv-4.10.0.tgz", 1149 | "ajv-keywords": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-1.2.0.tgz", 1150 | "chalk": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", 1151 | "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.2.tgz", 1152 | "slice-ansi": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz", 1153 | "string-width": "https://registry.npmjs.org/string-width/-/string-width-2.0.0.tgz" 1154 | }, 1155 | "dependencies": { 1156 | "is-fullwidth-code-point": { 1157 | "version": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", 1158 | "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", 1159 | "dev": true 1160 | }, 1161 | "string-width": { 1162 | "version": "https://registry.npmjs.org/string-width/-/string-width-2.0.0.tgz", 1163 | "integrity": "sha1-Y1xUNsxypuDDh87KJ41OLuxSaH4=", 1164 | "dev": true, 1165 | "requires": { 1166 | "is-fullwidth-code-point": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", 1167 | "strip-ansi": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz" 1168 | } 1169 | } 1170 | } 1171 | }, 1172 | "text-table": { 1173 | "version": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", 1174 | "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", 1175 | "dev": true 1176 | }, 1177 | "through": { 1178 | "version": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", 1179 | "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", 1180 | "dev": true 1181 | }, 1182 | "to-fast-properties": { 1183 | "version": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.2.tgz", 1184 | "integrity": "sha1-8/XAw7pymafvmUJ+RGMyV63kMyA=", 1185 | "dev": true 1186 | }, 1187 | "tryit": { 1188 | "version": "https://registry.npmjs.org/tryit/-/tryit-1.0.3.tgz", 1189 | "integrity": "sha1-OTvnMKlEb9Hq1tpZoBQwjzbCics=", 1190 | "dev": true 1191 | }, 1192 | "type-check": { 1193 | "version": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", 1194 | "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", 1195 | "dev": true, 1196 | "requires": { 1197 | "prelude-ls": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz" 1198 | } 1199 | }, 1200 | "typedarray": { 1201 | "version": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", 1202 | "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", 1203 | "dev": true 1204 | }, 1205 | "user-home": { 1206 | "version": "https://registry.npmjs.org/user-home/-/user-home-2.0.0.tgz", 1207 | "integrity": "sha1-nHC/2Babwdy/SGBODwS4tJzenp8=", 1208 | "dev": true, 1209 | "requires": { 1210 | "os-homedir": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz" 1211 | } 1212 | }, 1213 | "util-deprecate": { 1214 | "version": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 1215 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", 1216 | "dev": true 1217 | }, 1218 | "which": { 1219 | "version": "https://registry.npmjs.org/which/-/which-1.2.12.tgz", 1220 | "integrity": "sha1-3me15FAmnxlJCe8j7OTr5Bb6EZI=", 1221 | "dev": true, 1222 | "requires": { 1223 | "isexe": "https://registry.npmjs.org/isexe/-/isexe-1.1.2.tgz" 1224 | } 1225 | }, 1226 | "wordwrap": { 1227 | "version": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", 1228 | "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", 1229 | "dev": true 1230 | }, 1231 | "wrappy": { 1232 | "version": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 1233 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", 1234 | "dev": true 1235 | }, 1236 | "write": { 1237 | "version": "https://registry.npmjs.org/write/-/write-0.2.1.tgz", 1238 | "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", 1239 | "dev": true, 1240 | "requires": { 1241 | "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz" 1242 | } 1243 | }, 1244 | "xtend": { 1245 | "version": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", 1246 | "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", 1247 | "dev": true 1248 | }, 1249 | "yallist": { 1250 | "version": "https://registry.npmjs.org/yallist/-/yallist-2.0.0.tgz", 1251 | "integrity": "sha1-MGxUODXwnuGkyyO3vOmrNByRzdQ=", 1252 | "dev": true 1253 | } 1254 | } 1255 | } 1256 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "react-native-modal-wrapper", 3 | "version": "3.1.1", 4 | "description": "Wrapper component that extends the react native Modal component, adding overlay clickable behavior and allowing swipe in and out in all directions", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1", 8 | "lint": "eslint index.js" 9 | }, 10 | "repository": { 11 | "type": "git", 12 | "url": "git+https://github.com/raynor85/react-native-modal-wrapper.git" 13 | }, 14 | "keywords": [ 15 | "react", 16 | "native", 17 | "react-native", 18 | "react-component", 19 | "modal", 20 | "dialog", 21 | "ios", 22 | "android", 23 | "overlay-modal", 24 | "lightbox" 25 | ], 26 | "author": "Ruben Rizzi", 27 | "license": "MIT", 28 | "bugs": { 29 | "url": "https://github.com/raynor85/react-native-modal-wrapper/issues" 30 | }, 31 | "homepage": "https://github.com/raynor85/react-native-modal-wrapper#readme", 32 | "pre-commit": [ 33 | "lint" 34 | ], 35 | "dependencies": { 36 | "react-native-keyboard-spacer": "^0.4.1" 37 | }, 38 | "devDependencies": { 39 | "babel-eslint": "8.0.1", 40 | "eslint": "4.8.0", 41 | "eslint-plugin-react": "7.4.0", 42 | "eslint-plugin-react-native": "3.1.0", 43 | "pre-commit": "1.2.2" 44 | } 45 | } 46 | --------------------------------------------------------------------------------