baseui 0.0.0-alpha-86e01cf → 0.0.0-alpha-fd35cbd
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/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 +3 -1
- package/data-table/column-datetime.js.flow +3 -1
- package/datepicker/calendar-header.js +29 -15
- package/datepicker/calendar-header.js.flow +13 -7
- package/datepicker/calendar.js +18 -7
- package/datepicker/calendar.js.flow +28 -13
- package/datepicker/constants.js +7 -2
- package/datepicker/constants.js.flow +5 -0
- package/datepicker/datepicker.js +149 -76
- package/datepicker/datepicker.js.flow +185 -71
- package/datepicker/day.js +59 -30
- package/datepicker/day.js.flow +104 -51
- package/datepicker/index.d.ts +7 -0
- package/datepicker/month.js +4 -0
- package/datepicker/month.js.flow +3 -0
- package/datepicker/stateful-container.js.flow +2 -1
- package/datepicker/styled-components.js +116 -56
- package/datepicker/styled-components.js.flow +101 -36
- package/datepicker/types.js.flow +28 -10
- 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/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/es/app-nav-bar/user-menu.js +1 -0
- package/es/card/styled-components.js +0 -1
- package/es/combobox/combobox.js +5 -1
- package/es/data-table/column-datetime.js +3 -1
- package/es/datepicker/calendar-header.js +21 -10
- package/es/datepicker/calendar.js +19 -8
- package/es/datepicker/constants.js +5 -1
- package/es/datepicker/datepicker.js +84 -46
- package/es/datepicker/day.js +52 -30
- 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/date-helpers.js +1 -1
- package/es/datepicker/week.js +1 -0
- package/es/dnd-list/list.js +1 -2
- package/es/dnd-list/styled-components.js +1 -0
- package/es/helper/helper.js +1 -0
- package/es/layer/layer.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 +4 -2
- package/es/select/select-component.js +1 -0
- package/es/themes/shared/lighting.js +5 -1
- package/es/timepicker/timepicker.js +16 -11
- package/es/tooltip/tooltip.js +1 -0
- package/esm/app-nav-bar/user-menu.js +1 -0
- package/esm/card/styled-components.js +0 -1
- package/esm/combobox/combobox.js +5 -1
- package/esm/data-table/column-datetime.js +3 -1
- package/esm/datepicker/calendar-header.js +30 -16
- package/esm/datepicker/calendar.js +19 -8
- package/esm/datepicker/constants.js +5 -1
- package/esm/datepicker/datepicker.js +150 -77
- package/esm/datepicker/day.js +59 -30
- 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/date-helpers.js +1 -1
- package/esm/datepicker/week.js +1 -0
- package/esm/dnd-list/list.js +1 -2
- package/esm/dnd-list/styled-components.js +1 -1
- package/esm/helper/helper.js +1 -0
- package/esm/layer/layer.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 +4 -2
- package/esm/select/select-component.js +1 -0
- package/esm/themes/shared/lighting.js +5 -1
- package/esm/timepicker/timepicker.js +17 -11
- 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/map-marker/index.d.ts +6 -5
- package/menu/maybe-child-menu.js +1 -0
- package/menu/maybe-child-menu.js.flow +1 -0
- package/modal/index.d.ts +1 -1
- package/modal/types.js.flow +4 -1
- package/package.json +3 -2
- 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 +4 -2
- package/popover/stateful-container.js.flow +2 -0
- package/popover/types.js.flow +6 -1
- package/select/select-component.js +1 -0
- package/select/select-component.js.flow +1 -0
- package/snackbar/index.d.ts +21 -16
- 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/tooltip.js +1 -0
- package/tooltip/tooltip.js.flow +6 -1
package/app-nav-bar/user-menu.js
CHANGED
|
@@ -98,7 +98,6 @@ var Title = (0, _index.styled)('h1', function (_ref7) {
|
|
|
98
98
|
var $theme = _ref7.$theme;
|
|
99
99
|
return _objectSpread(_objectSpread({}, $theme.typography.HeadingSmall), {}, {
|
|
100
100
|
color: $theme.colors.contentPrimary,
|
|
101
|
-
fontWeight: 500,
|
|
102
101
|
marginLeft: 0,
|
|
103
102
|
marginTop: 0,
|
|
104
103
|
marginRight: 0,
|
|
@@ -72,7 +72,6 @@ export const Thumbnail = styled<{}>('img', ({$theme}) => ({
|
|
|
72
72
|
export const Title = styled<{}>('h1', ({$theme}) => ({
|
|
73
73
|
...$theme.typography.HeadingSmall,
|
|
74
74
|
color: $theme.colors.contentPrimary,
|
|
75
|
-
fontWeight: 500,
|
|
76
75
|
marginLeft: 0,
|
|
77
76
|
marginTop: 0,
|
|
78
77
|
marginRight: 0,
|
package/combobox/combobox.js
CHANGED
|
@@ -306,7 +306,11 @@ function Combobox(props) {
|
|
|
306
306
|
return /*#__PURE__*/React.createElement(Root // eslint-disable-next-line flowtype/no-weak-types
|
|
307
307
|
, _extends({
|
|
308
308
|
ref: rootRef
|
|
309
|
-
}, rootProps), /*#__PURE__*/React.createElement(OverriddenPopover,
|
|
309
|
+
}, rootProps), /*#__PURE__*/React.createElement(OverriddenPopover // React-focus-lock used in Popover used to skip non-tabbable elements (`tabIndex=-1`) elements for focus, we had ListBox with tabIndex to disable focus on
|
|
310
|
+
// the ListBox, but we can just disable autoFocus (as ListBox / ListItem should not be focusable) (and input is also not autoFocused).
|
|
311
|
+
// Select Component does the same thing
|
|
312
|
+
, _extends({
|
|
313
|
+
autoFocus: false,
|
|
310
314
|
isOpen: isOpen,
|
|
311
315
|
overrides: popoverOverrides,
|
|
312
316
|
placement: _index2.PLACEMENT.bottomLeft,
|
|
@@ -258,6 +258,10 @@ function Combobox<OptionT>(props: PropsT<OptionT>) {
|
|
|
258
258
|
{...rootProps}
|
|
259
259
|
>
|
|
260
260
|
<OverriddenPopover
|
|
261
|
+
// React-focus-lock used in Popover used to skip non-tabbable elements (`tabIndex=-1`) elements for focus, we had ListBox with tabIndex to disable focus on
|
|
262
|
+
// the ListBox, but we can just disable autoFocus (as ListBox / ListItem should not be focusable) (and input is also not autoFocused).
|
|
263
|
+
// Select Component does the same thing
|
|
264
|
+
autoFocus={false}
|
|
261
265
|
isOpen={isOpen}
|
|
262
266
|
overrides={popoverOverrides}
|
|
263
267
|
placement={PLACEMENT.bottomLeft}
|
package/combobox/index.d.ts
CHANGED
|
@@ -17,11 +17,14 @@ export interface ComboboxOverrides {
|
|
|
17
17
|
ListItem?: Override<any>;
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
-
export type PropsT<OptionT =
|
|
20
|
+
export type PropsT<OptionT = any> = {
|
|
21
21
|
autocomplete?: boolean;
|
|
22
22
|
disabled?: boolean;
|
|
23
|
-
mapOptionToNode?: (
|
|
24
|
-
|
|
23
|
+
mapOptionToNode?: (option: {
|
|
24
|
+
isSelected: boolean;
|
|
25
|
+
option: OptionT;
|
|
26
|
+
}) => React.ReactNode;
|
|
27
|
+
mapOptionToString: (option: OptionT) => string;
|
|
25
28
|
id?: string;
|
|
26
29
|
name?: string;
|
|
27
30
|
inputRef?: React.Ref<HTMLInputElement>;
|
|
@@ -86,6 +86,7 @@ function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(
|
|
|
86
86
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
87
87
|
|
|
88
88
|
var DATE_FORMAT = 'MM-dd-yyyy';
|
|
89
|
+
var MASK = '99-99-9999 - 99-99-9999';
|
|
89
90
|
var TIME_FORMAT = 'HH:mm ss:SS';
|
|
90
91
|
var FORMAT_STRING = "".concat(DATE_FORMAT, " ").concat(TIME_FORMAT);
|
|
91
92
|
|
|
@@ -455,12 +456,13 @@ function DatetimeFilter(props) {
|
|
|
455
456
|
if (Array.isArray(date)) {
|
|
456
457
|
if (!date.length) return;
|
|
457
458
|
var nextDates = date.map(function (d, i) {
|
|
458
|
-
return (0, _index13.applyDateToTime)(rangeDates[i], d);
|
|
459
|
+
return d ? (0, _index13.applyDateToTime)(rangeDates[i], d) : null;
|
|
459
460
|
});
|
|
460
461
|
setRangeDates(nextDates);
|
|
461
462
|
}
|
|
462
463
|
},
|
|
463
464
|
formatString: DATE_FORMAT,
|
|
465
|
+
mask: MASK,
|
|
464
466
|
placeholder: "MM-DD-YYYY - MM-DD-YYYY",
|
|
465
467
|
minDate: datesSorted[0],
|
|
466
468
|
maxDate: datesSorted[datesSorted.length - 1],
|
|
@@ -68,6 +68,7 @@ type FilterParametersT = {|
|
|
|
68
68
|
type DatetimeColumnT = ColumnT<Date, FilterParametersT>;
|
|
69
69
|
|
|
70
70
|
const DATE_FORMAT = 'MM-dd-yyyy';
|
|
71
|
+
const MASK = '99-99-9999 - 99-99-9999';
|
|
71
72
|
const TIME_FORMAT = 'HH:mm ss:SS';
|
|
72
73
|
const FORMAT_STRING = `${DATE_FORMAT} ${TIME_FORMAT}`;
|
|
73
74
|
|
|
@@ -409,12 +410,13 @@ function DatetimeFilter(props) {
|
|
|
409
410
|
if (Array.isArray(date)) {
|
|
410
411
|
if (!date.length) return;
|
|
411
412
|
const nextDates = date.map((d, i) =>
|
|
412
|
-
applyDateToTime(rangeDates[i], d),
|
|
413
|
+
d ? applyDateToTime(rangeDates[i], d) : null,
|
|
413
414
|
);
|
|
414
415
|
setRangeDates(nextDates);
|
|
415
416
|
}
|
|
416
417
|
}}
|
|
417
418
|
formatString={DATE_FORMAT}
|
|
419
|
+
mask={MASK}
|
|
418
420
|
placeholder="MM-DD-YYYY - MM-DD-YYYY"
|
|
419
421
|
minDate={datesSorted[0]}
|
|
420
422
|
maxDate={datesSorted[datesSorted.length - 1]}
|
|
@@ -292,8 +292,10 @@ var CalendarHeader = /*#__PURE__*/function (_React$Component) {
|
|
|
292
292
|
|
|
293
293
|
var date = _this.getDateProp();
|
|
294
294
|
|
|
295
|
-
var _this$
|
|
296
|
-
|
|
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;
|
|
297
299
|
|
|
298
300
|
var allPrevDaysDisabled = _this.dateHelpers.monthDisabledBefore(date, _this.props);
|
|
299
301
|
|
|
@@ -343,7 +345,7 @@ var CalendarHeader = /*#__PURE__*/function (_React$Component) {
|
|
|
343
345
|
$disabled: isDisabled,
|
|
344
346
|
$order: _this.props.order
|
|
345
347
|
}, prevButtonProps), isHidden ? null : /*#__PURE__*/React.createElement(PrevButtonIcon, _extends({
|
|
346
|
-
size:
|
|
348
|
+
size: density === _constants.DENSITY.high ? 24 : 36,
|
|
347
349
|
overrides: {
|
|
348
350
|
Svg: {
|
|
349
351
|
style: navBtnStyle
|
|
@@ -358,8 +360,10 @@ var CalendarHeader = /*#__PURE__*/function (_React$Component) {
|
|
|
358
360
|
|
|
359
361
|
var date = _this.getDateProp();
|
|
360
362
|
|
|
361
|
-
var _this$
|
|
362
|
-
|
|
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;
|
|
363
367
|
|
|
364
368
|
var allNextDaysDisabled = _this.dateHelpers.monthDisabledAfter(date, _this.props);
|
|
365
369
|
|
|
@@ -413,7 +417,7 @@ var CalendarHeader = /*#__PURE__*/function (_React$Component) {
|
|
|
413
417
|
$isFocusVisible: _this.state.isFocusVisible,
|
|
414
418
|
$order: _this.props.order
|
|
415
419
|
}, nextButtonProps), isHidden ? null : /*#__PURE__*/React.createElement(NextButtonIcon, _extends({
|
|
416
|
-
size:
|
|
420
|
+
size: density === _constants.DENSITY.high ? 24 : 36,
|
|
417
421
|
overrides: {
|
|
418
422
|
Svg: {
|
|
419
423
|
style: navBtnStyle
|
|
@@ -439,10 +443,11 @@ var CalendarHeader = /*#__PURE__*/function (_React$Component) {
|
|
|
439
443
|
|
|
440
444
|
var year = _this.dateHelpers.getYear(date);
|
|
441
445
|
|
|
442
|
-
var _this$
|
|
443
|
-
locale = _this$
|
|
444
|
-
_this$
|
|
445
|
-
overrides = _this$
|
|
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;
|
|
446
451
|
|
|
447
452
|
var _getOverrides9 = (0, _overrides.getOverrides)(overrides.MonthYearSelectButton, _styledComponents.StyledMonthYearSelectButton),
|
|
448
453
|
_getOverrides10 = _slicedToArray(_getOverrides9, 2),
|
|
@@ -540,6 +545,7 @@ var CalendarHeader = /*#__PURE__*/function (_React$Component) {
|
|
|
540
545
|
"aria-live": "polite",
|
|
541
546
|
type: "button",
|
|
542
547
|
$isFocusVisible: _this.state.isFocusVisible,
|
|
548
|
+
$density: density,
|
|
543
549
|
onKeyUp: function onKeyUp(event) {
|
|
544
550
|
if (_this.canArrowsOpenDropdown(event)) {
|
|
545
551
|
_this.setState({
|
|
@@ -567,7 +573,8 @@ var CalendarHeader = /*#__PURE__*/function (_React$Component) {
|
|
|
567
573
|
role: 'presentation'
|
|
568
574
|
}
|
|
569
575
|
}
|
|
570
|
-
}
|
|
576
|
+
},
|
|
577
|
+
size: density === _constants.DENSITY.high ? 16 : 24
|
|
571
578
|
})))), /*#__PURE__*/React.createElement(OverriddenPopover, _extends({
|
|
572
579
|
placement: "bottom",
|
|
573
580
|
focusLock: true,
|
|
@@ -621,6 +628,7 @@ var CalendarHeader = /*#__PURE__*/function (_React$Component) {
|
|
|
621
628
|
"aria-live": "polite",
|
|
622
629
|
type: "button",
|
|
623
630
|
$isFocusVisible: _this.state.isFocusVisible,
|
|
631
|
+
$density: density,
|
|
624
632
|
onKeyUp: function onKeyUp(event) {
|
|
625
633
|
if (_this.canArrowsOpenDropdown(event)) {
|
|
626
634
|
_this.setState({
|
|
@@ -648,7 +656,8 @@ var CalendarHeader = /*#__PURE__*/function (_React$Component) {
|
|
|
648
656
|
role: 'presentation'
|
|
649
657
|
}
|
|
650
658
|
}
|
|
651
|
-
}
|
|
659
|
+
},
|
|
660
|
+
size: density === _constants.DENSITY.high ? 16 : 24
|
|
652
661
|
})))));
|
|
653
662
|
});
|
|
654
663
|
|
|
@@ -685,8 +694,10 @@ var CalendarHeader = /*#__PURE__*/function (_React$Component) {
|
|
|
685
694
|
value: function render() {
|
|
686
695
|
var _this2 = this;
|
|
687
696
|
|
|
688
|
-
var _this$
|
|
689
|
-
|
|
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;
|
|
690
701
|
|
|
691
702
|
var _getOverrides17 = (0, _overrides.getOverrides)(overrides.CalendarHeader, _styledComponents.StyledCalendarHeader),
|
|
692
703
|
_getOverrides18 = _slicedToArray(_getOverrides17, 2),
|
|
@@ -707,6 +718,7 @@ var CalendarHeader = /*#__PURE__*/function (_React$Component) {
|
|
|
707
718
|
return /*#__PURE__*/React.createElement(_themeProvider.ThemeContext.Consumer, null, function (theme) {
|
|
708
719
|
return /*#__PURE__*/React.createElement(_index3.LocaleContext.Consumer, null, function (locale) {
|
|
709
720
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_CalendarHeader, _extends({}, calendarHeaderProps, {
|
|
721
|
+
$density: _this2.props.density,
|
|
710
722
|
onFocus: (0, _focusVisible.forkFocus)(calendarHeaderProps, _this2.handleFocus),
|
|
711
723
|
onBlur: (0, _focusVisible.forkBlur)(calendarHeaderProps, _this2.handleBlur)
|
|
712
724
|
}), _this2.renderPreviousMonthButton({
|
|
@@ -723,7 +735,9 @@ var CalendarHeader = /*#__PURE__*/function (_React$Component) {
|
|
|
723
735
|
return /*#__PURE__*/React.createElement(WeekdayHeader, _extends({
|
|
724
736
|
key: offset,
|
|
725
737
|
alt: _this2.dateHelpers.getWeekdayInLocale(day, _this2.props.locale)
|
|
726
|
-
}, weekdayHeaderProps
|
|
738
|
+
}, weekdayHeaderProps, {
|
|
739
|
+
$density: density
|
|
740
|
+
}), _this2.dateHelpers.getWeekdayMinInLocale(day, _this2.props.locale));
|
|
727
741
|
})));
|
|
728
742
|
});
|
|
729
743
|
});
|
|
@@ -25,7 +25,7 @@ import {
|
|
|
25
25
|
StyledMonthYearSelectButton,
|
|
26
26
|
StyledMonthYearSelectIconContainer,
|
|
27
27
|
} from './styled-components.js';
|
|
28
|
-
import {ORIENTATION, WEEKDAYS} from './constants.js';
|
|
28
|
+
import {ORIENTATION, WEEKDAYS, DENSITY} from './constants.js';
|
|
29
29
|
import {getOverrides, mergeOverrides} from '../helpers/overrides.js';
|
|
30
30
|
import type {HeaderPropsT} from './types.js';
|
|
31
31
|
import type {LocaleT} from '../locale/types.js';
|
|
@@ -266,7 +266,7 @@ export default class CalendarHeader<T = Date> extends React.Component<
|
|
|
266
266
|
theme: ThemeT,
|
|
267
267
|
}) => {
|
|
268
268
|
const date = this.getDateProp();
|
|
269
|
-
const {overrides = {}} = this.props;
|
|
269
|
+
const {overrides = {}, density} = this.props;
|
|
270
270
|
const allPrevDaysDisabled = this.dateHelpers.monthDisabledBefore(
|
|
271
271
|
date,
|
|
272
272
|
this.props,
|
|
@@ -315,7 +315,7 @@ export default class CalendarHeader<T = Date> extends React.Component<
|
|
|
315
315
|
>
|
|
316
316
|
{isHidden ? null : (
|
|
317
317
|
<PrevButtonIcon
|
|
318
|
-
size={
|
|
318
|
+
size={density === DENSITY.high ? 24 : 36}
|
|
319
319
|
overrides={{Svg: {style: navBtnStyle}}}
|
|
320
320
|
{...prevButtonIconProps}
|
|
321
321
|
/>
|
|
@@ -332,7 +332,7 @@ export default class CalendarHeader<T = Date> extends React.Component<
|
|
|
332
332
|
theme: ThemeT,
|
|
333
333
|
}) => {
|
|
334
334
|
const date = this.getDateProp();
|
|
335
|
-
const {overrides = {}} = this.props;
|
|
335
|
+
const {overrides = {}, density} = this.props;
|
|
336
336
|
const allNextDaysDisabled = this.dateHelpers.monthDisabledAfter(
|
|
337
337
|
date,
|
|
338
338
|
this.props,
|
|
@@ -388,7 +388,7 @@ export default class CalendarHeader<T = Date> extends React.Component<
|
|
|
388
388
|
>
|
|
389
389
|
{isHidden ? null : (
|
|
390
390
|
<NextButtonIcon
|
|
391
|
-
size={
|
|
391
|
+
size={density === DENSITY.high ? 24 : 36}
|
|
392
392
|
overrides={{Svg: {style: navBtnStyle}}}
|
|
393
393
|
{...nextButtonIconProps}
|
|
394
394
|
/>
|
|
@@ -411,7 +411,7 @@ export default class CalendarHeader<T = Date> extends React.Component<
|
|
|
411
411
|
const month = this.dateHelpers.getMonth(date);
|
|
412
412
|
const year = this.dateHelpers.getYear(date);
|
|
413
413
|
|
|
414
|
-
const {locale, overrides = {}} = this.props;
|
|
414
|
+
const {locale, overrides = {}, density} = this.props;
|
|
415
415
|
const [MonthYearSelectButton, monthYearSelectButtonProps] = getOverrides(
|
|
416
416
|
overrides.MonthYearSelectButton,
|
|
417
417
|
StyledMonthYearSelectButton,
|
|
@@ -496,6 +496,7 @@ export default class CalendarHeader<T = Date> extends React.Component<
|
|
|
496
496
|
aria-live="polite"
|
|
497
497
|
type="button"
|
|
498
498
|
$isFocusVisible={this.state.isFocusVisible}
|
|
499
|
+
$density={density}
|
|
499
500
|
onKeyUp={event => {
|
|
500
501
|
if (this.canArrowsOpenDropdown(event)) {
|
|
501
502
|
this.setState({isMonthDropdownOpen: true});
|
|
@@ -520,6 +521,7 @@ export default class CalendarHeader<T = Date> extends React.Component<
|
|
|
520
521
|
<ChevronDown
|
|
521
522
|
title=""
|
|
522
523
|
overrides={{Svg: {props: {role: 'presentation'}}}}
|
|
524
|
+
size={density === DENSITY.high ? 16 : 24}
|
|
523
525
|
/>
|
|
524
526
|
</MonthYearSelectIconContainer>
|
|
525
527
|
</MonthYearSelectButton>
|
|
@@ -564,6 +566,7 @@ export default class CalendarHeader<T = Date> extends React.Component<
|
|
|
564
566
|
aria-live="polite"
|
|
565
567
|
type="button"
|
|
566
568
|
$isFocusVisible={this.state.isFocusVisible}
|
|
569
|
+
$density={density}
|
|
567
570
|
onKeyUp={event => {
|
|
568
571
|
if (this.canArrowsOpenDropdown(event)) {
|
|
569
572
|
this.setState({isYearDropdownOpen: true});
|
|
@@ -588,6 +591,7 @@ export default class CalendarHeader<T = Date> extends React.Component<
|
|
|
588
591
|
<ChevronDown
|
|
589
592
|
title=""
|
|
590
593
|
overrides={{Svg: {props: {role: 'presentation'}}}}
|
|
594
|
+
size={density === DENSITY.high ? 16 : 24}
|
|
591
595
|
/>
|
|
592
596
|
</MonthYearSelectIconContainer>
|
|
593
597
|
</MonthYearSelectButton>
|
|
@@ -597,7 +601,7 @@ export default class CalendarHeader<T = Date> extends React.Component<
|
|
|
597
601
|
};
|
|
598
602
|
|
|
599
603
|
render() {
|
|
600
|
-
const {overrides = {}} = this.props;
|
|
604
|
+
const {overrides = {}, density} = this.props;
|
|
601
605
|
const [CalendarHeader, calendarHeaderProps] = getOverrides(
|
|
602
606
|
overrides.CalendarHeader,
|
|
603
607
|
StyledCalendarHeader,
|
|
@@ -623,6 +627,7 @@ export default class CalendarHeader<T = Date> extends React.Component<
|
|
|
623
627
|
<>
|
|
624
628
|
<CalendarHeader
|
|
625
629
|
{...calendarHeaderProps}
|
|
630
|
+
$density={this.props.density}
|
|
626
631
|
onFocus={forkFocus(calendarHeaderProps, this.handleFocus)}
|
|
627
632
|
onBlur={forkBlur(calendarHeaderProps, this.handleBlur)}
|
|
628
633
|
>
|
|
@@ -644,6 +649,7 @@ export default class CalendarHeader<T = Date> extends React.Component<
|
|
|
644
649
|
this.props.locale,
|
|
645
650
|
)}
|
|
646
651
|
{...weekdayHeaderProps}
|
|
652
|
+
$density={density}
|
|
647
653
|
>
|
|
648
654
|
{this.dateHelpers.getWeekdayMinInLocale(
|
|
649
655
|
day,
|
package/datepicker/calendar.js
CHANGED
|
@@ -339,10 +339,16 @@ var Calendar = /*#__PURE__*/function (_React$Component) {
|
|
|
339
339
|
|
|
340
340
|
|
|
341
341
|
if (Array.isArray(data.date)) {
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
342
|
+
var start = data.date[0] ? _this.dateHelpers.applyDateToTime(newTimeState[0], data.date[0]) : null;
|
|
343
|
+
var end = data.date[1] ? _this.dateHelpers.applyDateToTime(newTimeState[1], data.date[1]) : null;
|
|
344
|
+
newTimeState[0] = start;
|
|
345
|
+
|
|
346
|
+
if (end) {
|
|
347
|
+
updatedDate = [start, end];
|
|
348
|
+
newTimeState[1] = end;
|
|
349
|
+
} else {
|
|
350
|
+
updatedDate = [start];
|
|
351
|
+
}
|
|
346
352
|
} else if (!Array.isArray(_this.props.value) && data.date) {
|
|
347
353
|
newTimeState[0] = _this.dateHelpers.applyDateToTime(newTimeState[0], data.date);
|
|
348
354
|
updatedDate = newTimeState[0];
|
|
@@ -374,7 +380,7 @@ var Calendar = /*#__PURE__*/function (_React$Component) {
|
|
|
374
380
|
|
|
375
381
|
if (Array.isArray(_this.props.value)) {
|
|
376
382
|
var dates = _this.props.value.map(function (date, i) {
|
|
377
|
-
if (index === i) {
|
|
383
|
+
if (date && index === i) {
|
|
378
384
|
return _this.dateHelpers.applyTimeToDate(date, time);
|
|
379
385
|
}
|
|
380
386
|
|
|
@@ -382,7 +388,7 @@ var Calendar = /*#__PURE__*/function (_React$Component) {
|
|
|
382
388
|
});
|
|
383
389
|
|
|
384
390
|
onChange({
|
|
385
|
-
date: dates
|
|
391
|
+
date: [dates[0], dates[1]]
|
|
386
392
|
});
|
|
387
393
|
} else {
|
|
388
394
|
var date = _this.dateHelpers.applyTimeToDate(_this.props.value, time);
|
|
@@ -426,10 +432,13 @@ var Calendar = /*#__PURE__*/function (_React$Component) {
|
|
|
426
432
|
"aria-roledescription": translations.ariaRoleDescCalMonth,
|
|
427
433
|
"aria-multiselectable": _this.props.range || null,
|
|
428
434
|
onKeyDown: _this.onKeyDown
|
|
429
|
-
}, calendarContainerProps
|
|
435
|
+
}, calendarContainerProps, {
|
|
436
|
+
$density: _this.props.density
|
|
437
|
+
}), /*#__PURE__*/React.createElement(_month.default, {
|
|
430
438
|
adapter: _this.props.adapter,
|
|
431
439
|
date: monthDate,
|
|
432
440
|
dateLabel: _this.props.dateLabel,
|
|
441
|
+
density: _this.props.density,
|
|
433
442
|
excludeDates: _this.props.excludeDates,
|
|
434
443
|
filterDate: _this.props.filterDate,
|
|
435
444
|
highlightedDate: _this.state.highlightedDate,
|
|
@@ -711,6 +720,7 @@ var Calendar = /*#__PURE__*/function (_React$Component) {
|
|
|
711
720
|
|
|
712
721
|
return /*#__PURE__*/React.createElement(_index2.LocaleContext.Consumer, null, function (locale) {
|
|
713
722
|
return /*#__PURE__*/React.createElement(Root, _extends({
|
|
723
|
+
$density: _this2.props.density,
|
|
714
724
|
"data-baseweb": "calendar",
|
|
715
725
|
role: "application",
|
|
716
726
|
"aria-roledescription": "datepicker",
|
|
@@ -742,6 +752,7 @@ exports.default = Calendar;
|
|
|
742
752
|
_defineProperty(Calendar, "defaultProps", {
|
|
743
753
|
autoFocusCalendar: false,
|
|
744
754
|
dateLabel: null,
|
|
755
|
+
density: _constants.DENSITY.default,
|
|
745
756
|
excludeDates: null,
|
|
746
757
|
filterDate: null,
|
|
747
758
|
highlightedDate: null,
|
|
@@ -22,8 +22,12 @@ import {
|
|
|
22
22
|
import dateFnsAdapter from './utils/date-fns-adapter.js';
|
|
23
23
|
import DateHelpers from './utils/date-helpers.js';
|
|
24
24
|
import {getOverrides, mergeOverrides} from '../helpers/overrides.js';
|
|
25
|
-
import type {
|
|
26
|
-
|
|
25
|
+
import type {
|
|
26
|
+
CalendarPropsT,
|
|
27
|
+
CalendarInternalState,
|
|
28
|
+
DateValueT,
|
|
29
|
+
} from './types.js';
|
|
30
|
+
import {DENSITY, ORIENTATION} from './constants.js';
|
|
27
31
|
|
|
28
32
|
export default class Calendar<T = Date> extends React.Component<
|
|
29
33
|
CalendarPropsT<T>,
|
|
@@ -32,6 +36,7 @@ export default class Calendar<T = Date> extends React.Component<
|
|
|
32
36
|
static defaultProps: {adapter: DateIOAdapter<Date>} = {
|
|
33
37
|
autoFocusCalendar: false,
|
|
34
38
|
dateLabel: null,
|
|
39
|
+
density: DENSITY.default,
|
|
35
40
|
excludeDates: null,
|
|
36
41
|
filterDate: null,
|
|
37
42
|
highlightedDate: null,
|
|
@@ -139,7 +144,7 @@ export default class Calendar<T = Date> extends React.Component<
|
|
|
139
144
|
return monthDelta >= 0 && monthDelta < (this.props.monthsShown || 1);
|
|
140
145
|
}
|
|
141
146
|
|
|
142
|
-
getSingleDate(value:
|
|
147
|
+
getSingleDate(value: DateValueT<T>): ?T {
|
|
143
148
|
// need to check this.props.range but flow would complain
|
|
144
149
|
// at the return value in the else clause
|
|
145
150
|
if (Array.isArray(value)) {
|
|
@@ -345,20 +350,26 @@ export default class Calendar<T = Date> extends React.Component<
|
|
|
345
350
|
this.props.onDayMouseLeave && this.props.onDayMouseLeave(data);
|
|
346
351
|
};
|
|
347
352
|
|
|
348
|
-
handleDateChange: ({date:
|
|
353
|
+
handleDateChange: ({date: DateValueT<T>}) => void = data => {
|
|
349
354
|
const {onChange = params => {}} = this.props;
|
|
350
355
|
let updatedDate = data.date;
|
|
351
356
|
// We'll need to update the date in time values of internal state
|
|
352
357
|
const newTimeState = [...this.state.time];
|
|
353
358
|
// Apply the currently selected time values (saved in state) to the updated date
|
|
354
359
|
if (Array.isArray(data.date)) {
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
)
|
|
360
|
-
|
|
361
|
-
|
|
360
|
+
const start = data.date[0]
|
|
361
|
+
? this.dateHelpers.applyDateToTime(newTimeState[0], data.date[0])
|
|
362
|
+
: null;
|
|
363
|
+
const end = data.date[1]
|
|
364
|
+
? this.dateHelpers.applyDateToTime(newTimeState[1], data.date[1])
|
|
365
|
+
: null;
|
|
366
|
+
newTimeState[0] = start;
|
|
367
|
+
if (end) {
|
|
368
|
+
updatedDate = [start, end];
|
|
369
|
+
newTimeState[1] = end;
|
|
370
|
+
} else {
|
|
371
|
+
updatedDate = [start];
|
|
372
|
+
}
|
|
362
373
|
} else if (!Array.isArray(this.props.value) && data.date) {
|
|
363
374
|
newTimeState[0] = this.dateHelpers.applyDateToTime(
|
|
364
375
|
newTimeState[0],
|
|
@@ -366,6 +377,7 @@ export default class Calendar<T = Date> extends React.Component<
|
|
|
366
377
|
);
|
|
367
378
|
updatedDate = newTimeState[0];
|
|
368
379
|
}
|
|
380
|
+
|
|
369
381
|
// Update the date in time values of internal state
|
|
370
382
|
this.setState({time: newTimeState});
|
|
371
383
|
onChange({date: updatedDate});
|
|
@@ -384,12 +396,12 @@ export default class Calendar<T = Date> extends React.Component<
|
|
|
384
396
|
// with the date value set to the date with updated time
|
|
385
397
|
if (Array.isArray(this.props.value)) {
|
|
386
398
|
const dates = this.props.value.map((date, i) => {
|
|
387
|
-
if (index === i) {
|
|
399
|
+
if (date && index === i) {
|
|
388
400
|
return this.dateHelpers.applyTimeToDate(date, time);
|
|
389
401
|
}
|
|
390
402
|
return date;
|
|
391
403
|
});
|
|
392
|
-
onChange({date: dates});
|
|
404
|
+
onChange({date: [dates[0], dates[1]]});
|
|
393
405
|
} else {
|
|
394
406
|
const date = this.dateHelpers.applyTimeToDate(this.props.value, time);
|
|
395
407
|
onChange({date});
|
|
@@ -442,11 +454,13 @@ export default class Calendar<T = Date> extends React.Component<
|
|
|
442
454
|
aria-multiselectable={this.props.range || null}
|
|
443
455
|
onKeyDown={this.onKeyDown}
|
|
444
456
|
{...calendarContainerProps}
|
|
457
|
+
$density={this.props.density}
|
|
445
458
|
>
|
|
446
459
|
<Month
|
|
447
460
|
adapter={this.props.adapter}
|
|
448
461
|
date={monthDate}
|
|
449
462
|
dateLabel={this.props.dateLabel}
|
|
463
|
+
density={this.props.density}
|
|
450
464
|
excludeDates={this.props.excludeDates}
|
|
451
465
|
filterDate={this.props.filterDate}
|
|
452
466
|
highlightedDate={this.state.highlightedDate}
|
|
@@ -643,6 +657,7 @@ export default class Calendar<T = Date> extends React.Component<
|
|
|
643
657
|
<LocaleContext.Consumer>
|
|
644
658
|
{locale => (
|
|
645
659
|
<Root
|
|
660
|
+
$density={this.props.density}
|
|
646
661
|
data-baseweb="calendar"
|
|
647
662
|
role="application"
|
|
648
663
|
aria-roledescription="datepicker"
|
package/datepicker/constants.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.DEFAULT_MONTHS = exports.WEEKDAYS = exports.STATE_CHANGE_TYPE = exports.ORIENTATION = exports.ISO_MONTH_FORMAT = exports.ISO_FORMAT = exports.DISPLAY_FORMAT = void 0;
|
|
6
|
+
exports.DENSITY = exports.DEFAULT_MONTHS = exports.WEEKDAYS = exports.STATE_CHANGE_TYPE = exports.ORIENTATION = exports.ISO_MONTH_FORMAT = exports.ISO_FORMAT = exports.DISPLAY_FORMAT = void 0;
|
|
7
7
|
|
|
8
8
|
/*
|
|
9
9
|
Copyright (c) Uber Technologies, Inc.
|
|
@@ -35,4 +35,9 @@ exports.STATE_CHANGE_TYPE = STATE_CHANGE_TYPE;
|
|
|
35
35
|
var WEEKDAYS = [0, 1, 2, 3, 4, 5, 6];
|
|
36
36
|
exports.WEEKDAYS = WEEKDAYS;
|
|
37
37
|
var DEFAULT_MONTHS = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];
|
|
38
|
-
exports.DEFAULT_MONTHS = DEFAULT_MONTHS;
|
|
38
|
+
exports.DEFAULT_MONTHS = DEFAULT_MONTHS;
|
|
39
|
+
var DENSITY = {
|
|
40
|
+
high: 'high',
|
|
41
|
+
default: 'default'
|
|
42
|
+
};
|
|
43
|
+
exports.DENSITY = DENSITY;
|
|
@@ -28,6 +28,11 @@ export const WEEKDAYS = [0, 1, 2, 3, 4, 5, 6];
|
|
|
28
28
|
|
|
29
29
|
export const DEFAULT_MONTHS = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];
|
|
30
30
|
|
|
31
|
+
export const DENSITY = {
|
|
32
|
+
high: 'high',
|
|
33
|
+
default: 'default',
|
|
34
|
+
};
|
|
35
|
+
|
|
31
36
|
declare var __DEV__: boolean;
|
|
32
37
|
declare var __NODE__: boolean;
|
|
33
38
|
declare var __BROWSER__: boolean;
|