@birdnet/advanced-react-dates 0.0.0-stage → 1.0.0
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/.babelrc +67 -0
- package/.eslintrc +66 -0
- package/.nvmrc +1 -0
- package/.nyc_output/4d8efcd220c2aec1f2b4ffd49d875001.json +1 -0
- package/.nyc_output/66d34779498a5d49bcf9d757dfc7fdb5.json +1 -0
- package/.nyc_output/8ca7e04140934515928bc7d4ae476b73.json +1 -0
- package/.nyc_output/afc270bb597bfc50e690436959c2ae54.json +1 -0
- package/.nycrc +19 -0
- package/.travis.yml +13 -0
- package/CHANGELOG.md +665 -0
- package/CLAUDE.md +56 -0
- package/INTHEWILD.md +9 -0
- package/LICENSE +21 -0
- package/README.md +421 -2
- package/constants.js +2 -0
- package/esm/components/CalendarDay.js +321 -0
- package/esm/components/CalendarIcon.js +11 -0
- package/esm/components/CalendarMonth.js +254 -0
- package/esm/components/CalendarMonthGrid.js +365 -0
- package/esm/components/CalendarWeek.js +11 -0
- package/esm/components/ChevronDown.js +11 -0
- package/esm/components/ChevronUp.js +11 -0
- package/esm/components/CloseButton.js +12 -0
- package/esm/components/CustomizableCalendarDay.js +341 -0
- package/esm/components/DateInput.js +344 -0
- package/esm/components/DateRangePicker.js +647 -0
- package/esm/components/DateRangePickerInput.js +341 -0
- package/esm/components/DateRangePickerInputController.js +348 -0
- package/esm/components/DayPicker.js +1167 -0
- package/esm/components/DayPickerKeyboardShortcuts.js +364 -0
- package/esm/components/DayPickerNavigation.js +314 -0
- package/esm/components/DayPickerRangeController.js +1202 -0
- package/esm/components/DayPickerSingleDateController.js +690 -0
- package/esm/components/KeyboardShortcutRow.js +69 -0
- package/esm/components/LeftArrow.js +11 -0
- package/esm/components/RightArrow.js +11 -0
- package/esm/components/SingleDatePicker.js +605 -0
- package/esm/components/SingleDatePickerInput.js +264 -0
- package/esm/components/SingleDatePickerInputController.js +260 -0
- package/esm/constants.js +28 -0
- package/esm/defaultPhrases.js +225 -0
- package/esm/index.js +20 -0
- package/esm/initialize.js +2 -0
- package/esm/shapes/AnchorDirectionShape.js +3 -0
- package/esm/shapes/CalendarInfoPositionShape.js +3 -0
- package/esm/shapes/DateRangePickerShape.js +101 -0
- package/esm/shapes/DayOfWeekShape.js +3 -0
- package/esm/shapes/DisabledShape.js +3 -0
- package/esm/shapes/FocusedInputShape.js +3 -0
- package/esm/shapes/IconPositionShape.js +3 -0
- package/esm/shapes/ModifiersShape.js +18 -0
- package/esm/shapes/NavPositionShape.js +3 -0
- package/esm/shapes/OpenDirectionShape.js +3 -0
- package/esm/shapes/OrientationShape.js +3 -0
- package/esm/shapes/ScrollableOrientationShape.js +3 -0
- package/esm/shapes/SingleDatePickerShape.js +90 -0
- package/esm/theme/DefaultTheme.js +176 -0
- package/esm/utils/calculateDimension.js +28 -0
- package/esm/utils/disableScroll.js +67 -0
- package/esm/utils/getActiveElement.js +3 -0
- package/esm/utils/getCalendarDaySettings.js +48 -0
- package/esm/utils/getCalendarMonthWeeks.js +37 -0
- package/esm/utils/getCalendarMonthWidth.js +4 -0
- package/esm/utils/getDetachedContainerStyles.js +36 -0
- package/esm/utils/getInputHeight.js +42 -0
- package/esm/utils/getNumberOfCalendarMonthWeeks.js +11 -0
- package/esm/utils/getPhrase.js +7 -0
- package/esm/utils/getPhrasePropTypes.js +9 -0
- package/esm/utils/getPooledMoment.js +8 -0
- package/esm/utils/getPreviousMonthMemoLast.js +9 -0
- package/esm/utils/getResponsiveContainerStyles.js +8 -0
- package/esm/utils/getSelectedDateOffset.js +8 -0
- package/esm/utils/getTransformStyles.js +8 -0
- package/esm/utils/getVisibleDays.js +42 -0
- package/esm/utils/isAfterDay.js +7 -0
- package/esm/utils/isBeforeDay.js +13 -0
- package/esm/utils/isDayVisible.js +38 -0
- package/esm/utils/isInclusivelyAfterDay.js +6 -0
- package/esm/utils/isInclusivelyBeforeDay.js +6 -0
- package/esm/utils/isNextDay.js +7 -0
- package/esm/utils/isNextMonth.js +6 -0
- package/esm/utils/isPrevMonth.js +6 -0
- package/esm/utils/isPreviousDay.js +7 -0
- package/esm/utils/isSameDay.js +7 -0
- package/esm/utils/isSameMonth.js +7 -0
- package/esm/utils/isTransitionEndSupported.js +3 -0
- package/esm/utils/modifiers.js +94 -0
- package/esm/utils/noflip.js +10 -0
- package/esm/utils/registerCSSInterfaceWithDefaultTheme.js +5 -0
- package/esm/utils/registerInterfaceWithDefaultTheme.js +6 -0
- package/esm/utils/toISODateString.js +12 -0
- package/esm/utils/toISOMonthString.js +12 -0
- package/esm/utils/toLocalizedDateString.js +8 -0
- package/esm/utils/toMomentObject.js +7 -0
- package/index.js +2 -0
- package/initialize.js +2 -0
- package/karma.conf.js +82 -0
- package/lib/components/CalendarDay.js +327 -0
- package/lib/components/CalendarIcon.js +18 -0
- package/lib/components/CalendarMonth.js +259 -0
- package/lib/components/CalendarMonthGrid.js +372 -0
- package/lib/components/CalendarWeek.js +18 -0
- package/lib/components/ChevronDown.js +18 -0
- package/lib/components/ChevronUp.js +18 -0
- package/lib/components/CloseButton.js +19 -0
- package/lib/components/CustomizableCalendarDay.js +347 -0
- package/lib/components/DateInput.js +351 -0
- package/lib/components/DateRangePicker.js +653 -0
- package/lib/components/DateRangePickerInput.js +348 -0
- package/lib/components/DateRangePickerInputController.js +354 -0
- package/lib/components/DayPicker.js +1175 -0
- package/lib/components/DayPickerKeyboardShortcuts.js +371 -0
- package/lib/components/DayPickerNavigation.js +321 -0
- package/lib/components/DayPickerRangeController.js +1208 -0
- package/lib/components/DayPickerSingleDateController.js +695 -0
- package/lib/components/KeyboardShortcutRow.js +76 -0
- package/lib/components/LeftArrow.js +18 -0
- package/lib/components/RightArrow.js +18 -0
- package/lib/components/SingleDatePicker.js +611 -0
- package/lib/components/SingleDatePickerInput.js +271 -0
- package/lib/components/SingleDatePickerInputController.js +266 -0
- package/lib/constants.js +34 -0
- package/lib/css/_datepicker.css +886 -0
- package/lib/defaultPhrases.js +231 -0
- package/lib/index.js +146 -0
- package/lib/initialize.js +5 -0
- package/lib/shapes/AnchorDirectionShape.js +10 -0
- package/lib/shapes/CalendarInfoPositionShape.js +10 -0
- package/lib/shapes/DateRangePickerShape.js +108 -0
- package/lib/shapes/DayOfWeekShape.js +10 -0
- package/lib/shapes/DisabledShape.js +10 -0
- package/lib/shapes/FocusedInputShape.js +10 -0
- package/lib/shapes/IconPositionShape.js +10 -0
- package/lib/shapes/ModifiersShape.js +25 -0
- package/lib/shapes/NavPositionShape.js +10 -0
- package/lib/shapes/OpenDirectionShape.js +10 -0
- package/lib/shapes/OrientationShape.js +10 -0
- package/lib/shapes/ScrollableOrientationShape.js +10 -0
- package/lib/shapes/SingleDatePickerShape.js +97 -0
- package/lib/theme/DefaultTheme.js +182 -0
- package/lib/utils/calculateDimension.js +34 -0
- package/lib/utils/disableScroll.js +75 -0
- package/lib/utils/getActiveElement.js +9 -0
- package/lib/utils/getCalendarDaySettings.js +55 -0
- package/lib/utils/getCalendarMonthWeeks.js +44 -0
- package/lib/utils/getCalendarMonthWidth.js +10 -0
- package/lib/utils/getDetachedContainerStyles.js +41 -0
- package/lib/utils/getInputHeight.js +48 -0
- package/lib/utils/getNumberOfCalendarMonthWeeks.js +18 -0
- package/lib/utils/getPhrase.js +13 -0
- package/lib/utils/getPhrasePropTypes.js +16 -0
- package/lib/utils/getPooledMoment.js +15 -0
- package/lib/utils/getPreviousMonthMemoLast.js +15 -0
- package/lib/utils/getResponsiveContainerStyles.js +15 -0
- package/lib/utils/getSelectedDateOffset.js +14 -0
- package/lib/utils/getTransformStyles.js +14 -0
- package/lib/utils/getVisibleDays.js +49 -0
- package/lib/utils/isAfterDay.js +14 -0
- package/lib/utils/isBeforeDay.js +20 -0
- package/lib/utils/isDayVisible.js +45 -0
- package/lib/utils/isInclusivelyAfterDay.js +13 -0
- package/lib/utils/isInclusivelyBeforeDay.js +13 -0
- package/lib/utils/isNextDay.js +14 -0
- package/lib/utils/isNextMonth.js +13 -0
- package/lib/utils/isPrevMonth.js +13 -0
- package/lib/utils/isPreviousDay.js +14 -0
- package/lib/utils/isSameDay.js +14 -0
- package/lib/utils/isSameMonth.js +14 -0
- package/lib/utils/isTransitionEndSupported.js +9 -0
- package/lib/utils/modifiers.js +102 -0
- package/lib/utils/noflip.js +16 -0
- package/lib/utils/registerCSSInterfaceWithDefaultTheme.js +12 -0
- package/lib/utils/registerInterfaceWithDefaultTheme.js +13 -0
- package/lib/utils/toISODateString.js +19 -0
- package/lib/utils/toISOMonthString.js +19 -0
- package/lib/utils/toLocalizedDateString.js +15 -0
- package/lib/utils/toMomentObject.js +14 -0
- package/package.json +141 -4
- package/scripts/.eslintrc +7 -0
- package/scripts/buildCSS.js +37 -0
- package/scripts/pure-component-fallback.js +70 -0
- package/scripts/renderAllComponents.jsx +25 -0
- package/src/components/CalendarDay.jsx +366 -0
- package/src/components/CalendarIcon.jsx +3 -0
- package/src/components/CalendarMonth.jsx +300 -0
- package/src/components/CalendarMonthGrid.jsx +427 -0
- package/src/components/CalendarWeek.jsx +17 -0
- package/src/components/ChevronDown.jsx +3 -0
- package/src/components/ChevronUp.jsx +3 -0
- package/src/components/CloseButton.jsx +3 -0
- package/src/components/CustomizableCalendarDay.jsx +382 -0
- package/src/components/DateInput.jsx +401 -0
- package/src/components/DateRangePicker.jsx +777 -0
- package/src/components/DateRangePickerInput.jsx +434 -0
- package/src/components/DateRangePickerInputController.jsx +379 -0
- package/src/components/DayPicker.jsx +1407 -0
- package/src/components/DayPickerKeyboardShortcuts.jsx +443 -0
- package/src/components/DayPickerNavigation.jsx +445 -0
- package/src/components/DayPickerRangeController.jsx +1409 -0
- package/src/components/DayPickerSingleDateController.jsx +769 -0
- package/src/components/KeyboardShortcutRow.jsx +93 -0
- package/src/components/LeftArrow.jsx +3 -0
- package/src/components/RightArrow.jsx +3 -0
- package/src/components/SingleDatePicker.jsx +731 -0
- package/src/components/SingleDatePickerInput.jsx +329 -0
- package/src/components/SingleDatePickerInputController.jsx +280 -0
- package/src/constants.js +37 -0
- package/src/defaultPhrases.js +215 -0
- package/src/index.js +20 -0
- package/src/initialize.js +3 -0
- package/src/shapes/AnchorDirectionShape.js +8 -0
- package/src/shapes/CalendarInfoPositionShape.js +15 -0
- package/src/shapes/DateRangePickerShape.js +111 -0
- package/src/shapes/DayOfWeekShape.js +5 -0
- package/src/shapes/DisabledShape.js +5 -0
- package/src/shapes/FocusedInputShape.js +8 -0
- package/src/shapes/IconPositionShape.js +8 -0
- package/src/shapes/ModifiersShape.js +20 -0
- package/src/shapes/NavPositionShape.js +8 -0
- package/src/shapes/OpenDirectionShape.js +8 -0
- package/src/shapes/OrientationShape.js +8 -0
- package/src/shapes/ScrollableOrientationShape.js +13 -0
- package/src/shapes/SingleDatePickerShape.js +100 -0
- package/src/svg/arrow-left.svg +1 -0
- package/src/svg/arrow-right.svg +1 -0
- package/src/svg/calendar.svg +1 -0
- package/src/svg/chevron-down.svg +1 -0
- package/src/svg/chevron-up.svg +1 -0
- package/src/svg/close.svg +1 -0
- package/src/theme/DefaultTheme.js +196 -0
- package/src/utils/calculateDimension.js +32 -0
- package/src/utils/disableScroll.js +65 -0
- package/src/utils/getActiveElement.js +3 -0
- package/src/utils/getCalendarDaySettings.js +61 -0
- package/src/utils/getCalendarMonthWeeks.js +49 -0
- package/src/utils/getCalendarMonthWidth.js +3 -0
- package/src/utils/getDetachedContainerStyles.js +39 -0
- package/src/utils/getInputHeight.js +67 -0
- package/src/utils/getNumberOfCalendarMonthWeeks.js +15 -0
- package/src/utils/getPhrase.jsx +9 -0
- package/src/utils/getPhrasePropTypes.js +9 -0
- package/src/utils/getPooledMoment.js +10 -0
- package/src/utils/getPreviousMonthMemoLast.js +11 -0
- package/src/utils/getResponsiveContainerStyles.js +18 -0
- package/src/utils/getSelectedDateOffset.js +6 -0
- package/src/utils/getTransformStyles.js +8 -0
- package/src/utils/getVisibleDays.js +54 -0
- package/src/utils/isAfterDay.js +9 -0
- package/src/utils/isBeforeDay.js +18 -0
- package/src/utils/isDayVisible.js +57 -0
- package/src/utils/isInclusivelyAfterDay.js +8 -0
- package/src/utils/isInclusivelyBeforeDay.js +8 -0
- package/src/utils/isNextDay.js +9 -0
- package/src/utils/isNextMonth.js +8 -0
- package/src/utils/isPrevMonth.js +8 -0
- package/src/utils/isPreviousDay.js +9 -0
- package/src/utils/isSameDay.js +10 -0
- package/src/utils/isSameMonth.js +9 -0
- package/src/utils/isTransitionEndSupported.js +3 -0
- package/src/utils/modifiers.js +116 -0
- package/src/utils/noflip.js +11 -0
- package/src/utils/registerCSSInterfaceWithDefaultTheme.js +7 -0
- package/src/utils/registerInterfaceWithDefaultTheme.js +7 -0
- package/src/utils/toISODateString.js +14 -0
- package/src/utils/toISOMonthString.js +14 -0
- package/src/utils/toLocalizedDateString.js +12 -0
- package/src/utils/toMomentObject.js +12 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import moment from 'moment';
|
|
2
|
+
export default function isSameDay(a, b) {
|
|
3
|
+
if (!moment.isMoment(a) || !moment.isMoment(b)) return false;
|
|
4
|
+
// Compare least significant, most likely to change units first
|
|
5
|
+
// Moment's isSame clones moment inputs and is a tad slow
|
|
6
|
+
return a.date() === b.date() && a.month() === b.month() && a.year() === b.year();
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import moment from 'moment';
|
|
2
|
+
export default function isSameMonth(a, b) {
|
|
3
|
+
if (!moment.isMoment(a) || !moment.isMoment(b)) return false;
|
|
4
|
+
// Compare least significant, most likely to change units first
|
|
5
|
+
// Moment's isSame clones moment inputs and is a tad slow
|
|
6
|
+
return a.month() === b.month() && a.year() === b.year();
|
|
7
|
+
}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
2
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4
|
+
import isDayVisible from './isDayVisible';
|
|
5
|
+
import toISODateString from './toISODateString';
|
|
6
|
+
import toISOMonthString from './toISOMonthString';
|
|
7
|
+
import getPreviousMonthMemoLast from './getPreviousMonthMemoLast';
|
|
8
|
+
import { VERTICAL_SCROLLABLE } from '../constants';
|
|
9
|
+
export function addModifier(updatedDays, day, modifier, props, state) {
|
|
10
|
+
var numberOfVisibleMonths = props.numberOfMonths,
|
|
11
|
+
enableOutsideDays = props.enableOutsideDays,
|
|
12
|
+
orientation = props.orientation;
|
|
13
|
+
var firstVisibleMonth = state.currentMonth,
|
|
14
|
+
visibleDays = state.visibleDays;
|
|
15
|
+
var currentMonth = firstVisibleMonth;
|
|
16
|
+
var numberOfMonths = numberOfVisibleMonths;
|
|
17
|
+
if (orientation === VERTICAL_SCROLLABLE) {
|
|
18
|
+
numberOfMonths = Object.keys(visibleDays).length;
|
|
19
|
+
} else {
|
|
20
|
+
currentMonth = getPreviousMonthMemoLast(currentMonth);
|
|
21
|
+
numberOfMonths += 2;
|
|
22
|
+
}
|
|
23
|
+
if (!day || !isDayVisible(day, currentMonth, numberOfMonths, enableOutsideDays)) {
|
|
24
|
+
return updatedDays;
|
|
25
|
+
}
|
|
26
|
+
var iso = toISODateString(day);
|
|
27
|
+
var updatedDaysAfterAddition = _objectSpread({}, updatedDays);
|
|
28
|
+
if (enableOutsideDays) {
|
|
29
|
+
var monthsToUpdate = Object.keys(visibleDays).filter(function (monthKey) {
|
|
30
|
+
return Object.keys(visibleDays[monthKey]).indexOf(iso) > -1;
|
|
31
|
+
});
|
|
32
|
+
updatedDaysAfterAddition = monthsToUpdate.reduce(function (acc, monthIso) {
|
|
33
|
+
var month = updatedDays[monthIso] || visibleDays[monthIso];
|
|
34
|
+
if (!month[iso] || !month[iso].has(modifier)) {
|
|
35
|
+
var modifiers = new Set(month[iso]);
|
|
36
|
+
modifiers.add(modifier);
|
|
37
|
+
acc[monthIso] = _objectSpread(_objectSpread({}, month), {}, _defineProperty({}, iso, modifiers));
|
|
38
|
+
}
|
|
39
|
+
return acc;
|
|
40
|
+
}, updatedDaysAfterAddition);
|
|
41
|
+
} else {
|
|
42
|
+
var monthIso = toISOMonthString(day);
|
|
43
|
+
var month = updatedDays[monthIso] || visibleDays[monthIso] || {};
|
|
44
|
+
if (!month[iso] || !month[iso].has(modifier)) {
|
|
45
|
+
var modifiers = new Set(month[iso]);
|
|
46
|
+
modifiers.add(modifier);
|
|
47
|
+
updatedDaysAfterAddition[monthIso] = _objectSpread(_objectSpread({}, month), {}, _defineProperty({}, iso, modifiers));
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
return updatedDaysAfterAddition;
|
|
51
|
+
}
|
|
52
|
+
export function deleteModifier(updatedDays, day, modifier, props, state) {
|
|
53
|
+
var numberOfVisibleMonths = props.numberOfMonths,
|
|
54
|
+
enableOutsideDays = props.enableOutsideDays,
|
|
55
|
+
orientation = props.orientation;
|
|
56
|
+
var firstVisibleMonth = state.currentMonth,
|
|
57
|
+
visibleDays = state.visibleDays;
|
|
58
|
+
var currentMonth = firstVisibleMonth;
|
|
59
|
+
var numberOfMonths = numberOfVisibleMonths;
|
|
60
|
+
if (orientation === VERTICAL_SCROLLABLE) {
|
|
61
|
+
numberOfMonths = Object.keys(visibleDays).length;
|
|
62
|
+
} else {
|
|
63
|
+
currentMonth = getPreviousMonthMemoLast(currentMonth);
|
|
64
|
+
numberOfMonths += 2;
|
|
65
|
+
}
|
|
66
|
+
if (!day || !isDayVisible(day, currentMonth, numberOfMonths, enableOutsideDays)) {
|
|
67
|
+
return updatedDays;
|
|
68
|
+
}
|
|
69
|
+
var iso = toISODateString(day);
|
|
70
|
+
var updatedDaysAfterDeletion = _objectSpread({}, updatedDays);
|
|
71
|
+
if (enableOutsideDays) {
|
|
72
|
+
var monthsToUpdate = Object.keys(visibleDays).filter(function (monthKey) {
|
|
73
|
+
return Object.keys(visibleDays[monthKey]).indexOf(iso) > -1;
|
|
74
|
+
});
|
|
75
|
+
updatedDaysAfterDeletion = monthsToUpdate.reduce(function (acc, monthIso) {
|
|
76
|
+
var month = updatedDays[monthIso] || visibleDays[monthIso];
|
|
77
|
+
if (month[iso] && month[iso].has(modifier)) {
|
|
78
|
+
var modifiers = new Set(month[iso]);
|
|
79
|
+
modifiers["delete"](modifier);
|
|
80
|
+
acc[monthIso] = _objectSpread(_objectSpread({}, month), {}, _defineProperty({}, iso, modifiers));
|
|
81
|
+
}
|
|
82
|
+
return acc;
|
|
83
|
+
}, updatedDaysAfterDeletion);
|
|
84
|
+
} else {
|
|
85
|
+
var monthIso = toISOMonthString(day);
|
|
86
|
+
var month = updatedDays[monthIso] || visibleDays[monthIso] || {};
|
|
87
|
+
if (month[iso] && month[iso].has(modifier)) {
|
|
88
|
+
var modifiers = new Set(month[iso]);
|
|
89
|
+
modifiers["delete"](modifier);
|
|
90
|
+
updatedDaysAfterDeletion[monthIso] = _objectSpread(_objectSpread({}, month), {}, _defineProperty({}, iso, modifiers));
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
return updatedDaysAfterDeletion;
|
|
94
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
var NOFLIP = '/* @noflip */';
|
|
2
|
+
|
|
3
|
+
// Appends a noflip comment to a style rule in order to prevent it from being automatically
|
|
4
|
+
// flipped in RTL contexts. This should be used only in situations where the style must remain
|
|
5
|
+
// unflipped regardless of direction context. See: https://github.com/kentcdodds/rtl-css-js#usage
|
|
6
|
+
export default function noflip(value) {
|
|
7
|
+
if (typeof value === 'number') return "".concat(value, "px ").concat(NOFLIP);
|
|
8
|
+
if (typeof value === 'string') return "".concat(value, " ").concat(NOFLIP);
|
|
9
|
+
throw new TypeError('noflip expects a string or a number');
|
|
10
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import ThemedStyleSheet from 'react-with-styles/lib/ThemedStyleSheet';
|
|
2
|
+
import DefaultTheme from '../theme/DefaultTheme';
|
|
3
|
+
export default function registerInterfaceWithDefaultTheme(reactWithStylesInterface) {
|
|
4
|
+
ThemedStyleSheet.registerInterface(reactWithStylesInterface);
|
|
5
|
+
ThemedStyleSheet.registerTheme(DefaultTheme);
|
|
6
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import moment from 'moment';
|
|
2
|
+
import toMomentObject from './toMomentObject';
|
|
3
|
+
export default function toISODateString(date, currentFormat) {
|
|
4
|
+
var dateObj = moment.isMoment(date) ? date : toMomentObject(date, currentFormat);
|
|
5
|
+
if (!dateObj) return null;
|
|
6
|
+
|
|
7
|
+
// Template strings compiled in strict mode uses concat, which is slow. Since
|
|
8
|
+
// this code is in a hot path and we want it to be as fast as possible, we
|
|
9
|
+
// want to use old-fashioned +.
|
|
10
|
+
// eslint-disable-next-line prefer-template
|
|
11
|
+
return dateObj.year() + '-' + String(dateObj.month() + 1).padStart(2, '0') + '-' + String(dateObj.date()).padStart(2, '0');
|
|
12
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import moment from 'moment';
|
|
2
|
+
import toMomentObject from './toMomentObject';
|
|
3
|
+
export default function toISOMonthString(date, currentFormat) {
|
|
4
|
+
var dateObj = moment.isMoment(date) ? date : toMomentObject(date, currentFormat);
|
|
5
|
+
if (!dateObj) return null;
|
|
6
|
+
|
|
7
|
+
// Template strings compiled in strict mode uses concat, which is slow. Since
|
|
8
|
+
// this code is in a hot path and we want it to be as fast as possible, we
|
|
9
|
+
// want to use old-fashioned +.
|
|
10
|
+
// eslint-disable-next-line prefer-template
|
|
11
|
+
return dateObj.year() + '-' + String(dateObj.month() + 1).padStart(2, '0');
|
|
12
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import moment from 'moment';
|
|
2
|
+
import toMomentObject from './toMomentObject';
|
|
3
|
+
import { DISPLAY_FORMAT } from '../constants';
|
|
4
|
+
export default function toLocalizedDateString(date, currentFormat) {
|
|
5
|
+
var dateObj = moment.isMoment(date) ? date : toMomentObject(date, currentFormat);
|
|
6
|
+
if (!dateObj) return null;
|
|
7
|
+
return dateObj.format(DISPLAY_FORMAT);
|
|
8
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import moment from 'moment';
|
|
2
|
+
import { DISPLAY_FORMAT, ISO_FORMAT } from '../constants';
|
|
3
|
+
export default function toMomentObject(dateString, customFormat) {
|
|
4
|
+
var dateFormats = customFormat ? [customFormat, DISPLAY_FORMAT, ISO_FORMAT] : [DISPLAY_FORMAT, ISO_FORMAT];
|
|
5
|
+
var date = moment(dateString, dateFormats, true);
|
|
6
|
+
return date.isValid() ? date.hour(12) : null;
|
|
7
|
+
}
|
package/index.js
ADDED
package/initialize.js
ADDED
package/karma.conf.js
ADDED
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/* eslint no-param-reassign:0, import/no-extraneous-dependencies:0 */
|
|
2
|
+
const path = require('path');
|
|
3
|
+
const webpack = require('webpack');
|
|
4
|
+
|
|
5
|
+
module.exports = (config) => {
|
|
6
|
+
config.set({
|
|
7
|
+
basePath: '',
|
|
8
|
+
|
|
9
|
+
frameworks: ['mocha', 'sinon', 'chai'],
|
|
10
|
+
|
|
11
|
+
files: ['test/browser-main.js'],
|
|
12
|
+
|
|
13
|
+
webpack: {
|
|
14
|
+
mode: 'development',
|
|
15
|
+
externals: {
|
|
16
|
+
sinon: true,
|
|
17
|
+
},
|
|
18
|
+
plugins: [
|
|
19
|
+
// https://github.com/cheeriojs/cheerio/issues/836
|
|
20
|
+
new webpack.NormalModuleReplacementPlugin(/^\.\/package$/, (result) => {
|
|
21
|
+
if (/cheerio/.test(result.context)) {
|
|
22
|
+
result.request = './package.json';
|
|
23
|
+
}
|
|
24
|
+
}),
|
|
25
|
+
],
|
|
26
|
+
module: {
|
|
27
|
+
rules: [
|
|
28
|
+
{
|
|
29
|
+
test: /\.jsx?$/,
|
|
30
|
+
loader: 'babel-loader',
|
|
31
|
+
include: [
|
|
32
|
+
path.join(__dirname, 'src'),
|
|
33
|
+
path.join(__dirname, 'test'),
|
|
34
|
+
require.resolve('airbnb-js-shims'),
|
|
35
|
+
],
|
|
36
|
+
options: {
|
|
37
|
+
presets: [
|
|
38
|
+
// setting modules to false so it does not transform twice
|
|
39
|
+
['airbnb', { modules: false }],
|
|
40
|
+
// transform to cjs so sinon can stub properly
|
|
41
|
+
['@babel/preset-env', { modules: 'cjs' }],
|
|
42
|
+
],
|
|
43
|
+
},
|
|
44
|
+
},
|
|
45
|
+
|
|
46
|
+
// Inject the Airbnb shims into the bundle
|
|
47
|
+
{ test: /test\/_helpers/, loader: 'imports-loader?shims=airbnb-js-shims' },
|
|
48
|
+
],
|
|
49
|
+
},
|
|
50
|
+
resolve: {
|
|
51
|
+
extensions: ['.js', '.jsx'],
|
|
52
|
+
},
|
|
53
|
+
},
|
|
54
|
+
|
|
55
|
+
webpackMiddleware: {
|
|
56
|
+
progress: false,
|
|
57
|
+
stats: false,
|
|
58
|
+
debug: false,
|
|
59
|
+
quiet: true,
|
|
60
|
+
},
|
|
61
|
+
|
|
62
|
+
preprocessors: {
|
|
63
|
+
'test/**/*': ['webpack'],
|
|
64
|
+
},
|
|
65
|
+
|
|
66
|
+
reporters: ['progress'],
|
|
67
|
+
|
|
68
|
+
port: 9876,
|
|
69
|
+
|
|
70
|
+
colors: true,
|
|
71
|
+
|
|
72
|
+
logLevel: config.LOG_INFO,
|
|
73
|
+
|
|
74
|
+
autoWatch: false,
|
|
75
|
+
|
|
76
|
+
browsers: ['Firefox'],
|
|
77
|
+
|
|
78
|
+
singleRun: true,
|
|
79
|
+
|
|
80
|
+
concurrency: Infinity,
|
|
81
|
+
});
|
|
82
|
+
};
|
|
@@ -0,0 +1,327 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports["default"] = exports.PureCalendarDay = void 0;
|
|
8
|
+
var _enzymeShallowEqual = _interopRequireDefault(require("enzyme-shallow-equal"));
|
|
9
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
|
+
var _readOnlyError2 = _interopRequireDefault(require("@babel/runtime/helpers/readOnlyError"));
|
|
11
|
+
var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));
|
|
12
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
|
+
var _react = _interopRequireDefault(require("react"));
|
|
14
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
15
|
+
var _reactMomentProptypes = _interopRequireDefault(require("react-moment-proptypes"));
|
|
16
|
+
var _airbnbPropTypes = require("airbnb-prop-types");
|
|
17
|
+
var _reactWithStyles = require("react-with-styles");
|
|
18
|
+
var _moment = _interopRequireDefault(require("moment"));
|
|
19
|
+
var _raf = _interopRequireDefault(require("raf"));
|
|
20
|
+
var _defaultPhrases = require("../defaultPhrases");
|
|
21
|
+
var _getPhrasePropTypes = _interopRequireDefault(require("../utils/getPhrasePropTypes"));
|
|
22
|
+
var _getCalendarDaySettings = _interopRequireDefault(require("../utils/getCalendarDaySettings"));
|
|
23
|
+
var _ModifiersShape = _interopRequireDefault(require("../shapes/ModifiersShape"));
|
|
24
|
+
var _constants = require("../constants");
|
|
25
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
26
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
27
|
+
var propTypes = process.env.NODE_ENV !== "production" ? (0, _airbnbPropTypes.forbidExtraProps)(_objectSpread(_objectSpread({}, _reactWithStyles.withStylesPropTypes), {}, {
|
|
28
|
+
day: _reactMomentProptypes["default"].momentObj,
|
|
29
|
+
daySize: _airbnbPropTypes.nonNegativeInteger,
|
|
30
|
+
isOutsideDay: _propTypes["default"].bool,
|
|
31
|
+
modifiers: _ModifiersShape["default"],
|
|
32
|
+
isFocused: _propTypes["default"].bool,
|
|
33
|
+
tabIndex: _propTypes["default"].oneOf([0, -1]),
|
|
34
|
+
onDayClick: _propTypes["default"].func,
|
|
35
|
+
onDayMouseEnter: _propTypes["default"].func,
|
|
36
|
+
onDayMouseLeave: _propTypes["default"].func,
|
|
37
|
+
renderDayContents: _propTypes["default"].func,
|
|
38
|
+
ariaLabelFormat: _propTypes["default"].string,
|
|
39
|
+
// internationalization
|
|
40
|
+
phrases: _propTypes["default"].shape((0, _getPhrasePropTypes["default"])(_defaultPhrases.CalendarDayPhrases))
|
|
41
|
+
})) : {};
|
|
42
|
+
var defaultProps = {
|
|
43
|
+
day: (0, _moment["default"])(),
|
|
44
|
+
daySize: _constants.DAY_SIZE,
|
|
45
|
+
isOutsideDay: false,
|
|
46
|
+
modifiers: new Set(),
|
|
47
|
+
isFocused: false,
|
|
48
|
+
tabIndex: -1,
|
|
49
|
+
onDayClick: function onDayClick() {},
|
|
50
|
+
onDayMouseEnter: function onDayMouseEnter() {},
|
|
51
|
+
onDayMouseLeave: function onDayMouseLeave() {},
|
|
52
|
+
renderDayContents: null,
|
|
53
|
+
ariaLabelFormat: 'dddd, LL',
|
|
54
|
+
// internationalization
|
|
55
|
+
phrases: _defaultPhrases.CalendarDayPhrases
|
|
56
|
+
};
|
|
57
|
+
var CalendarDay = exports.PureCalendarDay = /*#__PURE__*/function (_ref2, _ref) {
|
|
58
|
+
function CalendarDay() {
|
|
59
|
+
var _this;
|
|
60
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
61
|
+
args[_key] = arguments[_key];
|
|
62
|
+
}
|
|
63
|
+
_this = _ref2.call.apply(_ref2, [this].concat(args)) || this;
|
|
64
|
+
_this.setButtonRef = _this.setButtonRef.bind(_this);
|
|
65
|
+
return _this;
|
|
66
|
+
}
|
|
67
|
+
(0, _inheritsLoose2["default"])(CalendarDay, _ref2);
|
|
68
|
+
var _proto = CalendarDay.prototype;
|
|
69
|
+
_proto[_ref] = function (nextProps, nextState) {
|
|
70
|
+
return !(0, _enzymeShallowEqual["default"])(this.props, nextProps) || !(0, _enzymeShallowEqual["default"])(this.state, nextState);
|
|
71
|
+
};
|
|
72
|
+
_proto.componentDidUpdate = function componentDidUpdate(prevProps) {
|
|
73
|
+
var _this2 = this;
|
|
74
|
+
var _this$props = this.props,
|
|
75
|
+
isFocused = _this$props.isFocused,
|
|
76
|
+
tabIndex = _this$props.tabIndex;
|
|
77
|
+
if (tabIndex === 0) {
|
|
78
|
+
if (isFocused || tabIndex !== prevProps.tabIndex) {
|
|
79
|
+
(0, _raf["default"])(function () {
|
|
80
|
+
if (_this2.buttonRef) {
|
|
81
|
+
_this2.buttonRef.focus();
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
_proto.onDayClick = function onDayClick(day, e) {
|
|
88
|
+
var onDayClick = this.props.onDayClick;
|
|
89
|
+
onDayClick(day, e);
|
|
90
|
+
};
|
|
91
|
+
_proto.onDayMouseEnter = function onDayMouseEnter(day, e) {
|
|
92
|
+
var onDayMouseEnter = this.props.onDayMouseEnter;
|
|
93
|
+
onDayMouseEnter(day, e);
|
|
94
|
+
};
|
|
95
|
+
_proto.onDayMouseLeave = function onDayMouseLeave(day, e) {
|
|
96
|
+
var onDayMouseLeave = this.props.onDayMouseLeave;
|
|
97
|
+
onDayMouseLeave(day, e);
|
|
98
|
+
};
|
|
99
|
+
_proto.onKeyDown = function onKeyDown(day, e) {
|
|
100
|
+
var onDayClick = this.props.onDayClick;
|
|
101
|
+
var key = e.key;
|
|
102
|
+
if (key === 'Enter' || key === ' ') {
|
|
103
|
+
onDayClick(day, e);
|
|
104
|
+
}
|
|
105
|
+
};
|
|
106
|
+
_proto.setButtonRef = function setButtonRef(ref) {
|
|
107
|
+
this.buttonRef = ref;
|
|
108
|
+
};
|
|
109
|
+
_proto.render = function render() {
|
|
110
|
+
var _this3 = this;
|
|
111
|
+
var _this$props2 = this.props,
|
|
112
|
+
day = _this$props2.day,
|
|
113
|
+
ariaLabelFormat = _this$props2.ariaLabelFormat,
|
|
114
|
+
daySize = _this$props2.daySize,
|
|
115
|
+
isOutsideDay = _this$props2.isOutsideDay,
|
|
116
|
+
modifiers = _this$props2.modifiers,
|
|
117
|
+
renderDayContents = _this$props2.renderDayContents,
|
|
118
|
+
tabIndex = _this$props2.tabIndex,
|
|
119
|
+
css = _this$props2.css,
|
|
120
|
+
styles = _this$props2.styles,
|
|
121
|
+
phrases = _this$props2.phrases;
|
|
122
|
+
|
|
123
|
+
// empty placeholder cell (no day to render); nothing to label
|
|
124
|
+
// eslint-disable-next-line jsx-a11y/control-has-associated-label
|
|
125
|
+
if (!day) return /*#__PURE__*/_react["default"].createElement("td", null);
|
|
126
|
+
var _getCalendarDaySettin = (0, _getCalendarDaySettings["default"])(day, ariaLabelFormat, daySize, modifiers, phrases),
|
|
127
|
+
daySizeStyles = _getCalendarDaySettin.daySizeStyles,
|
|
128
|
+
useDefaultCursor = _getCalendarDaySettin.useDefaultCursor,
|
|
129
|
+
selected = _getCalendarDaySettin.selected,
|
|
130
|
+
hoveredSpan = _getCalendarDaySettin.hoveredSpan,
|
|
131
|
+
isOutsideRange = _getCalendarDaySettin.isOutsideRange,
|
|
132
|
+
ariaLabel = _getCalendarDaySettin.ariaLabel;
|
|
133
|
+
return /*#__PURE__*/_react["default"].createElement("td", (0, _extends2["default"])({}, css(styles.CalendarDay, useDefaultCursor && styles.CalendarDay__defaultCursor, styles.CalendarDay__default, isOutsideDay && styles.CalendarDay__outside, modifiers.has('today') && styles.CalendarDay__today, modifiers.has('first-day-of-week') && styles.CalendarDay__firstDayOfWeek, modifiers.has('last-day-of-week') && styles.CalendarDay__lastDayOfWeek, modifiers.has('hovered-offset') && styles.CalendarDay__hovered_offset, modifiers.has('hovered-start-first-possible-end') && styles.CalendarDay__hovered_start_first_possible_end, modifiers.has('hovered-start-blocked-minimum-nights') && styles.CalendarDay__hovered_start_blocked_min_nights, modifiers.has('highlighted-calendar') && styles.CalendarDay__highlighted_calendar, modifiers.has('blocked-minimum-nights') && styles.CalendarDay__blocked_minimum_nights, modifiers.has('blocked-calendar') && styles.CalendarDay__blocked_calendar, hoveredSpan && styles.CalendarDay__hovered_span, modifiers.has('after-hovered-start') && styles.CalendarDay__after_hovered_start, modifiers.has('selected-span') && styles.CalendarDay__selected_span, modifiers.has('selected-start') && styles.CalendarDay__selected_start, modifiers.has('selected-end') && styles.CalendarDay__selected_end, selected && !modifiers.has('selected-span') && styles.CalendarDay__selected, modifiers.has('before-hovered-end') && styles.CalendarDay__before_hovered_end, modifiers.has('no-selected-start-before-selected-end') && styles.CalendarDay__no_selected_start_before_selected_end, modifiers.has('selected-start-in-hovered-span') && styles.CalendarDay__selected_start_in_hovered_span, modifiers.has('selected-end-in-hovered-span') && styles.CalendarDay__selected_end_in_hovered_span, modifiers.has('selected-start-no-selected-end') && styles.CalendarDay__selected_start_no_selected_end, modifiers.has('selected-end-no-selected-start') && styles.CalendarDay__selected_end_no_selected_start, isOutsideRange && styles.CalendarDay__blocked_out_of_range, daySizeStyles), {
|
|
134
|
+
role: "button" // eslint-disable-line jsx-a11y/no-noninteractive-element-to-interactive-role
|
|
135
|
+
,
|
|
136
|
+
ref: this.setButtonRef,
|
|
137
|
+
"aria-disabled": modifiers.has('blocked')
|
|
138
|
+
}, modifiers.has('today') ? {
|
|
139
|
+
'aria-current': 'date'
|
|
140
|
+
} : {}, {
|
|
141
|
+
"aria-label": ariaLabel,
|
|
142
|
+
onMouseEnter: function onMouseEnter(e) {
|
|
143
|
+
_this3.onDayMouseEnter(day, e);
|
|
144
|
+
},
|
|
145
|
+
onMouseLeave: function onMouseLeave(e) {
|
|
146
|
+
_this3.onDayMouseLeave(day, e);
|
|
147
|
+
},
|
|
148
|
+
onMouseUp: function onMouseUp(e) {
|
|
149
|
+
e.currentTarget.blur();
|
|
150
|
+
},
|
|
151
|
+
onClick: function onClick(e) {
|
|
152
|
+
_this3.onDayClick(day, e);
|
|
153
|
+
},
|
|
154
|
+
onKeyDown: function onKeyDown(e) {
|
|
155
|
+
_this3.onKeyDown(day, e);
|
|
156
|
+
},
|
|
157
|
+
tabIndex: tabIndex
|
|
158
|
+
}), renderDayContents ? renderDayContents(day, modifiers) : day.format('D'));
|
|
159
|
+
};
|
|
160
|
+
return CalendarDay;
|
|
161
|
+
}(_react["default"].PureComponent || _react["default"].Component, !_react["default"].PureComponent && "shouldComponentUpdate");
|
|
162
|
+
CalendarDay.propTypes = process.env.NODE_ENV !== "production" ? propTypes : {};
|
|
163
|
+
CalendarDay.defaultProps = defaultProps;
|
|
164
|
+
var _default = exports["default"] = (0, _reactWithStyles.withStyles)(function (_ref3) {
|
|
165
|
+
var _ref3$reactDates = _ref3.reactDates,
|
|
166
|
+
color = _ref3$reactDates.color,
|
|
167
|
+
font = _ref3$reactDates.font;
|
|
168
|
+
return {
|
|
169
|
+
CalendarDay: {
|
|
170
|
+
boxSizing: 'border-box',
|
|
171
|
+
cursor: 'pointer',
|
|
172
|
+
fontSize: font.size,
|
|
173
|
+
textAlign: 'center',
|
|
174
|
+
':active': {
|
|
175
|
+
outline: 0
|
|
176
|
+
}
|
|
177
|
+
},
|
|
178
|
+
CalendarDay__defaultCursor: {
|
|
179
|
+
cursor: 'default'
|
|
180
|
+
},
|
|
181
|
+
CalendarDay__default: {
|
|
182
|
+
border: "1px solid ".concat(color.core.borderLight),
|
|
183
|
+
color: color.text,
|
|
184
|
+
background: color.background,
|
|
185
|
+
':hover': {
|
|
186
|
+
background: color.core.borderLight,
|
|
187
|
+
border: "1px solid ".concat(color.core.borderLight),
|
|
188
|
+
color: 'inherit'
|
|
189
|
+
}
|
|
190
|
+
},
|
|
191
|
+
CalendarDay__hovered_offset: {
|
|
192
|
+
background: color.core.borderBright,
|
|
193
|
+
border: "1px double ".concat(color.core.borderLight),
|
|
194
|
+
color: 'inherit'
|
|
195
|
+
},
|
|
196
|
+
CalendarDay__outside: {
|
|
197
|
+
border: 0,
|
|
198
|
+
background: color.outside.backgroundColor,
|
|
199
|
+
color: color.outside.color,
|
|
200
|
+
':hover': {
|
|
201
|
+
border: 0
|
|
202
|
+
}
|
|
203
|
+
},
|
|
204
|
+
CalendarDay__blocked_minimum_nights: {
|
|
205
|
+
background: color.minimumNights.backgroundColor,
|
|
206
|
+
border: "1px solid ".concat(color.minimumNights.borderColor),
|
|
207
|
+
color: color.minimumNights.color,
|
|
208
|
+
':hover': {
|
|
209
|
+
background: color.minimumNights.backgroundColor_hover,
|
|
210
|
+
color: color.minimumNights.color_active
|
|
211
|
+
},
|
|
212
|
+
':active': {
|
|
213
|
+
background: color.minimumNights.backgroundColor_active,
|
|
214
|
+
color: color.minimumNights.color_active
|
|
215
|
+
}
|
|
216
|
+
},
|
|
217
|
+
CalendarDay__highlighted_calendar: {
|
|
218
|
+
background: color.highlighted.backgroundColor,
|
|
219
|
+
color: color.highlighted.color,
|
|
220
|
+
':hover': {
|
|
221
|
+
background: color.highlighted.backgroundColor_hover,
|
|
222
|
+
color: color.highlighted.color_active
|
|
223
|
+
},
|
|
224
|
+
':active': {
|
|
225
|
+
background: color.highlighted.backgroundColor_active,
|
|
226
|
+
color: color.highlighted.color_active
|
|
227
|
+
}
|
|
228
|
+
},
|
|
229
|
+
CalendarDay__selected_span: {
|
|
230
|
+
background: color.selectedSpan.backgroundColor,
|
|
231
|
+
border: "1px double ".concat(color.selectedSpan.borderColor),
|
|
232
|
+
color: color.selectedSpan.color,
|
|
233
|
+
':hover': {
|
|
234
|
+
background: color.selectedSpan.backgroundColor_hover,
|
|
235
|
+
border: "1px double ".concat(color.selectedSpan.borderColor),
|
|
236
|
+
color: color.selectedSpan.color_active
|
|
237
|
+
},
|
|
238
|
+
':active': {
|
|
239
|
+
background: color.selectedSpan.backgroundColor_active,
|
|
240
|
+
border: "1px double ".concat(color.selectedSpan.borderColor),
|
|
241
|
+
color: color.selectedSpan.color_active
|
|
242
|
+
}
|
|
243
|
+
},
|
|
244
|
+
CalendarDay__selected: {
|
|
245
|
+
background: color.selected.backgroundColor,
|
|
246
|
+
border: "1px double ".concat(color.selected.borderColor),
|
|
247
|
+
color: color.selected.color,
|
|
248
|
+
':hover': {
|
|
249
|
+
background: color.selected.backgroundColor_hover,
|
|
250
|
+
border: "1px double ".concat(color.selected.borderColor),
|
|
251
|
+
color: color.selected.color_active
|
|
252
|
+
},
|
|
253
|
+
':active': {
|
|
254
|
+
background: color.selected.backgroundColor_active,
|
|
255
|
+
border: "1px double ".concat(color.selected.borderColor),
|
|
256
|
+
color: color.selected.color_active
|
|
257
|
+
}
|
|
258
|
+
},
|
|
259
|
+
CalendarDay__hovered_span: {
|
|
260
|
+
background: color.hoveredSpan.backgroundColor,
|
|
261
|
+
border: "1px double ".concat(color.hoveredSpan.borderColor),
|
|
262
|
+
color: color.hoveredSpan.color,
|
|
263
|
+
':hover': {
|
|
264
|
+
background: color.hoveredSpan.backgroundColor_hover,
|
|
265
|
+
border: "1px double ".concat(color.hoveredSpan.borderColor),
|
|
266
|
+
color: color.hoveredSpan.color_active
|
|
267
|
+
},
|
|
268
|
+
':active': {
|
|
269
|
+
background: color.hoveredSpan.backgroundColor_active,
|
|
270
|
+
border: "1px double ".concat(color.hoveredSpan.borderColor),
|
|
271
|
+
color: color.hoveredSpan.color_active
|
|
272
|
+
}
|
|
273
|
+
},
|
|
274
|
+
CalendarDay__blocked_calendar: {
|
|
275
|
+
background: color.blocked_calendar.backgroundColor,
|
|
276
|
+
border: "1px solid ".concat(color.blocked_calendar.borderColor),
|
|
277
|
+
color: color.blocked_calendar.color,
|
|
278
|
+
':hover': {
|
|
279
|
+
background: color.blocked_calendar.backgroundColor_hover,
|
|
280
|
+
border: "1px solid ".concat(color.blocked_calendar.borderColor),
|
|
281
|
+
color: color.blocked_calendar.color_active
|
|
282
|
+
},
|
|
283
|
+
':active': {
|
|
284
|
+
background: color.blocked_calendar.backgroundColor_active,
|
|
285
|
+
border: "1px solid ".concat(color.blocked_calendar.borderColor),
|
|
286
|
+
color: color.blocked_calendar.color_active
|
|
287
|
+
}
|
|
288
|
+
},
|
|
289
|
+
CalendarDay__blocked_out_of_range: {
|
|
290
|
+
background: color.blocked_out_of_range.backgroundColor,
|
|
291
|
+
border: "1px solid ".concat(color.blocked_out_of_range.borderColor),
|
|
292
|
+
color: color.blocked_out_of_range.color,
|
|
293
|
+
':hover': {
|
|
294
|
+
background: color.blocked_out_of_range.backgroundColor_hover,
|
|
295
|
+
border: "1px solid ".concat(color.blocked_out_of_range.borderColor),
|
|
296
|
+
color: color.blocked_out_of_range.color_active
|
|
297
|
+
},
|
|
298
|
+
':active': {
|
|
299
|
+
background: color.blocked_out_of_range.backgroundColor_active,
|
|
300
|
+
border: "1px solid ".concat(color.blocked_out_of_range.borderColor),
|
|
301
|
+
color: color.blocked_out_of_range.color_active
|
|
302
|
+
}
|
|
303
|
+
},
|
|
304
|
+
CalendarDay__hovered_start_first_possible_end: {
|
|
305
|
+
background: color.core.borderLighter,
|
|
306
|
+
border: "1px double ".concat(color.core.borderLighter)
|
|
307
|
+
},
|
|
308
|
+
CalendarDay__hovered_start_blocked_min_nights: {
|
|
309
|
+
background: color.core.borderLighter,
|
|
310
|
+
border: "1px double ".concat(color.core.borderLight)
|
|
311
|
+
},
|
|
312
|
+
CalendarDay__selected_start: {},
|
|
313
|
+
CalendarDay__selected_end: {},
|
|
314
|
+
CalendarDay__today: {},
|
|
315
|
+
CalendarDay__firstDayOfWeek: {},
|
|
316
|
+
CalendarDay__lastDayOfWeek: {},
|
|
317
|
+
CalendarDay__after_hovered_start: {},
|
|
318
|
+
CalendarDay__before_hovered_end: {},
|
|
319
|
+
CalendarDay__no_selected_start_before_selected_end: {},
|
|
320
|
+
CalendarDay__selected_start_in_hovered_span: {},
|
|
321
|
+
CalendarDay__selected_end_in_hovered_span: {},
|
|
322
|
+
CalendarDay__selected_start_no_selected_end: {},
|
|
323
|
+
CalendarDay__selected_end_no_selected_start: {}
|
|
324
|
+
};
|
|
325
|
+
}, {
|
|
326
|
+
pureComponent: typeof _react["default"].PureComponent !== 'undefined'
|
|
327
|
+
})(CalendarDay);
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports["default"] = void 0;
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var CalendarIcon = function CalendarIcon(props) {
|
|
10
|
+
return /*#__PURE__*/_react["default"].createElement("svg", props, /*#__PURE__*/_react["default"].createElement("path", {
|
|
11
|
+
d: "m107 1393h241v-241h-241zm295 0h268v-241h-268zm-295-295h241v-268h-241zm295 0h268v-268h-268zm-295-321h241v-241h-241zm616 616h268v-241h-268zm-321-616h268v-241h-268zm643 616h241v-241h-241zm-322-295h268v-268h-268zm-294-723v-241c0-7-3-14-8-19-6-5-12-8-19-8h-54c-7 0-13 3-19 8-5 5-8 12-8 19v241c0 7 3 14 8 19 6 5 12 8 19 8h54c7 0 13-3 19-8 5-5 8-12 8-19zm616 723h241v-268h-241zm-322-321h268v-241h-268zm322 0h241v-241h-241zm27-402v-241c0-7-3-14-8-19-6-5-12-8-19-8h-54c-7 0-13 3-19 8-5 5-8 12-8 19v241c0 7 3 14 8 19 6 5 12 8 19 8h54c7 0 13-3 19-8 5-5 8-12 8-19zm321-54v1072c0 29-11 54-32 75s-46 32-75 32h-1179c-29 0-54-11-75-32s-32-46-32-75v-1072c0-29 11-54 32-75s46-32 75-32h107v-80c0-37 13-68 40-95s57-39 94-39h54c37 0 68 13 95 39 26 26 39 58 39 95v80h321v-80c0-37 13-69 40-95 26-26 57-39 94-39h54c37 0 68 13 94 39s40 58 40 95v80h107c29 0 54 11 75 32s32 46 32 75z"
|
|
12
|
+
}));
|
|
13
|
+
};
|
|
14
|
+
CalendarIcon.defaultProps = {
|
|
15
|
+
focusable: "false",
|
|
16
|
+
viewBox: "0 0 1393.1 1500"
|
|
17
|
+
};
|
|
18
|
+
var _default = exports["default"] = CalendarIcon;
|