@iroomit/react-date-range
Advanced tools
Comparing version 3.0.0-alpha.1 to 3.0.0
@@ -7,2 +7,24 @@ # Changelog | ||
## 3.0.0 | ||
### Changed | ||
- Project development taken over by iROOMit Inc! | ||
- All components rewritten in TypeScript | ||
- Class components converted to functional components | ||
- Rewrote all PropTypes declarations as TypeScript type definitions | ||
- `date-fns` dependency upgraded to v3 | ||
- `Webpack` upgraded to v5 | ||
- Upgraded `Babel`, `Jest`, `React` dependencies to latest versions | ||
- Removed `shallow-equal` dependency in favour of built-in `JSON.stringify()` | ||
### To Do | ||
- Convert demo project to TypeScript | ||
- Convert tests to TypeScript | ||
Going forward, any changes should reference cooresponding commit IDs. Because this version marks a takeover and entire rewrite of the project, commit IDs have been omitted due to various changes taking place over several commits. | ||
**This should not be a breaking release. All previous props and components from this library are still valid after the TypeScript rewrite.** | ||
## 1.4.0 | ||
@@ -9,0 +31,0 @@ |
@@ -1,5 +0,5 @@ | ||
export { default as DateRange } from './components/DateRange'; | ||
export { default as Calendar } from './components/Calendar'; | ||
export { default as DateRangePicker } from './components/DateRangePicker'; | ||
export { default as DateRange, type DateRangeProps } from './components/DateRange'; | ||
export { default as Calendar, type CalendarProps } from './components/Calendar'; | ||
export { default as DateRangePicker, type DateRangePickerProps } from './components/DateRangePicker'; | ||
export { default as DefinedRange } from './components/DefinedRange'; | ||
export { defaultInputRanges, defaultStaticRanges, createStaticRanges } from './defaultRanges'; |
@@ -54,2 +54,2 @@ "use strict"; | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfRGF0ZVJhbmdlIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfQ2FsZW5kYXIiLCJfRGF0ZVJhbmdlUGlja2VyIiwiX0RlZmluZWRSYW5nZSIsIl9kZWZhdWx0UmFuZ2VzIiwib2JqIiwiX19lc01vZHVsZSIsImRlZmF1bHQiXSwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgZGVmYXVsdCBhcyBEYXRlUmFuZ2UgfSBmcm9tICcuL2NvbXBvbmVudHMvRGF0ZVJhbmdlJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgQ2FsZW5kYXIgfSBmcm9tICcuL2NvbXBvbmVudHMvQ2FsZW5kYXInO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBEYXRlUmFuZ2VQaWNrZXIgfSBmcm9tICcuL2NvbXBvbmVudHMvRGF0ZVJhbmdlUGlja2VyJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgRGVmaW5lZFJhbmdlIH0gZnJvbSAnLi9jb21wb25lbnRzL0RlZmluZWRSYW5nZSc7XG5leHBvcnQgeyBkZWZhdWx0SW5wdXRSYW5nZXMsIGRlZmF1bHRTdGF0aWNSYW5nZXMsIGNyZWF0ZVN0YXRpY1JhbmdlcyB9IGZyb20gJy4vZGVmYXVsdFJhbmdlcyc7Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLElBQUFBLFVBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFNBQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFFLGdCQUFBLEdBQUFILHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRyxhQUFBLEdBQUFKLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBSSxjQUFBLEdBQUFKLE9BQUE7QUFBOEYsU0FBQUQsdUJBQUFNLEdBQUEsV0FBQUEsR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsR0FBQUQsR0FBQSxLQUFBRSxPQUFBLEVBQUFGLEdBQUEifQ== | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfRGF0ZVJhbmdlIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfQ2FsZW5kYXIiLCJfRGF0ZVJhbmdlUGlja2VyIiwiX0RlZmluZWRSYW5nZSIsIl9kZWZhdWx0UmFuZ2VzIiwib2JqIiwiX19lc01vZHVsZSIsImRlZmF1bHQiXSwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgZGVmYXVsdCBhcyBEYXRlUmFuZ2UsIHR5cGUgRGF0ZVJhbmdlUHJvcHMgfSBmcm9tICcuL2NvbXBvbmVudHMvRGF0ZVJhbmdlJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgQ2FsZW5kYXIsIHR5cGUgQ2FsZW5kYXJQcm9wcyB9IGZyb20gJy4vY29tcG9uZW50cy9DYWxlbmRhcic7XG5leHBvcnQgeyBkZWZhdWx0IGFzIERhdGVSYW5nZVBpY2tlciwgdHlwZSBEYXRlUmFuZ2VQaWNrZXJQcm9wcyB9IGZyb20gJy4vY29tcG9uZW50cy9EYXRlUmFuZ2VQaWNrZXInO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBEZWZpbmVkUmFuZ2UgfSBmcm9tICcuL2NvbXBvbmVudHMvRGVmaW5lZFJhbmdlJztcbmV4cG9ydCB7IGRlZmF1bHRJbnB1dFJhbmdlcywgZGVmYXVsdFN0YXRpY1JhbmdlcywgY3JlYXRlU3RhdGljUmFuZ2VzIH0gZnJvbSAnLi9kZWZhdWx0UmFuZ2VzJzsiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsSUFBQUEsVUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsU0FBQSxHQUFBRixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUUsZ0JBQUEsR0FBQUgsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFHLGFBQUEsR0FBQUosc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFJLGNBQUEsR0FBQUosT0FBQTtBQUE4RixTQUFBRCx1QkFBQU0sR0FBQSxXQUFBQSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxHQUFBRCxHQUFBLEtBQUFFLE9BQUEsRUFBQUYsR0FBQSJ9 |
import { WeekOptions } from 'date-fns'; | ||
import { StylesType } from './styles'; | ||
import { DateRange } from './components/DayCell'; | ||
export declare function calcFocusDate(currentFocusedDate: Date, shownDate?: Date, date?: Date, months?: number, ranges?: DateRange[], focusedRange?: number[], displayMode?: "dateRange" | "date"): any; | ||
export declare function calcFocusDate(currentFocusedDate: Date, shownDate?: Date, date?: Date, months?: number, ranges?: DateRange[], focusedRange?: number[], displayMode?: "dateRange" | "date"): Date; | ||
export declare function findNextRangeIndex(ranges: DateRange[], currentRangeIndex?: number): number; | ||
@@ -6,0 +6,0 @@ export declare function getMonthDisplayRange(date: Date, dateOptions?: WeekOptions, fixedHeight?: boolean): { |
@@ -19,14 +19,14 @@ "use strict"; | ||
targetInterval = { | ||
start: range?.startDate, | ||
end: range?.endDate | ||
startDate: range?.startDate, | ||
endDate: range?.endDate | ||
}; | ||
} else { | ||
targetInterval = { | ||
start: date, | ||
end: date | ||
startDate: date, | ||
endDate: date | ||
}; | ||
} | ||
targetInterval.start = (0, _dateFns.startOfMonth)(targetInterval.start || new Date()); | ||
targetInterval.end = (0, _dateFns.endOfMonth)(targetInterval.end || targetInterval.start); | ||
const targetDate = targetInterval.start || targetInterval.end || shownDate || new Date(); | ||
targetInterval.startDate = (0, _dateFns.startOfMonth)(targetInterval.startDate || new Date()); | ||
targetInterval.endDate = (0, _dateFns.endOfMonth)(targetInterval.endDate || targetInterval.startDate); | ||
const targetDate = targetInterval.startDate || targetInterval.endDate || shownDate || new Date(); | ||
@@ -38,3 +38,3 @@ // initial focus | ||
// if (scroll.enabled) return targetDate; | ||
if ((0, _dateFns.differenceInCalendarMonths)(targetInterval.start, targetInterval.end) > months) { | ||
if ((0, _dateFns.differenceInCalendarMonths)(targetInterval.startDate, targetInterval.endDate) > months) { | ||
// don't change focused if new selection in view area | ||
@@ -76,2 +76,2 @@ return currentFocusedDate; | ||
} | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY2xhc3NuYW1lcyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2RhdGVGbnMiLCJvYmoiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsImNhbGNGb2N1c0RhdGUiLCJjdXJyZW50Rm9jdXNlZERhdGUiLCJzaG93bkRhdGUiLCJkYXRlIiwibW9udGhzIiwicmFuZ2VzIiwiZm9jdXNlZFJhbmdlIiwiZGlzcGxheU1vZGUiLCJ0YXJnZXRJbnRlcnZhbCIsInJhbmdlIiwic3RhcnQiLCJzdGFydERhdGUiLCJlbmQiLCJlbmREYXRlIiwic3RhcnRPZk1vbnRoIiwiRGF0ZSIsImVuZE9mTW9udGgiLCJ0YXJnZXREYXRlIiwiZGlmZmVyZW5jZUluQ2FsZW5kYXJNb250aHMiLCJmaW5kTmV4dFJhbmdlSW5kZXgiLCJjdXJyZW50UmFuZ2VJbmRleCIsImFyZ3VtZW50cyIsImxlbmd0aCIsInVuZGVmaW5lZCIsIm5leHRJbmRleCIsImZpbmRJbmRleCIsImkiLCJhdXRvRm9jdXMiLCJkaXNhYmxlZCIsImdldE1vbnRoRGlzcGxheVJhbmdlIiwiZGF0ZU9wdGlvbnMiLCJmaXhlZEhlaWdodCIsInN0YXJ0RGF0ZU9mTW9udGgiLCJlbmREYXRlT2ZNb250aCIsInN0YXJ0RGF0ZU9mQ2FsZW5kYXIiLCJzdGFydE9mV2VlayIsImVuZERhdGVPZkNhbGVuZGFyIiwiZW5kT2ZXZWVrIiwiZGlmZmVyZW5jZUluQ2FsZW5kYXJEYXlzIiwiYWRkRGF5cyIsImdlbmVyYXRlU3R5bGVzIiwic291cmNlcyIsImdlbmVyYXRlZFN0eWxlcyIsImZpbHRlciIsInNvdXJjZSIsIkJvb2xlYW4iLCJyZWR1Y2UiLCJzdHlsZXMiLCJzdHlsZVNvdXJjZSIsIk9iamVjdCIsImtleXMiLCJmb3JFYWNoIiwia2V5IiwiY2xhc3NuYW1lcyJdLCJzb3VyY2VzIjpbIi4uL3NyYy91dGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgY2xhc3NuYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCB7XG4gIHN0YXJ0T2ZNb250aCxcbiAgZW5kT2ZNb250aCxcbiAgc3RhcnRPZldlZWssXG4gIGVuZE9mV2VlayxcbiAgZGlmZmVyZW5jZUluQ2FsZW5kYXJEYXlzLFxuICBkaWZmZXJlbmNlSW5DYWxlbmRhck1vbnRocyxcbiAgYWRkRGF5cyxcbiAgV2Vla09wdGlvbnMsXG59IGZyb20gJ2RhdGUtZm5zJztcbmltcG9ydCB7IFN0eWxlc1R5cGUgfSBmcm9tICcuL3N0eWxlcyc7XG5pbXBvcnQgeyBEYXRlUmFuZ2UgfSBmcm9tICcuL2NvbXBvbmVudHMvRGF5Q2VsbCc7XG5cbmV4cG9ydCBmdW5jdGlvbiBjYWxjRm9jdXNEYXRlKGN1cnJlbnRGb2N1c2VkRGF0ZTogRGF0ZSwgc2hvd25EYXRlPzogRGF0ZSwgZGF0ZT86IERhdGUsIG1vbnRocz86IG51bWJlciwgcmFuZ2VzPzogRGF0ZVJhbmdlW10sIGZvY3VzZWRSYW5nZT86IG51bWJlcltdLCBkaXNwbGF5TW9kZT86IFwiZGF0ZVJhbmdlXCIgfCBcImRhdGVcIikge1xuICAvLyBmaW5kIHByaW1hcnkgZGF0ZSBhY2NvcmRpbmcgdGhlIHByb3BzXG4gIGxldCB0YXJnZXRJbnRlcnZhbDtcbiAgaWYgKGRpc3BsYXlNb2RlID09PSAnZGF0ZVJhbmdlJykge1xuICAgIGNvbnN0IHJhbmdlID0gcmFuZ2VzW2ZvY3VzZWRSYW5nZVswXV07XG4gICAgdGFyZ2V0SW50ZXJ2YWwgPSB7XG4gICAgICBzdGFydDogcmFuZ2U/LnN0YXJ0RGF0ZSxcbiAgICAgIGVuZDogcmFuZ2U/LmVuZERhdGUsXG4gICAgfTtcbiAgfSBlbHNlIHtcbiAgICB0YXJnZXRJbnRlcnZhbCA9IHtcbiAgICAgIHN0YXJ0OiBkYXRlLFxuICAgICAgZW5kOiBkYXRlLFxuICAgIH07XG4gIH1cbiAgdGFyZ2V0SW50ZXJ2YWwuc3RhcnQgPSBzdGFydE9mTW9udGgodGFyZ2V0SW50ZXJ2YWwuc3RhcnQgfHwgbmV3IERhdGUoKSk7XG4gIHRhcmdldEludGVydmFsLmVuZCA9IGVuZE9mTW9udGgodGFyZ2V0SW50ZXJ2YWwuZW5kIHx8IHRhcmdldEludGVydmFsLnN0YXJ0KTtcbiAgY29uc3QgdGFyZ2V0RGF0ZSA9IHRhcmdldEludGVydmFsLnN0YXJ0IHx8IHRhcmdldEludGVydmFsLmVuZCB8fCBzaG93bkRhdGUgfHwgbmV3IERhdGUoKTtcblxuICAvLyBpbml0aWFsIGZvY3VzXG4gIGlmICghY3VycmVudEZvY3VzZWREYXRlKSByZXR1cm4gc2hvd25EYXRlIHx8IHRhcmdldERhdGU7XG5cbiAgLy8gLy8ganVzdCByZXR1cm4gdGFyZ2V0RGF0ZSBmb3IgbmF0aXZlIHNjcm9sbGVkIGNhbGVuZGFyc1xuICAvLyBpZiAoc2Nyb2xsLmVuYWJsZWQpIHJldHVybiB0YXJnZXREYXRlO1xuICBpZiAoZGlmZmVyZW5jZUluQ2FsZW5kYXJNb250aHModGFyZ2V0SW50ZXJ2YWwuc3RhcnQsIHRhcmdldEludGVydmFsLmVuZCkgPiBtb250aHMpIHtcbiAgICAvLyBkb24ndCBjaGFuZ2UgZm9jdXNlZCBpZiBuZXcgc2VsZWN0aW9uIGluIHZpZXcgYXJlYVxuICAgIHJldHVybiBjdXJyZW50Rm9jdXNlZERhdGU7XG4gIH1cbiAgcmV0dXJuIHRhcmdldERhdGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaW5kTmV4dFJhbmdlSW5kZXgocmFuZ2VzOiBEYXRlUmFuZ2VbXSwgY3VycmVudFJhbmdlSW5kZXggPSAtMSkge1xuXG4gIGNvbnN0IG5leHRJbmRleCA9IHJhbmdlcy5maW5kSW5kZXgoXG4gICAgKHJhbmdlLCBpKSA9PiBpID4gY3VycmVudFJhbmdlSW5kZXggJiYgcmFuZ2UuYXV0b0ZvY3VzICE9PSBmYWxzZSAmJiAhcmFuZ2UuZGlzYWJsZWRcbiAgKTtcblxuICBpZiAobmV4dEluZGV4ICE9PSAtMSkgcmV0dXJuIG5leHRJbmRleDtcbiAgcmV0dXJuIHJhbmdlcy5maW5kSW5kZXgocmFuZ2UgPT4gcmFuZ2UuYXV0b0ZvY3VzICE9PSBmYWxzZSAmJiAhcmFuZ2UuZGlzYWJsZWQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TW9udGhEaXNwbGF5UmFuZ2UoZGF0ZTogRGF0ZSwgZGF0ZU9wdGlvbnM/OiBXZWVrT3B0aW9ucywgZml4ZWRIZWlnaHQ/OiBib29sZWFuKSB7XG4gIGNvbnN0IHN0YXJ0RGF0ZU9mTW9udGggPSBzdGFydE9mTW9udGgoZGF0ZSk7XG4gIGNvbnN0IGVuZERhdGVPZk1vbnRoID0gZW5kT2ZNb250aChkYXRlKTtcbiAgY29uc3Qgc3RhcnREYXRlT2ZDYWxlbmRhciA9IHN0YXJ0T2ZXZWVrKHN0YXJ0RGF0ZU9mTW9udGgsIGRhdGVPcHRpb25zKTtcbiAgbGV0IGVuZERhdGVPZkNhbGVuZGFyID0gZW5kT2ZXZWVrKGVuZERhdGVPZk1vbnRoLCBkYXRlT3B0aW9ucyk7XG4gIGlmIChmaXhlZEhlaWdodCAmJiBkaWZmZXJlbmNlSW5DYWxlbmRhckRheXMoZW5kRGF0ZU9mQ2FsZW5kYXIsIHN0YXJ0RGF0ZU9mQ2FsZW5kYXIpIDw9IDM0KSB7XG4gICAgZW5kRGF0ZU9mQ2FsZW5kYXIgPSBhZGREYXlzKGVuZERhdGVPZkNhbGVuZGFyLCA3KTtcbiAgfVxuICByZXR1cm4ge1xuICAgIHN0YXJ0OiBzdGFydERhdGVPZkNhbGVuZGFyLFxuICAgIGVuZDogZW5kRGF0ZU9mQ2FsZW5kYXIsXG4gICAgc3RhcnREYXRlT2ZNb250aCxcbiAgICBlbmREYXRlT2ZNb250aCxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlU3R5bGVzKHNvdXJjZXM6IFBhcnRpYWw8U3R5bGVzVHlwZT5bXSkge1xuICBpZiAoIXNvdXJjZXMubGVuZ3RoKSByZXR1cm4ge307XG4gIGNvbnN0IGdlbmVyYXRlZFN0eWxlcyA9IHNvdXJjZXNcbiAgICAuZmlsdGVyKHNvdXJjZSA9PiBCb29sZWFuKHNvdXJjZSkpXG4gICAgLnJlZHVjZSgoc3R5bGVzLCBzdHlsZVNvdXJjZSkgPT4ge1xuICAgICAgT2JqZWN0LmtleXMoc3R5bGVTb3VyY2UpLmZvckVhY2goa2V5ID0+IHtcbiAgICAgICAgc3R5bGVzW2tleV0gPSBjbGFzc25hbWVzKHN0eWxlc1trZXldLCBzdHlsZVNvdXJjZVtrZXldKTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHN0eWxlcztcbiAgICB9LCB7fSk7XG4gIHJldHVybiBnZW5lcmF0ZWRTdHlsZXM7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLElBQUFBLFdBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFFBQUEsR0FBQUQsT0FBQTtBQVNrQixTQUFBRCx1QkFBQUcsR0FBQSxXQUFBQSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxHQUFBRCxHQUFBLEtBQUFFLE9BQUEsRUFBQUYsR0FBQTtBQUlYLFNBQVNHLGFBQWFBLENBQUNDLGtCQUF3QixFQUFFQyxTQUFnQixFQUFFQyxJQUFXLEVBQUVDLE1BQWUsRUFBRUMsTUFBb0IsRUFBRUMsWUFBdUIsRUFBRUMsV0FBa0MsRUFBRTtFQUN6TDtFQUNBLElBQUlDLGNBQWM7RUFDbEIsSUFBSUQsV0FBVyxLQUFLLFdBQVcsRUFBRTtJQUMvQixNQUFNRSxLQUFLLEdBQUdKLE1BQU0sQ0FBQ0MsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3JDRSxjQUFjLEdBQUc7TUFDZkUsS0FBSyxFQUFFRCxLQUFLLEVBQUVFLFNBQVM7TUFDdkJDLEdBQUcsRUFBRUgsS0FBSyxFQUFFSTtJQUNkLENBQUM7RUFDSCxDQUFDLE1BQU07SUFDTEwsY0FBYyxHQUFHO01BQ2ZFLEtBQUssRUFBRVAsSUFBSTtNQUNYUyxHQUFHLEVBQUVUO0lBQ1AsQ0FBQztFQUNIO0VBQ0FLLGNBQWMsQ0FBQ0UsS0FBSyxHQUFHLElBQUFJLHFCQUFZLEVBQUNOLGNBQWMsQ0FBQ0UsS0FBSyxJQUFJLElBQUlLLElBQUksQ0FBQyxDQUFDLENBQUM7RUFDdkVQLGNBQWMsQ0FBQ0ksR0FBRyxHQUFHLElBQUFJLG1CQUFVLEVBQUNSLGNBQWMsQ0FBQ0ksR0FBRyxJQUFJSixjQUFjLENBQUNFLEtBQUssQ0FBQztFQUMzRSxNQUFNTyxV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 | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY2xhc3NuYW1lcyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2RhdGVGbnMiLCJvYmoiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsImNhbGNGb2N1c0RhdGUiLCJjdXJyZW50Rm9jdXNlZERhdGUiLCJzaG93bkRhdGUiLCJkYXRlIiwibW9udGhzIiwicmFuZ2VzIiwiZm9jdXNlZFJhbmdlIiwiZGlzcGxheU1vZGUiLCJ0YXJnZXRJbnRlcnZhbCIsInJhbmdlIiwic3RhcnREYXRlIiwiZW5kRGF0ZSIsInN0YXJ0T2ZNb250aCIsIkRhdGUiLCJlbmRPZk1vbnRoIiwidGFyZ2V0RGF0ZSIsImRpZmZlcmVuY2VJbkNhbGVuZGFyTW9udGhzIiwiZmluZE5leHRSYW5nZUluZGV4IiwiY3VycmVudFJhbmdlSW5kZXgiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJuZXh0SW5kZXgiLCJmaW5kSW5kZXgiLCJpIiwiYXV0b0ZvY3VzIiwiZGlzYWJsZWQiLCJnZXRNb250aERpc3BsYXlSYW5nZSIsImRhdGVPcHRpb25zIiwiZml4ZWRIZWlnaHQiLCJzdGFydERhdGVPZk1vbnRoIiwiZW5kRGF0ZU9mTW9udGgiLCJzdGFydERhdGVPZkNhbGVuZGFyIiwic3RhcnRPZldlZWsiLCJlbmREYXRlT2ZDYWxlbmRhciIsImVuZE9mV2VlayIsImRpZmZlcmVuY2VJbkNhbGVuZGFyRGF5cyIsImFkZERheXMiLCJzdGFydCIsImVuZCIsImdlbmVyYXRlU3R5bGVzIiwic291cmNlcyIsImdlbmVyYXRlZFN0eWxlcyIsImZpbHRlciIsInNvdXJjZSIsIkJvb2xlYW4iLCJyZWR1Y2UiLCJzdHlsZXMiLCJzdHlsZVNvdXJjZSIsIk9iamVjdCIsImtleXMiLCJmb3JFYWNoIiwia2V5IiwiY2xhc3NuYW1lcyJdLCJzb3VyY2VzIjpbIi4uL3NyYy91dGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgY2xhc3NuYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCB7XG4gIHN0YXJ0T2ZNb250aCxcbiAgZW5kT2ZNb250aCxcbiAgc3RhcnRPZldlZWssXG4gIGVuZE9mV2VlayxcbiAgZGlmZmVyZW5jZUluQ2FsZW5kYXJEYXlzLFxuICBkaWZmZXJlbmNlSW5DYWxlbmRhck1vbnRocyxcbiAgYWRkRGF5cyxcbiAgV2Vla09wdGlvbnMsXG59IGZyb20gJ2RhdGUtZm5zJztcbmltcG9ydCB7IFN0eWxlc1R5cGUgfSBmcm9tICcuL3N0eWxlcyc7XG5pbXBvcnQgeyBEYXRlUmFuZ2UgfSBmcm9tICcuL2NvbXBvbmVudHMvRGF5Q2VsbCc7XG5cbmV4cG9ydCBmdW5jdGlvbiBjYWxjRm9jdXNEYXRlKGN1cnJlbnRGb2N1c2VkRGF0ZTogRGF0ZSwgc2hvd25EYXRlPzogRGF0ZSwgZGF0ZT86IERhdGUsIG1vbnRocz86IG51bWJlciwgcmFuZ2VzPzogRGF0ZVJhbmdlW10sIGZvY3VzZWRSYW5nZT86IG51bWJlcltdLCBkaXNwbGF5TW9kZT86IFwiZGF0ZVJhbmdlXCIgfCBcImRhdGVcIikge1xuICAvLyBmaW5kIHByaW1hcnkgZGF0ZSBhY2NvcmRpbmcgdGhlIHByb3BzXG4gIGxldCB0YXJnZXRJbnRlcnZhbDogRGF0ZVJhbmdlO1xuICBpZiAoZGlzcGxheU1vZGUgPT09ICdkYXRlUmFuZ2UnKSB7XG4gICAgY29uc3QgcmFuZ2UgPSByYW5nZXNbZm9jdXNlZFJhbmdlWzBdXTtcbiAgICB0YXJnZXRJbnRlcnZhbCA9IHtcbiAgICAgIHN0YXJ0RGF0ZTogcmFuZ2U/LnN0YXJ0RGF0ZSxcbiAgICAgIGVuZERhdGU6IHJhbmdlPy5lbmREYXRlLFxuICAgIH07XG4gIH0gZWxzZSB7XG4gICAgdGFyZ2V0SW50ZXJ2YWwgPSB7XG4gICAgICBzdGFydERhdGU6IGRhdGUsXG4gICAgICBlbmREYXRlOiBkYXRlLFxuICAgIH07XG4gIH1cbiAgdGFyZ2V0SW50ZXJ2YWwuc3RhcnREYXRlID0gc3RhcnRPZk1vbnRoKHRhcmdldEludGVydmFsLnN0YXJ0RGF0ZSB8fCBuZXcgRGF0ZSgpKTtcbiAgdGFyZ2V0SW50ZXJ2YWwuZW5kRGF0ZSA9IGVuZE9mTW9udGgodGFyZ2V0SW50ZXJ2YWwuZW5kRGF0ZSB8fCB0YXJnZXRJbnRlcnZhbC5zdGFydERhdGUpO1xuICBjb25zdCB0YXJnZXREYXRlID0gdGFyZ2V0SW50ZXJ2YWwuc3RhcnREYXRlIHx8IHRhcmdldEludGVydmFsLmVuZERhdGUgfHwgc2hvd25EYXRlIHx8IG5ldyBEYXRlKCk7XG5cbiAgLy8gaW5pdGlhbCBmb2N1c1xuICBpZiAoIWN1cnJlbnRGb2N1c2VkRGF0ZSkgcmV0dXJuIHNob3duRGF0ZSB8fCB0YXJnZXREYXRlO1xuXG4gIC8vIC8vIGp1c3QgcmV0dXJuIHRhcmdldERhdGUgZm9yIG5hdGl2ZSBzY3JvbGxlZCBjYWxlbmRhcnNcbiAgLy8gaWYgKHNjcm9sbC5lbmFibGVkKSByZXR1cm4gdGFyZ2V0RGF0ZTtcbiAgaWYgKGRpZmZlcmVuY2VJbkNhbGVuZGFyTW9udGhzKHRhcmdldEludGVydmFsLnN0YXJ0RGF0ZSwgdGFyZ2V0SW50ZXJ2YWwuZW5kRGF0ZSkgPiBtb250aHMpIHtcbiAgICAvLyBkb24ndCBjaGFuZ2UgZm9jdXNlZCBpZiBuZXcgc2VsZWN0aW9uIGluIHZpZXcgYXJlYVxuICAgIHJldHVybiBjdXJyZW50Rm9jdXNlZERhdGU7XG4gIH1cbiAgcmV0dXJuIHRhcmdldERhdGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaW5kTmV4dFJhbmdlSW5kZXgocmFuZ2VzOiBEYXRlUmFuZ2VbXSwgY3VycmVudFJhbmdlSW5kZXggPSAtMSkge1xuXG4gIGNvbnN0IG5leHRJbmRleCA9IHJhbmdlcy5maW5kSW5kZXgoXG4gICAgKHJhbmdlLCBpKSA9PiBpID4gY3VycmVudFJhbmdlSW5kZXggJiYgcmFuZ2UuYXV0b0ZvY3VzICE9PSBmYWxzZSAmJiAhcmFuZ2UuZGlzYWJsZWRcbiAgKTtcblxuICBpZiAobmV4dEluZGV4ICE9PSAtMSkgcmV0dXJuIG5leHRJbmRleDtcbiAgcmV0dXJuIHJhbmdlcy5maW5kSW5kZXgocmFuZ2UgPT4gcmFuZ2UuYXV0b0ZvY3VzICE9PSBmYWxzZSAmJiAhcmFuZ2UuZGlzYWJsZWQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TW9udGhEaXNwbGF5UmFuZ2UoZGF0ZTogRGF0ZSwgZGF0ZU9wdGlvbnM/OiBXZWVrT3B0aW9ucywgZml4ZWRIZWlnaHQ/OiBib29sZWFuKSB7XG4gIGNvbnN0IHN0YXJ0RGF0ZU9mTW9udGggPSBzdGFydE9mTW9udGgoZGF0ZSk7XG4gIGNvbnN0IGVuZERhdGVPZk1vbnRoID0gZW5kT2ZNb250aChkYXRlKTtcbiAgY29uc3Qgc3RhcnREYXRlT2ZDYWxlbmRhciA9IHN0YXJ0T2ZXZWVrKHN0YXJ0RGF0ZU9mTW9udGgsIGRhdGVPcHRpb25zKTtcbiAgbGV0IGVuZERhdGVPZkNhbGVuZGFyID0gZW5kT2ZXZWVrKGVuZERhdGVPZk1vbnRoLCBkYXRlT3B0aW9ucyk7XG4gIGlmIChmaXhlZEhlaWdodCAmJiBkaWZmZXJlbmNlSW5DYWxlbmRhckRheXMoZW5kRGF0ZU9mQ2FsZW5kYXIsIHN0YXJ0RGF0ZU9mQ2FsZW5kYXIpIDw9IDM0KSB7XG4gICAgZW5kRGF0ZU9mQ2FsZW5kYXIgPSBhZGREYXlzKGVuZERhdGVPZkNhbGVuZGFyLCA3KTtcbiAgfVxuICByZXR1cm4ge1xuICAgIHN0YXJ0OiBzdGFydERhdGVPZkNhbGVuZGFyLFxuICAgIGVuZDogZW5kRGF0ZU9mQ2FsZW5kYXIsXG4gICAgc3RhcnREYXRlT2ZNb250aCxcbiAgICBlbmREYXRlT2ZNb250aCxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlU3R5bGVzKHNvdXJjZXM6IFBhcnRpYWw8U3R5bGVzVHlwZT5bXSkge1xuICBpZiAoIXNvdXJjZXMubGVuZ3RoKSByZXR1cm4ge307XG4gIGNvbnN0IGdlbmVyYXRlZFN0eWxlcyA9IHNvdXJjZXNcbiAgICAuZmlsdGVyKHNvdXJjZSA9PiBCb29sZWFuKHNvdXJjZSkpXG4gICAgLnJlZHVjZSgoc3R5bGVzLCBzdHlsZVNvdXJjZSkgPT4ge1xuICAgICAgT2JqZWN0LmtleXMoc3R5bGVTb3VyY2UpLmZvckVhY2goa2V5ID0+IHtcbiAgICAgICAgc3R5bGVzW2tleV0gPSBjbGFzc25hbWVzKHN0eWxlc1trZXldLCBzdHlsZVNvdXJjZVtrZXldKTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHN0eWxlcztcbiAgICB9LCB7fSk7XG4gIHJldHVybiBnZW5lcmF0ZWRTdHlsZXM7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLElBQUFBLFdBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFFBQUEsR0FBQUQsT0FBQTtBQVNrQixTQUFBRCx1QkFBQUcsR0FBQSxXQUFBQSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxHQUFBRCxHQUFBLEtBQUFFLE9BQUEsRUFBQUYsR0FBQTtBQUlYLFNBQVNHLGFBQWFBLENBQUNDLGtCQUF3QixFQUFFQyxTQUFnQixFQUFFQyxJQUFXLEVBQUVDLE1BQWUsRUFBRUMsTUFBb0IsRUFBRUMsWUFBdUIsRUFBRUMsV0FBa0MsRUFBRTtFQUN6TDtFQUNBLElBQUlDLGNBQXlCO0VBQzdCLElBQUlELFdBQVcsS0FBSyxXQUFXLEVBQUU7SUFDL0IsTUFBTUUsS0FBSyxHQUFHSixNQUFNLENBQUNDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNyQ0UsY0FBYyxHQUFHO01BQ2ZFLFNBQVMsRUFBRUQsS0FBSyxFQUFFQyxTQUFTO01BQzNCQyxPQUFPLEVBQUVGLEtBQUssRUFBRUU7SUFDbEIsQ0FBQztFQUNILENBQUMsTUFBTTtJQUNMSCxjQUFjLEdBQUc7TUFDZkUsU0FBUyxFQUFFUCxJQUFJO01BQ2ZRLE9BQU8sRUFBRVI7SUFDWCxDQUFDO0VBQ0g7RUFDQUssY0FBYyxDQUFDRSxTQUFTLEdBQUcsSUFBQUUscUJBQVksRUFBQ0osY0FBYyxDQUFDRSxTQUFTLElBQUksSUFBSUcsSUFBSSxDQUFDLENBQUMsQ0FBQztFQUMvRUwsY0FBYyxDQUFDRyxPQUFPLEdBQUcsSUFBQUcsbUJB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 |
{ | ||
"name": "@iroomit/react-date-range", | ||
"version": "3.0.0-alpha.1", | ||
"version": "3.0.0", | ||
"description": "A React component for choosing dates and date ranges.", | ||
@@ -84,3 +84,3 @@ "main": "dist/index.js", | ||
"postcss-import": "^16.0.0", | ||
"postcss-loader": "^7.3.4", | ||
"postcss-loader": "^8.0.0", | ||
"prettier": "^3.1.1", | ||
@@ -87,0 +87,0 @@ "react": "^18.0.0", |
# @iroomit/react-date-range | ||
[![npm](https://img.shields.io/npm/v/react-date-range)](https://www.npmjs.com/package/react-date-range) | ||
[![npm](https://img.shields.io/npm/l/react-date-range)]() | ||
[![npm](https://img.shields.io/npm/dw/react-date-range)](https://www.npmjs.com/package/react-date-range) | ||
[![sponsors](https://img.shields.io/github/sponsors/hypeserver)](https://github.com/sponsors/hypeserver) | ||
[![npm](https://img.shields.io/npm/v/@iroomit/react-date-range)](https://www.npmjs.com/package/@iroomit/react-date-range) | ||
[![npm](https://img.shields.io/npm/l/@iroomit/react-date-range)]() | ||
[![npm](https://img.shields.io/npm/dw/@iroomit/react-date-range)](https://www.npmjs.com/package/react-date-range) | ||
@@ -14,4 +13,6 @@ | ||
This fork aims at keeping this project alive. Dependencies have been upgraded, class components updated to function components and the entire project has been rewritten in TypeScript. Some of the code has also been optimized further with newer React features. | ||
This fork aims at keeping this project alive! | ||
Dependencies have been upgraded, class components updated to function components and the entire project has been rewritten in TypeScript. Some of the code has also been optimized further with newer React features. | ||
### Why should you use `@iroomit/react-date-range`? | ||
@@ -26,8 +27,9 @@ | ||
- Keyboard friendly | ||
- TypeScript support | ||
- Built-in TypeScript support | ||
**Live Demo :** [http://hypeserver.github.io/react-date-range](http://hypeserver.github.io/react-date-range) | ||
**Live Demo :** [http://iroomitapp.github.io/react-date-range](http://iroomitapp.github.io/react-date-range) | ||
![](https://raw.githubusercontent.com/hypeserver/react-date-range/master/demo/ss.png) | ||
![](https://raw.githubusercontent.com/iroomitapp/react-date-range/master/demo/ss.png) | ||
`@iroomit/react-date-range` is also used in production on [iROOMit Roommates & Rooms Finder website](https://www.iroomit.com/). | ||
@@ -60,2 +62,8 @@ ## Getting Started | ||
or | ||
``` | ||
yarn add react date-fns | ||
``` | ||
## Usage | ||
@@ -168,4 +176,4 @@ | ||
renderStaticRangeLabel(`DefinedRange`)| Function | | Callback function to be triggered for the static range configurations that have `hasCustomRendering: true` on them. Instead of rendering `staticRange.label`, return value of this callback will be rendered. | ||
staticRanges(`DefinedRange`, `DateRangePicker`) | Array | [default preDefined ranges](https://github.com/hypeserver/react-date-range/blob/master/src/defaultRanges.js) | - | ||
inputRanges(`DefinedRange`, `DateRangePicker`) | Array | [default input ranges](https://github.com/hypeserver/react-date-range/blob/master/src/defaultRanges.js) | - | ||
staticRanges(`DefinedRange`, `DateRangePicker`) | Array | [default preDefined ranges](https://github.com/iroomitapp/react-date-range/blob/master/src/defaultRanges.ts) | - | ||
inputRanges(`DefinedRange`, `DateRangePicker`) | Array | [default input ranges](https://github.com/iroomitapp/react-date-range/blob/master/src/defaultRanges.ts) | - | ||
ariaLabels | Object | {} | inserts aria-label to inner elements | ||
@@ -172,0 +180,0 @@ dayContentRenderer | Function | null | Function to customize the rendering of Calendar Day. given a date is supposed to return what to render. |
@@ -1,5 +0,5 @@ | ||
export { default as DateRange } from './components/DateRange'; | ||
export { default as Calendar } from './components/Calendar'; | ||
export { default as DateRangePicker } from './components/DateRangePicker'; | ||
export { default as DateRange, type DateRangeProps } from './components/DateRange'; | ||
export { default as Calendar, type CalendarProps } from './components/Calendar'; | ||
export { default as DateRangePicker, type DateRangePickerProps } from './components/DateRangePicker'; | ||
export { default as DefinedRange } from './components/DefinedRange'; | ||
export { defaultInputRanges, defaultStaticRanges, createStaticRanges } from './defaultRanges'; |
@@ -17,18 +17,18 @@ import classnames from 'classnames'; | ||
// find primary date according the props | ||
let targetInterval; | ||
let targetInterval: DateRange; | ||
if (displayMode === 'dateRange') { | ||
const range = ranges[focusedRange[0]]; | ||
targetInterval = { | ||
start: range?.startDate, | ||
end: range?.endDate, | ||
startDate: range?.startDate, | ||
endDate: range?.endDate, | ||
}; | ||
} else { | ||
targetInterval = { | ||
start: date, | ||
end: date, | ||
startDate: date, | ||
endDate: date, | ||
}; | ||
} | ||
targetInterval.start = startOfMonth(targetInterval.start || new Date()); | ||
targetInterval.end = endOfMonth(targetInterval.end || targetInterval.start); | ||
const targetDate = targetInterval.start || targetInterval.end || shownDate || new Date(); | ||
targetInterval.startDate = startOfMonth(targetInterval.startDate || new Date()); | ||
targetInterval.endDate = endOfMonth(targetInterval.endDate || targetInterval.startDate); | ||
const targetDate = targetInterval.startDate || targetInterval.endDate || shownDate || new Date(); | ||
@@ -40,3 +40,3 @@ // initial focus | ||
// if (scroll.enabled) return targetDate; | ||
if (differenceInCalendarMonths(targetInterval.start, targetInterval.end) > months) { | ||
if (differenceInCalendarMonths(targetInterval.startDate, targetInterval.endDate) > months) { | ||
// don't change focused if new selection in view area | ||
@@ -43,0 +43,0 @@ return currentFocusedDate; |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
476924
1
239