From 21fe57393c0d05892efb8a186b987dbaba413fb6 Mon Sep 17 00:00:00 2001
From: Gajus Kuizinas
Date: Fri, 4 Dec 2015 11:02:43 +0000
Subject: [PATCH 001/149] Updated ignore definition.
---
.gitignore | 7 ++++++-
.npmignore | 4 +---
2 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/.gitignore b/.gitignore
index fa88f70..14e7b61 100755
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,9 @@
node_modules
coverage
-.coveralls.yml
+dist
*.log
+.*
+!.gitignore
+!.npmignore
+!.babelrc
+!.travis.yml
diff --git a/.npmignore b/.npmignore
index 4f341b3..e8add85 100755
--- a/.npmignore
+++ b/.npmignore
@@ -1,7 +1,5 @@
src
tests
coverage
-.coveralls.yml
-.travis.yml
-.eslintrc
+.*
*.log
From 2c24b61ee55edd3f49da8db6e3071be7c6dfad5b Mon Sep 17 00:00:00 2001
From: Gajus Kuizinas
Date: Fri, 4 Dec 2015 11:38:45 +0000
Subject: [PATCH 002/149] Meeting the updated linting requirements.
---
.babelrc | 3 ---
README.md | 1 -
package.json | 21 +++++++++++---------
src/extendReactClass.js | 2 ++
src/index.js | 5 +++--
src/isIterable.js | 35 ++++++++++++++++++++++++++--------
src/linkClass.js | 16 +++++++---------
src/makeConfiguration.js | 8 ++++----
src/wrapStatelessFunction.js | 2 ++
tests/extendReactClass.js | 10 +---------
tests/linkClass.js | 18 +++++------------
tests/mocha.opts | 1 -
tests/reactCssModules.js | 17 +++++++++++------
tests/wrapStatelessFunction.js | 7 +++++--
14 files changed, 79 insertions(+), 67 deletions(-)
delete mode 100644 .babelrc
delete mode 100644 tests/mocha.opts
diff --git a/.babelrc b/.babelrc
deleted file mode 100644
index 12606a3..0000000
--- a/.babelrc
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "stage": 0
-}
diff --git a/README.md b/README.md
index 362e693..3d3a19b 100644
--- a/README.md
+++ b/README.md
@@ -2,7 +2,6 @@
[](https://travis-ci.org/gajus/react-css-modules)
[](https://www.npmjs.org/package/react-css-modules)
-[](https://coveralls.io/github/gajus/react-css-modules?branch=master)
diff --git a/package.json b/package.json
index ca140d3..5c519f5 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "react-css-modules",
"description": "Seamless mapping of class names to CSS modules inside of React components.",
- "main": "./dist/index.js",
+ "main": "./dist/",
"repository": {
"type": "git",
"url": "https://github.com/gajus/react-css-modules"
@@ -15,7 +15,7 @@
"version": "3.6.1",
"author": {
"name": "Gajus Kuizinas",
- "email": "gk@anuary.com",
+ "email": "gajus@gajus.com",
"url": "http://gajus.com"
},
"license": "BSD-3-Clause",
@@ -23,17 +23,20 @@
"lodash": "^3.10.1"
},
"devDependencies": {
- "chai": "^3.4.0",
- "coveralls": "^2.11.4",
- "jsdom": "^7.0.2",
- "pragmatist": "^1.1.5",
- "react": "^0.14.0",
- "react-addons-test-utils": "^0.14.0"
+ "chai": "^3.4.1",
+ "jsdom": "^7.1.1",
+ "pragmatist": "^1.9.4",
+ "react": "^0.14.3",
+ "react-addons-test-utils": "^0.14.3"
},
"scripts": {
"pragmatist": "node ./node_modules/.bin/pragmatist",
"lint": "npm run pragmatist lint",
+ "test": "npm run pragmatist test",
"build": "npm run pragmatist build",
- "test": "npm run pragmatist test && cat ./coverage/lcov.info | ./node_modules/.bin/coveralls"
+ "watch": "npm run pragmatist watch",
+ "watch-lint": "npm run pragmatist watch-lint",
+ "watch-test": "npm run pragmatist watch-test",
+ "watch-build": "npm run pragmatist watch-build"
}
}
diff --git a/src/extendReactClass.js b/src/extendReactClass.js
index 4ff5114..556334d 100644
--- a/src/extendReactClass.js
+++ b/src/extendReactClass.js
@@ -1,3 +1,5 @@
+/* eslint-disable react/prop-types */
+
import linkClass from './linkClass';
import React from 'react';
import _ from 'lodash';
diff --git a/src/index.js b/src/index.js
index 9f1ff1e..9e8c274 100644
--- a/src/index.js
+++ b/src/index.js
@@ -1,3 +1,4 @@
+import _ from 'lodash';
import extendReactClass from './extendReactClass';
import wrapStatelessFunction from './wrapStatelessFunction';
@@ -12,7 +13,7 @@ let decoratorConstructor,
* @return {boolean}
*/
isReactComponent = (Component) => {
- return 'prototype' in Component && typeof Component.prototype.render === 'function';
+ return 'prototype' in Component && _.isFunction(Component.prototype.render);
};
/**
@@ -55,7 +56,7 @@ decoratorConstructor = (defaultStyles, options) => {
};
export default (...args) => {
- if (typeof args[0] === 'function') {
+ if (_.isFunction(args[0])) {
return functionConstructor(args[0], args[1], args[2]);
} else {
return decoratorConstructor(args[0], args[1]);
diff --git a/src/isIterable.js b/src/isIterable.js
index 2a5b74c..9e4c449 100644
--- a/src/isIterable.js
+++ b/src/isIterable.js
@@ -1,10 +1,29 @@
-import { isObject } from 'lodash';
+import _ from 'lodash';
-const ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;
-const OLD_ITERATOR_SYMBOL = '@@iterator';
+let ITERATOR_SYMBOL,
+ OLD_ITERATOR_SYMBOL;
-export default function isIterable(obj) {
- return isObject(obj) &&
- typeof ((ITERATOR_SYMBOL && obj[ITERATOR_SYMBOL])
- || obj[OLD_ITERATOR_SYMBOL]) === 'function';
-}
+ITERATOR_SYMBOL = _.isFunction(Symbol) && Symbol.iterator;
+OLD_ITERATOR_SYMBOL = '@@iterator';
+
+/**
+ * @see https://github.com/lodash/lodash/issues/1668
+ * @see https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Iteration_protocols
+ * @param {Object} target
+ * @returns {boolean}
+ */
+export default (target) => {
+ let iterator;
+
+ if (!_.isObject(target)) {
+ return false;
+ }
+
+ if (ITERATOR_SYMBOL) {
+ iterator = target[ITERATOR_SYMBOL];
+ } else {
+ iterator = target[OLD_ITERATOR_SYMBOL];
+ }
+
+ return _.isFunction(iterator);
+};
diff --git a/src/linkClass.js b/src/linkClass.js
index 58dd47a..ce824e2 100644
--- a/src/linkClass.js
+++ b/src/linkClass.js
@@ -34,24 +34,22 @@ linkClass = (element, styles = {}, userConfiguration) => {
styleNames = _.filter(styleNames);
if (configuration.allowMultiple === false && styleNames.length > 1) {
- throw new Error(`ReactElement styleName property defines multiple module names ("${element.props.styleName}").`);
+ throw new Error('ReactElement styleName property defines multiple module names ("' + element.props.styleName + '").');
}
- appendClassName = styleNames.map((styleName) => {
+ appendClassName = _.map(styleNames, (styleName) => {
if (styles[styleName]) {
return styles[styleName];
} else {
if (configuration.errorWhenNotFound === true) {
- throw new Error(`"${styleName}" CSS module is undefined.`);
+ throw new Error('"' + styleName + '" CSS module is undefined.');
}
return '';
}
});
- appendClassName = appendClassName.filter((className) => {
- return className.length;
- });
+ appendClassName = _.filter(appendClassName, 'length');
appendClassName = appendClassName.join(' ');
}
@@ -62,14 +60,14 @@ linkClass = (element, styles = {}, userConfiguration) => {
// [ReactElement, 'text']
// ReactElement
- // console.log(`element.props.children`, element.props.children, `React.Children.count(element.props.children)`, React.Children.count(element.props.children));
-
children = element.props.children;
if (React.isValidElement(children)) {
newChildren = linkClass(React.Children.only(children), styles, configuration);
} else if (_.isArray(children) || isIterable(children)) {
+ /* eslint-disable lodash3/prefer-lodash-method */
newChildren = React.Children.map(children, (node) => {
+ /* eslint-enable lodash3/prefer-lodash-method */
if (React.isValidElement(node)) {
return linkClass(node, styles, configuration);
} else {
@@ -85,7 +83,7 @@ linkClass = (element, styles = {}, userConfiguration) => {
if (appendClassName) {
if (element.props.className) {
- appendClassName = `${element.props.className} ${appendClassName}`;
+ appendClassName = element.props.className + ' ' + appendClassName;
}
newProps = {
diff --git a/src/makeConfiguration.js b/src/makeConfiguration.js
index dae8ca5..292e2f1 100644
--- a/src/makeConfiguration.js
+++ b/src/makeConfiguration.js
@@ -20,12 +20,12 @@ export default (userConfiguration = {}) => {
};
_.forEach(userConfiguration, (value, name) => {
- if (typeof configuration[name] === 'undefined') {
- throw new Error(`Unknown configuration property "${name}".`);
+ if (_.isUndefined(configuration[name])) {
+ throw new Error('Unknown configuration property "' + name + '".');
}
- if (typeof value !== 'boolean') {
- throw new Error(`"${name}" property value must be a boolean.`);
+ if (!_.isBoolean(value)) {
+ throw new Error('"' + name + '" property value must be a boolean.');
}
configuration[name] = value;
diff --git a/src/wrapStatelessFunction.js b/src/wrapStatelessFunction.js
index cacf1e4..342d724 100644
--- a/src/wrapStatelessFunction.js
+++ b/src/wrapStatelessFunction.js
@@ -1,3 +1,5 @@
+/* eslint-disable react/prop-types */
+
import linkClass from './linkClass';
import React from 'react';
import _ from 'lodash';
diff --git a/tests/extendReactClass.js b/tests/extendReactClass.js
index 2b32174..7f269dc 100644
--- a/tests/extendReactClass.js
+++ b/tests/extendReactClass.js
@@ -11,15 +11,7 @@ import extendReactClass from './../src/extendReactClass';
describe('extendReactClass', () => {
beforeEach(() => {
- global.document = jsdom.jsdom(`
-
-
-
-
-
-
-
- `);
+ global.document = jsdom.jsdom('');
global.window = document.defaultView;
});
diff --git a/tests/linkClass.js b/tests/linkClass.js
index e0778a8..1aa28f3 100644
--- a/tests/linkClass.js
+++ b/tests/linkClass.js
@@ -110,11 +110,12 @@ describe('linkClass', () => {
});
context('when multiple descendants have styleName and are iterable', () => {
it('assigns a generated className', () => {
- let subject, iterable;
+ let iterable,
+ subject;
iterable = {
- 0: ,
- 1: ,
+ 0: ,
+ 1: ,
length: 2,
[Symbol.iterator]: Array.prototype[Symbol.iterator]
};
@@ -231,16 +232,7 @@ describe('linkClass', () => {
nodeList;
beforeEach(() => {
- global.document = jsdom.jsdom(`
-
-
-
-
-
-
-
- `);
-
+ global.document = jsdom.jsdom('');
global.window = document.defaultView;
Foo = class extends React.Component {
diff --git a/tests/mocha.opts b/tests/mocha.opts
deleted file mode 100644
index 13374d0..0000000
--- a/tests/mocha.opts
+++ /dev/null
@@ -1 +0,0 @@
---compilers js:babel/register
diff --git a/tests/reactCssModules.js b/tests/reactCssModules.js
index 685988f..3e911c8 100644
--- a/tests/reactCssModules.js
+++ b/tests/reactCssModules.js
@@ -1,4 +1,4 @@
-/* eslint-disable max-nested-callbacks */
+/* eslint-disable max-nested-callbacks, react/no-multi-comp */
import {
expect
@@ -13,9 +13,10 @@ describe('reactCssModules', () => {
it('inherits displayName', () => {
let Foo;
- Foo = class extends React.Component {
- static displayName = 'Bar';
- };
+ Foo = class extends React.Component {};
+
+ // @todo https://phabricator.babeljs.io/T2779
+ Foo.displayName = 'Bar';
Foo = reactCssModules(Foo);
@@ -67,7 +68,9 @@ describe('reactCssModules', () => {
shallowRenderer = TestUtils.createRenderer();
- Foo = () => Hello
;
+ Foo = () => {
+ return Hello
;
+ };
Foo = reactCssModules(Foo, {
foo: 'foo-1'
@@ -116,7 +119,9 @@ describe('reactCssModules', () => {
shallowRenderer = TestUtils.createRenderer();
- Foo = () => null;
+ Foo = () => {
+ return null;
+ };
Foo = reactCssModules(Foo, {
foo: 'foo-1'
diff --git a/tests/wrapStatelessFunction.js b/tests/wrapStatelessFunction.js
index 44d027f..f66c43e 100644
--- a/tests/wrapStatelessFunction.js
+++ b/tests/wrapStatelessFunction.js
@@ -14,7 +14,10 @@ describe('wrapStatelessFunction', () => {
foo: 'foo-1'
};
- Component = function InnerComponent () { return null; };
+ Component = function InnerComponent () {
+ return null;
+ };
+
Component.propTypes = {};
Component.defaultProps = {};
@@ -64,7 +67,7 @@ describe('wrapStatelessFunction', () => {
expect(props.styles).to.equal(styles);
done();
})({
- styles: styles
+ styles
});
});
});
From b15ef858242e0e183d74ea31e02890a37d76c976 Mon Sep 17 00:00:00 2001
From: Gajus Kuizinas
Date: Fri, 4 Dec 2015 11:38:50 +0000
Subject: [PATCH 003/149] 3.6.2
---
package.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/package.json b/package.json
index 5c519f5..6af34c4 100644
--- a/package.json
+++ b/package.json
@@ -12,7 +12,7 @@
"css",
"modules"
],
- "version": "3.6.1",
+ "version": "3.6.2",
"author": {
"name": "Gajus Kuizinas",
"email": "gajus@gajus.com",
From ddb8828e08f2d9376bb724d918fe997c6ae5a5fd Mon Sep 17 00:00:00 2001
From: Gajus Kuizinas
Date: Fri, 4 Dec 2015 11:40:10 +0000
Subject: [PATCH 004/149] Do not include coveralls config.
---
.coveralls.yml | 1 -
1 file changed, 1 deletion(-)
delete mode 100644 .coveralls.yml
diff --git a/.coveralls.yml b/.coveralls.yml
deleted file mode 100644
index 65bf7c7..0000000
--- a/.coveralls.yml
+++ /dev/null
@@ -1 +0,0 @@
-repo_token: bqiXmaOA0xarSUociqxGKJ72bp8SSHlQC
From 6917304d1c7ac4e86898b766fccf8d87dcd30798 Mon Sep 17 00:00:00 2001
From: Gajus Kuizinas
Date: Fri, 4 Dec 2015 11:42:36 +0000
Subject: [PATCH 005/149] Icon style.
---
README.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/README.md b/README.md
index 3d3a19b..88a335c 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,7 @@
# React CSS Modules
-[](https://travis-ci.org/gajus/react-css-modules)
-[](https://www.npmjs.org/package/react-css-modules)
+[](https://travis-ci.org/gajus/react-css-modules)
+[](https://www.npmjs.org/package/react-css-modules)
From 55bef97d8ac32aa04afc205f86f8a9154bd02b56 Mon Sep 17 00:00:00 2001
From: Gajus Kuizinas
Date: Fri, 4 Dec 2015 15:33:50 +0000
Subject: [PATCH 006/149] Do not include ./dist in github.
---
dist/extendReactClass.js | 85 --------------------
dist/extendReactClass.js.map | 1 -
dist/index.js | 79 -------------------
dist/index.js.map | 1 -
dist/linkClass.js | 125 ------------------------------
dist/linkClass.js.map | 1 -
dist/makeConfiguration.js | 51 ------------
dist/makeConfiguration.js.map | 1 -
dist/wrapStatelessFunction.js | 78 -------------------
dist/wrapStatelessFunction.js.map | 1 -
10 files changed, 423 deletions(-)
delete mode 100644 dist/extendReactClass.js
delete mode 100644 dist/extendReactClass.js.map
delete mode 100644 dist/index.js
delete mode 100644 dist/index.js.map
delete mode 100644 dist/linkClass.js
delete mode 100644 dist/linkClass.js.map
delete mode 100644 dist/makeConfiguration.js
delete mode 100644 dist/makeConfiguration.js.map
delete mode 100644 dist/wrapStatelessFunction.js
delete mode 100644 dist/wrapStatelessFunction.js.map
diff --git a/dist/extendReactClass.js b/dist/extendReactClass.js
deleted file mode 100644
index bec936c..0000000
--- a/dist/extendReactClass.js
+++ /dev/null
@@ -1,85 +0,0 @@
-'use strict';
-
-var _lodashLangIsObject2 = require('lodash/lang/isObject');
-
-var _lodashLangIsObject3 = _interopRequireDefault(_lodashLangIsObject2);
-
-var _lodashObjectAssign2 = require('lodash/object/assign');
-
-var _lodashObjectAssign3 = _interopRequireDefault(_lodashObjectAssign2);
-
-Object.defineProperty(exports, '__esModule', {
- value: true
-});
-
-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 _linkClass = require('./linkClass');
-
-var _linkClass2 = _interopRequireDefault(_linkClass);
-
-var _react = require('react');
-
-var _react2 = _interopRequireDefault(_react);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-
-var extendReactClass = undefined;
-
-/**
- * @param {ReactClass} Component
- * @param {Object} defaultStyles
- * @param {Object} options
- * @returns {ReactClass}
- */
-extendReactClass = function (Component, defaultStyles, options) {
- return (function (_Component) {
- _inherits(_class, _Component);
-
- function _class() {
- _classCallCheck(this, _class);
-
- _get(Object.getPrototypeOf(_class.prototype), 'constructor', this).apply(this, arguments);
- }
-
- _createClass(_class, [{
- key: 'render',
- value: function render() {
- var renderResult = undefined,
- styles = undefined;
-
- if (this.props.styles) {
- styles = this.props.styles;
- } else if ((0, _lodashLangIsObject3['default'])(defaultStyles)) {
- this.props = (0, _lodashObjectAssign3['default'])({}, this.props, {
- styles: defaultStyles
- });
-
- styles = defaultStyles;
- } else {
- styles = {};
- }
-
- renderResult = _get(Object.getPrototypeOf(_class.prototype), 'render', this).call(this);
-
- if (renderResult) {
- return (0, _linkClass2['default'])(renderResult, styles, options);
- }
-
- return _react2['default'].createElement('noscript');
- }
- }]);
-
- return _class;
- })(Component);
-};
-
-exports['default'] = extendReactClass;
-module.exports = exports['default'];
-//# sourceMappingURL=extendReactClass.js.map
diff --git a/dist/extendReactClass.js.map b/dist/extendReactClass.js.map
deleted file mode 100644
index 63c37a9..0000000
--- a/dist/extendReactClass.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["extendReactClass.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;yBAAsB,aAAa;;;;qBACjB,OAAO;;;;;;AAGzB,IAAI,gBAAgB,YAAA,CAAC;;;;;;;;AAQrB,gBAAgB,GAAG,UAAC,SAAS,EAAE,aAAa,EAAE,OAAO,EAAK;AACtD;;;;;;;;;;;mBACW,kBAAG;AACN,oBAAI,YAAY,YAAA;oBACZ,MAAM,YAAA,CAAC;;AAEX,oBAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;AACnB,0BAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;iBAC9B,MAAM,IAAI,qCAAW,aAAa,CAAC,EAAE;AAClC,wBAAI,CAAC,KAAK,GAAG,qCAAS,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE;AAClC,8BAAM,EAAE,aAAa;qBACxB,CAAC,CAAC;;AAEH,0BAAM,GAAG,aAAa,CAAC;iBAC1B,MAAM;AACH,0BAAM,GAAG,EAAE,CAAC;iBACf;;AAED,4BAAY,2EAAiB,CAAC;;AAE9B,oBAAI,YAAY,EAAE;AACd,2BAAO,4BAAU,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;iBACnD;;AAED,uBAAO,mBAAM,aAAa,CAAC,UAAU,CAAC,CAAC;aAC1C;;;;OAxBgB,SAAS,EAyB5B;CACL,CAAC;;qBAEa,gBAAgB","file":"extendReactClass.js","sourcesContent":["import linkClass from './linkClass';\nimport React from 'react';\nimport _ from 'lodash';\n\nlet extendReactClass;\n\n/**\n * @param {ReactClass} Component\n * @param {Object} defaultStyles\n * @param {Object} options\n * @returns {ReactClass}\n */\nextendReactClass = (Component, defaultStyles, options) => {\n return class extends Component {\n render () {\n let renderResult,\n styles;\n\n if (this.props.styles) {\n styles = this.props.styles;\n } else if (_.isObject(defaultStyles)) {\n this.props = _.assign({}, this.props, {\n styles: defaultStyles\n });\n\n styles = defaultStyles;\n } else {\n styles = {};\n }\n\n renderResult = super.render();\n\n if (renderResult) {\n return linkClass(renderResult, styles, options);\n }\n\n return React.createElement('noscript');\n }\n };\n};\n\nexport default extendReactClass;\n"],"sourceRoot":"/source/"}
\ No newline at end of file
diff --git a/dist/index.js b/dist/index.js
deleted file mode 100644
index ef6b8b4..0000000
--- a/dist/index.js
+++ /dev/null
@@ -1,79 +0,0 @@
-'use strict';
-
-Object.defineProperty(exports, '__esModule', {
- value: true
-});
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-
-var _extendReactClass = require('./extendReactClass');
-
-var _extendReactClass2 = _interopRequireDefault(_extendReactClass);
-
-var _wrapStatelessFunction = require('./wrapStatelessFunction');
-
-var _wrapStatelessFunction2 = _interopRequireDefault(_wrapStatelessFunction);
-
-var decoratorConstructor = undefined,
- functionConstructor = undefined,
- isReactComponent = undefined;
-
-/**
- * Determines if the given object has the signature of a class that inherits React.Component.
- *
- * @param {*} Component
- * @return {boolean}
- */
-isReactComponent = function (Component) {
- return 'prototype' in Component && typeof Component.prototype.render === 'function';
-};
-
-/**
- * When used as a function.
- *
- * @param {Function} Component
- * @param {Object} defaultStyles CSS Modules class map.
- * @param {Object} options {@link https://github.com/gajus/react-css-modules#options}
- * @return {Function}
- */
-functionConstructor = function (Component, defaultStyles, options) {
- var decoratedClass = undefined;
-
- if (isReactComponent(Component)) {
- decoratedClass = (0, _extendReactClass2['default'])(Component, defaultStyles, options);
- } else {
- decoratedClass = (0, _wrapStatelessFunction2['default'])(Component, defaultStyles, options);
- }
-
- if (Component.displayName) {
- decoratedClass.displayName = Component.displayName;
- } else {
- decoratedClass.displayName = Component.name;
- }
-
- return decoratedClass;
-};
-
-/**
- * When used as a ES7 decorator.
- *
- * @param {Object} defaultStyles CSS Modules class map.
- * @param {Object} options {@link https://github.com/gajus/react-css-modules#options}
- * @return {Function}
- */
-decoratorConstructor = function (defaultStyles, options) {
- return function (Component) {
- return functionConstructor(Component, defaultStyles, options);
- };
-};
-
-exports['default'] = function () {
- if (typeof arguments[0] === 'function') {
- return functionConstructor(arguments[0], arguments[1], arguments[2]);
- } else {
- return decoratorConstructor(arguments[0], arguments[1]);
- }
-};
-
-module.exports = exports['default'];
-//# sourceMappingURL=index.js.map
diff --git a/dist/index.js.map b/dist/index.js.map
deleted file mode 100644
index 161c75a..0000000
--- a/dist/index.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["index.js"],"names":[],"mappings":";;;;;;;;gCAA6B,oBAAoB;;;;qCACf,yBAAyB;;;;AAE3D,IAAI,oBAAoB,YAAA;IACpB,mBAAmB,YAAA;IACnB,gBAAgB,YAAA,CAAC;;;;;;;;AAQrB,gBAAgB,GAAG,UAAC,SAAS,EAAK;AAC9B,WAAO,WAAW,IAAI,SAAS,IAAI,OAAO,SAAS,CAAC,SAAS,CAAC,MAAM,KAAK,UAAU,CAAC;CACvF,CAAC;;;;;;;;;;AAUF,mBAAmB,GAAG,UAAC,SAAS,EAAE,aAAa,EAAE,OAAO,EAAK;AACzD,QAAI,cAAc,YAAA,CAAC;;AAEnB,QAAI,gBAAgB,CAAC,SAAS,CAAC,EAAE;AAC7B,sBAAc,GAAG,mCAAiB,SAAS,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;KACxE,MAAM;AACH,sBAAc,GAAG,wCAAsB,SAAS,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;KAC7E;;AAED,QAAI,SAAS,CAAC,WAAW,EAAE;AACvB,sBAAc,CAAC,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC;KACtD,MAAM;AACH,sBAAc,CAAC,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC;KAC/C;;AAED,WAAO,cAAc,CAAC;CACzB,CAAC;;;;;;;;;AASF,oBAAoB,GAAG,UAAC,aAAa,EAAE,OAAO,EAAK;AAC/C,WAAO,UAAC,SAAS,EAAK;AAClB,eAAO,mBAAmB,CAAC,SAAS,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;KACjE,CAAC;CACL,CAAC;;qBAEa,YAAa;AACxB,QAAI,OAAO,UAAK,CAAC,CAAC,KAAK,UAAU,EAAE;AAC/B,eAAO,mBAAmB,CAAC,UAAK,CAAC,CAAC,EAAE,UAAK,CAAC,CAAC,EAAE,UAAK,CAAC,CAAC,CAAC,CAAC;KACzD,MAAM;AACH,eAAO,oBAAoB,CAAC,UAAK,CAAC,CAAC,EAAE,UAAK,CAAC,CAAC,CAAC,CAAC;KACjD;CACJ","file":"index.js","sourcesContent":["import extendReactClass from './extendReactClass';\nimport wrapStatelessFunction from './wrapStatelessFunction';\n\nlet decoratorConstructor,\n functionConstructor,\n isReactComponent;\n\n/**\n * Determines if the given object has the signature of a class that inherits React.Component.\n *\n * @param {*} Component\n * @return {boolean}\n */\nisReactComponent = (Component) => {\n return 'prototype' in Component && typeof Component.prototype.render === 'function';\n};\n\n/**\n * When used as a function.\n *\n * @param {Function} Component\n * @param {Object} defaultStyles CSS Modules class map.\n * @param {Object} options {@link https://github.com/gajus/react-css-modules#options}\n * @return {Function}\n */\nfunctionConstructor = (Component, defaultStyles, options) => {\n let decoratedClass;\n\n if (isReactComponent(Component)) {\n decoratedClass = extendReactClass(Component, defaultStyles, options);\n } else {\n decoratedClass = wrapStatelessFunction(Component, defaultStyles, options);\n }\n\n if (Component.displayName) {\n decoratedClass.displayName = Component.displayName;\n } else {\n decoratedClass.displayName = Component.name;\n }\n\n return decoratedClass;\n};\n\n/**\n * When used as a ES7 decorator.\n *\n * @param {Object} defaultStyles CSS Modules class map.\n * @param {Object} options {@link https://github.com/gajus/react-css-modules#options}\n * @return {Function}\n */\ndecoratorConstructor = (defaultStyles, options) => {\n return (Component) => {\n return functionConstructor(Component, defaultStyles, options);\n };\n};\n\nexport default (...args) => {\n if (typeof args[0] === 'function') {\n return functionConstructor(args[0], args[1], args[2]);\n } else {\n return decoratorConstructor(args[0], args[1]);\n }\n};\n"],"sourceRoot":"/source/"}
\ No newline at end of file
diff --git a/dist/linkClass.js b/dist/linkClass.js
deleted file mode 100644
index 7b48e71..0000000
--- a/dist/linkClass.js
+++ /dev/null
@@ -1,125 +0,0 @@
-'use strict';
-
-var _lodashCollectionFilter2 = require('lodash/collection/filter');
-
-var _lodashCollectionFilter3 = _interopRequireDefault(_lodashCollectionFilter2);
-
-var _lodashLangIsArray2 = require('lodash/lang/isArray');
-
-var _lodashLangIsArray3 = _interopRequireDefault(_lodashLangIsArray2);
-
-Object.defineProperty(exports, '__esModule', {
- value: true
-});
-
-var _react = require('react');
-
-var _react2 = _interopRequireDefault(_react);
-
-var _makeConfiguration = require('./makeConfiguration');
-
-var _makeConfiguration2 = _interopRequireDefault(_makeConfiguration);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-
-var linkClass = undefined;
-
-/**
- * @param {ReactElement} element
- * @param {Object} styles CSS modules class map.
- * @param {CSSModules~Options} userConfiguration
- * @return {ReactElement}
- */
-linkClass = function (element, styles, userConfiguration) {
- if (styles === undefined) styles = {};
-
- var appendClassName = undefined,
- clonedElement = undefined,
- configuration = undefined,
- newChildren = undefined,
- newProps = undefined,
- styleNames = undefined;
-
- // @see https://github.com/gajus/react-css-modules/pull/30
- if (!element) {
- return element;
- }
-
- configuration = (0, _makeConfiguration2['default'])(userConfiguration);
-
- styleNames = element.props.styleName;
-
- if (styleNames) {
- styleNames = styleNames.split(' ');
- styleNames = (0, _lodashCollectionFilter3['default'])(styleNames);
-
- if (configuration.allowMultiple === false && styleNames.length > 1) {
- throw new Error('ReactElement styleName property defines multiple module names ("' + element.props.styleName + '").');
- }
-
- appendClassName = styleNames.map(function (styleName) {
- if (styles[styleName]) {
- return styles[styleName];
- } else {
- if (configuration.errorWhenNotFound === true) {
- throw new Error('"' + styleName + '" CSS module is undefined.');
- }
-
- return '';
- }
- });
-
- appendClassName = appendClassName.filter(function (className) {
- return className.length;
- });
-
- appendClassName = appendClassName.join(' ');
- }
-
- // element.props.children can be one of the following:
- // 'text'
- // ['text']
- // [ReactElement, 'text']
- // ReactElement
-
- // console.log(`element.props.children`, element.props.children, `React.Children.count(element.props.children)`, React.Children.count(element.props.children));
-
- if (_react2['default'].isValidElement(element.props.children)) {
- newChildren = linkClass(_react2['default'].Children.only(element.props.children), styles, configuration);
- } else if ((0, _lodashLangIsArray3['default'])(element.props.children)) {
- newChildren = _react2['default'].Children.map(element.props.children, function (node) {
- if (_react2['default'].isValidElement(node)) {
- return linkClass(node, styles, configuration);
- } else {
- return node;
- }
- });
-
- // https://github.com/facebook/react/issues/4723#issuecomment-135555277
- // Forcing children into an array produces the following error:
- // Warning: A ReactFragment is an opaque type. Accessing any of its properties is deprecated. Pass it to one of the React.Children helpers.
- // newChildren = _.values(newChildren);
- }
-
- if (appendClassName) {
- if (element.props.className) {
- appendClassName = element.props.className + ' ' + appendClassName;
- }
-
- newProps = {
- className: appendClassName
- };
- }
-
- if (newChildren) {
- clonedElement = _react2['default'].cloneElement(element, newProps, newChildren);
- } else {
- clonedElement = _react2['default'].cloneElement(element, newProps);
- }
-
- return clonedElement;
-};
-
-exports['default'] = linkClass;
-module.exports = exports['default'];
-//# sourceMappingURL=linkClass.js.map
diff --git a/dist/linkClass.js.map b/dist/linkClass.js.map
deleted file mode 100644
index 3367091..0000000
--- a/dist/linkClass.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["linkClass.js"],"names":[],"mappings":";;;;;;;;;;;;;;qBAAkB,OAAO;;;;iCACK,qBAAqB;;;;;;AAGnD,IAAI,SAAS,YAAA,CAAC;;;;;;;;AAQd,SAAS,GAAG,UAAC,OAAO,EAAE,MAAM,EAAO,iBAAiB,EAAK;QAAnC,MAAM,gBAAN,MAAM,GAAG,EAAE;;AAC7B,QAAI,eAAe,YAAA;QACf,aAAa,YAAA;QACb,aAAa,YAAA;QACb,WAAW,YAAA;QACX,QAAQ,YAAA;QACR,UAAU,YAAA,CAAC;;;AAGf,QAAI,CAAC,OAAO,EAAE;AACV,eAAO,OAAO,CAAC;KAClB;;AAED,iBAAa,GAAG,oCAAkB,iBAAiB,CAAC,CAAC;;AAErD,cAAU,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC;;AAErC,QAAI,UAAU,EAAE;AACZ,kBAAU,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACnC,kBAAU,GAAG,yCAAS,UAAU,CAAC,CAAC;;AAElC,YAAI,aAAa,CAAC,aAAa,KAAK,KAAK,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;AAChE,kBAAM,IAAI,KAAK,sEAAoE,OAAO,CAAC,KAAK,CAAC,SAAS,SAAM,CAAC;SACpH;;AAED,uBAAe,GAAG,UAAU,CAAC,GAAG,CAAC,UAAC,SAAS,EAAK;AAC5C,gBAAI,MAAM,CAAC,SAAS,CAAC,EAAE;AACnB,uBAAO,MAAM,CAAC,SAAS,CAAC,CAAC;aAC5B,MAAM;AACH,oBAAI,aAAa,CAAC,iBAAiB,KAAK,IAAI,EAAE;AAC1C,0BAAM,IAAI,KAAK,OAAK,SAAS,gCAA6B,CAAC;iBAC9D;;AAED,uBAAO,EAAE,CAAC;aACb;SACJ,CAAC,CAAC;;AAEH,uBAAe,GAAG,eAAe,CAAC,MAAM,CAAC,UAAC,SAAS,EAAK;AACpD,mBAAO,SAAS,CAAC,MAAM,CAAC;SAC3B,CAAC,CAAC;;AAEH,uBAAe,GAAG,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KAC/C;;;;;;;;;;AAUD,QAAI,mBAAM,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;AAC9C,mBAAW,GAAG,SAAS,CAAC,mBAAM,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;KAC/F,MAAM,IAAI,oCAAU,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;AAC1C,mBAAW,GAAG,mBAAM,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,UAAC,IAAI,EAAK;AAC/D,gBAAI,mBAAM,cAAc,CAAC,IAAI,CAAC,EAAE;AAC5B,uBAAO,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;aACjD,MAAM;AACH,uBAAO,IAAI,CAAC;aACf;SACJ,CAAC,CAAC;;;;;;KAMN;;AAED,QAAI,eAAe,EAAE;AACjB,YAAI,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE;AACzB,2BAAe,GAAM,OAAO,CAAC,KAAK,CAAC,SAAS,SAAI,eAAe,AAAE,CAAC;SACrE;;AAED,gBAAQ,GAAG;AACP,qBAAS,EAAE,eAAe;SAC7B,CAAC;KACL;;AAED,QAAI,WAAW,EAAE;AACb,qBAAa,GAAG,mBAAM,YAAY,CAAC,OAAO,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;KACtE,MAAM;AACH,qBAAa,GAAG,mBAAM,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;KACzD;;AAED,WAAO,aAAa,CAAC;CACxB,CAAC;;qBAEa,SAAS","file":"linkClass.js","sourcesContent":["import React from 'react';\nimport makeConfiguration from './makeConfiguration';\nimport _ from 'lodash';\n\nlet linkClass;\n\n/**\n * @param {ReactElement} element\n * @param {Object} styles CSS modules class map.\n * @param {CSSModules~Options} userConfiguration\n * @return {ReactElement}\n */\nlinkClass = (element, styles = {}, userConfiguration) => {\n let appendClassName,\n clonedElement,\n configuration,\n newChildren,\n newProps,\n styleNames;\n\n // @see https://github.com/gajus/react-css-modules/pull/30\n if (!element) {\n return element;\n }\n\n configuration = makeConfiguration(userConfiguration);\n\n styleNames = element.props.styleName;\n\n if (styleNames) {\n styleNames = styleNames.split(' ');\n styleNames = _.filter(styleNames);\n\n if (configuration.allowMultiple === false && styleNames.length > 1) {\n throw new Error(`ReactElement styleName property defines multiple module names (\"${element.props.styleName}\").`);\n }\n\n appendClassName = styleNames.map((styleName) => {\n if (styles[styleName]) {\n return styles[styleName];\n } else {\n if (configuration.errorWhenNotFound === true) {\n throw new Error(`\"${styleName}\" CSS module is undefined.`);\n }\n\n return '';\n }\n });\n\n appendClassName = appendClassName.filter((className) => {\n return className.length;\n });\n\n appendClassName = appendClassName.join(' ');\n }\n\n // element.props.children can be one of the following:\n // 'text'\n // ['text']\n // [ReactElement, 'text']\n // ReactElement\n\n // console.log(`element.props.children`, element.props.children, `React.Children.count(element.props.children)`, React.Children.count(element.props.children));\n\n if (React.isValidElement(element.props.children)) {\n newChildren = linkClass(React.Children.only(element.props.children), styles, configuration);\n } else if (_.isArray(element.props.children)) {\n newChildren = React.Children.map(element.props.children, (node) => {\n if (React.isValidElement(node)) {\n return linkClass(node, styles, configuration);\n } else {\n return node;\n }\n });\n\n // https://github.com/facebook/react/issues/4723#issuecomment-135555277\n // Forcing children into an array produces the following error:\n // Warning: A ReactFragment is an opaque type. Accessing any of its properties is deprecated. Pass it to one of the React.Children helpers.\n // newChildren = _.values(newChildren);\n }\n\n if (appendClassName) {\n if (element.props.className) {\n appendClassName = `${element.props.className} ${appendClassName}`;\n }\n\n newProps = {\n className: appendClassName\n };\n }\n\n if (newChildren) {\n clonedElement = React.cloneElement(element, newProps, newChildren);\n } else {\n clonedElement = React.cloneElement(element, newProps);\n }\n\n return clonedElement;\n};\n\nexport default linkClass;\n"],"sourceRoot":"/source/"}
\ No newline at end of file
diff --git a/dist/makeConfiguration.js b/dist/makeConfiguration.js
deleted file mode 100644
index 178a574..0000000
--- a/dist/makeConfiguration.js
+++ /dev/null
@@ -1,51 +0,0 @@
-'use strict';
-
-var _lodashCollectionForEach2 = require('lodash/collection/forEach');
-
-var _lodashCollectionForEach3 = _interopRequireDefault(_lodashCollectionForEach2);
-
-Object.defineProperty(exports, '__esModule', {
- value: true
-});
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-
-/**
- * @typedef CSSModules~Options
- * @see {@link https://github.com/gajus/react-css-modules#options}
- * @property {boolean} allowMultiple
- * @property {boolean} errorWhenNotFound
- */
-
-/**
- * @param {CSSModules~Options} userConfiguration
- * @return {CSSModules~Options}
- */
-
-exports['default'] = function () {
- var userConfiguration = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];
-
- var configuration = undefined;
-
- configuration = {
- allowMultiple: false,
- errorWhenNotFound: true
- };
-
- (0, _lodashCollectionForEach3['default'])(userConfiguration, function (value, name) {
- if (typeof configuration[name] === 'undefined') {
- throw new Error('Unknown configuration property "' + name + '".');
- }
-
- if (typeof value !== 'boolean') {
- throw new Error('"' + name + '" property value must be a boolean.');
- }
-
- configuration[name] = value;
- });
-
- return configuration;
-};
-
-module.exports = exports['default'];
-//# sourceMappingURL=makeConfiguration.js.map
diff --git a/dist/makeConfiguration.js.map b/dist/makeConfiguration.js.map
deleted file mode 100644
index dd0546d..0000000
--- a/dist/makeConfiguration.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["makeConfiguration.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;qBAae,YAA4B;QAA3B,iBAAiB,yDAAG,EAAE;;AAClC,QAAI,aAAa,YAAA,CAAC;;AAElB,iBAAa,GAAG;AACZ,qBAAa,EAAE,KAAK;AACpB,yBAAiB,EAAE,IAAI;KAC1B,CAAC;;AAEF,8CAAU,iBAAiB,EAAE,UAAC,KAAK,EAAE,IAAI,EAAK;AAC1C,YAAI,OAAO,aAAa,CAAC,IAAI,CAAC,KAAK,WAAW,EAAE;AAC5C,kBAAM,IAAI,KAAK,sCAAoC,IAAI,QAAK,CAAC;SAChE;;AAED,YAAI,OAAO,KAAK,KAAK,SAAS,EAAE;AAC5B,kBAAM,IAAI,KAAK,OAAK,IAAI,yCAAsC,CAAC;SAClE;;AAED,qBAAa,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;KAC/B,CAAC,CAAC;;AAEH,WAAO,aAAa,CAAC;CACxB","file":"makeConfiguration.js","sourcesContent":["import _ from 'lodash';\n\n/**\n * @typedef CSSModules~Options\n * @see {@link https://github.com/gajus/react-css-modules#options}\n * @property {boolean} allowMultiple\n * @property {boolean} errorWhenNotFound\n */\n\n/**\n * @param {CSSModules~Options} userConfiguration\n * @return {CSSModules~Options}\n */\nexport default (userConfiguration = {}) => {\n let configuration;\n\n configuration = {\n allowMultiple: false,\n errorWhenNotFound: true\n };\n\n _.forEach(userConfiguration, (value, name) => {\n if (typeof configuration[name] === 'undefined') {\n throw new Error(`Unknown configuration property \"${name}\".`);\n }\n\n if (typeof value !== 'boolean') {\n throw new Error(`\"${name}\" property value must be a boolean.`);\n }\n\n configuration[name] = value;\n });\n\n return configuration;\n};\n"],"sourceRoot":"/source/"}
\ No newline at end of file
diff --git a/dist/wrapStatelessFunction.js b/dist/wrapStatelessFunction.js
deleted file mode 100644
index 7723dfa..0000000
--- a/dist/wrapStatelessFunction.js
+++ /dev/null
@@ -1,78 +0,0 @@
-'use strict';
-
-var _lodashLangIsObject2 = require('lodash/lang/isObject');
-
-var _lodashLangIsObject3 = _interopRequireDefault(_lodashLangIsObject2);
-
-var _lodashObjectAssign2 = require('lodash/object/assign');
-
-var _lodashObjectAssign3 = _interopRequireDefault(_lodashObjectAssign2);
-
-Object.defineProperty(exports, '__esModule', {
- value: true
-});
-
-var _linkClass = require('./linkClass');
-
-var _linkClass2 = _interopRequireDefault(_linkClass);
-
-var _react = require('react');
-
-var _react2 = _interopRequireDefault(_react);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-
-var wrapStatelessFunction = undefined;
-
-/**
- * @see https://facebook.github.io/react/blog/2015/09/10/react-v0.14-rc1.html#stateless-function-components
- * @param {Function} Component
- * @param {Object} defaultStyles
- * @param {Object} options
- * @returns {Function}
- */
-wrapStatelessFunction = function (Component, defaultStyles, options) {
- var WrappedComponent = undefined;
-
- WrappedComponent = function () {
- for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
- args[_key - 1] = arguments[_key];
- }
-
- var props = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];
-
- var renderResult = undefined,
- styles = undefined,
- useProps = undefined;
-
- if (props.styles) {
- useProps = props;
- styles = props.styles;
- } else if ((0, _lodashLangIsObject3['default'])(defaultStyles)) {
- useProps = (0, _lodashObjectAssign3['default'])({}, props, {
- styles: defaultStyles
- });
-
- styles = defaultStyles;
- } else {
- useProps = props;
- styles = {};
- }
-
- renderResult = Component.apply(undefined, [useProps].concat(args));
-
- if (renderResult) {
- return (0, _linkClass2['default'])(renderResult, styles, options);
- }
-
- return _react2['default'].createElement('noscript');
- };
-
- (0, _lodashObjectAssign3['default'])(WrappedComponent, Component);
-
- return WrappedComponent;
-};
-
-exports['default'] = wrapStatelessFunction;
-module.exports = exports['default'];
-//# sourceMappingURL=wrapStatelessFunction.js.map
diff --git a/dist/wrapStatelessFunction.js.map b/dist/wrapStatelessFunction.js.map
deleted file mode 100644
index 78ef1e4..0000000
--- a/dist/wrapStatelessFunction.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["wrapStatelessFunction.js"],"names":[],"mappings":";;;;;;;;;;;;;;yBAAsB,aAAa;;;;qBACjB,OAAO;;;;;;AAGzB,IAAI,qBAAqB,YAAA,CAAC;;;;;;;;;AAS1B,qBAAqB,GAAG,UAAC,SAAS,EAAE,aAAa,EAAE,OAAO,EAAK;AAC3D,QAAI,gBAAgB,YAAA,CAAC;;AAErB,oBAAgB,GAAG,YAAyB;0CAAT,IAAI;AAAJ,gBAAI;;;YAAnB,KAAK,yDAAG,EAAE;;AAC1B,YAAI,YAAY,YAAA;YACZ,MAAM,YAAA;YACN,QAAQ,YAAA,CAAC;;AAEb,YAAI,KAAK,CAAC,MAAM,EAAE;AACd,oBAAQ,GAAG,KAAK,CAAC;AACjB,kBAAM,GAAG,KAAK,CAAC,MAAM,CAAC;SACzB,MAAM,IAAI,qCAAW,aAAa,CAAC,EAAE;AAClC,oBAAQ,GAAG,qCAAS,EAAE,EAAE,KAAK,EAAE;AAC3B,sBAAM,EAAE,aAAa;aACxB,CAAC,CAAC;;AAEH,kBAAM,GAAG,aAAa,CAAC;SAC1B,MAAM;AACH,oBAAQ,GAAG,KAAK,CAAC;AACjB,kBAAM,GAAG,EAAE,CAAC;SACf;;AAED,oBAAY,GAAG,SAAS,mBAAC,QAAQ,SAAK,IAAI,EAAC,CAAC;;AAE5C,YAAI,YAAY,EAAE;AACd,mBAAO,4BAAU,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;SACnD;;AAED,eAAO,mBAAM,aAAa,CAAC,UAAU,CAAC,CAAC;KAC1C,CAAC;;AAEF,yCAAS,gBAAgB,EAAE,SAAS,CAAC,CAAC;;AAEtC,WAAO,gBAAgB,CAAC;CAC3B,CAAC;;qBAEa,qBAAqB","file":"wrapStatelessFunction.js","sourcesContent":["import linkClass from './linkClass';\nimport React from 'react';\nimport _ from 'lodash';\n\nlet wrapStatelessFunction;\n\n/**\n * @see https://facebook.github.io/react/blog/2015/09/10/react-v0.14-rc1.html#stateless-function-components\n * @param {Function} Component\n * @param {Object} defaultStyles\n * @param {Object} options\n * @returns {Function}\n */\nwrapStatelessFunction = (Component, defaultStyles, options) => {\n let WrappedComponent;\n\n WrappedComponent = (props = {}, ...args) => {\n let renderResult,\n styles,\n useProps;\n\n if (props.styles) {\n useProps = props;\n styles = props.styles;\n } else if (_.isObject(defaultStyles)) {\n useProps = _.assign({}, props, {\n styles: defaultStyles\n });\n\n styles = defaultStyles;\n } else {\n useProps = props;\n styles = {};\n }\n\n renderResult = Component(useProps, ...args);\n\n if (renderResult) {\n return linkClass(renderResult, styles, options);\n }\n\n return React.createElement('noscript');\n };\n\n _.assign(WrappedComponent, Component);\n\n return WrappedComponent;\n};\n\nexport default wrapStatelessFunction;\n"],"sourceRoot":"/source/"}
\ No newline at end of file
From f65bad27dab80a88c835122d704715f876a9d749 Mon Sep 17 00:00:00 2001
From: Gajus Kuizinas
Date: Fri, 4 Dec 2015 15:33:59 +0000
Subject: [PATCH 007/149] 3.6.3
---
package.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/package.json b/package.json
index 6af34c4..124ba62 100644
--- a/package.json
+++ b/package.json
@@ -12,7 +12,7 @@
"css",
"modules"
],
- "version": "3.6.2",
+ "version": "3.6.3",
"author": {
"name": "Gajus Kuizinas",
"email": "gajus@gajus.com",
From 64eff397a49d648167e7a3e85a795321babd27c2 Mon Sep 17 00:00:00 2001
From: Gianluca Esposito
Date: Fri, 18 Dec 2015 10:47:42 +0100
Subject: [PATCH 008/149] Update README.md
Fixed Module Bundler fragment
---
README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/README.md b/README.md
index 88a335c..3a0b467 100644
--- a/README.md
+++ b/README.md
@@ -122,7 +122,7 @@ Using `react-css-modules`:
Setup consists of:
-* Setting up a [module bundler](#modulebundler) to load the [Interoperable CSS](https://github.com/css-modules/icss).
+* Setting up a [module bundler](#module-bundler) to load the [Interoperable CSS](https://github.com/css-modules/icss).
* [Decorating](#decorator) your component using `react-css-modules`.
### Module Bundler
From 85fc0194b962afc0d296630e0c024fd2e56f38af Mon Sep 17 00:00:00 2001
From: Gajus Kuizinas
Date: Fri, 18 Dec 2015 11:50:18 +0000
Subject: [PATCH 009/149] Added documentation about HMR.
---
README.md | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/README.md b/README.md
index 3a0b467..1c95255 100644
--- a/README.md
+++ b/README.md
@@ -21,6 +21,7 @@ React CSS Modules implement automatic mapping of CSS modules. Every CSS class is
- [Options](#options)
- [`allowMultiple`](#allowmultiple)
- [`errorWhenNotFound`](#errorwhennotfound)
+– [React Hot Module Replacement](#react-hot-module-replacement)
- [Class Composition](#class-composition)
- [What Problems does Class Composition Solve?](#what-problems-does-class-composition-solve)
- [Class Composition Using CSS Preprocessors](#class-composition-using-css-preprocessors)
@@ -366,6 +367,16 @@ Throws an error when `styleName` cannot be mapped to an existing CSS Module.
}
```
+## React Hot Module Replacement
+
+Hot module reloading does to reload the CSS (see https://github.com/gajus/react-css-modules/issues/51).
+
+To enable CSS reloading, my advise is to wrap your webpack setup using [BrowserSync](https://www.browsersync.io/). BrowserSync enables CSS reloading when it detects a file change.
+
+[React CSS Modules examples](https://github.com/gajus/react-css-modules-examples) repository includes a configuration example using [BrowserSync](https://github.com/gajus/react-css-modules-examples/blob/master/webpack.config.browsersync.js).
+
+Note that `webpackk-dev-server` program [does not write bundle files to the disk](https://github.com/webpack/webpack-dev-server/issues/62). You need to use a [write-file-webpack-plugin](https://github.com/gajus/write-file-webpack-plugin) plugin to force writing to the disk to enable BrowserSync to detect changes.
+
## Class Composition
CSS Modules promote composition pattern, i.e. every CSS Module that is used in a component should define all properties required to describe an element, e.g.
From a9d92b0647c240010cddd5fdfe72ff19ee54ef68 Mon Sep 17 00:00:00 2001
From: Gajus Kuizinas
Date: Fri, 18 Dec 2015 12:47:27 +0000
Subject: [PATCH 010/149] React Hot Module Replacement docs.
---
README.md | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/README.md b/README.md
index 1c95255..18f6f30 100644
--- a/README.md
+++ b/README.md
@@ -21,7 +21,7 @@ React CSS Modules implement automatic mapping of CSS modules. Every CSS class is
- [Options](#options)
- [`allowMultiple`](#allowmultiple)
- [`errorWhenNotFound`](#errorwhennotfound)
-– [React Hot Module Replacement](#react-hot-module-replacement)
+- [React Hot Module Replacement](#react-hot-module-replacement)
- [Class Composition](#class-composition)
- [What Problems does Class Composition Solve?](#what-problems-does-class-composition-solve)
- [Class Composition Using CSS Preprocessors](#class-composition-using-css-preprocessors)
@@ -369,13 +369,13 @@ Throws an error when `styleName` cannot be mapped to an existing CSS Module.
## React Hot Module Replacement
-Hot module reloading does to reload the CSS (see https://github.com/gajus/react-css-modules/issues/51).
+[Hot module reloading](https://github.com/gaearon/react-transform-hmr) (HMR) does to reload the CSS document (see https://github.com/gajus/react-css-modules/issues/51). It only reloads the `class` HTML attribute value.
-To enable CSS reloading, my advise is to wrap your webpack setup using [BrowserSync](https://www.browsersync.io/). BrowserSync enables CSS reloading when it detects a file change.
+To enable CSS reloading, wrap [`webpack-dev-server`](https://webpack.github.io/docs/webpack-dev-server.html) configuration using [BrowserSync](https://www.browsersync.io/). BrowserSync enables CSS reloading when it detects a file change.
-[React CSS Modules examples](https://github.com/gajus/react-css-modules-examples) repository includes a configuration example using [BrowserSync](https://github.com/gajus/react-css-modules-examples/blob/master/webpack.config.browsersync.js).
+[React CSS Modules examples](https://github.com/gajus/react-css-modules-examples) repository includes a configuration example using [BrowserSync configuration using webpack-dev-server](https://github.com/gajus/react-css-modules-examples/blob/master/webpack.config.browsersync.js).
-Note that `webpackk-dev-server` program [does not write bundle files to the disk](https://github.com/webpack/webpack-dev-server/issues/62). You need to use a [write-file-webpack-plugin](https://github.com/gajus/write-file-webpack-plugin) plugin to force writing to the disk to enable BrowserSync to detect changes.
+Note that `webpackk-dev-server` program [does not write bundle files to the disk](https://github.com/webpack/webpack-dev-server/issues/62). Use [write-file-webpack-plugin](https://github.com/gajus/write-file-webpack-plugin) plugin to force writing to the disk. This will enable BrowserSync to detect changes.
## Class Composition
From 6359a4c030e0ac7aeef8c341255bfaba025c8649 Mon Sep 17 00:00:00 2001
From: Tieme van Veen
Date: Mon, 21 Dec 2015 11:44:22 +0100
Subject: [PATCH 011/149] Fix typo in readme
HMR does *to* reload the css -> HMR does *not* reload the css
---
README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/README.md b/README.md
index 18f6f30..60da45f 100644
--- a/README.md
+++ b/README.md
@@ -369,7 +369,7 @@ Throws an error when `styleName` cannot be mapped to an existing CSS Module.
## React Hot Module Replacement
-[Hot module reloading](https://github.com/gaearon/react-transform-hmr) (HMR) does to reload the CSS document (see https://github.com/gajus/react-css-modules/issues/51). It only reloads the `class` HTML attribute value.
+[Hot module reloading](https://github.com/gaearon/react-transform-hmr) (HMR) does not reload the CSS document (see https://github.com/gajus/react-css-modules/issues/51). It only reloads the `class` HTML attribute value.
To enable CSS reloading, wrap [`webpack-dev-server`](https://webpack.github.io/docs/webpack-dev-server.html) configuration using [BrowserSync](https://www.browsersync.io/). BrowserSync enables CSS reloading when it detects a file change.
From 170a78380ec8cefb2a3c1e527df00f56463a931d Mon Sep 17 00:00:00 2001
From: Tieme van Veen
Date: Tue, 29 Dec 2015 18:01:19 +0100
Subject: [PATCH 012/149] Sourcemaps documentation
---
README.md | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/README.md b/README.md
index 60da45f..59e2104 100644
--- a/README.md
+++ b/README.md
@@ -21,6 +21,8 @@ React CSS Modules implement automatic mapping of CSS modules. Every CSS class is
- [Options](#options)
- [`allowMultiple`](#allowmultiple)
- [`errorWhenNotFound`](#errorwhennotfound)
+- [SASS, SCSS, LESS and other CSS Preprocessors](#sass-scss-less-and-other-css-preprocessors)
+ - [Enable Sourcemaps](#enable-sourcemaps)
- [React Hot Module Replacement](#react-hot-module-replacement)
- [Class Composition](#class-composition)
- [What Problems does Class Composition Solve?](#what-problems-does-class-composition-solve)
@@ -367,6 +369,17 @@ Throws an error when `styleName` cannot be mapped to an existing CSS Module.
}
```
+### Enable Sourcemaps
+
+To enable CSS Source maps, you'll need to pass the sourceMap-option to the css-loader:
+
+```js
+{
+ test: /\.scss$/,
+ loader: ExtractTextPlugin.extract('style', 'css?sourceMap&modules&importLoaders=1&localIdentName=[name]__[local]___[hash:base64:5]!sass')
+}
+```
+
## React Hot Module Replacement
[Hot module reloading](https://github.com/gaearon/react-transform-hmr) (HMR) does not reload the CSS document (see https://github.com/gajus/react-css-modules/issues/51). It only reloads the `class` HTML attribute value.
From 43690c1b0d6909515c4bd284f945b9619ed00ddb Mon Sep 17 00:00:00 2001
From: Gajus Kuizinas
Date: Fri, 8 Jan 2016 15:46:51 +0000
Subject: [PATCH 013/149] Bumped dependencies.
---
package.json | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/package.json b/package.json
index 124ba62..2dca1be 100644
--- a/package.json
+++ b/package.json
@@ -24,13 +24,13 @@
},
"devDependencies": {
"chai": "^3.4.1",
- "jsdom": "^7.1.1",
- "pragmatist": "^1.9.4",
- "react": "^0.14.3",
- "react-addons-test-utils": "^0.14.3"
+ "jsdom": "^7.2.2",
+ "pragmatist": "^2.3.71",
+ "react": "^0.14.6",
+ "react-addons-test-utils": "^0.14.6"
},
"scripts": {
- "pragmatist": "node ./node_modules/.bin/pragmatist",
+ "pragmatist": "node ./node_modules/.bin/pragmatist --browser",
"lint": "npm run pragmatist lint",
"test": "npm run pragmatist test",
"build": "npm run pragmatist build",
From f094ec0de2ce8157e1383d2eca9b42ce54e3ba0f Mon Sep 17 00:00:00 2001
From: Gajus Kuizinas
Date: Fri, 8 Jan 2016 15:58:14 +0000
Subject: [PATCH 014/149] 3.6.4
---
package.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/package.json b/package.json
index 2dca1be..89b360b 100644
--- a/package.json
+++ b/package.json
@@ -12,7 +12,7 @@
"css",
"modules"
],
- "version": "3.6.3",
+ "version": "3.6.4",
"author": {
"name": "Gajus Kuizinas",
"email": "gajus@gajus.com",
From 9ef21b68cc55324ed96c38535bc5778f710a5b9e Mon Sep 17 00:00:00 2001
From: Gajus Kuizinas
Date: Fri, 8 Jan 2016 16:06:26 +0000
Subject: [PATCH 015/149] Update README file path.
---
README.md | 2 +-
README/react-css-modules.png | Bin 46508 -> 0 bytes
README/react-css-modules.sketch | Bin 90112 -> 0 bytes
3 files changed, 1 insertion(+), 1 deletion(-)
delete mode 100644 README/react-css-modules.png
delete mode 100644 README/react-css-modules.sketch
diff --git a/README.md b/README.md
index 60da45f..f9a297a 100644
--- a/README.md
+++ b/README.md
@@ -3,7 +3,7 @@
[](https://travis-ci.org/gajus/react-css-modules)
[](https://www.npmjs.org/package/react-css-modules)
-
+
React CSS Modules implement automatic mapping of CSS modules. Every CSS class is assigned a local-scoped identifier with a global unique name. CSS Modules enable a modular and reusable CSS!
diff --git a/README/react-css-modules.png b/README/react-css-modules.png
deleted file mode 100644
index 2614951ab7b6ec971422202f5b4424e5d263514f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 46508
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