window.React["default"] = window.React; window.ReactDOM["default"] = window.ReactDOM; (function (global, factory) { if (typeof define === "function" && define.amd) { define(["exports"], factory); } else if (typeof exports !== "undefined") { factory(exports); } else { var mod = { exports: {} }; factory(mod.exports); global.filter_props_from = mod.exports; } })(this, function (exports) { "use strict"; exports.filterPropsFrom = filterPropsFrom; var internalProps = { column: true, columns: true, sortable: true, filterable: true, sortBy: true, defaultSort: true, itemsPerPage: true, childNode: true, data: true, children: true }; function filterPropsFrom(baseProps) { baseProps = baseProps || {}; var props = {}; for (var key in baseProps) { if (!(key in internalProps)) { props[key] = baseProps[key]; } } return props; } }); (function (global, factory) { if (typeof define === "function" && define.amd) { define(["exports"], factory); } else if (typeof exports !== "undefined") { factory(exports); } else { var mod = { exports: {} }; factory(mod.exports); global.to_array = mod.exports; } })(this, function (exports) { "use strict"; exports.toArray = toArray; function toArray(obj) { var ret = []; for (var attr in obj) { ret[attr] = obj; } return ret; } }); (function (global, factory) { if (typeof define === 'function' && define.amd) { define(['exports'], factory); } else if (typeof exports !== 'undefined') { factory(exports); } else { var mod = { exports: {} }; factory(mod.exports); global.stringable = mod.exports; } })(this, function (exports) { 'use strict'; exports.stringable = stringable; function stringable(thing) { return thing !== null && typeof thing !== 'undefined' && typeof (thing.toString === 'function'); } }); (function (global, factory) { if (typeof define === 'function' && define.amd) { define(['exports', './stringable'], factory); } else if (typeof exports !== 'undefined') { factory(exports, require('./stringable')); } else { var mod = { exports: {} }; factory(mod.exports, global.stringable); global.extract_data_from = mod.exports; } })(this, function (exports, _stringable) { 'use strict'; exports.extractDataFrom = extractDataFrom; function extractDataFrom(key, column) { var value; if (typeof key !== 'undefined' && key !== null && key.__reactableMeta === true) { value = key.data[column]; } else { value = key[column]; } if (typeof value !== 'undefined' && value !== null && value.__reactableMeta === true) { value = typeof value.props.value !== 'undefined' && value.props.value !== null ? value.props.value : value.value; } return (0, _stringable.stringable)(value) ? value : ''; } }); (function (global, factory) { if (typeof define === 'function' && define.amd) { define(['exports'], factory); } else if (typeof exports !== 'undefined') { factory(exports); } else { var mod = { exports: {} }; factory(mod.exports); global.is_react_component = mod.exports; } })(this, function (exports) { // this is a bit hacky - it'd be nice if React exposed an API for this 'use strict'; exports.isReactComponent = isReactComponent; function isReactComponent(thing) { return thing !== null && typeof thing === 'object' && typeof thing.props !== 'undefined'; } }); (function (global, factory) { if (typeof define === "function" && define.amd) { define(["exports"], factory); } else if (typeof exports !== "undefined") { factory(exports); } else { var mod = { exports: {} }; factory(mod.exports); global.unsafe = mod.exports; } })(this, function (exports) { "use strict"; var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); exports.unsafe = unsafe; exports.isUnsafe = isUnsafe; function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } var Unsafe = (function () { function Unsafe(content) { _classCallCheck(this, Unsafe); this.content = content; } _createClass(Unsafe, [{ key: "toString", value: function toString() { return this.content; } }]); return Unsafe; })(); function unsafe(str) { return new Unsafe(str); } ; function isUnsafe(obj) { return obj instanceof Unsafe; } ; }); (function (global, factory) { if (typeof define === 'function' && define.amd) { define(['exports', 'react', 'react-dom'], factory); } else if (typeof exports !== 'undefined') { factory(exports, require('react'), require('react-dom')); } else { var mod = { exports: {} }; factory(mod.exports, global.React, global.ReactDOM); global.filterer = mod.exports; } })(this, function (exports, _react, _reactDom) { 'use strict'; var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); var _get = function get(_x, _x2, _x3) { var _again = true; _function: while (_again) { var object = _x, property = _x2, receiver = _x3; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x = parent; _x2 = property; _x3 = receiver; _again = true; desc = parent = undefined; continue _function; } } else if ('value' in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } }; function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } 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 FiltererInput = (function (_React$Component) { _inherits(FiltererInput, _React$Component); function FiltererInput() { _classCallCheck(this, FiltererInput); _get(Object.getPrototypeOf(FiltererInput.prototype), 'constructor', this).apply(this, arguments); } _createClass(FiltererInput, [{ key: 'onChange', value: function onChange() { this.props.onFilter(_reactDom['default'].findDOMNode(this).value); } }, { key: 'render', value: function render() { return _react['default'].createElement('input', { type: 'text', className: 'reactable-filter-input', placeholder: this.props.placeholder, value: this.props.value, onKeyUp: this.onChange.bind(this), onChange: this.onChange.bind(this) }); } }]); return FiltererInput; })(_react['default'].Component); exports.FiltererInput = FiltererInput; ; var Filterer = (function (_React$Component2) { _inherits(Filterer, _React$Component2); function Filterer() { _classCallCheck(this, Filterer); _get(Object.getPrototypeOf(Filterer.prototype), 'constructor', this).apply(this, arguments); } _createClass(Filterer, [{ key: 'render', value: function render() { if (typeof this.props.colSpan === 'undefined') { throw new TypeError('Must pass a colSpan argument to Filterer'); } return _react['default'].createElement( 'tr', { className: 'reactable-filterer' }, _react['default'].createElement( 'td', { colSpan: this.props.colSpan }, _react['default'].createElement(FiltererInput, { onFilter: this.props.onFilter, value: this.props.value, placeholder: this.props.placeholder }) ) ); } }]); return Filterer; })(_react['default'].Component); exports.Filterer = Filterer; ; }); (function (global, factory) { if (typeof define === 'function' && define.amd) { define(['exports'], factory); } else if (typeof exports !== 'undefined') { factory(exports); } else { var mod = { exports: {} }; factory(mod.exports); global.sort = mod.exports; } })(this, function (exports) { 'use strict'; var Sort = { Numeric: function Numeric(a, b) { var valA = parseFloat(a.toString().replace(/,/g, '')); var valB = parseFloat(b.toString().replace(/,/g, '')); // Sort non-numeric values alphabetically at the bottom of the list if (isNaN(valA) && isNaN(valB)) { valA = a; valB = b; } else { if (isNaN(valA)) { return 1; } if (isNaN(valB)) { return -1; } } if (valA < valB) { return -1; } if (valA > valB) { return 1; } return 0; }, NumericInteger: function NumericInteger(a, b) { if (isNaN(a) || isNaN(b)) { return a > b ? 1 : -1; } return a - b; }, Currency: function Currency(a, b) { // Parse out dollar signs, then do a regular numeric sort a = a.replace(/[^0-9\.\-\,]+/g, ''); b = b.replace(/[^0-9\.\-\,]+/g, ''); return exports.Sort.Numeric(a, b); }, Date: (function (_Date) { function Date(_x, _x2) { return _Date.apply(this, arguments); } Date.toString = function () { return _Date.toString(); }; return Date; })(function (a, b) { // Note: this function tries to do a standard javascript string -> date conversion // If you need more control over the date string format, consider using a different // date library and writing your own function var valA = Date.parse(a); var valB = Date.parse(b); // Handle non-date values with numeric sort // Sort non-numeric values alphabetically at the bottom of the list if (isNaN(valA) || isNaN(valB)) { return exports.Sort.Numeric(a, b); } if (valA > valB) { return 1; } if (valB > valA) { return -1; } return 0; }), CaseInsensitive: function CaseInsensitive(a, b) { return a.toLowerCase().localeCompare(b.toLowerCase()); } }; exports.Sort = Sort; }); (function (global, factory) { if (typeof define === 'function' && define.amd) { define(['exports', 'react', './lib/is_react_component', './lib/stringable', './unsafe'], factory); } else if (typeof exports !== 'undefined') { factory(exports, require('react'), require('./lib/is_react_component'), require('./lib/stringable'), require('./unsafe')); } else { var mod = { exports: {} }; factory(mod.exports, global.React, global.is_react_component, global.stringable, global.unsafe); global.td = mod.exports; } })(this, function (exports, _react, _libIs_react_component, _libStringable, _unsafe) { 'use strict'; var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); var _get = function get(_x, _x2, _x3) { var _again = true; _function: while (_again) { var object = _x, property = _x2, receiver = _x3; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x = parent; _x2 = property; _x3 = receiver; _again = true; desc = parent = undefined; continue _function; } } else if ('value' in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } }; function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } 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 Td = (function (_React$Component) { _inherits(Td, _React$Component); function Td() { _classCallCheck(this, Td); _get(Object.getPrototypeOf(Td.prototype), 'constructor', this).apply(this, arguments); } _createClass(Td, [{ key: 'handleClick', value: function handleClick(e) { if (typeof this.props.handleClick === 'function') { return this.props.handleClick(e, this); } } }, { key: 'render', value: function render() { var tdProps = { className: this.props.className, onClick: this.handleClick.bind(this) }; if (typeof this.props.style !== 'undefined') { tdProps.style = this.props.style; } // Attach any properties on the column to this Td object to allow things like custom event handlers if (typeof this.props.column === 'object') { for (var key in this.props.column) { if (key !== 'key' && key !== 'name') { tdProps[key] = this.props.column[key]; } } } var data = this.props.data; if (typeof this.props.children !== 'undefined') { if ((0, _libIs_react_component.isReactComponent)(this.props.children)) { data = this.props.children; } else if (typeof this.props.data === 'undefined' && (0, _libStringable.stringable)(this.props.children)) { data = this.props.children.toString(); } if ((0, _unsafe.isUnsafe)(this.props.children)) { tdProps.dangerouslySetInnerHTML = { __html: this.props.children.toString() }; } else { tdProps.children = data; } } return _react['default'].createElement('td', tdProps); } }]); return Td; })(_react['default'].Component); exports.Td = Td; ; }); (function (global, factory) { if (typeof define === 'function' && define.amd) { define(['exports', 'react', './td', './lib/to_array', './lib/filter_props_from'], factory); } else if (typeof exports !== 'undefined') { factory(exports, require('react'), require('./td'), require('./lib/to_array'), require('./lib/filter_props_from')); } else { var mod = { exports: {} }; factory(mod.exports, global.React, global.td, global.to_array, global.filter_props_from); global.tr = mod.exports; } })(this, function (exports, _react, _td, _libTo_array, _libFilter_props_from) { '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; }; var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); var _get = function get(_x, _x2, _x3) { var _again = true; _function: while (_again) { var object = _x, property = _x2, receiver = _x3; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x = parent; _x2 = property; _x3 = receiver; _again = true; desc = parent = undefined; continue _function; } } else if ('value' in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } }; function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } 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 Tr = (function (_React$Component) { _inherits(Tr, _React$Component); function Tr() { _classCallCheck(this, Tr); _get(Object.getPrototypeOf(Tr.prototype), 'constructor', this).apply(this, arguments); } _createClass(Tr, [{ key: 'render', value: function render() { var children = (0, _libTo_array.toArray)(_react['default'].Children.children(this.props.children)); if (this.props.data && this.props.columns && typeof this.props.columns.map === 'function') { if (typeof children.concat === 'undefined') { console.log(children); } children = children.concat(this.props.columns.map((function (column, i) { if (this.props.data.hasOwnProperty(column.key)) { var value = this.props.data[column.key]; var props = {}; if (typeof value !== 'undefined' && value !== null && value.__reactableMeta === true) { props = value.props; value = value.value; } return _react['default'].createElement( _td.Td, _extends({ column: column, key: column.key }, props), value ); } else { return _react['default'].createElement(_td.Td, { column: column, key: column.key }); } }).bind(this))); } // Manually transfer props var props = (0, _libFilter_props_from.filterPropsFrom)(this.props); return _react['default'].DOM.tr(props, children); } }]); return Tr; })(_react['default'].Component); exports.Tr = Tr; ; Tr.childNode = _td.Td; Tr.dataType = 'object'; }); (function (global, factory) { if (typeof define === 'function' && define.amd) { define(['exports', 'react', './unsafe', './lib/filter_props_from'], factory); } else if (typeof exports !== 'undefined') { factory(exports, require('react'), require('./unsafe'), require('./lib/filter_props_from')); } else { var mod = { exports: {} }; factory(mod.exports, global.React, global.unsafe, global.filter_props_from); global.th = mod.exports; } })(this, function (exports, _react, _unsafe, _libFilter_props_from) { '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; }; var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); var _get = function get(_x, _x2, _x3) { var _again = true; _function: while (_again) { var object = _x, property = _x2, receiver = _x3; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x = parent; _x2 = property; _x3 = receiver; _again = true; desc = parent = undefined; continue _function; } } else if ('value' in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } }; function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } 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 Th = (function (_React$Component) { _inherits(Th, _React$Component); function Th() { _classCallCheck(this, Th); _get(Object.getPrototypeOf(Th.prototype), 'constructor', this).apply(this, arguments); } _createClass(Th, [{ key: 'render', value: function render() { var childProps = undefined; if ((0, _unsafe.isUnsafe)(this.props.children)) { return _react['default'].createElement('th', _extends({}, (0, _libFilter_props_from.filterPropsFrom)(this.props), { dangerouslySetInnerHTML: { __html: this.props.children.toString() } })); } else { return _react['default'].createElement( 'th', (0, _libFilter_props_from.filterPropsFrom)(this.props), this.props.children ); } } }]); return Th; })(_react['default'].Component); exports.Th = Th; ; }); (function (global, factory) { if (typeof define === 'function' && define.amd) { define(['exports', 'react', './th', './filterer', './lib/filter_props_from'], factory); } else if (typeof exports !== 'undefined') { factory(exports, require('react'), require('./th'), require('./filterer'), require('./lib/filter_props_from')); } else { var mod = { exports: {} }; factory(mod.exports, global.React, global.th, global.filterer, global.filter_props_from); global.thead = mod.exports; } })(this, function (exports, _react, _th, _filterer, _libFilter_props_from) { '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; }; var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); var _get = function get(_x, _x2, _x3) { var _again = true; _function: while (_again) { var object = _x, property = _x2, receiver = _x3; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x = parent; _x2 = property; _x3 = receiver; _again = true; desc = parent = undefined; continue _function; } } else if ('value' in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } }; function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } 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 Thead = (function (_React$Component) { _inherits(Thead, _React$Component); function Thead() { _classCallCheck(this, Thead); _get(Object.getPrototypeOf(Thead.prototype), 'constructor', this).apply(this, arguments); } _createClass(Thead, [{ key: 'handleClickTh', value: function handleClickTh(column) { this.props.onSort(column.key); } }, { key: 'handleKeyDownTh', value: function handleKeyDownTh(column, event) { if (event.keyCode === 13) { this.props.onSort(column.key); } } }, { key: 'render', value: function render() { // Declare the list of Ths var Ths = []; for (var index = 0; index < this.props.columns.length; index++) { var column = this.props.columns[index]; var thClass = 'reactable-th-' + column.key.replace(/\s+/g, '-').toLowerCase(); var sortClass = ''; if (this.props.sortableColumns[column.key]) { sortClass += 'reactable-header-sortable '; } if (this.props.sort.column === column.key) { sortClass += 'reactable-header-sort'; if (this.props.sort.direction === 1) { sortClass += '-asc'; } else { sortClass += '-desc'; } } if (sortClass.length > 0) { thClass += ' ' + sortClass; } if (typeof column.props === 'object' && typeof column.props.className === 'string') { thClass += ' ' + column.props.className; } Ths.push(_react['default'].createElement( _th.Th, _extends({}, column.props, { className: thClass, key: index, onClick: this.handleClickTh.bind(this, column), onKeyDown: this.handleKeyDownTh.bind(this, column), role: 'button', tabIndex: '0' }), column.label )); } // Manually transfer props var props = (0, _libFilter_props_from.filterPropsFrom)(this.props); return _react['default'].createElement( 'thead', props, this.props.filtering === true ? _react['default'].createElement(_filterer.Filterer, { colSpan: this.props.columns.length, onFilter: this.props.onFilter, placeholder: this.props.filterPlaceholder, value: this.props.currentFilter }) : null, _react['default'].createElement( 'tr', { className: 'reactable-column-header' }, Ths ) ); } }], [{ key: 'getColumns', value: function getColumns(component) { // Can't use React.Children.map since that doesn't return a proper array var columns = []; _react['default'].Children.forEach(component.props.children, function (th) { var column = {}; if (typeof th.props !== 'undefined') { column.props = (0, _libFilter_props_from.filterPropsFrom)(th.props); // use the content as the label & key if (typeof th.props.children !== 'undefined') { column.label = th.props.children; column.key = column.label; } // the key in the column attribute supersedes the one defined previously if (typeof th.props.column === 'string') { column.key = th.props.column; // in case we don't have a label yet if (typeof column.label === 'undefined') { column.label = column.key; } } } if (typeof column.key === 'undefined') { throw new TypeError('