react-card-flip
Advanced tools
Comparing version 0.0.8 to 0.1.0
(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.ReactCardFlip = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){ | ||
"use strict"; | ||
/** | ||
* Copyright (c) 2013-present, Facebook, Inc. | ||
* All rights reserved. | ||
* | ||
* This source code is licensed under the BSD-style license found in the | ||
* LICENSE file in the root directory of this source tree. An additional grant | ||
* of patent rights can be found in the PATENTS file in the same directory. | ||
* | ||
* | ||
*/ | ||
function makeEmptyFunction(arg) { | ||
return function () { | ||
return arg; | ||
}; | ||
} | ||
/** | ||
* This function accepts and discards inputs; it has no side effects. This is | ||
* primarily useful idiomatically for overridable function endpoints which | ||
* always need to be callable, since JS lacks a null-call idiom ala Cocoa. | ||
*/ | ||
var emptyFunction = function emptyFunction() {}; | ||
emptyFunction.thatReturns = makeEmptyFunction; | ||
emptyFunction.thatReturnsFalse = makeEmptyFunction(false); | ||
emptyFunction.thatReturnsTrue = makeEmptyFunction(true); | ||
emptyFunction.thatReturnsNull = makeEmptyFunction(null); | ||
emptyFunction.thatReturnsThis = function () { | ||
return this; | ||
}; | ||
emptyFunction.thatReturnsArgument = function (arg) { | ||
return arg; | ||
}; | ||
module.exports = emptyFunction; | ||
},{}],2:[function(require,module,exports){ | ||
/** | ||
* Copyright (c) 2013-present, Facebook, Inc. | ||
* All rights reserved. | ||
* | ||
* This source code is licensed under the BSD-style license found in the | ||
* LICENSE file in the root directory of this source tree. An additional grant | ||
* of patent rights can be found in the PATENTS file in the same directory. | ||
* | ||
*/ | ||
'use strict'; | ||
/** | ||
* Use invariant() to assert state which your program assumes to be true. | ||
* | ||
* Provide sprintf-style format (only %s is supported) and arguments | ||
* to provide information about what broke and what you were | ||
* expecting. | ||
* | ||
* The invariant message will be stripped in production, but the invariant | ||
* will remain to ensure logic does not differ in production. | ||
*/ | ||
var validateFormat = function validateFormat(format) {}; | ||
if ("production" !== 'production') { | ||
validateFormat = function validateFormat(format) { | ||
if (format === undefined) { | ||
throw new Error('invariant requires an error message argument'); | ||
} | ||
}; | ||
} | ||
function invariant(condition, format, a, b, c, d, e, f) { | ||
validateFormat(format); | ||
if (!condition) { | ||
var error; | ||
if (format === undefined) { | ||
error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.'); | ||
} else { | ||
var args = [a, b, c, d, e, f]; | ||
var argIndex = 0; | ||
error = new Error(format.replace(/%s/g, function () { | ||
return args[argIndex++]; | ||
})); | ||
error.name = 'Invariant Violation'; | ||
} | ||
error.framesToPop = 1; // we don't care about invariant's own frame | ||
throw error; | ||
} | ||
} | ||
module.exports = invariant; | ||
},{}],3:[function(require,module,exports){ | ||
/** | ||
* Copyright 2014-2015, Facebook, Inc. | ||
* All rights reserved. | ||
* | ||
* This source code is licensed under the BSD-style license found in the | ||
* LICENSE file in the root directory of this source tree. An additional grant | ||
* of patent rights can be found in the PATENTS file in the same directory. | ||
* | ||
*/ | ||
'use strict'; | ||
var emptyFunction = require('./emptyFunction'); | ||
/** | ||
* Similar to invariant but only logs a warning if the condition is not met. | ||
* This can be used to log issues in development environments in critical | ||
* paths. Removing the logging code for production environments will keep the | ||
* same logic and follow the same code paths. | ||
*/ | ||
var warning = emptyFunction; | ||
if ("production" !== 'production') { | ||
(function () { | ||
var printWarning = function printWarning(format) { | ||
for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { | ||
args[_key - 1] = arguments[_key]; | ||
} | ||
var argIndex = 0; | ||
var message = 'Warning: ' + format.replace(/%s/g, function () { | ||
return args[argIndex++]; | ||
}); | ||
if (typeof console !== 'undefined') { | ||
console.error(message); | ||
} | ||
try { | ||
// --- Welcome to debugging React --- | ||
// This error was thrown as a convenience so that you can use this stack | ||
// to find the callsite that caused this warning to fire. | ||
throw new Error(message); | ||
} catch (x) {} | ||
}; | ||
warning = function warning(condition, format) { | ||
if (format === undefined) { | ||
throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument'); | ||
} | ||
if (format.indexOf('Failed Composite propType: ') === 0) { | ||
return; // Ignore CompositeComponent proptype check. | ||
} | ||
if (!condition) { | ||
for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) { | ||
args[_key2 - 2] = arguments[_key2]; | ||
} | ||
printWarning.apply(undefined, [format].concat(args)); | ||
} | ||
}; | ||
})(); | ||
} | ||
module.exports = warning; | ||
},{"./emptyFunction":1}],4:[function(require,module,exports){ | ||
/** | ||
* Copyright 2013-present, Facebook, Inc. | ||
* All rights reserved. | ||
* | ||
* This source code is licensed under the BSD-style license found in the | ||
* LICENSE file in the root directory of this source tree. An additional grant | ||
* of patent rights can be found in the PATENTS file in the same directory. | ||
*/ | ||
'use strict'; | ||
if ("production" !== 'production') { | ||
var invariant = require('fbjs/lib/invariant'); | ||
var warning = require('fbjs/lib/warning'); | ||
var ReactPropTypesSecret = require('./lib/ReactPropTypesSecret'); | ||
var loggedTypeFailures = {}; | ||
} | ||
/** | ||
* Assert that the values match with the type specs. | ||
* Error messages are memorized and will only be shown once. | ||
* | ||
* @param {object} typeSpecs Map of name to a ReactPropType | ||
* @param {object} values Runtime values that need to be type-checked | ||
* @param {string} location e.g. "prop", "context", "child context" | ||
* @param {string} componentName Name of the component for error messages. | ||
* @param {?Function} getStack Returns the component stack. | ||
* @private | ||
*/ | ||
function checkPropTypes(typeSpecs, values, location, componentName, getStack) { | ||
if ("production" !== 'production') { | ||
for (var typeSpecName in typeSpecs) { | ||
if (typeSpecs.hasOwnProperty(typeSpecName)) { | ||
var error; | ||
// Prop type validation may throw. In case they do, we don't want to | ||
// fail the render phase where it didn't fail before. So we log it. | ||
// After these have been cleaned up, we'll let them throw. | ||
try { | ||
// This is intentionally an invariant that gets caught. It's the same | ||
// behavior as without this statement except with a better message. | ||
invariant(typeof typeSpecs[typeSpecName] === 'function', '%s: %s type `%s` is invalid; it must be a function, usually from ' + 'React.PropTypes.', componentName || 'React class', location, typeSpecName); | ||
error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret); | ||
} catch (ex) { | ||
error = ex; | ||
} | ||
warning(!error || error instanceof Error, '%s: type specification of %s `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error); | ||
if (error instanceof Error && !(error.message in loggedTypeFailures)) { | ||
// Only monitor this failure once because there tends to be a lot of the | ||
// same error. | ||
loggedTypeFailures[error.message] = true; | ||
var stack = getStack ? getStack() : ''; | ||
warning(false, 'Failed %s type: %s%s', location, error.message, stack != null ? stack : ''); | ||
} | ||
} | ||
} | ||
} | ||
} | ||
module.exports = checkPropTypes; | ||
},{"./lib/ReactPropTypesSecret":8,"fbjs/lib/invariant":2,"fbjs/lib/warning":3}],5:[function(require,module,exports){ | ||
/** | ||
* Copyright 2013-present, Facebook, Inc. | ||
* All rights reserved. | ||
* | ||
* This source code is licensed under the BSD-style license found in the | ||
* LICENSE file in the root directory of this source tree. An additional grant | ||
* of patent rights can be found in the PATENTS file in the same directory. | ||
*/ | ||
'use strict'; | ||
var emptyFunction = require('fbjs/lib/emptyFunction'); | ||
var invariant = require('fbjs/lib/invariant'); | ||
var ReactPropTypesSecret = require('./lib/ReactPropTypesSecret'); | ||
module.exports = function() { | ||
function shim(props, propName, componentName, location, propFullName, secret) { | ||
if (secret === ReactPropTypesSecret) { | ||
// It is still safe when called from React. | ||
return; | ||
} | ||
invariant( | ||
false, | ||
'Calling PropTypes validators directly is not supported by the `prop-types` package. ' + | ||
'Use PropTypes.checkPropTypes() to call them. ' + | ||
'Read more at http://fb.me/use-check-prop-types' | ||
); | ||
}; | ||
shim.isRequired = shim; | ||
function getShim() { | ||
return shim; | ||
}; | ||
// Important! | ||
// Keep this list in sync with production version in `./factoryWithTypeCheckers.js`. | ||
var ReactPropTypes = { | ||
array: shim, | ||
bool: shim, | ||
func: shim, | ||
number: shim, | ||
object: shim, | ||
string: shim, | ||
symbol: shim, | ||
any: shim, | ||
arrayOf: getShim, | ||
element: shim, | ||
instanceOf: getShim, | ||
node: shim, | ||
objectOf: getShim, | ||
oneOf: getShim, | ||
oneOfType: getShim, | ||
shape: getShim | ||
}; | ||
ReactPropTypes.checkPropTypes = emptyFunction; | ||
ReactPropTypes.PropTypes = ReactPropTypes; | ||
return ReactPropTypes; | ||
}; | ||
},{"./lib/ReactPropTypesSecret":8,"fbjs/lib/emptyFunction":1,"fbjs/lib/invariant":2}],6:[function(require,module,exports){ | ||
/** | ||
* Copyright 2013-present, Facebook, Inc. | ||
* All rights reserved. | ||
* | ||
* This source code is licensed under the BSD-style license found in the | ||
* LICENSE file in the root directory of this source tree. An additional grant | ||
* of patent rights can be found in the PATENTS file in the same directory. | ||
*/ | ||
'use strict'; | ||
var emptyFunction = require('fbjs/lib/emptyFunction'); | ||
var invariant = require('fbjs/lib/invariant'); | ||
var warning = require('fbjs/lib/warning'); | ||
var ReactPropTypesSecret = require('./lib/ReactPropTypesSecret'); | ||
var checkPropTypes = require('./checkPropTypes'); | ||
module.exports = function(isValidElement, throwOnDirectAccess) { | ||
/* global Symbol */ | ||
var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator; | ||
var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec. | ||
/** | ||
* Returns the iterator method function contained on the iterable object. | ||
* | ||
* Be sure to invoke the function with the iterable as context: | ||
* | ||
* var iteratorFn = getIteratorFn(myIterable); | ||
* if (iteratorFn) { | ||
* var iterator = iteratorFn.call(myIterable); | ||
* ... | ||
* } | ||
* | ||
* @param {?object} maybeIterable | ||
* @return {?function} | ||
*/ | ||
function getIteratorFn(maybeIterable) { | ||
var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]); | ||
if (typeof iteratorFn === 'function') { | ||
return iteratorFn; | ||
} | ||
} | ||
/** | ||
* Collection of methods that allow declaration and validation of props that are | ||
* supplied to React components. Example usage: | ||
* | ||
* var Props = require('ReactPropTypes'); | ||
* var MyArticle = React.createClass({ | ||
* propTypes: { | ||
* // An optional string prop named "description". | ||
* description: Props.string, | ||
* | ||
* // A required enum prop named "category". | ||
* category: Props.oneOf(['News','Photos']).isRequired, | ||
* | ||
* // A prop named "dialog" that requires an instance of Dialog. | ||
* dialog: Props.instanceOf(Dialog).isRequired | ||
* }, | ||
* render: function() { ... } | ||
* }); | ||
* | ||
* A more formal specification of how these methods are used: | ||
* | ||
* type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...) | ||
* decl := ReactPropTypes.{type}(.isRequired)? | ||
* | ||
* Each and every declaration produces a function with the same signature. This | ||
* allows the creation of custom validation functions. For example: | ||
* | ||
* var MyLink = React.createClass({ | ||
* propTypes: { | ||
* // An optional string or URI prop named "href". | ||
* href: function(props, propName, componentName) { | ||
* var propValue = props[propName]; | ||
* if (propValue != null && typeof propValue !== 'string' && | ||
* !(propValue instanceof URI)) { | ||
* return new Error( | ||
* 'Expected a string or an URI for ' + propName + ' in ' + | ||
* componentName | ||
* ); | ||
* } | ||
* } | ||
* }, | ||
* render: function() {...} | ||
* }); | ||
* | ||
* @internal | ||
*/ | ||
var ANONYMOUS = '<<anonymous>>'; | ||
// Important! | ||
// Keep this list in sync with production version in `./factoryWithThrowingShims.js`. | ||
var ReactPropTypes = { | ||
array: createPrimitiveTypeChecker('array'), | ||
bool: createPrimitiveTypeChecker('boolean'), | ||
func: createPrimitiveTypeChecker('function'), | ||
number: createPrimitiveTypeChecker('number'), | ||
object: createPrimitiveTypeChecker('object'), | ||
string: createPrimitiveTypeChecker('string'), | ||
symbol: createPrimitiveTypeChecker('symbol'), | ||
any: createAnyTypeChecker(), | ||
arrayOf: createArrayOfTypeChecker, | ||
element: createElementTypeChecker(), | ||
instanceOf: createInstanceTypeChecker, | ||
node: createNodeChecker(), | ||
objectOf: createObjectOfTypeChecker, | ||
oneOf: createEnumTypeChecker, | ||
oneOfType: createUnionTypeChecker, | ||
shape: createShapeTypeChecker | ||
}; | ||
/** | ||
* inlined Object.is polyfill to avoid requiring consumers ship their own | ||
* https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is | ||
*/ | ||
/*eslint-disable no-self-compare*/ | ||
function is(x, y) { | ||
// SameValue algorithm | ||
if (x === y) { | ||
// Steps 1-5, 7-10 | ||
// Steps 6.b-6.e: +0 != -0 | ||
return x !== 0 || 1 / x === 1 / y; | ||
} else { | ||
// Step 6.a: NaN == NaN | ||
return x !== x && y !== y; | ||
} | ||
} | ||
/*eslint-enable no-self-compare*/ | ||
/** | ||
* We use an Error-like object for backward compatibility as people may call | ||
* PropTypes directly and inspect their output. However, we don't use real | ||
* Errors anymore. We don't inspect their stack anyway, and creating them | ||
* is prohibitively expensive if they are created too often, such as what | ||
* happens in oneOfType() for any type before the one that matched. | ||
*/ | ||
function PropTypeError(message) { | ||
this.message = message; | ||
this.stack = ''; | ||
} | ||
// Make `instanceof Error` still work for returned errors. | ||
PropTypeError.prototype = Error.prototype; | ||
function createChainableTypeChecker(validate) { | ||
if ("production" !== 'production') { | ||
var manualPropTypeCallCache = {}; | ||
var manualPropTypeWarningCount = 0; | ||
} | ||
function checkType(isRequired, props, propName, componentName, location, propFullName, secret) { | ||
componentName = componentName || ANONYMOUS; | ||
propFullName = propFullName || propName; | ||
if (secret !== ReactPropTypesSecret) { | ||
if (throwOnDirectAccess) { | ||
// New behavior only for users of `prop-types` package | ||
invariant( | ||
false, | ||
'Calling PropTypes validators directly is not supported by the `prop-types` package. ' + | ||
'Use `PropTypes.checkPropTypes()` to call them. ' + | ||
'Read more at http://fb.me/use-check-prop-types' | ||
); | ||
} else if ("production" !== 'production' && typeof console !== 'undefined') { | ||
// Old behavior for people using React.PropTypes | ||
var cacheKey = componentName + ':' + propName; | ||
if ( | ||
!manualPropTypeCallCache[cacheKey] && | ||
// Avoid spamming the console because they are often not actionable except for lib authors | ||
manualPropTypeWarningCount < 3 | ||
) { | ||
warning( | ||
false, | ||
'You are manually calling a React.PropTypes validation ' + | ||
'function for the `%s` prop on `%s`. This is deprecated ' + | ||
'and will throw in the standalone `prop-types` package. ' + | ||
'You may be seeing this warning due to a third-party PropTypes ' + | ||
'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.', | ||
propFullName, | ||
componentName | ||
); | ||
manualPropTypeCallCache[cacheKey] = true; | ||
manualPropTypeWarningCount++; | ||
} | ||
} | ||
} | ||
if (props[propName] == null) { | ||
if (isRequired) { | ||
if (props[propName] === null) { | ||
return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.')); | ||
} | ||
return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.')); | ||
} | ||
return null; | ||
} else { | ||
return validate(props, propName, componentName, location, propFullName); | ||
} | ||
} | ||
var chainedCheckType = checkType.bind(null, false); | ||
chainedCheckType.isRequired = checkType.bind(null, true); | ||
return chainedCheckType; | ||
} | ||
function createPrimitiveTypeChecker(expectedType) { | ||
function validate(props, propName, componentName, location, propFullName, secret) { | ||
var propValue = props[propName]; | ||
var propType = getPropType(propValue); | ||
if (propType !== expectedType) { | ||
// `propValue` being instance of, say, date/regexp, pass the 'object' | ||
// check, but we can offer a more precise error message here rather than | ||
// 'of type `object`'. | ||
var preciseType = getPreciseType(propValue); | ||
return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.')); | ||
} | ||
return null; | ||
} | ||
return createChainableTypeChecker(validate); | ||
} | ||
function createAnyTypeChecker() { | ||
return createChainableTypeChecker(emptyFunction.thatReturnsNull); | ||
} | ||
function createArrayOfTypeChecker(typeChecker) { | ||
function validate(props, propName, componentName, location, propFullName) { | ||
if (typeof typeChecker !== 'function') { | ||
return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.'); | ||
} | ||
var propValue = props[propName]; | ||
if (!Array.isArray(propValue)) { | ||
var propType = getPropType(propValue); | ||
return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.')); | ||
} | ||
for (var i = 0; i < propValue.length; i++) { | ||
var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret); | ||
if (error instanceof Error) { | ||
return error; | ||
} | ||
} | ||
return null; | ||
} | ||
return createChainableTypeChecker(validate); | ||
} | ||
function createElementTypeChecker() { | ||
function validate(props, propName, componentName, location, propFullName) { | ||
var propValue = props[propName]; | ||
if (!isValidElement(propValue)) { | ||
var propType = getPropType(propValue); | ||
return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.')); | ||
} | ||
return null; | ||
} | ||
return createChainableTypeChecker(validate); | ||
} | ||
function createInstanceTypeChecker(expectedClass) { | ||
function validate(props, propName, componentName, location, propFullName) { | ||
if (!(props[propName] instanceof expectedClass)) { | ||
var expectedClassName = expectedClass.name || ANONYMOUS; | ||
var actualClassName = getClassName(props[propName]); | ||
return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.')); | ||
} | ||
return null; | ||
} | ||
return createChainableTypeChecker(validate); | ||
} | ||
function createEnumTypeChecker(expectedValues) { | ||
if (!Array.isArray(expectedValues)) { | ||
"production" !== 'production' ? warning(false, 'Invalid argument supplied to oneOf, expected an instance of array.') : void 0; | ||
return emptyFunction.thatReturnsNull; | ||
} | ||
function validate(props, propName, componentName, location, propFullName) { | ||
var propValue = props[propName]; | ||
for (var i = 0; i < expectedValues.length; i++) { | ||
if (is(propValue, expectedValues[i])) { | ||
return null; | ||
} | ||
} | ||
var valuesString = JSON.stringify(expectedValues); | ||
return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.')); | ||
} | ||
return createChainableTypeChecker(validate); | ||
} | ||
function createObjectOfTypeChecker(typeChecker) { | ||
function validate(props, propName, componentName, location, propFullName) { | ||
if (typeof typeChecker !== 'function') { | ||
return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.'); | ||
} | ||
var propValue = props[propName]; | ||
var propType = getPropType(propValue); | ||
if (propType !== 'object') { | ||
return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.')); | ||
} | ||
for (var key in propValue) { | ||
if (propValue.hasOwnProperty(key)) { | ||
var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret); | ||
if (error instanceof Error) { | ||
return error; | ||
} | ||
} | ||
} | ||
return null; | ||
} | ||
return createChainableTypeChecker(validate); | ||
} | ||
function createUnionTypeChecker(arrayOfTypeCheckers) { | ||
if (!Array.isArray(arrayOfTypeCheckers)) { | ||
"production" !== 'production' ? warning(false, 'Invalid argument supplied to oneOfType, expected an instance of array.') : void 0; | ||
return emptyFunction.thatReturnsNull; | ||
} | ||
for (var i = 0; i < arrayOfTypeCheckers.length; i++) { | ||
var checker = arrayOfTypeCheckers[i]; | ||
if (typeof checker !== 'function') { | ||
warning( | ||
false, | ||
'Invalid argument supplid to oneOfType. Expected an array of check functions, but ' + | ||
'received %s at index %s.', | ||
getPostfixForTypeWarning(checker), | ||
i | ||
); | ||
return emptyFunction.thatReturnsNull; | ||
} | ||
} | ||
function validate(props, propName, componentName, location, propFullName) { | ||
for (var i = 0; i < arrayOfTypeCheckers.length; i++) { | ||
var checker = arrayOfTypeCheckers[i]; | ||
if (checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret) == null) { | ||
return null; | ||
} | ||
} | ||
return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.')); | ||
} | ||
return createChainableTypeChecker(validate); | ||
} | ||
function createNodeChecker() { | ||
function validate(props, propName, componentName, location, propFullName) { | ||
if (!isNode(props[propName])) { | ||
return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.')); | ||
} | ||
return null; | ||
} | ||
return createChainableTypeChecker(validate); | ||
} | ||
function createShapeTypeChecker(shapeTypes) { | ||
function validate(props, propName, componentName, location, propFullName) { | ||
var propValue = props[propName]; | ||
var propType = getPropType(propValue); | ||
if (propType !== 'object') { | ||
return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.')); | ||
} | ||
for (var key in shapeTypes) { | ||
var checker = shapeTypes[key]; | ||
if (!checker) { | ||
continue; | ||
} | ||
var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret); | ||
if (error) { | ||
return error; | ||
} | ||
} | ||
return null; | ||
} | ||
return createChainableTypeChecker(validate); | ||
} | ||
function isNode(propValue) { | ||
switch (typeof propValue) { | ||
case 'number': | ||
case 'string': | ||
case 'undefined': | ||
return true; | ||
case 'boolean': | ||
return !propValue; | ||
case 'object': | ||
if (Array.isArray(propValue)) { | ||
return propValue.every(isNode); | ||
} | ||
if (propValue === null || isValidElement(propValue)) { | ||
return true; | ||
} | ||
var iteratorFn = getIteratorFn(propValue); | ||
if (iteratorFn) { | ||
var iterator = iteratorFn.call(propValue); | ||
var step; | ||
if (iteratorFn !== propValue.entries) { | ||
while (!(step = iterator.next()).done) { | ||
if (!isNode(step.value)) { | ||
return false; | ||
} | ||
} | ||
} else { | ||
// Iterator will provide entry [k,v] tuples rather than values. | ||
while (!(step = iterator.next()).done) { | ||
var entry = step.value; | ||
if (entry) { | ||
if (!isNode(entry[1])) { | ||
return false; | ||
} | ||
} | ||
} | ||
} | ||
} else { | ||
return false; | ||
} | ||
return true; | ||
default: | ||
return false; | ||
} | ||
} | ||
function isSymbol(propType, propValue) { | ||
// Native Symbol. | ||
if (propType === 'symbol') { | ||
return true; | ||
} | ||
// 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol' | ||
if (propValue['@@toStringTag'] === 'Symbol') { | ||
return true; | ||
} | ||
// Fallback for non-spec compliant Symbols which are polyfilled. | ||
if (typeof Symbol === 'function' && propValue instanceof Symbol) { | ||
return true; | ||
} | ||
return false; | ||
} | ||
// Equivalent of `typeof` but with special handling for array and regexp. | ||
function getPropType(propValue) { | ||
var propType = typeof propValue; | ||
if (Array.isArray(propValue)) { | ||
return 'array'; | ||
} | ||
if (propValue instanceof RegExp) { | ||
// Old webkits (at least until Android 4.0) return 'function' rather than | ||
// 'object' for typeof a RegExp. We'll normalize this here so that /bla/ | ||
// passes PropTypes.object. | ||
return 'object'; | ||
} | ||
if (isSymbol(propType, propValue)) { | ||
return 'symbol'; | ||
} | ||
return propType; | ||
} | ||
// This handles more types than `getPropType`. Only used for error messages. | ||
// See `createPrimitiveTypeChecker`. | ||
function getPreciseType(propValue) { | ||
if (typeof propValue === 'undefined' || propValue === null) { | ||
return '' + propValue; | ||
} | ||
var propType = getPropType(propValue); | ||
if (propType === 'object') { | ||
if (propValue instanceof Date) { | ||
return 'date'; | ||
} else if (propValue instanceof RegExp) { | ||
return 'regexp'; | ||
} | ||
} | ||
return propType; | ||
} | ||
// Returns a string that is postfixed to a warning about an invalid type. | ||
// For example, "undefined" or "of type array" | ||
function getPostfixForTypeWarning(value) { | ||
var type = getPreciseType(value); | ||
switch (type) { | ||
case 'array': | ||
case 'object': | ||
return 'an ' + type; | ||
case 'boolean': | ||
case 'date': | ||
case 'regexp': | ||
return 'a ' + type; | ||
default: | ||
return type; | ||
} | ||
} | ||
// Returns class name of the object, if any. | ||
function getClassName(propValue) { | ||
if (!propValue.constructor || !propValue.constructor.name) { | ||
return ANONYMOUS; | ||
} | ||
return propValue.constructor.name; | ||
} | ||
ReactPropTypes.checkPropTypes = checkPropTypes; | ||
ReactPropTypes.PropTypes = ReactPropTypes; | ||
return ReactPropTypes; | ||
}; | ||
},{"./checkPropTypes":4,"./lib/ReactPropTypesSecret":8,"fbjs/lib/emptyFunction":1,"fbjs/lib/invariant":2,"fbjs/lib/warning":3}],7:[function(require,module,exports){ | ||
/** | ||
* Copyright 2013-present, Facebook, Inc. | ||
* All rights reserved. | ||
* | ||
* This source code is licensed under the BSD-style license found in the | ||
* LICENSE file in the root directory of this source tree. An additional grant | ||
* of patent rights can be found in the PATENTS file in the same directory. | ||
*/ | ||
if ("production" !== 'production') { | ||
var REACT_ELEMENT_TYPE = (typeof Symbol === 'function' && | ||
Symbol.for && | ||
Symbol.for('react.element')) || | ||
0xeac7; | ||
var isValidElement = function(object) { | ||
return typeof object === 'object' && | ||
object !== null && | ||
object.$$typeof === REACT_ELEMENT_TYPE; | ||
}; | ||
// By explicitly using `prop-types` you are opting into new development behavior. | ||
// http://fb.me/prop-types-in-prod | ||
var throwOnDirectAccess = true; | ||
module.exports = require('./factoryWithTypeCheckers')(isValidElement, throwOnDirectAccess); | ||
} else { | ||
// By explicitly using `prop-types` you are opting into new production behavior. | ||
// http://fb.me/prop-types-in-prod | ||
module.exports = require('./factoryWithThrowingShims')(); | ||
} | ||
},{"./factoryWithThrowingShims":5,"./factoryWithTypeCheckers":6}],8:[function(require,module,exports){ | ||
/** | ||
* Copyright 2013-present, Facebook, Inc. | ||
* All rights reserved. | ||
* | ||
* This source code is licensed under the BSD-style license found in the | ||
* LICENSE file in the root directory of this source tree. An additional grant | ||
* of patent rights can be found in the PATENTS file in the same directory. | ||
*/ | ||
'use strict'; | ||
var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED'; | ||
module.exports = ReactPropTypesSecret; | ||
},{}],9:[function(require,module,exports){ | ||
(function (global){ | ||
@@ -23,2 +871,6 @@ 'use strict'; | ||
var _propTypes = require('prop-types'); | ||
var _propTypes2 = _interopRequireDefault(_propTypes); | ||
var ReactCardFlip = (function (_React$Component) { | ||
@@ -32,3 +884,4 @@ _inherits(ReactCardFlip, _React$Component); | ||
this.state = { | ||
isFlipped: this.props.isFlipped | ||
isFlipped: this.props.isFlipped, | ||
rotation: 0 | ||
}; | ||
@@ -42,2 +895,3 @@ } | ||
this.setState({ isFlipped: nextProps.isFlipped }); | ||
this.setState({ rotation: this.state.rotation + 180 }); | ||
} | ||
@@ -62,2 +916,3 @@ } | ||
position: 'relative', | ||
transform: 'rotateY(' + (this.props.infinite ? this.state.rotation : 0) + 'deg)', | ||
transformStyle: 'preserve-3d', | ||
@@ -68,3 +923,3 @@ transition: this.props.flipSpeedBackToFront + 's' | ||
position: 'relative', | ||
transform: 'rotateY(180deg)', | ||
transform: 'rotateY(' + (this.props.infinite ? this.state.rotation : 180) + 'deg)', | ||
transformStyle: 'preserve-3d', | ||
@@ -128,5 +983,6 @@ transition: this.props.flipSpeedFrontToBack + 's' | ||
}, | ||
flipSpeedBackToFront: _react2['default'].PropTypes.number, | ||
flipSpeedFrontToBack: _react2['default'].PropTypes.number, | ||
isFlipped: _react2['default'].PropTypes.bool | ||
flipSpeedBackToFront: _propTypes2['default'].number, | ||
flipSpeedFrontToBack: _propTypes2['default'].number, | ||
infinite: _propTypes2['default'].bool, | ||
isFlipped: _propTypes2['default'].bool | ||
}; | ||
@@ -137,2 +993,3 @@ | ||
flipSpeedFrontToBack: 0.6, | ||
infinite: false, | ||
isFlipped: false | ||
@@ -145,3 +1002,3 @@ }; | ||
}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) | ||
},{}]},{},[1])(1) | ||
},{"prop-types":7}]},{},[9])(9) | ||
}); |
@@ -1,1 +0,1 @@ | ||
!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var t;t="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,t.ReactCardFlip=e()}}(function(){return function e(t,r,n){function o(l,p){if(!r[l]){if(!t[l]){var f="function"==typeof require&&require;if(!p&&f)return f(l,!0);if(i)return i(l,!0);var a=new Error("Cannot find module '"+l+"'");throw a.code="MODULE_NOT_FOUND",a}var s=r[l]={exports:{}};t[l][0].call(s.exports,function(e){var r=t[l][1][e];return o(r?r:e)},s,s.exports,e,t,r,n)}return r[l].exports}for(var i="function"==typeof require&&require,l=0;l<n.length;l++)o(n[l]);return o}({1:[function(e,t,r){(function(e){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(r,"__esModule",{value:!0});var l=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),p=function(e,t,r){for(var n=!0;n;){var o=e,i=t,l=r;n=!1,null===o&&(o=Function.prototype);var p=Object.getOwnPropertyDescriptor(o,i);if(void 0!==p){if("value"in p)return p.value;var f=p.get;if(void 0===f)return;return f.call(l)}var a=Object.getPrototypeOf(o);if(null===a)return;e=a,t=i,r=l,n=!0,p=a=void 0}},f="undefined"!=typeof window?window.React:"undefined"!=typeof e?e.React:null,a=n(f),s=function(e){function t(e){o(this,t),p(Object.getPrototypeOf(t.prototype),"constructor",this).call(this,e),this.state={isFlipped:this.props.isFlipped}}return i(t,e),l(t,[{key:"componentWillReceiveProps",value:function(e){e.isFlipped!==this.props.isFlipped&&this.setState({isFlipped:e.isFlipped})}},{key:"getComponent",value:function(e){return this.props.children.filter(function(t){return t.key===e})}},{key:"render",value:function(){var e={container:{perspective:"1000px",transformStyle:"preserve-3d"},flipper:{position:"relative",transformStyle:"preserve-3d",transition:this.props.flipSpeedBackToFront+"s"},flipperFlip:{position:"relative",transform:"rotateY(180deg)",transformStyle:"preserve-3d",transition:this.props.flipSpeedFrontToBack+"s"},front:{WebkitBackfaceVisibility:"hidden",backfaceVisibility:"hidden",left:"0",position:"absolute",top:"0",transform:"rotateY(0deg)",transformStyle:"preserve-3d",width:"100%",zIndex:"2"},back:{WebkitBackfaceVisibility:"hidden",backfaceVisibility:"hidden",left:"0",position:"absolute",transform:"rotateY(180deg)",transformStyle:"preserve-3d",top:"0",width:"100%"}};return a["default"].createElement("div",{className:"react-card-flip",style:e.container},a["default"].createElement("div",{className:"react-card-flipper",style:this.state.isFlipped?e.flipperFlip:e.flipper},a["default"].createElement("div",{className:"react-card-front",style:e.front},this.getComponent("front")),a["default"].createElement("div",{className:"react-card-back",style:e.back},this.getComponent("back"))))}}]),t}(a["default"].Component);s.propTypes={children:function(e,t,r){if(2!==a["default"].Children.count(e[t]))return new Error(r+" requires two children.")},flipSpeedBackToFront:a["default"].PropTypes.number,flipSpeedFrontToBack:a["default"].PropTypes.number,isFlipped:a["default"].PropTypes.bool},s.defaultProps={flipSpeedBackToFront:.6,flipSpeedFrontToBack:.6,isFlipped:!1},r["default"]=s,t.exports=r["default"]}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}]},{},[1])(1)}); | ||
!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var t;t="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,t.ReactCardFlip=e()}}(function(){return function e(t,n,r){function i(a,u){if(!n[a]){if(!t[a]){var f="function"==typeof require&&require;if(!u&&f)return f(a,!0);if(o)return o(a,!0);var s=new Error("Cannot find module '"+a+"'");throw s.code="MODULE_NOT_FOUND",s}var c=n[a]={exports:{}};t[a][0].call(c.exports,function(e){var n=t[a][1][e];return i(n?n:e)},c,c.exports,e,t,n,r)}return n[a].exports}for(var o="function"==typeof require&&require,a=0;a<r.length;a++)i(r[a]);return i}({1:[function(e,t,n){"use strict";function r(e){return function(){return e}}var i=function(){};i.thatReturns=r,i.thatReturnsFalse=r(!1),i.thatReturnsTrue=r(!0),i.thatReturnsNull=r(null),i.thatReturnsThis=function(){return this},i.thatReturnsArgument=function(e){return e},t.exports=i},{}],2:[function(e,t,n){"use strict";function r(e,t,n,r,o,a,u,f){if(i(t),!e){var s;if(void 0===t)s=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[n,r,o,a,u,f],l=0;s=new Error(t.replace(/%s/g,function(){return c[l++]})),s.name="Invariant Violation"}throw s.framesToPop=1,s}}var i=function(e){};t.exports=r},{}],3:[function(e,t,n){"use strict";var r=e("./emptyFunction"),i=r;t.exports=i},{"./emptyFunction":1}],4:[function(e,t,n){"use strict";function r(e,t,n,r,i){}t.exports=r},{"./lib/ReactPropTypesSecret":8,"fbjs/lib/invariant":2,"fbjs/lib/warning":3}],5:[function(e,t,n){"use strict";var r=e("fbjs/lib/emptyFunction"),i=e("fbjs/lib/invariant"),o=e("./lib/ReactPropTypesSecret");t.exports=function(){function e(e,t,n,r,a,u){u!==o&&i(!1,"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types")}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t};return n.checkPropTypes=r,n.PropTypes=n,n}},{"./lib/ReactPropTypesSecret":8,"fbjs/lib/emptyFunction":1,"fbjs/lib/invariant":2}],6:[function(e,t,n){"use strict";var r=e("fbjs/lib/emptyFunction"),i=e("fbjs/lib/invariant"),o=e("fbjs/lib/warning"),a=e("./lib/ReactPropTypesSecret"),u=e("./checkPropTypes");t.exports=function(e,t){function n(e){var t=e&&(S&&e[S]||e[R]);if("function"==typeof t)return t}function f(e,t){return e===t?0!==e||1/e===1/t:e!==e&&t!==t}function s(e){this.message=e,this.stack=""}function c(e){function n(n,r,o,u,f,c,l){if(u=u||F,c=c||o,l!==a)if(t)i(!1,"Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types");else;return null==r[o]?n?new s(null===r[o]?"The "+f+" `"+c+"` is marked as required "+("in `"+u+"`, but its value is `null`."):"The "+f+" `"+c+"` is marked as required in "+("`"+u+"`, but its value is `undefined`.")):null:e(r,o,u,f,c)}var r=n.bind(null,!1);return r.isRequired=n.bind(null,!0),r}function l(e){function t(t,n,r,i,o,a){var u=t[n],f=j(u);if(f!==e){var c=x(u);return new s("Invalid "+i+" `"+o+"` of type "+("`"+c+"` supplied to `"+r+"`, expected ")+("`"+e+"`."))}return null}return c(t)}function p(){return c(r.thatReturnsNull)}function d(e){function t(t,n,r,i,o){if("function"!=typeof e)return new s("Property `"+o+"` of component `"+r+"` has invalid PropType notation inside arrayOf.");var u=t[n];if(!Array.isArray(u)){var f=j(u);return new s("Invalid "+i+" `"+o+"` of type "+("`"+f+"` supplied to `"+r+"`, expected an array."))}for(var c=0;c<u.length;c++){var l=e(u,c,r,i,o+"["+c+"]",a);if(l instanceof Error)return l}return null}return c(t)}function y(){function t(t,n,r,i,o){var a=t[n];if(!e(a)){var u=j(a);return new s("Invalid "+i+" `"+o+"` of type "+("`"+u+"` supplied to `"+r+"`, expected a single ReactElement."))}return null}return c(t)}function b(e){function t(t,n,r,i,o){if(!(t[n]instanceof e)){var a=e.name||F,u=P(t[n]);return new s("Invalid "+i+" `"+o+"` of type "+("`"+u+"` supplied to `"+r+"`, expected ")+("instance of `"+a+"`."))}return null}return c(t)}function v(e){function t(t,n,r,i,o){for(var a=t[n],u=0;u<e.length;u++)if(f(a,e[u]))return null;var c=JSON.stringify(e);return new s("Invalid "+i+" `"+o+"` of value `"+a+"` "+("supplied to `"+r+"`, expected one of "+c+"."))}return Array.isArray(e)?c(t):r.thatReturnsNull}function h(e){function t(t,n,r,i,o){if("function"!=typeof e)return new s("Property `"+o+"` of component `"+r+"` has invalid PropType notation inside objectOf.");var u=t[n],f=j(u);if("object"!==f)return new s("Invalid "+i+" `"+o+"` of type "+("`"+f+"` supplied to `"+r+"`, expected an object."));for(var c in u)if(u.hasOwnProperty(c)){var l=e(u,c,r,i,o+"."+c,a);if(l instanceof Error)return l}return null}return c(t)}function m(e){function t(t,n,r,i,o){for(var u=0;u<e.length;u++){var f=e[u];if(null==f(t,n,r,i,o,a))return null}return new s("Invalid "+i+" `"+o+"` supplied to "+("`"+r+"`."))}if(!Array.isArray(e))return r.thatReturnsNull;for(var n=0;n<e.length;n++){var i=e[n];if("function"!=typeof i)return o(!1,"Invalid argument supplid to oneOfType. Expected an array of check functions, but received %s at index %s.",O(i),n),r.thatReturnsNull}return c(t)}function g(){function e(e,t,n,r,i){return T(e[t])?null:new s("Invalid "+r+" `"+i+"` supplied to "+("`"+n+"`, expected a ReactNode."))}return c(e)}function w(e){function t(t,n,r,i,o){var u=t[n],f=j(u);if("object"!==f)return new s("Invalid "+i+" `"+o+"` of type `"+f+"` "+("supplied to `"+r+"`, expected `object`."));for(var c in e){var l=e[c];if(l){var p=l(u,c,r,i,o+"."+c,a);if(p)return p}}return null}return c(t)}function T(t){switch(typeof t){case"number":case"string":case"undefined":return!0;case"boolean":return!t;case"object":if(Array.isArray(t))return t.every(T);if(null===t||e(t))return!0;var r=n(t);if(!r)return!1;var i,o=r.call(t);if(r!==t.entries){for(;!(i=o.next()).done;)if(!T(i.value))return!1}else for(;!(i=o.next()).done;){var a=i.value;if(a&&!T(a[1]))return!1}return!0;default:return!1}}function k(e,t){return"symbol"===e||("Symbol"===t["@@toStringTag"]||"function"==typeof Symbol&&t instanceof Symbol)}function j(e){var t=typeof e;return Array.isArray(e)?"array":e instanceof RegExp?"object":k(t,e)?"symbol":t}function x(e){if("undefined"==typeof e||null===e)return""+e;var t=j(e);if("object"===t){if(e instanceof Date)return"date";if(e instanceof RegExp)return"regexp"}return t}function O(e){var t=x(e);switch(t){case"array":case"object":return"an "+t;case"boolean":case"date":case"regexp":return"a "+t;default:return t}}function P(e){return e.constructor&&e.constructor.name?e.constructor.name:F}var S="function"==typeof Symbol&&Symbol.iterator,R="@@iterator",F="<<anonymous>>",E={array:l("array"),bool:l("boolean"),func:l("function"),number:l("number"),object:l("object"),string:l("string"),symbol:l("symbol"),any:p(),arrayOf:d,element:y(),instanceOf:b,node:g(),objectOf:h,oneOf:v,oneOfType:m,shape:w};return s.prototype=Error.prototype,E.checkPropTypes=u,E.PropTypes=E,E}},{"./checkPropTypes":4,"./lib/ReactPropTypesSecret":8,"fbjs/lib/emptyFunction":1,"fbjs/lib/invariant":2,"fbjs/lib/warning":3}],7:[function(e,t,n){t.exports=e("./factoryWithThrowingShims")()},{"./factoryWithThrowingShims":5,"./factoryWithTypeCheckers":6}],8:[function(e,t,n){"use strict";var r="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";t.exports=r},{}],9:[function(e,t,n){(function(r){"use strict";function i(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(n,"__esModule",{value:!0});var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),f=function(e,t,n){for(var r=!0;r;){var i=e,o=t,a=n;r=!1,null===i&&(i=Function.prototype);var u=Object.getOwnPropertyDescriptor(i,o);if(void 0!==u){if("value"in u)return u.value;var f=u.get;if(void 0===f)return;return f.call(a)}var s=Object.getPrototypeOf(i);if(null===s)return;e=s,t=o,n=a,r=!0,u=s=void 0}},s="undefined"!=typeof window?window.React:"undefined"!=typeof r?r.React:null,c=i(s),l=e("prop-types"),p=i(l),d=function(e){function t(e){o(this,t),f(Object.getPrototypeOf(t.prototype),"constructor",this).call(this,e),this.state={isFlipped:this.props.isFlipped,rotation:0}}return a(t,e),u(t,[{key:"componentWillReceiveProps",value:function(e){e.isFlipped!==this.props.isFlipped&&(this.setState({isFlipped:e.isFlipped}),this.setState({rotation:this.state.rotation+180}))}},{key:"getComponent",value:function(e){return this.props.children.filter(function(t){return t.key===e})}},{key:"render",value:function(){var e={container:{perspective:"1000px",transformStyle:"preserve-3d"},flipper:{position:"relative",transform:"rotateY("+(this.props.infinite?this.state.rotation:0)+"deg)",transformStyle:"preserve-3d",transition:this.props.flipSpeedBackToFront+"s"},flipperFlip:{position:"relative",transform:"rotateY("+(this.props.infinite?this.state.rotation:180)+"deg)",transformStyle:"preserve-3d",transition:this.props.flipSpeedFrontToBack+"s"},front:{WebkitBackfaceVisibility:"hidden",backfaceVisibility:"hidden",left:"0",position:"absolute",top:"0",transform:"rotateY(0deg)",transformStyle:"preserve-3d",width:"100%",zIndex:"2"},back:{WebkitBackfaceVisibility:"hidden",backfaceVisibility:"hidden",left:"0",position:"absolute",transform:"rotateY(180deg)",transformStyle:"preserve-3d",top:"0",width:"100%"}};return c["default"].createElement("div",{className:"react-card-flip",style:e.container},c["default"].createElement("div",{className:"react-card-flipper",style:this.state.isFlipped?e.flipperFlip:e.flipper},c["default"].createElement("div",{className:"react-card-front",style:e.front},this.getComponent("front")),c["default"].createElement("div",{className:"react-card-back",style:e.back},this.getComponent("back"))))}}]),t}(c["default"].Component);d.propTypes={children:function(e,t,n){if(2!==c["default"].Children.count(e[t]))return new Error(n+" requires two children.")},flipSpeedBackToFront:p["default"].number,flipSpeedFrontToBack:p["default"].number,infinite:p["default"].bool,isFlipped:p["default"].bool},d.defaultProps={flipSpeedBackToFront:.6,flipSpeedFrontToBack:.6,infinite:!1,isFlipped:!1},n["default"]=d,t.exports=n["default"]}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"prop-types":7}]},{},[9])(9)}); |
@@ -7,2 +7,3 @@ import React from 'react'; | ||
import FasterExample from './FasterExample.jsx'; | ||
import RevolvingExample from './RevolvingExample.jsx'; | ||
@@ -52,6 +53,14 @@ const App = () => { | ||
</section> | ||
<section className="example-section"> | ||
<h3> | ||
Revolving door card flip | ||
</h3> | ||
<RevolvingExample styles={styles} /> | ||
</section> | ||
</div> | ||
); | ||
} | ||
}; | ||
ReactDOM.render(<App />, document.getElementById('app')); |
@@ -40,3 +40,3 @@ import React, { Component } from 'react'; | ||
style={this.props.styles.image} | ||
src="//tu9srvbirvvtmtykznrobwiudhfulmnvbq00.g00.thespruce.com/g00/2_d3d3LnRoZXNwcnVjZS5jb20%3D_/TU9SRVBIRVVTMTYkaHR0cHM6Ly9mdGhtYi50cW4uY29tL2hYUnV6ZDVmNjJUX2ZXZVBQdjdhVXNWaVp5RT0vOTYweDAvZmlsdGVyczpub191cHNjYWxlKCkvYWJvdXQvQ2F0LXJvbGxpbmctR2V0dHlJbWFnZXMtMTY1ODkzMTMyLTU4YWM1ZWYwNWY5YjU4YTNjOTBhMTQ0Zi5qcGc%2FaTEwYy5tYXJrLmltYWdlLnR5cGU%3D_$/$/$/$/$/$" | ||
src="//www.planwallpaper.com/static/images/dogs1_lm4Ye34.jpg" | ||
/> | ||
@@ -43,0 +43,0 @@ |
@@ -40,3 +40,3 @@ import React, { Component } from 'react'; | ||
style={this.props.styles.image} | ||
src="//tu9srvbirvvtmtykznrobwiudhfulmnvbq00.g00.thespruce.com/g00/2_d3d3LnRoZXNwcnVjZS5jb20%3D_/TU9SRVBIRVVTMTYkaHR0cHM6Ly9mdGhtYi50cW4uY29tL3ZacFFVMTFyS3NEUkZjLUR6TkMtbHdNTUpGaz0vOTYweDAvZmlsdGVyczpub191cHNjYWxlKCkvYWJvdXQvQ2F0LWVhdGluZy1ncmFzcy1HZXR0eUltYWdlcy01MzM1MDczODEtNThhYzYwYWUzZGY3OGMzNDViNDEzOTUzLmpwZz9pMTBjLm1hcmsuaW1hZ2UudHlwZQ%3D%3D_$/$/$/$/$/$" | ||
src="//www.planwallpaper.com/static/images/Beagle-Wallpaper-dogs-7013951-1024-768.jpg" | ||
/> | ||
@@ -43,0 +43,0 @@ |
@@ -21,2 +21,6 @@ 'use strict'; | ||
var _propTypes = require('prop-types'); | ||
var _propTypes2 = _interopRequireDefault(_propTypes); | ||
var ReactCardFlip = (function (_React$Component) { | ||
@@ -30,3 +34,4 @@ _inherits(ReactCardFlip, _React$Component); | ||
this.state = { | ||
isFlipped: this.props.isFlipped | ||
isFlipped: this.props.isFlipped, | ||
rotation: 0 | ||
}; | ||
@@ -40,2 +45,3 @@ } | ||
this.setState({ isFlipped: nextProps.isFlipped }); | ||
this.setState({ rotation: this.state.rotation + 180 }); | ||
} | ||
@@ -60,2 +66,3 @@ } | ||
position: 'relative', | ||
transform: 'rotateY(' + (this.props.infinite ? this.state.rotation : 0) + 'deg)', | ||
transformStyle: 'preserve-3d', | ||
@@ -66,3 +73,3 @@ transition: this.props.flipSpeedBackToFront + 's' | ||
position: 'relative', | ||
transform: 'rotateY(180deg)', | ||
transform: 'rotateY(' + (this.props.infinite ? this.state.rotation : 180) + 'deg)', | ||
transformStyle: 'preserve-3d', | ||
@@ -126,5 +133,6 @@ transition: this.props.flipSpeedFrontToBack + 's' | ||
}, | ||
flipSpeedBackToFront: _react2['default'].PropTypes.number, | ||
flipSpeedFrontToBack: _react2['default'].PropTypes.number, | ||
isFlipped: _react2['default'].PropTypes.bool | ||
flipSpeedBackToFront: _propTypes2['default'].number, | ||
flipSpeedFrontToBack: _propTypes2['default'].number, | ||
infinite: _propTypes2['default'].bool, | ||
isFlipped: _propTypes2['default'].bool | ||
}; | ||
@@ -135,2 +143,3 @@ | ||
flipSpeedFrontToBack: 0.6, | ||
infinite: false, | ||
isFlipped: false | ||
@@ -137,0 +146,0 @@ }; |
{ | ||
"name": "react-card-flip", | ||
"version": "0.0.8", | ||
"version": "0.1.0", | ||
"description": "ReactCardFlip", | ||
@@ -5,0 +5,0 @@ "main": "lib/ReactCardFlip.js", |
@@ -8,3 +8,4 @@ import React from 'react'; | ||
this.state = { | ||
isFlipped: this.props.isFlipped | ||
isFlipped: this.props.isFlipped, | ||
rotation: 0, | ||
}; | ||
@@ -16,2 +17,3 @@ } | ||
this.setState({ isFlipped: nextProps.isFlipped }); | ||
this.setState({ rotation: this.state.rotation + 180 }); | ||
} | ||
@@ -34,2 +36,3 @@ } | ||
position: 'relative', | ||
transform: `rotateY(${this.props.infinite ? this.state.rotation : 0}deg)`, | ||
transformStyle: 'preserve-3d', | ||
@@ -40,3 +43,3 @@ transition: `${this.props.flipSpeedBackToFront}s` | ||
position: 'relative', | ||
transform: 'rotateY(180deg)', | ||
transform: `rotateY(${this.props.infinite ? this.state.rotation : 180}deg)`, | ||
transformStyle: 'preserve-3d', | ||
@@ -94,3 +97,4 @@ transition: `${this.props.flipSpeedFrontToBack}s` | ||
flipSpeedFrontToBack: PropTypes.number, | ||
isFlipped: PropTypes.bool | ||
infinite: PropTypes.bool, | ||
isFlipped: PropTypes.bool, | ||
}; | ||
@@ -101,5 +105,6 @@ | ||
flipSpeedFrontToBack: 0.6, | ||
isFlipped: false | ||
infinite: false, | ||
isFlipped: false, | ||
}; | ||
export default ReactCardFlip; |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
73287
21
1412