Repository: gpbl/react-day-picker (ts)

Issue:
CSS modules prevents outside days click
When using CSS modules and `enableOutsideDays={true}`, I would expect that when clicking on an outside day, it would take me to the next month. This however doesn't seem so be doing anything.

I'm not sure if this is related, but when logging the `modifiers` in the click function, it logs this without CSS modules:
```
Object {outside: true}
```
and this with CSS modules:
```
Object {_26d7gZ-calendar-outside: true}
```

I'm not sure how to create this in a codepen, so sorry for the lack of example.

Pull request:
Closes #449

Patch:
diff --git a/src/DayPicker.js b/src/DayPicker.js
index 2642b8724..af34209e2 100644
--- a/src/DayPicker.js
+++ b/src/DayPicker.js
@@ -400,7 +400,7 @@ export default class DayPicker extends Component {
 
   handleDayClick = (day, modifiers, e) => {
     e.persist();
-    if (modifiers.outside) {
+    if (modifiers[this.props.classNames.outside]) {
       this.handleOutsideDayClick(day);
     }
     if (this.props.onDayClick) {


Test patch:
diff --git a/test/daypicker/navigation.js b/test/daypicker/navigation.js
index a0463d154..0a597cc0d 100644
--- a/test/daypicker/navigation.js
+++ b/test/daypicker/navigation.js
@@ -3,6 +3,7 @@ import { shallow, mount } from 'enzyme';
 
 import DayPicker from '../../src/DayPicker';
 import * as keys from '../../src/keys';
+import defaultClassNames from '../../src/classNames';
 
 describe('DayPicker’s navigation', () => {
   it('should not allow the previous month when the first month is the first allowed one', () => {
@@ -54,6 +55,20 @@ describe('DayPicker’s navigation', () => {
     expect(instance.state.currentMonth.getFullYear()).toBe(2015);
     expect(instance.state.currentMonth.getMonth()).toBe(8);
   });
+  it('should show the next month when clicking outside days with classNames set', () => {
+    const wrapper = mount(
+      <DayPicker
+        initialMonth={new Date(2015, 7)}
+        enableOutsideDays
+        classNames={{ ...defaultClassNames, outside: 'fakeOutside' }}
+        onDayClick={() => {}}
+      />
+    );
+    wrapper.find('.fakeOutside').last().simulate('click');
+    const instance = wrapper.instance();
+    expect(instance.state.currentMonth.getFullYear()).toBe(2015);
+    expect(instance.state.currentMonth.getMonth()).toBe(8);
+  });
   it('should show the previous month when clicking the previous button', () => {
     const wrapper = mount(<DayPicker initialMonth={new Date(2015, 7)} />);
     wrapper.find('.DayPicker-NavButton--prev').simulate('click');
@@ -74,6 +89,20 @@ describe('DayPicker’s navigation', () => {
     expect(instance.state.currentMonth.getFullYear()).toBe(2015);
     expect(instance.state.currentMonth.getMonth()).toBe(6);
   });
+  it('should show the previous month when clicking outside days with classNames set', () => {
+    const wrapper = mount(
+      <DayPicker
+        initialMonth={new Date(2015, 7)}
+        enableOutsideDays
+        classNames={{ ...defaultClassNames, outside: 'fakeOutside' }}
+        onDayClick={() => {}}
+      />
+    );
+    wrapper.find('.fakeOutside').first().simulate('click');
+    const instance = wrapper.instance();
+    expect(instance.state.currentMonth.getFullYear()).toBe(2015);
+    expect(instance.state.currentMonth.getMonth()).toBe(6);
+  });
   it('should not show the previous month when clicking outside days from the first month out of 2', () => {
     const wrapper = mount(
       <DayPicker