Skip to content

Commit 93cc92c

Browse files
committed
Implement automatic style importing
1 parent 2d360ea commit 93cc92c

File tree

11 files changed

+54
-7
lines changed

11 files changed

+54
-7
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ coverage
44
node_modules
55
sample/build
66
sample/package-lock.json
7+
src/Calendar.css
78
test/build
89
test/package-lock.json
910
npm-debug.log

README.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ Ultimate date picker for your React application.
88
## tl;dr
99
* Install by executing `npm install react-calendar` or `yarn add react-calendar`.
1010
* Import by adding `import Calendar from 'react-calendar'`.
11-
* Import styles by adding `import 'react-calendar/build/Calendar.less'`. Precompiled `Calendar.css` file is also available. If you don't want to use default styles, you can style the calendar on your own.
1211
* Use by adding `<Calendar />`. Use `onChange` prop for getting new values.
1312

1413
## Demo
@@ -49,7 +48,6 @@ Here's an example of basic usage:
4948
```js
5049
import React, { Component } from 'react';
5150
import Calendar from 'react-calendar';
52-
import 'react-calendar/build/Calendar.less';
5351

5452
class MyApp extends Component {
5553
state = {
@@ -70,6 +68,10 @@ class MyApp extends Component {
7068
}
7169
```
7270

71+
### Custom styling
72+
73+
If you don't want to use default React-Calendar styling to build upon it, you can import React-Calendar by using `import Calendar from 'react-calendar/build/entry.nostyle';` instead.
74+
7375
## User guide
7476

7577
### Calendar

copy-styles.js

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,13 @@ fs.copyFile('./src/Calendar.less', 'build/Calendar.less', (error) => {
55
throw error;
66
}
77
// eslint-disable-next-line no-console
8-
console.log('Styles copied successfully.');
8+
console.log('Calendar.less copied successfully.');
9+
});
10+
11+
fs.copyFile('./src/Calendar.css', 'build/Calendar.css', (error) => {
12+
if (error) {
13+
throw error;
14+
}
15+
// eslint-disable-next-line no-console
16+
console.log('Calendar.css copied successfully.');
917
});

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@
55
"main": "build/entry.js",
66
"es6": "src/entry.js",
77
"scripts": {
8-
"build": "npm run build-js && npm run copy-styles && npm run compile-styles",
8+
"build": "npm run build-js && npm run build-styles && npm run copy-styles",
99
"build-js": "babel src -d build --ignore **/__tests__",
10+
"build-styles": "lessc ./src/Calendar.less ./src/Calendar.css",
1011
"copy-styles": "node ./copy-styles.js",
11-
"compile-styles": "lessc ./build/Calendar.less ./build/Calendar.css",
1212
"prepublishOnly": "npm run build",
1313
"test": "npm run test-eslint && npm run test-jest",
1414
"test-eslint": "eslint ./src",

sample/Sample.jsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import React, { Component } from 'react';
22
import { render } from 'react-dom';
33
import Calendar from 'react-calendar';
4-
import 'react-calendar/build/Calendar.less';
54

65
import './Sample.less';
76

sample/webpack.config.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,13 @@ module.exports = {
2424
'less-loader',
2525
],
2626
},
27+
{
28+
test: /\.css$/,
29+
use: [
30+
'style-loader',
31+
'css-loader',
32+
],
33+
},
2734
{
2835
test: /\.jsx?$/,
2936
exclude: /node_modules/,

src/entry.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ import DecadeView from './DecadeView';
44
import YearView from './YearView';
55
import MonthView from './MonthView';
66

7+
import './Calendar.css';
8+
79
export default Calendar;
810

911
export {

src/entry.nostyle.js

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import Calendar from './Calendar';
2+
import CenturyView from './CenturyView';
3+
import DecadeView from './DecadeView';
4+
import YearView from './YearView';
5+
import MonthView from './MonthView';
6+
7+
export default Calendar;
8+
9+
export {
10+
Calendar,
11+
CenturyView,
12+
DecadeView,
13+
YearView,
14+
MonthView,
15+
};

test/Test.jsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import React, { Component } from 'react';
22
import Calendar from 'react-calendar/src/entry';
3-
import 'react-calendar/src/Calendar.less';
43

54
import DateBonduariesOptions from './DateBonduariesOptions';
65
import MaxDetailOptions from './MaxDetailOptions';

test/webpack.config.hot.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,13 @@ module.exports = {
2525
'less-loader',
2626
],
2727
},
28+
{
29+
test: /\.css$/,
30+
use: [
31+
'style-loader',
32+
'css-loader',
33+
],
34+
},
2835
{
2936
test: /\.jsx?$/,
3037
exclude: /node_modules/,

0 commit comments

Comments
 (0)