/*! (c) 2014 - present: Jason Quense | https://github.com/jquense/react-widgets/blob/master/LICENSE.md */
(function webpackUniversalModuleDefinition(root, factory) {
if(typeof exports === 'object' && typeof module === 'object')
module.exports = factory(require("react"), require("react-dom"));
else if(typeof define === 'function' && define.amd)
define(["react", "react-dom"], factory);
else if(typeof exports === 'object')
exports["ReactWidgets"] = factory(require("react"), require("react-dom"));
else
root["ReactWidgets"] = factory(root["React"], root["ReactDOM"]);
})(this, function(__WEBPACK_EXTERNAL_MODULE_0__, __WEBPACK_EXTERNAL_MODULE_5__) {
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;
/******/
/******/ // 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 = 63);
/******/ })
/************************************************************************/
/******/ ([
/* 0 */
/***/ (function(module, exports) {
module.exports = __WEBPACK_EXTERNAL_MODULE_0__;
/***/ }),
/* 1 */
/***/ (function(module, exports, __webpack_require__) {
/* WEBPACK VAR INJECTION */(function(process) {/**
* 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 (process.env.NODE_ENV !== '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 = __webpack_require__(66)(isValidElement, throwOnDirectAccess);
} else {
// By explicitly using `prop-types` you are opting into new production behavior.
// http://fb.me/prop-types-in-prod
module.exports = __webpack_require__(68)();
}
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(7)))
/***/ }),
/* 2 */
/***/ (function(module, exports, __webpack_require__) {
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
Copyright (c) 2016 Jed Watson.
Licensed under the MIT License (MIT), see
http://jedwatson.github.io/classnames
*/
/* global define */
(function () {
'use strict';
var hasOwn = {}.hasOwnProperty;
function classNames () {
var classes = [];
for (var i = 0; i < arguments.length; i++) {
var arg = arguments[i];
if (!arg) continue;
var argType = typeof arg;
if (argType === 'string' || argType === 'number') {
classes.push(arg);
} else if (Array.isArray(arg)) {
classes.push(classNames.apply(null, arg));
} else if (argType === 'object') {
for (var key in arg) {
if (hasOwn.call(arg, key) && arg[key]) {
classes.push(key);
}
}
}
}
return classes.join(' ');
}
if (typeof module !== 'undefined' && module.exports) {
module.exports = classNames;
} else if (true) {
// register as 'classnames', consistent with npm package name
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = function () {
return classNames;
}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),
__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
} else {
window.classNames = classNames;
}
}());
/***/ }),
/* 3 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
exports.__esModule = true;
exports.message = exports.accessor = exports.disabled = exports.dateFormat = exports.numberFormat = exports.elementType = undefined;
var _propTypes = __webpack_require__(1);
var _propTypes2 = _interopRequireDefault(_propTypes);
var _elementType = __webpack_require__(84);
var _elementType2 = _interopRequireDefault(_elementType);
var _createChainableTypeChecker = __webpack_require__(57);
var _createChainableTypeChecker2 = _interopRequireDefault(_createChainableTypeChecker);
var _localizers = __webpack_require__(6);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.elementType = _elementType2.default;
var numberFormat = exports.numberFormat = (0, _createChainableTypeChecker2.default)(function () {
return _localizers.number.propType.apply(_localizers.number, arguments);
});
var dateFormat = exports.dateFormat = (0, _createChainableTypeChecker2.default)(function () {
return _localizers.date.propType.apply(_localizers.date, arguments);
});
var disabled = exports.disabled = (0, _createChainableTypeChecker2.default)(function () {
return _propTypes2.default.bool.apply(_propTypes2.default, arguments);
});
disabled.acceptsArray = _propTypes2.default.oneOfType([disabled, _propTypes2.default.array]);
var accessor = exports.accessor = _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.func]);
var message = exports.message = _propTypes2.default.oneOfType([_propTypes2.default.node, _propTypes2.default.string, _propTypes2.default.func]);
/***/ }),
/* 4 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
exports.__esModule = true;
exports.pick = pick;
exports.pickElementProps = pickElementProps;
exports.omitOwn = omitOwn;
var whitelist = ['style', 'className', 'role', 'id', 'autocomplete', 'size', 'tabIndex', 'maxLength', 'name'];
var whitelistRegex = [/^aria-/, /^data-/, /^on[A-Z]\w+/];
function pick(props, componentClass) {
var keys = Object.keys(componentClass.propTypes);
var result = {};
Object.keys(props).forEach(function (key) {
if (keys.indexOf(key) === -1) return;
result[key] = props[key];
});
return result;
}
function pickElementProps(component) {
for (var _len = arguments.length, others = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
others[_key - 1] = arguments[_key];
}
var props = omitOwn.apply(undefined, [component].concat(others));
var result = {};
Object.keys(props).forEach(function (key) {
if (whitelist.indexOf(key) !== -1 || whitelistRegex.some(function (r) {
return !!key.match(r);
})) result[key] = props[key];
});
return result;
}
function omitOwn(component) {
var initial = Object.keys(component.constructor.propTypes);
for (var _len2 = arguments.length, others = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
others[_key2 - 1] = arguments[_key2];
}
var keys = others.reduce(function (arr, compClass) {
return [].concat(arr, Object.keys(compClass.propTypes));
}, initial);
var result = {};
Object.keys(component.props).forEach(function (key) {
if (keys.indexOf(key) !== -1) return;
result[key] = component.props[key];
});
return result;
}
/***/ }),
/* 5 */
/***/ (function(module, exports) {
module.exports = __WEBPACK_EXTERNAL_MODULE_5__;
/***/ }),
/* 6 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
/* WEBPACK VAR INJECTION */(function(process) {
exports.__esModule = true;
exports.setDate = exports.date = exports.setNumber = exports.number = undefined;
var _invariant = __webpack_require__(26);
var _invariant2 = _interopRequireDefault(_invariant);
var _ = __webpack_require__(8);
var _propTypes = __webpack_require__(1);
var _propTypes2 = _interopRequireDefault(_propTypes);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var localePropType = _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.func]);
var REQUIRED_NUMBER_FORMATS = ['default'];
var REQUIRED_DATE_FORMATS = ['default', 'date', 'time', 'header', 'footer', 'dayOfMonth', 'month', 'year', 'decade', 'century'];
var _numberLocalizer = createWrapper('NumberPicker');
var number = exports.number = {
propType: function propType() {
var _numberLocalizer2;
return (_numberLocalizer2 = _numberLocalizer).propType.apply(_numberLocalizer2, arguments);
},
getFormat: function getFormat(key, format) {
return format || _numberLocalizer.formats[key];
},
parse: function parse() {
var _numberLocalizer3;
return (_numberLocalizer3 = _numberLocalizer).parse.apply(_numberLocalizer3, arguments);
},
format: function format() {
var _numberLocalizer4;
return (_numberLocalizer4 = _numberLocalizer).format.apply(_numberLocalizer4, arguments);
},
decimalChar: function decimalChar() {
var _numberLocalizer5;
return (_numberLocalizer5 = _numberLocalizer).decimalChar.apply(_numberLocalizer5, arguments);
},
precision: function precision() {
var _numberLocalizer6;
return (_numberLocalizer6 = _numberLocalizer).precision.apply(_numberLocalizer6, arguments);
}
};
function setNumber(_ref) {
var format = _ref.format,
_parse = _ref.parse,
formats = _ref.formats,
_ref$propType = _ref.propType,
propType = _ref$propType === undefined ? localePropType : _ref$propType,
_ref$decimalChar = _ref.decimalChar,
decimalChar = _ref$decimalChar === undefined ? function () {
return '.';
} : _ref$decimalChar,
_ref$precision = _ref.precision,
precision = _ref$precision === undefined ? function () {
return null;
} : _ref$precision;
checkFormats(REQUIRED_NUMBER_FORMATS, formats);
_numberLocalizer = {
formats: formats,
precision: precision,
decimalChar: decimalChar,
propType: propType,
format: wrapFormat(format),
parse: function parse(value, culture, format) {
var result = _parse.call(this, value, culture, format);
!(result == null || typeof result === 'number') ? process.env.NODE_ENV !== 'production' ? (0, _invariant2.default)(false, 'number localizer `parse(..)` must return a number, null, or undefined') : (0, _invariant2.default)(false) : void 0;
return result;
}
};
}
exports.setNumber = setNumber;
var _dateLocalizer = createWrapper('DateTimePicker');
var date = exports.date = {
propType: function propType() {
var _dateLocalizer2;
return (_dateLocalizer2 = _dateLocalizer).propType.apply(_dateLocalizer2, arguments);
},
getFormat: function getFormat(key, format) {
return format || _dateLocalizer.formats[key];
},
parse: function parse() {
var _dateLocalizer3;
return (_dateLocalizer3 = _dateLocalizer).parse.apply(_dateLocalizer3, arguments);
},
format: function format() {
var _dateLocalizer4;
return (_dateLocalizer4 = _dateLocalizer).format.apply(_dateLocalizer4, arguments);
},
firstOfWeek: function firstOfWeek() {
var _dateLocalizer5;
return (_dateLocalizer5 = _dateLocalizer).firstOfWeek.apply(_dateLocalizer5, arguments);
}
};
function setDate(_ref2) {
var formats = _ref2.formats,
format = _ref2.format,
_parse2 = _ref2.parse,
firstOfWeek = _ref2.firstOfWeek,
_ref2$propType = _ref2.propType,
propType = _ref2$propType === undefined ? localePropType : _ref2$propType;
checkFormats(REQUIRED_DATE_FORMATS, formats);
_dateLocalizer = {
formats: formats,
propType: propType,
firstOfWeek: firstOfWeek,
format: wrapFormat(format),
parse: function parse(value, culture) {
var result = _parse2.call(this, value, culture);
!(result == null || result instanceof Date && !isNaN(result.getTime())) ? process.env.NODE_ENV !== 'production' ? (0, _invariant2.default)(false, 'date localizer `parse(..)` must return a valid Date, null, or undefined') : (0, _invariant2.default)(false) : void 0;
return result;
}
};
}
exports.setDate = setDate;
var wrapFormat = function wrapFormat(formatter) {
return function (value, format, culture) {
var result = typeof format === 'function' ? format(value, culture, this) : formatter.call(this, value, format, culture);
!(result == null || typeof result === 'string') ? process.env.NODE_ENV !== 'production' ? (0, _invariant2.default)(false, '`localizer format(..)` must return a string, null, or undefined') : (0, _invariant2.default)(false) : void 0;
return result;
};
};
function checkFormats(required, formats) {
if (process.env.NODE_ENV !== 'production') required.forEach(function (f) {
return !(0, _.has)(formats, f) ? process.env.NODE_ENV !== 'production' ? (0, _invariant2.default)(false, 'localizer missing required format: `%s`', f) : (0, _invariant2.default)(false) : void 0;
});
}
function createWrapper() {
var dummy = {};
if (process.env.NODE_ENV !== 'production') {
['formats', 'parse', 'format', 'firstOfWeek', 'precision', 'propType'].forEach(function (name) {
return Object.defineProperty(dummy, name, {
enumerable: true,
get: function get() {
throw new Error('[React Widgets] You are attempting to use a widget that requires localization ' + '(Calendar, DateTimePicker, NumberPicker). ' + 'However there is no localizer set. Please configure a localizer. \n\n' + 'see http://jquense.github.io/react-widgets/docs/#/i18n for more info.');
}
});
});
}
return dummy;
}
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(7)))
/***/ }),
/* 7 */
/***/ (function(module, exports) {
// shim for using process in browser
var process = module.exports = {};
// cached from whatever global is present so that test runners that stub it
// don't break things. But we need to wrap it in a try catch in case it is
// wrapped in strict mode code which doesn't define any globals. It's inside a
// function because try/catches deoptimize in certain engines.
var cachedSetTimeout;
var cachedClearTimeout;
function defaultSetTimout() {
throw new Error('setTimeout has not been defined');
}
function defaultClearTimeout () {
throw new Error('clearTimeout has not been defined');
}
(function () {
try {
if (typeof setTimeout === 'function') {
cachedSetTimeout = setTimeout;
} else {
cachedSetTimeout = defaultSetTimout;
}
} catch (e) {
cachedSetTimeout = defaultSetTimout;
}
try {
if (typeof clearTimeout === 'function') {
cachedClearTimeout = clearTimeout;
} else {
cachedClearTimeout = defaultClearTimeout;
}
} catch (e) {
cachedClearTimeout = defaultClearTimeout;
}
} ())
function runTimeout(fun) {
if (cachedSetTimeout === setTimeout) {
//normal enviroments in sane situations
return setTimeout(fun, 0);
}
// if setTimeout wasn't available but was latter defined
if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {
cachedSetTimeout = setTimeout;
return setTimeout(fun, 0);
}
try {
// when when somebody has screwed with setTimeout but no I.E. maddness
return cachedSetTimeout(fun, 0);
} catch(e){
try {
// When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
return cachedSetTimeout.call(null, fun, 0);
} catch(e){
// same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error
return cachedSetTimeout.call(this, fun, 0);
}
}
}
function runClearTimeout(marker) {
if (cachedClearTimeout === clearTimeout) {
//normal enviroments in sane situations
return clearTimeout(marker);
}
// if clearTimeout wasn't available but was latter defined
if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {
cachedClearTimeout = clearTimeout;
return clearTimeout(marker);
}
try {
// when when somebody has screwed with setTimeout but no I.E. maddness
return cachedClearTimeout(marker);
} catch (e){
try {
// When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
return cachedClearTimeout.call(null, marker);
} catch (e){
// same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.
// Some versions of I.E. have different rules for clearTimeout vs setTimeout
return cachedClearTimeout.call(this, marker);
}
}
}
var queue = [];
var draining = false;
var currentQueue;
var queueIndex = -1;
function cleanUpNextTick() {
if (!draining || !currentQueue) {
return;
}
draining = false;
if (currentQueue.length) {
queue = currentQueue.concat(queue);
} else {
queueIndex = -1;
}
if (queue.length) {
drainQueue();
}
}
function drainQueue() {
if (draining) {
return;
}
var timeout = runTimeout(cleanUpNextTick);
draining = true;
var len = queue.length;
while(len) {
currentQueue = queue;
queue = [];
while (++queueIndex < len) {
if (currentQueue) {
currentQueue[queueIndex].run();
}
}
queueIndex = -1;
len = queue.length;
}
currentQueue = null;
draining = false;
runClearTimeout(timeout);
}
process.nextTick = function (fun) {
var args = new Array(arguments.length - 1);
if (arguments.length > 1) {
for (var i = 1; i < arguments.length; i++) {
args[i - 1] = arguments[i];
}
}
queue.push(new Item(fun, args));
if (queue.length === 1 && !draining) {
runTimeout(drainQueue);
}
};
// v8 likes predictible objects
function Item(fun, array) {
this.fun = fun;
this.array = array;
}
Item.prototype.run = function () {
this.fun.apply(null, this.array);
};
process.title = 'browser';
process.browser = true;
process.env = {};
process.argv = [];
process.version = ''; // empty string to avoid regexp issues
process.versions = {};
function noop() {}
process.on = noop;
process.addListener = noop;
process.once = noop;
process.off = noop;
process.removeListener = noop;
process.removeAllListeners = noop;
process.emit = noop;
process.prependListener = noop;
process.prependOnceListener = noop;
process.listeners = function (name) { return [] }
process.binding = function (name) {
throw new Error('process.binding is not supported');
};
process.cwd = function () { return '/' };
process.chdir = function (dir) {
throw new Error('process.chdir is not supported');
};
process.umask = function() { return 0; };
/***/ }),
/* 8 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
/* WEBPACK VAR INJECTION */(function(process) {
exports.__esModule = true;
exports.has = exports.makeArray = undefined;
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
exports.isShallowEqual = isShallowEqual;
exports.chunk = chunk;
exports.groupBySortedKeys = groupBySortedKeys;
var _warning = __webpack_require__(65);
var _warning2 = _interopRequireDefault(_warning);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var makeArray = exports.makeArray = function makeArray(obj) {
return obj == null ? [] : [].concat(obj);
};
var has = exports.has = function has(o, k) {
return o ? Object.prototype.hasOwnProperty.call(o, k) : false;
};
function isShallowEqual(a, b) {
if (a === b) return true;
if (a instanceof Date && b instanceof Date) return +a === +b;
if ((typeof a === 'undefined' ? 'undefined' : _typeof(a)) !== 'object' && (typeof b === 'undefined' ? 'undefined' : _typeof(b)) !== 'object') return a === b;
if ((typeof a === 'undefined' ? 'undefined' : _typeof(a)) !== (typeof b === 'undefined' ? 'undefined' : _typeof(b))) return false;
if (a == null || b == null) return false; // if they were both null we wouldn't be here
var keysA = Object.keys(a);
var keysB = Object.keys(b);
if (keysA.length !== keysB.length) return false;
for (var i = 0; i < keysA.length; i++) {
if (!has(b, keysA[i]) || a[keysA[i]] !== b[keysA[i]]) return false;
}return true;
}
function chunk(array, chunkSize) {
var index = 0,
length = array ? array.length : 0;
var result = [];
chunkSize = Math.max(+chunkSize || 1, 1);
while (index < length) {
result.push(array.slice(index, index += chunkSize));
}return result;
}
function groupBySortedKeys(groupBy, data, keys) {
var iter = typeof groupBy === 'function' ? groupBy : function (item) {
return item[groupBy];
};
// the keys array ensures that groups are rendered in the order they came in
// which means that if you sort the data array it will render sorted,
// so long as you also sorted by group
keys = keys || [];
process.env.NODE_ENV !== 'production' ? (0, _warning2.default)(typeof groupBy !== 'string' || !data.length || has(data[0], groupBy), '[React Widgets] You seem to be trying to group this list by a ' + ('property `' + groupBy + '` that doesn\'t exist in the dataset items, this may be a typo')) : void 0;
return data.reduce(function (grps, item) {
var group = iter(item);
if (has(grps, group)) {
grps[group].push(item);
} else {
keys.push(group);
grps[group] = [item];
}
return grps;
}, {});
}
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(7)))
/***/ }),
/* 9 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
exports.__esModule = true;
exports.mixin = exports.spyOnComponent = exports.timeoutManager = exports.mountManager = exports.focusManager = exports.autoFocus = undefined;
var _spyOnComponent = __webpack_require__(28);
var _spyOnComponent2 = _interopRequireDefault(_spyOnComponent);
var _autoFocus = __webpack_require__(70);
var _autoFocus2 = _interopRequireDefault(_autoFocus);
var _focusManager = __webpack_require__(71);
var _focusManager2 = _interopRequireDefault(_focusManager);
var _mountManager = __webpack_require__(39);
var _mountManager2 = _interopRequireDefault(_mountManager);
var _timeoutManager = __webpack_require__(47);
var _timeoutManager2 = _interopRequireDefault(_timeoutManager);
var _mixin = __webpack_require__(72);
var _mixin2 = _interopRequireDefault(_mixin);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.autoFocus = _autoFocus2.default;
exports.focusManager = _focusManager2.default;
exports.mountManager = _mountManager2.default;
exports.timeoutManager = _timeoutManager2.default;
exports.spyOnComponent = _spyOnComponent2.default;
exports.mixin = _mixin2.default;
/***/ }),
/* 10 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
exports.__esModule = true;
exports.notify = notify;
exports.instanceId = instanceId;
exports.isFirstFocusedRender = isFirstFocusedRender;
var idCount = 0;
function uniqueId(prefix) {
return '' + ((prefix == null ? '' : prefix) + ++idCount);
}
function notify(handler, args) {
handler && handler.apply(null, [].concat(args));
}
function instanceId(component) {
var suffix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
component.__id || (component.__id = uniqueId('rw_'));
return (component.props.id || component.__id) + suffix;
}
function isFirstFocusedRender(component) {
return component._firstFocus || component.state.focused && (component._firstFocus = true);
}
/***/ }),
/* 11 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = !!(typeof window !== 'undefined' && window.document && window.document.createElement);
module.exports = exports['default'];
/***/ }),
/* 12 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
exports.__esModule = true;
exports.getMessages = getMessages;
var _react = __webpack_require__(0);
var _react2 = _interopRequireDefault(_react);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var messages = {
moveBack: 'Navigate back',
moveForward: 'Navigate forward',
dateButton: 'Select date',
timeButton: 'Select time',
openCombobox: 'open combobox',
openDropdown: 'open dropdown',
placeholder: '',
filterPlaceholder: '',
emptyList: 'There are no items in this list',
emptyFilter: 'The filter returned no results',
createOption: function createOption(_ref) {
var searchTerm = _ref.searchTerm;
return [' Create option', searchTerm && ' ', searchTerm && _react2.default.createElement(
'strong',
{ key: '_' },
'"' + searchTerm + '"'
)];
},
tagsLabel: 'Selected items',
removeLabel: 'Remove selected item',
noneSelected: 'no selected items',
selectedItems: function selectedItems(labels) {
return 'Selected items: ' + labels.join(', ');
},
// number
increment: 'Increment value',
decrement: 'Decrement value'
};
function getMessages() {
var defaults = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
var processed = {};
Object.keys(messages).forEach(function (message) {
var value = defaults[message];
if (value == null) value = messages[message];
processed[message] = typeof value === 'function' ? value : function () {
return value;
};
});
return processed;
}
/***/ }),
/* 13 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
exports.__esModule = true;
exports.disabledManager = exports.widgetEditable = exports.widgetEnabled = exports.isInDisabledFieldset = undefined;
var _reactDom = __webpack_require__(5);
var _matches = __webpack_require__(60);
var _matches2 = _interopRequireDefault(_matches);
var _reactComponentManagers = __webpack_require__(9);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var isInDisabledFieldset = exports.isInDisabledFieldset = function isInDisabledFieldset(inst) {
var node = void 0;
try {
node = (0, _reactDom.findDOMNode)(inst);
} catch (err) {/* ignore */}
return !!node && (0, _matches2.default)(node, 'fieldset[disabled] *');
};
var widgetEnabled = exports.widgetEnabled = interactionDecorator(true);
var widgetEditable = exports.widgetEditable = interactionDecorator(false);
function interactionDecorator(disabledOnly) {
function wrap(method) {
return function decoratedMethod() {
var _props = this.props,
disabled = _props.disabled,
readOnly = _props.readOnly;
disabled = isInDisabledFieldset(this) || disabled == true || !disabledOnly && readOnly === true;
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
if (!disabled) return method.apply(this, args);
};
}
return function decorate(target, key, desc) {
if (desc.initializer) {
var init = desc.initializer;
desc.initializer = function () {
return wrap(init.call(this)).bind(this);
};
} else desc.value = wrap(desc.value);
return desc;
};
}
var disabledManager = exports.disabledManager = function disabledManager(component) {
var mounted = false;
var isInFieldSet = false;
var useCached = false;
(0, _reactComponentManagers.spyOnComponent)(component, {
componentDidMount: function componentDidMount() {
mounted = true;
// becasue we can't access a dom node in the first render we need to
// render again if the component was disabled via a fieldset
if (isInDisabledFieldset(this)) this.forceUpdate();
},
componentWillUpdate: function componentWillUpdate() {
isInFieldSet = mounted && isInDisabledFieldset(component);
useCached = mounted;
},
componentDidUpdate: function componentDidUpdate() {
useCached = false;
},
componentWillUnmount: function componentWillUnmount() {
component = null;
}
});
return function () {
return component.props.disabled === true || (useCached ? isInFieldSet : mounted && isInDisabledFieldset(component)) || component.props.disabled // return the prop if nothing is true in case it's an array
;
};
};
/***/ }),
/* 14 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
exports.__esModule = true;
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
var _dateArithmetic = __webpack_require__(96);
var _dateArithmetic2 = _interopRequireDefault(_dateArithmetic);
var _constants = __webpack_require__(35);
var _localizers = __webpack_require__(6);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var dates = _extends({}, _dateArithmetic2.default, {
monthsInYear: function monthsInYear(year) {
var date = new Date(year, 0, 1);
return [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11].map(function (i) {
return dates.month(date, i);
});
},
firstVisibleDay: function firstVisibleDay(date, culture) {
var firstOfMonth = dates.startOf(date, 'month');
return dates.startOf(firstOfMonth, 'week', _localizers.date.firstOfWeek(culture));
},
lastVisibleDay: function lastVisibleDay(date, culture) {
var endOfMonth = dates.endOf(date, 'month');
return dates.endOf(endOfMonth, 'week', _localizers.date.firstOfWeek(culture));
},
visibleDays: function visibleDays(date, culture) {
var current = dates.firstVisibleDay(date, culture);
var last = dates.lastVisibleDay(date, culture);
var days = [];
while (dates.lte(current, last, 'day')) {
days.push(current);
current = dates.add(current, 1, 'day');
}
return days;
},
move: function move(date, min, max, unit, direction) {
var isMonth = unit === 'month';
var isUpOrDown = direction === _constants.directions.UP || direction === _constants.directions.DOWN;
var rangeUnit = _constants.calendarViewUnits[unit];
var addUnit = isMonth && isUpOrDown ? 'week' : _constants.calendarViewUnits[unit];
var amount = isMonth || !isUpOrDown ? 1 : 4;
var newDate = void 0;
if (direction === _constants.directions.UP || direction === _constants.directions.LEFT) amount *= -1;
newDate = dates.add(date, amount, addUnit);
return dates.inRange(newDate, min, max, rangeUnit) ? newDate : date;
},
merge: function merge(date, time, defaultDate) {
if (time == null && date == null) return null;
if (time == null) time = defaultDate || new Date();
if (date == null) date = defaultDate || new Date();
date = dates.startOf(date, 'day');
date = dates.hours(date, dates.hours(time));
date = dates.minutes(date, dates.minutes(time));
date = dates.seconds(date, dates.seconds(time));
return dates.milliseconds(date, dates.milliseconds(time));
},
today: function today() {
return dates.startOf(new Date(), 'day');
},
tomorrow: function tomorrow() {
return dates.add(dates.startOf(new Date(), 'day'), 1, 'day');
}
});
exports.default = dates;
module.exports = exports['default'];
/***/ }),
/* 15 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
exports.__esModule = true;
var _createUncontrollable = __webpack_require__(73);
var _createUncontrollable2 = _interopRequireDefault(_createUncontrollable);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var mixin = {
shouldComponentUpdate: function shouldComponentUpdate() {
//let the forceUpdate trigger the update
return !this._notifying;
}
};
function set(component, propName, handler, value, args) {
if (handler) {
component._notifying = true;
handler.call.apply(handler, [component, value].concat(args));
component._notifying = false;
}
component._values[propName] = value;
if (!component.unmounted) component.forceUpdate();
}
exports.default = (0, _createUncontrollable2.default)(mixin, set);
module.exports = exports['default'];
/***/ }),
/* 16 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
exports.__esModule = true;
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
var _class, _temp;
var _react = __webpack_require__(0);
var _react2 = _interopRequireDefault(_react);
var _propTypes = __webpack_require__(1);
var _propTypes2 = _interopRequireDefault(_propTypes);
var _classnames = __webpack_require__(2);
var _classnames2 = _interopRequireDefault(_classnames);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
var Widget = (_temp = _class = function (_React$Component) {
_inherits(Widget, _React$Component);
function Widget() {
_classCallCheck(this, Widget);
return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));
}
Widget.prototype.render = function render() {
var _props = this.props,
className = _props.className,
tabIndex = _props.tabIndex,
focused = _props.focused,
open = _props.open,
dropUp = _props.dropUp,
disabled = _props.disabled,
readOnly = _props.readOnly,
props = _objectWithoutProperties(_props, ['className', 'tabIndex', 'focused', 'open', 'dropUp', 'disabled', 'readOnly']);
var isRtl = !!this.context.isRtl;
tabIndex = tabIndex != null ? tabIndex : '-1';
return _react2.default.createElement('div', _extends({}, props, {
tabIndex: tabIndex,
className: (0, _classnames2.default)(className, 'rw-widget', isRtl && 'rw-rtl', disabled && 'rw-state-disabled', readOnly && 'rw-state-readonly', focused && 'rw-state-focus', open && 'rw-open' + (dropUp ? '-up' : ''))
}));
};
return Widget;
}(_react2.default.Component), _class.propTypes = {
tabIndex: _propTypes2.default.node,
focused: _propTypes2.default.bool,
disabled: _propTypes2.default.bool,
readOnly: _propTypes2.default.bool,
open: _propTypes2.default.bool,
dropUp: _propTypes2.default.bool
}, _class.contextTypes = {
isRtl: _propTypes2.default.bool
}, _temp);
exports.default = Widget;
module.exports = exports['default'];
/***/ }),
/* 17 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
exports.__esModule = true;
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
exports.default = createFocusManager;
var _reactComponentManagers = __webpack_require__(9);
var _interaction = __webpack_require__(13);
function createFocusManager(component, options) {
var _didHandle = options.didHandle;
return (0, _reactComponentManagers.focusManager)(component, _extends({}, options, {
onChange: function onChange(focused) {
component.setState({ focused: focused });
},
isDisabled: function isDisabled() {
return (0, _interaction.isInDisabledFieldset)(component) || component.props.disabled === true;
},
didHandle: function didHandle(focused, event) {
var handler = this.props[focused ? 'onFocus' : 'onBlur'];
handler && handler(event);
if (_didHandle && !event.isWidgetDefaultPrevented) _didHandle(focused, event);
}
}));
}
module.exports = exports['default'];
/***/ }),
/* 18 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
exports.__esModule = true;
var _propTypes = __webpack_require__(1);
var _propTypes2 = _interopRequireDefault(_propTypes);
var _reactComponentManagers = __webpack_require__(9);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = (0, _reactComponentManagers.mixin)({
propTypes: {
isRtl: _propTypes2.default.bool
},
contextTypes: {
isRtl: _propTypes2.default.bool
},
childContextTypes: {
isRtl: _propTypes2.default.bool
},
getChildContext: function getChildContext() {
return {
isRtl: this.isRtl()
};
},
isRtl: function isRtl() {
return !!(this.props.isRtl || this.context && this.context.isRtl);
}
});
module.exports = exports['default'];
/***/ }),
/* 19 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
exports.__esModule = true;
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
var _class, _temp;
var _react = __webpack_require__(0);
var _react2 = _interopRequireDefault(_react);
var _propTypes = __webpack_require__(1);
var _propTypes2 = _interopRequireDefault(_propTypes);
var _classnames = __webpack_require__(2);
var _classnames2 = _interopRequireDefault(_classnames);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
var Button = (_temp = _class = function (_React$Component) {
_inherits(Button, _React$Component);
function Button() {
_classCallCheck(this, Button);
return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));
}
Button.prototype.render = function render() {
var _props = this.props,
className = _props.className,
disabled = _props.disabled,
label = _props.label,
icon = _props.icon,
busy = _props.busy,
active = _props.active,
children = _props.children,
_props$variant = _props.variant,
variant = _props$variant === undefined ? 'primary' : _props$variant,
_props$component = _props.component,
Tag = _props$component === undefined ? 'button' : _props$component,
props = _objectWithoutProperties(_props, ['className', 'disabled', 'label', 'icon', 'busy', 'active', 'children', 'variant', 'component']);
var type = props.type;
if (Tag === 'button') type = type || 'button';
return _react2.default.createElement(
Tag,
_extends({}, props, {
tabIndex: '-1',
title: label,
type: type,
disabled: disabled,
'aria-disabled': disabled,
'aria-label': label,
className: (0, _classnames2.default)(className, 'rw-btn', active && !disabled && 'rw-state-active', variant && 'rw-btn-' + variant)
}),
(icon || busy) && _react2.default.createElement('span', {
'aria-hidden': 'true',
className: (0, _classnames2.default)('rw-i', 'rw-i-' + icon, busy && 'rw-loading')
}),
children
);
};
return Button;
}(_react2.default.Component), _class.propTypes = {
disabled: _propTypes2.default.bool,
label: _propTypes2.default.string,
icon: _propTypes2.default.string,
busy: _propTypes2.default.bool,
active: _propTypes2.default.bool,
variant: _propTypes2.default.oneOf(['primary', 'select']),
component: _propTypes2.default.any
}, _temp);
exports.default = Button;
module.exports = exports['default'];
/***/ }),
/* 20 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
exports.__esModule = true;
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
exports.normalizeComponent = normalizeComponent;
exports.defaultGetDataState = defaultGetDataState;
exports.default = listDataManager;
var _react = __webpack_require__(0);
var _react2 = _interopRequireDefault(_react);
var _reactComponentManagers = __webpack_require__(9);
var _Filter = __webpack_require__(32);
var _ = __webpack_require__(8);
var _accessorManager = __webpack_require__(24);
var _accessorManager2 = _interopRequireDefault(_accessorManager);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
var EMPTY_VALUE = {};
function normalizeComponent(Component) {
return function (itemProps) {
return Component ? _react2.default.createElement(Component, itemProps) : itemProps.text || itemProps.item;
};
}
function defaultGetDataState(data, _ref) {
var groupBy = _ref.groupBy;
var lastState = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
if (lastState.data !== data || lastState.groupBy !== groupBy) {
if (!groupBy) return {};
var keys = [];
var groups = (0, _.groupBySortedKeys)(groupBy, data, keys);
return {
data: data,
groupBy: groupBy,
groups: groups,
sortedKeys: keys,
sequentialData: Object.keys(groups).reduce(function (flat, grp) {
return flat.concat(groups[grp]);
}, [])
};
}
return lastState;
}
function defaultGetStateGetterFromList(_ref2) {
var listComponent = _ref2.listComponent;
return listComponent && listComponent.getDataState;
}
function listDataManager(component) {
var _ref3 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
getDataState = _ref3.getDataState,
getStateGetterFromProps = _ref3.getStateGetterFromProps,
_ref3$accessors = _ref3.accessors,
accessors = _ref3$accessors === undefined ? (0, _accessorManager2.default)(component) : _ref3$accessors;
var listData = void 0;
var listState = void 0;
var needsUpdate = true;
var currentProps = component.props;
if (getDataState) getStateGetterFromProps = null;else {
if (!getStateGetterFromProps) getStateGetterFromProps = defaultGetStateGetterFromList;
getDataState = getStateGetterFromProps(currentProps) || defaultGetDataState;
}
(0, _reactComponentManagers.spyOnComponent)(component, {
componentWillReceiveProps: function componentWillReceiveProps(nextProps) {
if (!needsUpdate) needsUpdate = nextProps !== currentProps;
currentProps = nextProps;
if (needsUpdate && getStateGetterFromProps) {
getDataState = getStateGetterFromProps(currentProps) || defaultGetDataState;
}
},
componentWillUnmount: function componentWillUnmount() {
listData = null;
listState = null;
currentProps = null;
getDataState = null;
getStateGetterFromProps = null;
}
});
function isDisabled(item) {
var disabled = currentProps.disabled;
if (!Array.isArray(disabled)) return false;
return disabled.some(function (disabled) {
return accessors.value(item) === accessors.value(disabled);
});
}
function getMatcher(word) {
if (!word) return function () {
return true;
};
word = word.toLowerCase();
return function (item) {
return _Filter.presets.startsWith(accessors.text(item).toLowerCase(), word);
};
}
function getSequentialData() {
var state = manager.getState();
return state && state.sequentialData || listData;
}
var renderItem = function renderItem(_ref4) {
var item = _ref4.item,
rest = _objectWithoutProperties(_ref4, ['item']);
// eslint-disable-line react/prop-types
var Component = currentProps.itemComponent;
return Component ? _react2.default.createElement(Component, _extends({
item: item,
value: accessors.value(item),
text: accessors.text(item),
disabled: isDisabled(item)
}, rest)) : accessors.text(item);
};
var renderGroup = function renderGroup(_ref5) {
var group = _ref5.group;
// eslint-disable-line react/prop-types
var Component = currentProps.groupComponent;
return Component ? _react2.default.createElement(Component, { item: group }) : group;
};
var manager = {
isDisabled: isDisabled,
first: function first() {
return manager.next(EMPTY_VALUE);
},
last: function last() {
var data = getSequentialData();
return manager.prevEnabled(data[data.length - 1]);
},
prevEnabled: function prevEnabled(item) {
return isDisabled(item) ? manager.prev(item) : item;
},
prev: function prev(item, word) {
var data = getSequentialData();
var matches = getMatcher(word);
var nextIdx = data.indexOf(item);
if (nextIdx < 0 || nextIdx == null) nextIdx = 0;
nextIdx--;
while (nextIdx > -1 && (isDisabled(data[nextIdx]) || !matches(data[nextIdx]))) {
nextIdx--;
}if (nextIdx >= 0) return data[nextIdx];
if (!manager.isDisabled(item)) return item;
},
next: function next(item, word) {
var data = getSequentialData();
var matches = getMatcher(word);
var nextIdx = data.indexOf(item) + 1;
var len = data.length;
while (nextIdx < len && (isDisabled(data[nextIdx]) || !matches(data[nextIdx]))) {
nextIdx++;
}if (nextIdx < len) return data[nextIdx];
if (!manager.isDisabled(item)) return item;
},
nextEnabled: function nextEnabled(item) {
return isDisabled(item) ? manager.next(item) : item;
},
setData: function setData(data) {
if (!needsUpdate) needsUpdate = data !== listData;
listData = data;
},
getState: function getState() {
if (needsUpdate) {
needsUpdate = false;
listState = getDataState(listData, currentProps, listState);
}
return listState;
},
defaultProps: function defaultProps() {
var _currentProps = currentProps,
groupBy = _currentProps.groupBy,
optionComponent = _currentProps.optionComponent,
searchTerm = _currentProps.searchTerm;
return _extends({
groupBy: groupBy,
renderItem: renderItem,
renderGroup: renderGroup,
searchTerm: searchTerm,
optionComponent: optionComponent,
isDisabled: isDisabled
}, currentProps.listProps, {
data: listData,
dataState: manager.getState()
});
}
};
return manager;
}
/***/ }),
/* 21 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
exports.__esModule = true;
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
var _class, _temp;
var _react = __webpack_require__(0);
var _react2 = _interopRequireDefault(_react);
var _propTypes = __webpack_require__(1);
var _propTypes2 = _interopRequireDefault(_propTypes);
var _classnames = __webpack_require__(2);
var _classnames2 = _interopRequireDefault(_classnames);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
var WidgetPicker = (_temp = _class = function (_React$Component) {
_inherits(WidgetPicker, _React$Component);
function WidgetPicker() {
_classCallCheck(this, WidgetPicker);
return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));
}
WidgetPicker.prototype.render = function render() {
var _props = this.props,
open = _props.open,
dropUp = _props.dropUp,
className = _props.className,
disabled = _props.disabled,
readOnly = _props.readOnly,
focused = _props.focused,
props = _objectWithoutProperties(_props, ['open', 'dropUp', 'className', 'disabled', 'readOnly', 'focused']);
var openClass = 'rw-open' + (dropUp ? '-up' : '');
return _react2.default.createElement('div', _extends({}, props, {
className: (0, _classnames2.default)(className, 'rw-widget-picker', 'rw-widget-container', open && openClass, disabled && 'rw-state-disabled', readOnly && 'rw-state-readonly', focused && 'rw-state-focus')
}));
};
return WidgetPicker;
}(_react2.default.Component), _class.propTypes = {
tabIndex: _propTypes2.default.node,
focused: _propTypes2.default.bool,
disabled: _propTypes2.default.bool,
readOnly: _propTypes2.default.bool,
open: _propTypes2.default.bool,
dropUp: _propTypes2.default.bool,
picker: _propTypes2.default.bool
}, _temp);
exports.default = WidgetPicker;
module.exports = exports['default'];
/***/ }),
/* 22 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
exports.__esModule = true;
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
var _class, _temp;
var _react = __webpack_require__(0);
var _react2 = _interopRequireDefault(_react);
var _propTypes = __webpack_require__(1);
var _propTypes2 = _interopRequireDefault(_propTypes);
var _classnames = __webpack_require__(2);
var _classnames2 = _interopRequireDefault(_classnames);
var _Button = __webpack_require__(19);
var _Button2 = _interopRequireDefault(_Button);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
var Select = (_temp = _class = function (_React$Component) {
_inherits(Select, _React$Component);
function Select() {
_classCallCheck(this, Select);
return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));
}
Select.prototype.render = function render() {
var _props = this.props,
className = _props.className,
bordered = _props.bordered,
children = _props.children,
props = _objectWithoutProperties(_props, ['className', 'bordered', 'children']);
return _react2.default.createElement(
'span',
{
className: (0, _classnames2.default)(className, 'rw-select', bordered && 'rw-select-bordered')
},
children ? _react2.default.Children.map(children, function (child) {
return child && _react2.default.cloneElement(child, { variant: 'select' });
}) : _react2.default.createElement(_Button2.default, _extends({}, props, { variant: 'select' }))
);
};
return Select;
}(_react2.default.Component), _class.propTypes = {
bordered: _propTypes2.default.bool
}, _temp);
exports.default = Select;
module.exports = exports['default'];
/***/ }),
/* 23 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
exports.__esModule = true;
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
var _class, _temp;
var _propTypes = __webpack_require__(1);
var _propTypes2 = _interopRequireDefault(_propTypes);
var _react = __webpack_require__(0);
var _react2 = _interopRequireDefault(_react);
var _reactDom = __webpack_require__(5);
var _PropTypes = __webpack_require__(3);
var CustomPropTypes = _interopRequireWildcard(_PropTypes);
var _Props = __webpack_require__(4);
var Props = _interopRequireWildcard(_Props);
var _widgetHelpers = __webpack_require__(10);
var _listDataManager = __webpack_require__(20);
var _Listbox = __webpack_require__(58);
var _Listbox2 = _interopRequireDefault(_Listbox);
var _ListOption = __webpack_require__(42);
var _ListOption2 = _interopRequireDefault(_ListOption);
var _ListOptionGroup = __webpack_require__(85);
var _ListOptionGroup2 = _interopRequireDefault(_ListOptionGroup);
var _messages = __webpack_require__(12);
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
var EMPTY_DATA_STATE = {};
var propTypes = {
data: _propTypes2.default.array,
dataState: _propTypes2.default.shape({
sortedKeys: _propTypes2.default.array,
groups: _propTypes2.default.object,
data: _propTypes2.default.array,
sequentialData: _propTypes2.default.array
}),
onSelect: _propTypes2.default.func,
onMove: _propTypes2.default.func,
activeId: _propTypes2.default.string,
optionComponent: CustomPropTypes.elementType,
renderItem: _propTypes2.default.func.isRequired,
renderGroup: _propTypes2.default.func,
focusedItem: _propTypes2.default.any,
selectedItem: _propTypes2.default.any,
searchTerm: _propTypes2.default.string,
isDisabled: _propTypes2.default.func.isRequired,
groupBy: CustomPropTypes.accessor,
messages: _propTypes2.default.shape({
emptyList: _propTypes2.default.func.isRequired
})
};
var defaultProps = {
onSelect: function onSelect() {},
data: [],
dataState: EMPTY_DATA_STATE,
optionComponent: _ListOption2.default
};
var List = (_temp = _class = function (_React$Component) {
_inherits(List, _React$Component);
function List() {
_classCallCheck(this, List);
return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));
}
List.prototype.componentDidMount = function componentDidMount() {
this.move();
};
List.prototype.componentDidUpdate = function componentDidUpdate() {
this.move();
};
List.prototype.mapItems = function mapItems(fn) {
var _props = this.props,
data = _props.data,
dataState = _props.dataState;
var sortedKeys = dataState.sortedKeys,
groups = dataState.groups;
if (!groups) return data.map(function (item, idx) {
return fn(item, idx, false);
});
var idx = -1;
return sortedKeys.reduce(function (items, key) {
var group = groups[key];
return items.concat(fn(key, idx, true), group.map(function (item) {
return fn(item, ++idx, false);
}));
}, []);
};
List.prototype.render = function render() {
var _this2 = this;
var _props2 = this.props,
className = _props2.className,
messages = _props2.messages;
var elementProps = Props.pickElementProps(this);
var _getMessages = (0, _messages.getMessages)(messages),
emptyList = _getMessages.emptyList;
return _react2.default.createElement(
_Listbox2.default,
_extends({}, elementProps, {
className: className,
emptyListMessage: emptyList(this.props)
}),
this.mapItems(function (item, idx, isHeader) {
return isHeader ? _this2.renderGroupHeader(item) : _this2.renderItem(item, idx);
})
);
};
List.prototype.renderGroupHeader = function renderGroupHeader(group) {
var renderGroup = this.props.renderGroup;
return _react2.default.createElement(
_ListOptionGroup2.default,
{
key: 'group_' + group,
group: group
},
renderGroup({ group: group })
);
};
List.prototype.renderItem = function renderItem(item, index) {
var _props3 = this.props,
activeId = _props3.activeId,
focusedItem = _props3.focusedItem,
selectedItem = _props3.selectedItem,
onSelect = _props3.onSelect,
isDisabled = _props3.isDisabled,
renderItem = _props3.renderItem,
Option = _props3.optionComponent;
var isFocused = focusedItem === item;
return _react2.default.createElement(
Option,
{
dataItem: item,
key: 'item_' + index,
index: index,
activeId: activeId,
focused: isFocused,
onSelect: onSelect,
disabled: isDisabled(item),
selected: selectedItem === item
},
renderItem({ item: item, index: index })
);
};
List.prototype.move = function move() {
var _props4 = this.props,
focusedItem = _props4.focusedItem,
onMove = _props4.onMove,
data = _props4.data,
dataState = _props4.dataState;
var list = (0, _reactDom.findDOMNode)(this);
var idx = renderedIndexOf(focusedItem, list, data, dataState);
var selectedItem = list.children[idx];
if (selectedItem) (0, _widgetHelpers.notify)(onMove, [selectedItem, list, focusedItem]);
};
return List;
}(_react2.default.Component), _class.getDataState = _listDataManager.defaultGetDataState, _temp);
function renderedIndexOf(item, list, data, dataState) {
var groups = dataState.groups,
sortedKeys = dataState.sortedKeys;
if (!groups) return data.indexOf(item);
var runningIdx = -1;
var idx = -1;
sortedKeys.some(function (group) {
var itemIdx = groups[group].indexOf(item);
runningIdx++;
if (itemIdx !== -1) {
idx = runningIdx + itemIdx + 1;
return true;
}
runningIdx += groups[group].length;
});
return idx;
}
List.propTypes = propTypes;
List.defaultProps = defaultProps;
exports.default = List;
module.exports = exports['default'];
/***/ }),
/* 24 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
exports.__esModule = true;
exports.default = createAccessorManager;
var _reactComponentManagers = __webpack_require__(9);
var _dataHelpers = __webpack_require__(33);
var helpers = _interopRequireWildcard(_dataHelpers);
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
function createAccessorManager(component) {
var _component$props = component.props,
textField = _component$props.textField,
valueField = _component$props.valueField;
(0, _reactComponentManagers.spyOnComponent)(component, {
componentWillReceiveProps: function componentWillReceiveProps(props) {
textField = props.textField;
valueField = props.valueField;
}
});
return {
text: function text(item) {
return helpers.dataText(item, textField);
},
value: function value(item) {
return helpers.dataValue(item, valueField);
},
indexOf: function indexOf(data, item) {
return helpers.dataIndexOf(data, item, valueField);
},
matches: function matches(a, b) {
return helpers.valueMatcher(a, b, valueField);
},
findOrSelf: function findOrSelf(data, item) {
return helpers.dataItem(data, item, valueField);
},
find: function find(data, item) {
var idx = helpers.dataIndexOf(data, item, valueField);
if (~idx) {
return data[idx];
}
}
};
}
module.exports = exports['default'];
/***/ }),
/* 25 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
exports.__esModule = true;
exports.default = createScrollManager;
var _scrollTo = __webpack_require__(87);
var _scrollTo2 = _interopRequireDefault(_scrollTo);
var _reactComponentManagers = __webpack_require__(9);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function createScrollManager(component) {
var getScrollParent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : function (list) {
return list.parentNode;
};
var currentFocused = void 0,
currentVisible = void 0,
cancelScroll = void 0;
var onMove = component.props.onMove;
var mounted = true;
(0, _reactComponentManagers.spyOnComponent)(component, {
componentWillReceiveProps: function componentWillReceiveProps(_ref) {
var nextOnMove = _ref.onMove;
onMove = nextOnMove;
},
componentWillUnmount: function componentWillUnmount() {
mounted = false;
}
});
return function (selected, list, nextFocused) {
if (!mounted) return;
var lastVisible = currentVisible;
var lastItem = currentFocused;
var shown = void 0,
changed = void 0;
currentVisible = !(!list.offsetWidth || !list.offsetHeight);
currentFocused = nextFocused;
changed = lastItem !== nextFocused;
shown = currentVisible && !lastVisible;
if (shown || currentVisible && changed) {
if (onMove) onMove(selected, list, nextFocused);else {
cancelScroll && cancelScroll();
cancelScroll = (0, _scrollTo2.default)(selected, false && getScrollParent(list));
}
}
};
}
module.exports = exports['default'];
/***/ }),
/* 26 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
/* WEBPACK VAR INJECTION */(function(process) {/**
* Copyright 2013-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 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 invariant = function(condition, format, a, b, c, d, e, f) {
if (process.env.NODE_ENV !== 'production') {
if (format === undefined) {
throw new Error('invariant requires an error message argument');
}
}
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;
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(7)))
/***/ }),
/* 27 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = activeElement;
var _ownerDocument = __webpack_require__(46);
var _ownerDocument2 = _interopRequireDefault(_ownerDocument);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function activeElement() {
var doc = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : (0, _ownerDocument2.default)();
try {
return doc.activeElement;
} catch (e) {/* ie throws if no active element */}
}
module.exports = exports['default'];
/***/ }),
/* 28 */
/***/ (function(module, exports) {
var LIFECYCLE_HOOKS = {
componentWillMount: true,
componentDidMount: true,
componentWillReceiveProps: true,
shouldComponentUpdate: true,
componentWillUpdate: true,
componentDidUpdate: true,
componentWillUnmount: true,
}
function wrap(base, method) {
var before = true;
if (Array.isArray(method)) {
before = method[0] !== 'after'
method = method[1]
}
if (!base)
return method;
return function wrappedLifecyclehook() {
before && method.apply(this, arguments)
base.apply(this, arguments)
!before && method.apply(this, arguments)
}
}
module.exports = function spyOnComponent(component, hooks) {
var originals = Object.create(null);
for (var key in hooks) if (LIFECYCLE_HOOKS[key])
component[key] = wrap(
originals[key] = component[key],
hooks[key]
)
return function reset(key) {
if (key && {}.hasOwnProperty.call(originals, key))
component[key] = originals[key]
else for (var key in originals)
component[key] = originals[key]
}
}
/***/ }),
/* 29 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
exports.__esModule = true;
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
var _class2, _temp2;
var _classnames = __webpack_require__(2);
var _classnames2 = _interopRequireDefault(_classnames);
var _propTypes = __webpack_require__(1);
var _propTypes2 = _interopRequireDefault(_propTypes);
var _react = __webpack_require__(0);
var _react2 = _interopRequireDefault(_react);
var _SlideDownTransition = __webpack_require__(48);
var _SlideDownTransition2 = _interopRequireDefault(_SlideDownTransition);
var _PropTypes = __webpack_require__(3);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
var StaticContainer = function (_React$Component) {
_inherits(StaticContainer, _React$Component);
function StaticContainer() {
var _temp, _this, _ret;
_classCallCheck(this, StaticContainer);
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.shouldComponentUpdate = function (_ref) {
var shouldUpdate = _ref.shouldUpdate;
return !!shouldUpdate;
}, _this.render = function () {
return _this.props.children;
}, _temp), _possibleConstructorReturn(_this, _ret);
}
return StaticContainer;
}(_react2.default.Component);
var Popup = (_temp2 = _class2 = function (_React$Component2) {
_inherits(Popup, _React$Component2);
function Popup() {
_classCallCheck(this, Popup);
return _possibleConstructorReturn(this, _React$Component2.apply(this, arguments));
}
Popup.prototype.render = function render() {
var _props = this.props,
className = _props.className,
dropUp = _props.dropUp,
open = _props.open,
Transition = _props.transition,
props = _objectWithoutProperties(_props, ['className', 'dropUp', 'open', 'transition']);
var child = _react2.default.Children.only(this.props.children);
return _react2.default.createElement(
Transition,
_extends({}, props, {
'in': open,
dropUp: dropUp,
className: (0, _classnames2.default)(className, 'rw-popup-container')
}),
_react2.default.createElement(
StaticContainer,
{ shouldUpdate: open },
(0, _react.cloneElement)(child, {
className: (0, _classnames2.default)(child.props.className, 'rw-popup')
})
)
);
};
return Popup;
}(_react2.default.Component), _class2.propTypes = {
open: _propTypes2.default.bool,
dropUp: _propTypes2.default.bool,
onEntering: _propTypes2.default.func,
onEntered: _propTypes2.default.func,
transition: _PropTypes.elementType
}, _class2.defaultProps = {
open: false,
transition: _SlideDownTransition2.default
}, _temp2);
exports.default = Popup;
module.exports = exports['default'];
/***/ }),
/* 30 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = height;
var _offset = __webpack_require__(55);
var _offset2 = _interopRequireDefault(_offset);
var _isWindow = __webpack_require__(31);
var _isWindow2 = _interopRequireDefault(_isWindow);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function height(node, client) {
var win = (0, _isWindow2.default)(node);
return win ? win.innerHeight : client ? node.clientHeight : (0, _offset2.default)(node).height;
}
module.exports = exports['default'];
/***/ }),
/* 31 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = getWindow;
function getWindow(node) {
return node === node.window ? node : node.nodeType === 9 ? node.defaultView || node.parentWindow : false;
}
module.exports = exports["default"];
/***/ }),
/* 32 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
exports.__esModule = true;
exports.propTypes = exports.presets = undefined;
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
exports.indexOf = indexOf;
exports.filter = filter;
exports.suggest = suggest;
var _propTypes = __webpack_require__(1);
var _propTypes2 = _interopRequireDefault(_propTypes);
var _PropTypes = __webpack_require__(3);
var CustomPropTypes = _interopRequireWildcard(_PropTypes);
var _dataHelpers = __webpack_require__(33);
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
var presets = exports.presets = {
eq: function eq(a, b) {
return a === b;
},
neq: function neq(a, b) {
return a !== b;
},
gt: function gt(a, b) {
return a > b;
},
gte: function gte(a, b) {
return a >= b;
},
lt: function lt(a, b) {
return a < b;
},
lte: function lte(a, b) {
return a <= b;
},
contains: function contains(a, b) {
return a.indexOf(b) !== -1;
},
startsWith: function startsWith(a, b) {
return a.lastIndexOf(b, 0) === 0;
},
endsWith: function endsWith(a, b) {
var pos = a.length - b.length;
var lastIndex = a.indexOf(b, pos);
return lastIndex !== -1 && lastIndex === pos;
}
};
function normalizeFilterType(type) {
if (type === false) return null;
if (type === true) return 'startsWith';
return type || 'eq';
}
function normalizeFilter(_ref) {
var filter = _ref.filter,
_ref$caseSensitive = _ref.caseSensitive,
caseSensitive = _ref$caseSensitive === undefined ? false : _ref$caseSensitive,
textField = _ref.textField;
filter = normalizeFilterType(filter);
if (typeof filter === 'function' || !filter) {
return filter;
}
filter = presets[filter];
return function (item, searchTerm) {
var textValue = (0, _dataHelpers.dataText)(item, textField);
if (!caseSensitive) {
textValue = textValue.toLowerCase();
searchTerm = searchTerm.toLowerCase();
}
return filter(textValue, searchTerm);
};
}
function normalizeOptions(nextOptions) {
var options = _extends({}, nextOptions);
options.minLengh = options.minLengh || 0;
options.filter = normalizeFilter(options);
return options;
}
var propTypes = exports.propTypes = {
textField: CustomPropTypes.accessor,
caseSensitive: _propTypes2.default.bool,
minLength: _propTypes2.default.number,
filter: _propTypes2.default.oneOfType([_propTypes2.default.func, _propTypes2.default.bool, _propTypes2.default.oneOf(Object.keys(presets))])
};
function indexOf(data, _ref2) {
var _ref2$searchTerm = _ref2.searchTerm,
searchTerm = _ref2$searchTerm === undefined ? '' : _ref2$searchTerm,
options = _objectWithoutProperties(_ref2, ['searchTerm']);
var _normalizeOptions = normalizeOptions(options),
filter = _normalizeOptions.filter,
minLength = _normalizeOptions.minLength;
if (!filter || !searchTerm || !searchTerm.trim() || searchTerm.length < minLength) return -1;
for (var idx = 0; idx < data.length; idx++) {
if (filter(data[idx], searchTerm, idx)) return idx;
}return -1;
}
function filter(data, _ref3) {
var _ref3$searchTerm = _ref3.searchTerm,
searchTerm = _ref3$searchTerm === undefined ? '' : _ref3$searchTerm,
options = _objectWithoutProperties(_ref3, ['searchTerm']);
var _normalizeOptions2 = normalizeOptions(options),
filter = _normalizeOptions2.filter,
minLength = _normalizeOptions2.minLength;
if (!filter || !searchTerm || !searchTerm.trim() || searchTerm.length < minLength) return data;
return data.filter(function (item, idx) {
return filter(item, searchTerm, idx);
});
}
function suggest(data, _ref4) {
var _ref4$searchTerm = _ref4.searchTerm,
searchTerm = _ref4$searchTerm === undefined ? '' : _ref4$searchTerm,
options = _objectWithoutProperties(_ref4, ['searchTerm']);
var _normalizeOptions3 = normalizeOptions(options),
filter = _normalizeOptions3.filter,
minLength = _normalizeOptions3.minLength;
if (!filter || !searchTerm || !searchTerm.trim() || searchTerm.length < minLength) return searchTerm;
for (var idx = 0; idx < data.length; idx++) {
if (filter(data[idx], searchTerm, idx)) return data[idx];
}return searchTerm;
}
/***/ }),
/* 33 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
exports.__esModule = true;
exports.dataText = exports.dataValue = undefined;
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
exports.dataIndexOf = dataIndexOf;
exports.valueMatcher = valueMatcher;
exports.dataItem = dataItem;
var _ = __webpack_require__(8);
var dataValue = exports.dataValue = function dataValue(data, field) {
var value = data;
if (typeof field === 'function') value = field(data);else if (data == null) value = data;else if (typeof field === 'string' && (typeof data === 'undefined' ? 'undefined' : _typeof(data)) === 'object' && field in data) value = data[field];
return value;
};
var dataText = exports.dataText = function dataText(item, textField) {
var value = dataValue(item, textField);
return value == null ? '' : value + '';
};
function dataIndexOf(data, item, valueField) {
var idx = -1;
var isValueEqual = function isValueEqual(datum) {
return valueMatcher(item, datum, valueField);
};
while (++idx < data.length) {
var datum = data[idx];
if (datum === item || isValueEqual(datum)) return idx;
}
return -1;
}
/**
* I don't know that the shallow equal makes sense here but am too afraid to
* remove it.
*/
function valueMatcher(a, b, valueField) {
return (0, _.isShallowEqual)(dataValue(a, valueField), dataValue(b, valueField));
}
function dataItem(data, item, valueField) {
var idx = dataIndexOf(data, dataValue(item, valueField), valueField);
return idx !== -1 ? data[idx] : item;
}
/***/ }),
/* 34 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
exports.__esModule = true;
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
var _class, _temp, _class2, _temp3;
var _react = __webpack_require__(0);
var _react2 = _interopRequireDefault(_react);
var _propTypes = __webpack_require__(1);
var _propTypes2 = _interopRequireDefault(_propTypes);
var _classnames = __webpack_require__(2);
var _classnames2 = _interopRequireDefault(_classnames);
var _dates = __webpack_require__(14);
var _dates2 = _interopRequireDefault(_dates);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
var VIEW_UNITS = ['month', 'year', 'decade', 'century'];
function clamp(date, min, max) {
return _dates2.default.max(_dates2.default.min(date, max), min);
}
var CalendarView = (_temp = _class = function (_React$Component) {
_inherits(CalendarView, _React$Component);
function CalendarView() {
_classCallCheck(this, CalendarView);
return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));
}
CalendarView.prototype.render = function render() {
var _props = this.props,
className = _props.className,
activeId = _props.activeId,
props = _objectWithoutProperties(_props, ['className', 'activeId']);
return _react2.default.createElement('table', _extends({}, props, {
role: 'grid',
tabIndex: '-1',
'aria-activedescendant': activeId || null,
className: (0, _classnames2.default)(className, 'rw-nav-view', 'rw-calendar-grid')
}));
};
return CalendarView;
}(_react2.default.Component), _class.propTypes = {
activeId: _propTypes2.default.string
}, _temp);
var CalendarViewCell = (_temp3 = _class2 = function (_React$Component2) {
_inherits(CalendarViewCell, _React$Component2);
function CalendarViewCell() {
var _temp2, _this2, _ret;
_classCallCheck(this, CalendarViewCell);
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
return _ret = (_temp2 = (_this2 = _possibleConstructorReturn(this, _React$Component2.call.apply(_React$Component2, [this].concat(args))), _this2), _this2.handleChange = function () {
var _this2$props = _this2.props,
onChange = _this2$props.onChange,
min = _this2$props.min,
max = _this2$props.max,
date = _this2$props.date;
onChange(clamp(date, min, max));
}, _temp2), _possibleConstructorReturn(_this2, _ret);
}
CalendarViewCell.prototype.isEqual = function isEqual(date) {
return _dates2.default.eq(this.props.date, date, this.props.unit);
};
CalendarViewCell.prototype.isEmpty = function isEmpty() {
var _props2 = this.props,
unit = _props2.unit,
min = _props2.min,
max = _props2.max,
date = _props2.date;
return !_dates2.default.inRange(date, min, max, unit);
};
CalendarViewCell.prototype.isNow = function isNow() {
return this.props.now && this.isEqual(this.props.now);
};
CalendarViewCell.prototype.isFocused = function isFocused() {
return !this.props.disabled && !this.isEmpty() && this.isEqual(this.props.focused);
};
CalendarViewCell.prototype.isSelected = function isSelected() {
return this.props.selected && this.isEqual(this.props.selected);
};
CalendarViewCell.prototype.isOffView = function isOffView() {
var _props3 = this.props,
viewUnit = _props3.viewUnit,
focused = _props3.focused,
date = _props3.date;
return date && focused && viewUnit && _dates2.default[viewUnit](date) !== _dates2.default[viewUnit](focused);
};
CalendarViewCell.prototype.render = function render() {
var _props4 = this.props,
children = _props4.children,
activeId = _props4.activeId,
label = _props4.label,
disabled = _props4.disabled;
var isDisabled = disabled || this.isEmpty();
return _react2.default.createElement(
'td',
{
role: 'gridcell',
id: this.isFocused() ? activeId : null,
title: label,
'aria-label': label,
'aria-readonly': disabled,
'aria-selected': this.isSelected(),
onClick: !isDisabled ? this.handleChange : undefined,
className: (0, _classnames2.default)('rw-cell', this.isNow() && 'rw-now', isDisabled && 'rw-state-disabled', this.isEmpty() && 'rw-cell-not-allowed', this.isOffView() && 'rw-cell-off-range', this.isFocused() && 'rw-state-focus', this.isSelected() && 'rw-state-selected')
},
children
);
};
return CalendarViewCell;
}(_react2.default.Component), _class2.propTypes = {
id: _propTypes2.default.string,
activeId: _propTypes2.default.string.isRequired,
label: _propTypes2.default.string,
now: _propTypes2.default.instanceOf(Date),
date: _propTypes2.default.instanceOf(Date),
selected: _propTypes2.default.instanceOf(Date),
focused: _propTypes2.default.instanceOf(Date),
min: _propTypes2.default.instanceOf(Date),
max: _propTypes2.default.instanceOf(Date),
unit: _propTypes2.default.oneOf(['day'].concat(VIEW_UNITS)),
viewUnit: _propTypes2.default.oneOf(VIEW_UNITS),
onChange: _propTypes2.default.func.isRequired,
disabled: _propTypes2.default.bool
}, _temp3);
CalendarView.Body = function (props) {
return _react2.default.createElement('tbody', _extends({ className: 'rw-calendar-body' }, props));
};
CalendarView.Row = function (props) {
return _react2.default.createElement('tr', _extends({ role: 'row' }, props));
};
CalendarView.Cell = CalendarViewCell;
exports.default = CalendarView;
module.exports = exports['default'];
/***/ }),
/* 35 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
exports.__esModule = true;
var _calendarViewUnits;
var views = {
MONTH: 'month',
YEAR: 'year',
DECADE: 'decade',
CENTURY: 'century'
};
var directions = exports.directions = {
LEFT: 'LEFT',
RIGHT: 'RIGHT',
UP: 'UP',
DOWN: 'DOWN'
};
var datePopups = exports.datePopups = {
TIME: 'time',
DATE: 'date'
};
var calendarViews = exports.calendarViews = views;
var calendarViewUnits = exports.calendarViewUnits = (_calendarViewUnits = {}, _calendarViewUnits[views.MONTH] = 'day', _calendarViewUnits[views.YEAR] = views.MONTH, _calendarViewUnits[views.DECADE] = views.YEAR, _calendarViewUnits[views.CENTURY] = views.DECADE, _calendarViewUnits);
/***/ }),
/* 36 */
/***/ (function(module, exports, __webpack_require__) {
"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;
/***/ }),
/* 37 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
/* WEBPACK VAR INJECTION */(function(process) {/**
* 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 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 (process.env.NODE_ENV !== '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;
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(7)))
/***/ }),
/* 38 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
/**
* 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.
*/
var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';
module.exports = ReactPropTypesSecret;
/***/ }),
/* 39 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
exports.__esModule = true;
exports.default = spyOnMount;
var _spyOnComponent = __webpack_require__(28);
var _spyOnComponent2 = _interopRequireDefault(_spyOnComponent);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function spyOnMount(componentInstance) {
var mounted = true;
(0, _spyOnComponent2.default)(componentInstance, {
componentWillUnmount: function componentWillUnmount() {
mounted = false;
}
});
return function () {
return mounted;
};
}
module.exports = exports['default'];
/***/ }),
/* 40 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = style;
var _camelizeStyle = __webpack_require__(54);
var _camelizeStyle2 = _interopRequireDefault(_camelizeStyle);
var _hyphenateStyle = __webpack_require__(78);
var _hyphenateStyle2 = _interopRequireDefault(_hyphenateStyle);
var _getComputedStyle2 = __webpack_require__(80);
var _getComputedStyle3 = _interopRequireDefault(_getComputedStyle2);
var _removeStyle = __webpack_require__(81);
var _removeStyle2 = _interopRequireDefault(_removeStyle);
var _properties = __webpack_require__(41);
var _isTransform = __webpack_require__(82);
var _isTransform2 = _interopRequireDefault(_isTransform);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function style(node, property, value) {
var css = '';
var transforms = '';
var props = property;
if (typeof property === 'string') {
if (value === undefined) {
return node.style[(0, _camelizeStyle2.default)(property)] || (0, _getComputedStyle3.default)(node).getPropertyValue((0, _hyphenateStyle2.default)(property));
} else {
(props = {})[property] = value;
}
}
Object.keys(props).forEach(function (key) {
var value = props[key];
if (!value && value !== 0) {
(0, _removeStyle2.default)(node, (0, _hyphenateStyle2.default)(key));
} else if ((0, _isTransform2.default)(key)) {
transforms += key + '(' + value + ') ';
} else {
css += (0, _hyphenateStyle2.default)(key) + ': ' + value + ';';
}
});
if (transforms) {
css += _properties.transform + ': ' + transforms + ';';
}
node.style.cssText += ';' + css;
}
module.exports = exports['default'];
/***/ }),
/* 41 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.animationEnd = exports.animationDelay = exports.animationTiming = exports.animationDuration = exports.animationName = exports.transitionEnd = exports.transitionDuration = exports.transitionDelay = exports.transitionTiming = exports.transitionProperty = exports.transform = undefined;
var _inDOM = __webpack_require__(11);
var _inDOM2 = _interopRequireDefault(_inDOM);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var transform = 'transform';
var prefix = void 0,
transitionEnd = void 0,
animationEnd = void 0;
var transitionProperty = void 0,
transitionDuration = void 0,
transitionTiming = void 0,
transitionDelay = void 0;
var animationName = void 0,
animationDuration = void 0,
animationTiming = void 0,
animationDelay = void 0;
if (_inDOM2.default) {
var _getTransitionPropert = getTransitionProperties();
prefix = _getTransitionPropert.prefix;
exports.transitionEnd = transitionEnd = _getTransitionPropert.transitionEnd;
exports.animationEnd = animationEnd = _getTransitionPropert.animationEnd;
exports.transform = transform = prefix + '-' + transform;
exports.transitionProperty = transitionProperty = prefix + '-transition-property';
exports.transitionDuration = transitionDuration = prefix + '-transition-duration';
exports.transitionDelay = transitionDelay = prefix + '-transition-delay';
exports.transitionTiming = transitionTiming = prefix + '-transition-timing-function';
exports.animationName = animationName = prefix + '-animation-name';
exports.animationDuration = animationDuration = prefix + '-animation-duration';
exports.animationTiming = animationTiming = prefix + '-animation-delay';
exports.animationDelay = animationDelay = prefix + '-animation-timing-function';
}
exports.transform = transform;
exports.transitionProperty = transitionProperty;
exports.transitionTiming = transitionTiming;
exports.transitionDelay = transitionDelay;
exports.transitionDuration = transitionDuration;
exports.transitionEnd = transitionEnd;
exports.animationName = animationName;
exports.animationDuration = animationDuration;
exports.animationTiming = animationTiming;
exports.animationDelay = animationDelay;
exports.animationEnd = animationEnd;
exports.default = {
transform: transform,
end: transitionEnd,
property: transitionProperty,
timing: transitionTiming,
delay: transitionDelay,
duration: transitionDuration
};
function getTransitionProperties() {
var style = document.createElement('div').style;
var vendorMap = {
O: function O(e) {
return 'o' + e.toLowerCase();
},
Moz: function Moz(e) {
return e.toLowerCase();
},
Webkit: function Webkit(e) {
return 'webkit' + e;
},
ms: function ms(e) {
return 'MS' + e;
}
};
var vendors = Object.keys(vendorMap);
var transitionEnd = void 0,
animationEnd = void 0;
var prefix = '';
for (var i = 0; i < vendors.length; i++) {
var vendor = vendors[i];
if (vendor + 'TransitionProperty' in style) {
prefix = '-' + vendor.toLowerCase();
transitionEnd = vendorMap[vendor]('TransitionEnd');
animationEnd = vendorMap[vendor]('AnimationEnd');
break;
}
}
if (!transitionEnd && 'transitionProperty' in style) transitionEnd = 'transitionend';
if (!animationEnd && 'animationName' in style) animationEnd = 'animationend';
style = null;
return { animationEnd: animationEnd, transitionEnd: transitionEnd, prefix: prefix };
}
/***/ }),
/* 42 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
exports.__esModule = true;
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
var _class, _temp2;
var _react = __webpack_require__(0);
var _react2 = _interopRequireDefault(_react);
var _propTypes = __webpack_require__(1);
var _propTypes2 = _interopRequireDefault(_propTypes);
var _classnames = __webpack_require__(2);
var _classnames2 = _interopRequireDefault(_classnames);
var _Props = __webpack_require__(4);
var Props = _interopRequireWildcard(_Props);
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
var ListOption = (_temp2 = _class = function (_React$Component) {
_inherits(ListOption, _React$Component);
function ListOption() {
var _temp, _this, _ret;
_classCallCheck(this, ListOption);
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.handleSelect = function (event) {
var _this$props = _this.props,
onSelect = _this$props.onSelect,
disabled = _this$props.disabled,
dataItem = _this$props.dataItem;
if (onSelect && !disabled) onSelect(dataItem, event);
}, _temp), _possibleConstructorReturn(_this, _ret);
}
ListOption.prototype.render = function render() {
var _props = this.props,
className = _props.className,
children = _props.children,
focused = _props.focused,
selected = _props.selected,
disabled = _props.disabled,
activeId = _props.activeId;
var Tag = this.props.component || 'li';
var props = Props.omitOwn(this);
var classes = {
'rw-state-focus': focused,
'rw-state-selected': selected,
'rw-state-disabled': disabled
};
var id = focused ? activeId : undefined;
return _react2.default.createElement(
Tag,
_extends({
id: id,
role: 'option',
tabIndex: !disabled ? '-1' : undefined,
'aria-selected': !!selected,
className: (0, _classnames2.default)('rw-list-option', className, classes),
onClick: this.handleSelect
}, props),
children
);
};
return ListOption;
}(_react2.default.Component), _class.propTypes = {
activeId: _propTypes2.default.string,
dataItem: _propTypes2.default.any,
index: _propTypes2.default.number,
focused: _propTypes2.default.bool,
selected: _propTypes2.default.bool,
disabled: _propTypes2.default.bool,
onSelect: _propTypes2.default.func,
component: _propTypes2.default.string
}, _temp2);
exports.default = ListOption;
module.exports = exports['default'];
/***/ }),
/* 43 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
exports.__esModule = true;
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
var _class, _temp;
var _react = __webpack_require__(0);
var _react2 = _interopRequireDefault(_react);
var _propTypes = __webpack_require__(1);
var _propTypes2 = _interopRequireDefault(_propTypes);
var _classnames = __webpack_require__(2);
var _classnames2 = _interopRequireDefault(_classnames);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
var Input = (_temp = _class = function (_React$Component) {
_inherits(Input, _React$Component);
function Input() {
_classCallCheck(this, Input);
return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));
}
Input.prototype.render = function render() {
var _props = this.props,
className = _props.className,
disabled = _props.disabled,
readOnly = _props.readOnly,
value = _props.value,
tabIndex = _props.tabIndex,
_props$type = _props.type,
type = _props$type === undefined ? 'text' : _props$type,
_props$component = _props.component,
Component = _props$component === undefined ? 'input' : _props$component,
props = _objectWithoutProperties(_props, ['className', 'disabled', 'readOnly', 'value', 'tabIndex', 'type', 'component']);
return _react2.default.createElement(Component, _extends({}, props, {
type: type,
tabIndex: tabIndex || 0,
autoComplete: 'off',
disabled: disabled,
readOnly: readOnly,
'aria-disabled': disabled,
'aria-readonly': readOnly,
value: value == null ? '' : value,
className: (0, _classnames2.default)(className, 'rw-input')
}));
};
return Input;
}(_react2.default.Component), _class.propTypes = {
disabled: _propTypes2.default.bool,
readOnly: _propTypes2.default.bool,
value: _propTypes2.default.string,
type: _propTypes2.default.string,
tabIndex: _propTypes2.default.string,
component: _propTypes2.default.any
}, _temp);
exports.default = Input;
module.exports = exports['default'];
/***/ }),
/* 44 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
/* WEBPACK VAR INJECTION */(function(process) {
exports.__esModule = true;
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
var _NEXT_VIEW, _class, _desc, _value, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7, _class3, _temp;
var _invariant = __webpack_require__(26);
var _invariant2 = _interopRequireDefault(_invariant);
var _propTypes = __webpack_require__(1);
var _propTypes2 = _interopRequireDefault(_propTypes);
var _react = __webpack_require__(0);
var _react2 = _interopRequireDefault(_react);
var _reactDom = __webpack_require__(5);
var _activeElement = __webpack_require__(27);
var _activeElement2 = _interopRequireDefault(_activeElement);
var _classnames = __webpack_require__(2);
var _classnames2 = _interopRequireDefault(_classnames);
var _deprecated = __webpack_require__(103);
var _deprecated2 = _interopRequireDefault(_deprecated);
var _uncontrollable = __webpack_require__(15);
var _uncontrollable2 = _interopRequireDefault(_uncontrollable);
var _Widget = __webpack_require__(16);
var _Widget2 = _interopRequireDefault(_Widget);
var _WidgetPicker = __webpack_require__(21);
var _WidgetPicker2 = _interopRequireDefault(_WidgetPicker);
var _Popup = __webpack_require__(29);
var _Popup2 = _interopRequireDefault(_Popup);
var _Button = __webpack_require__(19);
var _Button2 = _interopRequireDefault(_Button);
var _Calendar = __webpack_require__(61);
var _Calendar2 = _interopRequireDefault(_Calendar);
var _DateTimePickerInput = __webpack_require__(105);
var _DateTimePickerInput2 = _interopRequireDefault(_DateTimePickerInput);
var _Select = __webpack_require__(22);
var _Select2 = _interopRequireDefault(_Select);
var _TimeList = __webpack_require__(106);
var _TimeList2 = _interopRequireDefault(_TimeList);
var _messages = __webpack_require__(12);
var _Props = __webpack_require__(4);
var Props = _interopRequireWildcard(_Props);
var _PropTypes = __webpack_require__(3);
var CustomPropTypes = _interopRequireWildcard(_PropTypes);
var _focusManager = __webpack_require__(17);
var _focusManager2 = _interopRequireDefault(_focusManager);
var _scrollManager = __webpack_require__(25);
var _scrollManager2 = _interopRequireDefault(_scrollManager);
var _withRightToLeft = __webpack_require__(18);
var _withRightToLeft2 = _interopRequireDefault(_withRightToLeft);
var _interaction = __webpack_require__(13);
var _dates = __webpack_require__(14);
var _dates2 = _interopRequireDefault(_dates);
var _localizers = __webpack_require__(6);
var _constants = __webpack_require__(35);
var _widgetHelpers = __webpack_require__(10);
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _initDefineProp(target, property, descriptor, context) {
if (!descriptor) return;
Object.defineProperty(target, property, {
enumerable: descriptor.enumerable,
configurable: descriptor.configurable,
writable: descriptor.writable,
value: descriptor.initializer ? descriptor.initializer.call(context) : void 0
});
}
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) {
var desc = {};
Object['ke' + 'ys'](descriptor).forEach(function (key) {
desc[key] = descriptor[key];
});
desc.enumerable = !!desc.enumerable;
desc.configurable = !!desc.configurable;
if ('value' in desc || desc.initializer) {
desc.writable = true;
}
desc = decorators.slice().reverse().reduce(function (desc, decorator) {
return decorator(target, property, desc) || desc;
}, desc);
if (context && desc.initializer !== void 0) {
desc.value = desc.initializer ? desc.initializer.call(context) : void 0;
desc.initializer = undefined;
}
if (desc.initializer === void 0) {
Object['define' + 'Property'](target, property, desc);
desc = null;
}
return desc;
}
function _initializerWarningHelper(descriptor, context) {
throw new Error('Decorating class property failed. Please ensure that transform-class-properties is enabled.');
}
var NEXT_VIEW = (_NEXT_VIEW = {}, _NEXT_VIEW[_constants.datePopups.DATE] = _constants.datePopups.TIME, _NEXT_VIEW[_constants.datePopups.TIME] = _constants.datePopups.DATE, _NEXT_VIEW);
var isBothOrNeither = function isBothOrNeither(a, b) {
return a && b || !a && !b;
};
var propTypes = _extends({}, _Calendar2.default.ControlledComponent.propTypes, {
value: _propTypes2.default.instanceOf(Date),
/**
* @example ['onChangePicker', [ ['new Date()', null] ]]
*/
onChange: _propTypes2.default.func,
/**
* @type (false | 'time' | 'date')
*/
open: _propTypes2.default.oneOf([false, _constants.datePopups.TIME, _constants.datePopups.DATE]),
onToggle: _propTypes2.default.func,
/**
* Default current date at which the calendar opens. If none is provided, opens at today's date or the `value` date (if any).
*/
currentDate: _propTypes2.default.instanceOf(Date),
/**
* Change event Handler that is called when the currentDate is changed. The handler is called with the currentDate object.
*/
onCurrentDateChange: _propTypes2.default.func,
onSelect: _propTypes2.default.func,
/**
* The minimum Date that can be selected. Min only limits selection, it doesn't constrain the date values that
* can be typed or pasted into the widget. If you need this behavior you can constrain values via
* the `onChange` handler.
*
* @example ['prop', ['min', 'new Date()']]
*/
min: _propTypes2.default.instanceOf(Date),
/**
* The maximum Date that can be selected. Max only limits selection, it doesn't constrain the date values that
* can be typed or pasted into the widget. If you need this behavior you can constrain values via
* the `onChange` handler.
*
* @example ['prop', ['max', 'new Date()']]
*/
max: _propTypes2.default.instanceOf(Date),
/**
* The amount of minutes between each entry in the time list.
*
* @example ['prop', { step: 90 }]
*/
step: _propTypes2.default.number,
culture: _propTypes2.default.string,
/**
* A formatter used to display the date value. For more information about formats
* visit the [Localization page](/i18n)
*
* @example ['dateFormat', ['format', "{ raw: 'MMM dd, yyyy' }", null, { defaultValue: 'new Date()', time: 'false' }]]
*/
format: CustomPropTypes.dateFormat,
/**
* A formatter used by the time dropdown to render times. For more information about formats visit
* the [Localization page](/i18n).
*
* @example ['dateFormat', ['timeFormat', "{ time: 'medium' }", null, { date: 'false', open: '"time"' }]]
*/
timeFormat: CustomPropTypes.dateFormat,
/**
* A formatter to be used while the date input has focus. Useful for showing a simpler format for inputing.
* For more information about formats visit the [Localization page](/i18n)
*
* @example ['dateFormat', ['editFormat', "{ date: 'short' }", null, { defaultValue: 'new Date()', format: "{ raw: 'MMM dd, yyyy' }", time: 'false' }]]
*/
editFormat: CustomPropTypes.dateFormat,
/**
* Enable the calendar component of the picker.
*/
date: _propTypes2.default.bool,
/**
* Enable the time list component of the picker.
*/
time: _propTypes2.default.bool,
/** @ignore */
calendar: (0, _deprecated2.default)(_propTypes2.default.bool, 'Use `date` instead'),
/**
* A customize the rendering of times but providing a custom component.
*/
timeComponent: CustomPropTypes.elementType,
dropUp: _propTypes2.default.bool,
popupTransition: CustomPropTypes.elementType,
placeholder: _propTypes2.default.string,
name: _propTypes2.default.string,
autoFocus: _propTypes2.default.bool,
disabled: CustomPropTypes.disabled,
readOnly: CustomPropTypes.disabled,
/**
* Determines how the widget parses the typed date string into a Date object. You can provide an array of formats to try,
* or provide a function that returns a date to handle parsing yourself. When `parse` is unspecified and
* the `format` prop is a `string` parse will automatically use that format as its default.
*/
parse: _propTypes2.default.oneOfType([_propTypes2.default.arrayOf(_propTypes2.default.string), _propTypes2.default.string, _propTypes2.default.func]),
/** @ignore */
tabIndex: _propTypes2.default.any,
/** @ignore */
'aria-labelledby': _propTypes2.default.string,
/** @ignore */
'aria-describedby': _propTypes2.default.string,
onKeyDown: _propTypes2.default.func,
onKeyPress: _propTypes2.default.func,
onBlur: _propTypes2.default.func,
onFocus: _propTypes2.default.func,
inputProps: _propTypes2.default.object,
messages: _propTypes2.default.shape({
dateButton: _propTypes2.default.string,
timeButton: _propTypes2.default.string
})
/**
* ---
* subtitle: DatePicker, TimePicker
* localized: true
* shortcuts:
* - { key: alt + down arrow, label: open calendar or time }
* - { key: alt + up arrow, label: close calendar or time }
* - { key: down arrow, label: move focus to next item }
* - { key: up arrow, label: move focus to previous item }
* - { key: home, label: move focus to first item }
* - { key: end, label: move focus to last item }
* - { key: enter, label: select focused item }
* - { key: any key, label: search list for item starting with key }
* ---
*
* @public
* @extends Calendar
*/
});
var DateTimePicker = (0, _withRightToLeft2.default)(_class = (_class2 = (_temp = _class3 = function (_React$Component) {
_inherits(DateTimePicker, _React$Component);
function DateTimePicker() {
_classCallCheck(this, DateTimePicker);
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
var _this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args)));
_initDefineProp(_this, 'handleChange', _descriptor, _this);
_initDefineProp(_this, 'handleKeyDown', _descriptor2, _this);
_initDefineProp(_this, 'handleKeyPress', _descriptor3, _this);
_initDefineProp(_this, 'handleDateSelect', _descriptor4, _this);
_initDefineProp(_this, 'handleTimeSelect', _descriptor5, _this);
_initDefineProp(_this, 'handleCalendarClick', _descriptor6, _this);
_initDefineProp(_this, 'handleTimeClick', _descriptor7, _this);
_this.parse = function (string) {
var _this$props = _this.props,
parse = _this$props.parse,
culture = _this$props.culture,
editFormat = _this$props.editFormat;
var format = getFormat(_this.props, true);
var parsers = [];
if (format != null) parsers.push(format);
if (editFormat != null) parsers.push(editFormat);
!parsers.length ? process.env.NODE_ENV !== 'production' ? (0, _invariant2.default)(false, 'React Widgets: there are no specified `parse` formats provided and the `format` prop is a function. ' + 'the DateTimePicker is unable to parse `%s` into a dateTime, ' + 'please provide either a parse function or localizer compatible `format` prop', string) : (0, _invariant2.default)(false) : void 0;
parsers.sort(sortFnsFirst);
if (parse) parsers = [].concat(parse, parsers);
var date = void 0;
for (var i = 0; i < parsers.length; i++) {
date = parseDate(string, parsers[i], culture);
if (date) return date;
}
return null;
};
_this.messages = (0, _messages.getMessages)(_this.props.messages);
_this.inputId = (0, _widgetHelpers.instanceId)(_this, '_input');
_this.dateId = (0, _widgetHelpers.instanceId)(_this, '_date');
_this.listId = (0, _widgetHelpers.instanceId)(_this, '_listbox');
_this.activeCalendarId = (0, _widgetHelpers.instanceId)(_this, '_calendar_active_cell');
_this.activeOptionId = (0, _widgetHelpers.instanceId)(_this, '_listbox_active_option');
_this.handleScroll = (0, _scrollManager2.default)(_this);
_this.focusManager = (0, _focusManager2.default)(_this, {
didHandle: function didHandle(focused) {
if (!focused) _this.close();
}
});
_this.state = {
focused: false
};
return _this;
}
DateTimePicker.prototype.componentWillReceiveProps = function componentWillReceiveProps(_ref) {
var messages = _ref.messages;
this.messages = (0, _messages.getMessages)(messages);
};
DateTimePicker.prototype.renderInput = function renderInput(owns) {
var _props = this.props,
open = _props.open,
value = _props.value,
editFormat = _props.editFormat,
culture = _props.culture,
placeholder = _props.placeholder,
disabled = _props.disabled,
readOnly = _props.readOnly,
name = _props.name,
tabIndex = _props.tabIndex,
autoFocus = _props.autoFocus,
inputProps = _props.inputProps,
ariaLabelledby = _props['aria-labelledby'],
ariaDescribedby = _props['aria-describedby'];
var focused = this.state.focused;
var activeId = null;
if (open === _constants.datePopups.TIME) {
activeId = this.activeOptionId;
} else if (open === _constants.datePopups.DATE) {
activeId = this.activeCalendarId;
}
return _react2.default.createElement(_DateTimePickerInput2.default, _extends({}, inputProps, {
id: this.inputId,
ref: 'valueInput',
role: 'combobox',
name: name,
tabIndex: tabIndex,
autoFocus: autoFocus,
placeholder: placeholder,
disabled: disabled,
readOnly: readOnly,
value: value,
format: getFormat(this.props),
editFormat: editFormat,
editing: focused,
culture: culture,
parse: this.parse,
onChange: this.handleChange,
'aria-haspopup': true,
'aria-activedescendant': activeId,
'aria-labelledby': ariaLabelledby,
'aria-describedby': ariaDescribedby,
'aria-expanded': !!open,
'aria-owns': owns
}));
};
DateTimePicker.prototype.renderButtons = function renderButtons() {
var _props2 = this.props,
date = _props2.date,
time = _props2.time,
disabled = _props2.disabled,
readOnly = _props2.readOnly;
if (!date && !time) {
return null;
}
var messages = this.messages;
return _react2.default.createElement(
_Select2.default,
{ bordered: true },
date && _react2.default.createElement(_Button2.default, {
icon: 'calendar',
label: messages.dateButton(),
disabled: disabled || readOnly,
onClick: this.handleCalendarClick
}),
time && _react2.default.createElement(_Button2.default, {
icon: 'clock-o',
label: messages.timeButton(),
disabled: disabled || readOnly,
onClick: this.handleTimeClick
})
);
};
DateTimePicker.prototype.renderCalendar = function renderCalendar() {
var _this2 = this;
var activeCalendarId = this.activeCalendarId,
inputId = this.inputId,
dateId = this.dateId;
var _props3 = this.props,
open = _props3.open,
value = _props3.value,
popupTransition = _props3.popupTransition,
dropUp = _props3.dropUp,
onCurrentDateChange = _props3.onCurrentDateChange,
currentDate = _props3.currentDate;
var calendarProps = Props.pick(this.props, _Calendar2.default.ControlledComponent);
return _react2.default.createElement(
_Popup2.default,
{
dropUp: dropUp,
open: open === _constants.datePopups.DATE,
className: 'rw-calendar-popup',
transition: popupTransition
},
_react2.default.createElement(_Calendar2.default, _extends({}, calendarProps, {
ref: 'calPopup',
id: dateId,
activeId: activeCalendarId,
tabIndex: '-1',
value: value,
autoFocus: false,
onChange: this.handleDateSelect
// #75: need to aggressively reclaim focus from the calendar otherwise
// disabled header/footer buttons will drop focus completely from the widget
, onNavigate: function onNavigate() {
return _this2.focus();
},
currentDate: currentDate,
onCurrentDateChange: onCurrentDateChange,
'aria-hidden': !open,
'aria-live': 'polite',
'aria-labelledby': inputId
}))
);
};
DateTimePicker.prototype.renderTimeList = function renderTimeList() {
var _this3 = this;
var activeOptionId = this.activeOptionId,
inputId = this.inputId,
listId = this.listId;
var _props4 = this.props,
open = _props4.open,
value = _props4.value,
min = _props4.min,
max = _props4.max,
step = _props4.step,
currentDate = _props4.currentDate,
dropUp = _props4.dropUp,
date = _props4.date,
culture = _props4.culture,
timeFormat = _props4.timeFormat,
timeComponent = _props4.timeComponent,
popupTransition = _props4.popupTransition;
return _react2.default.createElement(
_Popup2.default,
{
dropUp: dropUp,
transition: popupTransition,
open: open === _constants.datePopups.TIME,
onEntering: function onEntering() {
return _this3.refs.timePopup.forceUpdate();
}
},
_react2.default.createElement(
'div',
null,
_react2.default.createElement(_TimeList2.default, {
ref: 'timePopup',
id: listId,
min: min,
max: max,
step: step,
currentDate: currentDate,
activeId: activeOptionId,
format: timeFormat,
culture: culture,
value: dateOrNull(value),
onMove: this.handleScroll,
onSelect: this.handleTimeSelect,
preserveDate: !!date,
itemComponent: timeComponent,
'aria-labelledby': inputId,
'aria-live': open && 'polite',
'aria-hidden': !open,
messages: this.messages
})
)
);
};
DateTimePicker.prototype.render = function render() {
var _props5 = this.props,
className = _props5.className,
date = _props5.date,
time = _props5.time,
open = _props5.open,
disabled = _props5.disabled,
readOnly = _props5.readOnly,
dropUp = _props5.dropUp;
var focused = this.state.focused;
var elementProps = Props.pickElementProps(this, _Calendar2.default.ControlledComponent);
var shouldRenderList = open || (0, _widgetHelpers.isFirstFocusedRender)(this);
var owns = '';
if (date) owns += this.dateId;
if (time) owns += ' ' + this.listId;
return _react2.default.createElement(
_Widget2.default,
_extends({}, elementProps, {
open: !!open,
dropUp: dropUp,
focused: focused,
disabled: disabled,
readOnly: readOnly,
onKeyDown: this.handleKeyDown,
onKeyPress: this.handleKeyPress,
onBlur: this.focusManager.handleBlur,
onFocus: this.focusManager.handleFocus,
className: (0, _classnames2.default)(className, 'rw-datetime-picker')
}),
_react2.default.createElement(
_WidgetPicker2.default,
null,
this.renderInput(owns.trim()),
this.renderButtons()
),
!!(shouldRenderList && time) && this.renderTimeList(),
!!(shouldRenderList && date) && this.renderCalendar()
);
};
DateTimePicker.prototype.focus = function focus() {
var valueInput = this.refs.valueInput;
if (valueInput && (0, _activeElement2.default)() !== (0, _reactDom.findDOMNode)(valueInput)) valueInput.focus();
};
DateTimePicker.prototype.toggle = function toggle(view) {
var open = this.props.open;
if (!open || open !== view) this.open(view);else this.close();
};
DateTimePicker.prototype.open = function open(view) {
var _props6 = this.props,
open = _props6.open,
date = _props6.date,
time = _props6.time,
onToggle = _props6.onToggle;
if (!view) {
if (time) view = _constants.datePopups.TIME;
if (date) view = _constants.datePopups.DATE;
if (isBothOrNeither(date, time)) view = NEXT_VIEW[open] || _constants.datePopups.DATE;
}
if (open !== view) (0, _widgetHelpers.notify)(onToggle, view);
};
DateTimePicker.prototype.close = function close() {
if (this.props.open) (0, _widgetHelpers.notify)(this.props.onToggle, false);
};
DateTimePicker.prototype.inRangeValue = function inRangeValue(value) {
if (value == null) return value;
return _dates2.default.max(_dates2.default.min(value, this.props.max), this.props.min);
};
return DateTimePicker;
}(_react2.default.Component), _class3.displayName = 'DateTimePicker', _class3.propTypes = propTypes, _class3.defaultProps = _extends({}, _Calendar2.default.ControlledComponent.defaultProps, {
value: null,
min: new Date(1900, 0, 1),
max: new Date(2099, 11, 31),
date: true,
time: true,
open: false
}), _temp), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, 'handleChange', [_interaction.widgetEditable], {
enumerable: true,
initializer: function initializer() {
var _this4 = this;
return function (date, str, constrain) {
var _props7 = _this4.props,
onChange = _props7.onChange,
value = _props7.value;
if (constrain) date = _this4.inRangeValue(date);
if (onChange) {
if (date == null || value == null) {
if (date != value //eslint-disable-line eqeqeq
) onChange(date, str);
} else if (!_dates2.default.eq(date, value)) {
onChange(date, str);
}
}
};
}
}), _descriptor2 = _applyDecoratedDescriptor(_class2.prototype, 'handleKeyDown', [_interaction.widgetEditable], {
enumerable: true,
initializer: function initializer() {
var _this5 = this;
return function (e) {
var _props8 = _this5.props,
open = _props8.open,
onKeyDown = _props8.onKeyDown;
(0, _widgetHelpers.notify)(onKeyDown, [e]);
if (e.defaultPrevented) return;
if (e.key === 'Escape' && open) _this5.close();else if (e.altKey) {
if (e.key === 'ArrowDown') {
e.preventDefault();
_this5.open();
} else if (e.key === 'ArrowUp') {
e.preventDefault();
_this5.close();
}
} else if (open) {
if (open === _constants.datePopups.DATE) _this5.refs.calPopup.refs.inner.handleKeyDown(e);
if (open === _constants.datePopups.TIME) _this5.refs.timePopup.handleKeyDown(e);
}
};
}
}), _descriptor3 = _applyDecoratedDescriptor(_class2.prototype, 'handleKeyPress', [_interaction.widgetEditable], {
enumerable: true,
initializer: function initializer() {
var _this6 = this;
return function (e) {
(0, _widgetHelpers.notify)(_this6.props.onKeyPress, [e]);
if (e.defaultPrevented) return;
if (_this6.props.open === _constants.datePopups.TIME) _this6.refs.timePopup.handleKeyPress(e);
};
}
}), _descriptor4 = _applyDecoratedDescriptor(_class2.prototype, 'handleDateSelect', [_interaction.widgetEditable], {
enumerable: true,
initializer: function initializer() {
var _this7 = this;
return function (date) {
var format = getFormat(_this7.props),
dateTime = _dates2.default.merge(date, _this7.props.value, _this7.props.currentDate),
dateStr = formatDate(date, format, _this7.props.culture);
_this7.close();
(0, _widgetHelpers.notify)(_this7.props.onSelect, [dateTime, dateStr]);
_this7.handleChange(dateTime, dateStr, true);
_this7.focus();
};
}
}), _descriptor5 = _applyDecoratedDescriptor(_class2.prototype, 'handleTimeSelect', [_interaction.widgetEditable], {
enumerable: true,
initializer: function initializer() {
var _this8 = this;
return function (datum) {
var format = getFormat(_this8.props),
dateTime = _dates2.default.merge(_this8.props.value, datum.date, _this8.props.currentDate),
dateStr = formatDate(datum.date, format, _this8.props.culture);
_this8.close();
(0, _widgetHelpers.notify)(_this8.props.onSelect, [dateTime, dateStr]);
_this8.handleChange(dateTime, dateStr, true);
_this8.focus();
};
}
}), _descriptor6 = _applyDecoratedDescriptor(_class2.prototype, 'handleCalendarClick', [_interaction.widgetEditable], {
enumerable: true,
initializer: function initializer() {
var _this9 = this;
return function () {
_this9.focus();
_this9.toggle(_constants.datePopups.DATE);
};
}
}), _descriptor7 = _applyDecoratedDescriptor(_class2.prototype, 'handleTimeClick', [_interaction.widgetEditable], {
enumerable: true,
initializer: function initializer() {
var _this10 = this;
return function () {
_this10.focus();
_this10.toggle(_constants.datePopups.TIME);
};
}
})), _class2)) || _class;
exports.default = (0, _uncontrollable2.default)(DateTimePicker, {
open: 'onToggle',
value: 'onChange',
currentDate: 'onCurrentDateChange'
}, ['focus']);
function parseDate(string, parser, culture) {
return typeof parser === 'function' ? parser(string, culture) : _localizers.date.parse(string, parser, culture);
}
function getFormat(props) {
var isDate = props[_constants.datePopups.DATE] != null ? props[_constants.datePopups.DATE] : true,
isTime = props[_constants.datePopups.TIME] != null ? props[_constants.datePopups.TIME] : true;
return props.format ? props.format : isDate && isTime || !isDate && !isTime ? _localizers.date.getFormat('default') : _localizers.date.getFormat(isDate ? 'date' : 'time');
}
function formatDate(date, format, culture) {
var val = '';
if (date instanceof Date && !isNaN(date.getTime())) val = _localizers.date.format(date, format, culture);
return val;
}
function sortFnsFirst(a, b) {
var aFn = typeof a === 'function';
var bFn = typeof b === 'function';
if (aFn && !bFn) return -1;
if (!aFn && bFn) return 1;
if (aFn && bFn || !aFn && !bFn) return 0;
}
function dateOrNull(dt) {
if (dt && !isNaN(dt.getTime())) return dt;
return null;
}
module.exports = exports['default'];
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(7)))
/***/ }),
/* 45 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
/* WEBPACK VAR INJECTION */(function(process) {/**
* 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.
*
*/
var emptyFunction = __webpack_require__(36);
/**
* 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 (process.env.NODE_ENV !== 'production') {
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;
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(7)))
/***/ }),
/* 46 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = ownerDocument;
function ownerDocument(node) {
return node && node.ownerDocument || document;
}
module.exports = exports["default"];
/***/ }),
/* 47 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
exports.__esModule = true;
exports.default = createTimeoutManager;
var _spyOnComponent = __webpack_require__(28);
var _spyOnComponent2 = _interopRequireDefault(_spyOnComponent);
var _mountManager = __webpack_require__(39);
var _mountManager2 = _interopRequireDefault(_mountManager);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function createTimeoutManager(componentInstance) {
var isMounted = (0, _mountManager2.default)(componentInstance);
var timers = Object.create(null);
var manager = void 0;
(0, _spyOnComponent2.default)(componentInstance, {
componentWillUnmount: function componentWillUnmount() {
for (var k in timers) {
clearTimeout(timers[k]);
}timers = null;
}
});
return manager = {
clear: function clear(key) {
clearTimeout(timers[key]);
},
set: function set(key, fn, ms) {
if (!isMounted()) return;
manager.clear(key);
timers[key] = setTimeout(fn, ms);
}
};
}
module.exports = exports['default'];
/***/ }),
/* 48 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
exports.__esModule = true;
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
var _transitionClasses;
var _classnames = __webpack_require__(2);
var _classnames2 = _interopRequireDefault(_classnames);
var _events = __webpack_require__(49);
var _events2 = _interopRequireDefault(_events);
var _style = __webpack_require__(40);
var _style2 = _interopRequireDefault(_style);
var _height = __webpack_require__(30);
var _height2 = _interopRequireDefault(_height);
var _properties = __webpack_require__(41);
var _propTypes = __webpack_require__(1);
var _propTypes2 = _interopRequireDefault(_propTypes);
var _react = __webpack_require__(0);
var _react2 = _interopRequireDefault(_react);
var _Transition = __webpack_require__(56);
var _Transition2 = _interopRequireDefault(_Transition);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
var transitionClasses = (_transitionClasses = {}, _transitionClasses[_Transition.ENTERING] = 'rw-popup-transition-entering', _transitionClasses[_Transition.EXITING] = 'rw-popup-transition-exiting', _transitionClasses[_Transition.EXITED] = 'rw-popup-transition-exited', _transitionClasses);
var propTypes = {
in: _propTypes2.default.bool.isRequired,
dropUp: _propTypes2.default.bool,
onEntering: _propTypes2.default.func,
onEntered: _propTypes2.default.func
};
function parseDuration(node) {
var str = (0, _style2.default)(node, _properties.transitionDuration);
var mult = str.indexOf('ms') === -1 ? 1000 : 1;
return parseFloat(str) * mult;
}
var SlideDownTransition = function (_React$Component) {
_inherits(SlideDownTransition, _React$Component);
function SlideDownTransition() {
var _temp, _this, _ret;
_classCallCheck(this, SlideDownTransition);
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.handleTransitionEnd = function (node, done) {
var duration = parseDuration(node.lastChild) || 0;
var handler = function handler() {
_events2.default.off(node, _properties.transitionEnd, handler, false);
done();
};
setTimeout(handler, duration * 1.5);
_events2.default.on(node, _properties.transitionEnd, handler, false);
}, _this.handleEntered = function (elem) {
_this.clearContainerHeight(elem);
if (_this.props.onEntered) _this.props.onEntered();
}, _this.handleEntering = function () {
if (_this.props.onEntering) _this.props.onEntering();
}, _this.setContainerHeight = function (elem) {
elem.style.height = _this.getHeight() + 'px';
}, _this.clearContainerHeight = function (elem) {
elem.style.height = '';
}, _temp), _possibleConstructorReturn(_this, _ret);
}
SlideDownTransition.prototype.getHeight = function getHeight() {
var container = this.element;
var content = container.firstChild;
var margin = parseInt((0, _style2.default)(content, 'margin-top'), 10) + parseInt((0, _style2.default)(content, 'margin-bottom'), 10);
var old = container.style.display;
var height = void 0;
container.style.display = 'block';
height = ((0, _height2.default)(content) || 0) + (isNaN(margin) ? 0 : margin);
container.style.display = old;
return height;
};
SlideDownTransition.prototype.render = function render() {
var _this2 = this;
var _props = this.props,
children = _props.children,
className = _props.className,
dropUp = _props.dropUp;
return _react2.default.createElement(
_Transition2.default,
{
appear: true,
'in': this.props.in,
timeout: 5000,
onEnter: this.setContainerHeight,
onEntering: this.handleEntering,
onEntered: this.handleEntered,
onExit: this.setContainerHeight,
onExited: this.clearContainerHeight,
addEndListener: this.handleTransitionEnd
},
function (status, innerProps) {
return _react2.default.createElement(
'div',
_extends({}, innerProps, {
ref: function ref(r) {
return _this2.element = r;
},
className: (0, _classnames2.default)(className, dropUp && 'rw-dropup', transitionClasses[status])
}),
_react2.default.createElement(
'div',
{ className: 'rw-popup-transition' },
children
)
);
}
);
};
return SlideDownTransition;
}(_react2.default.Component);
SlideDownTransition.propTypes = propTypes;
exports.default = SlideDownTransition;
module.exports = exports['default'];
/***/ }),
/* 49 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.listen = exports.filter = exports.off = exports.on = undefined;
var _on = __webpack_require__(50);
var _on2 = _interopRequireDefault(_on);
var _off = __webpack_require__(51);
var _off2 = _interopRequireDefault(_off);
var _filter = __webpack_require__(75);
var _filter2 = _interopRequireDefault(_filter);
var _listen = __webpack_require__(76);
var _listen2 = _interopRequireDefault(_listen);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.on = _on2.default;
exports.off = _off2.default;
exports.filter = _filter2.default;
exports.listen = _listen2.default;
exports.default = { on: _on2.default, off: _off2.default, filter: _filter2.default, listen: _listen2.default };
/***/ }),
/* 50 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
var _inDOM = __webpack_require__(11);
var _inDOM2 = _interopRequireDefault(_inDOM);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var on = function on() {};
if (_inDOM2.default) {
on = function () {
if (document.addEventListener) return function (node, eventName, handler, capture) {
return node.addEventListener(eventName, handler, capture || false);
};else if (document.attachEvent) return function (node, eventName, handler) {
return node.attachEvent('on' + eventName, function (e) {
e = e || window.event;
e.target = e.target || e.srcElement;
e.currentTarget = node;
handler.call(node, e);
});
};
}();
}
exports.default = on;
module.exports = exports['default'];
/***/ }),
/* 51 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
var _inDOM = __webpack_require__(11);
var _inDOM2 = _interopRequireDefault(_inDOM);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var off = function off() {};
if (_inDOM2.default) {
off = function () {
if (document.addEventListener) return function (node, eventName, handler, capture) {
return node.removeEventListener(eventName, handler, capture || false);
};else if (document.attachEvent) return function (node, eventName, handler) {
return node.detachEvent('on' + eventName, handler);
};
}();
}
exports.default = off;
module.exports = exports['default'];
/***/ }),
/* 52 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
var _inDOM = __webpack_require__(11);
var _inDOM2 = _interopRequireDefault(_inDOM);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = function () {
// HTML DOM and SVG DOM may have different support levels,
// so we need to check on context instead of a document root element.
return _inDOM2.default ? function (context, node) {
if (context.contains) {
return context.contains(node);
} else if (context.compareDocumentPosition) {
return context === node || !!(context.compareDocumentPosition(node) & 16);
} else {
return fallback(context, node);
}
} : fallback;
}();
function fallback(context, node) {
if (node) do {
if (node === context) return true;
} while (node = node.parentNode);
return false;
}
module.exports = exports['default'];
/***/ }),
/* 53 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = qsa;
// Zepto.js
// (c) 2010-2015 Thomas Fuchs
// Zepto.js may be freely distributed under the MIT license.
var simpleSelectorRE = /^[\w-]*$/;
var toArray = Function.prototype.bind.call(Function.prototype.call, [].slice);
function qsa(element, selector) {
var maybeID = selector[0] === '#',
maybeClass = selector[0] === '.',
nameOnly = maybeID || maybeClass ? selector.slice(1) : selector,
isSimple = simpleSelectorRE.test(nameOnly),
found;
if (isSimple) {
if (maybeID) {
element = element.getElementById ? element : document;
return (found = element.getElementById(nameOnly)) ? [found] : [];
}
if (element.getElementsByClassName && maybeClass) return toArray(element.getElementsByClassName(nameOnly));
return toArray(element.getElementsByTagName(selector));
}
return toArray(element.querySelectorAll(selector));
}
module.exports = exports['default'];
/***/ }),
/* 54 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = camelizeStyleName;
var _camelize = __webpack_require__(77);
var _camelize2 = _interopRequireDefault(_camelize);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var msPattern = /^-ms-/; /**
* Copyright 2014-2015, Facebook, Inc.
* All rights reserved.
* https://github.com/facebook/react/blob/2aeb8a2a6beb00617a4217f7f8284924fa2ad819/src/vendor/core/camelizeStyleName.js
*/
function camelizeStyleName(string) {
return (0, _camelize2.default)(string.replace(msPattern, 'ms-'));
}
module.exports = exports['default'];
/***/ }),
/* 55 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = offset;
var _contains = __webpack_require__(52);
var _contains2 = _interopRequireDefault(_contains);
var _isWindow = __webpack_require__(31);
var _isWindow2 = _interopRequireDefault(_isWindow);
var _ownerDocument = __webpack_require__(46);
var _ownerDocument2 = _interopRequireDefault(_ownerDocument);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function offset(node) {
var doc = (0, _ownerDocument2.default)(node),
win = (0, _isWindow2.default)(doc),
docElem = doc && doc.documentElement,
box = { top: 0, left: 0, height: 0, width: 0 };
if (!doc) return;
// Make sure it's not a disconnected DOM node
if (!(0, _contains2.default)(docElem, node)) return box;
if (node.getBoundingClientRect !== undefined) box = node.getBoundingClientRect();
// IE8 getBoundingClientRect doesn't support width & height
box = {
top: box.top + (win.pageYOffset || docElem.scrollTop) - (docElem.clientTop || 0),
left: box.left + (win.pageXOffset || docElem.scrollLeft) - (docElem.clientLeft || 0),
width: (box.width == null ? node.offsetWidth : box.width) || 0,
height: (box.height == null ? node.offsetHeight : box.height) || 0
};
return box;
}
module.exports = exports['default'];
/***/ }),
/* 56 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
/* WEBPACK VAR INJECTION */(function(process) {
exports.__esModule = true;
exports.EXITING = exports.ENTERED = exports.ENTERING = exports.EXITED = exports.UNMOUNTED = undefined;
var _propTypes = __webpack_require__(1);
var PropTypes = _interopRequireWildcard(_propTypes);
var _react = __webpack_require__(0);
var _react2 = _interopRequireDefault(_react);
var _reactDom = __webpack_require__(5);
var _reactDom2 = _interopRequireDefault(_reactDom);
var _PropTypes = __webpack_require__(83);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
var UNMOUNTED = exports.UNMOUNTED = 'unmounted';
var EXITED = exports.EXITED = 'exited';
var ENTERING = exports.ENTERING = 'entering';
var ENTERED = exports.ENTERED = 'entered';
var EXITING = exports.EXITING = 'exiting';
/**
* The Transition component lets you describe a transition from one component
* state to another _over time_ with a simple declarative API. Most commonly
* it's used to animate the mounting and unmounting of a component, but can also
* be used to describe in-place transition states as well.
*
* By default the `Transition` component does not alter the behavior of the
* component it renders, it only tracks "enter" and "exit" states for the components.
* It's up to you to give meaning and effect to those states. For example we can
* add styles to a component when it enters or exits:
*
* ```jsx
* import Transition from 'react-transition-group/Transition';
*
* const duration = 300;
*
* const defaultStyle = {
* transition: `opacity ${duration}ms ease-in-out`,
* opacity: 0,
* }
*
* const transitionStyles = {
* entering: { opacity: 1 },
* entered: { opacity: 1 },
* };
*
* const Fade = ({ in: inProp }) => (
*
* {(state) => (
*
* I'm A fade Transition!
*
* )}
*
* );
* ```
*
* As noted the `Transition` component doesn't _do_ anything by itself to its child component.
* What it does do is track transition states over time so you can update the
* component (such as by adding styles or classes) when it changes states.
*
* There are 4 main states a Transition can be in:
* - `ENTERING`
* - `ENTERED`
* - `EXITING`
* - `EXITED`
*
* Transition state is toggled via the `in` prop. When `true` the component begins the
* "Enter" stage. During this stage, the component will shift from its current transition state,
* to `'entering'` for the duration of the transition and then to the `'entered'` stage once
* it's complete. Let's take the following example:
*
* ```jsx
* state= { in: false };
*
* toggleEnterState = () => {
* this.setState({ in: true });
* }
*
* render() {
* return (
*
*
*
*
* );
* }
* ```
*
* When the button is clicked the component will shift to the `'entering'` state and
* stay there for 500ms (the value of `timeout`) when finally switches to `'entered'`.
*
* When `in` is `false` the same thing happens except the state moves from `'exiting'` to `'exited'`.
*/
var Transition = function (_React$Component) {
_inherits(Transition, _React$Component);
function Transition(props, context) {
_classCallCheck(this, Transition);
var _this = _possibleConstructorReturn(this, _React$Component.call(this, props, context));
var parentGroup = context.transitionGroup;
// In the context of a TransitionGroup all enters are really appears
var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear;
var initialStatus = void 0;
_this.nextStatus = null;
if (props.in) {
if (appear) {
initialStatus = EXITED;
_this.nextStatus = ENTERING;
} else {
initialStatus = ENTERED;
}
} else {
if (props.unmountOnExit || props.mountOnEnter) {
initialStatus = UNMOUNTED;
} else {
initialStatus = EXITED;
}
}
_this.state = { status: initialStatus };
_this.nextCallback = null;
return _this;
}
Transition.prototype.getChildContext = function getChildContext() {
return { transitionGroup: null }; // allows for nested Transitions
};
Transition.prototype.componentDidMount = function componentDidMount() {
this.updateStatus(true);
};
Transition.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
var status = this.state.status;
if (nextProps.in) {
if (status === UNMOUNTED) {
this.setState({ status: EXITED });
}
if (status !== ENTERING && status !== ENTERED) {
this.nextStatus = ENTERING;
}
} else {
if (status === ENTERING || status === ENTERED) {
this.nextStatus = EXITING;
}
}
};
Transition.prototype.componentDidUpdate = function componentDidUpdate() {
this.updateStatus();
};
Transition.prototype.componentWillUnmount = function componentWillUnmount() {
this.cancelNextCallback();
};
Transition.prototype.getTimeouts = function getTimeouts() {
var timeout = this.props.timeout;
var exit = void 0,
enter = void 0,
appear = void 0;
exit = enter = appear = timeout;
if (timeout != null && typeof timeout !== 'number') {
exit = timeout.exit;
enter = timeout.enter;
appear = timeout.appear;
}
return { exit: exit, enter: enter, appear: appear };
};
Transition.prototype.updateStatus = function updateStatus() {
var mounting = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
if (this.nextStatus !== null) {
// nextStatus will always be ENTERING or EXITING.
this.cancelNextCallback();
var node = _reactDom2.default.findDOMNode(this);
if (this.nextStatus === ENTERING) {
this.performEnter(node, mounting);
} else {
this.performExit(node);
}
this.nextStatus = null;
} else if (this.props.unmountOnExit && this.state.status === EXITED) {
this.setState({ status: UNMOUNTED });
}
};
Transition.prototype.performEnter = function performEnter(node, mounting) {
var _this2 = this;
var enter = this.props.enter;
var appearing = this.context.transitionGroup ? this.context.transitionGroup.isMounting : mounting;
var timeouts = this.getTimeouts();
// no enter animation skip right to ENTERED
// if we are mounting and running this it means appear _must_ be set
if (!mounting && !enter) {
this.safeSetState({ status: ENTERED }, function () {
_this2.props.onEntered(node);
});
return;
}
this.props.onEnter(node, appearing);
this.safeSetState({ status: ENTERING }, function () {
_this2.props.onEntering(node, appearing);
// FIXME: appear timeout?
_this2.onTransitionEnd(node, timeouts.enter, function () {
_this2.safeSetState({ status: ENTERED }, function () {
_this2.props.onEntered(node, appearing);
});
});
});
};
Transition.prototype.performExit = function performExit(node) {
var _this3 = this;
var exit = this.props.exit;
var timeouts = this.getTimeouts();
// no exit animation skip right to EXITED
if (!exit) {
this.safeSetState({ status: EXITED }, function () {
_this3.props.onExited(node);
});
return;
}
this.props.onExit(node);
this.safeSetState({ status: EXITING }, function () {
_this3.props.onExiting(node);
_this3.onTransitionEnd(node, timeouts.exit, function () {
_this3.safeSetState({ status: EXITED }, function () {
_this3.props.onExited(node);
});
});
});
};
Transition.prototype.cancelNextCallback = function cancelNextCallback() {
if (this.nextCallback !== null) {
this.nextCallback.cancel();
this.nextCallback = null;
}
};
Transition.prototype.safeSetState = function safeSetState(nextState, callback) {
// This shouldn't be necessary, but there are weird race conditions with
// setState callbacks and unmounting in testing, so always make sure that
// we can cancel any pending setState callbacks after we unmount.
this.setState(nextState, this.setNextCallback(callback));
};
Transition.prototype.setNextCallback = function setNextCallback(callback) {
var _this4 = this;
var active = true;
this.nextCallback = function (event) {
if (active) {
active = false;
_this4.nextCallback = null;
callback(event);
}
};
this.nextCallback.cancel = function () {
active = false;
};
return this.nextCallback;
};
Transition.prototype.onTransitionEnd = function onTransitionEnd(node, timeout, handler) {
this.setNextCallback(handler);
if (node) {
if (this.props.addEndListener) {
this.props.addEndListener(node, this.nextCallback);
}
if (timeout != null) {
setTimeout(this.nextCallback, timeout);
}
} else {
setTimeout(this.nextCallback, 0);
}
};
Transition.prototype.render = function render() {
var status = this.state.status;
if (status === UNMOUNTED) {
return null;
}
var _props = this.props,
children = _props.children,
childProps = _objectWithoutProperties(_props, ['children']);
// filter props for Transtition
delete childProps.in;
delete childProps.mountOnEnter;
delete childProps.unmountOnExit;
delete childProps.appear;
delete childProps.enter;
delete childProps.exit;
delete childProps.timeout;
delete childProps.addEndListener;
delete childProps.onEnter;
delete childProps.onEntering;
delete childProps.onEntered;
delete childProps.onExit;
delete childProps.onExiting;
delete childProps.onExited;
if (typeof children === 'function') {
return children(status, childProps);
}
var child = _react2.default.Children.only(children);
return _react2.default.cloneElement(child, childProps);
};
return Transition;
}(_react2.default.Component);
Transition.contextTypes = {
transitionGroup: PropTypes.object
};
Transition.childContextTypes = {
transitionGroup: function transitionGroup() {}
};
Transition.propTypes = process.env.NODE_ENV !== "production" ? {
/**
* A `function` child can be used instead of a React element.
* This function is called with the current transition status
* ('entering', 'entered', 'exiting', 'exited', 'unmounted'), which can used
* to apply context specific props to a component.
*
* ```jsx
*
* {(status) => (
*
* )}
*
* ```
*/
children: PropTypes.oneOfType([PropTypes.func.isRequired, PropTypes.element.isRequired]).isRequired,
/**
* Show the component; triggers the enter or exit states
*/
in: PropTypes.bool,
/**
* By default the child component is mounted immediately along with
* the parent `Transition` component. If you want to "lazy mount" the component on the
* first `in={true}` you can set `mountOnEnter`. After the first enter transition the component will stay
* mounted, even on "exited", unless you also specify `unmountOnExit`.
*/
mountOnEnter: PropTypes.bool,
/**
* By default the child component stays mounted after it reaches the `'exited'` state.
* Set `unmountOnExit` if you'd prefer to unmount the component after it finishes exiting.
*/
unmountOnExit: PropTypes.bool,
/**
* Normally a component is not transitioned if it shown when the `` component mounts.
* If you want to transition on the first mount set `appear` to `true`, and the
* component will transition in as soon as the `` mounts.
*
* > Note: there are no specific "appear" states. `apprear` only an additional `enter` transition.
*/
appear: PropTypes.bool,
/**
* Enable or disable enter transitions.
*/
enter: PropTypes.bool,
/**
* Enable or disable exit transitions.
*/
exit: PropTypes.bool,
/**
* The duration for the transition, in milliseconds.
* Required unless `addEventListener` is provided
*
* You may specify a single timeout for all transitions like: `timeout={500}`,
* or individually like:
*
* ```jsx
* timeout={{
* enter: 300,
* exit: 500,
* }}
* ```
*
* @type {number | { enter?: number, exit?: number }}
*/
timeout: function timeout(props) {
for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
args[_key - 1] = arguments[_key];
}
var pt = _PropTypes.timeoutsShape;
if (!props.addEndListener) pt = pt.isRequired;
return pt.apply(undefined, [props].concat(args));
},
/**
* Add a custom transition end trigger. Called with the transitioning
* DOM node and a `done` callback. Allows for more fine grained transition end
* logic. **Note:** Timeouts are still used as a fallback if provided.
*
* ```jsx
* addEndListener={(node, done) => {
* // use the css transitionend event to mark the finish of a transition
* node.addEventListener('transitionend', done, false);
* }}
* ```
*/
addEndListener: PropTypes.func,
/**
* Callback fired before the "entering" status is applied. An extra parameter
* `isAppearing` is supplied to indicate if the enter stage is occuring on the initial mount
*
* @type Function(node: HtmlElement, isAppearing: bool) -> void
*/
onEnter: PropTypes.func,
/**
* Callback fired after the "entering" status is applied. An extra parameter
* `isAppearing` is supplied to indicate if the enter stage is occuring on the initial mount
*
* @type Function(node: HtmlElement, isAppearing: bool)
*/
onEntering: PropTypes.func,
/**
* Callback fired after the "enter" status is applied. An extra parameter
* `isAppearing` is supplied to indicate if the enter stage is occuring on the initial mount
*
* @type Function(node: HtmlElement, isAppearing: bool) -> void
*/
onEntered: PropTypes.func,
/**
* Callback fired before the "exiting" status is applied.
*
* @type Function(node: HtmlElement) -> void
*/
onExit: PropTypes.func,
/**
* Callback fired after the "exiting" status is applied.
*
* @type Function(node: HtmlElement) -> void
*/
onExiting: PropTypes.func,
/**
* Callback fired after the "exited" status is applied.
*
* @type Function(node: HtmlElement) -> void
*/
onExited: PropTypes.func
} : {};
// Name the function so it is clearer in the documentation
function noop() {}
Transition.defaultProps = {
in: false,
mountOnEnter: false,
unmountOnExit: false,
appear: false,
enter: true,
exit: true,
onEnter: noop,
onEntering: noop,
onEntered: noop,
onExit: noop,
onExiting: noop,
onExited: noop
};
Transition.UNMOUNTED = 0;
Transition.EXITED = 1;
Transition.ENTERING = 2;
Transition.ENTERED = 3;
Transition.EXITING = 4;
exports.default = Transition;
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(7)))
/***/ }),
/* 57 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
exports.__esModule = true;
exports.default = createChainableTypeChecker;
/**
* 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.
*/
// Mostly taken from ReactPropTypes.
function createChainableTypeChecker(validate) {
function checkType(isRequired, props, propName, componentName, location, propFullName) {
var componentNameSafe = componentName || '<>';
var propFullNameSafe = propFullName || propName;
if (props[propName] == null) {
if (isRequired) {
return new Error('Required ' + location + ' `' + propFullNameSafe + '` was not specified ' + ('in `' + componentNameSafe + '`.'));
}
return null;
}
for (var _len = arguments.length, args = Array(_len > 6 ? _len - 6 : 0), _key = 6; _key < _len; _key++) {
args[_key - 6] = arguments[_key];
}
return validate.apply(undefined, [props, propName, componentNameSafe, location, propFullNameSafe].concat(args));
}
var chainedCheckType = checkType.bind(null, false);
chainedCheckType.isRequired = checkType.bind(null, true);
return chainedCheckType;
}
/***/ }),
/* 58 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
exports.__esModule = true;
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
var _react = __webpack_require__(0);
var _react2 = _interopRequireDefault(_react);
var _propTypes = __webpack_require__(1);
var _propTypes2 = _interopRequireDefault(_propTypes);
var _classnames = __webpack_require__(2);
var _classnames2 = _interopRequireDefault(_classnames);
var _widgetHelpers = __webpack_require__(10);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
var propTypes = {
className: _propTypes2.default.string,
role: _propTypes2.default.string,
nodeRef: _propTypes2.default.func,
emptyListMessage: _propTypes2.default.node
};
var Listbox = function (_React$Component) {
_inherits(Listbox, _React$Component);
function Listbox() {
_classCallCheck(this, Listbox);
return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));
}
Listbox.prototype.render = function render() {
var _props = this.props,
className = _props.className,
role = _props.role,
children = _props.children,
emptyListMessage = _props.emptyListMessage,
nodeRef = _props.nodeRef,
props = _objectWithoutProperties(_props, ['className', 'role', 'children', 'emptyListMessage', 'nodeRef']);
var id = (0, _widgetHelpers.instanceId)(this);
return _react2.default.createElement(
'ul',
_extends({
id: id,
tabIndex: '-1',
ref: nodeRef,
className: (0, _classnames2.default)(className, 'rw-list'),
role: role === undefined ? 'listbox' : role
}, props),
_react2.default.Children.count(children) ? children : _react2.default.createElement(
'li',
{ className: 'rw-list-empty' },
emptyListMessage
)
);
};
return Listbox;
}(_react2.default.Component);
Listbox.propTypes = propTypes;
exports.default = Listbox;
module.exports = exports['default'];
/***/ }),
/* 59 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
exports.__esModule = true;
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
var _propTypes = __webpack_require__(1);
var PropTypes = _interopRequireWildcard(_propTypes);
var _react = __webpack_require__(0);
var _react2 = _interopRequireDefault(_react);
var _Listbox = __webpack_require__(58);
var _Listbox2 = _interopRequireDefault(_Listbox);
var _ListOption = __webpack_require__(42);
var _ListOption2 = _interopRequireDefault(_ListOption);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
var propTypes = {
searchTerm: PropTypes.string,
focused: PropTypes.bool,
onSelect: PropTypes.func.isRequired,
activeId: PropTypes.string
};
function AddToListOption(_ref) {
var searchTerm = _ref.searchTerm,
onSelect = _ref.onSelect,
focused = _ref.focused,
children = _ref.children,
activeId = _ref.activeId,
props = _objectWithoutProperties(_ref, ['searchTerm', 'onSelect', 'focused', 'children', 'activeId']);
return _react2.default.createElement(
_Listbox2.default,
_extends({}, props, { className: 'rw-list-option-create' }),
_react2.default.createElement(
_ListOption2.default,
{
onSelect: onSelect,
focused: focused,
activeId: activeId,
dataItem: searchTerm
},
children
)
);
}
AddToListOption.propTypes = propTypes;
exports.default = AddToListOption;
module.exports = exports['default'];
/***/ }),
/* 60 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
var _inDOM = __webpack_require__(11);
var _inDOM2 = _interopRequireDefault(_inDOM);
var _querySelectorAll = __webpack_require__(53);
var _querySelectorAll2 = _interopRequireDefault(_querySelectorAll);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var matches = void 0;
if (_inDOM2.default) {
(function () {
var body = document.body;
var nativeMatch = body.matches || body.matchesSelector || body.webkitMatchesSelector || body.mozMatchesSelector || body.msMatchesSelector;
matches = nativeMatch ? function (node, selector) {
return nativeMatch.call(node, selector);
} : ie8MatchesSelector;
})();
}
exports.default = matches;
function ie8MatchesSelector(node, selector) {
var matches = (0, _querySelectorAll2.default)(node.document || node.ownerDocument, selector),
i = 0;
while (matches[i] && matches[i] !== node) {
i++;
}return !!matches[i];
}
module.exports = exports['default'];
/***/ }),
/* 61 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
exports.__esModule = true;
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
var _VIEW, _OPPOSITE_DIRECTION, _MULTIPLIER, _class, _desc, _value2, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _class3, _temp;
var _react = __webpack_require__(0);
var _react2 = _interopRequireDefault(_react);
var _reactDom = __webpack_require__(5);
var _propTypes = __webpack_require__(1);
var _propTypes2 = _interopRequireDefault(_propTypes);
var _classnames = __webpack_require__(2);
var _classnames2 = _interopRequireDefault(_classnames);
var _uncontrollable = __webpack_require__(15);
var _uncontrollable2 = _interopRequireDefault(_uncontrollable);
var _reactComponentManagers = __webpack_require__(9);
var _Widget = __webpack_require__(16);
var _Widget2 = _interopRequireDefault(_Widget);
var _Header = __webpack_require__(93);
var _Header2 = _interopRequireDefault(_Header);
var _Footer = __webpack_require__(94);
var _Footer2 = _interopRequireDefault(_Footer);
var _Month = __webpack_require__(95);
var _Month2 = _interopRequireDefault(_Month);
var _Year = __webpack_require__(97);
var _Year2 = _interopRequireDefault(_Year);
var _Decade = __webpack_require__(98);
var _Decade2 = _interopRequireDefault(_Decade);
var _Century = __webpack_require__(99);
var _Century2 = _interopRequireDefault(_Century);
var _messages = __webpack_require__(12);
var _SlideTransitionGroup = __webpack_require__(62);
var _SlideTransitionGroup2 = _interopRequireDefault(_SlideTransitionGroup);
var _focusManager = __webpack_require__(17);
var _focusManager2 = _interopRequireDefault(_focusManager);
var _localizers = __webpack_require__(6);
var _PropTypes = __webpack_require__(3);
var CustomPropTypes = _interopRequireWildcard(_PropTypes);
var _constants = __webpack_require__(35);
var constants = _interopRequireWildcard(_constants);
var _Props = __webpack_require__(4);
var Props = _interopRequireWildcard(_Props);
var _dates = __webpack_require__(14);
var _dates2 = _interopRequireDefault(_dates);
var _withRightToLeft = __webpack_require__(18);
var _withRightToLeft2 = _interopRequireDefault(_withRightToLeft);
var _widgetHelpers = __webpack_require__(10);
var _interaction = __webpack_require__(13);
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _initDefineProp(target, property, descriptor, context) {
if (!descriptor) return;
Object.defineProperty(target, property, {
enumerable: descriptor.enumerable,
configurable: descriptor.configurable,
writable: descriptor.writable,
value: descriptor.initializer ? descriptor.initializer.call(context) : void 0
});
}
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) {
var desc = {};
Object['ke' + 'ys'](descriptor).forEach(function (key) {
desc[key] = descriptor[key];
});
desc.enumerable = !!desc.enumerable;
desc.configurable = !!desc.configurable;
if ('value' in desc || desc.initializer) {
desc.writable = true;
}
desc = decorators.slice().reverse().reduce(function (desc, decorator) {
return decorator(target, property, desc) || desc;
}, desc);
if (context && desc.initializer !== void 0) {
desc.value = desc.initializer ? desc.initializer.call(context) : void 0;
desc.initializer = undefined;
}
if (desc.initializer === void 0) {
Object['define' + 'Property'](target, property, desc);
desc = null;
}
return desc;
}
function _initializerWarningHelper(descriptor, context) {
throw new Error('Decorating class property failed. Please ensure that transform-class-properties is enabled.');
}
var _constants$directions = constants.directions,
DOWN = _constants$directions.DOWN,
UP = _constants$directions.UP,
LEFT = _constants$directions.LEFT,
RIGHT = _constants$directions.RIGHT;
var last = function last(a) {
return a[a.length - 1];
};
var views = constants.calendarViews;
var VIEW_OPTIONS = Object.keys(views).map(function (k) {
return views[k];
});
var VIEW_UNIT = constants.calendarViewUnits;
var VIEW = (_VIEW = {}, _VIEW[views.MONTH] = _Month2.default, _VIEW[views.YEAR] = _Year2.default, _VIEW[views.DECADE] = _Decade2.default, _VIEW[views.CENTURY] = _Century2.default, _VIEW);
var ARROWS_TO_DIRECTION = {
ArrowDown: DOWN,
ArrowUp: UP,
ArrowRight: RIGHT,
ArrowLeft: LEFT
};
var OPPOSITE_DIRECTION = (_OPPOSITE_DIRECTION = {}, _OPPOSITE_DIRECTION[LEFT] = RIGHT, _OPPOSITE_DIRECTION[RIGHT] = LEFT, _OPPOSITE_DIRECTION);
var MULTIPLIER = (_MULTIPLIER = {}, _MULTIPLIER[views.YEAR] = 1, _MULTIPLIER[views.DECADE] = 10, _MULTIPLIER[views.CENTURY] = 100, _MULTIPLIER);
var propTypes = {
/** @ignore */
activeId: _propTypes2.default.string,
disabled: CustomPropTypes.disabled,
readOnly: CustomPropTypes.disabled,
onChange: _propTypes2.default.func,
value: _propTypes2.default.instanceOf(Date),
/**
* The minimum date that the Calendar can navigate from.
*
* @example ['prop', ['min', 'new Date()']]
*/
min: _propTypes2.default.instanceOf(Date).isRequired,
/**
* The maximum date that the Calendar can navigate to.
*
* @example ['prop', ['max', 'new Date()']]
*/
max: _propTypes2.default.instanceOf(Date).isRequired,
/**
* Default current date at which the calendar opens. If none is provided, opens at today's date or the `value` date (if any).
*/
currentDate: _propTypes2.default.instanceOf(Date),
/**
* Change event Handler that is called when the currentDate is changed. The handler is called with the currentDate object.
*/
onCurrentDateChange: _propTypes2.default.func,
/**
* Controls the currently displayed calendar view. Use `defaultView` to set a unique starting view.
*
* @type {("month"|"year"|"decade"|"century")}
* @controllable onViewChange
*/
view: function view(props) {
for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
args[_key - 1] = arguments[_key];
}
return _propTypes2.default.oneOf(props.views || VIEW_OPTIONS).apply(undefined, [props].concat(args));
},
/**
* Defines a list of views the Calendar can traverse through, starting with the
* first in the list to the last.
*
* @type array<"month"|"year"|"decade"|"century">
*/
views: _propTypes2.default.arrayOf(_propTypes2.default.oneOf(VIEW_OPTIONS)).isRequired,
/**
* A callback fired when the `view` changes.
*
* @controllable view
*/
onViewChange: _propTypes2.default.func,
/**
* Callback fired when the Calendar navigates between views, or forward and backwards in time.
*
* @type function(date: ?Date, direction: string, view: string)
*/
onNavigate: _propTypes2.default.func,
culture: _propTypes2.default.string,
autoFocus: _propTypes2.default.bool,
/**
* Show or hide the Calendar footer.
*
* @example ['prop', ['footer', true]]
*/
footer: _propTypes2.default.bool,
/**
* Provide a custom component to render the days of the month. The Component is provided the following props
*
* - `date`: a `Date` object for the day of the month to render
* - `label`: a formatted `string` of the date to render. To adjust the format of the `label` string use the `dateFormat` prop, listed below.
*/
dayComponent: CustomPropTypes.elementType,
/**
* A formatter for the header button of the month view.
*
* @example ['dateFormat', ['headerFormat', "{ date: 'medium' }"]]
*/
headerFormat: CustomPropTypes.dateFormat,
/**
* A formatter for the Calendar footer, formats today's Date as a string.
*
* @example ['dateFormat', ['footerFormat', "{ date: 'medium' }", "date => 'Today is: ' + formatter(date)"]]
*/
footerFormat: CustomPropTypes.dateFormat,
/**
* A formatter calendar days of the week, the default formats each day as a Narrow name: "Mo", "Tu", etc.
*
* @example ['prop', { dayFormat: "day => \n['🎉', 'M', 'T','W','Th', 'F', '🎉'][day.getDay()]" }]
*/
dayFormat: CustomPropTypes.dateFormat,
/**
* A formatter for day of the month
*
* @example ['prop', { dateFormat: "dt => String(dt.getDate())" }]
*/
dateFormat: CustomPropTypes.dateFormat,
/**
* A formatter for month name.
*
* @example ['dateFormat', ['monthFormat', "{ raw: 'MMMM' }", null, { defaultView: '"year"' }]]
*/
monthFormat: CustomPropTypes.dateFormat,
/**
* A formatter for month name.
*
* @example ['dateFormat', ['yearFormat', "{ raw: 'yy' }", null, { defaultView: '"decade"' }]]
*/
yearFormat: CustomPropTypes.dateFormat,
/**
* A formatter for decade, the default formats the first and last year of the decade like: 2000 - 2009.
*/
decadeFormat: CustomPropTypes.dateFormat,
/**
* A formatter for century, the default formats the first and last year of the century like: 1900 - 1999.
*/
centuryFormat: CustomPropTypes.dateFormat,
messages: _propTypes2.default.shape({
moveBack: _propTypes2.default.string,
moveForward: _propTypes2.default.string
}),
onKeyDown: _propTypes2.default.func,
/** @ignore */
tabIndex: _propTypes2.default.any
/**
* ---
* localized: true
* shortcuts:
* - { key: ctrl + down arrow, label: navigate to next view }
* - { key: ctrl + up arrow, label: navigate to previous view }
* - { key: ctrl + left arrow, label: navigate to previous: month, year, decade, or century }
* - { key: ctrl + right arrow, label: navigate to next: month, year, decade, or century }
* - { key: left arrow, label: move focus to previous date}
* - { key: right arrow, label: move focus to next date }
* - { key: up arrow, label: move focus up within view }
* - { key: down key, label: move focus down within view }
* ---
*
* @public
*/
};
var Calendar = (0, _withRightToLeft2.default)(_class = (_class2 = (_temp = _class3 = function (_React$Component) {
_inherits(Calendar, _React$Component);
function Calendar() {
_classCallCheck(this, Calendar);
for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
args[_key2] = arguments[_key2];
}
var _this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args)));
_this.handleFocusWillChange = function () {
if (_this.props.tabIndex == -1) return false;
};
_initDefineProp(_this, 'handleViewChange', _descriptor, _this);
_initDefineProp(_this, 'handleMoveBack', _descriptor2, _this);
_initDefineProp(_this, 'handleMoveForward', _descriptor3, _this);
_initDefineProp(_this, 'handleChange', _descriptor4, _this);
_initDefineProp(_this, 'handleFooterClick', _descriptor5, _this);
_initDefineProp(_this, 'handleKeyDown', _descriptor6, _this);
_this.messages = (0, _messages.getMessages)(_this.props.messages);
_this.viewId = (0, _widgetHelpers.instanceId)(_this, '_calendar');
_this.labelId = (0, _widgetHelpers.instanceId)(_this, '_calendar_label');
_this.activeId = _this.props.activeId || (0, _widgetHelpers.instanceId)(_this, '_calendar_active_cell');
(0, _reactComponentManagers.autoFocus)(_this);
_this.focusManager = (0, _focusManager2.default)(_this, {
willHandle: _this.handleFocusWillChange
});
var _this$props = _this.props,
view = _this$props.view,
views = _this$props.views;
_this.state = {
selectedIndex: 0,
view: view || views[0]
};
return _this;
}
Calendar.prototype.componentWillReceiveProps = function componentWillReceiveProps(_ref) {
var messages = _ref.messages,
view = _ref.view,
views = _ref.views,
value = _ref.value,
currentDate = _ref.currentDate;
var val = this.inRangeValue(value);
this.messages = (0, _messages.getMessages)(messages);
view = view || views[0];
this.setState({
view: view,
slideDirection: this.getSlideDirection({ view: view, views: views, currentDate: currentDate })
});
//if the value changes reset views to the new one
if (!_dates2.default.eq(val, dateOrNull(this.props.value), VIEW_UNIT[view])) {
this.setCurrentDate(val, currentDate);
}
};
Calendar.prototype.render = function render() {
var _props = this.props,
className = _props.className,
value = _props.value,
footerFormat = _props.footerFormat,
disabled = _props.disabled,
readOnly = _props.readOnly,
footer = _props.footer,
views = _props.views,
min = _props.min,
max = _props.max,
culture = _props.culture,
tabIndex = _props.tabIndex;
var _state = this.state,
view = _state.view,
slideDirection = _state.slideDirection,
focused = _state.focused;
var currentDate = this.getCurrentDate();
var View = VIEW[view],
todaysDate = new Date(),
todayNotInRange = !_dates2.default.inRange(todaysDate, min, max, view);
var key = view + '_' + _dates2.default[view](currentDate);
var elementProps = Props.pickElementProps(this),
viewProps = Props.pick(this.props, View);
var isDisabled = disabled || readOnly;
return _react2.default.createElement(
_Widget2.default,
_extends({}, elementProps, {
role: 'group',
focused: focused,
disabled: disabled,
readOnly: readOnly,
tabIndex: tabIndex || 0,
onKeyDown: this.handleKeyDown,
onBlur: this.focusManager.handleBlur,
onFocus: this.focusManager.handleFocus,
className: (0, _classnames2.default)(className, 'rw-calendar rw-widget-container'),
'aria-activedescendant': this.activeId
}),
_react2.default.createElement(_Header2.default, {
label: this.getHeaderLabel(),
labelId: this.labelId,
messages: this.messages,
upDisabled: isDisabled || view === last(views),
prevDisabled: isDisabled || !_dates2.default.inRange(this.nextDate(LEFT), min, max, view),
nextDisabled: isDisabled || !_dates2.default.inRange(this.nextDate(RIGHT), min, max, view),
onViewChange: this.handleViewChange,
onMoveLeft: this.handleMoveBack,
onMoveRight: this.handleMoveForward
}),
_react2.default.createElement(
Calendar.Transition,
{ direction: slideDirection },
_react2.default.createElement(View, _extends({}, viewProps, {
key: key,
id: this.viewId,
activeId: this.activeId,
value: value,
today: todaysDate,
disabled: disabled,
focused: currentDate,
onChange: this.handleChange,
onKeyDown: this.handleKeyDown,
'aria-labelledby': this.labelId
}))
),
footer && _react2.default.createElement(_Footer2.default, {
value: todaysDate,
format: footerFormat,
culture: culture,
disabled: disabled || todayNotInRange,
readOnly: readOnly,
onClick: this.handleFooterClick
})
);
};
Calendar.prototype.navigate = function navigate(direction, date) {
var _props2 = this.props,
views = _props2.views,
min = _props2.min,
max = _props2.max,
onNavigate = _props2.onNavigate,
onViewChange = _props2.onViewChange;
var view = this.state.view;
var slideDir = direction === LEFT || direction === UP ? 'right' : 'left';
if (direction === UP) view = views[views.indexOf(view) + 1] || view;
if (direction === DOWN) view = views[views.indexOf(view) - 1] || view;
if (!date) date = [LEFT, RIGHT].indexOf(direction) !== -1 ? this.nextDate(direction) : this.getCurrentDate();
if (_dates2.default.inRange(date, min, max, view)) {
(0, _widgetHelpers.notify)(onNavigate, [date, slideDir, view]);
this.focus(true);
this.setCurrentDate(date);
(0, _widgetHelpers.notify)(onViewChange, [view]);
}
};
Calendar.prototype.focus = function focus() {
if (+this.props.tabIndex > -1) (0, _reactDom.findDOMNode)(this).focus();
};
Calendar.prototype.getCurrentDate = function getCurrentDate() {
return this.props.currentDate || this.props.value || new Date();
};
Calendar.prototype.setCurrentDate = function setCurrentDate(date) {
var currentDate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.getCurrentDate();
var inRangeDate = this.inRangeValue(date ? new Date(date) : currentDate);
if (_dates2.default.eq(inRangeDate, dateOrNull(currentDate), VIEW_UNIT[this.state.view])) return;
(0, _widgetHelpers.notify)(this.props.onCurrentDateChange, inRangeDate);
};
Calendar.prototype.nextDate = function nextDate(direction) {
var method = direction === LEFT ? 'subtract' : 'add',
view = this.state.view,
unit = view === views.MONTH ? view : views.YEAR,
multi = MULTIPLIER[view] || 1;
return _dates2.default[method](this.getCurrentDate(), 1 * multi, unit);
};
Calendar.prototype.getHeaderLabel = function getHeaderLabel() {
var _props3 = this.props,
culture = _props3.culture,
decadeFormat = _props3.decadeFormat,
yearFormat = _props3.yearFormat,
headerFormat = _props3.headerFormat,
centuryFormat = _props3.centuryFormat,
view = this.state.view,
currentDate = this.getCurrentDate();
switch (view) {
case views.MONTH:
headerFormat = _localizers.date.getFormat('header', headerFormat);
return _localizers.date.format(currentDate, headerFormat, culture);
case views.YEAR:
yearFormat = _localizers.date.getFormat('year', yearFormat);
return _localizers.date.format(currentDate, yearFormat, culture);
case views.DECADE:
decadeFormat = _localizers.date.getFormat('decade', decadeFormat);
return _localizers.date.format(_dates2.default.startOf(currentDate, 'decade'), decadeFormat, culture);
case views.CENTURY:
centuryFormat = _localizers.date.getFormat('century', centuryFormat);
return _localizers.date.format(_dates2.default.startOf(currentDate, 'century'), centuryFormat, culture);
}
};
Calendar.prototype.inRangeValue = function inRangeValue(_value) {
var value = dateOrNull(_value);
if (value === null) return value;
return _dates2.default.max(_dates2.default.min(value, this.props.max), this.props.min);
};
Calendar.prototype.isValidView = function isValidView(next) {
var views = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.props.views;
return views.indexOf(next) !== -1;
};
Calendar.prototype.getSlideDirection = function getSlideDirection(_ref2) {
var view = _ref2.view,
currentDate = _ref2.currentDate,
views = _ref2.views;
var lastDate = this.props.currentDate;
var _state2 = this.state,
slideDirection = _state2.slideDirection,
lastView = _state2.view;
if (lastView !== view) {
return views.indexOf(lastView) > views.indexOf(view) ? 'top' : 'bottom';
}
if (lastDate !== currentDate) {
return _dates2.default.gt(currentDate, lastDate) ? 'left' : 'right';
}
return slideDirection;
};
return Calendar;
}(_react2.default.Component), _class3.displayName = 'Calendar', _class3.propTypes = propTypes, _class3.defaultProps = {
value: null,
min: new Date(1900, 0, 1),
max: new Date(2099, 11, 31),
views: VIEW_OPTIONS,
tabIndex: '0',
footer: true
}, _class3.Transition = _SlideTransitionGroup2.default, _temp), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, 'handleViewChange', [_interaction.widgetEditable], {
enumerable: true,
initializer: function initializer() {
var _this2 = this;
return function () {
_this2.navigate(UP);
};
}
}), _descriptor2 = _applyDecoratedDescriptor(_class2.prototype, 'handleMoveBack', [_interaction.widgetEditable], {
enumerable: true,
initializer: function initializer() {
var _this3 = this;
return function () {
_this3.navigate(LEFT);
};
}
}), _descriptor3 = _applyDecoratedDescriptor(_class2.prototype, 'handleMoveForward', [_interaction.widgetEditable], {
enumerable: true,
initializer: function initializer() {
var _this4 = this;
return function () {
_this4.navigate(RIGHT);
};
}
}), _descriptor4 = _applyDecoratedDescriptor(_class2.prototype, 'handleChange', [_interaction.widgetEditable], {
enumerable: true,
initializer: function initializer() {
var _this5 = this;
return function (date) {
var _props4 = _this5.props,
views = _props4.views,
onChange = _props4.onChange;
var view = _this5.state.view;
if (views[0] === view) {
_this5.setCurrentDate(date);
(0, _widgetHelpers.notify)(onChange, date);
_this5.focus();
return;
}
_this5.navigate(DOWN, date);
};
}
}), _descriptor5 = _applyDecoratedDescriptor(_class2.prototype, 'handleFooterClick', [_interaction.widgetEditable], {
enumerable: true,
initializer: function initializer() {
var _this6 = this;
return function (date) {
var _props5 = _this6.props,
views = _props5.views,
min = _props5.min,
max = _props5.max,
onViewChange = _props5.onViewChange;
var firstView = views[0];
(0, _widgetHelpers.notify)(_this6.props.onChange, date);
if (_dates2.default.inRange(date, min, max, firstView)) {
_this6.focus();
_this6.setCurrentDate(date);
(0, _widgetHelpers.notify)(onViewChange, [firstView]);
}
};
}
}), _descriptor6 = _applyDecoratedDescriptor(_class2.prototype, 'handleKeyDown', [_interaction.widgetEditable], {
enumerable: true,
initializer: function initializer() {
var _this7 = this;
return function (e) {
var ctrl = e.ctrlKey || e.metaKey,
key = e.key,
direction = ARROWS_TO_DIRECTION[key],
currentDate = _this7.getCurrentDate(),
view = _this7.state.view,
unit = VIEW_UNIT[view];
if (key === 'Enter') {
e.preventDefault();
return _this7.handleChange(currentDate);
}
if (direction) {
if (ctrl) {
e.preventDefault();
_this7.navigate(direction);
} else {
if (_this7.isRtl() && OPPOSITE_DIRECTION[direction]) direction = OPPOSITE_DIRECTION[direction];
var nextDate = _dates2.default.move(currentDate, _this7.props.min, _this7.props.max, view, direction);
if (!_dates2.default.eq(currentDate, nextDate, unit)) {
e.preventDefault();
if (_dates2.default.gt(nextDate, currentDate, view)) _this7.navigate(RIGHT, nextDate);else if (_dates2.default.lt(nextDate, currentDate, view)) _this7.navigate(LEFT, nextDate);else _this7.setCurrentDate(nextDate);
}
}
}
(0, _widgetHelpers.notify)(_this7.props.onKeyDown, [e]);
};
}
})), _class2)) || _class;
function dateOrNull(dt) {
if (dt && !isNaN(dt.getTime())) return dt;
return null;
}
exports.default = (0, _uncontrollable2.default)(Calendar, {
value: 'onChange',
currentDate: 'onCurrentDateChange',
view: 'onViewChange'
}, ['focus']);
module.exports = exports['default'];
/***/ }),
/* 62 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
exports.__esModule = true;
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
var _transitionStyle, _transitionClasses, _class, _temp2, _class2, _temp4;
var _classnames = __webpack_require__(2);
var _classnames2 = _interopRequireDefault(_classnames);
var _events = __webpack_require__(49);
var _events2 = _interopRequireDefault(_events);
var _style = __webpack_require__(40);
var _style2 = _interopRequireDefault(_style);
var _height = __webpack_require__(30);
var _height2 = _interopRequireDefault(_height);
var _properties = __webpack_require__(41);
var _propTypes = __webpack_require__(1);
var _propTypes2 = _interopRequireDefault(_propTypes);
var _TransitionGroup = __webpack_require__(100);
var _TransitionGroup2 = _interopRequireDefault(_TransitionGroup);
var _Transition = __webpack_require__(56);
var _Transition2 = _interopRequireDefault(_Transition);
var _react = __webpack_require__(0);
var _react2 = _interopRequireDefault(_react);
var _reactDom = __webpack_require__(5);
var _Props = __webpack_require__(4);
var Props = _interopRequireWildcard(_Props);
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
var DirectionPropType = _propTypes2.default.oneOf(['left', 'right', 'top', 'bottom']);
var transitionStyle = (_transitionStyle = {}, _transitionStyle[_Transition.ENTERING] = { position: 'absolute' }, _transitionStyle[_Transition.EXITING] = { position: 'absolute' }, _transitionStyle);
var transitionClasses = (_transitionClasses = {}, _transitionClasses[_Transition.ENTERED] = 'rw-calendar-transition-entered', _transitionClasses[_Transition.ENTERING] = 'rw-calendar-transition-entering', _transitionClasses[_Transition.EXITING] = 'rw-calendar-transition-exiting', _transitionClasses[_Transition.EXITED] = 'rw-calendar-transition-exited', _transitionClasses);
function parseDuration(node) {
var str = (0, _style2.default)(node, _properties.transitionDuration);
var mult = str.indexOf('ms') === -1 ? 1000 : 1;
return parseFloat(str) * mult;
}
var SlideTransition = (_temp2 = _class = function (_React$Component) {
_inherits(SlideTransition, _React$Component);
function SlideTransition() {
var _temp, _this, _ret;
_classCallCheck(this, SlideTransition);
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.handleTransitionEnd = function (node, done) {
var duration = parseDuration(node) || 300;
var handler = function handler() {
_events2.default.off(node, _properties.transitionEnd, handler, false);
done();
};
setTimeout(handler, duration * 1.5);
_events2.default.on(node, _properties.transitionEnd, handler, false);
}, _temp), _possibleConstructorReturn(_this, _ret);
}
SlideTransition.prototype.render = function render() {
var _props = this.props,
children = _props.children,
props = _objectWithoutProperties(_props, ['children']);
var direction = this.context.direction;
var child = _react2.default.Children.only(children);
return _react2.default.createElement(
_Transition2.default,
_extends({}, props, {
timeout: 5000,
addEndListener: this.handleTransitionEnd
}),
function (status, innerProps) {
return _react2.default.cloneElement(child, _extends({}, innerProps, {
style: transitionStyle[status],
className: (0, _classnames2.default)(child.props.className, 'rw-calendar-transition', 'rw-calendar-transition-' + direction, transitionClasses[status])
}));
}
);
};
return SlideTransition;
}(_react2.default.Component), _class.contextTypes = {
direction: DirectionPropType
}, _temp2);
var SlideTransitionGroup = (_temp4 = _class2 = function (_React$Component2) {
_inherits(SlideTransitionGroup, _React$Component2);
function SlideTransitionGroup() {
var _temp3, _this2, _ret2;
_classCallCheck(this, SlideTransitionGroup);
for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
args[_key2] = arguments[_key2];
}
return _ret2 = (_temp3 = (_this2 = _possibleConstructorReturn(this, _React$Component2.call.apply(_React$Component2, [this].concat(args))), _this2), _this2.handleEnter = function (child) {
var node = (0, _reactDom.findDOMNode)(_this2);
if (!child) return;
var height = (0, _height2.default)(child) + 'px';
(0, _style2.default)(node, {
height: height,
overflow: 'hidden'
});
}, _this2.handleExited = function () {
var node = (0, _reactDom.findDOMNode)(_this2);
(0, _style2.default)(node, { overflow: '', height: '' });
}, _temp3), _possibleConstructorReturn(_this2, _ret2);
}
SlideTransitionGroup.prototype.getChildContext = function getChildContext() {
return { direction: this.props.direction };
};
SlideTransitionGroup.prototype.render = function render() {
var _props2 = this.props,
children = _props2.children,
direction = _props2.direction;
return _react2.default.createElement(
_TransitionGroup2.default,
_extends({}, Props.omitOwn(this), {
component: 'div',
className: 'rw-calendar-transition-group'
}),
_react2.default.createElement(
SlideTransition,
{
key: children.key,
direction: direction,
onEnter: this.handleEnter,
onExited: this.handleExited
},
children
)
);
};
return SlideTransitionGroup;
}(_react2.default.Component), _class2.propTypes = {
direction: DirectionPropType
}, _class2.defaultProps = {
direction: 'left'
}, _class2.childContextTypes = {
direction: DirectionPropType
}, _temp4);
exports.default = SlideTransitionGroup;
module.exports = exports['default'];
/***/ }),
/* 63 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
/* eslint-disable global-require */
var configure = __webpack_require__(64);
module.exports = _extends({}, configure, {
DropdownList: __webpack_require__(69).default,
Combobox: __webpack_require__(91).default,
Calendar: __webpack_require__(61).default,
DatePicker: __webpack_require__(102).default,
TimePicker: __webpack_require__(107).default,
DateTimePicker: __webpack_require__(44).default,
NumberPicker: __webpack_require__(108).default,
Multiselect: __webpack_require__(110).default,
SelectList: __webpack_require__(115).default,
utils: {
SlideTransitionGroup: __webpack_require__(62).default,
SlideDownTransition: __webpack_require__(48).default
}
});
/***/ }),
/* 64 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
exports.__esModule = true;
var _localizers = __webpack_require__(6);
var localizers = _interopRequireWildcard(_localizers);
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
exports.default = {
setLocalizers: function setLocalizers(_ref) {
var date = _ref.date,
number = _ref.number;
date && this.setDateLocalizer(date);
number && this.setNumberLocalizer(number);
},
setDateLocalizer: localizers.setDate,
setNumberLocalizer: localizers.setNumber
};
module.exports = exports['default'];
/***/ }),
/* 65 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
/* WEBPACK VAR INJECTION */(function(process) {/**
* 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.
*/
/**
* 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 = function() {};
if (process.env.NODE_ENV !== 'production') {
warning = function(condition, format, args) {
var len = arguments.length;
args = new Array(len > 2 ? len - 2 : 0);
for (var key = 2; key < len; key++) {
args[key - 2] = arguments[key];
}
if (format === undefined) {
throw new Error(
'`warning(condition, format, ...args)` requires a warning ' +
'message argument'
);
}
if (format.length < 10 || (/^[s\W]*$/).test(format)) {
throw new Error(
'The warning format should be able to uniquely identify this ' +
'warning. Please, use a more descriptive format than: ' + format
);
}
if (!condition) {
var argIndex = 0;
var message = 'Warning: ' +
format.replace(/%s/g, function() {
return args[argIndex++];
});
if (typeof console !== 'undefined') {
console.error(message);
}
try {
// 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) {}
}
};
}
module.exports = warning;
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(7)))
/***/ }),
/* 66 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
/* WEBPACK VAR INJECTION */(function(process) {/**
* 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.
*/
var emptyFunction = __webpack_require__(36);
var invariant = __webpack_require__(37);
var warning = __webpack_require__(45);
var ReactPropTypesSecret = __webpack_require__(38);
var checkPropTypes = __webpack_require__(67);
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 = '<>';
// 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 (process.env.NODE_ENV !== '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 (process.env.NODE_ENV !== '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)) {
process.env.NODE_ENV !== '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)) {
process.env.NODE_ENV !== '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;
};
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(7)))
/***/ }),
/* 67 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
/* WEBPACK VAR INJECTION */(function(process) {/**
* 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 (process.env.NODE_ENV !== 'production') {
var invariant = __webpack_require__(37);
var warning = __webpack_require__(45);
var ReactPropTypesSecret = __webpack_require__(38);
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 (process.env.NODE_ENV !== '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;
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(7)))
/***/ }),
/* 68 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
/**
* 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.
*/
var emptyFunction = __webpack_require__(36);
var invariant = __webpack_require__(37);
var ReactPropTypesSecret = __webpack_require__(38);
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;
};
/***/ }),
/* 69 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
exports.__esModule = true;
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
var _class, _desc, _value, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _class3, _temp;
var _react = __webpack_require__(0);
var _react2 = _interopRequireDefault(_react);
var _reactDom = __webpack_require__(5);
var _propTypes = __webpack_require__(1);
var _propTypes2 = _interopRequireDefault(_propTypes);
var _activeElement = __webpack_require__(27);
var _activeElement2 = _interopRequireDefault(_activeElement);
var _classnames = __webpack_require__(2);
var _classnames2 = _interopRequireDefault(_classnames);
var _reactComponentManagers = __webpack_require__(9);
var _uncontrollable = __webpack_require__(15);
var _uncontrollable2 = _interopRequireDefault(_uncontrollable);
var _Widget = __webpack_require__(16);
var _Widget2 = _interopRequireDefault(_Widget);
var _WidgetPicker = __webpack_require__(21);
var _WidgetPicker2 = _interopRequireDefault(_WidgetPicker);
var _Select = __webpack_require__(22);
var _Select2 = _interopRequireDefault(_Select);
var _Popup = __webpack_require__(29);
var _Popup2 = _interopRequireDefault(_Popup);
var _List = __webpack_require__(23);
var _List2 = _interopRequireDefault(_List);
var _AddToListOption = __webpack_require__(59);
var _AddToListOption2 = _interopRequireDefault(_AddToListOption);
var _DropdownListInput = __webpack_require__(86);
var _DropdownListInput2 = _interopRequireDefault(_DropdownListInput);
var _messages = __webpack_require__(12);
var _Props = __webpack_require__(4);
var Props = _interopRequireWildcard(_Props);
var _Filter = __webpack_require__(32);
var Filter = _interopRequireWildcard(_Filter);
var _focusManager = __webpack_require__(17);
var _focusManager2 = _interopRequireDefault(_focusManager);
var _listDataManager = __webpack_require__(20);
var _listDataManager2 = _interopRequireDefault(_listDataManager);
var _PropTypes = __webpack_require__(3);
var CustomPropTypes = _interopRequireWildcard(_PropTypes);
var _accessorManager = __webpack_require__(24);
var _accessorManager2 = _interopRequireDefault(_accessorManager);
var _scrollManager = __webpack_require__(25);
var _scrollManager2 = _interopRequireDefault(_scrollManager);
var _withRightToLeft = __webpack_require__(18);
var _withRightToLeft2 = _interopRequireDefault(_withRightToLeft);
var _interaction = __webpack_require__(13);
var _widgetHelpers = __webpack_require__(10);
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _initDefineProp(target, property, descriptor, context) {
if (!descriptor) return;
Object.defineProperty(target, property, {
enumerable: descriptor.enumerable,
configurable: descriptor.configurable,
writable: descriptor.writable,
value: descriptor.initializer ? descriptor.initializer.call(context) : void 0
});
}
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) {
var desc = {};
Object['ke' + 'ys'](descriptor).forEach(function (key) {
desc[key] = descriptor[key];
});
desc.enumerable = !!desc.enumerable;
desc.configurable = !!desc.configurable;
if ('value' in desc || desc.initializer) {
desc.writable = true;
}
desc = decorators.slice().reverse().reduce(function (desc, decorator) {
return decorator(target, property, desc) || desc;
}, desc);
if (context && desc.initializer !== void 0) {
desc.value = desc.initializer ? desc.initializer.call(context) : void 0;
desc.initializer = undefined;
}
if (desc.initializer === void 0) {
Object['define' + 'Property'](target, property, desc);
desc = null;
}
return desc;
}
function _initializerWarningHelper(descriptor, context) {
throw new Error('Decorating class property failed. Please ensure that transform-class-properties is enabled.');
}
var CREATE_OPTION = {};
/**
* ---
* shortcuts:
* - { key: alt + down arrow, label: open dropdown }
* - { key: alt + up arrow, label: close dropdown }
* - { key: down arrow, label: move focus to next item }
* - { key: up arrow, label: move focus to previous item }
* - { key: home, label: move focus to first item }
* - { key: end, label: move focus to last item }
* - { key: enter, label: select focused item }
* - { key: ctrl + enter, label: create new option from current searchTerm }
* - { key: any key, label: search list for item starting with key }
* ---
*
* A `