react-ui-basics 0.0.176 → 0.0.177

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.js CHANGED
@@ -3,6 +3,7 @@ import {clientHeight as __clientHeight, clientWidth as __clientWidth, createAcce
3
3
  export { default as Animated } from './Animated.js';
4
4
  export { default as AutocompleteSelect } from './AutocompleteSelect.js';
5
5
  export { default as Button } from './Button.js';
6
+ export { default as CalendarMonthView } from './CalendarMonthView.js';
6
7
  export { default as Checkbox } from './Checkbox.js';
7
8
  export { default as CircleProgress } from './CircleProgress.js';
8
9
  import {toConsumableArray as __toConsumableArray} from "./_virtual/_rollupPluginBabelHelpers";
@@ -10,6 +11,9 @@ import {extends as __extends} from "./_virtual/_rollupPluginBabelHelpers";
10
11
  import {inherits as __inherits} from "./_virtual/_rollupPluginBabelHelpers";
11
12
  import * as CommonFields from './CommonFields.js';
12
13
  export { CommonFields };
14
+ export { default as DatePicker } from './DatePicker.js';
15
+ import * as DateTools from './DateTools.js';
16
+ export { DateTools };
13
17
  export { default as Dialog } from './Dialog.js';
14
18
  export { default as DNDContainer } from './DNDContainer.js';
15
19
  export { default as DNDDraggable } from './DNDDraggable.js';
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-ui-basics",
3
- "version": "0.0.176",
3
+ "version": "0.0.177",
4
4
  "description": "",
5
5
  "module": "index.js",
6
6
  "_main": "index.cjs.js",
@@ -0,0 +1,20 @@
1
+ .CalendarMonthView {
2
+ display: flex;
3
+ flex-flow: column nowrap;
4
+ height: 100%;
5
+ }
6
+ .CalendarMonthView > .row {
7
+ display: flex;
8
+ flex-flow: row nowrap;
9
+ }
10
+ .CalendarMonthView .days {
11
+ flex-grow: 1;
12
+ position: relative;
13
+ }
14
+ .CalendarMonthView .day, .CalendarMonthView .header {
15
+ flex-grow: 1;
16
+ flex-basis: 1px;
17
+ }
18
+ .CalendarMonthView .day {
19
+ height: 100%;
20
+ }
@@ -0,0 +1,25 @@
1
+ .CalendarMonthView {
2
+ display: flex;
3
+ flex-flow: column nowrap;
4
+ height: 100%;
5
+
6
+ > .row {
7
+ display: flex;
8
+ flex-flow: row nowrap;
9
+ }
10
+
11
+ .days {
12
+ flex-grow: 1;
13
+ position: relative;
14
+ }
15
+
16
+ .day, .header {
17
+ flex-grow: 1;
18
+ flex-basis: 1px;
19
+ }
20
+
21
+ .day {
22
+ height: 100%;
23
+ }
24
+
25
+ }
@@ -0,0 +1,80 @@
1
+ import React from 'react';
2
+ import './CalendarMonthView.css'
3
+ import * as DateTools from "./DateTools";
4
+ import {classNames} from "./Tools";
5
+ import {DateExtended} from "./DateTools";
6
+
7
+ const daysOfWeek = [1, 2, 3, 4, 5, 6, 0];
8
+ const rows = [1, 2, 3, 4, 5, 6];
9
+ const TimeUnit = DateTools.TimeUnit;
10
+
11
+ const defaultDayRenderer = (day) => <span className={'value'}>
12
+ {DateTools.get(day, DateTools.TimeUnit.DAY)}
13
+ </span>;
14
+
15
+ interface CalendarMonthViewProps {
16
+ className?: string,
17
+ dayOfWeekToString: (day: number) => string | JSX.Element,
18
+ dayRenderer: (day: DateExtended, defaultRenderer: (day: DateExtended) => JSX.Element, row: number, column: number) => string | JSX.Element,
19
+ selectedDate?: Date,
20
+ monthOf?: Date,
21
+ }
22
+
23
+ const CalendarMonthView = ({className, dayOfWeekToString, selectedDate, monthOf, dayRenderer}: CalendarMonthViewProps) => {
24
+ const today = DateTools.now();
25
+
26
+ const currentDay = today.get(TimeUnit.DAY);
27
+ const currentMonth = today.get(TimeUnit.MONTH);
28
+ const currentYear = today.get(TimeUnit.YEAR);
29
+
30
+ const selected = selectedDate && DateTools.dateOf(selectedDate);
31
+
32
+ const selectedDay = selected && selected.get(TimeUnit.DAY);
33
+ const selectedMonth = selected && selected.get(TimeUnit.MONTH);
34
+ const selectedYear = selected && selected.get(TimeUnit.YEAR);
35
+
36
+ const showMonth = DateTools.dateOf(monthOf).get(TimeUnit.MONTH);
37
+
38
+ const startOfMonth = DateTools.dateOf(monthOf || today);
39
+ startOfMonth.subtract(startOfMonth.get(TimeUnit.DAY) - 1, TimeUnit.DAY);
40
+
41
+ let shiftToStart;
42
+ if (startOfMonth.getDay() === 0) {
43
+ shiftToStart = 6;
44
+ } else if (startOfMonth.getDay() === 1) {
45
+ shiftToStart = 7;
46
+ } else {
47
+ shiftToStart = startOfMonth.getDay() - 1;
48
+ }
49
+ const theDay = DateTools.dateOf(startOfMonth).subtract(shiftToStart, TimeUnit.DAY).resetTime();
50
+
51
+ return <div className={classNames('CalendarMonthView', className)}>
52
+ <div className={'headers row'}>
53
+ {daysOfWeek.map(i => <div key={i} className={classNames('header',
54
+ (i === 6 || i === 0) && 'weekend'
55
+ )}>{dayOfWeekToString(i)}</div>)}
56
+ </div>
57
+ {rows.map((_, row) => <div key={row} className={'days row'}>
58
+ {daysOfWeek.map((_, cell) => {
59
+ const day = DateTools.get(theDay, DateTools.TimeUnit.DAY);
60
+ const month = DateTools.get(theDay, DateTools.TimeUnit.MONTH);
61
+ const year = DateTools.get(theDay, DateTools.TimeUnit.YEAR);
62
+ const dayOfWeek = theDay.getDay();
63
+
64
+ const rendered = <div key={(cell + 1) * (row + 1)} className={classNames('day',
65
+ month !== showMonth && 'notSelectedMonth',
66
+ day === currentDay && month === currentMonth && year === currentYear && 'today',
67
+ day === selectedDay && month === selectedMonth && year === selectedYear && 'selected',
68
+ (dayOfWeek === 6 || dayOfWeek === 0) && 'weekend'
69
+ )}>
70
+ {!dayRenderer && defaultDayRenderer(theDay)}
71
+ {dayRenderer && dayRenderer(theDay, defaultDayRenderer, row, cell)}
72
+ </div>;
73
+
74
+ theDay.add(1, DateTools.TimeUnit.DAY);
75
+ return rendered;
76
+ })}
77
+ </div>)}
78
+ </div>
79
+ };
80
+ export default CalendarMonthView
@@ -0,0 +1,93 @@
1
+ .DatePicker {
2
+ position: relative;
3
+ }
4
+ .DatePicker > .TextField {
5
+ width: 200px;
6
+ margin-bottom: 0px;
7
+ }
8
+ .DatePicker > .TextField input {
9
+ text-align: center;
10
+ }
11
+ .DatePicker .calendar {
12
+ user-select: none;
13
+ position: absolute;
14
+ top: 33px;
15
+ z-index: 10;
16
+ box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.2);
17
+ transition: 0.2s all ease;
18
+ opacity: 0;
19
+ visibility: hidden;
20
+ }
21
+ .DatePicker .calendar.focused {
22
+ opacity: 1;
23
+ visibility: visible;
24
+ }
25
+ .DatePicker .monthSelect {
26
+ margin-bottom: 0;
27
+ background: white;
28
+ font-size: 12px;
29
+ color: #aaaaaa;
30
+ padding-right: 16px;
31
+ padding-left: 16px;
32
+ height: 40px;
33
+ }
34
+ .DatePicker .monthSelect span {
35
+ margin-right: auto;
36
+ }
37
+ .DatePicker .monthSelect .Button {
38
+ min-width: 25px;
39
+ min-height: 25px;
40
+ }
41
+ .DatePicker .monthSelect .Button .material-icons {
42
+ font-size: 16px;
43
+ }
44
+ .DatePicker .monthSelect .Button.disabled {
45
+ background: transparent;
46
+ }
47
+ .DatePicker .CalendarMonthView {
48
+ background: white;
49
+ }
50
+ .DatePicker .CalendarMonthView .headers, .DatePicker .CalendarMonthView .days {
51
+ margin-bottom: 0;
52
+ }
53
+ .DatePicker .CalendarMonthView .header {
54
+ font-size: 12px;
55
+ font-weight: bold;
56
+ text-align: center;
57
+ text-transform: uppercase;
58
+ margin: 5px;
59
+ }
60
+ .DatePicker .CalendarMonthView .day {
61
+ font-size: 10px;
62
+ }
63
+ .DatePicker .CalendarMonthView .day.notSelectedMonth {
64
+ color: #969696;
65
+ }
66
+ .DatePicker .CalendarMonthView .day span {
67
+ display: inline-flex;
68
+ justify-content: center;
69
+ align-items: center;
70
+ border-radius: 50%;
71
+ width: 25px;
72
+ height: 25px;
73
+ margin: 5px;
74
+ transition: 0.2s all ease;
75
+ cursor: pointer;
76
+ }
77
+ .DatePicker .CalendarMonthView .day span:hover {
78
+ background-color: #e6e6e6;
79
+ }
80
+ .DatePicker .CalendarMonthView .day span.inactive {
81
+ color: lightgray;
82
+ cursor: unset;
83
+ }
84
+ .DatePicker .CalendarMonthView .day span.inactive:hover {
85
+ background: unset;
86
+ }
87
+ .DatePicker .CalendarMonthView .day span.selected {
88
+ color: white;
89
+ background-color: #2196F3;
90
+ }
91
+ .DatePicker .CalendarMonthView .day span.selected:hover {
92
+ background-color: #51adf6;
93
+ }
@@ -0,0 +1,118 @@
1
+ @import "./global.scss";
2
+
3
+ .DatePicker {
4
+ position: relative;
5
+
6
+ > .TextField {
7
+ width: 200px;
8
+ margin-bottom: 0px;
9
+
10
+ input {
11
+ text-align: center;
12
+ }
13
+ }
14
+
15
+ .calendar {
16
+ user-select: none;
17
+ position: absolute;
18
+ top: 33px;
19
+ z-index: 10;
20
+ box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.2);
21
+
22
+ transition: 0.2s all ease;
23
+ opacity: 0;
24
+ visibility: hidden;
25
+
26
+ &.focused {
27
+ opacity: 1;
28
+ visibility: visible;
29
+ }
30
+ }
31
+
32
+
33
+ .monthSelect {
34
+ margin-bottom: 0;
35
+ background: white;
36
+ font-size: 12px;
37
+ color: rgb(170, 170, 170);
38
+ padding-right: 16px;
39
+ padding-left: 16px;
40
+ height: 40px;
41
+
42
+ span {
43
+ margin-right: auto;
44
+ }
45
+
46
+ .Button {
47
+ min-width: 25px;
48
+ min-height: 25px;
49
+
50
+ .material-icons {
51
+ font-size: 16px;
52
+ }
53
+
54
+ &.disabled {
55
+ background: transparent;
56
+ }
57
+ }
58
+ }
59
+
60
+ .CalendarMonthView {
61
+ background: white;
62
+
63
+ .headers, .days {
64
+ margin-bottom: 0;
65
+ }
66
+
67
+ .header {
68
+ font-size: 12px;
69
+ font-weight: bold;
70
+ text-align: center;
71
+ text-transform: uppercase;
72
+ margin: 5px;
73
+ }
74
+
75
+ .day {
76
+ font-size: 10px;
77
+
78
+ &.notSelectedMonth {
79
+ color: #969696;
80
+ }
81
+
82
+ span {
83
+ display: inline-flex;
84
+ justify-content: center;
85
+ align-items: center;
86
+ border-radius: 50%;
87
+ width: 25px;
88
+ height: 25px;
89
+ margin: 5px;
90
+ transition: 0.2s all ease;
91
+
92
+ cursor: pointer;
93
+
94
+ &:hover {
95
+ background-color: #e6e6e6;
96
+ }
97
+
98
+ &.inactive {
99
+ color: lightgray;
100
+ cursor: unset;
101
+
102
+ &:hover {
103
+ background: unset;
104
+ }
105
+ }
106
+
107
+ &.selected {
108
+ color: white;
109
+ background-color: $colorBlue;
110
+
111
+ &:hover {
112
+ background-color: lighten($colorBlue, 10%);
113
+ }
114
+ }
115
+ }
116
+ }
117
+ }
118
+ }
@@ -0,0 +1,179 @@
1
+ import React from 'react';
2
+ import './DatePicker.css'
3
+ import TextField from "./TextField";
4
+ import * as DateTools from "./DateTools";
5
+ import {orNoop, classNames, preventDefault} from "./Tools";
6
+ import Button from './Button'
7
+ import CalendarMonthView from "./CalendarMonthView";
8
+ import MaterialIcon from "./MaterialIcon";
9
+ import {DateExtended} from "./DateTools";
10
+
11
+ const DayRenderer = ({day, selected, minDate, onClick}: {
12
+ day: DateExtended,
13
+ selected: Date,
14
+ minDate: Date,
15
+ onClick: (day: Date) => void
16
+ }) =>
17
+ <span
18
+ className={classNames('value',
19
+ minDate && (day.isBefore(minDate) && !day.isSameDate(minDate)) && 'inactive',
20
+ selected && day.isSameDate(selected) && 'selected',
21
+ )}
22
+ onClick={e => {
23
+ preventDefault(e);
24
+ if (minDate && (day.isBefore(minDate) && !day.isSameDate(minDate))) return;
25
+
26
+ onClick(day);
27
+ }}
28
+ >
29
+ {DateTools.get(day, DateTools.TimeUnit.DAY)}
30
+ </span>;
31
+
32
+ export interface DatePickerProps {
33
+ id?: number | string
34
+ name?: string
35
+ value: Date
36
+ minDate?: Date
37
+ formatter: (date: Date) => string
38
+ parser: (date: string) => Date
39
+ onChange: (e) => void
40
+ dayOfWeekToString: (day: number) => string | JSX.Element
41
+ monthToString: (day: number) => string | JSX.Element
42
+ }
43
+
44
+ interface DatePickerState {
45
+ focused: boolean,
46
+ value: Date,
47
+ selectedMonth: DateExtended,
48
+ text: string,
49
+ }
50
+
51
+ class DatePicker extends React.Component<DatePickerProps, DatePickerState> {
52
+ private el: HTMLDivElement;
53
+ private listener: (e) => void;
54
+
55
+ constructor(props: DatePickerProps) {
56
+ super(props);
57
+ const date = props.value || new Date();
58
+ this.state = {
59
+ focused: false,
60
+ value: date,
61
+ text: props.formatter(date),
62
+ selectedMonth: DateTools.dateOf(date).resetTime().set(1, DateTools.TimeUnit.DAY),
63
+ };
64
+ }
65
+
66
+ componentDidUpdate(prevProps, prevState, snapshot) {
67
+ if (this.props.value !== prevProps.value)
68
+ this.setState({
69
+ value: this.props.value,
70
+ selectedMonth: DateTools.dateOf(this.props.value).resetTime().set(1, DateTools.TimeUnit.DAY),
71
+ text: this.props.formatter(this.props.value)
72
+ })
73
+ };
74
+
75
+ componentDidMount() {
76
+ document.addEventListener('mousedown', this.listener = (e) => {
77
+ if (this.state.focused && !this.el.contains(e.target))
78
+ this.setState({focused: false});
79
+ })
80
+ };
81
+
82
+ componentWillUnmount() {
83
+ document.removeEventListener('mousedown', this.listener)
84
+ };
85
+
86
+ shouldComponentUpdate(nextProps, nextState, nextContext) {
87
+ if (!DateTools.equals(this.props.value, nextProps.value))
88
+ return true;
89
+
90
+ if (!DateTools.equals(this.state.value, nextState.value))
91
+ return true;
92
+
93
+ if (this.state.text !== nextState.text)
94
+ return true;
95
+
96
+ if (this.state.focused !== nextState.focused)
97
+ return true;
98
+
99
+ if (this.state.selectedMonth !== nextState.selectedMonth)
100
+ return true;
101
+
102
+ if (!DateTools.equals(this.props.minDate, nextProps.minDate))
103
+ return true;
104
+
105
+ return false;
106
+ };
107
+
108
+ render() {
109
+ const {minDate, formatter, parser, dayOfWeekToString, monthToString} = this.props;
110
+ const {value, text, focused, selectedMonth} = this.state;
111
+
112
+ return <div className={`DatePicker`} ref={el => this.el = el}>
113
+ <TextField id={'value'} value={text}
114
+ autoComplete="off"
115
+ onFocus={() => this.setState({focused: true})}
116
+ onChange={e => {
117
+ const text = e.target.value;
118
+ try {
119
+ const date = parser(text);
120
+ if (date instanceof Date && !Number.isNaN(date.getTime())) {
121
+ if (date && value.getTime() !== date.getTime())
122
+ this.onChange(date);
123
+ }
124
+ this.setState({text})
125
+ } catch (ignored) {
126
+ }
127
+ }}
128
+ onKeyDown={e => {
129
+ if ((e.keyCode === 27/*esc*/ || e.keyCode === 13/*enter*/) && focused) {
130
+ e.preventDefault();
131
+ this.setState({text: formatter(value), focused: false});
132
+ }
133
+ }}
134
+ />
135
+ <div className={`calendar ${focused && 'focused'}`}>
136
+ <div className={'row monthSelect'}>
137
+ <span>
138
+ {monthToString(selectedMonth.get(DateTools.TimeUnit.MONTH))}
139
+ &nbsp;{selectedMonth.get(DateTools.TimeUnit.YEAR)}
140
+ </span>
141
+ <Button flat={true} round={true} disabled={minDate && DateTools.dateOf(selectedMonth).isBefore(minDate)} onClick={() => {
142
+ this.setState({selectedMonth: DateTools.dateOf(selectedMonth).subtract(1, DateTools.TimeUnit.MONTH)})
143
+ }}>
144
+ <MaterialIcon icon={'chevron_left'}/>
145
+ </Button>
146
+ <Button flat={true} round={true} onClick={() => {
147
+ this.setState({selectedMonth: DateTools.dateOf(selectedMonth).add(1, DateTools.TimeUnit.MONTH)})
148
+ }}>
149
+ <MaterialIcon icon={'chevron_right'}/>
150
+ </Button>
151
+ </div>
152
+ <CalendarMonthView monthOf={selectedMonth}
153
+ dayOfWeekToString={dayOfWeekToString}
154
+ dayRenderer={(date) => <DayRenderer
155
+ day={DateTools.dateOf(date)}
156
+ selected={value}
157
+ minDate={minDate}
158
+ onClick={value => {
159
+ this.onChange(value)
160
+ this.setState({focused: false, text: formatter(value)});
161
+ }}
162
+ />}/>
163
+ </div>
164
+ </div>
165
+ };
166
+
167
+ onChange = (value: Date) => {
168
+ this.setState({value});
169
+ orNoop(this.props.onChange)({
170
+ target: {
171
+ id: this.props.id,
172
+ name: this.props.name,
173
+ value,
174
+ }
175
+ })
176
+ }
177
+ }
178
+
179
+ export default DatePicker;
@@ -0,0 +1,85 @@
1
+ export const resetTime = (date: Date) => {
2
+ date.setHours(0, 0, 0, 0);
3
+ return date
4
+ };
5
+ export const timeOf = (date: Date) => date.getTime();
6
+ export const equals = (a: Date, b: Date) => a && b && timeOf(a) === timeOf(b);
7
+ export const isBefore = (a: Date, b: Date) => a && b && timeOf(a) < timeOf(b);
8
+ export const isAfter = (a: Date, b: Date) => a && b && timeOf(a) > timeOf(b);
9
+ export const max = (a: Date, b: Date) => {
10
+ if (!b) return a;
11
+ if (!a) return b;
12
+ return timeOf(a) > timeOf(b) ? a : b;
13
+ };
14
+ export const min = (a: Date, b: Date) => {
15
+ if (!b) return a;
16
+ if (!a) return b;
17
+ return timeOf(a) < timeOf(b) ? a : b;
18
+ };
19
+
20
+ export class TimeUnit {
21
+ static MILLISECOND = new TimeUnit('Milliseconds');
22
+ static SECOND = new TimeUnit('Seconds');
23
+ static MINUTE = new TimeUnit('Minutes');
24
+ static HOUR = new TimeUnit('Hours');
25
+ static DAY = new TimeUnit('Date');
26
+ static MONTH = new TimeUnit('Month');
27
+ static YEAR = new TimeUnit('FullYear');
28
+ set: (date: Date, value: number) => void;
29
+ get: (date: Date) => number;
30
+
31
+ constructor(field) {
32
+ const getter = 'get' + field;
33
+ const setter = 'set' + field;
34
+ // this.getter = getter;
35
+ // this.setter = setter;
36
+ this.toString = () => field;
37
+ this.get = (date) => date[getter]();
38
+ this.set = (date, value) => date[setter](value);
39
+ }
40
+
41
+ }
42
+
43
+ export const get = (date: Date, timeUnit: TimeUnit) => timeUnit.get(date);
44
+ export const set = (date: Date, value: number, timeUnit: TimeUnit): Date => {
45
+ timeUnit.set(date, value);
46
+ return date;
47
+ };
48
+
49
+ export const add = (date: Date, amount: number, timeUnit: TimeUnit): Date => {
50
+ timeUnit.set(date, timeUnit.get(date) + amount);
51
+ return date;
52
+ };
53
+
54
+ export const subtract = (date: Date, amount: number, timeUnit: TimeUnit): Date => add(date, -amount, timeUnit);
55
+
56
+ export interface DateExtended extends Date {
57
+ get: (timeUnit: TimeUnit) => number;
58
+ set: (value: number, timeUnit: TimeUnit) => DateExtended;
59
+ add: (amount: number, timeUnit: TimeUnit) => DateExtended;
60
+ subtract: (amount: number, timeUnit: TimeUnit) => DateExtended;
61
+ isBefore: (after: Date) => boolean;
62
+ isAfter: (before: Date) => boolean;
63
+ isSameDate: (another: Date) => boolean;
64
+ equals: (another: Date) => boolean;
65
+ resetTime: () => DateExtended;
66
+ }
67
+
68
+ export const extend = (date:Date):DateExtended => {
69
+ const d = date as DateExtended
70
+ d.get = (timeUnit) => get(date, timeUnit);
71
+ d.set = (value, timeUnit) => set(date, value, timeUnit) as DateExtended;
72
+ d.add = (amount, timeUnit) => add(date, amount, timeUnit) as DateExtended;
73
+ d.subtract = (amount, timeUnit) => subtract(date, amount, timeUnit) as DateExtended;
74
+ d.isBefore = (after) => isBefore(date, after);
75
+ d.isAfter = (before) => isAfter(date, before);
76
+ d.isSameDate = (another) => isSameDay(date, another);
77
+ d.equals = (another) => equals(date, another);
78
+ d.resetTime = () => resetTime(date) as DateExtended;
79
+ return d;
80
+ };
81
+ export const dateOf = (date?: string | Date): DateExtended => extend(date ? new Date(date) : new Date());
82
+ export const now = dateOf;
83
+ export const copy = dateOf;
84
+
85
+ export const isSameDay = (dateA: Date, dateB: Date) => dateA.getDate() === dateB.getDate() && dateA.getMonth() === dateB.getMonth() && dateA.getFullYear() === dateB.getFullYear();
package/src/index.js CHANGED
@@ -6,9 +6,12 @@ import {extends as __extends} from "./../_virtual/_rollupPluginBabelHelpers";
6
6
  import {inherits as __inherits} from "./../_virtual/_rollupPluginBabelHelpers";
7
7
  import AutocompleteSelect from "./AutocompleteSelect";
8
8
  import Button from "./Button";
9
+ import CalendarMonthView from "./CalendarMonthView";
9
10
  import Checkbox from "./Checkbox";
10
11
  import CircleProgress from "./CircleProgress";
11
12
  import * as CommonFields from "./CommonFields";
13
+ import DatePicker from "./DatePicker";
14
+ import * as DateTools from "./DateTools";
12
15
  import Dialog from "./Dialog";
13
16
  import DNDContainer from "./DNDContainer";
14
17
  import DNDDraggable from "./DNDDraggable";
@@ -43,9 +46,12 @@ export {
43
46
  Animated,
44
47
  AutocompleteSelect,
45
48
  Button,
49
+ CalendarMonthView,
46
50
  Checkbox,
47
51
  CircleProgress,
48
52
  CommonFields,
53
+ DatePicker,
54
+ DateTools,
49
55
  Dialog,
50
56
  DNDContainer,
51
57
  DNDDraggable,