react-css-transition
Version:
CSS Transition Component for React
1,143 lines (1,030 loc) • 141 kB
JavaScript
(function webpackUniversalModuleDefinition(root, factory) {
if(typeof exports === 'object' && typeof module === 'object')
module.exports = factory(require("react"));
else if(typeof define === 'function' && define.amd)
define(["react"], factory);
else if(typeof exports === 'object')
exports["ReactCSSTransition"] = factory(require("react"));
else
root["ReactCSSTransition"] = factory(root["React"]);
})(this, function(__WEBPACK_EXTERNAL_MODULE_2__) {
return /******/ (function(modules) { // webpackBootstrap
/******/ // The module cache
/******/ var installedModules = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/
/******/ // Check if module is in cache
/******/ if(installedModules[moduleId])
/******/ return installedModules[moduleId].exports;
/******/
/******/ // Create a new module (and put it into the cache)
/******/ var module = installedModules[moduleId] = {
/******/ i: moduleId,
/******/ l: false,
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/ // Flag the module as loaded
/******/ module.l = true;
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/******/
/******/ // expose the modules object (__webpack_modules__)
/******/ __webpack_require__.m = modules;
/******/
/******/ // expose the module cache
/******/ __webpack_require__.c = installedModules;
/******/
/******/ // identity function for calling harmony imports with the correct context
/******/ __webpack_require__.i = function(value) { return value; };
/******/
/******/ // define getter function for harmony exports
/******/ __webpack_require__.d = function(exports, name, getter) {
/******/ if(!__webpack_require__.o(exports, name)) {
/******/ Object.defineProperty(exports, name, {
/******/ configurable: false,
/******/ enumerable: true,
/******/ get: getter
/******/ });
/******/ }
/******/ };
/******/
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ __webpack_require__.n = function(module) {
/******/ var getter = module && module.__esModule ?
/******/ function getDefault() { return module['default']; } :
/******/ function getModuleExports() { return module; };
/******/ __webpack_require__.d(getter, 'a', getter);
/******/ return getter;
/******/ };
/******/
/******/ // Object.prototype.hasOwnProperty.call
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
/******/
/******/ // __webpack_public_path__
/******/ __webpack_require__.p = "";
/******/
/******/ // Load entry module and return exports
/******/ return __webpack_require__(__webpack_require__.s = 77);
/******/ })
/************************************************************************/
/******/ ([
/* 0 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__combine__ = __webpack_require__(7);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils_resolveValue__ = __webpack_require__(5);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return lazyLoadCallback; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return propsCallback; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return stateCallback; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return childContextCallback; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return skipCallback; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return renderCallback; });
/* unused harmony export componentWillMountCallback */
/* unused harmony export componentDidMountCallback */
/* unused harmony export componentWillUnmountCallback */
/* unused harmony export componentWillReceivePropsCallback */
/* unused harmony export shouldComponentUpdateCallback */
/* unused harmony export componentWillUpdateCallback */
/* unused harmony export componentDidUpdateCallback */
/* harmony export (immutable) */ __webpack_exports__["g"] = createBlueprint;
var lazyLoadCallback = function (callback) { return ({ kind: "lazyLoadCallback", callback: callback }); };
var propsCallback = function (callback) { return ({ kind: "propsCallback", callback: callback }); };
var stateCallback = function (callback) { return ({ kind: "stateCallback", callback: callback }); };
var childContextCallback = function (callback) { return ({ kind: "childContextCallback", callback: callback }); };
var skipCallback = function (callback) { return ({ kind: "skipCallback", callback: callback }); };
var renderCallback = function (callback) { return ({ kind: "renderCallback", callback: callback }); };
var componentWillMountCallback = function (callback) { return ({ kind: "componentWillMountCallback", callback: callback }); };
var componentDidMountCallback = function (callback) { return ({ kind: "componentDidMountCallback", callback: callback }); };
var componentWillUnmountCallback = function (callback) { return ({ kind: "componentWillUnmountCallback", callback: callback }); };
var componentWillReceivePropsCallback = function (callback) { return ({ kind: "componentWillReceivePropsCallback", callback: callback }); };
var shouldComponentUpdateCallback = function (callback) { return ({ kind: "shouldComponentUpdateCallback", callback: callback }); };
var componentWillUpdateCallback = function (callback) { return ({ kind: "componentWillUpdateCallback", callback: callback }); };
var componentDidUpdateCallback = function (callback) { return ({ kind: "componentDidUpdateCallback", callback: callback }); };
function createBlueprint() {
var composables = [];
for (var _i = 0; _i < arguments.length; _i++) {
composables[_i] = arguments[_i];
}
var componentCallbacks = __WEBPACK_IMPORTED_MODULE_0__combine__["a" /* default */].apply(void 0, composables);
return {
staticCallbacks: componentCallbacks.filter(function (c) { return c.staticCallback; }).map(function (c) { return c.staticCallback; }),
instanceCallbacks: function () {
var result = [];
componentCallbacks.forEach(function (c) {
if (!c.instanceCallbacks) {
return;
}
var instanceCallbacks = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__utils_resolveValue__["a" /* default */])(c.instanceCallbacks);
if (!instanceCallbacks) {
return;
}
result.push.apply(result, instanceCallbacks);
});
return result;
},
};
}
//# sourceMappingURL=blueprint.js.map
/***/ }),
/* 1 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__assemble__ = __webpack_require__(16);
/* harmony namespace reexport (by used) */ __webpack_require__.d(__webpack_exports__, "c", function() { return __WEBPACK_IMPORTED_MODULE_0__assemble__["a"]; });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__blueprint__ = __webpack_require__(0);
/* unused harmony namespace reexport */
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__combine__ = __webpack_require__(7);
/* harmony namespace reexport (by used) */ __webpack_require__.d(__webpack_exports__, "j", function() { return __WEBPACK_IMPORTED_MODULE_2__combine__["b"]; });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__compose__ = __webpack_require__(43);
/* unused harmony namespace reexport */
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__debug__ = __webpack_require__(44);
/* unused harmony namespace reexport */
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__defaultProps__ = __webpack_require__(45);
/* harmony namespace reexport (by used) */ __webpack_require__.d(__webpack_exports__, "a", function() { return __WEBPACK_IMPORTED_MODULE_5__defaultProps__["a"]; });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__flattenProp__ = __webpack_require__(46);
/* unused harmony namespace reexport */
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__setStatic__ = __webpack_require__(8);
/* unused harmony namespace reexport */
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__setDisplayName__ = __webpack_require__(62);
/* harmony namespace reexport (by used) */ __webpack_require__.d(__webpack_exports__, "d", function() { return __WEBPACK_IMPORTED_MODULE_8__setDisplayName__["a"]; });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__setPropTypes__ = __webpack_require__(63);
/* unused harmony namespace reexport */
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__wrapDisplayName__ = __webpack_require__(76);
/* unused harmony namespace reexport */
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__mapProps__ = __webpack_require__(4);
/* unused harmony namespace reexport */
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__omitProps__ = __webpack_require__(50);
/* harmony namespace reexport (by used) */ __webpack_require__.d(__webpack_exports__, "b", function() { return __WEBPACK_IMPORTED_MODULE_12__omitProps__["a"]; });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__getContext__ = __webpack_require__(47);
/* unused harmony namespace reexport */
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__branch__ = __webpack_require__(42);
/* unused harmony namespace reexport */
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__isolate__ = __webpack_require__(49);
/* harmony namespace reexport (by used) */ __webpack_require__.d(__webpack_exports__, "e", function() { return __WEBPACK_IMPORTED_MODULE_15__isolate__["a"]; });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__integrate__ = __webpack_require__(48);
/* harmony namespace reexport (by used) */ __webpack_require__.d(__webpack_exports__, "i", function() { return __WEBPACK_IMPORTED_MODULE_16__integrate__["a"]; });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_17__noOp__ = __webpack_require__(17);
/* unused harmony namespace reexport */
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_18__renameProp__ = __webpack_require__(59);
/* unused harmony namespace reexport */
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_19__renameProps__ = __webpack_require__(60);
/* unused harmony namespace reexport */
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_20__withContext__ = __webpack_require__(70);
/* unused harmony namespace reexport */
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_21__withHandlers__ = __webpack_require__(71);
/* harmony namespace reexport (by used) */ __webpack_require__.d(__webpack_exports__, "f", function() { return __WEBPACK_IMPORTED_MODULE_21__withHandlers__["a"]; });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_22__withProps__ = __webpack_require__(72);
/* harmony namespace reexport (by used) */ __webpack_require__.d(__webpack_exports__, "k", function() { return __WEBPACK_IMPORTED_MODULE_22__withProps__["a"]; });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_23__withPropsOnChange__ = __webpack_require__(73);
/* unused harmony namespace reexport */
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_24__withState__ = __webpack_require__(75);
/* harmony namespace reexport (by used) */ __webpack_require__.d(__webpack_exports__, "m", function() { return __WEBPACK_IMPORTED_MODULE_24__withState__["a"]; });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_25__withReducer__ = __webpack_require__(74);
/* unused harmony namespace reexport */
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_26__onWillMount__ = __webpack_require__(53);
/* unused harmony namespace reexport */
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_27__onDidMount__ = __webpack_require__(51);
/* harmony namespace reexport (by used) */ __webpack_require__.d(__webpack_exports__, "n", function() { return __WEBPACK_IMPORTED_MODULE_27__onDidMount__["a"]; });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_28__onWillUnmount__ = __webpack_require__(55);
/* harmony namespace reexport (by used) */ __webpack_require__.d(__webpack_exports__, "l", function() { return __WEBPACK_IMPORTED_MODULE_28__onWillUnmount__["a"]; });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_29__onWillReceiveProps__ = __webpack_require__(54);
/* harmony namespace reexport (by used) */ __webpack_require__.d(__webpack_exports__, "g", function() { return __WEBPACK_IMPORTED_MODULE_29__onWillReceiveProps__["a"]; });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_30__onWillUpdate__ = __webpack_require__(56);
/* unused harmony namespace reexport */
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_31__onDidUpdate__ = __webpack_require__(52);
/* harmony namespace reexport (by used) */ __webpack_require__.d(__webpack_exports__, "h", function() { return __WEBPACK_IMPORTED_MODULE_31__onDidUpdate__["a"]; });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_32__shouldUpdate__ = __webpack_require__(9);
/* unused harmony namespace reexport */
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_33__toClass__ = __webpack_require__(64);
/* unused harmony namespace reexport */
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_34__pure__ = __webpack_require__(58);
/* unused harmony namespace reexport */
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_35__onlyUpdateForKeys__ = __webpack_require__(57);
/* unused harmony namespace reexport */
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_36__renderComponent__ = __webpack_require__(18);
/* unused harmony namespace reexport */
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_37__renderNothing__ = __webpack_require__(61);
/* unused harmony namespace reexport */
//# sourceMappingURL=index.js.map
/***/ }),
/* 2 */
/***/ (function(module, exports) {
module.exports = __WEBPACK_EXTERNAL_MODULE_2__;
/***/ }),
/* 3 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__blueprint__ = __webpack_require__(0);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return createSimpleLifecycle; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return createComparingLifecycle; });
var createSimpleLifecycle = function (kind, callback) {
return ({ instanceCallbacks: [{ kind: kind, callback: function (props) { return function () { return callback(props); }; } }] });
};
var createComparingLifecycle = function (kind, callback) {
return ({
instanceCallbacks: function () {
var prevProps;
return [
__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__blueprint__["b" /* propsCallback */])(function (props) {
if (prevProps === undefined) {
prevProps = props;
}
return props;
}),
{
kind: kind, callback: function (props) { return function () {
var prevPropsTmp = prevProps;
prevProps = props;
var result = callback(prevPropsTmp, props);
return result;
}; },
},
];
},
});
};
//# sourceMappingURL=lifecycle.js.map
/***/ }),
/* 4 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__blueprint__ = __webpack_require__(0);
/* unused harmony export mapProps */
function mapProps(propsMapper) {
return {
instanceCallbacks: [
__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__blueprint__["b" /* propsCallback */])(function (props) { return (propsMapper(props)); }),
],
};
}
/* harmony default export */ __webpack_exports__["a"] = mapProps;
//# sourceMappingURL=mapProps.js.map
/***/ }),
/* 5 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* unused harmony export resolveValue */
function resolveValue(valueOrCallback) {
var args = [];
for (var _i = 1; _i < arguments.length; _i++) {
args[_i - 1] = arguments[_i];
}
return typeof valueOrCallback === "function"
? (_a = valueOrCallback).call.apply(_a, [null].concat(args)) : valueOrCallback;
var _a;
}
/* harmony default export */ __webpack_exports__["a"] = resolveValue;
//# sourceMappingURL=resolveValue.js.map
/***/ }),
/* 6 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* unused harmony export pick */
function pick(obj) {
var keys = [];
for (var _i = 1; _i < arguments.length; _i++) {
keys[_i - 1] = arguments[_i];
}
var result = {};
for (var i = 0; i < keys.length; i++) {
var key = keys[i];
if (obj.hasOwnProperty(key)) {
result[key] = obj[key];
}
}
return result;
}
;
/* harmony default export */ __webpack_exports__["a"] = pick;
//# sourceMappingURL=pick.js.map
/***/ }),
/* 7 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony export (immutable) */ __webpack_exports__["b"] = combine;
function combine() {
var composables = [];
for (var _i = 0; _i < arguments.length; _i++) {
composables[_i] = arguments[_i];
}
var callbacks = [];
composables.forEach(function (composable) {
if (Array.isArray(composable)) {
callbacks.push.apply(callbacks, composable);
}
else {
callbacks.push(composable);
}
});
return callbacks;
}
/* harmony default export */ __webpack_exports__["a"] = combine;
//# sourceMappingURL=combine.js.map
/***/ }),
/* 8 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* unused harmony export setStatic */
function setStatic(key, value) {
return {
staticCallback: function (componentClass) {
componentClass[key] = value;
},
};
}
/* harmony default export */ __webpack_exports__["a"] = setStatic;
//# sourceMappingURL=setStatic.js.map
/***/ }),
/* 9 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__lifecycle__ = __webpack_require__(3);
/* unused harmony export shouldUpdate */
function shouldUpdate(callback) {
return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__lifecycle__["a" /* createComparingLifecycle */])("shouldComponentUpdateCallback", callback);
}
/* harmony default export */ __webpack_exports__["a"] = shouldUpdate;
//# sourceMappingURL=shouldUpdate.js.map
/***/ }),
/* 10 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* unused harmony export getKeysAndSymbols */
var keys = Object.keys, getOwnPropertySymbols = Object.getOwnPropertySymbols;
var getKeysAndSymbols = function (obj) {
var result = keys(obj);
if (getOwnPropertySymbols !== undefined) {
result = result.concat(getOwnPropertySymbols(obj));
}
return result;
};
/* harmony default export */ __webpack_exports__["a"] = getKeysAndSymbols;
//# sourceMappingURL=getKeysAndSymbols.js.map
/***/ }),
/* 11 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* unused harmony export omit */
var __assign = (this && this.__assign) || Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
function omit(obj) {
var keys = [];
for (var _i = 1; _i < arguments.length; _i++) {
keys[_i - 1] = arguments[_i];
}
var result = __assign({}, obj);
for (var i = 0; i < keys.length; i++) {
var key = keys[i];
if (obj.hasOwnProperty(key)) {
delete result[key];
}
}
return result;
}
;
/* harmony default export */ __webpack_exports__["a"] = omit;
//# sourceMappingURL=omit.js.map
/***/ }),
/* 12 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_fbjs_lib_shallowEqual__ = __webpack_require__(38);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_fbjs_lib_shallowEqual___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_fbjs_lib_shallowEqual__);
/* unused harmony reexport shallowEqual */
/* harmony default export */ __webpack_exports__["a"] = __WEBPACK_IMPORTED_MODULE_0_fbjs_lib_shallowEqual__;
//# sourceMappingURL=shallowEqual.js.map
/***/ }),
/* 13 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_convertToCSSPrefix__ = __webpack_require__(30);
/* harmony export (immutable) */ __webpack_exports__["a"] = transit;
/* harmony export (immutable) */ __webpack_exports__["b"] = resolveTransit;
var __assign = (this && this.__assign) || Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
;
function transit(value, duration, timing, delay) {
var ret = [value];
ret.transitParams = {
duration: duration,
timing: timing || "ease",
delay: delay !== undefined ? delay : 0,
};
return ret;
}
var nonWebkitPrefixRegexp = /^-(moz|ms|o)-/;
function resolveTransit(style, extraDelay) {
if (extraDelay === void 0) { extraDelay = 0; }
var transitionList = [];
var propertyList = [];
var processedStyle = __assign({}, style);
for (var property in style) {
var val = style[property];
if (Array.isArray(val) && val.transitParams) {
var _a = val.transitParams, duration = _a.duration, timing = _a.timing, delay = _a.delay;
var name_1 = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__utils_convertToCSSPrefix__["a" /* default */])(property);
var transition = name_1 + " " + duration + "ms " + timing + " " + (delay + extraDelay) + "ms";
transitionList.push(transition);
propertyList.push(name_1);
processedStyle[property] = val[0];
}
}
if (transitionList.length > 0) {
processedStyle.transition = transitionList.join(", ");
processedStyle.WebkitTransition = transitionList.
filter(function (item, i) {
return !propertyList[i].match(nonWebkitPrefixRegexp) &&
propertyList.indexOf("-webkit-" + propertyList[i]) < 0;
}).
join(", ");
}
return processedStyle;
}
/***/ }),
/* 14 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__transit__ = __webpack_require__(13);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return StateID; });
/* unused harmony export StateIDList */
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return ActionID; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return actionPropKeys; });
/* unused harmony export transitionNames */
/* unused harmony export hasTransition */
/* unused harmony export getDelay */
/* unused harmony export getState */
/* unused harmony export stateFunc */
/* unused harmony export activeNewState */
/* unused harmony export defaultNewState */
/* unused harmony export appearNewState */
/* unused harmony export activeState */
/* unused harmony export defaultState */
/* unused harmony export appearInitState */
/* unused harmony export enterInitState */
/* unused harmony export leaveInitState */
/* unused harmony export appearPrepareState */
/* unused harmony export enterPrepareState */
/* unused harmony export leavePrepareState */
/* unused harmony export appearTriggeredState */
/* unused harmony export enterTriggeredState */
/* unused harmony export leaveTriggeredState */
/* unused harmony export appearStartedState */
/* unused harmony export enterStartedState */
/* unused harmony export leaveStartedState */
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return reducer; });
/* tslint:disable: variable-name no-switch-case-fall-through */
var __assign = (this && this.__assign) || Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
var StateID;
(function (StateID) {
StateID[StateID["EntryPoint"] = 0] = "EntryPoint";
StateID[StateID["DefaultNew"] = 1] = "DefaultNew";
StateID[StateID["ActiveNew"] = 2] = "ActiveNew";
StateID[StateID["AppearNew"] = 3] = "AppearNew";
StateID[StateID["Default"] = 4] = "Default";
StateID[StateID["Active"] = 5] = "Active";
StateID[StateID["AppearInit"] = 6] = "AppearInit";
StateID[StateID["AppearPrepare"] = 7] = "AppearPrepare";
StateID[StateID["AppearTriggered"] = 8] = "AppearTriggered";
StateID[StateID["AppearStarted"] = 9] = "AppearStarted";
StateID[StateID["EnterInit"] = 10] = "EnterInit";
StateID[StateID["EnterPrepare"] = 11] = "EnterPrepare";
StateID[StateID["EnterTriggered"] = 12] = "EnterTriggered";
StateID[StateID["EnterStarted"] = 13] = "EnterStarted";
StateID[StateID["LeaveInit"] = 14] = "LeaveInit";
StateID[StateID["LeavePrepare"] = 15] = "LeavePrepare";
StateID[StateID["LeaveTriggered"] = 16] = "LeaveTriggered";
StateID[StateID["LeaveStarted"] = 17] = "LeaveStarted";
})(StateID || (StateID = {}));
var StateIDList = [
StateID.ActiveNew, StateID.DefaultNew, StateID.AppearNew,
StateID.Active, StateID.Default,
StateID.AppearInit, StateID.AppearTriggered, StateID.AppearStarted,
StateID.EnterInit, StateID.EnterTriggered, StateID.EnterStarted,
StateID.LeaveInit, StateID.LeaveTriggered, StateID.LeaveStarted,
StateID.AppearPrepare, StateID.EnterPrepare, StateID.LeavePrepare,
];
var ActionID;
(function (ActionID) {
ActionID[ActionID["New"] = 0] = "New";
ActionID[ActionID["Mount"] = 1] = "Mount";
ActionID[ActionID["TransitionInit"] = 2] = "TransitionInit";
ActionID[ActionID["TransitionPrepare"] = 3] = "TransitionPrepare";
ActionID[ActionID["TransitionTrigger"] = 4] = "TransitionTrigger";
ActionID[ActionID["TransitionStart"] = 5] = "TransitionStart";
ActionID[ActionID["TransitionComplete"] = 6] = "TransitionComplete";
ActionID[ActionID["Timeout"] = 7] = "Timeout";
})(ActionID || (ActionID = {}));
var actionPropKeys = [
"active",
"transitionAppear",
"transitionDelay",
"defaultStyle",
"activeStyle",
"appearStyle",
"enterStyle",
"leaveStyle",
"appearInitStyle",
"enterInitStyle",
"leaveInitStyle",
"defaultClassName",
"activeClassName",
"appearClassName",
"enterClassName",
"leaveClassName",
"appearInitClassName",
"enterInitClassName",
"leaveInitClassName",
];
var transitionNames = ["enter", "leave", "appear"];
function hasTransition(name, props) {
var result = props[name + "Style"] !== undefined || props[name + "ClassName"] !== undefined;
return !result && name === "appear"
? hasTransition("enter", props)
: result;
}
function getDelay(name, delay) {
if (!delay) {
return 0;
}
if (typeof delay === "number") {
return delay;
}
return delay[name] ? delay[name] : 0;
}
function getState(id, name, props, params) {
if (params === void 0) { params = {}; }
if (name === "appear" && !props.appearStyle && !props.appearClassName) {
return getState(id, "enter", props, params);
}
var style;
var className;
var inTransition = false;
if (params.mode === "init" || params.mode === "prepare") {
style = props[name + "InitStyle"];
className = props[name + "InitClassName"];
if (style === undefined && className === undefined) {
if (name === "enter" || name === "appear") {
style = props.defaultStyle;
className = props.defaultClassName;
}
else if (name === "leave") {
style = props.activeStyle;
className = props.activeClassName;
}
}
// Setting transition before starting one fixes issues on IE & Edge...
if (params.mode === "prepare" && style !== undefined) {
var tmp = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__transit__["b" /* resolveTransit */])(props[name + "Style"], getDelay(name, props.transitionDelay));
if (tmp.transition) {
style = __assign({}, style, { transition: tmp.transition });
}
}
}
else {
style = props[name + "Style"];
className = props[name + "ClassName"];
if (["enter", "appear", "leave"].indexOf(name) >= 0) {
inTransition = true;
style = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__transit__["b" /* resolveTransit */])(style, getDelay(name, props.transitionDelay));
}
}
style = style || {};
className = className || "";
return {
id: id,
style: style,
className: className,
inTransition: inTransition,
};
}
function stateFunc(id, name, params) {
if (params === void 0) { params = {}; }
return function (props) { return getState(id, name, props, params); };
}
var activeNewState = stateFunc(StateID.ActiveNew, "active");
var defaultNewState = stateFunc(StateID.DefaultNew, "default");
var appearNewState = stateFunc(StateID.AppearNew, "appear", { mode: "init" });
var activeState = stateFunc(StateID.Active, "active");
var defaultState = stateFunc(StateID.Default, "default");
var appearInitState = stateFunc(StateID.AppearInit, "appear", { mode: "init" });
var enterInitState = stateFunc(StateID.EnterInit, "enter", { mode: "init" });
var leaveInitState = stateFunc(StateID.LeaveInit, "leave", { mode: "init" });
var appearPrepareState = stateFunc(StateID.AppearPrepare, "appear", { mode: "prepare" });
var enterPrepareState = stateFunc(StateID.EnterPrepare, "enter", { mode: "prepare" });
var leavePrepareState = stateFunc(StateID.LeavePrepare, "leave", { mode: "prepare" });
var appearTriggeredState = stateFunc(StateID.AppearTriggered, "appear");
var enterTriggeredState = stateFunc(StateID.EnterTriggered, "enter");
var leaveTriggeredState = stateFunc(StateID.LeaveTriggered, "leave");
var appearStartedState = stateFunc(StateID.AppearStarted, "appear");
var enterStartedState = stateFunc(StateID.EnterStarted, "enter");
var leaveStartedState = stateFunc(StateID.LeaveStarted, "leave");
var invalidTransitionError = function (stateID, actionID) {
return new Error("invalid state transition from " + StateID[stateID] + " with " + ActionID[actionID]);
};
var reducer = function (stateID, action) {
var props = action.props;
var nextState;
switch (action.kind) {
case ActionID.New:
if (stateID !== StateID.EntryPoint) {
throw new Error("invalid entrypoint");
}
if (props.active) {
if (props.transitionAppear) {
return { state: appearNewState(props) };
}
return { state: activeNewState(props) };
}
if (!props.transitionAppear && props.active) {
return { state: activeNewState(props) };
}
return { state: defaultNewState(props) };
case ActionID.Mount:
switch (stateID) {
case StateID.AppearNew:
return reducer(stateID, { kind: ActionID.TransitionTrigger, props: props });
default:
return null;
}
case ActionID.TransitionInit:
switch (stateID) {
case StateID.DefaultNew:
case StateID.Default:
if (!hasTransition("enter", props)) {
return { state: activeState(props), completed: true };
}
nextState = enterInitState(props);
break;
case StateID.ActiveNew:
case StateID.Active:
if (!hasTransition("leave", props)) {
return { state: defaultState(props), completed: true };
}
nextState = leaveInitState(props);
break;
case StateID.AppearNew:
if (!hasTransition("appear", props)) {
return { state: activeState(props), completed: true };
}
nextState = appearInitState(props);
break;
default:
throw invalidTransitionError(stateID, action.kind);
}
;
return { state: nextState, pending: ActionID.TransitionPrepare };
case ActionID.TransitionPrepare:
switch (stateID) {
case StateID.EnterInit:
if (!props.active) {
return { state: defaultState(props), completed: true };
}
nextState = enterPrepareState(props);
break;
case StateID.LeaveInit:
if (props.active) {
return { state: activeState(props), completed: true };
}
nextState = leavePrepareState(props);
break;
case StateID.AppearInit:
if (!props.active) {
return { state: defaultState(props), completed: true };
}
nextState = appearPrepareState(props);
break;
default:
throw invalidTransitionError(stateID, action.kind);
}
;
return { state: nextState, pending: ActionID.TransitionTrigger };
case ActionID.TransitionStart:
switch (stateID) {
case StateID.EnterTriggered:
return { state: enterStartedState(props) };
case StateID.LeaveTriggered:
return { state: leaveStartedState(props) };
case StateID.AppearTriggered:
return { state: appearStartedState(props) };
default:
// We don't error out, because the workaround for transitionstart
// could happen after transitionend.
return null;
}
case ActionID.TransitionComplete:
switch (stateID) {
case StateID.AppearTriggered:
case StateID.AppearStarted:
case StateID.EnterTriggered:
case StateID.EnterStarted:
return { state: activeState(props), completed: true };
case StateID.LeaveTriggered:
case StateID.LeaveStarted:
return { state: defaultState(props), completed: true };
default:
throw invalidTransitionError(stateID, action.kind);
}
case ActionID.TransitionTrigger:
switch (stateID) {
case StateID.ActiveNew:
case StateID.Active:
case StateID.DefaultNew:
case StateID.Default:
case StateID.AppearNew:
return reducer(stateID, { kind: ActionID.TransitionInit, props: props });
case StateID.EnterInit:
return { state: defaultState(props), completed: true };
case StateID.LeaveInit:
return { state: activeState(props), completed: true };
case StateID.AppearInit:
return { state: defaultState(props), completed: true };
case StateID.EnterPrepare:
if (props.active) {
return { state: enterTriggeredState(props) };
}
return { state: defaultState(props), completed: true };
case StateID.LeavePrepare:
if (!props.active) {
return { state: leaveTriggeredState(props) };
}
return { state: activeState(props), completed: true };
case StateID.AppearPrepare:
if (props.active) {
return { state: appearTriggeredState(props) };
}
return { state: defaultState(props), completed: true };
case StateID.EnterTriggered:
return { state: defaultState(props), completed: true };
case StateID.LeaveTriggered:
return { state: activeState(props), completed: true };
case StateID.AppearTriggered:
return { state: defaultState(props), completed: true };
case StateID.AppearStarted:
case StateID.EnterStarted:
return { state: leaveStartedState(props) };
case StateID.LeaveStarted:
return { state: enterStartedState(props) };
default:
throw invalidTransitionError(stateID, action.kind);
}
case ActionID.Timeout:
switch (stateID) {
case StateID.AppearTriggered:
case StateID.AppearStarted:
case StateID.EnterTriggered:
case StateID.EnterStarted:
return { state: activeState(props), completed: true };
case StateID.LeaveTriggered:
case StateID.LeaveStarted:
return { state: defaultState(props), completed: true };
default:
throw invalidTransitionError(stateID, action.kind);
}
default:
}
throw new Error("unexpected error");
};
/***/ }),
/* 15 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* unused harmony export parseDuration */
function parseDuration(duration) {
var parsed = parseFloat(duration);
if (duration.match(/ms$/)) {
return parsed;
}
return parsed * 1000;
}
/* harmony default export */ __webpack_exports__["a"] = parseDuration;
/***/ }),
/* 16 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(2);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__blueprint__ = __webpack_require__(0);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_getDisplayName__ = __webpack_require__(19);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__utils_getUniqueKey__ = __webpack_require__(65);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__utils_isReferentiallyTransparentFunctionComponent__ = __webpack_require__(67);
/* harmony export (immutable) */ __webpack_exports__["a"] = assemble;
var __extends = (this && this.__extends) || function (d, b) {
for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var __assign = (this && this.__assign) || Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
var hasWillReceivePropsCallback = function (e) { return e.kind === "componentWillReceivePropsCallback"; };
var AssemblyBase = (function (_super) {
__extends(AssemblyBase, _super);
function AssemblyBase(blueprint, target, isReferentiallyTransparent, props, context) {
var _this = _super.call(this, props, context) || this;
_this.pendingDataUpdate = false;
_this.newestState = {};
_this.unmounted = false;
_this.newestProps = props;
_this.newestContext = context;
_this.isReferentiallyTransparent = isReferentiallyTransparent;
_this.target = target;
_this.callbackList = blueprint.instanceCallbacks();
_this.hasWillReceivePropsCallback = _this.callbackList.some(hasWillReceivePropsCallback);
_this.computed = _this.runInstanceCallbacks({ props: props, context: context, component: _this.target });
_this.state = _this.newestState;
return _this;
}
AssemblyBase.prototype.getChildContext = function () { return this.computed.childContext; };
AssemblyBase.prototype.componentWillMount = function () { return this.runLifeCycleCallbacks("componentWillMountCallback"); };
AssemblyBase.prototype.componentDidMount = function () { return this.runLifeCycleCallbacks("componentDidMountCallback"); };
AssemblyBase.prototype.componentWillUnmount = function () {
this.unmounted = true;
return this.runLifeCycleCallbacks("componentWillUnmountCallback");
};
AssemblyBase.prototype.componentWillUpdate = function () { return this.runLifeCycleCallbacks("componentWillUpdateCallback"); };
AssemblyBase.prototype.componentDidUpdate = function () { return this.runLifeCycleCallbacks("componentDidUpdateCallback"); };
AssemblyBase.prototype.componentWillReceiveProps = function (nextProps, nextContext) {
this.newestProps = nextProps;
this.newestContext = nextContext;
this.handleDataUpdate({
props: nextProps,
context: nextContext,
component: this.target,
});
};
AssemblyBase.prototype.shouldComponentUpdate = function (nextProps, nextState, nextContext) {
if (this.state !== nextState && !this.hasWillReceivePropsCallback) {
// State based props was not computed before, do it now.
this.handleDataUpdate({
props: nextProps,
context: nextContext,
component: this.target,
});
}
var callbacks = this.computed.lifeCycleCallbacks.shouldComponentUpdateCallback;
if (callbacks) {
for (var i = 0; i < callbacks.length; i++) {
if (!callbacks[i]()) {
return false;
}
}
}
return true;
};
AssemblyBase.prototype.render = function () {
var _a = this.computed, Component = _a.component, props = _a.props;
if (!Component) {
return null;
}
if (Component === this.target && this.isReferentiallyTransparent ||
__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__utils_isReferentiallyTransparentFunctionComponent__["a" /* default */])(Component)) {
return Component(props);
}
return __WEBPACK_IMPORTED_MODULE_0_react__["createElement"](Component, __assign({}, props));
};
AssemblyBase.prototype.runLifeCycleCallbacks = function (name) {
var callbacks = this.computed.lifeCycleCallbacks[name];
if (callbacks) {
callbacks.forEach(function (cb) { return cb(); });
}
};
AssemblyBase.prototype.applyStateDiff = function (stateDiff) {
this.newestState = __assign({}, this.newestState, stateDiff);
};
AssemblyBase.prototype.setStateWithLifeCycle = function (stateDiff, callback, init, startAt) {
if (init === void 0) { init = this.defaultInit; }
if (startAt === void 0) { startAt = 0; }
if (this.pendingDataUpdate) {
// we are in the middle of a data update.
if (!this.pendingDataUpdate.dirty || startAt < this.pendingDataUpdate.startAt) {
this.pendingDataUpdate.dirty = true;
this.pendingDataUpdate.init = init;
this.pendingDataUpdate.startAt = startAt;
}
if (callback) {
this.pendingDataUpdate.callbacks.push(callback);
}
this.applyStateDiff(stateDiff);
}
else if (this.hasWillReceivePropsCallback) {
// runs callbacks with the new state which will run the `componentWillReceiveProps` lifecycle
this.handleDataUpdate(init, startAt, stateDiff, callback);
}
else {
// state changes are batched and props will be recalculated in `shouldComponentUpdate`.
this.applyStateDiff(stateDiff);
this.setState(this.newestState, callback);
}
};
Object.defineProperty(AssemblyBase.prototype, "defaultInit", {
get: function () {
return {
props: this.newestProps,
context: this.newestContext,
component: this.target,
};
},
enumerable: true,
configurable: true
});
AssemblyBase.prototype.handleDataUpdate = function (init, startAt, stateDiff, callback) {
if (init === void 0) { init = this.defaultInit; }
if (startAt === void 0) { startAt = 0; }
if (stateDiff === void 0) { stateDiff = {}; }
if (callback === void 0) { callback = null; }
var oldState = this.newestState;
if (stateDiff) {
this.applyStateDiff(stateDiff);
}
this.pendingDataUpdate = { callbacks: callback ? [callback] : [] };
this.computed = this.runInstanceCallbacks(init, startAt);
var callbacks = this.pendingDataUpdate.callbacks;
this.pendingDataUpdate = null;
if (this.newestState !== oldState) {
// Component could be unmounted because something during the lifecycle call can
// cause a parent component to unmount this before it completed its data update.
if (!this.unmounted) {
this.setState(this.newestState, function () { return callbacks.forEach(function (cb) { return cb(); }); });
}
}
};
AssemblyBase.prototype.runInstanceCallbacks = function (init, startAt) {
var _this = this;
if (startAt === void 0) { startAt = 0; }
var interim = __assign({}, init);
if (!interim.lifeCycleCallbacks) {
interim.lifeCycleCallbacks = {};
}
var _loop_1 = function (idx) {
var entry = this_1.callbackList[idx];
switch (entry.kind) {
case "propsCallback":
interim.props = entry.callback(interim.props, this_1.newestState, interim.context);
break;
case "stateCallback":
{
var sc_1 = entry;
if (this_1.hasWillReceivePropsCallback) {
sc_1.init = __assign({}, interim);
sc_1.startAt = idx;
}
if (!sc_1.called) {
sc_1.called = true;
var initState = function (name, value) {
var unique = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__utils_getUniqueKey__["a" /* default */])(name, _this.newestState);
_this.applyStateDiff((_a = {}, _a[unique] = value, _a));
var updater = function (val, callback) {
_this.setStateWithLifeCycle((_a = {}, _a[unique] = val, _a), callback, sc_1.init, sc_1.startAt);
var _a;
};
return { name: unique, updater: updater };
var _a;
};
entry.callback(initState, interim.props, this_1.newestState, interim.context);
}
}
break;
case "childContextCallback":
interim.childContext = entry.callback(interim.childContext, interim.props, this_1.newestState, interim.context);
break;
case "skipCallback":
idx += entry.callback(interim.props, this_1.newestState, interim.context);
break;
case "renderCallback":
interim.component = entry.callback(interim.component, interim.props, this_1.newestState, interim.context);
break;
case "lazyLoadCallback":
var list = entry.callback(interim.props, this_1.newestState,