diff --git a/.babelrc b/.babelrc new file mode 100644 index 0000000..49ab4f6 --- /dev/null +++ b/.babelrc @@ -0,0 +1,8 @@ +{ + "optional": [ + "es7.classProperties", + "es7.exportExtensions", + "es7.objectRestSpread", + "runtime" + ] +} diff --git a/README.md b/README.md index 74e9dfb..a1224a7 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ The components documented below are exposed as CommonJS modules and can be acces ```js // ES6 -import {Button, Cell} from 'react-pure'; +import { Button, Cell } from 'react-pure'; // CommonJS var Button = require('react-pure').Button; diff --git a/lib/Button.js b/lib/Button.js index a73cbf4..49de4ce 100644 --- a/lib/Button.js +++ b/lib/Button.js @@ -1,7 +1,5 @@ 'use strict'; -var _extends = require('babel-runtime/helpers/extends')['default']; - var _inherits = require('babel-runtime/helpers/inherits')['default']; var _createClass = require('babel-runtime/helpers/create-class')['default']; @@ -10,30 +8,34 @@ var _classCallCheck = require('babel-runtime/helpers/class-call-check')['default var _objectWithoutProperties = require('babel-runtime/helpers/object-without-properties')['default']; -var _interopRequireWildcard = require('babel-runtime/helpers/interop-require-wildcard')['default']; +var _extends = require('babel-runtime/helpers/extends')['default']; + +var _Object$defineProperty = require('babel-runtime/core-js/object/define-property')['default']; + +var _interopRequireDefault = require('babel-runtime/helpers/interop-require-default')['default']; -Object.defineProperty(exports, '__esModule', { +_Object$defineProperty(exports, '__esModule', { value: true }); -var _React = require('react'); +var _react = require('react'); -var _React2 = _interopRequireWildcard(_React); +var _react2 = _interopRequireDefault(_react); -var _classNames = require('classnames'); +var _classnames = require('classnames'); -var _classNames2 = _interopRequireWildcard(_classNames); +var _classnames2 = _interopRequireDefault(_classnames); -var PureButton = (function (_React$Component) { +var PureButton = (function (_Component) { function PureButton() { _classCallCheck(this, PureButton); - if (_React$Component != null) { - _React$Component.apply(this, arguments); + if (_Component != null) { + _Component.apply(this, arguments); } } - _inherits(PureButton, _React$Component); + _inherits(PureButton, _Component); _createClass(PureButton, [{ key: 'render', @@ -47,26 +49,30 @@ var PureButton = (function (_React$Component) { var props = _objectWithoutProperties(_props, ['className', 'href', 'active', 'disabled', 'primary']); - var cls = _classNames2['default']('pure-button', className, active && 'pure-button-active', disabled && 'pure-button-disabled', primary && 'pure-button-primary'); + var cls = (0, _classnames2['default'])('pure-button', className, active && 'pure-button-active', disabled && 'pure-button-disabled', primary && 'pure-button-primary'); - return href ? _React2['default'].createElement('a', _extends({ href: href, className: cls }, props)) : _React2['default'].createElement('button', _extends({ className: cls, disabled: disabled }, props)); + return href ? _react2['default'].createElement('a', _extends({ href: href, className: cls }, props)) : _react2['default'].createElement('button', _extends({ className: cls, disabled: disabled }, props)); } + }], [{ + key: 'propTypes', + value: { + active: _react.PropTypes.bool, + disabled: _react.PropTypes.bool, + primary: _react.PropTypes.bool + }, + enumerable: true + }, { + key: 'defaultProps', + value: { + active: false, + disabled: false, + primary: false + }, + enumerable: true }]); return PureButton; -})(_React2['default'].Component); +})(_react.Component); exports['default'] = PureButton; - -PureButton.propTypes = { - active: _React2['default'].PropTypes.bool, - disabled: _React2['default'].PropTypes.bool, - primary: _React2['default'].PropTypes.bool -}; - -PureButton.defaultProps = { - active: false, - disabled: false, - primary: false -}; module.exports = exports['default']; \ No newline at end of file diff --git a/lib/Cell.js b/lib/Cell.js index 4d1b9b8..0aae584 100644 --- a/lib/Cell.js +++ b/lib/Cell.js @@ -1,7 +1,5 @@ 'use strict'; -var _extends = require('babel-runtime/helpers/extends')['default']; - var _inherits = require('babel-runtime/helpers/inherits')['default']; var _createClass = require('babel-runtime/helpers/create-class')['default']; @@ -10,35 +8,39 @@ var _classCallCheck = require('babel-runtime/helpers/class-call-check')['default var _objectWithoutProperties = require('babel-runtime/helpers/object-without-properties')['default']; -var _interopRequireWildcard = require('babel-runtime/helpers/interop-require-wildcard')['default']; +var _extends = require('babel-runtime/helpers/extends')['default']; + +var _Object$defineProperty = require('babel-runtime/core-js/object/define-property')['default']; + +var _interopRequireDefault = require('babel-runtime/helpers/interop-require-default')['default']; -Object.defineProperty(exports, '__esModule', { +_Object$defineProperty(exports, '__esModule', { value: true }); -var _React = require('react'); +var _react = require('react'); -var _React2 = _interopRequireWildcard(_React); +var _react2 = _interopRequireDefault(_react); -var _classNames = require('classnames'); +var _classnames = require('classnames'); -var _classNames2 = _interopRequireWildcard(_classNames); +var _classnames2 = _interopRequireDefault(_classnames); var normalizeSize = function normalizeSize() { var s = arguments[0] === undefined ? '' : arguments[0]; return s.toString().replace('/', '-'); }; -var PureCell = (function (_React$Component) { +var PureCell = (function (_Component) { function PureCell() { _classCallCheck(this, PureCell); - if (_React$Component != null) { - _React$Component.apply(this, arguments); + if (_Component != null) { + _Component.apply(this, arguments); } } - _inherits(PureCell, _React$Component); + _inherits(PureCell, _Component); _createClass(PureCell, [{ key: 'render', @@ -53,26 +55,30 @@ var PureCell = (function (_React$Component) { var props = _objectWithoutProperties(_props, ['className', 'size', 'sm', 'md', 'lg', 'xl']); - var cls = _classNames2['default']('pure-u-' + normalizeSize(size), sm && 'pure-u-sm-' + normalizeSize(sm), md && 'pure-u-md-' + normalizeSize(md), lg && 'pure-u-lg-' + normalizeSize(lg), xl && 'pure-u-xl-' + normalizeSize(xl), className); + var cls = (0, _classnames2['default'])('pure-u-' + normalizeSize(size), sm && 'pure-u-sm-' + normalizeSize(sm), md && 'pure-u-md-' + normalizeSize(md), lg && 'pure-u-lg-' + normalizeSize(lg), xl && 'pure-u-xl-' + normalizeSize(xl), className); - return _React2['default'].createElement('div', _extends({ className: cls }, props)); + return _react2['default'].createElement('div', _extends({ className: cls }, props)); } + }], [{ + key: 'propTypes', + value: { + size: _react.PropTypes.string, + sm: _react.PropTypes.string, + md: _react.PropTypes.string, + lg: _react.PropTypes.string, + xl: _react.PropTypes.string + }, + enumerable: true + }, { + key: 'defaultProps', + value: { + size: '1' + }, + enumerable: true }]); return PureCell; -})(_React2['default'].Component); +})(_react.Component); exports['default'] = PureCell; - -PureCell.propTypes = { - size: _React2['default'].PropTypes.string, - sm: _React2['default'].PropTypes.string, - md: _React2['default'].PropTypes.string, - lg: _React2['default'].PropTypes.string, - xl: _React2['default'].PropTypes.string -}; - -PureCell.defaultProps = { - size: '1' -}; module.exports = exports['default']; \ No newline at end of file diff --git a/lib/Menu.js b/lib/Menu.js index f13e0e6..6808680 100644 --- a/lib/Menu.js +++ b/lib/Menu.js @@ -1,7 +1,5 @@ 'use strict'; -var _extends = require('babel-runtime/helpers/extends')['default']; - var _inherits = require('babel-runtime/helpers/inherits')['default']; var _createClass = require('babel-runtime/helpers/create-class')['default']; @@ -10,30 +8,34 @@ var _classCallCheck = require('babel-runtime/helpers/class-call-check')['default var _objectWithoutProperties = require('babel-runtime/helpers/object-without-properties')['default']; -var _interopRequireWildcard = require('babel-runtime/helpers/interop-require-wildcard')['default']; +var _extends = require('babel-runtime/helpers/extends')['default']; + +var _Object$defineProperty = require('babel-runtime/core-js/object/define-property')['default']; -Object.defineProperty(exports, '__esModule', { +var _interopRequireDefault = require('babel-runtime/helpers/interop-require-default')['default']; + +_Object$defineProperty(exports, '__esModule', { value: true }); -var _React = require('react'); +var _react = require('react'); -var _React2 = _interopRequireWildcard(_React); +var _react2 = _interopRequireDefault(_react); -var _classNames = require('classnames'); +var _classnames = require('classnames'); -var _classNames2 = _interopRequireWildcard(_classNames); +var _classnames2 = _interopRequireDefault(_classnames); -var PureMenu = (function (_React$Component) { +var PureMenu = (function (_Component) { function PureMenu() { _classCallCheck(this, PureMenu); - if (_React$Component != null) { - _React$Component.apply(this, arguments); + if (_Component != null) { + _Component.apply(this, arguments); } } - _inherits(PureMenu, _React$Component); + _inherits(PureMenu, _Component); _createClass(PureMenu, [{ key: 'render', @@ -45,24 +47,28 @@ var PureMenu = (function (_React$Component) { var props = _objectWithoutProperties(_props, ['className', 'horizontal', 'scrollable']); - var cls = _classNames2['default']('pure-menu', className, horizontal && 'pure-menu-horizontal', scrollable && 'pure-menu-scrollable'); + var cls = (0, _classnames2['default'])('pure-menu', className, horizontal && 'pure-menu-horizontal', scrollable && 'pure-menu-scrollable'); - return _React2['default'].createElement('div', _extends({ className: cls }, props)); + return _react2['default'].createElement('div', _extends({ className: cls }, props)); } + }], [{ + key: 'propTypes', + value: { + horizontal: _react.PropTypes.bool, + scrollable: _react.PropTypes.bool + }, + enumerable: true + }, { + key: 'defaultProps', + value: { + horizontal: false, + scrollable: false + }, + enumerable: true }]); return PureMenu; -})(_React2['default'].Component); +})(_react.Component); exports['default'] = PureMenu; - -PureMenu.propTypes = { - horizontal: _React2['default'].PropTypes.bool, - scrollable: _React2['default'].PropTypes.bool -}; - -PureMenu.defaultProps = { - horizontal: false, - scrollable: false -}; module.exports = exports['default']; \ No newline at end of file diff --git a/lib/MenuItem.js b/lib/MenuItem.js index 2707f43..98c4af3 100644 --- a/lib/MenuItem.js +++ b/lib/MenuItem.js @@ -1,7 +1,5 @@ 'use strict'; -var _extends = require('babel-runtime/helpers/extends')['default']; - var _inherits = require('babel-runtime/helpers/inherits')['default']; var _createClass = require('babel-runtime/helpers/create-class')['default']; @@ -10,30 +8,34 @@ var _classCallCheck = require('babel-runtime/helpers/class-call-check')['default var _objectWithoutProperties = require('babel-runtime/helpers/object-without-properties')['default']; -var _interopRequireWildcard = require('babel-runtime/helpers/interop-require-wildcard')['default']; +var _extends = require('babel-runtime/helpers/extends')['default']; + +var _Object$defineProperty = require('babel-runtime/core-js/object/define-property')['default']; + +var _interopRequireDefault = require('babel-runtime/helpers/interop-require-default')['default']; -Object.defineProperty(exports, '__esModule', { +_Object$defineProperty(exports, '__esModule', { value: true }); -var _React = require('react'); +var _react = require('react'); -var _React2 = _interopRequireWildcard(_React); +var _react2 = _interopRequireDefault(_react); -var _classNames = require('classnames'); +var _classnames = require('classnames'); -var _classNames2 = _interopRequireWildcard(_classNames); +var _classnames2 = _interopRequireDefault(_classnames); -var PureMenuItem = (function (_React$Component) { +var PureMenuItem = (function (_Component) { function PureMenuItem() { _classCallCheck(this, PureMenuItem); - if (_React$Component != null) { - _React$Component.apply(this, arguments); + if (_Component != null) { + _Component.apply(this, arguments); } } - _inherits(PureMenuItem, _React$Component); + _inherits(PureMenuItem, _Component); _createClass(PureMenuItem, [{ key: 'render', @@ -47,28 +49,32 @@ var PureMenuItem = (function (_React$Component) { var props = _objectWithoutProperties(_props, ['allowHover', 'className', 'disabled', 'hasChildren', 'selected']); - var cls = _classNames2['default']('pure-menu-item', className, allowHover && 'pure-menu-allow-hover', disabled && 'pure-menu-disabled', hasChildren && 'pure-menu-has-children', selected && 'pure-menu-selected'); + var cls = (0, _classnames2['default'])('pure-menu-item', className, allowHover && 'pure-menu-allow-hover', disabled && 'pure-menu-disabled', hasChildren && 'pure-menu-has-children', selected && 'pure-menu-selected'); - return _React2['default'].createElement('li', _extends({ className: cls }, props)); + return _react2['default'].createElement('li', _extends({ className: cls }, props)); } + }], [{ + key: 'propTypes', + value: { + allowHover: _react2['default'].PropTypes.bool, + disabled: _react2['default'].PropTypes.bool, + hasChildren: _react2['default'].PropTypes.bool, + selected: _react2['default'].PropTypes.bool + }, + enumerable: true + }, { + key: 'defaultProps', + value: { + allowHover: false, + disabled: false, + hasChildren: false, + selected: false + }, + enumerable: true }]); return PureMenuItem; -})(_React2['default'].Component); +})(_react.Component); exports['default'] = PureMenuItem; - -PureMenuItem.propType = { - allowHover: _React2['default'].PropTypes.bool, - disabled: _React2['default'].PropTypes.bool, - hasChildren: _React2['default'].PropTypes.bool, - selected: _React2['default'].PropTypes.bool -}; - -PureMenuItem.defaultProps = { - allowHover: false, - disabled: false, - hasChildren: false, - selected: false -}; module.exports = exports['default']; \ No newline at end of file diff --git a/lib/Table.js b/lib/Table.js index 485fcb0..88c6d97 100644 --- a/lib/Table.js +++ b/lib/Table.js @@ -1,7 +1,5 @@ 'use strict'; -var _extends = require('babel-runtime/helpers/extends')['default']; - var _inherits = require('babel-runtime/helpers/inherits')['default']; var _createClass = require('babel-runtime/helpers/create-class')['default']; @@ -10,30 +8,34 @@ var _classCallCheck = require('babel-runtime/helpers/class-call-check')['default var _objectWithoutProperties = require('babel-runtime/helpers/object-without-properties')['default']; -var _interopRequireWildcard = require('babel-runtime/helpers/interop-require-wildcard')['default']; +var _extends = require('babel-runtime/helpers/extends')['default']; + +var _Object$defineProperty = require('babel-runtime/core-js/object/define-property')['default']; + +var _interopRequireDefault = require('babel-runtime/helpers/interop-require-default')['default']; -Object.defineProperty(exports, '__esModule', { +_Object$defineProperty(exports, '__esModule', { value: true }); -var _React = require('react'); +var _react = require('react'); -var _React2 = _interopRequireWildcard(_React); +var _react2 = _interopRequireDefault(_react); -var _classNames = require('classnames'); +var _classnames = require('classnames'); -var _classNames2 = _interopRequireWildcard(_classNames); +var _classnames2 = _interopRequireDefault(_classnames); -var PureTable = (function (_React$Component) { +var PureTable = (function (_Component) { function PureTable() { _classCallCheck(this, PureTable); - if (_React$Component != null) { - _React$Component.apply(this, arguments); + if (_Component != null) { + _Component.apply(this, arguments); } } - _inherits(PureTable, _React$Component); + _inherits(PureTable, _Component); _createClass(PureTable, [{ key: 'render', @@ -46,27 +48,30 @@ var PureTable = (function (_React$Component) { var props = _objectWithoutProperties(_props, ['className', 'bordered', 'horizontal', 'striped']); - var cls = _classNames2['default']('pure-table', className, bordered && 'pure-table-bordered', horizontal && 'pure-table-horizontal', striped && 'pure-table-striped'); + var cls = (0, _classnames2['default'])('pure-table', className, bordered && 'pure-table-bordered', horizontal && 'pure-table-horizontal', striped && 'pure-table-striped'); - return _React2['default'].createElement('table', _extends({ className: cls }, props)); + return _react2['default'].createElement('table', _extends({ className: cls }, props)); } + }], [{ + key: 'propTypes', + value: { + bordered: _react.PropTypes.bool, + horizontal: _react.PropTypes.bool, + striped: _react.PropTypes.bool + }, + enumerable: true + }, { + key: 'defaultProps', + value: { + bordered: false, + horizontal: false, + striped: false + }, + enumerable: true }]); return PureTable; -})(_React2['default'].Component); +})(_react.Component); exports['default'] = PureTable; -; - -PureTable.propTypes = { - bordered: _React2['default'].PropTypes.bool, - horizontal: _React2['default'].PropTypes.bool, - striped: _React2['default'].PropTypes.bool -}; - -PureTable.defaultProps = { - bordered: false, - horizontal: false, - striped: false -}; module.exports = exports['default']; \ No newline at end of file diff --git a/lib/__tests__/Button.js b/lib/__tests__/Button.js index f343319..e997418 100644 --- a/lib/__tests__/Button.js +++ b/lib/__tests__/Button.js @@ -1,61 +1,61 @@ 'use strict'; -var _interopRequireWildcard = require('babel-runtime/helpers/interop-require-wildcard')['default']; +var _interopRequireDefault = require('babel-runtime/helpers/interop-require-default')['default']; -var _React = require('react/addons'); +var _reactAddons = require('react/addons'); -var _React2 = _interopRequireWildcard(_React); +var _reactAddons2 = _interopRequireDefault(_reactAddons); -var TestUtils = _React2['default'].addons.TestUtils; +var TestUtils = _reactAddons2['default'].addons.TestUtils; jest.dontMock('../Button'); var Button = require('../Button'); describe('Button', function () { it('renders a button by default', function () { - var component = TestUtils.renderIntoDocument(_React2['default'].createElement(Button, null)); - expect(_React2['default'].findDOMNode(component)).toBeDefined(); + var component = TestUtils.renderIntoDocument(_reactAddons2['default'].createElement(Button, null)); + expect(_reactAddons2['default'].findDOMNode(component)).toBeDefined(); }); it('renders an anchor the `href` property is set', function () { - var component = TestUtils.renderIntoDocument(_React2['default'].createElement(Button, { href: '#' })); - var node = _React2['default'].findDOMNode(component); + var component = TestUtils.renderIntoDocument(_reactAddons2['default'].createElement(Button, { href: '#' })); + var node = _reactAddons2['default'].findDOMNode(component); expect(node.tagName).toBe('A'); }); it('transfers the `href` property to the anchor', function () { - var component = TestUtils.renderIntoDocument(_React2['default'].createElement(Button, { href: '#test' })); - var node = _React2['default'].findDOMNode(component); + var component = TestUtils.renderIntoDocument(_reactAddons2['default'].createElement(Button, { href: '#test' })); + var node = _reactAddons2['default'].findDOMNode(component); expect(node.href).toMatch(/#test$/); }); it('adds the `pure-button` class', function () { - var component = TestUtils.renderIntoDocument(_React2['default'].createElement(Button, { className: 'my-button' })); - var node = _React2['default'].findDOMNode(component); + var component = TestUtils.renderIntoDocument(_reactAddons2['default'].createElement(Button, { className: 'my-button' })); + var node = _reactAddons2['default'].findDOMNode(component); expect(node.className).toBe('pure-button my-button'); }); it('adds the `pure-button-active` class if the `active` property if set', function () { - var component = TestUtils.renderIntoDocument(_React2['default'].createElement(Button, { active: true })); - var node = _React2['default'].findDOMNode(component); + var component = TestUtils.renderIntoDocument(_reactAddons2['default'].createElement(Button, { active: true })); + var node = _reactAddons2['default'].findDOMNode(component); expect(node.className).toBe('pure-button pure-button-active'); }); it('adds the `pure-button-disabled` class if the `disabled` property if set', function () { - var component = TestUtils.renderIntoDocument(_React2['default'].createElement(Button, { disabled: true })); - var node = _React2['default'].findDOMNode(component); + var component = TestUtils.renderIntoDocument(_reactAddons2['default'].createElement(Button, { disabled: true })); + var node = _reactAddons2['default'].findDOMNode(component); expect(node.className).toBe('pure-button pure-button-disabled'); }); it('transfers the `disabled` property to the button', function () { - var component = TestUtils.renderIntoDocument(_React2['default'].createElement(Button, { disabled: true })); - var node = _React2['default'].findDOMNode(component); + var component = TestUtils.renderIntoDocument(_reactAddons2['default'].createElement(Button, { disabled: true })); + var node = _reactAddons2['default'].findDOMNode(component); expect(node.disabled).toBe(true); }); it('adds the `pure-button-primary` class if the `primary` property if set', function () { - var component = TestUtils.renderIntoDocument(_React2['default'].createElement(Button, { primary: true })); - var node = _React2['default'].findDOMNode(component); + var component = TestUtils.renderIntoDocument(_reactAddons2['default'].createElement(Button, { primary: true })); + var node = _reactAddons2['default'].findDOMNode(component); expect(node.className).toBe('pure-button pure-button-primary'); }); }); \ No newline at end of file diff --git a/lib/__tests__/Cell.js b/lib/__tests__/Cell.js index e05306d..e5b43a4 100644 --- a/lib/__tests__/Cell.js +++ b/lib/__tests__/Cell.js @@ -1,50 +1,50 @@ 'use strict'; -var _interopRequireWildcard = require('babel-runtime/helpers/interop-require-wildcard')['default']; +var _interopRequireDefault = require('babel-runtime/helpers/interop-require-default')['default']; -var _React = require('react/addons'); +var _reactAddons = require('react/addons'); -var _React2 = _interopRequireWildcard(_React); +var _reactAddons2 = _interopRequireDefault(_reactAddons); -var TestUtils = _React2['default'].addons.TestUtils; +var TestUtils = _reactAddons2['default'].addons.TestUtils; jest.dontMock('../Cell'); var Cell = require('../Cell'); describe('Cell', function () { it('renders a div with class `pure-u-1` by default', function () { - var component = TestUtils.renderIntoDocument(_React2['default'].createElement(Cell, { className: 'my-cell' })); - var node = _React2['default'].findDOMNode(component); + var component = TestUtils.renderIntoDocument(_reactAddons2['default'].createElement(Cell, { className: 'my-cell' })); + var node = _reactAddons2['default'].findDOMNode(component); expect(node.className).toBe('pure-u-1 my-cell'); }); it('applies the class based on the `size` property', function () { - var component = TestUtils.renderIntoDocument(_React2['default'].createElement(Cell, { size: '1/2' })); - var node = _React2['default'].findDOMNode(component); + var component = TestUtils.renderIntoDocument(_reactAddons2['default'].createElement(Cell, { size: '1/2' })); + var node = _reactAddons2['default'].findDOMNode(component); expect(node.className).toBe('pure-u-1-2'); }); it('adds the `pure-u-sm-*` class based on the `sm` property', function () { - var component = TestUtils.renderIntoDocument(_React2['default'].createElement(Cell, { size: '1/2', sm: '1' })); - var node = _React2['default'].findDOMNode(component); + var component = TestUtils.renderIntoDocument(_reactAddons2['default'].createElement(Cell, { size: '1/2', sm: '1' })); + var node = _reactAddons2['default'].findDOMNode(component); expect(node.className).toBe('pure-u-1-2 pure-u-sm-1'); }); it('adds the `pure-u-md-*` class based on the `md` property', function () { - var component = TestUtils.renderIntoDocument(_React2['default'].createElement(Cell, { size: '1/2', md: '1' })); - var node = _React2['default'].findDOMNode(component); + var component = TestUtils.renderIntoDocument(_reactAddons2['default'].createElement(Cell, { size: '1/2', md: '1' })); + var node = _reactAddons2['default'].findDOMNode(component); expect(node.className).toBe('pure-u-1-2 pure-u-md-1'); }); it('adds the `pure-u-lg-*` class based on the `lg` property', function () { - var component = TestUtils.renderIntoDocument(_React2['default'].createElement(Cell, { size: '1/2', lg: '1/3' })); - var node = _React2['default'].findDOMNode(component); + var component = TestUtils.renderIntoDocument(_reactAddons2['default'].createElement(Cell, { size: '1/2', lg: '1/3' })); + var node = _reactAddons2['default'].findDOMNode(component); expect(node.className).toBe('pure-u-1-2 pure-u-lg-1-3'); }); it('adds the `pure-u-xl-*` class based on the `xl` property', function () { - var component = TestUtils.renderIntoDocument(_React2['default'].createElement(Cell, { size: '1/2', lg: '2/3', xl: '1/4' })); - var node = _React2['default'].findDOMNode(component); + var component = TestUtils.renderIntoDocument(_reactAddons2['default'].createElement(Cell, { size: '1/2', lg: '2/3', xl: '1/4' })); + var node = _reactAddons2['default'].findDOMNode(component); expect(node.className).toBe('pure-u-1-2 pure-u-lg-2-3 pure-u-xl-1-4'); }); }); \ No newline at end of file diff --git a/lib/__tests__/Menu.js b/lib/__tests__/Menu.js index 8af9910..a4a6064 100644 --- a/lib/__tests__/Menu.js +++ b/lib/__tests__/Menu.js @@ -1,32 +1,32 @@ 'use strict'; -var _interopRequireWildcard = require('babel-runtime/helpers/interop-require-wildcard')['default']; +var _interopRequireDefault = require('babel-runtime/helpers/interop-require-default')['default']; -var _React = require('react/addons'); +var _reactAddons = require('react/addons'); -var _React2 = _interopRequireWildcard(_React); +var _reactAddons2 = _interopRequireDefault(_reactAddons); -var TestUtils = _React2['default'].addons.TestUtils; +var TestUtils = _reactAddons2['default'].addons.TestUtils; jest.dontMock('../Menu'); var Menu = require('../Menu'); describe('Menu', function () { it('renders a div with class `pure-menu` by default', function () { - var component = TestUtils.renderIntoDocument(_React2['default'].createElement(Menu, { className: 'my-menu' })); - var node = _React2['default'].findDOMNode(component); + var component = TestUtils.renderIntoDocument(_reactAddons2['default'].createElement(Menu, { className: 'my-menu' })); + var node = _reactAddons2['default'].findDOMNode(component); expect(node.className).toBe('pure-menu my-menu'); }); it('adds the `pure-menu-horizontal` class if the `horizontal` property is set', function () { - var component = TestUtils.renderIntoDocument(_React2['default'].createElement(Menu, { horizontal: true })); - var node = _React2['default'].findDOMNode(component); + var component = TestUtils.renderIntoDocument(_reactAddons2['default'].createElement(Menu, { horizontal: true })); + var node = _reactAddons2['default'].findDOMNode(component); expect(node.className).toBe('pure-menu pure-menu-horizontal'); }); it('adds the `pure-menu-scrollable` class if the `scrollable` property is set', function () { - var component = TestUtils.renderIntoDocument(_React2['default'].createElement(Menu, { scrollable: true })); - var node = _React2['default'].findDOMNode(component); + var component = TestUtils.renderIntoDocument(_reactAddons2['default'].createElement(Menu, { scrollable: true })); + var node = _reactAddons2['default'].findDOMNode(component); expect(node.className).toBe('pure-menu pure-menu-scrollable'); }); }); \ No newline at end of file diff --git a/lib/__tests__/MenuItem.js b/lib/__tests__/MenuItem.js index 98dc0d0..896b31e 100644 --- a/lib/__tests__/MenuItem.js +++ b/lib/__tests__/MenuItem.js @@ -1,44 +1,44 @@ 'use strict'; -var _interopRequireWildcard = require('babel-runtime/helpers/interop-require-wildcard')['default']; +var _interopRequireDefault = require('babel-runtime/helpers/interop-require-default')['default']; -var _React = require('react/addons'); +var _reactAddons = require('react/addons'); -var _React2 = _interopRequireWildcard(_React); +var _reactAddons2 = _interopRequireDefault(_reactAddons); -var TestUtils = _React2['default'].addons.TestUtils; +var TestUtils = _reactAddons2['default'].addons.TestUtils; jest.dontMock('../MenuItem'); var MenuItem = require('../MenuItem'); describe('MenuItem', function () { it('renders a li with class `pure-menu-item` by default', function () { - var component = TestUtils.renderIntoDocument(_React2['default'].createElement(MenuItem, { className: 'my-item' })); - var node = _React2['default'].findDOMNode(component); + var component = TestUtils.renderIntoDocument(_reactAddons2['default'].createElement(MenuItem, { className: 'my-item' })); + var node = _reactAddons2['default'].findDOMNode(component); expect(node.className).toBe('pure-menu-item my-item'); }); it('adds the `pure-menu-selected` class if the `selected` property is set', function () { - var component = TestUtils.renderIntoDocument(_React2['default'].createElement(MenuItem, { selected: true })); - var node = _React2['default'].findDOMNode(component); + var component = TestUtils.renderIntoDocument(_reactAddons2['default'].createElement(MenuItem, { selected: true })); + var node = _reactAddons2['default'].findDOMNode(component); expect(node.className).toBe('pure-menu-item pure-menu-selected'); }); it('adds the `pure-menu-disabled` class if the `disabled` property is set', function () { - var component = TestUtils.renderIntoDocument(_React2['default'].createElement(MenuItem, { disabled: true })); - var node = _React2['default'].findDOMNode(component); + var component = TestUtils.renderIntoDocument(_reactAddons2['default'].createElement(MenuItem, { disabled: true })); + var node = _reactAddons2['default'].findDOMNode(component); expect(node.className).toBe('pure-menu-item pure-menu-disabled'); }); it('adds the `pure-menu-has-children` class if the `hasChildren` property is set', function () { - var component = TestUtils.renderIntoDocument(_React2['default'].createElement(MenuItem, { hasChildren: true })); - var node = _React2['default'].findDOMNode(component); + var component = TestUtils.renderIntoDocument(_reactAddons2['default'].createElement(MenuItem, { hasChildren: true })); + var node = _reactAddons2['default'].findDOMNode(component); expect(node.className).toBe('pure-menu-item pure-menu-has-children'); }); it('adds the `pure-menu-allow-hover` class if the `allowHover` property is set', function () { - var component = TestUtils.renderIntoDocument(_React2['default'].createElement(MenuItem, { allowHover: true })); - var node = _React2['default'].findDOMNode(component); + var component = TestUtils.renderIntoDocument(_reactAddons2['default'].createElement(MenuItem, { allowHover: true })); + var node = _reactAddons2['default'].findDOMNode(component); expect(node.className).toBe('pure-menu-item pure-menu-allow-hover'); }); }); \ No newline at end of file diff --git a/lib/__tests__/Table.js b/lib/__tests__/Table.js index a03f71d..6775669 100644 --- a/lib/__tests__/Table.js +++ b/lib/__tests__/Table.js @@ -1,38 +1,38 @@ 'use strict'; -var _interopRequireWildcard = require('babel-runtime/helpers/interop-require-wildcard')['default']; +var _interopRequireDefault = require('babel-runtime/helpers/interop-require-default')['default']; -var _React = require('react/addons'); +var _reactAddons = require('react/addons'); -var _React2 = _interopRequireWildcard(_React); +var _reactAddons2 = _interopRequireDefault(_reactAddons); -var TestUtils = _React2['default'].addons.TestUtils; +var TestUtils = _reactAddons2['default'].addons.TestUtils; jest.dontMock('../Table'); var Table = require('../Table'); describe('Table', function () { it('renders a table with class `pure-table` by default', function () { - var component = TestUtils.renderIntoDocument(_React2['default'].createElement(Table, { className: 'my-table' })); - var node = _React2['default'].findDOMNode(component); + var component = TestUtils.renderIntoDocument(_reactAddons2['default'].createElement(Table, { className: 'my-table' })); + var node = _reactAddons2['default'].findDOMNode(component); expect(node.className).toBe('pure-table my-table'); }); it('adds the `pure-table-bordered` class if the `bordered` property is set', function () { - var component = TestUtils.renderIntoDocument(_React2['default'].createElement(Table, { bordered: true })); - var node = _React2['default'].findDOMNode(component); + var component = TestUtils.renderIntoDocument(_reactAddons2['default'].createElement(Table, { bordered: true })); + var node = _reactAddons2['default'].findDOMNode(component); expect(node.className).toBe('pure-table pure-table-bordered'); }); it('adds the `pure-table-horizontal` class if the `horizontal` property is set', function () { - var component = TestUtils.renderIntoDocument(_React2['default'].createElement(Table, { horizontal: true })); - var node = _React2['default'].findDOMNode(component); + var component = TestUtils.renderIntoDocument(_reactAddons2['default'].createElement(Table, { horizontal: true })); + var node = _reactAddons2['default'].findDOMNode(component); expect(node.className).toBe('pure-table pure-table-horizontal'); }); it('adds the `pure-table-striped` class if the `striped` property is set to true', function () { - var component = TestUtils.renderIntoDocument(_React2['default'].createElement(Table, { striped: true })); - var node = _React2['default'].findDOMNode(component); + var component = TestUtils.renderIntoDocument(_reactAddons2['default'].createElement(Table, { striped: true })); + var node = _reactAddons2['default'].findDOMNode(component); expect(node.className).toBe('pure-table pure-table-striped'); }); }); \ No newline at end of file diff --git a/lib/index.js b/lib/index.js index db5c19a..16fc69b 100644 --- a/lib/index.js +++ b/lib/index.js @@ -1,30 +1,39 @@ 'use strict'; -var _interopRequireWildcard = require('babel-runtime/helpers/interop-require-wildcard')['default']; +var _Object$defineProperty = require('babel-runtime/core-js/object/define-property')['default']; -Object.defineProperty(exports, '__esModule', { +var _interopRequireDefault = require('babel-runtime/helpers/interop-require-default')['default']; + +_Object$defineProperty(exports, '__esModule', { value: true }); -var _Button = require('./Button'); +var _Button2 = require('./Button'); + +var _Button3 = _interopRequireDefault(_Button2); + +exports.Button = _Button3['default']; + +var _Cell2 = require('./Cell'); + +var _Cell3 = _interopRequireDefault(_Cell2); -var _Button2 = _interopRequireWildcard(_Button); +exports.Cell = _Cell3['default']; -var _Cell = require('./Cell'); +var _Menu2 = require('./Menu'); -var _Cell2 = _interopRequireWildcard(_Cell); +var _Menu3 = _interopRequireDefault(_Menu2); -var _Menu = require('./Menu'); +exports.Menu = _Menu3['default']; -var _Menu2 = _interopRequireWildcard(_Menu); +var _MenuItem2 = require('./MenuItem'); -var _MenuItem = require('./MenuItem'); +var _MenuItem3 = _interopRequireDefault(_MenuItem2); -var _MenuItem2 = _interopRequireWildcard(_MenuItem); +exports.MenuItem = _MenuItem3['default']; -var _Table = require('./Table'); +var _Table2 = require('./Table'); -var _Table2 = _interopRequireWildcard(_Table); +var _Table3 = _interopRequireDefault(_Table2); -exports['default'] = { Button: _Button2['default'], Cell: _Cell2['default'], Menu: _Menu2['default'], MenuItem: _MenuItem2['default'], Table: _Table2['default'] }; -module.exports = exports['default']; \ No newline at end of file +exports.Table = _Table3['default']; \ No newline at end of file diff --git a/package.json b/package.json index cb29065..a96189f 100644 --- a/package.json +++ b/package.json @@ -5,8 +5,8 @@ "main": "lib/index.js", "scripts": { "clean": "rm -Rf ./lib", - "compile": "npm run clean && babel --stage 1 --optional runtime --out-dir lib src", - "watch": "babel --watch --stage 1 --optional runtime --out-dir lib src", + "compile": "npm run clean && babel --out-dir lib src", + "watch": "babel --watch --out-dir lib src", "test": "jest --coverage ./lib", "start": "npm run compile && npm test", "onchange": "onchange 'lib/*.js' 'lib/**/*.js' -- jest ./lib", @@ -28,15 +28,15 @@ }, "homepage": "https://github.com/hailocab/react-pure", "dependencies": { - "babel-runtime": "^5.1.9", - "classnames": "^1.1.4" + "babel-runtime": "^5.4.7", + "classnames": "^2.1.2" }, "peerDependencies": { "react": "^0.13.0" }, "devDependencies": { - "babel": "^5.1.9", - "jest-cli": "^0.4.0", + "babel": "^5.4.7", + "jest-cli": "^0.4.5", "onchange": "^1.1.0", "react": "^0.13.0" }, diff --git a/src/Button.js b/src/Button.js index ddb5d9a..ae6669f 100644 --- a/src/Button.js +++ b/src/Button.js @@ -1,9 +1,21 @@ -import React from 'react'; +import React, { Component, PropTypes } from 'react'; import classNames from 'classnames'; -export default class PureButton extends React.Component { +export default class PureButton extends Component { + static propTypes = { + active: PropTypes.bool, + disabled: PropTypes.bool, + primary: PropTypes.bool + }; + + static defaultProps = { + active: false, + disabled: false, + primary: false + }; + render() { - const {className, href, active, disabled, primary, ...props} = this.props; + const { className, href, active, disabled, primary, ...props } = this.props; const cls = classNames( 'pure-button', className, active && 'pure-button-active', @@ -16,15 +28,3 @@ export default class PureButton extends React.Component { :