Skip to content
This repository was archived by the owner on May 19, 2025. It is now read-only.

Commit 5be8aff

Browse files
committed
Add dist folder to watched files
1 parent 6d950de commit 5be8aff

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

81 files changed

+4332
-0
lines changed

dist/components/Calendar/index.js

Lines changed: 633 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
"use strict";
2+
3+
var _Calendar = _interopRequireDefault(require("../Calendar"));
4+
5+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
6+
7+
describe('Calendar', () => {
8+
test('Should resolve', () => {
9+
expect(_Calendar.default).toEqual(expect.anything());
10+
});
11+
});

dist/components/DateInput/index.js

Lines changed: 159 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,159 @@
1+
"use strict";
2+
3+
Object.defineProperty(exports, "__esModule", {
4+
value: true
5+
});
6+
exports.default = void 0;
7+
8+
var _react = _interopRequireWildcard(require("react"));
9+
10+
var _propTypes = _interopRequireDefault(require("prop-types"));
11+
12+
var _classnames = _interopRequireDefault(require("classnames"));
13+
14+
var _dateFns = require("date-fns");
15+
16+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17+
18+
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
19+
20+
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
21+
22+
class DateInput extends _react.PureComponent {
23+
constructor(props, context) {
24+
super(props, context);
25+
this.onKeyDown = this.onKeyDown.bind(this);
26+
this.onChange = this.onChange.bind(this);
27+
this.onBlur = this.onBlur.bind(this);
28+
this.state = {
29+
invalid: false,
30+
changed: false,
31+
value: this.formatDate(props)
32+
};
33+
}
34+
35+
componentDidUpdate(prevProps) {
36+
const {
37+
value
38+
} = prevProps;
39+
40+
if (!(0, _dateFns.isEqual)(value, this.props.value)) {
41+
this.setState({
42+
value: this.formatDate(this.props)
43+
});
44+
}
45+
}
46+
47+
formatDate({
48+
value,
49+
dateDisplayFormat,
50+
dateOptions
51+
}) {
52+
if (value && (0, _dateFns.isValid)(value)) {
53+
return (0, _dateFns.format)(value, dateDisplayFormat, dateOptions);
54+
}
55+
56+
return '';
57+
}
58+
59+
update(value) {
60+
const {
61+
invalid,
62+
changed
63+
} = this.state;
64+
65+
if (invalid || !changed || !value) {
66+
return;
67+
}
68+
69+
const {
70+
onChange,
71+
dateDisplayFormat,
72+
dateOptions
73+
} = this.props;
74+
const parsed = (0, _dateFns.parse)(value, dateDisplayFormat, new Date(), dateOptions);
75+
76+
if ((0, _dateFns.isValid)(parsed)) {
77+
this.setState({
78+
changed: false
79+
}, () => onChange(parsed));
80+
} else {
81+
this.setState({
82+
invalid: true
83+
});
84+
}
85+
}
86+
87+
onKeyDown(e) {
88+
const {
89+
value
90+
} = this.state;
91+
92+
if (e.key === 'Enter') {
93+
this.update(value);
94+
}
95+
}
96+
97+
onChange(e) {
98+
this.setState({
99+
value: e.target.value,
100+
changed: true,
101+
invalid: false
102+
});
103+
}
104+
105+
onBlur() {
106+
const {
107+
value
108+
} = this.state;
109+
this.update(value);
110+
}
111+
112+
render() {
113+
const {
114+
className,
115+
readOnly,
116+
placeholder,
117+
disabled,
118+
onFocus
119+
} = this.props;
120+
const {
121+
value,
122+
invalid
123+
} = this.state;
124+
return _react.default.createElement("span", {
125+
className: (0, _classnames.default)('rdrDateInput', className)
126+
}, _react.default.createElement("input", {
127+
readOnly: readOnly,
128+
disabled: disabled,
129+
value: value,
130+
placeholder: placeholder,
131+
onKeyDown: this.onKeyDown,
132+
onChange: this.onChange,
133+
onBlur: this.onBlur,
134+
onFocus: onFocus
135+
}), invalid && _react.default.createElement("span", {
136+
className: "rdrWarning"
137+
}, "\u26A0"));
138+
}
139+
140+
}
141+
142+
DateInput.propTypes = {
143+
value: _propTypes.default.object,
144+
placeholder: _propTypes.default.string,
145+
disabled: _propTypes.default.bool,
146+
readOnly: _propTypes.default.bool,
147+
dateOptions: _propTypes.default.object,
148+
dateDisplayFormat: _propTypes.default.string,
149+
className: _propTypes.default.string,
150+
onFocus: _propTypes.default.func.isRequired,
151+
onChange: _propTypes.default.func.isRequired
152+
};
153+
DateInput.defaultProps = {
154+
readOnly: true,
155+
disabled: false,
156+
dateDisplayFormat: 'MMM D, YYYY'
157+
};
158+
var _default = DateInput;
159+
exports.default = _default;

dist/components/DateRange/index.js

Lines changed: 202 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,202 @@
1+
"use strict";
2+
3+
Object.defineProperty(exports, "__esModule", {
4+
value: true
5+
});
6+
exports.default = void 0;
7+
8+
var _react = _interopRequireWildcard(require("react"));
9+
10+
var _propTypes = _interopRequireDefault(require("prop-types"));
11+
12+
var _Calendar = _interopRequireDefault(require("../Calendar"));
13+
14+
var _DayCell = require("../DayCell");
15+
16+
var _utils = require("../../utils");
17+
18+
var _dateFns = require("date-fns");
19+
20+
var _classnames = _interopRequireDefault(require("classnames"));
21+
22+
var _styles = _interopRequireDefault(require("../../styles"));
23+
24+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25+
26+
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
27+
28+
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
29+
30+
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
31+
32+
class DateRange extends _react.Component {
33+
constructor(props, context) {
34+
super(props, context);
35+
this.setSelection = this.setSelection.bind(this);
36+
this.handleRangeFocusChange = this.handleRangeFocusChange.bind(this);
37+
this.updatePreview = this.updatePreview.bind(this);
38+
this.calcNewSelection = this.calcNewSelection.bind(this);
39+
this.state = {
40+
focusedRange: props.initialFocusedRange || [(0, _utils.findNextRangeIndex)(props.ranges), 0],
41+
preview: null
42+
};
43+
this.styles = (0, _utils.generateStyles)([_styles.default, props.classNames]);
44+
}
45+
46+
calcNewSelection(value, isSingleValue = true) {
47+
const focusedRange = this.props.focusedRange || this.state.focusedRange;
48+
const {
49+
ranges,
50+
onChange,
51+
maxDate,
52+
moveRangeOnFirstSelection,
53+
disabledDates
54+
} = this.props;
55+
const focusedRangeIndex = focusedRange[0];
56+
const selectedRange = ranges[focusedRangeIndex];
57+
if (!selectedRange || !onChange) return {};
58+
let {
59+
startDate,
60+
endDate
61+
} = selectedRange;
62+
if (!endDate) endDate = new Date(startDate);
63+
let nextFocusRange;
64+
65+
if (!isSingleValue) {
66+
startDate = value.startDate;
67+
endDate = value.endDate;
68+
} else if (focusedRange[1] === 0) {
69+
// startDate selection
70+
const dayOffset = (0, _dateFns.differenceInCalendarDays)(endDate, startDate);
71+
startDate = value;
72+
endDate = moveRangeOnFirstSelection ? (0, _dateFns.addDays)(value, dayOffset) : value;
73+
if (maxDate) endDate = (0, _dateFns.min)([endDate, maxDate]);
74+
nextFocusRange = [focusedRange[0], 1];
75+
} else {
76+
endDate = value;
77+
} // reverse dates if startDate before endDate
78+
79+
80+
let isStartDateSelected = focusedRange[1] === 0;
81+
82+
if ((0, _dateFns.isBefore)(endDate, startDate)) {
83+
isStartDateSelected = !isStartDateSelected;
84+
[startDate, endDate] = [endDate, startDate];
85+
}
86+
87+
const inValidDatesWithinRange = disabledDates.filter(disabledDate => (0, _dateFns.isWithinInterval)(disabledDate, {
88+
start: startDate,
89+
end: endDate
90+
}));
91+
92+
if (inValidDatesWithinRange.length > 0) {
93+
if (isStartDateSelected) {
94+
startDate = (0, _dateFns.addDays)((0, _dateFns.max)(inValidDatesWithinRange), 1);
95+
} else {
96+
endDate = (0, _dateFns.addDays)((0, _dateFns.min)(inValidDatesWithinRange), -1);
97+
}
98+
}
99+
100+
if (!nextFocusRange) {
101+
const nextFocusRangeIndex = (0, _utils.findNextRangeIndex)(this.props.ranges, focusedRange[0]);
102+
nextFocusRange = [nextFocusRangeIndex, 0];
103+
}
104+
105+
return {
106+
wasValid: !(inValidDatesWithinRange.length > 0),
107+
range: {
108+
startDate,
109+
endDate
110+
},
111+
nextFocusRange: nextFocusRange
112+
};
113+
}
114+
115+
setSelection(value, isSingleValue) {
116+
const {
117+
onChange,
118+
ranges,
119+
onRangeFocusChange
120+
} = this.props;
121+
const focusedRange = this.props.focusedRange || this.state.focusedRange;
122+
const focusedRangeIndex = focusedRange[0];
123+
const selectedRange = ranges[focusedRangeIndex];
124+
if (!selectedRange) return;
125+
const newSelection = this.calcNewSelection(value, isSingleValue);
126+
onChange({
127+
[selectedRange.key || `range${focusedRangeIndex + 1}`]: { ...selectedRange,
128+
...newSelection.range
129+
}
130+
});
131+
this.setState({
132+
focusedRange: newSelection.nextFocusRange,
133+
preview: null
134+
});
135+
onRangeFocusChange && onRangeFocusChange(newSelection.nextFocusRange);
136+
}
137+
138+
handleRangeFocusChange(focusedRange) {
139+
this.setState({
140+
focusedRange
141+
});
142+
this.props.onRangeFocusChange && this.props.onRangeFocusChange(focusedRange);
143+
}
144+
145+
updatePreview(val) {
146+
if (!val) {
147+
this.setState({
148+
preview: null
149+
});
150+
return;
151+
}
152+
153+
const {
154+
rangeColors,
155+
ranges
156+
} = this.props;
157+
const focusedRange = this.props.focusedRange || this.state.focusedRange;
158+
const color = ranges[focusedRange[0]].color || rangeColors[focusedRange[0]] || color;
159+
this.setState({
160+
preview: { ...val.range,
161+
color
162+
}
163+
});
164+
}
165+
166+
render() {
167+
return _react.default.createElement(_Calendar.default, _extends({
168+
focusedRange: this.state.focusedRange,
169+
onRangeFocusChange: this.handleRangeFocusChange,
170+
preview: this.state.preview,
171+
onPreviewChange: value => {
172+
this.updatePreview(value ? this.calcNewSelection(value) : null);
173+
}
174+
}, this.props, {
175+
displayMode: "dateRange",
176+
className: (0, _classnames.default)(this.styles.dateRangeWrapper, this.props.className),
177+
onChange: this.setSelection,
178+
updateRange: val => this.setSelection(val, false),
179+
ref: target => {
180+
this.calendar = target;
181+
}
182+
}));
183+
}
184+
185+
}
186+
187+
DateRange.defaultProps = {
188+
classNames: {},
189+
ranges: [],
190+
moveRangeOnFirstSelection: false,
191+
rangeColors: ['#3d91ff', '#3ecf8e', '#fed14c'],
192+
disabledDates: []
193+
};
194+
DateRange.propTypes = { ..._Calendar.default.propTypes,
195+
onChange: _propTypes.default.func,
196+
onRangeFocusChange: _propTypes.default.func,
197+
className: _propTypes.default.string,
198+
ranges: _propTypes.default.arrayOf(_DayCell.rangeShape),
199+
moveRangeOnFirstSelection: _propTypes.default.bool
200+
};
201+
var _default = DateRange;
202+
exports.default = _default;
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
"use strict";
2+
3+
var _DateRange = _interopRequireDefault(require("../DateRange"));
4+
5+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
6+
7+
describe('DateRange', () => {
8+
test('Should resolve', () => {
9+
expect(_DateRange.default).toEqual(expect.anything());
10+
});
11+
});

0 commit comments

Comments
 (0)