From 5fc008c014d26b4cd92d2bb4c5c432f6f4dfffad Mon Sep 17 00:00:00 2001 From: sodik Date: Mon, 4 Mar 2019 21:46:23 +0100 Subject: [PATCH] release 0.15.4 --- build/rnpm.js | 18 +++++++++--------- build/rnpm.js.map | 2 +- package.json | 2 +- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/build/rnpm.js b/build/rnpm.js index 9c42b9b..b8e4831 100644 --- a/build/rnpm.js +++ b/build/rnpm.js @@ -1501,9 +1501,9 @@ }; } - // common durations of animation var OPEN_ANIM_DURATION = 225; var CLOSE_ANIM_DURATION = 195; + var USE_NATIVE_DRIVER = reactNative.Platform.OS !== "web"; var Backdrop = /*#__PURE__*/ @@ -1535,7 +1535,7 @@ reactNative.Animated.timing(_this2.fadeAnim, { duration: OPEN_ANIM_DURATION, toValue: 1, - useNativeDriver: true + useNativeDriver: USE_NATIVE_DRIVER }).start(resolve); }); } @@ -1548,7 +1548,7 @@ reactNative.Animated.timing(_this3.fadeAnim, { duration: CLOSE_ANIM_DURATION, toValue: 0, - useNativeDriver: true + useNativeDriver: USE_NATIVE_DRIVER }).start(resolve); }); } @@ -2464,7 +2464,7 @@ duration: OPEN_ANIM_DURATION, toValue: 1, easing: reactNative.Easing.out(reactNative.Easing.cubic), - useNativeDriver: true + useNativeDriver: USE_NATIVE_DRIVER }).start(); } }, { @@ -2477,7 +2477,7 @@ duration: CLOSE_ANIM_DURATION, toValue: 0, easing: reactNative.Easing.in(reactNative.Easing.cubic), - useNativeDriver: true + useNativeDriver: USE_NATIVE_DRIVER }).start(resolve); }); } @@ -2926,7 +2926,7 @@ duration: OPEN_ANIM_DURATION, toValue: 1, easing: reactNative.Easing.out(reactNative.Easing.cubic), - useNativeDriver: true + useNativeDriver: USE_NATIVE_DRIVER }).start(); } }, { @@ -2939,7 +2939,7 @@ duration: CLOSE_ANIM_DURATION, toValue: 0, easing: reactNative.Easing.in(reactNative.Easing.cubic), - useNativeDriver: true + useNativeDriver: USE_NATIVE_DRIVER }).start(resolve); }); } @@ -3249,7 +3249,7 @@ duration: OPEN_ANIM_DURATION, toValue: 1, easing: reactNative.Easing.out(reactNative.Easing.cubic), - useNativeDriver: true + useNativeDriver: USE_NATIVE_DRIVER }).start(); } }, { @@ -3262,7 +3262,7 @@ duration: CLOSE_ANIM_DURATION, toValue: 0, easing: reactNative.Easing.in(reactNative.Easing.cubic), - useNativeDriver: true + useNativeDriver: USE_NATIVE_DRIVER }).start(resolve); }); } diff --git a/build/rnpm.js.map b/build/rnpm.js.map index 3b557ba..5aa50f0 100644 --- a/build/rnpm.js.map +++ b/build/rnpm.js.map @@ -1 +1 @@ -{"version":3,"file":"rnpm.js","sources":["../src/polyfills.js","../src/helpers.js","../node_modules/react-is/cjs/react-is.development.js","../node_modules/react-is/index.js","../node_modules/object-assign/index.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/prop-types/checkPropTypes.js","../node_modules/prop-types/factoryWithTypeCheckers.js","../node_modules/prop-types/index.js","../src/with-context.js","../src/menuRegistry.js","../src/constants.js","../src/Backdrop.js","../src/logger.js","../src/MenuPlaceholder.js","../src/renderers/MenuOutside.js","../src/MenuProvider.js","../src/MenuOptions.js","../src/MenuTrigger.js","../src/renderers/ContextMenu.js","../src/Menu.js","../src/MenuOption.js","../src/renderers/NotAnimatedContextMenu.js","../src/renderers/SlideInMenu.js","../src/renderers/Popover.js","../src/index.js"],"sourcesContent":["// platform select polyfil for older RN versions\nimport { Platform } from 'react-native';\n\nif (!Platform.select) {\n Platform.select = (obj) => obj[Platform.OS];\n}\n","import React from 'react';\nimport { Platform, TouchableHighlight, TouchableNativeFeedback } from 'react-native';\n\n/**\n * Promisifies measure's callback function and returns layout object.\n */\nexport const measure = ref => new Promise((resolve) => {\n ref.measure((x, y, width, height, pageX, pageY) => {\n resolve({\n x: pageX, y: pageY,\n width, height,\n })\n });\n});\n\n/**\n * Create unique menu name across all menu instances.\n */\nexport const makeName = (function() {\n let nextID = 1;\n return () => `menu-${nextID++}`;\n})();\n\n/**\n * Create touchable component based on passed parameter and platform.\n * It also returns default props for specific touchable types.\n */\nexport function makeTouchable(TouchableComponent) {\n const Touchable = TouchableComponent || Platform.select({\n android: TouchableNativeFeedback,\n ios: TouchableHighlight,\n default: TouchableHighlight,\n });\n let defaultTouchableProps = {};\n if (Touchable === TouchableHighlight) {\n defaultTouchableProps = { underlayColor: 'rgba(0, 0, 0, 0.1)' };\n }\n return { Touchable, defaultTouchableProps };\n}\n\nfunction includes(arr, value) {\n return arr.indexOf(value) > -1;\n}\n\n/**\nLog object - prepares object for logging by stripping all \"private\" or excluding fields\n*/\nexport function lo(object, ...excluding) {\n const exc = Array.from(excluding);\n function isObject(obj) {\n return obj === Object(obj);\n }\n function withoutPrivate(obj) {\n if (!isObject(obj)) return obj;\n const res = {};\n for (var property in obj) {\n if (obj.hasOwnProperty(property)) {\n if (!property.startsWith('_') && !includes(exc, property)) {\n res[property] = withoutPrivate(obj[property]);\n }\n }\n }\n return res;\n }\n return withoutPrivate(object);\n}\n\n/**\nConverts iterator to array\n*/\nexport function iterator2array(it) {\n // workaround around https://github.com/instea/react-native-popup-menu/issues/41#issuecomment-340290127\n const arr = [];\n for (let next = it.next(); !next.done; next = it.next()) {\n arr.push(next.value);\n }\n return arr;\n}\n\n/**\n * Higher order component to deprecate usage of component.\n * message - deprecate warning message\n * methods - array of method names to be delegated to deprecated component\n */\nexport function deprecatedComponent(message, methods = []) {\n return function deprecatedComponentHOC(Component) {\n return class DeprecatedComponent extends React.Component {\n constructor(...args) {\n super(...args);\n methods.forEach(name => {\n // delegate methods to the component\n this[name] = (...args) => this.ref && this.ref[name](...args)\n });\n }\n\n render() {\n return \n }\n\n onRef = ref => this.ref = ref;\n\n componentDidMount() {\n console.warn(message);\n }\n }\n }\n}\n","/** @license React v16.8.3\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\n\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace;\nvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\n\nfunction isValidElementType(type) {\n return typeof type === 'string' || typeof type === 'function' ||\n // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE);\n}\n\n/**\n * Forked from fbjs/warning:\n * https://github.com/facebook/fbjs/blob/e66ba20ad5be433eb54423f2b097d829324d9de6/packages/fbjs/src/__forks__/warning.js\n *\n * Only change is we use console.warn instead of console.error,\n * and do nothing when 'console' is not supported.\n * This really simplifies the code.\n * ---\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar lowPriorityWarning = function () {};\n\n{\n var printWarning = function (format) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var argIndex = 0;\n var message = 'Warning: ' + format.replace(/%s/g, function () {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.warn(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n\n lowPriorityWarning = function (condition, format) {\n if (format === undefined) {\n throw new Error('`lowPriorityWarning(condition, format, ...args)` requires a warning ' + 'message argument');\n }\n if (!condition) {\n for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n args[_key2 - 2] = arguments[_key2];\n }\n\n printWarning.apply(undefined, [format].concat(args));\n }\n };\n}\n\nvar lowPriorityWarning$1 = lowPriorityWarning;\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_ASYNC_MODE_TYPE:\n case REACT_CONCURRENT_MODE_TYPE:\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n return type;\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n default:\n return $$typeof;\n }\n }\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n}\n\n// AsyncMode is deprecated along with isAsyncMode\nvar AsyncMode = REACT_ASYNC_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\n\nvar hasWarnedAboutDeprecatedIsAsyncMode = false;\n\n// AsyncMode should be deprecated\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true;\n lowPriorityWarning$1(false, 'The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n }\n }\n return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n}\nfunction isConcurrentMode(object) {\n return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.typeOf = typeOf;\nexports.AsyncMode = AsyncMode;\nexports.ConcurrentMode = ConcurrentMode;\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isValidElementType = isValidElementType;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n var loggedTypeFailures = {};\n var has = Function.call.bind(Object.prototype.hasOwnProperty);\n\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n if (process.env.NODE_ENV !== 'production') {\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error;\n // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n var err = Error(\n (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.'\n );\n err.name = 'Invariant Violation';\n throw err;\n }\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n if (error && !(error instanceof Error)) {\n printWarning(\n (componentName || 'React class') + ': type specification of ' +\n location + ' `' + typeSpecName + '` is invalid; the type checker ' +\n 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +\n 'You may have forgotten to pass an argument to the type checker ' +\n 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +\n 'shape all require an argument).'\n );\n }\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n\n var stack = getStack ? getStack() : '';\n\n printWarning(\n 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')\n );\n }\n }\n }\n }\n}\n\n/**\n * Resets warning cache when testing.\n *\n * @private\n */\ncheckPropTypes.resetWarningCache = function() {\n if (process.env.NODE_ENV !== 'production') {\n loggedTypeFailures = {};\n }\n}\n\nmodule.exports = checkPropTypes;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactIs = require('react-is');\nvar assign = require('object-assign');\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\nvar checkPropTypes = require('./checkPropTypes');\n\nvar has = Function.call.bind(Object.prototype.hasOwnProperty);\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\nfunction emptyFunctionThatReturnsNull() {\n return null;\n}\n\nmodule.exports = function(isValidElement, throwOnDirectAccess) {\n /* global Symbol */\n var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n /**\n * Returns the iterator method function contained on the iterable object.\n *\n * Be sure to invoke the function with the iterable as context:\n *\n * var iteratorFn = getIteratorFn(myIterable);\n * if (iteratorFn) {\n * var iterator = iteratorFn.call(myIterable);\n * ...\n * }\n *\n * @param {?object} maybeIterable\n * @return {?function}\n */\n function getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n }\n\n /**\n * Collection of methods that allow declaration and validation of props that are\n * supplied to React components. Example usage:\n *\n * var Props = require('ReactPropTypes');\n * var MyArticle = React.createClass({\n * propTypes: {\n * // An optional string prop named \"description\".\n * description: Props.string,\n *\n * // A required enum prop named \"category\".\n * category: Props.oneOf(['News','Photos']).isRequired,\n *\n * // A prop named \"dialog\" that requires an instance of Dialog.\n * dialog: Props.instanceOf(Dialog).isRequired\n * },\n * render: function() { ... }\n * });\n *\n * A more formal specification of how these methods are used:\n *\n * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n * decl := ReactPropTypes.{type}(.isRequired)?\n *\n * Each and every declaration produces a function with the same signature. This\n * allows the creation of custom validation functions. For example:\n *\n * var MyLink = React.createClass({\n * propTypes: {\n * // An optional string or URI prop named \"href\".\n * href: function(props, propName, componentName) {\n * var propValue = props[propName];\n * if (propValue != null && typeof propValue !== 'string' &&\n * !(propValue instanceof URI)) {\n * return new Error(\n * 'Expected a string or an URI for ' + propName + ' in ' +\n * componentName\n * );\n * }\n * }\n * },\n * render: function() {...}\n * });\n *\n * @internal\n */\n\n var ANONYMOUS = '<>';\n\n // Important!\n // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n var ReactPropTypes = {\n array: createPrimitiveTypeChecker('array'),\n bool: createPrimitiveTypeChecker('boolean'),\n func: createPrimitiveTypeChecker('function'),\n number: createPrimitiveTypeChecker('number'),\n object: createPrimitiveTypeChecker('object'),\n string: createPrimitiveTypeChecker('string'),\n symbol: createPrimitiveTypeChecker('symbol'),\n\n any: createAnyTypeChecker(),\n arrayOf: createArrayOfTypeChecker,\n element: createElementTypeChecker(),\n elementType: createElementTypeTypeChecker(),\n instanceOf: createInstanceTypeChecker,\n node: createNodeChecker(),\n objectOf: createObjectOfTypeChecker,\n oneOf: createEnumTypeChecker,\n oneOfType: createUnionTypeChecker,\n shape: createShapeTypeChecker,\n exact: createStrictShapeTypeChecker,\n };\n\n /**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\n /*eslint-disable no-self-compare*/\n function is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n }\n /*eslint-enable no-self-compare*/\n\n /**\n * We use an Error-like object for backward compatibility as people may call\n * PropTypes directly and inspect their output. However, we don't use real\n * Errors anymore. We don't inspect their stack anyway, and creating them\n * is prohibitively expensive if they are created too often, such as what\n * happens in oneOfType() for any type before the one that matched.\n */\n function PropTypeError(message) {\n this.message = message;\n this.stack = '';\n }\n // Make `instanceof Error` still work for returned errors.\n PropTypeError.prototype = Error.prototype;\n\n function createChainableTypeChecker(validate) {\n if (process.env.NODE_ENV !== 'production') {\n var manualPropTypeCallCache = {};\n var manualPropTypeWarningCount = 0;\n }\n function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n componentName = componentName || ANONYMOUS;\n propFullName = propFullName || propName;\n\n if (secret !== ReactPropTypesSecret) {\n if (throwOnDirectAccess) {\n // New behavior only for users of `prop-types` package\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use `PropTypes.checkPropTypes()` to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') {\n // Old behavior for people using React.PropTypes\n var cacheKey = componentName + ':' + propName;\n if (\n !manualPropTypeCallCache[cacheKey] &&\n // Avoid spamming the console because they are often not actionable except for lib authors\n manualPropTypeWarningCount < 3\n ) {\n printWarning(\n 'You are manually calling a React.PropTypes validation ' +\n 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +\n 'and will throw in the standalone `prop-types` package. ' +\n 'You may be seeing this warning due to a third-party PropTypes ' +\n 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'\n );\n manualPropTypeCallCache[cacheKey] = true;\n manualPropTypeWarningCount++;\n }\n }\n }\n if (props[propName] == null) {\n if (isRequired) {\n if (props[propName] === null) {\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n }\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n }\n return null;\n } else {\n return validate(props, propName, componentName, location, propFullName);\n }\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n }\n\n function createPrimitiveTypeChecker(expectedType) {\n function validate(props, propName, componentName, location, propFullName, secret) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== expectedType) {\n // `propValue` being instance of, say, date/regexp, pass the 'object'\n // check, but we can offer a more precise error message here rather than\n // 'of type `object`'.\n var preciseType = getPreciseType(propValue);\n\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createAnyTypeChecker() {\n return createChainableTypeChecker(emptyFunctionThatReturnsNull);\n }\n\n function createArrayOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n }\n var propValue = props[propName];\n if (!Array.isArray(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n }\n for (var i = 0; i < propValue.length; i++) {\n var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!isValidElement(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!ReactIs.isValidElementType(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createInstanceTypeChecker(expectedClass) {\n function validate(props, propName, componentName, location, propFullName) {\n if (!(props[propName] instanceof expectedClass)) {\n var expectedClassName = expectedClass.name || ANONYMOUS;\n var actualClassName = getClassName(props[propName]);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createEnumTypeChecker(expectedValues) {\n if (!Array.isArray(expectedValues)) {\n if (process.env.NODE_ENV !== 'production') {\n if (arguments.length > 1) {\n printWarning(\n 'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +\n 'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'\n );\n } else {\n printWarning('Invalid argument supplied to oneOf, expected an array.');\n }\n }\n return emptyFunctionThatReturnsNull;\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n for (var i = 0; i < expectedValues.length; i++) {\n if (is(propValue, expectedValues[i])) {\n return null;\n }\n }\n\n var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {\n var type = getPreciseType(value);\n if (type === 'symbol') {\n return String(value);\n }\n return value;\n });\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createObjectOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n }\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n }\n for (var key in propValue) {\n if (has(propValue, key)) {\n var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createUnionTypeChecker(arrayOfTypeCheckers) {\n if (!Array.isArray(arrayOfTypeCheckers)) {\n process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;\n return emptyFunctionThatReturnsNull;\n }\n\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (typeof checker !== 'function') {\n printWarning(\n 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +\n 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'\n );\n return emptyFunctionThatReturnsNull;\n }\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret) == null) {\n return null;\n }\n }\n\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createNodeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n if (!isNode(props[propName])) {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n for (var key in shapeTypes) {\n var checker = shapeTypes[key];\n if (!checker) {\n continue;\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createStrictShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n // We need to check all keys in case some are required but missing from\n // props.\n var allKeys = assign({}, props[propName], shapeTypes);\n for (var key in allKeys) {\n var checker = shapeTypes[key];\n if (!checker) {\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +\n '\\nBad object: ' + JSON.stringify(props[propName], null, ' ') +\n '\\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')\n );\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function isNode(propValue) {\n switch (typeof propValue) {\n case 'number':\n case 'string':\n case 'undefined':\n return true;\n case 'boolean':\n return !propValue;\n case 'object':\n if (Array.isArray(propValue)) {\n return propValue.every(isNode);\n }\n if (propValue === null || isValidElement(propValue)) {\n return true;\n }\n\n var iteratorFn = getIteratorFn(propValue);\n if (iteratorFn) {\n var iterator = iteratorFn.call(propValue);\n var step;\n if (iteratorFn !== propValue.entries) {\n while (!(step = iterator.next()).done) {\n if (!isNode(step.value)) {\n return false;\n }\n }\n } else {\n // Iterator will provide entry [k,v] tuples rather than values.\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n if (entry) {\n if (!isNode(entry[1])) {\n return false;\n }\n }\n }\n }\n } else {\n return false;\n }\n\n return true;\n default:\n return false;\n }\n }\n\n function isSymbol(propType, propValue) {\n // Native Symbol.\n if (propType === 'symbol') {\n return true;\n }\n\n // falsy value can't be a Symbol\n if (!propValue) {\n return false;\n }\n\n // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n if (propValue['@@toStringTag'] === 'Symbol') {\n return true;\n }\n\n // Fallback for non-spec compliant Symbols which are polyfilled.\n if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n return true;\n }\n\n return false;\n }\n\n // Equivalent of `typeof` but with special handling for array and regexp.\n function getPropType(propValue) {\n var propType = typeof propValue;\n if (Array.isArray(propValue)) {\n return 'array';\n }\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return 'object';\n }\n if (isSymbol(propType, propValue)) {\n return 'symbol';\n }\n return propType;\n }\n\n // This handles more types than `getPropType`. Only used for error messages.\n // See `createPrimitiveTypeChecker`.\n function getPreciseType(propValue) {\n if (typeof propValue === 'undefined' || propValue === null) {\n return '' + propValue;\n }\n var propType = getPropType(propValue);\n if (propType === 'object') {\n if (propValue instanceof Date) {\n return 'date';\n } else if (propValue instanceof RegExp) {\n return 'regexp';\n }\n }\n return propType;\n }\n\n // Returns a string that is postfixed to a warning about an invalid type.\n // For example, \"undefined\" or \"of type array\"\n function getPostfixForTypeWarning(value) {\n var type = getPreciseType(value);\n switch (type) {\n case 'array':\n case 'object':\n return 'an ' + type;\n case 'boolean':\n case 'date':\n case 'regexp':\n return 'a ' + type;\n default:\n return type;\n }\n }\n\n // Returns class name of the object, if any.\n function getClassName(propValue) {\n if (!propValue.constructor || !propValue.constructor.name) {\n return ANONYMOUS;\n }\n return propValue.constructor.name;\n }\n\n ReactPropTypes.checkPropTypes = checkPropTypes;\n ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","import React from \"react\";\n\nexport function withContext(Context, propName = \"context\") {\n return function wrap(Component) {\n class EnhanceContext extends React.Component {\n render() {\n const { forwardedRef, ...rest } = this.props;\n\n return (\n \n {value => {\n const custom = {\n [propName]: value,\n ref: forwardedRef,\n };\n return ;\n }}\n \n );\n }\n }\n\n const name = Component.displayName || Component.name || \"Component\";\n const consumerName =\n Context.Consumer.displayName ||\n Context.Consumer.name ||\n \"Context.Consumer\";\n\n function enhanceForwardRef(props, ref) {\n return ;\n }\n\n enhanceForwardRef.displayName = `enhanceContext-${consumerName}(${name})`;\n\n const FC = React.forwardRef(enhanceForwardRef);\n FC.defaultProps = Component.defaultProps;\n FC.propTypes = Component.propTypes;\n return FC\n };\n}\n","import { iterator2array } from './helpers';\n\n/**\n * Registry to subscribe, unsubscribe and update data of menus.\n *\n * menu data: {\n * instance: react instance\n * triggerLayout: Object - layout of menu trigger if known\n * optionsLayout: Object - layout of menu options if known\n * optionsCustomStyles: Object - custom styles of options\n * }\n*/\nexport default function makeMenuRegistry(menus = new Map()) {\n\n /**\n * Subscribes menu instance.\n */\n function subscribe(instance) {\n const name = instance.getName()\n if (menus.get(name)) {\n console.warn(`incorrect usage of popup menu - menu with name ${name} already exists`);\n }\n menus.set(name, { name, instance });\n }\n\n /**\n * Unsubscribes menu instance.\n */\n function unsubscribe(instance) {\n menus.delete(instance.getName());\n }\n\n /**\n * Updates layout infomration.\n */\n function updateLayoutInfo(name, layouts = {}) {\n if (!menus.has(name)) {\n return;\n }\n const menu = Object.assign({}, menus.get(name));\n if (layouts.hasOwnProperty('triggerLayout')) {\n menu.triggerLayout = layouts.triggerLayout;\n }\n if (layouts.hasOwnProperty('optionsLayout')) {\n menu.optionsLayout = layouts.optionsLayout;\n }\n menus.set(name, menu);\n }\n\n function setOptionsCustomStyles(name, optionsCustomStyles) {\n if (!menus.has(name)) {\n return;\n }\n const menu = { ...menus.get(name), optionsCustomStyles };\n menus.set(name, menu);\n }\n\n /**\n * Get `menu data` by name.\n */\n function getMenu(name) {\n return menus.get(name);\n }\n\n /**\n * Returns all subscribed menus as array of `menu data`\n */\n function getAll() {\n return iterator2array(menus.values());\n }\n\n return { subscribe, unsubscribe, updateLayoutInfo, getMenu, getAll, setOptionsCustomStyles };\n}\n","// common durations of animation\nexport const OPEN_ANIM_DURATION = 225;\nexport const CLOSE_ANIM_DURATION = 195;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { View, StyleSheet, TouchableWithoutFeedback, Animated } from 'react-native';\nimport { OPEN_ANIM_DURATION, CLOSE_ANIM_DURATION } from './constants';\n\nclass Backdrop extends Component {\n\n constructor(...args) {\n super(...args);\n this.fadeAnim = new Animated.Value(0.001);\n }\n\n open() {\n return new Promise(resolve => {\n Animated.timing(this.fadeAnim, {\n duration: OPEN_ANIM_DURATION,\n toValue: 1,\n useNativeDriver: true,\n }).start(resolve);\n });\n }\n\n close() {\n return new Promise(resolve => {\n Animated.timing(this.fadeAnim, {\n duration: CLOSE_ANIM_DURATION,\n toValue: 0,\n useNativeDriver: true,\n }).start(resolve);\n });\n }\n\n render() {\n const { onPress, style } = this.props;\n return (\n \n \n \n \n \n );\n }\n\n}\n\nBackdrop.propTypes = {\n onPress: PropTypes.func.isRequired,\n};\n\nconst styles = StyleSheet.create({\n fullscreen: {\n opacity: 0,\n position: 'absolute',\n top: 0,\n left: 0,\n bottom: 0,\n right: 0,\n },\n});\n\nexport default Backdrop;\n","\nexport const CFG = {\n debug: false,\n}\n/**\n * Debug logger depending on `Menu.debug` static porperty.\n */\nexport const debug = (...args) => {\n CFG.debug && console.log('react-native-popup-menu', ...args);\n};\n","import React, { Component } from 'react';\nimport { View, StyleSheet } from 'react-native';\nimport Backdrop from './Backdrop';\nimport { debug } from './logger.js';\n\nexport default class MenuPlaceholder extends Component {\n constructor(props) {\n super(props)\n this.state = {};\n }\n\n shouldComponentUpdate() {\n // don't terminate closing animation\n return !this.props.ctx._isMenuClosing;\n }\n\n render() {\n const { ctx, backdropStyles } = this.props;\n const shouldRenderMenu = ctx.isMenuOpen() && ctx._isInitialized();\n debug('MenuPlaceholder should render', shouldRenderMenu);\n if (!shouldRenderMenu) {\n return null;\n }\n return (\n \n \n {\n ctx._makeOptions()\n }\n \n );\n }\n}\n\nconst styles = StyleSheet.create({\n placeholder: {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n overflow: 'hidden',\n },\n});\n","import React from 'react';\nimport { View, StyleSheet } from 'react-native';\n\nexport const computePosition = ({ windowLayout }) => ({\n top: windowLayout.height,\n left: windowLayout.width,\n});\n\n\nconst MenuOutside = props => {\n const { style, children, layouts, ...other } = props;\n const position = computePosition(layouts);\n return (\n \n {children}\n \n );\n};\n\nconst styles = StyleSheet.create({\n options: {\n position: 'absolute',\n },\n});\n\nexport default MenuOutside;\n","import React, { Component, createContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { View, BackHandler, SafeAreaView, StyleSheet } from 'react-native';\n\nimport { withContext } from './with-context';\nimport makeMenuRegistry from './menuRegistry';\nimport MenuPlaceholder from './MenuPlaceholder';\nimport { measure } from './helpers';\nimport { debug } from './logger.js';\nimport MenuOutside from './renderers/MenuOutside';\n\nconst defaultOptionsContainerRenderer = options => options;\nconst layoutsEqual = (a, b) => (\n a === b || (a && b && a.width === b.width && a.height === b.height)\n);\n\nconst isFunctional = Component => !Component.prototype.render;\n\nif (!React.forwardRef) {\n throw new Error('This version of popup-menu requires RN 0.55+. Check our compatibility table.')\n}\nexport const PopupMenuContext = createContext({})\nexport const withCtx = withContext(PopupMenuContext, \"ctx\");\n\n// count of MenuProvider instances\nlet instanceCount = 0;\n\nexport default class MenuProvider extends Component {\n\n constructor(props) {\n super(props);\n this._menuRegistry = makeMenuRegistry();\n this._isMenuClosing = false;\n const menuActions = {\n openMenu: name => this.openMenu(name),\n closeMenu: () => this.closeMenu(),\n toggleMenu: name => this.toggleMenu(name),\n isMenuOpen: () => this.isMenuOpen(),\n _getOpenedMenu: () => this._getOpenedMenu(),\n _notify: force => this._notify(force),\n };\n this.menuCtx = { menuRegistry: this._menuRegistry, menuActions }\n }\n\n _handleBackButton = () => {\n const { backHandler } = this.props;\n debug('_handleBackButton called', backHandler);\n\n // Default handler if true is passed\n if (backHandler === true) {\n if (this.isMenuOpen()) {\n this.closeMenu();\n return true;\n }\n }\n\n // Custom handler called with MenuProvider instance id function is passed\n if (typeof backHandler === 'function') {\n return backHandler(this);\n }\n\n return false;\n }\n\n componentDidMount() {\n if (BackHandler) {\n BackHandler.addEventListener('hardwareBackPress', this._handleBackButton);\n } else {\n const { backHandler } = this.props;\n if (backHandler === true || typeof backHandler === 'function') {\n console.warn('backHandler prop cannot be used if BackHandler is not present (RN >= 0.44 required)');\n }\n }\n const { customStyles, skipInstanceCheck } = this.props;\n if (customStyles.menuContextWrapper) {\n console.warn('menuContextWrapper custom style is deprecated and it might be removed in future releases, use menuProviderWrapper instead.');\n }\n if (!skipInstanceCheck) {\n instanceCount++;\n }\n if (instanceCount > 1) {\n console.warn('In most cases you should not have more MenuProviders in your app (see API documentation). In other cases use skipInstanceCheck prop.');\n }\n }\n\n componentWillUnmount() {\n debug('unmounting menu provider')\n if (BackHandler) {\n BackHandler.removeEventListener('hardwareBackPress', this._handleBackButton);\n }\n const { skipInstanceCheck } = this.props;\n if (!skipInstanceCheck) {\n instanceCount--;\n }\n }\n\n isMenuOpen() {\n return !!this._getOpenedMenu();\n }\n\n openMenu(name) {\n const menu = this._menuRegistry.getMenu(name);\n if (!menu) {\n console.warn(`menu with name ${name} does not exist`);\n return Promise.resolve();\n }\n debug('open menu', name);\n menu.instance._setOpened(true);\n return this._notify();\n }\n\n closeMenu() { // has no effect on controlled menus\n debug('close menu');\n this._menuRegistry.getAll()\n .filter(menu => menu.instance._getOpened())\n .forEach(menu => menu.instance._setOpened(false));\n return this._notify();\n }\n\n _invalidateTriggerLayouts() {\n // invalidate layouts for closed menus,\n // both controlled and uncontrolled menus\n this._menuRegistry.getAll()\n .filter(menu => !menu.instance._isOpen())\n .forEach(menu => {\n this._menuRegistry.updateLayoutInfo(menu.name, { triggerLayout: undefined });\n });\n }\n\n _beforeClose(menu) {\n debug('before close', menu.name);\n const hideMenu = (this.optionsRef\n && this.optionsRef.close\n && this.optionsRef.close()) || Promise.resolve();\n const hideBackdrop = this.backdropRef && this.backdropRef.close();\n this._invalidateTriggerLayouts();\n this._isMenuClosing = true;\n return Promise.all([hideMenu, hideBackdrop])\n .then(() => {\n this._isMenuClosing = false;\n })\n .catch(err => {\n this._isMenuClosing = false;\n throw err;\n })\n }\n\n toggleMenu(name) {\n const menu = this._menuRegistry.getMenu(name);\n if (!menu) {\n console.warn(`menu with name ${name} does not exist`);\n return Promise.resolve();\n }\n debug('toggle menu', name);\n if (menu.instance._getOpened()) {\n return this.closeMenu();\n } else {\n return this.openMenu(name);\n }\n }\n\n _notify(forceUpdate) {\n const NULL = {};\n const prev = this.openedMenu || NULL;\n const next = this._menuRegistry.getAll().find(menu => menu.instance._isOpen()) || NULL;\n // set newly opened menu before any callbacks are called\n this.openedMenu = next === NULL ? undefined : next;\n if (!forceUpdate && !this._isRenderNeeded(prev, next)) {\n return Promise.resolve();\n }\n debug('notify: next menu:', next.name, ' prev menu:', prev.name);\n let afterSetState = undefined;\n let beforeSetState = () => Promise.resolve();\n if (prev.name !== next.name) {\n if (prev !== NULL && !prev.instance._isOpen()) {\n beforeSetState = () => this._beforeClose(prev)\n .then(() => prev.instance.props.onClose());\n }\n if (next !== NULL) {\n next.instance.props.onOpen();\n afterSetState = () => this._initOpen(next);\n }\n }\n return beforeSetState().then(() => {\n if (!this._placeholderRef) {\n debug('setState ignored - maybe the context was unmounted')\n return\n }\n this._placeholderRef.setState({ openedMenuName: this.openedMenu && this.openedMenu.name }, afterSetState);\n debug('notify ended');\n });\n }\n\n /**\n Compares states of opened menu to determine if rerender is needed.\n */\n _isRenderNeeded(prev, next) {\n if (prev === next) {\n debug('_isRenderNeeded: skipping - no change');\n return false;\n }\n if (prev.name !== next.name) {\n return true;\n }\n const { triggerLayout, optionsLayout } = next;\n if (!triggerLayout || !optionsLayout) {\n debug('_isRenderNeeded: skipping - no trigger or options layout');\n return false;\n }\n return true;\n }\n\n render() {\n const { style, customStyles } = this.props;\n debug('render menu', this.isMenuOpen(), this._ownLayout);\n return (\n \n \n \n { this.props.children }\n \n \n \n \n \n \n \n );\n }\n\n onBackdropRef = r => {\n this.backdropRef = r;\n }\n\n onOptionsRef = r => {\n this.optionsRef = r;\n }\n\n _onPlaceholderRef = r => this._placeholderRef = r;\n\n _getOpenedMenu() {\n const name = this._placeholderRef && this._placeholderRef.state.openedMenuName;\n const menu = name ? this._menuRegistry.getMenu(name) : undefined;\n debug('_getOpenedMenu', name, !!menu)\n return menu\n }\n\n _onBackdropPress = () => {\n debug('on backdrop press');\n const menu = this._getOpenedMenu();\n if (menu) {\n menu.instance.props.onBackdropPress();\n }\n this.closeMenu();\n }\n\n _isInitialized() {\n return !!this._ownLayout;\n }\n\n _initOpen(menu) {\n debug('opening', menu.name);\n const trigger = menu.instance._getTrigger();\n measure(trigger).then(triggerLayout => {\n debug('got trigger measurements', triggerLayout);\n this._menuRegistry.updateLayoutInfo(menu.name, { triggerLayout });\n this.backdropRef && this.backdropRef.open()\n this._notify();\n });\n }\n\n _onOptionsLayout(e, name, isOutside) {\n const optionsLayout = e.nativeEvent.layout;\n optionsLayout.isOutside = isOutside;\n debug('got options layout', optionsLayout);\n this._menuRegistry.updateLayoutInfo(name, { optionsLayout });\n this._notify();\n }\n\n _makeOptions() {\n const { instance, triggerLayout, optionsLayout } = this._getOpenedMenu();\n const options = instance._getOptions();\n const { renderer, rendererProps } = instance.props;\n const windowLayout = this._ownLayout;\n const safeAreaLayout = this._safeAreaLayout;\n const { optionsContainerStyle, renderOptionsContainer, customStyles } = options.props;\n const optionsRenderer = renderOptionsContainer || defaultOptionsContainerRenderer;\n const isOutside = !triggerLayout || !optionsLayout;\n const onLayout = e => this._onOptionsLayout(e, instance.getName(), isOutside);\n const style = [optionsContainerStyle, customStyles.optionsContainer];\n const layouts = { windowLayout, triggerLayout, optionsLayout, safeAreaLayout };\n const props = { ...rendererProps, style, onLayout, layouts };\n const optionsType = isOutside ? MenuOutside : renderer;\n if (!isFunctional(optionsType)) {\n props.ref = this.onOptionsRef;\n }\n return React.createElement(optionsType, props, optionsRenderer(options));\n }\n\n _onLayout = ({ nativeEvent: { layout } }) => {\n if (layoutsEqual(this._ownLayout, layout)) {\n return;\n }\n this._ownLayout = layout;\n debug('context layout has changed', this._ownLayout);\n if (!this.isMenuOpen()) {\n return;\n }\n const { instance } = this._getOpenedMenu();\n const trigger = instance._getTrigger();\n measure(trigger).then(triggerLayout => {\n debug('got trigger measurements after context layout change', triggerLayout);\n this._menuRegistry.updateLayoutInfo(instance.getName(), { triggerLayout });\n // force update as own layout has changed\n this._notify(true);\n });\n }\n\n _onSafeAreaLayout = ({ nativeEvent: { layout } }) => {\n if (layoutsEqual(this._safeAreaLayout, layout)) {\n return;\n }\n this._safeAreaLayout = layout;\n debug('safeArea layout has changed', this._safeAreaLayout);\n if (!this.isMenuOpen()) {\n return;\n }\n this._notify(true);\n }\n\n}\n\nMenuProvider.propTypes = {\n customStyles: PropTypes.object,\n backHandler: PropTypes.oneOfType([PropTypes.bool, PropTypes.func]),\n skipInstanceCheck: PropTypes.bool,\n}\n\nMenuProvider.defaultProps = {\n customStyles: {},\n backHandler: false,\n skipInstanceCheck: false,\n};\n\nconst styles = StyleSheet.create({\n flex1: {\n flex: 1,\n },\n safeArea: {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n },\n});\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { View } from 'react-native';\nimport { withCtx } from './MenuProvider';\n\nexport class MenuOptions extends React.Component {\n\n updateCustomStyles(_props) {\n const { customStyles } = _props\n const menu = this.props.ctx.menuActions._getOpenedMenu()\n // FIXME react 16.3 workaround for ControlledExample!\n if (!menu) return\n const menuName = menu.instance.getName()\n this.props.ctx.menuRegistry.setOptionsCustomStyles(menuName, customStyles)\n }\n\n componentDidMount() {\n this.updateCustomStyles(this.props)\n }\n\n componentDidUpdate() {\n this.updateCustomStyles(this.props)\n }\n\n render() {\n const { customStyles, style, children } = this.props\n return (\n \n {children}\n \n )\n }\n}\n\nMenuOptions.propTypes = {\n customStyles: PropTypes.object,\n renderOptionsContainer: PropTypes.func,\n optionsContainerStyle: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.number,\n PropTypes.array,\n ]),\n};\n\nMenuOptions.defaultProps = {\n customStyles: {},\n};\n\nexport default withCtx(MenuOptions);\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { View, Text } from 'react-native';\nimport { debug } from './logger.js';\nimport { makeTouchable } from './helpers';\nimport { withCtx } from './MenuProvider';\n\nexport class MenuTrigger extends Component {\n\n _onPress() {\n debug('trigger onPress');\n this.props.onPress && this.props.onPress();\n this.props.ctx.menuActions.openMenu(this.props.menuName);\n }\n\n render() {\n const { disabled, onRef, text, children, style, customStyles, menuName, triggerOnLongPress, ...other } = this.props;\n const onPress = () => !disabled && this._onPress();\n const { Touchable, defaultTouchableProps } = makeTouchable(customStyles.TriggerTouchableComponent);\n return (\n \n \n \n {text ? {text} : children}\n \n \n \n );\n }\n\n}\n\nMenuTrigger.propTypes = {\n disabled: PropTypes.bool,\n text: PropTypes.string,\n onPress: PropTypes.func,\n customStyles: PropTypes.object,\n triggerOnLongPress: PropTypes.bool,\n};\n\nMenuTrigger.defaultProps = {\n disabled: false,\n customStyles: {},\n};\n\nexport default withCtx(MenuTrigger)\n","import React from 'react';\nimport { I18nManager, Animated, Easing, StyleSheet, PixelRatio } from 'react-native';\nimport { OPEN_ANIM_DURATION, CLOSE_ANIM_DURATION } from '../constants';\n\nconst axisPosition = (oDim, wDim, tPos, tDim) => {\n // if options are bigger than window dimension, then render at 0\n if (oDim > wDim) {\n return 0;\n }\n // render at trigger position if possible\n if (tPos + oDim <= wDim) {\n return tPos;\n }\n // aligned to the trigger from the bottom (right)\n if (tPos + tDim - oDim >= 0) {\n return tPos + tDim - oDim;\n }\n // compute center position\n let pos = Math.round(tPos + (tDim / 2) - (oDim / 2));\n // check top boundary\n if (pos < 0) {\n return 0;\n }\n // check bottom boundary\n if (pos + oDim > wDim) {\n return wDim - oDim;\n }\n // if everything ok, render in center position\n return pos;\n};\n\nfunction fit(pos, len, minPos, maxPos) {\n if (pos === undefined) {\n return undefined;\n }\n if (pos + len > maxPos) {\n pos = maxPos - len;\n }\n if (pos < minPos) {\n pos = minPos;\n }\n return pos;\n}\n// fits options (position) into safeArea\nexport const fitPositionIntoSafeArea = (position, layouts) => {\n const { windowLayout, safeAreaLayout, optionsLayout } = layouts;\n if (!safeAreaLayout) {\n return position;\n }\n const { x: saX, y: saY, height: saHeight, width: saWidth } = safeAreaLayout;\n const { height: oHeight, width: oWidth } = optionsLayout;\n const { width: wWidth } = windowLayout;\n let { top, left, right } = position;\n top = fit(top, oHeight, saY, saY + saHeight);\n left = fit(left, oWidth, saX, saX + saWidth)\n right = fit(right, oWidth, wWidth - saX - saWidth, saX)\n return { top, left, right };\n}\n\nexport const computePosition = (layouts, isRTL) => {\n const { windowLayout, triggerLayout, optionsLayout } = layouts;\n const { x: wX, y: wY, width: wWidth, height: wHeight } = windowLayout;\n const { x: tX, y: tY, height: tHeight, width: tWidth } = triggerLayout;\n const { height: oHeight, width: oWidth } = optionsLayout;\n const top = axisPosition(oHeight, wHeight, tY - wY, tHeight);\n const left = axisPosition(oWidth, wWidth, tX - wX, tWidth);\n const start = isRTL ? 'right' : 'left';\n const position = { top, [start]: left };\n return fitPositionIntoSafeArea(position, layouts);\n};\n\nexport default class ContextMenu extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n scaleAnim: new Animated.Value(0.1),\n };\n }\n\n componentDidMount() {\n Animated.timing(this.state.scaleAnim, {\n duration: OPEN_ANIM_DURATION,\n toValue: 1,\n easing: Easing.out(Easing.cubic),\n useNativeDriver: true,\n }).start();\n }\n\n close() {\n return new Promise(resolve => {\n Animated.timing(this.state.scaleAnim, {\n duration: CLOSE_ANIM_DURATION,\n toValue: 0,\n easing: Easing.in(Easing.cubic),\n useNativeDriver: true,\n }).start(resolve);\n });\n }\n\n render() {\n const { style, children, layouts, ...other } = this.props;\n const animation = {\n transform: [ { scale: this.state.scaleAnim } ],\n opacity: this.state.scaleAnim,\n };\n const position = computePosition(layouts, I18nManager.isRTL);\n return (\n \n {children}\n \n );\n }\n\n}\n\n// public exports\nContextMenu.computePosition = computePosition;\nContextMenu.fitPositionIntoSafeArea = fitPositionIntoSafeArea;\n\nexport const styles = StyleSheet.create({\n options: {\n position: 'absolute',\n borderRadius: 2,\n backgroundColor: 'white',\n width: PixelRatio.roundToNearestPixel(200),\n\n // Shadow only works on iOS.\n shadowColor: 'black',\n shadowOpacity: 0.3,\n shadowOffset: { width: 3, height: 3 },\n shadowRadius: 4,\n\n // This will elevate the view on Android, causing shadow to be drawn.\n elevation: 5,\n },\n});\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { View } from 'react-native';\nimport MenuOptions from './MenuOptions';\nimport MenuTrigger from './MenuTrigger';\nimport ContextMenu from './renderers/ContextMenu';\nimport { makeName } from './helpers';\nimport { debug, CFG } from './logger';\nimport { withCtx } from './MenuProvider';\n\nconst isRegularComponent = c => c.type !== MenuOptions && c.type !== MenuTrigger;\nconst isTrigger = c => c.type === MenuTrigger;\nconst isMenuOptions = c => c.type === MenuOptions;\n\nexport class Menu extends Component {\n\n constructor(props) {\n super(props);\n this._name = this.props.name || makeName();\n this._forceClose = false;\n const { ctx } = props;\n if(!(ctx && ctx.menuActions)) {\n throw new Error(\"Menu component must be ancestor of MenuProvider\");\n }\n }\n\n componentDidMount() {\n if (!this._validateChildren()) {\n return;\n }\n debug('subscribing menu', this._name);\n this.props.ctx.menuRegistry.subscribe(this);\n this.props.ctx.menuActions._notify();\n }\n\n componentDidUpdate(prevProps) {\n if (this.props.name !== prevProps.name) {\n console.warn('Menu name cannot be changed');\n }\n // force update if menu is opened as its content might have changed\n const force = this._isOpen();\n debug('component did update', this._name, force);\n this.props.ctx.menuActions._notify(force);\n }\n\n componentWillUnmount() {\n debug('unsubscribing menu', this._name);\n if (this._isOpen()) {\n this._forceClose = true;\n this.props.ctx.menuActions._notify();\n }\n this.props.ctx.menuRegistry.unsubscribe(this);\n }\n\n open() {\n return this.props.ctx.menuActions.openMenu(this._name);\n }\n\n close() {\n return this.props.ctx.menuActions.closeMenu();\n }\n\n getName() {\n return this._name;\n }\n\n render() {\n const { style } = this.props;\n const children = this._reduceChildren();\n return (\n \n {children}\n \n );\n }\n\n _reduceChildren() {\n return React.Children.toArray(this.props.children).reduce((r, child) => {\n if (isTrigger(child)) {\n r.push(React.cloneElement(child, {\n key: null,\n menuName: this._name,\n onRef: (t => this._trigger = t),\n }));\n }\n if (isRegularComponent(child)) {\n r.push(child);\n }\n return r;\n }, []);\n }\n\n _isOpen() {\n if (this._forceClose) {\n return false;\n }\n return this.props.hasOwnProperty('opened') ? this.props.opened : this._opened;\n }\n\n _getTrigger() {\n return this._trigger;\n }\n\n _getOptions() {\n return React.Children.toArray(this.props.children).find(isMenuOptions);\n }\n\n _getOpened() {\n return this._opened;\n }\n\n _setOpened(opened) {\n this._opened = opened;\n }\n\n _validateChildren() {\n const children = React.Children.toArray(this.props.children);\n const options = children.find(isMenuOptions);\n if (!options) {\n console.warn('Menu has to contain MenuOptions component');\n }\n const trigger = children.find(isTrigger);\n if (!trigger) {\n console.warn('Menu has to contain MenuTrigger component');\n }\n return options && trigger;\n }\n\n}\n\nMenu.propTypes = {\n name: PropTypes.string,\n renderer: PropTypes.func,\n rendererProps: PropTypes.object,\n onSelect: PropTypes.func,\n onOpen: PropTypes.func,\n onClose: PropTypes.func,\n opened: PropTypes.bool,\n onBackdropPress: PropTypes.func,\n};\n\nMenu.defaultProps = {\n renderer: ContextMenu,\n rendererProps: {},\n onSelect: () => {},\n onOpen: () => {},\n onClose: () => {},\n onBackdropPress: () => {},\n};\n\nconst MenuExternal = withCtx(Menu);\nObject.defineProperty(MenuExternal, 'debug', \n { \n get: function() { return CFG.debug }, \n set: function(val) { CFG.debug = val }, \n });\nMenuExternal.setDefaultRenderer = (renderer) => {\n Menu.defaultProps.renderer = renderer;\n}\nMenuExternal.setDefaultRendererProps = (rendererProps) => {\n Menu.defaultProps.rendererProps = rendererProps;\n}\nexport default MenuExternal;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { View, StyleSheet, Text } from 'react-native';\nimport { debug } from './logger';\nimport { makeTouchable } from './helpers';\nimport { withCtx } from './MenuProvider';\n\n\nexport class MenuOption extends Component {\n\n _onSelect() {\n const { value } = this.props;\n const onSelect = this.props.onSelect || this._getMenusOnSelect()\n const shouldClose = onSelect(value) !== false;\n debug('select option', value, shouldClose);\n if (shouldClose) {\n this.props.ctx.menuActions.closeMenu();\n }\n }\n\n _getMenusOnSelect() {\n const menu = this.props.ctx.menuActions._getOpenedMenu();\n return menu.instance.props.onSelect;\n }\n\n _getCustomStyles() {\n // FIXME react 16.3 workaround for ControlledExample!\n const menu = this.props.ctx.menuActions._getOpenedMenu() || {}\n const { optionsCustomStyles } = menu;\n return {\n ...optionsCustomStyles,\n ...this.props.customStyles,\n }\n }\n\n render() {\n const { text, disabled, disableTouchable, children, style } = this.props;\n const customStyles = this._getCustomStyles()\n if (text && React.Children.count(children) > 0) {\n console.warn(\"MenuOption: Please don't use text property together with explicit children. Children are ignored.\");\n }\n if (disabled) {\n const disabledStyles = [defaultStyles.optionTextDisabled, customStyles.optionText];\n return (\n \n {text ? {text} : children}\n \n );\n }\n const rendered = (\n \n {text ? {text} : children}\n \n );\n if (disableTouchable) {\n return rendered;\n }\n else {\n const { Touchable, defaultTouchableProps } = makeTouchable(customStyles.OptionTouchableComponent);\n return (\n this._onSelect()}\n {...defaultTouchableProps}\n {...customStyles.optionTouchable}\n >\n {rendered}\n \n );\n }\n }\n}\n\nMenuOption.propTypes = {\n disabled: PropTypes.bool,\n disableTouchable: PropTypes.bool,\n onSelect: PropTypes.func,\n text: PropTypes.string,\n value: PropTypes.any,\n customStyles: PropTypes.object,\n};\n\nMenuOption.defaultProps = {\n disabled: false,\n disableTouchable: false,\n customStyles: {},\n};\n\nconst defaultStyles = StyleSheet.create({\n option: {\n padding: 5,\n backgroundColor: 'transparent',\n },\n optionTextDisabled: {\n color: '#ccc',\n },\n});\n\nexport default withCtx(MenuOption);\n","import React from 'react';\nimport { View } from 'react-native';\n\nimport { computePosition, styles } from './ContextMenu';\n\n/**\nSimplified version of ContextMenu without animation.\n*/\nexport default class NotAnimatedContextMenu extends React.Component {\n\n render() {\n const { style, children, layouts, ...other } = this.props;\n const position = computePosition(layouts);\n return (\n \n {children}\n \n );\n }\n\n}\n","import React from 'react';\nimport { Animated, StyleSheet, Easing } from 'react-native';\nimport { OPEN_ANIM_DURATION, CLOSE_ANIM_DURATION } from '../constants';\n\nexport const computePosition = (layouts) => {\n const { windowLayout, optionsLayout } = layouts\n const { height: wHeight } = windowLayout;\n const { height: oHeight } = optionsLayout;\n const top = wHeight - oHeight;\n const left = 0, right = 0;\n const position = { top, left, right };\n // TODO what is the best way to handle safeArea?\n // most likely some extra paddings inside SlideInMenu \n return position;\n}\n\nexport default class SlideInMenu extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n slide: new Animated.Value(0),\n };\n }\n\n componentDidMount() {\n Animated.timing(this.state.slide, {\n duration: OPEN_ANIM_DURATION,\n toValue: 1,\n easing: Easing.out(Easing.cubic),\n useNativeDriver: true,\n }).start();\n }\n\n close() {\n return new Promise(resolve => {\n Animated.timing(this.state.slide, {\n duration: CLOSE_ANIM_DURATION,\n toValue: 0,\n easing: Easing.in(Easing.cubic),\n useNativeDriver: true,\n }).start(resolve);\n });\n }\n\n render() {\n const { style, children, layouts, ...other } = this.props;\n const { height: oHeight } = layouts.optionsLayout;\n const animation = {\n transform: [{\n translateY: this.state.slide.interpolate({\n inputRange: [0, 1],\n outputRange: [oHeight, 0],\n }),\n }],\n };\n const position = computePosition(layouts);\n return (\n \n {children}\n \n );\n }\n}\n\nconst styles = StyleSheet.create({\n options: {\n position: 'absolute',\n backgroundColor: 'white',\n\n // Shadow only works on iOS.\n shadowColor: 'black',\n shadowOpacity: 0.3,\n shadowOffset: { width: 3, height: 3 },\n shadowRadius: 4,\n\n // This will elevate the view on Android, causing shadow to be drawn.\n elevation: 5,\n },\n});\n","import { I18nManager, Animated, Easing, StyleSheet, View } from 'react-native';\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { OPEN_ANIM_DURATION, CLOSE_ANIM_DURATION } from '../constants.js';\n\nconst popoverPadding = 7;\nconst anchorSize = 15;\nconst anchorHyp = Math.sqrt(anchorSize*anchorSize + anchorSize*anchorSize);\nconst anchorOffset = (anchorHyp + anchorSize) / 2 - popoverPadding;\n\n// left/top placement\nfunction axisNegativeSideProperties({ oDim, tPos }) {\n return { position: tPos - oDim };\n}\n\n// right/bottom placement\nfunction axisPositiveSideProperties({ tPos, tDim }) {\n // substract also anchor placeholder from the beginning\n return { position: tPos + tDim - anchorSize };\n}\n\n// computes offsets (off screen overlap) of popover when trying to align it to the center\nfunction centeringProperties({ oDim, wDim, tPos, tDim }) {\n const center = Math.round(tPos + (tDim / 2));\n const leftOffset = (oDim / 2) - center;\n const rightOffset = center + (oDim / 2) - wDim;\n return { center, leftOffset, rightOffset };\n}\n\n/**\n * Computes position and offset of popover when trying to align it to the triger center.\n * It consideres window boundaries.\n * Returns object with keys:\n * - position: Absolute position - top/left,\n * - offset: window overlapping size if window boundaries were not considered\n */\nfunction axisCenteredPositionProperties(options) {\n const { oDim, wDim } = options;\n const { center, leftOffset, rightOffset } = centeringProperties(options);\n if (leftOffset > 0 || rightOffset > 0) {\n // right/bottom position is better\n if (leftOffset < rightOffset) {\n return { offset: rightOffset, position: wDim - oDim };\n }\n // left/top position is better\n if (rightOffset < leftOffset) {\n return { offset: -leftOffset, position: 0 };\n }\n }\n // centered position\n return { offset: 0, position: center - oDim / 2 };\n}\n\n/* Evaluate centering placement */\nfunction getCenteringPrice(options) {\n const { leftOffset, rightOffset } = centeringProperties(options);\n // TODO: currently shifted popovers have higher price,\n // popover shift could be taken into account with the same price\n return Math.max(0, leftOffset) + Math.max(0, rightOffset);\n}\n\n/* Evaluate top placement */\nfunction getTopPrice(hOptions, vOptions) {\n const centerOffset = getCenteringPrice(vOptions)\n const sideOffset = Math.max(0, hOptions.oDim - hOptions.tPos)\n return centerOffset + sideOffset\n}\n\n/* Evaluate bottom placement */\nfunction getBottomPrice(hOptions, vOptions) {\n const centerOffset = getCenteringPrice(vOptions)\n const sideOffset = Math.max(0, hOptions.tPos + hOptions.tDim + hOptions.oDim - hOptions.wDim)\n return centerOffset + sideOffset\n}\n\n/* Evaluate left placement */\nfunction getLeftPrice(hOptions, vOptions) {\n const centerOffset = getCenteringPrice(hOptions)\n const sideOffset = Math.max(0, vOptions.oDim - vOptions.tPos)\n return centerOffset + sideOffset\n}\n\n/* Evaluate right placement */\nfunction getRightPrice(hOptions, vOptions) {\n const centerOffset = getCenteringPrice(hOptions)\n const sideOffset = Math.max(0, vOptions.tPos + vOptions.tDim + vOptions.oDim - vOptions.wDim)\n return centerOffset + sideOffset\n}\n\nfunction getStartPosKey(isRTL) {\n return isRTL ? 'right' : 'left';\n}\n\nfunction topProperties(hOptions, vOptions, isRTL) {\n const centered = axisCenteredPositionProperties(vOptions);\n const side = axisNegativeSideProperties(hOptions);\n return {\n position: {\n top: side.position,\n [getStartPosKey(isRTL)]: centered.position,\n },\n offset: centered.offset,\n placement: 'top',\n };\n}\n\nfunction bottomProperties(hOptions, vOptions, isRTL) {\n const centered = axisCenteredPositionProperties(vOptions);\n const side = axisPositiveSideProperties(hOptions);\n return {\n position: {\n top: side.position,\n [getStartPosKey(isRTL)]: centered.position,\n },\n offset: centered.offset,\n placement: 'bottom',\n };\n}\n\nfunction rightProperties(hOptions, vOptions, isRTL) {\n const centered = axisCenteredPositionProperties(hOptions);\n const side = axisPositiveSideProperties(vOptions);\n return {\n position: {\n top: centered.position,\n [getStartPosKey(isRTL)]: side.position,\n },\n offset: centered.offset,\n placement: 'right',\n };\n}\n\nfunction leftProperties(hOptions, vOptions, isRTL) {\n const centered = axisCenteredPositionProperties(hOptions);\n const side = axisNegativeSideProperties(vOptions);\n return {\n position: {\n top: centered.position,\n [getStartPosKey(isRTL)]: side.position,\n },\n offset: centered.offset,\n placement: 'left',\n };\n}\n\n// maps placement to function which computes correct properties\nconst propertiesByPlacement = {\n top: topProperties,\n bottom: bottomProperties,\n left: leftProperties,\n right: rightProperties,\n};\n\n/**\n * Computes properties needed for drawing popover.\n * Returns object with keys:\n * - position: { top: Number, left: Number } - popover absolute position\n * - placement: top|left|top|bottom - position to the trigger\n * - offset: value by which must be anchor shifted\n */\nexport function computeProperties (\n { windowLayout, triggerLayout, optionsLayout },\n placement,\n preferredPlacement,\n isRTL,\n) {\n const { x: wX, y: wY, width: wWidth, height: wHeight } = windowLayout;\n const { x: tX, y: tY, height: tHeight, width: tWidth } = triggerLayout;\n const { height: oHeight, width: oWidth } = optionsLayout;\n const hOptions = {\n oDim: oHeight + popoverPadding * 2,\n wDim: wHeight,\n tPos: tY - wY,\n tDim: tHeight,\n };\n const vOptions = {\n oDim: oWidth + popoverPadding * 2,\n wDim: wWidth,\n tPos: tX - wX,\n tDim: tWidth,\n };\n if (placement !== 'auto' && propertiesByPlacement[placement]) {\n return propertiesByPlacement[placement](hOptions, vOptions, isRTL)\n }\n\n const prices = {\n top: getTopPrice(hOptions, vOptions),\n bottom: getBottomPrice(hOptions, vOptions),\n right: getRightPrice(hOptions, vOptions),\n left: getLeftPrice(hOptions, vOptions),\n };\n const bestPrice = Object.values(prices).sort((a, b) => a - b)[0]\n const bestPlacement = prices[preferredPlacement] === bestPrice\n ? preferredPlacement\n : Object.keys(prices).find(pl => prices[pl] === bestPrice)\n\n return propertiesByPlacement[bestPlacement](hOptions, vOptions, isRTL)\n}\n\nexport default class Popover extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n scaleAnim: new Animated.Value(0.1),\n };\n }\n\n componentDidMount() {\n Animated.timing(this.state.scaleAnim, {\n duration: OPEN_ANIM_DURATION,\n toValue: 1,\n easing: Easing.out(Easing.cubic),\n useNativeDriver: true,\n }).start();\n }\n\n close() {\n return new Promise(resolve => {\n Animated.timing(this.state.scaleAnim, {\n duration: CLOSE_ANIM_DURATION,\n toValue: 0,\n easing: Easing.in(Easing.cubic),\n useNativeDriver: true,\n }).start(resolve);\n });\n }\n\n render() {\n const {\n style,\n children,\n layouts,\n anchorStyle,\n preferredPlacement,\n placement: userPlacement,\n ...other\n } = this.props;\n const isRTL = I18nManager.isRTL;\n const animation = {\n transform: [ { scale: this.state.scaleAnim } ],\n opacity: this.state.scaleAnim,\n };\n const { position, placement, offset } = computeProperties(\n layouts,\n userPlacement,\n preferredPlacement,\n isRTL,\n );\n return (\n \n \n \n {children}\n \n \n );\n }\n\n}\n\nPopover.propTypes = {\n anchorStyle: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.number,\n PropTypes.array,\n ]),\n placement: PropTypes.oneOf(['auto', 'top', 'right', 'bottom', 'left']),\n preferredPlacement: PropTypes.oneOf(['top', 'right', 'bottom', 'left']),\n};\n\nPopover.defaultProps = {\n preferredPlacement: 'top',\n placement: 'auto',\n};\n\nconst getContainerStyle = ({ placement, isRTL }) => ({\n left: {\n flexDirection: isRTL ? 'row' : 'row-reverse',\n },\n right: {\n flexDirection: isRTL ? 'row-reverse' : 'row',\n },\n top: {\n flexDirection: 'column-reverse',\n },\n bottom: {\n flexDirection: 'column',\n },\n})[placement]\n\nconst dynamicAnchorStyle = ({ offset, placement, isRTL }) => {\n const start = getStartPosKey(isRTL);\n switch (placement) {\n case 'right':\n return {\n top: offset,\n transform: [\n { translateX: anchorOffset },\n { rotate: '45deg' },\n ],\n };\n case 'left':\n return {\n top: offset,\n transform: [\n { translateX: -anchorOffset },\n { rotate: '45deg' },\n ],\n };\n case 'top':\n return {\n [start]: offset,\n transform: [\n { translateY: -anchorOffset },\n { rotate: '45deg' },\n ],\n };\n case 'bottom':\n return {\n [start]: offset,\n transform: [\n { translateY: anchorOffset },\n { rotate: '45deg' },\n ],\n };\n }\n}\n\nexport const styles = StyleSheet.create({\n animated: {\n padding: popoverPadding,\n backgroundColor: 'transparent',\n position: 'absolute',\n alignItems: 'center',\n },\n options: {\n borderRadius: 2,\n minWidth: anchorHyp,\n minHeight: anchorHyp,\n backgroundColor: 'white',\n\n // Shadow only works on iOS.\n shadowColor: 'black',\n shadowOpacity: 0.3,\n shadowOffset: { width: 3, height: 3 },\n shadowRadius: 4,\n\n // This will elevate the view on Android, causing shadow to be drawn.\n elevation: 5,\n },\n anchor: {\n width: anchorSize,\n height: anchorSize,\n backgroundColor: 'white',\n elevation: 5,\n },\n});\n","import './polyfills';\nimport { deprecatedComponent } from './helpers'\n\nimport Menu from './Menu';\nimport MenuProvider, { withCtx } from './MenuProvider';\nimport MenuOption from './MenuOption';\nimport MenuOptions from './MenuOptions';\nimport MenuTrigger from './MenuTrigger';\n\nimport ContextMenu from './renderers/ContextMenu';\nimport NotAnimatedContextMenu from './renderers/NotAnimatedContextMenu';\nimport SlideInMenu from './renderers/SlideInMenu';\nimport Popover from './renderers/Popover';\nconst renderers = { ContextMenu, SlideInMenu, NotAnimatedContextMenu, Popover };\n\nconst MenuContext = deprecatedComponent(\n 'MenuContext is deprecated and it might be removed in future releases, use MenuProvider instead.',\n ['openMenu', 'toggleMenu', 'closeMenu', 'isMenuOpen'],\n)(MenuProvider);\n\nexport {\n Menu as default,\n Menu,\n MenuProvider,\n MenuContext,\n MenuOption,\n MenuOptions,\n MenuTrigger,\n renderers,\n withCtx as withMenuContext,\n};\n"],"names":["Platform","select","obj","OS","measure","ref","Promise","resolve","x","y","width","height","pageX","pageY","makeName","nextID","makeTouchable","TouchableComponent","Touchable","android","TouchableNativeFeedback","ios","TouchableHighlight","default","defaultTouchableProps","underlayColor","iterator2array","it","arr","next","done","push","value","deprecatedComponent","message","methods","deprecatedComponentHOC","Component","args","forEach","name","React","props","onRef","console","warn","require$$0","ReactPropTypesSecret","has","printWarning","ReactIs","assign","checkPropTypes","require$$1","withContext","Context","propName","wrap","EnhanceContext","forwardedRef","rest","custom","displayName","consumerName","Consumer","enhanceForwardRef","FC","forwardRef","defaultProps","propTypes","makeMenuRegistry","menus","Map","subscribe","instance","getName","get","set","unsubscribe","delete","updateLayoutInfo","layouts","menu","Object","hasOwnProperty","triggerLayout","optionsLayout","setOptionsCustomStyles","optionsCustomStyles","getMenu","getAll","values","OPEN_ANIM_DURATION","CLOSE_ANIM_DURATION","Backdrop","fadeAnim","Animated","Value","timing","duration","toValue","useNativeDriver","start","onPress","style","TouchableWithoutFeedback","styles","fullscreen","opacity","View","PropTypes","func","isRequired","StyleSheet","create","position","top","left","bottom","right","CFG","debug","log","MenuPlaceholder","state","ctx","_isMenuClosing","backdropStyles","shouldRenderMenu","isMenuOpen","_isInitialized","placeholder","_onBackdropPress","onBackdropRef","_makeOptions","overflow","computePosition","windowLayout","MenuOutside","children","other","options","defaultOptionsContainerRenderer","layoutsEqual","a","b","isFunctional","prototype","render","Error","PopupMenuContext","createContext","withCtx","instanceCount","MenuProvider","backHandler","closeMenu","r","backdropRef","optionsRef","_placeholderRef","_getOpenedMenu","onBackdropPress","layout","nativeEvent","_ownLayout","trigger","_getTrigger","then","_menuRegistry","_notify","_safeAreaLayout","menuActions","openMenu","toggleMenu","force","menuCtx","menuRegistry","BackHandler","addEventListener","_handleBackButton","customStyles","skipInstanceCheck","menuContextWrapper","removeEventListener","_setOpened","filter","_getOpened","_isOpen","undefined","hideMenu","close","hideBackdrop","_invalidateTriggerLayouts","all","catch","err","forceUpdate","NULL","prev","openedMenu","find","_isRenderNeeded","afterSetState","beforeSetState","_beforeClose","onClose","onOpen","_initOpen","setState","openedMenuName","flex1","_onLayout","menuProviderWrapper","SafeAreaView","safeArea","_onSafeAreaLayout","backdrop","_onPlaceholderRef","open","e","isOutside","_getOptions","renderer","rendererProps","safeAreaLayout","optionsContainerStyle","renderOptionsContainer","optionsRenderer","onLayout","_onOptionsLayout","optionsContainer","optionsType","onOptionsRef","createElement","object","oneOfType","bool","flex","MenuOptions","_props","menuName","updateCustomStyles","optionsWrapper","number","array","MenuTrigger","disabled","text","triggerOnLongPress","_onPress","TriggerTouchableComponent","triggerOuterWrapper","triggerTouchable","triggerWrapper","Text","triggerText","string","axisPosition","oDim","wDim","tPos","tDim","pos","Math","round","fit","len","minPos","maxPos","fitPositionIntoSafeArea","saX","saY","saHeight","saWidth","oHeight","oWidth","wWidth","isRTL","wX","wY","wHeight","tX","tY","tHeight","tWidth","ContextMenu","scaleAnim","easing","Easing","out","cubic","in","animation","transform","scale","I18nManager","borderRadius","backgroundColor","PixelRatio","roundToNearestPixel","shadowColor","shadowOpacity","shadowOffset","shadowRadius","elevation","isRegularComponent","c","type","isTrigger","isMenuOptions","Menu","_name","_forceClose","_validateChildren","prevProps","_reduceChildren","Children","toArray","reduce","child","cloneElement","key","t","_trigger","opened","_opened","onSelect","MenuExternal","defineProperty","val","setDefaultRenderer","setDefaultRendererProps","MenuOption","_getMenusOnSelect","shouldClose","disableTouchable","_getCustomStyles","count","disabledStyles","defaultStyles","optionTextDisabled","optionText","option","optionWrapper","rendered","OptionTouchableComponent","_onSelect","optionTouchable","any","padding","color","NotAnimatedContextMenu","SlideInMenu","slide","translateY","interpolate","inputRange","outputRange","popoverPadding","anchorSize","anchorHyp","sqrt","anchorOffset","axisNegativeSideProperties","axisPositiveSideProperties","centeringProperties","center","leftOffset","rightOffset","axisCenteredPositionProperties","offset","getCenteringPrice","max","getTopPrice","hOptions","vOptions","centerOffset","sideOffset","getBottomPrice","getLeftPrice","getRightPrice","getStartPosKey","topProperties","centered","side","placement","bottomProperties","rightProperties","leftProperties","propertiesByPlacement","computeProperties","preferredPlacement","prices","bestPrice","sort","bestPlacement","keys","pl","Popover","anchorStyle","userPlacement","animated","getContainerStyle","anchor","dynamicAnchorStyle","oneOf","flexDirection","translateX","rotate","alignItems","minWidth","minHeight","renderers","MenuContext"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"rnpm.js","sources":["../src/polyfills.js","../src/helpers.js","../node_modules/react-is/cjs/react-is.development.js","../node_modules/react-is/index.js","../node_modules/object-assign/index.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/prop-types/checkPropTypes.js","../node_modules/prop-types/factoryWithTypeCheckers.js","../node_modules/prop-types/index.js","../src/with-context.js","../src/menuRegistry.js","../src/constants.js","../src/Backdrop.js","../src/logger.js","../src/MenuPlaceholder.js","../src/renderers/MenuOutside.js","../src/MenuProvider.js","../src/MenuOptions.js","../src/MenuTrigger.js","../src/renderers/ContextMenu.js","../src/Menu.js","../src/MenuOption.js","../src/renderers/NotAnimatedContextMenu.js","../src/renderers/SlideInMenu.js","../src/renderers/Popover.js","../src/index.js"],"sourcesContent":["// platform select polyfil for older RN versions\nimport { Platform } from 'react-native';\n\nif (!Platform.select) {\n Platform.select = (obj) => obj[Platform.OS];\n}\n","import React from 'react';\nimport { Platform, TouchableHighlight, TouchableNativeFeedback } from 'react-native';\n\n/**\n * Promisifies measure's callback function and returns layout object.\n */\nexport const measure = ref => new Promise((resolve) => {\n ref.measure((x, y, width, height, pageX, pageY) => {\n resolve({\n x: pageX, y: pageY,\n width, height,\n })\n });\n});\n\n/**\n * Create unique menu name across all menu instances.\n */\nexport const makeName = (function() {\n let nextID = 1;\n return () => `menu-${nextID++}`;\n})();\n\n/**\n * Create touchable component based on passed parameter and platform.\n * It also returns default props for specific touchable types.\n */\nexport function makeTouchable(TouchableComponent) {\n const Touchable = TouchableComponent || Platform.select({\n android: TouchableNativeFeedback,\n ios: TouchableHighlight,\n default: TouchableHighlight,\n });\n let defaultTouchableProps = {};\n if (Touchable === TouchableHighlight) {\n defaultTouchableProps = { underlayColor: 'rgba(0, 0, 0, 0.1)' };\n }\n return { Touchable, defaultTouchableProps };\n}\n\nfunction includes(arr, value) {\n return arr.indexOf(value) > -1;\n}\n\n/**\nLog object - prepares object for logging by stripping all \"private\" or excluding fields\n*/\nexport function lo(object, ...excluding) {\n const exc = Array.from(excluding);\n function isObject(obj) {\n return obj === Object(obj);\n }\n function withoutPrivate(obj) {\n if (!isObject(obj)) return obj;\n const res = {};\n for (var property in obj) {\n if (obj.hasOwnProperty(property)) {\n if (!property.startsWith('_') && !includes(exc, property)) {\n res[property] = withoutPrivate(obj[property]);\n }\n }\n }\n return res;\n }\n return withoutPrivate(object);\n}\n\n/**\nConverts iterator to array\n*/\nexport function iterator2array(it) {\n // workaround around https://github.com/instea/react-native-popup-menu/issues/41#issuecomment-340290127\n const arr = [];\n for (let next = it.next(); !next.done; next = it.next()) {\n arr.push(next.value);\n }\n return arr;\n}\n\n/**\n * Higher order component to deprecate usage of component.\n * message - deprecate warning message\n * methods - array of method names to be delegated to deprecated component\n */\nexport function deprecatedComponent(message, methods = []) {\n return function deprecatedComponentHOC(Component) {\n return class DeprecatedComponent extends React.Component {\n constructor(...args) {\n super(...args);\n methods.forEach(name => {\n // delegate methods to the component\n this[name] = (...args) => this.ref && this.ref[name](...args)\n });\n }\n\n render() {\n return \n }\n\n onRef = ref => this.ref = ref;\n\n componentDidMount() {\n console.warn(message);\n }\n }\n }\n}\n","/** @license React v16.8.3\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\n\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace;\nvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\n\nfunction isValidElementType(type) {\n return typeof type === 'string' || typeof type === 'function' ||\n // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE);\n}\n\n/**\n * Forked from fbjs/warning:\n * https://github.com/facebook/fbjs/blob/e66ba20ad5be433eb54423f2b097d829324d9de6/packages/fbjs/src/__forks__/warning.js\n *\n * Only change is we use console.warn instead of console.error,\n * and do nothing when 'console' is not supported.\n * This really simplifies the code.\n * ---\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar lowPriorityWarning = function () {};\n\n{\n var printWarning = function (format) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var argIndex = 0;\n var message = 'Warning: ' + format.replace(/%s/g, function () {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.warn(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n\n lowPriorityWarning = function (condition, format) {\n if (format === undefined) {\n throw new Error('`lowPriorityWarning(condition, format, ...args)` requires a warning ' + 'message argument');\n }\n if (!condition) {\n for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n args[_key2 - 2] = arguments[_key2];\n }\n\n printWarning.apply(undefined, [format].concat(args));\n }\n };\n}\n\nvar lowPriorityWarning$1 = lowPriorityWarning;\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_ASYNC_MODE_TYPE:\n case REACT_CONCURRENT_MODE_TYPE:\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n return type;\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n default:\n return $$typeof;\n }\n }\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n}\n\n// AsyncMode is deprecated along with isAsyncMode\nvar AsyncMode = REACT_ASYNC_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\n\nvar hasWarnedAboutDeprecatedIsAsyncMode = false;\n\n// AsyncMode should be deprecated\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true;\n lowPriorityWarning$1(false, 'The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n }\n }\n return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n}\nfunction isConcurrentMode(object) {\n return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.typeOf = typeOf;\nexports.AsyncMode = AsyncMode;\nexports.ConcurrentMode = ConcurrentMode;\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isValidElementType = isValidElementType;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n var loggedTypeFailures = {};\n var has = Function.call.bind(Object.prototype.hasOwnProperty);\n\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n if (process.env.NODE_ENV !== 'production') {\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error;\n // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n var err = Error(\n (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.'\n );\n err.name = 'Invariant Violation';\n throw err;\n }\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n if (error && !(error instanceof Error)) {\n printWarning(\n (componentName || 'React class') + ': type specification of ' +\n location + ' `' + typeSpecName + '` is invalid; the type checker ' +\n 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +\n 'You may have forgotten to pass an argument to the type checker ' +\n 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +\n 'shape all require an argument).'\n );\n }\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n\n var stack = getStack ? getStack() : '';\n\n printWarning(\n 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')\n );\n }\n }\n }\n }\n}\n\n/**\n * Resets warning cache when testing.\n *\n * @private\n */\ncheckPropTypes.resetWarningCache = function() {\n if (process.env.NODE_ENV !== 'production') {\n loggedTypeFailures = {};\n }\n}\n\nmodule.exports = checkPropTypes;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactIs = require('react-is');\nvar assign = require('object-assign');\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\nvar checkPropTypes = require('./checkPropTypes');\n\nvar has = Function.call.bind(Object.prototype.hasOwnProperty);\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\nfunction emptyFunctionThatReturnsNull() {\n return null;\n}\n\nmodule.exports = function(isValidElement, throwOnDirectAccess) {\n /* global Symbol */\n var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n /**\n * Returns the iterator method function contained on the iterable object.\n *\n * Be sure to invoke the function with the iterable as context:\n *\n * var iteratorFn = getIteratorFn(myIterable);\n * if (iteratorFn) {\n * var iterator = iteratorFn.call(myIterable);\n * ...\n * }\n *\n * @param {?object} maybeIterable\n * @return {?function}\n */\n function getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n }\n\n /**\n * Collection of methods that allow declaration and validation of props that are\n * supplied to React components. Example usage:\n *\n * var Props = require('ReactPropTypes');\n * var MyArticle = React.createClass({\n * propTypes: {\n * // An optional string prop named \"description\".\n * description: Props.string,\n *\n * // A required enum prop named \"category\".\n * category: Props.oneOf(['News','Photos']).isRequired,\n *\n * // A prop named \"dialog\" that requires an instance of Dialog.\n * dialog: Props.instanceOf(Dialog).isRequired\n * },\n * render: function() { ... }\n * });\n *\n * A more formal specification of how these methods are used:\n *\n * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n * decl := ReactPropTypes.{type}(.isRequired)?\n *\n * Each and every declaration produces a function with the same signature. This\n * allows the creation of custom validation functions. For example:\n *\n * var MyLink = React.createClass({\n * propTypes: {\n * // An optional string or URI prop named \"href\".\n * href: function(props, propName, componentName) {\n * var propValue = props[propName];\n * if (propValue != null && typeof propValue !== 'string' &&\n * !(propValue instanceof URI)) {\n * return new Error(\n * 'Expected a string or an URI for ' + propName + ' in ' +\n * componentName\n * );\n * }\n * }\n * },\n * render: function() {...}\n * });\n *\n * @internal\n */\n\n var ANONYMOUS = '<>';\n\n // Important!\n // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n var ReactPropTypes = {\n array: createPrimitiveTypeChecker('array'),\n bool: createPrimitiveTypeChecker('boolean'),\n func: createPrimitiveTypeChecker('function'),\n number: createPrimitiveTypeChecker('number'),\n object: createPrimitiveTypeChecker('object'),\n string: createPrimitiveTypeChecker('string'),\n symbol: createPrimitiveTypeChecker('symbol'),\n\n any: createAnyTypeChecker(),\n arrayOf: createArrayOfTypeChecker,\n element: createElementTypeChecker(),\n elementType: createElementTypeTypeChecker(),\n instanceOf: createInstanceTypeChecker,\n node: createNodeChecker(),\n objectOf: createObjectOfTypeChecker,\n oneOf: createEnumTypeChecker,\n oneOfType: createUnionTypeChecker,\n shape: createShapeTypeChecker,\n exact: createStrictShapeTypeChecker,\n };\n\n /**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\n /*eslint-disable no-self-compare*/\n function is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n }\n /*eslint-enable no-self-compare*/\n\n /**\n * We use an Error-like object for backward compatibility as people may call\n * PropTypes directly and inspect their output. However, we don't use real\n * Errors anymore. We don't inspect their stack anyway, and creating them\n * is prohibitively expensive if they are created too often, such as what\n * happens in oneOfType() for any type before the one that matched.\n */\n function PropTypeError(message) {\n this.message = message;\n this.stack = '';\n }\n // Make `instanceof Error` still work for returned errors.\n PropTypeError.prototype = Error.prototype;\n\n function createChainableTypeChecker(validate) {\n if (process.env.NODE_ENV !== 'production') {\n var manualPropTypeCallCache = {};\n var manualPropTypeWarningCount = 0;\n }\n function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n componentName = componentName || ANONYMOUS;\n propFullName = propFullName || propName;\n\n if (secret !== ReactPropTypesSecret) {\n if (throwOnDirectAccess) {\n // New behavior only for users of `prop-types` package\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use `PropTypes.checkPropTypes()` to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') {\n // Old behavior for people using React.PropTypes\n var cacheKey = componentName + ':' + propName;\n if (\n !manualPropTypeCallCache[cacheKey] &&\n // Avoid spamming the console because they are often not actionable except for lib authors\n manualPropTypeWarningCount < 3\n ) {\n printWarning(\n 'You are manually calling a React.PropTypes validation ' +\n 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +\n 'and will throw in the standalone `prop-types` package. ' +\n 'You may be seeing this warning due to a third-party PropTypes ' +\n 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'\n );\n manualPropTypeCallCache[cacheKey] = true;\n manualPropTypeWarningCount++;\n }\n }\n }\n if (props[propName] == null) {\n if (isRequired) {\n if (props[propName] === null) {\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n }\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n }\n return null;\n } else {\n return validate(props, propName, componentName, location, propFullName);\n }\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n }\n\n function createPrimitiveTypeChecker(expectedType) {\n function validate(props, propName, componentName, location, propFullName, secret) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== expectedType) {\n // `propValue` being instance of, say, date/regexp, pass the 'object'\n // check, but we can offer a more precise error message here rather than\n // 'of type `object`'.\n var preciseType = getPreciseType(propValue);\n\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createAnyTypeChecker() {\n return createChainableTypeChecker(emptyFunctionThatReturnsNull);\n }\n\n function createArrayOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n }\n var propValue = props[propName];\n if (!Array.isArray(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n }\n for (var i = 0; i < propValue.length; i++) {\n var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!isValidElement(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!ReactIs.isValidElementType(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createInstanceTypeChecker(expectedClass) {\n function validate(props, propName, componentName, location, propFullName) {\n if (!(props[propName] instanceof expectedClass)) {\n var expectedClassName = expectedClass.name || ANONYMOUS;\n var actualClassName = getClassName(props[propName]);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createEnumTypeChecker(expectedValues) {\n if (!Array.isArray(expectedValues)) {\n if (process.env.NODE_ENV !== 'production') {\n if (arguments.length > 1) {\n printWarning(\n 'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +\n 'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'\n );\n } else {\n printWarning('Invalid argument supplied to oneOf, expected an array.');\n }\n }\n return emptyFunctionThatReturnsNull;\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n for (var i = 0; i < expectedValues.length; i++) {\n if (is(propValue, expectedValues[i])) {\n return null;\n }\n }\n\n var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {\n var type = getPreciseType(value);\n if (type === 'symbol') {\n return String(value);\n }\n return value;\n });\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createObjectOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n }\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n }\n for (var key in propValue) {\n if (has(propValue, key)) {\n var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createUnionTypeChecker(arrayOfTypeCheckers) {\n if (!Array.isArray(arrayOfTypeCheckers)) {\n process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;\n return emptyFunctionThatReturnsNull;\n }\n\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (typeof checker !== 'function') {\n printWarning(\n 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +\n 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'\n );\n return emptyFunctionThatReturnsNull;\n }\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret) == null) {\n return null;\n }\n }\n\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createNodeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n if (!isNode(props[propName])) {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n for (var key in shapeTypes) {\n var checker = shapeTypes[key];\n if (!checker) {\n continue;\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createStrictShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n // We need to check all keys in case some are required but missing from\n // props.\n var allKeys = assign({}, props[propName], shapeTypes);\n for (var key in allKeys) {\n var checker = shapeTypes[key];\n if (!checker) {\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +\n '\\nBad object: ' + JSON.stringify(props[propName], null, ' ') +\n '\\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')\n );\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function isNode(propValue) {\n switch (typeof propValue) {\n case 'number':\n case 'string':\n case 'undefined':\n return true;\n case 'boolean':\n return !propValue;\n case 'object':\n if (Array.isArray(propValue)) {\n return propValue.every(isNode);\n }\n if (propValue === null || isValidElement(propValue)) {\n return true;\n }\n\n var iteratorFn = getIteratorFn(propValue);\n if (iteratorFn) {\n var iterator = iteratorFn.call(propValue);\n var step;\n if (iteratorFn !== propValue.entries) {\n while (!(step = iterator.next()).done) {\n if (!isNode(step.value)) {\n return false;\n }\n }\n } else {\n // Iterator will provide entry [k,v] tuples rather than values.\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n if (entry) {\n if (!isNode(entry[1])) {\n return false;\n }\n }\n }\n }\n } else {\n return false;\n }\n\n return true;\n default:\n return false;\n }\n }\n\n function isSymbol(propType, propValue) {\n // Native Symbol.\n if (propType === 'symbol') {\n return true;\n }\n\n // falsy value can't be a Symbol\n if (!propValue) {\n return false;\n }\n\n // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n if (propValue['@@toStringTag'] === 'Symbol') {\n return true;\n }\n\n // Fallback for non-spec compliant Symbols which are polyfilled.\n if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n return true;\n }\n\n return false;\n }\n\n // Equivalent of `typeof` but with special handling for array and regexp.\n function getPropType(propValue) {\n var propType = typeof propValue;\n if (Array.isArray(propValue)) {\n return 'array';\n }\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return 'object';\n }\n if (isSymbol(propType, propValue)) {\n return 'symbol';\n }\n return propType;\n }\n\n // This handles more types than `getPropType`. Only used for error messages.\n // See `createPrimitiveTypeChecker`.\n function getPreciseType(propValue) {\n if (typeof propValue === 'undefined' || propValue === null) {\n return '' + propValue;\n }\n var propType = getPropType(propValue);\n if (propType === 'object') {\n if (propValue instanceof Date) {\n return 'date';\n } else if (propValue instanceof RegExp) {\n return 'regexp';\n }\n }\n return propType;\n }\n\n // Returns a string that is postfixed to a warning about an invalid type.\n // For example, \"undefined\" or \"of type array\"\n function getPostfixForTypeWarning(value) {\n var type = getPreciseType(value);\n switch (type) {\n case 'array':\n case 'object':\n return 'an ' + type;\n case 'boolean':\n case 'date':\n case 'regexp':\n return 'a ' + type;\n default:\n return type;\n }\n }\n\n // Returns class name of the object, if any.\n function getClassName(propValue) {\n if (!propValue.constructor || !propValue.constructor.name) {\n return ANONYMOUS;\n }\n return propValue.constructor.name;\n }\n\n ReactPropTypes.checkPropTypes = checkPropTypes;\n ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","import React from \"react\";\n\nexport function withContext(Context, propName = \"context\") {\n return function wrap(Component) {\n class EnhanceContext extends React.Component {\n render() {\n const { forwardedRef, ...rest } = this.props;\n\n return (\n \n {value => {\n const custom = {\n [propName]: value,\n ref: forwardedRef,\n };\n return ;\n }}\n \n );\n }\n }\n\n const name = Component.displayName || Component.name || \"Component\";\n const consumerName =\n Context.Consumer.displayName ||\n Context.Consumer.name ||\n \"Context.Consumer\";\n\n function enhanceForwardRef(props, ref) {\n return ;\n }\n\n enhanceForwardRef.displayName = `enhanceContext-${consumerName}(${name})`;\n\n const FC = React.forwardRef(enhanceForwardRef);\n FC.defaultProps = Component.defaultProps;\n FC.propTypes = Component.propTypes;\n return FC\n };\n}\n","import { iterator2array } from './helpers';\n\n/**\n * Registry to subscribe, unsubscribe and update data of menus.\n *\n * menu data: {\n * instance: react instance\n * triggerLayout: Object - layout of menu trigger if known\n * optionsLayout: Object - layout of menu options if known\n * optionsCustomStyles: Object - custom styles of options\n * }\n*/\nexport default function makeMenuRegistry(menus = new Map()) {\n\n /**\n * Subscribes menu instance.\n */\n function subscribe(instance) {\n const name = instance.getName()\n if (menus.get(name)) {\n console.warn(`incorrect usage of popup menu - menu with name ${name} already exists`);\n }\n menus.set(name, { name, instance });\n }\n\n /**\n * Unsubscribes menu instance.\n */\n function unsubscribe(instance) {\n menus.delete(instance.getName());\n }\n\n /**\n * Updates layout infomration.\n */\n function updateLayoutInfo(name, layouts = {}) {\n if (!menus.has(name)) {\n return;\n }\n const menu = Object.assign({}, menus.get(name));\n if (layouts.hasOwnProperty('triggerLayout')) {\n menu.triggerLayout = layouts.triggerLayout;\n }\n if (layouts.hasOwnProperty('optionsLayout')) {\n menu.optionsLayout = layouts.optionsLayout;\n }\n menus.set(name, menu);\n }\n\n function setOptionsCustomStyles(name, optionsCustomStyles) {\n if (!menus.has(name)) {\n return;\n }\n const menu = { ...menus.get(name), optionsCustomStyles };\n menus.set(name, menu);\n }\n\n /**\n * Get `menu data` by name.\n */\n function getMenu(name) {\n return menus.get(name);\n }\n\n /**\n * Returns all subscribed menus as array of `menu data`\n */\n function getAll() {\n return iterator2array(menus.values());\n }\n\n return { subscribe, unsubscribe, updateLayoutInfo, getMenu, getAll, setOptionsCustomStyles };\n}\n","import { Platform } from 'react-native';\n\n// common durations of animation\nexport const OPEN_ANIM_DURATION = 225;\nexport const CLOSE_ANIM_DURATION = 195;\n\nexport const USE_NATIVE_DRIVER = (Platform.OS !== \"web\");\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { View, StyleSheet, TouchableWithoutFeedback, Animated } from 'react-native';\nimport { OPEN_ANIM_DURATION, CLOSE_ANIM_DURATION, USE_NATIVE_DRIVER } from './constants';\n\nclass Backdrop extends Component {\n\n constructor(...args) {\n super(...args);\n this.fadeAnim = new Animated.Value(0.001);\n }\n\n open() {\n return new Promise(resolve => {\n Animated.timing(this.fadeAnim, {\n duration: OPEN_ANIM_DURATION,\n toValue: 1,\n useNativeDriver: USE_NATIVE_DRIVER,\n }).start(resolve);\n });\n }\n\n close() {\n return new Promise(resolve => {\n Animated.timing(this.fadeAnim, {\n duration: CLOSE_ANIM_DURATION,\n toValue: 0,\n useNativeDriver: USE_NATIVE_DRIVER,\n }).start(resolve);\n });\n }\n\n render() {\n const { onPress, style } = this.props;\n return (\n \n \n \n \n \n );\n }\n\n}\n\nBackdrop.propTypes = {\n onPress: PropTypes.func.isRequired,\n};\n\nconst styles = StyleSheet.create({\n fullscreen: {\n opacity: 0,\n position: 'absolute',\n top: 0,\n left: 0,\n bottom: 0,\n right: 0,\n },\n});\n\nexport default Backdrop;\n","\nexport const CFG = {\n debug: false,\n}\n/**\n * Debug logger depending on `Menu.debug` static porperty.\n */\nexport const debug = (...args) => {\n CFG.debug && console.log('react-native-popup-menu', ...args);\n};\n","import React, { Component } from 'react';\nimport { View, StyleSheet } from 'react-native';\nimport Backdrop from './Backdrop';\nimport { debug } from './logger.js';\n\nexport default class MenuPlaceholder extends Component {\n constructor(props) {\n super(props)\n this.state = {};\n }\n\n shouldComponentUpdate() {\n // don't terminate closing animation\n return !this.props.ctx._isMenuClosing;\n }\n\n render() {\n const { ctx, backdropStyles } = this.props;\n const shouldRenderMenu = ctx.isMenuOpen() && ctx._isInitialized();\n debug('MenuPlaceholder should render', shouldRenderMenu);\n if (!shouldRenderMenu) {\n return null;\n }\n return (\n \n \n {\n ctx._makeOptions()\n }\n \n );\n }\n}\n\nconst styles = StyleSheet.create({\n placeholder: {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n overflow: 'hidden',\n },\n});\n","import React from 'react';\nimport { View, StyleSheet } from 'react-native';\n\nexport const computePosition = ({ windowLayout }) => ({\n top: windowLayout.height,\n left: windowLayout.width,\n});\n\n\nconst MenuOutside = props => {\n const { style, children, layouts, ...other } = props;\n const position = computePosition(layouts);\n return (\n \n {children}\n \n );\n};\n\nconst styles = StyleSheet.create({\n options: {\n position: 'absolute',\n },\n});\n\nexport default MenuOutside;\n","import React, { Component, createContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { View, BackHandler, SafeAreaView, StyleSheet } from 'react-native';\n\nimport { withContext } from './with-context';\nimport makeMenuRegistry from './menuRegistry';\nimport MenuPlaceholder from './MenuPlaceholder';\nimport { measure } from './helpers';\nimport { debug } from './logger.js';\nimport MenuOutside from './renderers/MenuOutside';\n\nconst defaultOptionsContainerRenderer = options => options;\nconst layoutsEqual = (a, b) => (\n a === b || (a && b && a.width === b.width && a.height === b.height)\n);\n\nconst isFunctional = Component => !Component.prototype.render;\n\nif (!React.forwardRef) {\n throw new Error('This version of popup-menu requires RN 0.55+. Check our compatibility table.')\n}\nexport const PopupMenuContext = createContext({})\nexport const withCtx = withContext(PopupMenuContext, \"ctx\");\n\n// count of MenuProvider instances\nlet instanceCount = 0;\n\nexport default class MenuProvider extends Component {\n\n constructor(props) {\n super(props);\n this._menuRegistry = makeMenuRegistry();\n this._isMenuClosing = false;\n const menuActions = {\n openMenu: name => this.openMenu(name),\n closeMenu: () => this.closeMenu(),\n toggleMenu: name => this.toggleMenu(name),\n isMenuOpen: () => this.isMenuOpen(),\n _getOpenedMenu: () => this._getOpenedMenu(),\n _notify: force => this._notify(force),\n };\n this.menuCtx = { menuRegistry: this._menuRegistry, menuActions }\n }\n\n _handleBackButton = () => {\n const { backHandler } = this.props;\n debug('_handleBackButton called', backHandler);\n\n // Default handler if true is passed\n if (backHandler === true) {\n if (this.isMenuOpen()) {\n this.closeMenu();\n return true;\n }\n }\n\n // Custom handler called with MenuProvider instance id function is passed\n if (typeof backHandler === 'function') {\n return backHandler(this);\n }\n\n return false;\n }\n\n componentDidMount() {\n if (BackHandler) {\n BackHandler.addEventListener('hardwareBackPress', this._handleBackButton);\n } else {\n const { backHandler } = this.props;\n if (backHandler === true || typeof backHandler === 'function') {\n console.warn('backHandler prop cannot be used if BackHandler is not present (RN >= 0.44 required)');\n }\n }\n const { customStyles, skipInstanceCheck } = this.props;\n if (customStyles.menuContextWrapper) {\n console.warn('menuContextWrapper custom style is deprecated and it might be removed in future releases, use menuProviderWrapper instead.');\n }\n if (!skipInstanceCheck) {\n instanceCount++;\n }\n if (instanceCount > 1) {\n console.warn('In most cases you should not have more MenuProviders in your app (see API documentation). In other cases use skipInstanceCheck prop.');\n }\n }\n\n componentWillUnmount() {\n debug('unmounting menu provider')\n if (BackHandler) {\n BackHandler.removeEventListener('hardwareBackPress', this._handleBackButton);\n }\n const { skipInstanceCheck } = this.props;\n if (!skipInstanceCheck) {\n instanceCount--;\n }\n }\n\n isMenuOpen() {\n return !!this._getOpenedMenu();\n }\n\n openMenu(name) {\n const menu = this._menuRegistry.getMenu(name);\n if (!menu) {\n console.warn(`menu with name ${name} does not exist`);\n return Promise.resolve();\n }\n debug('open menu', name);\n menu.instance._setOpened(true);\n return this._notify();\n }\n\n closeMenu() { // has no effect on controlled menus\n debug('close menu');\n this._menuRegistry.getAll()\n .filter(menu => menu.instance._getOpened())\n .forEach(menu => menu.instance._setOpened(false));\n return this._notify();\n }\n\n _invalidateTriggerLayouts() {\n // invalidate layouts for closed menus,\n // both controlled and uncontrolled menus\n this._menuRegistry.getAll()\n .filter(menu => !menu.instance._isOpen())\n .forEach(menu => {\n this._menuRegistry.updateLayoutInfo(menu.name, { triggerLayout: undefined });\n });\n }\n\n _beforeClose(menu) {\n debug('before close', menu.name);\n const hideMenu = (this.optionsRef\n && this.optionsRef.close\n && this.optionsRef.close()) || Promise.resolve();\n const hideBackdrop = this.backdropRef && this.backdropRef.close();\n this._invalidateTriggerLayouts();\n this._isMenuClosing = true;\n return Promise.all([hideMenu, hideBackdrop])\n .then(() => {\n this._isMenuClosing = false;\n })\n .catch(err => {\n this._isMenuClosing = false;\n throw err;\n })\n }\n\n toggleMenu(name) {\n const menu = this._menuRegistry.getMenu(name);\n if (!menu) {\n console.warn(`menu with name ${name} does not exist`);\n return Promise.resolve();\n }\n debug('toggle menu', name);\n if (menu.instance._getOpened()) {\n return this.closeMenu();\n } else {\n return this.openMenu(name);\n }\n }\n\n _notify(forceUpdate) {\n const NULL = {};\n const prev = this.openedMenu || NULL;\n const next = this._menuRegistry.getAll().find(menu => menu.instance._isOpen()) || NULL;\n // set newly opened menu before any callbacks are called\n this.openedMenu = next === NULL ? undefined : next;\n if (!forceUpdate && !this._isRenderNeeded(prev, next)) {\n return Promise.resolve();\n }\n debug('notify: next menu:', next.name, ' prev menu:', prev.name);\n let afterSetState = undefined;\n let beforeSetState = () => Promise.resolve();\n if (prev.name !== next.name) {\n if (prev !== NULL && !prev.instance._isOpen()) {\n beforeSetState = () => this._beforeClose(prev)\n .then(() => prev.instance.props.onClose());\n }\n if (next !== NULL) {\n next.instance.props.onOpen();\n afterSetState = () => this._initOpen(next);\n }\n }\n return beforeSetState().then(() => {\n if (!this._placeholderRef) {\n debug('setState ignored - maybe the context was unmounted')\n return\n }\n this._placeholderRef.setState({ openedMenuName: this.openedMenu && this.openedMenu.name }, afterSetState);\n debug('notify ended');\n });\n }\n\n /**\n Compares states of opened menu to determine if rerender is needed.\n */\n _isRenderNeeded(prev, next) {\n if (prev === next) {\n debug('_isRenderNeeded: skipping - no change');\n return false;\n }\n if (prev.name !== next.name) {\n return true;\n }\n const { triggerLayout, optionsLayout } = next;\n if (!triggerLayout || !optionsLayout) {\n debug('_isRenderNeeded: skipping - no trigger or options layout');\n return false;\n }\n return true;\n }\n\n render() {\n const { style, customStyles } = this.props;\n debug('render menu', this.isMenuOpen(), this._ownLayout);\n return (\n \n \n \n { this.props.children }\n \n \n \n \n \n \n \n );\n }\n\n onBackdropRef = r => {\n this.backdropRef = r;\n }\n\n onOptionsRef = r => {\n this.optionsRef = r;\n }\n\n _onPlaceholderRef = r => this._placeholderRef = r;\n\n _getOpenedMenu() {\n const name = this._placeholderRef && this._placeholderRef.state.openedMenuName;\n const menu = name ? this._menuRegistry.getMenu(name) : undefined;\n debug('_getOpenedMenu', name, !!menu)\n return menu\n }\n\n _onBackdropPress = () => {\n debug('on backdrop press');\n const menu = this._getOpenedMenu();\n if (menu) {\n menu.instance.props.onBackdropPress();\n }\n this.closeMenu();\n }\n\n _isInitialized() {\n return !!this._ownLayout;\n }\n\n _initOpen(menu) {\n debug('opening', menu.name);\n const trigger = menu.instance._getTrigger();\n measure(trigger).then(triggerLayout => {\n debug('got trigger measurements', triggerLayout);\n this._menuRegistry.updateLayoutInfo(menu.name, { triggerLayout });\n this.backdropRef && this.backdropRef.open()\n this._notify();\n });\n }\n\n _onOptionsLayout(e, name, isOutside) {\n const optionsLayout = e.nativeEvent.layout;\n optionsLayout.isOutside = isOutside;\n debug('got options layout', optionsLayout);\n this._menuRegistry.updateLayoutInfo(name, { optionsLayout });\n this._notify();\n }\n\n _makeOptions() {\n const { instance, triggerLayout, optionsLayout } = this._getOpenedMenu();\n const options = instance._getOptions();\n const { renderer, rendererProps } = instance.props;\n const windowLayout = this._ownLayout;\n const safeAreaLayout = this._safeAreaLayout;\n const { optionsContainerStyle, renderOptionsContainer, customStyles } = options.props;\n const optionsRenderer = renderOptionsContainer || defaultOptionsContainerRenderer;\n const isOutside = !triggerLayout || !optionsLayout;\n const onLayout = e => this._onOptionsLayout(e, instance.getName(), isOutside);\n const style = [optionsContainerStyle, customStyles.optionsContainer];\n const layouts = { windowLayout, triggerLayout, optionsLayout, safeAreaLayout };\n const props = { ...rendererProps, style, onLayout, layouts };\n const optionsType = isOutside ? MenuOutside : renderer;\n if (!isFunctional(optionsType)) {\n props.ref = this.onOptionsRef;\n }\n return React.createElement(optionsType, props, optionsRenderer(options));\n }\n\n _onLayout = ({ nativeEvent: { layout } }) => {\n if (layoutsEqual(this._ownLayout, layout)) {\n return;\n }\n this._ownLayout = layout;\n debug('context layout has changed', this._ownLayout);\n if (!this.isMenuOpen()) {\n return;\n }\n const { instance } = this._getOpenedMenu();\n const trigger = instance._getTrigger();\n measure(trigger).then(triggerLayout => {\n debug('got trigger measurements after context layout change', triggerLayout);\n this._menuRegistry.updateLayoutInfo(instance.getName(), { triggerLayout });\n // force update as own layout has changed\n this._notify(true);\n });\n }\n\n _onSafeAreaLayout = ({ nativeEvent: { layout } }) => {\n if (layoutsEqual(this._safeAreaLayout, layout)) {\n return;\n }\n this._safeAreaLayout = layout;\n debug('safeArea layout has changed', this._safeAreaLayout);\n if (!this.isMenuOpen()) {\n return;\n }\n this._notify(true);\n }\n\n}\n\nMenuProvider.propTypes = {\n customStyles: PropTypes.object,\n backHandler: PropTypes.oneOfType([PropTypes.bool, PropTypes.func]),\n skipInstanceCheck: PropTypes.bool,\n}\n\nMenuProvider.defaultProps = {\n customStyles: {},\n backHandler: false,\n skipInstanceCheck: false,\n};\n\nconst styles = StyleSheet.create({\n flex1: {\n flex: 1,\n },\n safeArea: {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n },\n});\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { View } from 'react-native';\nimport { withCtx } from './MenuProvider';\n\nexport class MenuOptions extends React.Component {\n\n updateCustomStyles(_props) {\n const { customStyles } = _props\n const menu = this.props.ctx.menuActions._getOpenedMenu()\n // FIXME react 16.3 workaround for ControlledExample!\n if (!menu) return\n const menuName = menu.instance.getName()\n this.props.ctx.menuRegistry.setOptionsCustomStyles(menuName, customStyles)\n }\n\n componentDidMount() {\n this.updateCustomStyles(this.props)\n }\n\n componentDidUpdate() {\n this.updateCustomStyles(this.props)\n }\n\n render() {\n const { customStyles, style, children } = this.props\n return (\n \n {children}\n \n )\n }\n}\n\nMenuOptions.propTypes = {\n customStyles: PropTypes.object,\n renderOptionsContainer: PropTypes.func,\n optionsContainerStyle: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.number,\n PropTypes.array,\n ]),\n};\n\nMenuOptions.defaultProps = {\n customStyles: {},\n};\n\nexport default withCtx(MenuOptions);\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { View, Text } from 'react-native';\nimport { debug } from './logger.js';\nimport { makeTouchable } from './helpers';\nimport { withCtx } from './MenuProvider';\n\nexport class MenuTrigger extends Component {\n\n _onPress() {\n debug('trigger onPress');\n this.props.onPress && this.props.onPress();\n this.props.ctx.menuActions.openMenu(this.props.menuName);\n }\n\n render() {\n const { disabled, onRef, text, children, style, customStyles, menuName, triggerOnLongPress, ...other } = this.props;\n const onPress = () => !disabled && this._onPress();\n const { Touchable, defaultTouchableProps } = makeTouchable(customStyles.TriggerTouchableComponent);\n return (\n \n \n \n {text ? {text} : children}\n \n \n \n );\n }\n\n}\n\nMenuTrigger.propTypes = {\n disabled: PropTypes.bool,\n text: PropTypes.string,\n onPress: PropTypes.func,\n customStyles: PropTypes.object,\n triggerOnLongPress: PropTypes.bool,\n};\n\nMenuTrigger.defaultProps = {\n disabled: false,\n customStyles: {},\n};\n\nexport default withCtx(MenuTrigger)\n","import React from 'react';\nimport { I18nManager, Animated, Easing, StyleSheet, PixelRatio } from 'react-native';\nimport { OPEN_ANIM_DURATION, CLOSE_ANIM_DURATION, USE_NATIVE_DRIVER } from '../constants';\n\nconst axisPosition = (oDim, wDim, tPos, tDim) => {\n // if options are bigger than window dimension, then render at 0\n if (oDim > wDim) {\n return 0;\n }\n // render at trigger position if possible\n if (tPos + oDim <= wDim) {\n return tPos;\n }\n // aligned to the trigger from the bottom (right)\n if (tPos + tDim - oDim >= 0) {\n return tPos + tDim - oDim;\n }\n // compute center position\n let pos = Math.round(tPos + (tDim / 2) - (oDim / 2));\n // check top boundary\n if (pos < 0) {\n return 0;\n }\n // check bottom boundary\n if (pos + oDim > wDim) {\n return wDim - oDim;\n }\n // if everything ok, render in center position\n return pos;\n};\n\nfunction fit(pos, len, minPos, maxPos) {\n if (pos === undefined) {\n return undefined;\n }\n if (pos + len > maxPos) {\n pos = maxPos - len;\n }\n if (pos < minPos) {\n pos = minPos;\n }\n return pos;\n}\n// fits options (position) into safeArea\nexport const fitPositionIntoSafeArea = (position, layouts) => {\n const { windowLayout, safeAreaLayout, optionsLayout } = layouts;\n if (!safeAreaLayout) {\n return position;\n }\n const { x: saX, y: saY, height: saHeight, width: saWidth } = safeAreaLayout;\n const { height: oHeight, width: oWidth } = optionsLayout;\n const { width: wWidth } = windowLayout;\n let { top, left, right } = position;\n top = fit(top, oHeight, saY, saY + saHeight);\n left = fit(left, oWidth, saX, saX + saWidth)\n right = fit(right, oWidth, wWidth - saX - saWidth, saX)\n return { top, left, right };\n}\n\nexport const computePosition = (layouts, isRTL) => {\n const { windowLayout, triggerLayout, optionsLayout } = layouts;\n const { x: wX, y: wY, width: wWidth, height: wHeight } = windowLayout;\n const { x: tX, y: tY, height: tHeight, width: tWidth } = triggerLayout;\n const { height: oHeight, width: oWidth } = optionsLayout;\n const top = axisPosition(oHeight, wHeight, tY - wY, tHeight);\n const left = axisPosition(oWidth, wWidth, tX - wX, tWidth);\n const start = isRTL ? 'right' : 'left';\n const position = { top, [start]: left };\n return fitPositionIntoSafeArea(position, layouts);\n};\n\nexport default class ContextMenu extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n scaleAnim: new Animated.Value(0.1),\n };\n }\n\n componentDidMount() {\n Animated.timing(this.state.scaleAnim, {\n duration: OPEN_ANIM_DURATION,\n toValue: 1,\n easing: Easing.out(Easing.cubic),\n useNativeDriver: USE_NATIVE_DRIVER,\n }).start();\n }\n\n close() {\n return new Promise(resolve => {\n Animated.timing(this.state.scaleAnim, {\n duration: CLOSE_ANIM_DURATION,\n toValue: 0,\n easing: Easing.in(Easing.cubic),\n useNativeDriver: USE_NATIVE_DRIVER,\n }).start(resolve);\n });\n }\n\n render() {\n const { style, children, layouts, ...other } = this.props;\n const animation = {\n transform: [ { scale: this.state.scaleAnim } ],\n opacity: this.state.scaleAnim,\n };\n const position = computePosition(layouts, I18nManager.isRTL);\n return (\n \n {children}\n \n );\n }\n\n}\n\n// public exports\nContextMenu.computePosition = computePosition;\nContextMenu.fitPositionIntoSafeArea = fitPositionIntoSafeArea;\n\nexport const styles = StyleSheet.create({\n options: {\n position: 'absolute',\n borderRadius: 2,\n backgroundColor: 'white',\n width: PixelRatio.roundToNearestPixel(200),\n\n // Shadow only works on iOS.\n shadowColor: 'black',\n shadowOpacity: 0.3,\n shadowOffset: { width: 3, height: 3 },\n shadowRadius: 4,\n\n // This will elevate the view on Android, causing shadow to be drawn.\n elevation: 5,\n },\n});\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { View } from 'react-native';\nimport MenuOptions from './MenuOptions';\nimport MenuTrigger from './MenuTrigger';\nimport ContextMenu from './renderers/ContextMenu';\nimport { makeName } from './helpers';\nimport { debug, CFG } from './logger';\nimport { withCtx } from './MenuProvider';\n\nconst isRegularComponent = c => c.type !== MenuOptions && c.type !== MenuTrigger;\nconst isTrigger = c => c.type === MenuTrigger;\nconst isMenuOptions = c => c.type === MenuOptions;\n\nexport class Menu extends Component {\n\n constructor(props) {\n super(props);\n this._name = this.props.name || makeName();\n this._forceClose = false;\n const { ctx } = props;\n if(!(ctx && ctx.menuActions)) {\n throw new Error(\"Menu component must be ancestor of MenuProvider\");\n }\n }\n\n componentDidMount() {\n if (!this._validateChildren()) {\n return;\n }\n debug('subscribing menu', this._name);\n this.props.ctx.menuRegistry.subscribe(this);\n this.props.ctx.menuActions._notify();\n }\n\n componentDidUpdate(prevProps) {\n if (this.props.name !== prevProps.name) {\n console.warn('Menu name cannot be changed');\n }\n // force update if menu is opened as its content might have changed\n const force = this._isOpen();\n debug('component did update', this._name, force);\n this.props.ctx.menuActions._notify(force);\n }\n\n componentWillUnmount() {\n debug('unsubscribing menu', this._name);\n if (this._isOpen()) {\n this._forceClose = true;\n this.props.ctx.menuActions._notify();\n }\n this.props.ctx.menuRegistry.unsubscribe(this);\n }\n\n open() {\n return this.props.ctx.menuActions.openMenu(this._name);\n }\n\n close() {\n return this.props.ctx.menuActions.closeMenu();\n }\n\n getName() {\n return this._name;\n }\n\n render() {\n const { style } = this.props;\n const children = this._reduceChildren();\n return (\n \n {children}\n \n );\n }\n\n _reduceChildren() {\n return React.Children.toArray(this.props.children).reduce((r, child) => {\n if (isTrigger(child)) {\n r.push(React.cloneElement(child, {\n key: null,\n menuName: this._name,\n onRef: (t => this._trigger = t),\n }));\n }\n if (isRegularComponent(child)) {\n r.push(child);\n }\n return r;\n }, []);\n }\n\n _isOpen() {\n if (this._forceClose) {\n return false;\n }\n return this.props.hasOwnProperty('opened') ? this.props.opened : this._opened;\n }\n\n _getTrigger() {\n return this._trigger;\n }\n\n _getOptions() {\n return React.Children.toArray(this.props.children).find(isMenuOptions);\n }\n\n _getOpened() {\n return this._opened;\n }\n\n _setOpened(opened) {\n this._opened = opened;\n }\n\n _validateChildren() {\n const children = React.Children.toArray(this.props.children);\n const options = children.find(isMenuOptions);\n if (!options) {\n console.warn('Menu has to contain MenuOptions component');\n }\n const trigger = children.find(isTrigger);\n if (!trigger) {\n console.warn('Menu has to contain MenuTrigger component');\n }\n return options && trigger;\n }\n\n}\n\nMenu.propTypes = {\n name: PropTypes.string,\n renderer: PropTypes.func,\n rendererProps: PropTypes.object,\n onSelect: PropTypes.func,\n onOpen: PropTypes.func,\n onClose: PropTypes.func,\n opened: PropTypes.bool,\n onBackdropPress: PropTypes.func,\n};\n\nMenu.defaultProps = {\n renderer: ContextMenu,\n rendererProps: {},\n onSelect: () => {},\n onOpen: () => {},\n onClose: () => {},\n onBackdropPress: () => {},\n};\n\nconst MenuExternal = withCtx(Menu);\nObject.defineProperty(MenuExternal, 'debug', \n { \n get: function() { return CFG.debug }, \n set: function(val) { CFG.debug = val }, \n });\nMenuExternal.setDefaultRenderer = (renderer) => {\n Menu.defaultProps.renderer = renderer;\n}\nMenuExternal.setDefaultRendererProps = (rendererProps) => {\n Menu.defaultProps.rendererProps = rendererProps;\n}\nexport default MenuExternal;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { View, StyleSheet, Text } from 'react-native';\nimport { debug } from './logger';\nimport { makeTouchable } from './helpers';\nimport { withCtx } from './MenuProvider';\n\n\nexport class MenuOption extends Component {\n\n _onSelect() {\n const { value } = this.props;\n const onSelect = this.props.onSelect || this._getMenusOnSelect()\n const shouldClose = onSelect(value) !== false;\n debug('select option', value, shouldClose);\n if (shouldClose) {\n this.props.ctx.menuActions.closeMenu();\n }\n }\n\n _getMenusOnSelect() {\n const menu = this.props.ctx.menuActions._getOpenedMenu();\n return menu.instance.props.onSelect;\n }\n\n _getCustomStyles() {\n // FIXME react 16.3 workaround for ControlledExample!\n const menu = this.props.ctx.menuActions._getOpenedMenu() || {}\n const { optionsCustomStyles } = menu;\n return {\n ...optionsCustomStyles,\n ...this.props.customStyles,\n }\n }\n\n render() {\n const { text, disabled, disableTouchable, children, style } = this.props;\n const customStyles = this._getCustomStyles()\n if (text && React.Children.count(children) > 0) {\n console.warn(\"MenuOption: Please don't use text property together with explicit children. Children are ignored.\");\n }\n if (disabled) {\n const disabledStyles = [defaultStyles.optionTextDisabled, customStyles.optionText];\n return (\n \n {text ? {text} : children}\n \n );\n }\n const rendered = (\n \n {text ? {text} : children}\n \n );\n if (disableTouchable) {\n return rendered;\n }\n else {\n const { Touchable, defaultTouchableProps } = makeTouchable(customStyles.OptionTouchableComponent);\n return (\n this._onSelect()}\n {...defaultTouchableProps}\n {...customStyles.optionTouchable}\n >\n {rendered}\n \n );\n }\n }\n}\n\nMenuOption.propTypes = {\n disabled: PropTypes.bool,\n disableTouchable: PropTypes.bool,\n onSelect: PropTypes.func,\n text: PropTypes.string,\n value: PropTypes.any,\n customStyles: PropTypes.object,\n};\n\nMenuOption.defaultProps = {\n disabled: false,\n disableTouchable: false,\n customStyles: {},\n};\n\nconst defaultStyles = StyleSheet.create({\n option: {\n padding: 5,\n backgroundColor: 'transparent',\n },\n optionTextDisabled: {\n color: '#ccc',\n },\n});\n\nexport default withCtx(MenuOption);\n","import React from 'react';\nimport { View } from 'react-native';\n\nimport { computePosition, styles } from './ContextMenu';\n\n/**\nSimplified version of ContextMenu without animation.\n*/\nexport default class NotAnimatedContextMenu extends React.Component {\n\n render() {\n const { style, children, layouts, ...other } = this.props;\n const position = computePosition(layouts);\n return (\n \n {children}\n \n );\n }\n\n}\n","import React from 'react';\nimport { Animated, StyleSheet, Easing } from 'react-native';\nimport { OPEN_ANIM_DURATION, CLOSE_ANIM_DURATION, USE_NATIVE_DRIVER } from '../constants';\n\nexport const computePosition = (layouts) => {\n const { windowLayout, optionsLayout } = layouts\n const { height: wHeight } = windowLayout;\n const { height: oHeight } = optionsLayout;\n const top = wHeight - oHeight;\n const left = 0, right = 0;\n const position = { top, left, right };\n // TODO what is the best way to handle safeArea?\n // most likely some extra paddings inside SlideInMenu \n return position;\n}\n\nexport default class SlideInMenu extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n slide: new Animated.Value(0),\n };\n }\n\n componentDidMount() {\n Animated.timing(this.state.slide, {\n duration: OPEN_ANIM_DURATION,\n toValue: 1,\n easing: Easing.out(Easing.cubic),\n useNativeDriver: USE_NATIVE_DRIVER,\n }).start();\n }\n\n close() {\n return new Promise(resolve => {\n Animated.timing(this.state.slide, {\n duration: CLOSE_ANIM_DURATION,\n toValue: 0,\n easing: Easing.in(Easing.cubic),\n useNativeDriver: USE_NATIVE_DRIVER,\n }).start(resolve);\n });\n }\n\n render() {\n const { style, children, layouts, ...other } = this.props;\n const { height: oHeight } = layouts.optionsLayout;\n const animation = {\n transform: [{\n translateY: this.state.slide.interpolate({\n inputRange: [0, 1],\n outputRange: [oHeight, 0],\n }),\n }],\n };\n const position = computePosition(layouts);\n return (\n \n {children}\n \n );\n }\n}\n\nconst styles = StyleSheet.create({\n options: {\n position: 'absolute',\n backgroundColor: 'white',\n\n // Shadow only works on iOS.\n shadowColor: 'black',\n shadowOpacity: 0.3,\n shadowOffset: { width: 3, height: 3 },\n shadowRadius: 4,\n\n // This will elevate the view on Android, causing shadow to be drawn.\n elevation: 5,\n },\n});\n","import { I18nManager, Animated, Easing, StyleSheet, View } from 'react-native';\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { OPEN_ANIM_DURATION, CLOSE_ANIM_DURATION, USE_NATIVE_DRIVER } from '../constants.js';\n\nconst popoverPadding = 7;\nconst anchorSize = 15;\nconst anchorHyp = Math.sqrt(anchorSize*anchorSize + anchorSize*anchorSize);\nconst anchorOffset = (anchorHyp + anchorSize) / 2 - popoverPadding;\n\n// left/top placement\nfunction axisNegativeSideProperties({ oDim, tPos }) {\n return { position: tPos - oDim };\n}\n\n// right/bottom placement\nfunction axisPositiveSideProperties({ tPos, tDim }) {\n // substract also anchor placeholder from the beginning\n return { position: tPos + tDim - anchorSize };\n}\n\n// computes offsets (off screen overlap) of popover when trying to align it to the center\nfunction centeringProperties({ oDim, wDim, tPos, tDim }) {\n const center = Math.round(tPos + (tDim / 2));\n const leftOffset = (oDim / 2) - center;\n const rightOffset = center + (oDim / 2) - wDim;\n return { center, leftOffset, rightOffset };\n}\n\n/**\n * Computes position and offset of popover when trying to align it to the triger center.\n * It consideres window boundaries.\n * Returns object with keys:\n * - position: Absolute position - top/left,\n * - offset: window overlapping size if window boundaries were not considered\n */\nfunction axisCenteredPositionProperties(options) {\n const { oDim, wDim } = options;\n const { center, leftOffset, rightOffset } = centeringProperties(options);\n if (leftOffset > 0 || rightOffset > 0) {\n // right/bottom position is better\n if (leftOffset < rightOffset) {\n return { offset: rightOffset, position: wDim - oDim };\n }\n // left/top position is better\n if (rightOffset < leftOffset) {\n return { offset: -leftOffset, position: 0 };\n }\n }\n // centered position\n return { offset: 0, position: center - oDim / 2 };\n}\n\n/* Evaluate centering placement */\nfunction getCenteringPrice(options) {\n const { leftOffset, rightOffset } = centeringProperties(options);\n // TODO: currently shifted popovers have higher price,\n // popover shift could be taken into account with the same price\n return Math.max(0, leftOffset) + Math.max(0, rightOffset);\n}\n\n/* Evaluate top placement */\nfunction getTopPrice(hOptions, vOptions) {\n const centerOffset = getCenteringPrice(vOptions)\n const sideOffset = Math.max(0, hOptions.oDim - hOptions.tPos)\n return centerOffset + sideOffset\n}\n\n/* Evaluate bottom placement */\nfunction getBottomPrice(hOptions, vOptions) {\n const centerOffset = getCenteringPrice(vOptions)\n const sideOffset = Math.max(0, hOptions.tPos + hOptions.tDim + hOptions.oDim - hOptions.wDim)\n return centerOffset + sideOffset\n}\n\n/* Evaluate left placement */\nfunction getLeftPrice(hOptions, vOptions) {\n const centerOffset = getCenteringPrice(hOptions)\n const sideOffset = Math.max(0, vOptions.oDim - vOptions.tPos)\n return centerOffset + sideOffset\n}\n\n/* Evaluate right placement */\nfunction getRightPrice(hOptions, vOptions) {\n const centerOffset = getCenteringPrice(hOptions)\n const sideOffset = Math.max(0, vOptions.tPos + vOptions.tDim + vOptions.oDim - vOptions.wDim)\n return centerOffset + sideOffset\n}\n\nfunction getStartPosKey(isRTL) {\n return isRTL ? 'right' : 'left';\n}\n\nfunction topProperties(hOptions, vOptions, isRTL) {\n const centered = axisCenteredPositionProperties(vOptions);\n const side = axisNegativeSideProperties(hOptions);\n return {\n position: {\n top: side.position,\n [getStartPosKey(isRTL)]: centered.position,\n },\n offset: centered.offset,\n placement: 'top',\n };\n}\n\nfunction bottomProperties(hOptions, vOptions, isRTL) {\n const centered = axisCenteredPositionProperties(vOptions);\n const side = axisPositiveSideProperties(hOptions);\n return {\n position: {\n top: side.position,\n [getStartPosKey(isRTL)]: centered.position,\n },\n offset: centered.offset,\n placement: 'bottom',\n };\n}\n\nfunction rightProperties(hOptions, vOptions, isRTL) {\n const centered = axisCenteredPositionProperties(hOptions);\n const side = axisPositiveSideProperties(vOptions);\n return {\n position: {\n top: centered.position,\n [getStartPosKey(isRTL)]: side.position,\n },\n offset: centered.offset,\n placement: 'right',\n };\n}\n\nfunction leftProperties(hOptions, vOptions, isRTL) {\n const centered = axisCenteredPositionProperties(hOptions);\n const side = axisNegativeSideProperties(vOptions);\n return {\n position: {\n top: centered.position,\n [getStartPosKey(isRTL)]: side.position,\n },\n offset: centered.offset,\n placement: 'left',\n };\n}\n\n// maps placement to function which computes correct properties\nconst propertiesByPlacement = {\n top: topProperties,\n bottom: bottomProperties,\n left: leftProperties,\n right: rightProperties,\n};\n\n/**\n * Computes properties needed for drawing popover.\n * Returns object with keys:\n * - position: { top: Number, left: Number } - popover absolute position\n * - placement: top|left|top|bottom - position to the trigger\n * - offset: value by which must be anchor shifted\n */\nexport function computeProperties (\n { windowLayout, triggerLayout, optionsLayout },\n placement,\n preferredPlacement,\n isRTL,\n) {\n const { x: wX, y: wY, width: wWidth, height: wHeight } = windowLayout;\n const { x: tX, y: tY, height: tHeight, width: tWidth } = triggerLayout;\n const { height: oHeight, width: oWidth } = optionsLayout;\n const hOptions = {\n oDim: oHeight + popoverPadding * 2,\n wDim: wHeight,\n tPos: tY - wY,\n tDim: tHeight,\n };\n const vOptions = {\n oDim: oWidth + popoverPadding * 2,\n wDim: wWidth,\n tPos: tX - wX,\n tDim: tWidth,\n };\n if (placement !== 'auto' && propertiesByPlacement[placement]) {\n return propertiesByPlacement[placement](hOptions, vOptions, isRTL)\n }\n\n const prices = {\n top: getTopPrice(hOptions, vOptions),\n bottom: getBottomPrice(hOptions, vOptions),\n right: getRightPrice(hOptions, vOptions),\n left: getLeftPrice(hOptions, vOptions),\n };\n const bestPrice = Object.values(prices).sort((a, b) => a - b)[0]\n const bestPlacement = prices[preferredPlacement] === bestPrice\n ? preferredPlacement\n : Object.keys(prices).find(pl => prices[pl] === bestPrice)\n\n return propertiesByPlacement[bestPlacement](hOptions, vOptions, isRTL)\n}\n\nexport default class Popover extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n scaleAnim: new Animated.Value(0.1),\n };\n }\n\n componentDidMount() {\n Animated.timing(this.state.scaleAnim, {\n duration: OPEN_ANIM_DURATION,\n toValue: 1,\n easing: Easing.out(Easing.cubic),\n useNativeDriver: USE_NATIVE_DRIVER,\n }).start();\n }\n\n close() {\n return new Promise(resolve => {\n Animated.timing(this.state.scaleAnim, {\n duration: CLOSE_ANIM_DURATION,\n toValue: 0,\n easing: Easing.in(Easing.cubic),\n useNativeDriver: USE_NATIVE_DRIVER,\n }).start(resolve);\n });\n }\n\n render() {\n const {\n style,\n children,\n layouts,\n anchorStyle,\n preferredPlacement,\n placement: userPlacement,\n ...other\n } = this.props;\n const isRTL = I18nManager.isRTL;\n const animation = {\n transform: [ { scale: this.state.scaleAnim } ],\n opacity: this.state.scaleAnim,\n };\n const { position, placement, offset } = computeProperties(\n layouts,\n userPlacement,\n preferredPlacement,\n isRTL,\n );\n return (\n \n \n \n {children}\n \n \n );\n }\n\n}\n\nPopover.propTypes = {\n anchorStyle: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.number,\n PropTypes.array,\n ]),\n placement: PropTypes.oneOf(['auto', 'top', 'right', 'bottom', 'left']),\n preferredPlacement: PropTypes.oneOf(['top', 'right', 'bottom', 'left']),\n};\n\nPopover.defaultProps = {\n preferredPlacement: 'top',\n placement: 'auto',\n};\n\nconst getContainerStyle = ({ placement, isRTL }) => ({\n left: {\n flexDirection: isRTL ? 'row' : 'row-reverse',\n },\n right: {\n flexDirection: isRTL ? 'row-reverse' : 'row',\n },\n top: {\n flexDirection: 'column-reverse',\n },\n bottom: {\n flexDirection: 'column',\n },\n})[placement]\n\nconst dynamicAnchorStyle = ({ offset, placement, isRTL }) => {\n const start = getStartPosKey(isRTL);\n switch (placement) {\n case 'right':\n return {\n top: offset,\n transform: [\n { translateX: anchorOffset },\n { rotate: '45deg' },\n ],\n };\n case 'left':\n return {\n top: offset,\n transform: [\n { translateX: -anchorOffset },\n { rotate: '45deg' },\n ],\n };\n case 'top':\n return {\n [start]: offset,\n transform: [\n { translateY: -anchorOffset },\n { rotate: '45deg' },\n ],\n };\n case 'bottom':\n return {\n [start]: offset,\n transform: [\n { translateY: anchorOffset },\n { rotate: '45deg' },\n ],\n };\n }\n}\n\nexport const styles = StyleSheet.create({\n animated: {\n padding: popoverPadding,\n backgroundColor: 'transparent',\n position: 'absolute',\n alignItems: 'center',\n },\n options: {\n borderRadius: 2,\n minWidth: anchorHyp,\n minHeight: anchorHyp,\n backgroundColor: 'white',\n\n // Shadow only works on iOS.\n shadowColor: 'black',\n shadowOpacity: 0.3,\n shadowOffset: { width: 3, height: 3 },\n shadowRadius: 4,\n\n // This will elevate the view on Android, causing shadow to be drawn.\n elevation: 5,\n },\n anchor: {\n width: anchorSize,\n height: anchorSize,\n backgroundColor: 'white',\n elevation: 5,\n },\n});\n","import './polyfills';\nimport { deprecatedComponent } from './helpers'\n\nimport Menu from './Menu';\nimport MenuProvider, { withCtx } from './MenuProvider';\nimport MenuOption from './MenuOption';\nimport MenuOptions from './MenuOptions';\nimport MenuTrigger from './MenuTrigger';\n\nimport ContextMenu from './renderers/ContextMenu';\nimport NotAnimatedContextMenu from './renderers/NotAnimatedContextMenu';\nimport SlideInMenu from './renderers/SlideInMenu';\nimport Popover from './renderers/Popover';\nconst renderers = { ContextMenu, SlideInMenu, NotAnimatedContextMenu, Popover };\n\nconst MenuContext = deprecatedComponent(\n 'MenuContext is deprecated and it might be removed in future releases, use MenuProvider instead.',\n ['openMenu', 'toggleMenu', 'closeMenu', 'isMenuOpen'],\n)(MenuProvider);\n\nexport {\n Menu as default,\n Menu,\n MenuProvider,\n MenuContext,\n MenuOption,\n MenuOptions,\n MenuTrigger,\n renderers,\n withCtx as withMenuContext,\n};\n"],"names":["Platform","select","obj","OS","measure","ref","Promise","resolve","x","y","width","height","pageX","pageY","makeName","nextID","makeTouchable","TouchableComponent","Touchable","android","TouchableNativeFeedback","ios","TouchableHighlight","default","defaultTouchableProps","underlayColor","iterator2array","it","arr","next","done","push","value","deprecatedComponent","message","methods","deprecatedComponentHOC","Component","args","forEach","name","React","props","onRef","console","warn","require$$0","ReactPropTypesSecret","has","printWarning","ReactIs","assign","checkPropTypes","require$$1","withContext","Context","propName","wrap","EnhanceContext","forwardedRef","rest","custom","displayName","consumerName","Consumer","enhanceForwardRef","FC","forwardRef","defaultProps","propTypes","makeMenuRegistry","menus","Map","subscribe","instance","getName","get","set","unsubscribe","delete","updateLayoutInfo","layouts","menu","Object","hasOwnProperty","triggerLayout","optionsLayout","setOptionsCustomStyles","optionsCustomStyles","getMenu","getAll","values","OPEN_ANIM_DURATION","CLOSE_ANIM_DURATION","USE_NATIVE_DRIVER","Backdrop","fadeAnim","Animated","Value","timing","duration","toValue","useNativeDriver","start","onPress","style","TouchableWithoutFeedback","styles","fullscreen","opacity","View","PropTypes","func","isRequired","StyleSheet","create","position","top","left","bottom","right","CFG","debug","log","MenuPlaceholder","state","ctx","_isMenuClosing","backdropStyles","shouldRenderMenu","isMenuOpen","_isInitialized","placeholder","_onBackdropPress","onBackdropRef","_makeOptions","overflow","computePosition","windowLayout","MenuOutside","children","other","options","defaultOptionsContainerRenderer","layoutsEqual","a","b","isFunctional","prototype","render","Error","PopupMenuContext","createContext","withCtx","instanceCount","MenuProvider","backHandler","closeMenu","r","backdropRef","optionsRef","_placeholderRef","_getOpenedMenu","onBackdropPress","layout","nativeEvent","_ownLayout","trigger","_getTrigger","then","_menuRegistry","_notify","_safeAreaLayout","menuActions","openMenu","toggleMenu","force","menuCtx","menuRegistry","BackHandler","addEventListener","_handleBackButton","customStyles","skipInstanceCheck","menuContextWrapper","removeEventListener","_setOpened","filter","_getOpened","_isOpen","undefined","hideMenu","close","hideBackdrop","_invalidateTriggerLayouts","all","catch","err","forceUpdate","NULL","prev","openedMenu","find","_isRenderNeeded","afterSetState","beforeSetState","_beforeClose","onClose","onOpen","_initOpen","setState","openedMenuName","flex1","_onLayout","menuProviderWrapper","SafeAreaView","safeArea","_onSafeAreaLayout","backdrop","_onPlaceholderRef","open","e","isOutside","_getOptions","renderer","rendererProps","safeAreaLayout","optionsContainerStyle","renderOptionsContainer","optionsRenderer","onLayout","_onOptionsLayout","optionsContainer","optionsType","onOptionsRef","createElement","object","oneOfType","bool","flex","MenuOptions","_props","menuName","updateCustomStyles","optionsWrapper","number","array","MenuTrigger","disabled","text","triggerOnLongPress","_onPress","TriggerTouchableComponent","triggerOuterWrapper","triggerTouchable","triggerWrapper","Text","triggerText","string","axisPosition","oDim","wDim","tPos","tDim","pos","Math","round","fit","len","minPos","maxPos","fitPositionIntoSafeArea","saX","saY","saHeight","saWidth","oHeight","oWidth","wWidth","isRTL","wX","wY","wHeight","tX","tY","tHeight","tWidth","ContextMenu","scaleAnim","easing","Easing","out","cubic","in","animation","transform","scale","I18nManager","borderRadius","backgroundColor","PixelRatio","roundToNearestPixel","shadowColor","shadowOpacity","shadowOffset","shadowRadius","elevation","isRegularComponent","c","type","isTrigger","isMenuOptions","Menu","_name","_forceClose","_validateChildren","prevProps","_reduceChildren","Children","toArray","reduce","child","cloneElement","key","t","_trigger","opened","_opened","onSelect","MenuExternal","defineProperty","val","setDefaultRenderer","setDefaultRendererProps","MenuOption","_getMenusOnSelect","shouldClose","disableTouchable","_getCustomStyles","count","disabledStyles","defaultStyles","optionTextDisabled","optionText","option","optionWrapper","rendered","OptionTouchableComponent","_onSelect","optionTouchable","any","padding","color","NotAnimatedContextMenu","SlideInMenu","slide","translateY","interpolate","inputRange","outputRange","popoverPadding","anchorSize","anchorHyp","sqrt","anchorOffset","axisNegativeSideProperties","axisPositiveSideProperties","centeringProperties","center","leftOffset","rightOffset","axisCenteredPositionProperties","offset","getCenteringPrice","max","getTopPrice","hOptions","vOptions","centerOffset","sideOffset","getBottomPrice","getLeftPrice","getRightPrice","getStartPosKey","topProperties","centered","side","placement","bottomProperties","rightProperties","leftProperties","propertiesByPlacement","computeProperties","preferredPlacement","prices","bestPrice","sort","bestPlacement","keys","pl","Popover","anchorStyle","userPlacement","animated","getContainerStyle","anchor","dynamicAnchorStyle","oneOf","flexDirection","translateX","rotate","alignItems","minWidth","minHeight","renderers","MenuContext"],"mappings":"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"} \ No newline at end of file diff --git a/package.json b/package.json index f40660d..7202e60 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-native-popup-menu", - "version": "0.15.2", + "version": "0.15.4", "description": "extensible popup/context menu for react native", "main": "build/rnpm.js", "directories": {