baseui 10.4.0 → 10.7.1
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/app-nav-bar/user-menu.js +1 -0
- package/app-nav-bar/user-menu.js.flow +1 -0
- package/button/styled-components.js +1 -1
- package/button/styled-components.js.flow +4 -1
- package/card/styled-components.js +0 -1
- package/card/styled-components.js.flow +0 -1
- package/combobox/combobox.js +5 -1
- package/combobox/combobox.js.flow +4 -0
- package/combobox/index.d.ts +6 -3
- package/data-table/column-datetime.js +2 -0
- package/data-table/column-datetime.js.flow +2 -0
- package/datepicker/calendar-header.js +255 -109
- package/datepicker/calendar-header.js.flow +282 -145
- package/datepicker/calendar.js +6 -1
- package/datepicker/calendar.js.flow +5 -1
- package/datepicker/constants.js +9 -2
- package/datepicker/constants.js.flow +7 -0
- package/datepicker/datepicker.js +135 -73
- package/datepicker/datepicker.js.flow +161 -62
- package/datepicker/day.js +2 -0
- package/datepicker/day.js.flow +2 -0
- package/datepicker/index.d.ts +8 -0
- package/datepicker/month.js +4 -0
- package/datepicker/month.js.flow +3 -0
- package/datepicker/styled-components.js +116 -56
- package/datepicker/styled-components.js.flow +101 -36
- package/datepicker/types.js.flow +18 -1
- package/datepicker/utils/calendar-header-helpers.js +51 -0
- package/datepicker/utils/calendar-header-helpers.js.flow +53 -0
- package/datepicker/utils/date-helpers.js +1 -1
- package/datepicker/utils/date-helpers.js.flow +1 -1
- package/datepicker/week.js +1 -0
- package/datepicker/week.js.flow +1 -0
- package/dnd-list/index.js.flow +2 -1
- package/dnd-list/list.js +1 -2
- package/dnd-list/list.js.flow +1 -1
- package/dnd-list/styled-components.js +1 -1
- package/dnd-list/styled-components.js.flow +1 -0
- package/drawer/drawer.js +2 -1
- package/drawer/drawer.js.flow +1 -1
- package/es/app-nav-bar/user-menu.js +1 -0
- package/es/button/styled-components.js +1 -1
- package/es/card/styled-components.js +0 -1
- package/es/combobox/combobox.js +5 -1
- package/es/data-table/column-datetime.js +2 -0
- package/es/datepicker/calendar-header.js +204 -93
- package/es/datepicker/calendar.js +7 -2
- package/es/datepicker/constants.js +6 -1
- package/es/datepicker/datepicker.js +70 -42
- package/es/datepicker/day.js +2 -0
- package/es/datepicker/month.js +3 -0
- package/es/datepicker/styled-components.js +98 -37
- package/es/datepicker/types.js +1 -1
- package/es/datepicker/utils/calendar-header-helpers.js +34 -0
- package/es/datepicker/utils/date-helpers.js +1 -1
- package/es/datepicker/week.js +1 -0
- package/es/dnd-list/index.js +2 -1
- package/es/dnd-list/list.js +1 -2
- package/es/dnd-list/styled-components.js +1 -0
- package/es/drawer/drawer.js +2 -1
- package/es/helper/helper.js +1 -0
- package/es/layer/layer.js +8 -0
- package/es/map-marker/constants.js +69 -0
- package/es/map-marker/fixed-marker.js +98 -0
- package/es/map-marker/floating-marker.js +65 -0
- package/es/map-marker/index.js +9 -0
- package/es/map-marker/pin-head.js +108 -0
- package/es/map-marker/styled-components.js +156 -0
- package/es/map-marker/types.js +8 -0
- package/es/menu/maybe-child-menu.js +1 -0
- package/es/popover/popover.js +6 -5
- package/es/popover/stateful-container.js +8 -2
- package/es/rating/emoticon-rating.js +3 -1
- package/es/rating/star-rating.js +3 -1
- package/es/select/select-component.js +20 -5
- package/es/select/styled-components.js +34 -4
- package/es/snackbar/snackbar-context.js +16 -4
- package/es/table-semantic/styled-components.js +6 -4
- package/es/table-semantic/table-builder.js +3 -0
- package/es/themes/dark-theme/color-component-tokens.js +1 -1
- package/es/themes/light-theme/color-component-tokens.js +9 -9
- package/es/themes/shared/lighting.js +5 -1
- package/es/timepicker/timepicker.js +16 -11
- package/es/tooltip/styled-components.js +8 -0
- package/es/tooltip/tooltip.js +1 -0
- package/esm/app-nav-bar/user-menu.js +1 -0
- package/esm/button/styled-components.js +1 -1
- package/esm/card/styled-components.js +0 -1
- package/esm/combobox/combobox.js +5 -1
- package/esm/data-table/column-datetime.js +2 -0
- package/esm/datepicker/calendar-header.js +255 -110
- package/esm/datepicker/calendar.js +7 -2
- package/esm/datepicker/constants.js +6 -1
- package/esm/datepicker/datepicker.js +136 -74
- package/esm/datepicker/day.js +2 -0
- package/esm/datepicker/month.js +3 -0
- package/esm/datepicker/styled-components.js +112 -55
- package/esm/datepicker/types.js +1 -1
- package/esm/datepicker/utils/calendar-header-helpers.js +45 -0
- package/esm/datepicker/utils/date-helpers.js +1 -1
- package/esm/datepicker/week.js +1 -0
- package/esm/dnd-list/index.js +2 -1
- package/esm/dnd-list/list.js +1 -2
- package/esm/dnd-list/styled-components.js +1 -1
- package/esm/drawer/drawer.js +2 -1
- package/esm/helper/helper.js +1 -0
- package/esm/layer/layer.js +8 -0
- package/esm/map-marker/constants.js +62 -0
- package/esm/map-marker/fixed-marker.js +137 -0
- package/esm/map-marker/floating-marker.js +94 -0
- package/esm/map-marker/index.js +9 -0
- package/esm/map-marker/pin-head.js +144 -0
- package/esm/map-marker/styled-components.js +168 -0
- package/esm/map-marker/types.js +8 -0
- package/esm/menu/maybe-child-menu.js +1 -0
- package/esm/popover/popover.js +6 -5
- package/esm/popover/stateful-container.js +8 -2
- package/esm/rating/emoticon-rating.js +2 -2
- package/esm/rating/star-rating.js +2 -2
- package/esm/select/select-component.js +19 -5
- package/esm/select/styled-components.js +28 -4
- package/esm/snackbar/snackbar-context.js +16 -4
- package/esm/table-semantic/styled-components.js +6 -4
- package/esm/table-semantic/table-builder.js +3 -0
- package/esm/themes/dark-theme/color-component-tokens.js +1 -1
- package/esm/themes/light-theme/color-component-tokens.js +9 -9
- package/esm/themes/shared/lighting.js +5 -1
- package/esm/timepicker/timepicker.js +17 -11
- package/esm/tooltip/styled-components.js +8 -0
- package/esm/tooltip/tooltip.js +1 -0
- package/helper/helper.js +1 -0
- package/helper/helper.js.flow +1 -0
- package/layer/layer.js +8 -0
- package/layer/layer.js.flow +9 -0
- package/link/index.d.ts +1 -0
- package/map-marker/constants.js +82 -0
- package/map-marker/constants.js.flow +74 -0
- package/map-marker/fixed-marker.js +152 -0
- package/map-marker/fixed-marker.js.flow +137 -0
- package/map-marker/floating-marker.js +109 -0
- package/map-marker/floating-marker.js.flow +102 -0
- package/map-marker/index.d.ts +105 -0
- package/map-marker/index.js +55 -0
- package/map-marker/index.js.flow +23 -0
- package/map-marker/package.json +4 -0
- package/map-marker/pin-head.js +159 -0
- package/map-marker/pin-head.js.flow +155 -0
- package/map-marker/styled-components.js +184 -0
- package/map-marker/styled-components.js.flow +177 -0
- package/map-marker/types.js +11 -0
- package/map-marker/types.js.flow +114 -0
- package/menu/index.d.ts +7 -0
- package/menu/maybe-child-menu.js +1 -0
- package/menu/maybe-child-menu.js.flow +1 -0
- package/menu/types.js.flow +12 -0
- package/modal/index.d.ts +1 -1
- package/modal/types.js.flow +4 -1
- package/package.json +5 -3
- package/popover/index.d.ts +2 -1
- package/popover/popover.js +6 -5
- package/popover/popover.js.flow +11 -4
- package/popover/stateful-container.js +8 -2
- package/popover/stateful-container.js.flow +5 -0
- package/popover/types.js.flow +6 -1
- package/rating/emoticon-rating.js +2 -2
- package/rating/emoticon-rating.js.flow +4 -1
- package/rating/star-rating.js +2 -2
- package/rating/star-rating.js.flow +4 -1
- package/select/select-component.js +19 -5
- package/select/select-component.js.flow +19 -5
- package/select/styled-components.js +28 -4
- package/select/styled-components.js.flow +30 -2
- package/select/types.js.flow +9 -0
- package/snackbar/index.d.ts +21 -16
- package/snackbar/snackbar-context.js +15 -4
- package/snackbar/snackbar-context.js.flow +15 -3
- package/table-semantic/styled-components.js +6 -4
- package/table-semantic/styled-components.js.flow +6 -4
- package/table-semantic/table-builder.js +3 -0
- package/table-semantic/table-builder.js.flow +3 -0
- package/themes/dark-theme/color-component-tokens.js +1 -1
- package/themes/dark-theme/color-component-tokens.js.flow +1 -1
- package/themes/light-theme/color-component-tokens.js +9 -9
- package/themes/light-theme/color-component-tokens.js.flow +9 -9
- package/themes/shared/lighting.js +5 -1
- package/themes/shared/lighting.js.flow +4 -0
- package/themes/types.js.flow +4 -0
- package/timepicker/index.d.ts +1 -0
- package/timepicker/timepicker.js +17 -11
- package/timepicker/timepicker.js.flow +31 -12
- package/timepicker/types.js.flow +10 -0
- package/tooltip/styled-components.js +8 -0
- package/tooltip/styled-components.js.flow +8 -0
- package/tooltip/tooltip.js +1 -0
- package/tooltip/tooltip.js.flow +6 -1
|
@@ -9,16 +9,18 @@ exports.default = void 0;
|
|
|
9
9
|
|
|
10
10
|
var React = _interopRequireWildcard(require("react"));
|
|
11
11
|
|
|
12
|
-
var
|
|
12
|
+
var _chevronRight = _interopRequireDefault(require("../icon/chevron-right.js"));
|
|
13
13
|
|
|
14
|
-
var
|
|
14
|
+
var _chevronLeft = _interopRequireDefault(require("../icon/chevron-left.js"));
|
|
15
15
|
|
|
16
|
-
var
|
|
16
|
+
var _chevronDown = _interopRequireDefault(require("../icon/chevron-down.js"));
|
|
17
17
|
|
|
18
18
|
var _dateFnsAdapter = _interopRequireDefault(require("./utils/date-fns-adapter.js"));
|
|
19
19
|
|
|
20
20
|
var _dateHelpers = _interopRequireDefault(require("./utils/date-helpers.js"));
|
|
21
21
|
|
|
22
|
+
var _calendarHeaderHelpers = require("./utils/calendar-header-helpers.js");
|
|
23
|
+
|
|
22
24
|
var _index = require("../menu/index.js");
|
|
23
25
|
|
|
24
26
|
var _index2 = require("../popover/index.js");
|
|
@@ -55,6 +57,10 @@ function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(
|
|
|
55
57
|
|
|
56
58
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
57
59
|
|
|
60
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
|
|
61
|
+
|
|
62
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
63
|
+
|
|
58
64
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
59
65
|
|
|
60
66
|
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
|
@@ -93,10 +99,6 @@ var DIRECTION = {
|
|
|
93
99
|
PREVIOUS: 'previous'
|
|
94
100
|
};
|
|
95
101
|
|
|
96
|
-
function yearMonthToId(year, month) {
|
|
97
|
-
return "".concat(year, "-").concat(month);
|
|
98
|
-
}
|
|
99
|
-
|
|
100
102
|
function idToYearMonth(id) {
|
|
101
103
|
return id.split('-').map(Number);
|
|
102
104
|
}
|
|
@@ -115,14 +117,13 @@ var CalendarHeader = /*#__PURE__*/function (_React$Component) {
|
|
|
115
117
|
|
|
116
118
|
_defineProperty(_assertThisInitialized(_this), "dateHelpers", void 0);
|
|
117
119
|
|
|
118
|
-
_defineProperty(_assertThisInitialized(_this), "
|
|
120
|
+
_defineProperty(_assertThisInitialized(_this), "monthItems", void 0);
|
|
119
121
|
|
|
120
|
-
_defineProperty(_assertThisInitialized(_this), "
|
|
121
|
-
|
|
122
|
-
_defineProperty(_assertThisInitialized(_this), "maxYear", void 0);
|
|
122
|
+
_defineProperty(_assertThisInitialized(_this), "yearItems", void 0);
|
|
123
123
|
|
|
124
124
|
_defineProperty(_assertThisInitialized(_this), "state", {
|
|
125
|
-
|
|
125
|
+
isMonthDropdownOpen: false,
|
|
126
|
+
isYearDropdownOpen: false,
|
|
126
127
|
isFocusVisible: false
|
|
127
128
|
});
|
|
128
129
|
|
|
@@ -130,17 +131,94 @@ var CalendarHeader = /*#__PURE__*/function (_React$Component) {
|
|
|
130
131
|
return _this.props.date || _this.dateHelpers.date();
|
|
131
132
|
});
|
|
132
133
|
|
|
133
|
-
_defineProperty(_assertThisInitialized(_this), "
|
|
134
|
-
var
|
|
134
|
+
_defineProperty(_assertThisInitialized(_this), "getYearItems", function () {
|
|
135
|
+
var date = _this.getDateProp();
|
|
135
136
|
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
137
|
+
var maxDate = _this.props.maxDate;
|
|
138
|
+
var minDate = _this.props.minDate;
|
|
139
|
+
var maxYear = maxDate ? _this.dateHelpers.getYear(maxDate) : MAX_YEAR;
|
|
140
|
+
var minYear = minDate ? _this.dateHelpers.getYear(minDate) : MIN_YEAR;
|
|
141
|
+
|
|
142
|
+
var selectedMonth = _this.dateHelpers.getMonth(date); // TODO: this logic can be optimized to only run when minDate / maxDate change
|
|
143
|
+
|
|
144
|
+
|
|
145
|
+
_this.yearItems = Array.from({
|
|
146
|
+
length: maxYear - minYear + 1
|
|
147
|
+
}, function (_, i) {
|
|
148
|
+
return minYear + i;
|
|
149
|
+
}).map(function (year) {
|
|
150
|
+
return {
|
|
151
|
+
id: year.toString(),
|
|
152
|
+
label: year.toString()
|
|
153
|
+
};
|
|
154
|
+
});
|
|
155
|
+
var monthOfMaxDate = maxDate ? _this.dateHelpers.getMonth(maxDate) : MAX_MONTH;
|
|
156
|
+
var monthOfMinDate = minDate ? _this.dateHelpers.getMonth(minDate) : MIN_MONTH; // Generates array like [0,1,.... monthOfMaxDate]
|
|
157
|
+
|
|
158
|
+
var maxYearMonths = Array.from({
|
|
159
|
+
length: monthOfMaxDate + 1
|
|
160
|
+
}, function (x, i) {
|
|
161
|
+
return i;
|
|
162
|
+
}); // Generates array like [monthOfMinDate, ...., 10, 11]
|
|
163
|
+
|
|
164
|
+
var minYearMonths = Array.from({
|
|
165
|
+
length: 12 - monthOfMinDate
|
|
166
|
+
}, function (x, i) {
|
|
167
|
+
return i + monthOfMinDate;
|
|
168
|
+
});
|
|
169
|
+
|
|
170
|
+
if (selectedMonth > maxYearMonths[maxYearMonths.length - 1]) {
|
|
171
|
+
var lastIdx = _this.yearItems.length - 1;
|
|
172
|
+
_this.yearItems[lastIdx] = _objectSpread(_objectSpread({}, _this.yearItems[lastIdx]), {}, {
|
|
173
|
+
disabled: true
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
if (selectedMonth < minYearMonths[0]) {
|
|
178
|
+
_this.yearItems[0] = _objectSpread(_objectSpread({}, _this.yearItems[0]), {}, {
|
|
179
|
+
disabled: true
|
|
140
180
|
});
|
|
141
181
|
}
|
|
142
182
|
});
|
|
143
183
|
|
|
184
|
+
_defineProperty(_assertThisInitialized(_this), "getMonthItems", function () {
|
|
185
|
+
var date = _this.getDateProp();
|
|
186
|
+
|
|
187
|
+
var year = _this.dateHelpers.getYear(date);
|
|
188
|
+
|
|
189
|
+
var maxDate = _this.props.maxDate;
|
|
190
|
+
var minDate = _this.props.minDate;
|
|
191
|
+
var maxYear = maxDate ? _this.dateHelpers.getYear(maxDate) : MAX_YEAR;
|
|
192
|
+
var minYear = minDate ? _this.dateHelpers.getYear(minDate) : MIN_YEAR;
|
|
193
|
+
var monthOfMaxDate = maxDate ? _this.dateHelpers.getMonth(maxDate) : MAX_MONTH; // Generates array like [0,1,.... monthOfMaxDate]
|
|
194
|
+
|
|
195
|
+
var maxYearMonths = Array.from({
|
|
196
|
+
length: monthOfMaxDate + 1
|
|
197
|
+
}, function (x, i) {
|
|
198
|
+
return i;
|
|
199
|
+
});
|
|
200
|
+
var monthOfMinDate = minDate ? _this.dateHelpers.getMonth(minDate) : MIN_MONTH; // Generates array like [monthOfMinDate, ...., 10, 11]
|
|
201
|
+
|
|
202
|
+
var minYearMonths = Array.from({
|
|
203
|
+
length: 12 - monthOfMinDate
|
|
204
|
+
}, function (x, i) {
|
|
205
|
+
return i + monthOfMinDate;
|
|
206
|
+
});
|
|
207
|
+
var maxMinYearMonthsIntersection = maxYearMonths.filter(function (year) {
|
|
208
|
+
return minYearMonths.includes(year);
|
|
209
|
+
});
|
|
210
|
+
var filterMonthsList = year === maxYear && year === minYear ? maxMinYearMonthsIntersection : year === maxYear ? maxYearMonths : year === minYear ? minYearMonths : null;
|
|
211
|
+
|
|
212
|
+
var formatMonthLabel = function formatMonthLabel(month) {
|
|
213
|
+
return _this.dateHelpers.getMonthInLocale(month, _this.props.locale);
|
|
214
|
+
};
|
|
215
|
+
|
|
216
|
+
_this.monthItems = (0, _calendarHeaderHelpers.getFilteredMonthItems)({
|
|
217
|
+
filterMonthsList: filterMonthsList,
|
|
218
|
+
formatMonthLabel: formatMonthLabel
|
|
219
|
+
});
|
|
220
|
+
});
|
|
221
|
+
|
|
144
222
|
_defineProperty(_assertThisInitialized(_this), "increaseMonth", function () {
|
|
145
223
|
if (_this.props.onMonthChange) {
|
|
146
224
|
// $FlowFixMe
|
|
@@ -208,14 +286,16 @@ var CalendarHeader = /*#__PURE__*/function (_React$Component) {
|
|
|
208
286
|
}
|
|
209
287
|
});
|
|
210
288
|
|
|
211
|
-
_defineProperty(_assertThisInitialized(_this), "renderPreviousMonthButton", function (
|
|
212
|
-
var locale =
|
|
213
|
-
theme =
|
|
289
|
+
_defineProperty(_assertThisInitialized(_this), "renderPreviousMonthButton", function (_ref2) {
|
|
290
|
+
var locale = _ref2.locale,
|
|
291
|
+
theme = _ref2.theme;
|
|
214
292
|
|
|
215
293
|
var date = _this.getDateProp();
|
|
216
294
|
|
|
217
|
-
var _this$
|
|
218
|
-
|
|
295
|
+
var _this$props3 = _this.props,
|
|
296
|
+
_this$props3$override = _this$props3.overrides,
|
|
297
|
+
overrides = _this$props3$override === void 0 ? {} : _this$props3$override,
|
|
298
|
+
density = _this$props3.density;
|
|
219
299
|
|
|
220
300
|
var allPrevDaysDisabled = _this.dateHelpers.monthDisabledBefore(date, _this.props);
|
|
221
301
|
|
|
@@ -244,7 +324,7 @@ var CalendarHeader = /*#__PURE__*/function (_React$Component) {
|
|
|
244
324
|
PrevButton = _getOverrides2[0],
|
|
245
325
|
prevButtonProps = _getOverrides2[1];
|
|
246
326
|
|
|
247
|
-
var _getOverrides3 = (0, _overrides.getOverrides)(overrides.PrevButtonIcon, theme.direction === 'rtl' ?
|
|
327
|
+
var _getOverrides3 = (0, _overrides.getOverrides)(overrides.PrevButtonIcon, theme.direction === 'rtl' ? _chevronRight.default : _chevronLeft.default),
|
|
248
328
|
_getOverrides4 = _slicedToArray(_getOverrides3, 2),
|
|
249
329
|
PrevButtonIcon = _getOverrides4[0],
|
|
250
330
|
prevButtonIconProps = _getOverrides4[1];
|
|
@@ -265,7 +345,7 @@ var CalendarHeader = /*#__PURE__*/function (_React$Component) {
|
|
|
265
345
|
$disabled: isDisabled,
|
|
266
346
|
$order: _this.props.order
|
|
267
347
|
}, prevButtonProps), isHidden ? null : /*#__PURE__*/React.createElement(PrevButtonIcon, _extends({
|
|
268
|
-
size:
|
|
348
|
+
size: density === _constants.DENSITY.high ? 24 : 36,
|
|
269
349
|
overrides: {
|
|
270
350
|
Svg: {
|
|
271
351
|
style: navBtnStyle
|
|
@@ -274,14 +354,16 @@ var CalendarHeader = /*#__PURE__*/function (_React$Component) {
|
|
|
274
354
|
}, prevButtonIconProps)));
|
|
275
355
|
});
|
|
276
356
|
|
|
277
|
-
_defineProperty(_assertThisInitialized(_this), "renderNextMonthButton", function (
|
|
278
|
-
var locale =
|
|
279
|
-
theme =
|
|
357
|
+
_defineProperty(_assertThisInitialized(_this), "renderNextMonthButton", function (_ref3) {
|
|
358
|
+
var locale = _ref3.locale,
|
|
359
|
+
theme = _ref3.theme;
|
|
280
360
|
|
|
281
361
|
var date = _this.getDateProp();
|
|
282
362
|
|
|
283
|
-
var _this$
|
|
284
|
-
|
|
363
|
+
var _this$props4 = _this.props,
|
|
364
|
+
_this$props4$override = _this$props4.overrides,
|
|
365
|
+
overrides = _this$props4$override === void 0 ? {} : _this$props4$override,
|
|
366
|
+
density = _this$props4.density;
|
|
285
367
|
|
|
286
368
|
var allNextDaysDisabled = _this.dateHelpers.monthDisabledAfter(date, _this.props);
|
|
287
369
|
|
|
@@ -310,7 +392,7 @@ var CalendarHeader = /*#__PURE__*/function (_React$Component) {
|
|
|
310
392
|
NextButton = _getOverrides6[0],
|
|
311
393
|
nextButtonProps = _getOverrides6[1];
|
|
312
394
|
|
|
313
|
-
var _getOverrides7 = (0, _overrides.getOverrides)(overrides.NextButtonIcon, theme.direction === 'rtl' ?
|
|
395
|
+
var _getOverrides7 = (0, _overrides.getOverrides)(overrides.NextButtonIcon, theme.direction === 'rtl' ? _chevronLeft.default : _chevronRight.default),
|
|
314
396
|
_getOverrides8 = _slicedToArray(_getOverrides7, 2),
|
|
315
397
|
NextButtonIcon = _getOverrides8[0],
|
|
316
398
|
nextButtonIconProps = _getOverrides8[1];
|
|
@@ -335,7 +417,7 @@ var CalendarHeader = /*#__PURE__*/function (_React$Component) {
|
|
|
335
417
|
$isFocusVisible: _this.state.isFocusVisible,
|
|
336
418
|
$order: _this.props.order
|
|
337
419
|
}, nextButtonProps), isHidden ? null : /*#__PURE__*/React.createElement(NextButtonIcon, _extends({
|
|
338
|
-
size:
|
|
420
|
+
size: density === _constants.DENSITY.high ? 24 : 36,
|
|
339
421
|
overrides: {
|
|
340
422
|
Svg: {
|
|
341
423
|
style: navBtnStyle
|
|
@@ -345,7 +427,7 @@ var CalendarHeader = /*#__PURE__*/function (_React$Component) {
|
|
|
345
427
|
});
|
|
346
428
|
|
|
347
429
|
_defineProperty(_assertThisInitialized(_this), "canArrowsOpenDropdown", function (event) {
|
|
348
|
-
if (!_this.state.
|
|
430
|
+
if (!_this.state.isMonthDropdownOpen && !_this.state.isYearDropdownOpen) {
|
|
349
431
|
if (event.key === 'ArrowUp' || event.key === 'ArrowDown') {
|
|
350
432
|
return true;
|
|
351
433
|
}
|
|
@@ -357,12 +439,15 @@ var CalendarHeader = /*#__PURE__*/function (_React$Component) {
|
|
|
357
439
|
_defineProperty(_assertThisInitialized(_this), "renderMonthYearDropdown", function () {
|
|
358
440
|
var date = _this.getDateProp();
|
|
359
441
|
|
|
360
|
-
var
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
442
|
+
var month = _this.dateHelpers.getMonth(date);
|
|
443
|
+
|
|
444
|
+
var year = _this.dateHelpers.getYear(date);
|
|
445
|
+
|
|
446
|
+
var _this$props5 = _this.props,
|
|
447
|
+
locale = _this$props5.locale,
|
|
448
|
+
_this$props5$override = _this$props5.overrides,
|
|
449
|
+
overrides = _this$props5$override === void 0 ? {} : _this$props5$override,
|
|
450
|
+
density = _this$props5.density;
|
|
366
451
|
|
|
367
452
|
var _getOverrides9 = (0, _overrides.getOverrides)(overrides.MonthYearSelectButton, _styledComponents.StyledMonthYearSelectButton),
|
|
368
453
|
_getOverrides10 = _slicedToArray(_getOverrides9, 2),
|
|
@@ -395,115 +480,146 @@ var CalendarHeader = /*#__PURE__*/function (_React$Component) {
|
|
|
395
480
|
menuProps && menuProps.overrides); // $FlowFixMe
|
|
396
481
|
|
|
397
482
|
menuProps.overrides = menuOverrides;
|
|
398
|
-
var defaultMonths = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];
|
|
399
|
-
var maxYear = maxDate ? _this.dateHelpers.getYear(maxDate) : MAX_YEAR;
|
|
400
|
-
var minYear = minDate ? _this.dateHelpers.getYear(minDate) : MIN_YEAR;
|
|
401
|
-
var maxDateMonth = maxDate ? _this.dateHelpers.getMonth(maxDate) : MAX_MONTH; // Generates array like [0,1,.... maxDateMonth]
|
|
402
483
|
|
|
403
|
-
var
|
|
404
|
-
|
|
405
|
-
}, function (x, i) {
|
|
406
|
-
return i;
|
|
484
|
+
var initialMonthIndex = _this.monthItems.findIndex(function (month) {
|
|
485
|
+
return month.id === _this.dateHelpers.getMonth(date).toString();
|
|
407
486
|
});
|
|
408
|
-
var minDateMonth = minDate ? _this.dateHelpers.getMonth(minDate) : MIN_MONTH; // Generates array like [minDateMonth, ...., 10, 11]
|
|
409
487
|
|
|
410
|
-
var
|
|
411
|
-
|
|
412
|
-
}, function (x, i) {
|
|
413
|
-
return i + minDateMonth;
|
|
488
|
+
var initialYearIndex = _this.yearItems.findIndex(function (year) {
|
|
489
|
+
return year.id === _this.dateHelpers.getYear(date).toString();
|
|
414
490
|
});
|
|
415
491
|
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
492
|
+
var monthTitle = "".concat(_this.dateHelpers.getMonthInLocale(_this.dateHelpers.getMonth(date), locale));
|
|
493
|
+
var yearTitle = "".concat(_this.dateHelpers.getYear(date));
|
|
494
|
+
return _this.isMultiMonthHorizontal() ? /*#__PURE__*/React.createElement("div", null, "".concat(monthTitle, " ").concat(yearTitle)) : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(OverriddenPopover, _extends({
|
|
495
|
+
placement: "bottom",
|
|
496
|
+
autoFocus: true,
|
|
497
|
+
focusLock: true,
|
|
498
|
+
isOpen: _this.state.isMonthDropdownOpen,
|
|
499
|
+
onClick: function onClick() {
|
|
500
|
+
_this.setState(function (prev) {
|
|
501
|
+
return {
|
|
502
|
+
isMonthDropdownOpen: !prev.isMonthDropdownOpen
|
|
503
|
+
};
|
|
504
|
+
});
|
|
505
|
+
},
|
|
506
|
+
onClickOutside: function onClickOutside() {
|
|
507
|
+
return _this.setState({
|
|
508
|
+
isMonthDropdownOpen: false
|
|
509
|
+
});
|
|
510
|
+
},
|
|
511
|
+
onEsc: function onEsc() {
|
|
512
|
+
return _this.setState({
|
|
513
|
+
isMonthDropdownOpen: false
|
|
514
|
+
});
|
|
515
|
+
},
|
|
516
|
+
content: function content() {
|
|
517
|
+
return /*#__PURE__*/React.createElement(OverriddenStatefulMenu, _extends({
|
|
518
|
+
initialState: {
|
|
519
|
+
highlightedIndex: initialMonthIndex,
|
|
520
|
+
isFocused: true
|
|
521
|
+
},
|
|
522
|
+
items: _this.monthItems,
|
|
523
|
+
onItemSelect: function onItemSelect(_ref4) {
|
|
524
|
+
var item = _ref4.item,
|
|
525
|
+
event = _ref4.event;
|
|
526
|
+
event.preventDefault();
|
|
527
|
+
var month = idToYearMonth(item.id);
|
|
528
|
+
|
|
529
|
+
var updatedDate = _this.dateHelpers.set(date, {
|
|
530
|
+
year: year,
|
|
531
|
+
month: month
|
|
532
|
+
});
|
|
420
533
|
|
|
421
|
-
|
|
422
|
-
|
|
534
|
+
_this.props.onMonthChange && _this.props.onMonthChange({
|
|
535
|
+
date: updatedDate
|
|
536
|
+
});
|
|
423
537
|
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
538
|
+
_this.setState({
|
|
539
|
+
isMonthDropdownOpen: false
|
|
540
|
+
});
|
|
541
|
+
}
|
|
542
|
+
}, menuProps));
|
|
543
|
+
}
|
|
544
|
+
}, popoverProps), /*#__PURE__*/React.createElement(MonthYearSelectButton, _extends({
|
|
545
|
+
"aria-live": "polite",
|
|
546
|
+
type: "button",
|
|
547
|
+
$isFocusVisible: _this.state.isFocusVisible,
|
|
548
|
+
$density: density,
|
|
549
|
+
onKeyUp: function onKeyUp(event) {
|
|
550
|
+
if (_this.canArrowsOpenDropdown(event)) {
|
|
551
|
+
_this.setState({
|
|
552
|
+
isMonthDropdownOpen: true
|
|
427
553
|
});
|
|
428
|
-
}
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
554
|
+
}
|
|
555
|
+
},
|
|
556
|
+
onKeyDown: function onKeyDown(event) {
|
|
557
|
+
if (_this.canArrowsOpenDropdown(event)) {
|
|
558
|
+
// disables page scroll
|
|
559
|
+
event.preventDefault();
|
|
434
560
|
}
|
|
435
561
|
|
|
436
|
-
|
|
437
|
-
_this.
|
|
438
|
-
|
|
439
|
-
label: "".concat(_this.dateHelpers.getMonthInLocale(month, locale), " ").concat(i)
|
|
562
|
+
if (event.key === 'Tab') {
|
|
563
|
+
_this.setState({
|
|
564
|
+
isMonthDropdownOpen: false
|
|
440
565
|
});
|
|
441
|
-
}
|
|
442
|
-
};
|
|
443
|
-
|
|
444
|
-
for (var i = minYear; i <= maxYear; i++) {
|
|
445
|
-
_loop(i);
|
|
566
|
+
}
|
|
446
567
|
}
|
|
447
|
-
}
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
568
|
+
}, monthYearSelectButtonProps), monthTitle, /*#__PURE__*/React.createElement(MonthYearSelectIconContainer, monthYearSelectIconContainerProps, /*#__PURE__*/React.createElement(_chevronDown.default, {
|
|
569
|
+
title: "",
|
|
570
|
+
overrides: {
|
|
571
|
+
Svg: {
|
|
572
|
+
props: {
|
|
573
|
+
role: 'presentation'
|
|
574
|
+
}
|
|
575
|
+
}
|
|
576
|
+
},
|
|
577
|
+
size: density === _constants.DENSITY.high ? 16 : 24
|
|
578
|
+
})))), /*#__PURE__*/React.createElement(OverriddenPopover, _extends({
|
|
455
579
|
placement: "bottom",
|
|
456
|
-
autoFocus: true,
|
|
457
580
|
focusLock: true,
|
|
458
|
-
isOpen: _this.state.
|
|
581
|
+
isOpen: _this.state.isYearDropdownOpen,
|
|
459
582
|
onClick: function onClick() {
|
|
460
583
|
_this.setState(function (prev) {
|
|
461
584
|
return {
|
|
462
|
-
|
|
585
|
+
isYearDropdownOpen: !prev.isYearDropdownOpen
|
|
463
586
|
};
|
|
464
587
|
});
|
|
465
588
|
},
|
|
466
589
|
onClickOutside: function onClickOutside() {
|
|
467
590
|
return _this.setState({
|
|
468
|
-
|
|
591
|
+
isYearDropdownOpen: false
|
|
469
592
|
});
|
|
470
593
|
},
|
|
471
594
|
onEsc: function onEsc() {
|
|
472
595
|
return _this.setState({
|
|
473
|
-
|
|
596
|
+
isYearDropdownOpen: false
|
|
474
597
|
});
|
|
475
598
|
},
|
|
476
599
|
content: function content() {
|
|
477
600
|
return /*#__PURE__*/React.createElement(OverriddenStatefulMenu, _extends({
|
|
478
601
|
initialState: {
|
|
479
|
-
highlightedIndex:
|
|
602
|
+
highlightedIndex: initialYearIndex,
|
|
480
603
|
isFocused: true
|
|
481
604
|
},
|
|
482
|
-
items: _this.
|
|
605
|
+
items: _this.yearItems,
|
|
483
606
|
onItemSelect: function onItemSelect(_ref5) {
|
|
484
607
|
var item = _ref5.item,
|
|
485
608
|
event = _ref5.event;
|
|
486
609
|
event.preventDefault();
|
|
487
|
-
|
|
488
|
-
var _idToYearMonth = idToYearMonth(item.id),
|
|
489
|
-
_idToYearMonth2 = _slicedToArray(_idToYearMonth, 2),
|
|
490
|
-
year = _idToYearMonth2[0],
|
|
491
|
-
month = _idToYearMonth2[1];
|
|
610
|
+
var year = idToYearMonth(item.id);
|
|
492
611
|
|
|
493
612
|
var updatedDate = _this.dateHelpers.set(date, {
|
|
494
613
|
year: year,
|
|
495
614
|
month: month
|
|
496
615
|
});
|
|
497
616
|
|
|
498
|
-
_this.props.onMonthChange && _this.props.onMonthChange({
|
|
499
|
-
date: updatedDate
|
|
500
|
-
});
|
|
501
617
|
_this.props.onYearChange && _this.props.onYearChange({
|
|
502
618
|
date: updatedDate
|
|
503
619
|
});
|
|
504
620
|
|
|
505
621
|
_this.setState({
|
|
506
|
-
|
|
622
|
+
isYearDropdownOpen: false
|
|
507
623
|
});
|
|
508
624
|
}
|
|
509
625
|
}, menuProps));
|
|
@@ -512,10 +628,11 @@ var CalendarHeader = /*#__PURE__*/function (_React$Component) {
|
|
|
512
628
|
"aria-live": "polite",
|
|
513
629
|
type: "button",
|
|
514
630
|
$isFocusVisible: _this.state.isFocusVisible,
|
|
631
|
+
$density: density,
|
|
515
632
|
onKeyUp: function onKeyUp(event) {
|
|
516
633
|
if (_this.canArrowsOpenDropdown(event)) {
|
|
517
634
|
_this.setState({
|
|
518
|
-
|
|
635
|
+
isYearDropdownOpen: true
|
|
519
636
|
});
|
|
520
637
|
}
|
|
521
638
|
},
|
|
@@ -527,11 +644,11 @@ var CalendarHeader = /*#__PURE__*/function (_React$Component) {
|
|
|
527
644
|
|
|
528
645
|
if (event.key === 'Tab') {
|
|
529
646
|
_this.setState({
|
|
530
|
-
|
|
647
|
+
isYearDropdownOpen: false
|
|
531
648
|
});
|
|
532
649
|
}
|
|
533
650
|
}
|
|
534
|
-
}, monthYearSelectButtonProps),
|
|
651
|
+
}, monthYearSelectButtonProps), yearTitle, /*#__PURE__*/React.createElement(MonthYearSelectIconContainer, monthYearSelectIconContainerProps, /*#__PURE__*/React.createElement(_chevronDown.default, {
|
|
535
652
|
title: "",
|
|
536
653
|
overrides: {
|
|
537
654
|
Svg: {
|
|
@@ -539,22 +656,48 @@ var CalendarHeader = /*#__PURE__*/function (_React$Component) {
|
|
|
539
656
|
role: 'presentation'
|
|
540
657
|
}
|
|
541
658
|
}
|
|
542
|
-
}
|
|
543
|
-
|
|
659
|
+
},
|
|
660
|
+
size: density === _constants.DENSITY.high ? 16 : 24
|
|
661
|
+
})))));
|
|
544
662
|
});
|
|
545
663
|
|
|
546
664
|
_this.dateHelpers = new _dateHelpers.default(props.adapter);
|
|
547
|
-
_this.
|
|
665
|
+
_this.monthItems = [];
|
|
666
|
+
_this.yearItems = [];
|
|
548
667
|
return _this;
|
|
549
668
|
}
|
|
550
669
|
|
|
551
670
|
_createClass(CalendarHeader, [{
|
|
671
|
+
key: "componentDidMount",
|
|
672
|
+
value: function componentDidMount() {
|
|
673
|
+
this.getYearItems();
|
|
674
|
+
this.getMonthItems();
|
|
675
|
+
}
|
|
676
|
+
}, {
|
|
677
|
+
key: "componentDidUpdate",
|
|
678
|
+
value: function componentDidUpdate(prevProps) {
|
|
679
|
+
var selectedMonthDidChange = this.dateHelpers.getMonth(this.props.date) !== this.dateHelpers.getMonth(prevProps.date);
|
|
680
|
+
var selectedYearDidChange = this.dateHelpers.getYear(this.props.date) !== this.dateHelpers.getYear(prevProps.date);
|
|
681
|
+
|
|
682
|
+
if (selectedMonthDidChange) {
|
|
683
|
+
// re-calculate yearItems
|
|
684
|
+
this.getYearItems();
|
|
685
|
+
}
|
|
686
|
+
|
|
687
|
+
if (selectedYearDidChange) {
|
|
688
|
+
// re-calculate monthItems
|
|
689
|
+
this.getMonthItems();
|
|
690
|
+
}
|
|
691
|
+
}
|
|
692
|
+
}, {
|
|
552
693
|
key: "render",
|
|
553
694
|
value: function render() {
|
|
554
695
|
var _this2 = this;
|
|
555
696
|
|
|
556
|
-
var _this$
|
|
557
|
-
|
|
697
|
+
var _this$props6 = this.props,
|
|
698
|
+
_this$props6$override = _this$props6.overrides,
|
|
699
|
+
overrides = _this$props6$override === void 0 ? {} : _this$props6$override,
|
|
700
|
+
density = _this$props6.density;
|
|
558
701
|
|
|
559
702
|
var _getOverrides17 = (0, _overrides.getOverrides)(overrides.CalendarHeader, _styledComponents.StyledCalendarHeader),
|
|
560
703
|
_getOverrides18 = _slicedToArray(_getOverrides17, 2),
|
|
@@ -575,6 +718,7 @@ var CalendarHeader = /*#__PURE__*/function (_React$Component) {
|
|
|
575
718
|
return /*#__PURE__*/React.createElement(_themeProvider.ThemeContext.Consumer, null, function (theme) {
|
|
576
719
|
return /*#__PURE__*/React.createElement(_index3.LocaleContext.Consumer, null, function (locale) {
|
|
577
720
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_CalendarHeader, _extends({}, calendarHeaderProps, {
|
|
721
|
+
$density: _this2.props.density,
|
|
578
722
|
onFocus: (0, _focusVisible.forkFocus)(calendarHeaderProps, _this2.handleFocus),
|
|
579
723
|
onBlur: (0, _focusVisible.forkBlur)(calendarHeaderProps, _this2.handleBlur)
|
|
580
724
|
}), _this2.renderPreviousMonthButton({
|
|
@@ -591,7 +735,9 @@ var CalendarHeader = /*#__PURE__*/function (_React$Component) {
|
|
|
591
735
|
return /*#__PURE__*/React.createElement(WeekdayHeader, _extends({
|
|
592
736
|
key: offset,
|
|
593
737
|
alt: _this2.dateHelpers.getWeekdayInLocale(day, _this2.props.locale)
|
|
594
|
-
}, weekdayHeaderProps
|
|
738
|
+
}, weekdayHeaderProps, {
|
|
739
|
+
$density: density
|
|
740
|
+
}), _this2.dateHelpers.getWeekdayMinInLocale(day, _this2.props.locale));
|
|
595
741
|
})));
|
|
596
742
|
});
|
|
597
743
|
});
|