baseui 0.0.0-alpha-6b3031e → 0.0.0-alpha-3a96a5e
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 +11 -4
- package/combobox/combobox.js.flow +8 -2
- package/combobox/index.d.ts +6 -3
- package/combobox/types.js.flow +2 -0
- package/data-table/column-datetime.js +3 -1
- package/data-table/column-datetime.js.flow +3 -1
- package/datepicker/calendar-header.js +145 -72
- package/datepicker/calendar-header.js.flow +124 -58
- 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 +60 -30
- package/datepicker/day.js.flow +105 -51
- package/datepicker/index.d.ts +8 -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 +117 -57
- package/datepicker/styled-components.js.flow +105 -37
- package/datepicker/types.js.flow +29 -10
- package/datepicker/utils/calendar-header-helpers.js +8 -6
- package/datepicker/utils/calendar-header-helpers.js.flow +11 -9
- package/datepicker/utils/date-helpers.js +1 -1
- package/datepicker/utils/date-helpers.js.flow +1 -1
- package/datepicker/utils/types.js.flow +0 -6
- 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 +11 -4
- package/es/data-table/column-datetime.js +3 -1
- package/es/datepicker/calendar-header.js +111 -53
- 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 +53 -30
- package/es/datepicker/month.js +3 -0
- package/es/datepicker/styled-components.js +99 -38
- package/es/datepicker/types.js +1 -1
- package/es/datepicker/utils/calendar-header-helpers.js +4 -5
- 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/menu/maybe-child-menu.js +1 -2
- package/es/menu/nested-menus.js +49 -3
- package/es/menu/stateful-container.js +13 -12
- package/es/popover/popover.js +8 -5
- package/es/popover/stateful-container.js +8 -2
- package/es/progress-bar/progressbar.js +10 -3
- package/es/rating/emoticon-rating.js +3 -1
- package/es/rating/star-rating.js +3 -1
- package/es/select/select-component.js +7 -15
- package/es/select/styled-components.js +34 -4
- package/es/snackbar/snackbar-context.js +16 -4
- package/es/spinner/styled-components.js +34 -16
- 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 +16 -11
- package/es/themes/light-theme/color-component-tokens.js +24 -19
- package/es/themes/shared/lighting.js +5 -1
- package/es/timepicker/timepicker.js +16 -11
- package/es/toast/styled-components.js +18 -7
- 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 +11 -4
- package/esm/data-table/column-datetime.js +3 -1
- package/esm/datepicker/calendar-header.js +147 -74
- 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 +60 -30
- package/esm/datepicker/month.js +3 -0
- package/esm/datepicker/styled-components.js +113 -56
- package/esm/datepicker/types.js +1 -1
- package/esm/datepicker/utils/calendar-header-helpers.js +5 -6
- 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/menu/maybe-child-menu.js +1 -2
- package/esm/menu/nested-menus.js +66 -5
- package/esm/menu/stateful-container.js +15 -13
- package/esm/popover/popover.js +8 -5
- package/esm/popover/stateful-container.js +8 -2
- package/esm/progress-bar/progressbar.js +16 -3
- package/esm/rating/emoticon-rating.js +2 -2
- package/esm/rating/star-rating.js +2 -2
- package/esm/select/select-component.js +7 -16
- package/esm/select/styled-components.js +28 -4
- package/esm/snackbar/snackbar-context.js +16 -4
- package/esm/spinner/styled-components.js +35 -16
- 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 +16 -11
- package/esm/themes/light-theme/color-component-tokens.js +24 -19
- package/esm/themes/shared/lighting.js +5 -1
- package/esm/timepicker/timepicker.js +17 -11
- package/esm/toast/styled-components.js +13 -5
- 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/index.d.ts +6 -5
- package/menu/index.d.ts +10 -4
- package/menu/maybe-child-menu.js +1 -2
- package/menu/maybe-child-menu.js.flow +1 -2
- package/menu/nested-menus.js +66 -5
- package/menu/nested-menus.js.flow +50 -5
- package/menu/stateful-container.js +15 -13
- package/menu/stateful-container.js.flow +19 -13
- package/menu/types.js.flow +9 -1
- package/modal/index.d.ts +1 -1
- package/modal/types.js.flow +4 -1
- package/package.json +4 -3
- package/popover/index.d.ts +2 -1
- package/popover/popover.js +8 -5
- package/popover/popover.js.flow +22 -11
- package/popover/stateful-container.js +8 -2
- package/popover/stateful-container.js.flow +5 -0
- package/popover/types.js.flow +6 -1
- package/progress-bar/progressbar.js +16 -3
- package/progress-bar/progressbar.js.flow +16 -2
- 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 +7 -16
- package/select/select-component.js.flow +10 -12
- package/select/styled-components.js +28 -4
- package/select/styled-components.js.flow +30 -2
- package/snackbar/index.d.ts +21 -16
- package/snackbar/snackbar-context.js +15 -4
- package/snackbar/snackbar-context.js.flow +15 -3
- package/spinner/styled-components.js +35 -16
- package/spinner/styled-components.js.flow +37 -19
- package/spinner/types.js.flow +10 -0
- 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 +16 -11
- package/themes/dark-theme/color-component-tokens.js.flow +16 -11
- package/themes/light-theme/color-component-tokens.js +24 -19
- package/themes/light-theme/color-component-tokens.js.flow +24 -19
- package/themes/shared/lighting.js +5 -1
- package/themes/shared/lighting.js.flow +4 -0
- package/themes/types.js.flow +9 -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/toast/styled-components.js +13 -5
- package/toast/styled-components.js.flow +17 -7
- 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
package/app-nav-bar/user-menu.js
CHANGED
|
@@ -48,7 +48,7 @@ var BaseButton = (0, _index.styled)('button', function (_ref) {
|
|
|
48
48
|
cursor: 'pointer',
|
|
49
49
|
':disabled': {
|
|
50
50
|
cursor: 'not-allowed',
|
|
51
|
-
backgroundColor: $theme.colors.buttonDisabledFill,
|
|
51
|
+
backgroundColor: $kind === _constants.KIND.minimal || $kind === _constants.KIND.tertiary ? 'transparent' : $theme.colors.buttonDisabledFill,
|
|
52
52
|
color: $theme.colors.buttonDisabledText
|
|
53
53
|
},
|
|
54
54
|
marginLeft: 0,
|
|
@@ -46,7 +46,10 @@ export const BaseButton = styled<SharedStylePropsT>(
|
|
|
46
46
|
cursor: 'pointer',
|
|
47
47
|
':disabled': {
|
|
48
48
|
cursor: 'not-allowed',
|
|
49
|
-
backgroundColor:
|
|
49
|
+
backgroundColor:
|
|
50
|
+
$kind === KIND.minimal || $kind === KIND.tertiary
|
|
51
|
+
? 'transparent'
|
|
52
|
+
: $theme.colors.buttonDisabledFill,
|
|
50
53
|
color: $theme.colors.buttonDisabledText,
|
|
51
54
|
},
|
|
52
55
|
marginLeft: 0,
|
|
@@ -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
|
@@ -60,6 +60,7 @@ function Combobox(props) {
|
|
|
60
60
|
onChange = props.onChange,
|
|
61
61
|
onFocus = props.onFocus,
|
|
62
62
|
onSubmit = props.onSubmit,
|
|
63
|
+
listBoxLabel = props.listBoxLabel,
|
|
63
64
|
mapOptionToNode = props.mapOptionToNode,
|
|
64
65
|
mapOptionToString = props.mapOptionToString,
|
|
65
66
|
id = props.id,
|
|
@@ -306,7 +307,11 @@ function Combobox(props) {
|
|
|
306
307
|
return /*#__PURE__*/React.createElement(Root // eslint-disable-next-line flowtype/no-weak-types
|
|
307
308
|
, _extends({
|
|
308
309
|
ref: rootRef
|
|
309
|
-
}, rootProps), /*#__PURE__*/React.createElement(OverriddenPopover,
|
|
310
|
+
}, 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
|
|
311
|
+
// the ListBox, but we can just disable autoFocus (as ListBox / ListItem should not be focusable) (and input is also not autoFocused).
|
|
312
|
+
// Select Component does the same thing
|
|
313
|
+
, _extends({
|
|
314
|
+
autoFocus: false,
|
|
310
315
|
isOpen: isOpen,
|
|
311
316
|
overrides: popoverOverrides,
|
|
312
317
|
placement: _index2.PLACEMENT.bottomLeft,
|
|
@@ -318,6 +323,7 @@ function Combobox(props) {
|
|
|
318
323
|
,
|
|
319
324
|
ref: listboxRef,
|
|
320
325
|
role: "listbox",
|
|
326
|
+
"aria-label": listBoxLabel,
|
|
321
327
|
$width: listboxWidth
|
|
322
328
|
}, listBoxProps), options.map(function (option, index) {
|
|
323
329
|
var isSelected = selectionIndex === index;
|
|
@@ -356,9 +362,8 @@ function Combobox(props) {
|
|
|
356
362
|
role: "combobox"
|
|
357
363
|
}, inputContainerProps), /*#__PURE__*/React.createElement(OverriddenInput, _extends({
|
|
358
364
|
inputRef: handleInputRef,
|
|
359
|
-
"aria-activedescendant": selectionIndex >= 0 ? activeDescendantId : undefined,
|
|
365
|
+
"aria-activedescendant": isOpen && selectionIndex >= 0 ? activeDescendantId : undefined,
|
|
360
366
|
"aria-autocomplete": "list",
|
|
361
|
-
"aria-controls": listboxId,
|
|
362
367
|
disabled: disabled,
|
|
363
368
|
error: error,
|
|
364
369
|
name: name,
|
|
@@ -371,7 +376,9 @@ function Combobox(props) {
|
|
|
371
376
|
positive: positive,
|
|
372
377
|
size: size,
|
|
373
378
|
value: tempValue ? tempValue : value
|
|
374
|
-
},
|
|
379
|
+
}, isOpen ? {
|
|
380
|
+
'aria-controls': listboxId
|
|
381
|
+
} : {}, restInputProps)))));
|
|
375
382
|
}
|
|
376
383
|
|
|
377
384
|
var _default = Combobox;
|
|
@@ -38,6 +38,7 @@ function Combobox<OptionT>(props: PropsT<OptionT>) {
|
|
|
38
38
|
onChange,
|
|
39
39
|
onFocus,
|
|
40
40
|
onSubmit,
|
|
41
|
+
listBoxLabel,
|
|
41
42
|
mapOptionToNode,
|
|
42
43
|
mapOptionToString,
|
|
43
44
|
id,
|
|
@@ -258,6 +259,10 @@ function Combobox<OptionT>(props: PropsT<OptionT>) {
|
|
|
258
259
|
{...rootProps}
|
|
259
260
|
>
|
|
260
261
|
<OverriddenPopover
|
|
262
|
+
// 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
|
|
263
|
+
// the ListBox, but we can just disable autoFocus (as ListBox / ListItem should not be focusable) (and input is also not autoFocused).
|
|
264
|
+
// Select Component does the same thing
|
|
265
|
+
autoFocus={false}
|
|
261
266
|
isOpen={isOpen}
|
|
262
267
|
overrides={popoverOverrides}
|
|
263
268
|
placement={PLACEMENT.bottomLeft}
|
|
@@ -270,6 +275,7 @@ function Combobox<OptionT>(props: PropsT<OptionT>) {
|
|
|
270
275
|
// eslint-disable-next-line flowtype/no-weak-types
|
|
271
276
|
ref={(listboxRef: any)}
|
|
272
277
|
role="listbox"
|
|
278
|
+
aria-label={listBoxLabel}
|
|
273
279
|
$width={listboxWidth}
|
|
274
280
|
{...listBoxProps}
|
|
275
281
|
>
|
|
@@ -318,10 +324,9 @@ function Combobox<OptionT>(props: PropsT<OptionT>) {
|
|
|
318
324
|
<OverriddenInput
|
|
319
325
|
inputRef={handleInputRef}
|
|
320
326
|
aria-activedescendant={
|
|
321
|
-
selectionIndex >= 0 ? activeDescendantId : undefined
|
|
327
|
+
isOpen && selectionIndex >= 0 ? activeDescendantId : undefined
|
|
322
328
|
}
|
|
323
329
|
aria-autocomplete="list"
|
|
324
|
-
aria-controls={listboxId}
|
|
325
330
|
disabled={disabled}
|
|
326
331
|
error={error}
|
|
327
332
|
name={name}
|
|
@@ -334,6 +339,7 @@ function Combobox<OptionT>(props: PropsT<OptionT>) {
|
|
|
334
339
|
positive={positive}
|
|
335
340
|
size={size}
|
|
336
341
|
value={tempValue ? tempValue : value}
|
|
342
|
+
{...(isOpen ? {'aria-controls': listboxId} : {})}
|
|
337
343
|
{...restInputProps}
|
|
338
344
|
/>
|
|
339
345
|
</InputContainer>
|
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>;
|
package/combobox/types.js.flow
CHANGED
|
@@ -18,6 +18,8 @@ export type PropsT<OptionT = mixed> = {|
|
|
|
18
18
|
disabled?: boolean,
|
|
19
19
|
// Proxies value through to Input component.
|
|
20
20
|
error?: boolean,
|
|
21
|
+
// Label used for the listbox/popup with options
|
|
22
|
+
listBoxLabel?: string,
|
|
21
23
|
// Used to render a custom node besides the default.
|
|
22
24
|
mapOptionToNode?: React.AbstractComponent<{|
|
|
23
25
|
isSelected: boolean,
|
|
@@ -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]}
|
|
@@ -43,10 +43,6 @@ function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return
|
|
|
43
43
|
|
|
44
44
|
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
45
45
|
|
|
46
|
-
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; }
|
|
47
|
-
|
|
48
|
-
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; }
|
|
49
|
-
|
|
50
46
|
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
51
47
|
|
|
52
48
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
@@ -61,6 +57,10 @@ function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(
|
|
|
61
57
|
|
|
62
58
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
63
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
|
+
|
|
64
64
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
65
65
|
|
|
66
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); } }
|
|
@@ -131,6 +131,94 @@ var CalendarHeader = /*#__PURE__*/function (_React$Component) {
|
|
|
131
131
|
return _this.props.date || _this.dateHelpers.date();
|
|
132
132
|
});
|
|
133
133
|
|
|
134
|
+
_defineProperty(_assertThisInitialized(_this), "getYearItems", function () {
|
|
135
|
+
var date = _this.getDateProp();
|
|
136
|
+
|
|
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
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
});
|
|
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
|
+
|
|
134
222
|
_defineProperty(_assertThisInitialized(_this), "increaseMonth", function () {
|
|
135
223
|
if (_this.props.onMonthChange) {
|
|
136
224
|
// $FlowFixMe
|
|
@@ -204,8 +292,10 @@ var CalendarHeader = /*#__PURE__*/function (_React$Component) {
|
|
|
204
292
|
|
|
205
293
|
var date = _this.getDateProp();
|
|
206
294
|
|
|
207
|
-
var _this$
|
|
208
|
-
|
|
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;
|
|
209
299
|
|
|
210
300
|
var allPrevDaysDisabled = _this.dateHelpers.monthDisabledBefore(date, _this.props);
|
|
211
301
|
|
|
@@ -255,7 +345,7 @@ var CalendarHeader = /*#__PURE__*/function (_React$Component) {
|
|
|
255
345
|
$disabled: isDisabled,
|
|
256
346
|
$order: _this.props.order
|
|
257
347
|
}, prevButtonProps), isHidden ? null : /*#__PURE__*/React.createElement(PrevButtonIcon, _extends({
|
|
258
|
-
size:
|
|
348
|
+
size: density === _constants.DENSITY.high ? 24 : 36,
|
|
259
349
|
overrides: {
|
|
260
350
|
Svg: {
|
|
261
351
|
style: navBtnStyle
|
|
@@ -270,8 +360,10 @@ var CalendarHeader = /*#__PURE__*/function (_React$Component) {
|
|
|
270
360
|
|
|
271
361
|
var date = _this.getDateProp();
|
|
272
362
|
|
|
273
|
-
var _this$
|
|
274
|
-
|
|
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;
|
|
275
367
|
|
|
276
368
|
var allNextDaysDisabled = _this.dateHelpers.monthDisabledAfter(date, _this.props);
|
|
277
369
|
|
|
@@ -325,7 +417,7 @@ var CalendarHeader = /*#__PURE__*/function (_React$Component) {
|
|
|
325
417
|
$isFocusVisible: _this.state.isFocusVisible,
|
|
326
418
|
$order: _this.props.order
|
|
327
419
|
}, nextButtonProps), isHidden ? null : /*#__PURE__*/React.createElement(NextButtonIcon, _extends({
|
|
328
|
-
size:
|
|
420
|
+
size: density === _constants.DENSITY.high ? 24 : 36,
|
|
329
421
|
overrides: {
|
|
330
422
|
Svg: {
|
|
331
423
|
style: navBtnStyle
|
|
@@ -351,12 +443,11 @@ var CalendarHeader = /*#__PURE__*/function (_React$Component) {
|
|
|
351
443
|
|
|
352
444
|
var year = _this.dateHelpers.getYear(date);
|
|
353
445
|
|
|
354
|
-
var _this$
|
|
355
|
-
locale = _this$
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
overrides = _this$props3$override === void 0 ? {} : _this$props3$override;
|
|
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;
|
|
360
451
|
|
|
361
452
|
var _getOverrides9 = (0, _overrides.getOverrides)(overrides.MonthYearSelectButton, _styledComponents.StyledMonthYearSelectButton),
|
|
362
453
|
_getOverrides10 = _slicedToArray(_getOverrides9, 2),
|
|
@@ -389,62 +480,13 @@ var CalendarHeader = /*#__PURE__*/function (_React$Component) {
|
|
|
389
480
|
menuProps && menuProps.overrides); // $FlowFixMe
|
|
390
481
|
|
|
391
482
|
menuProps.overrides = menuOverrides;
|
|
392
|
-
var maxYear = maxDate ? _this.dateHelpers.getYear(maxDate) : MAX_YEAR;
|
|
393
|
-
var monthOfMaxDate = maxDate ? _this.dateHelpers.getMonth(maxDate) : MAX_MONTH; // Generates array like [0,1,.... monthOfMaxDate]
|
|
394
|
-
|
|
395
|
-
var maxYearMonths = Array.from({
|
|
396
|
-
length: monthOfMaxDate + 1
|
|
397
|
-
}, function (x, i) {
|
|
398
|
-
return i;
|
|
399
|
-
});
|
|
400
|
-
var minYear = minDate ? _this.dateHelpers.getYear(minDate) : MIN_YEAR;
|
|
401
|
-
var monthOfMinDate = minDate ? _this.dateHelpers.getMonth(minDate) : MIN_MONTH; // Generates array like [monthOfMinDate, ...., 10, 11]
|
|
402
|
-
|
|
403
|
-
var minYearMonths = Array.from({
|
|
404
|
-
length: 12 - monthOfMinDate
|
|
405
|
-
}, function (x, i) {
|
|
406
|
-
return i + monthOfMinDate;
|
|
407
|
-
});
|
|
408
|
-
var maxMinYearMonthsIntersection = maxYearMonths.filter(function (year) {
|
|
409
|
-
return minYearMonths.includes(year);
|
|
410
|
-
});
|
|
411
|
-
var filterMonthsList = year === maxYear && year === minYear ? maxMinYearMonthsIntersection : year === maxYear ? maxYearMonths : year === minYear ? minYearMonths : null;
|
|
412
|
-
_this.monthItems = (0, _calendarHeaderHelpers.getMonthItems)({
|
|
413
|
-
filterMonthsList: filterMonthsList,
|
|
414
|
-
formatMonthLabel: function formatMonthLabel(month) {
|
|
415
|
-
return _this.dateHelpers.getMonthInLocale(month, locale);
|
|
416
|
-
}
|
|
417
|
-
});
|
|
418
|
-
_this.yearItems = Array.from({
|
|
419
|
-
length: maxYear - minYear + 1
|
|
420
|
-
}, function (_, i) {
|
|
421
|
-
return minYear + i;
|
|
422
|
-
}).map(function (year) {
|
|
423
|
-
return {
|
|
424
|
-
id: year.toString(),
|
|
425
|
-
label: year.toString()
|
|
426
|
-
};
|
|
427
|
-
});
|
|
428
|
-
|
|
429
|
-
if (month > maxYearMonths[maxYearMonths.length - 1]) {
|
|
430
|
-
var lastIdx = _this.yearItems.length - 1;
|
|
431
|
-
_this.yearItems[lastIdx] = _objectSpread(_objectSpread({}, _this.yearItems[lastIdx]), {}, {
|
|
432
|
-
disabled: true
|
|
433
|
-
});
|
|
434
|
-
}
|
|
435
|
-
|
|
436
|
-
if (month < minYearMonths[0]) {
|
|
437
|
-
_this.yearItems[0] = _objectSpread(_objectSpread({}, _this.yearItems[0]), {}, {
|
|
438
|
-
disabled: true
|
|
439
|
-
});
|
|
440
|
-
}
|
|
441
483
|
|
|
442
484
|
var initialMonthIndex = _this.monthItems.findIndex(function (month) {
|
|
443
|
-
return month.id === _this.dateHelpers.getMonth(date);
|
|
485
|
+
return month.id === _this.dateHelpers.getMonth(date).toString();
|
|
444
486
|
});
|
|
445
487
|
|
|
446
488
|
var initialYearIndex = _this.yearItems.findIndex(function (year) {
|
|
447
|
-
return year.id === _this.dateHelpers.getYear(date);
|
|
489
|
+
return year.id === _this.dateHelpers.getYear(date).toString();
|
|
448
490
|
});
|
|
449
491
|
|
|
450
492
|
var monthTitle = "".concat(_this.dateHelpers.getMonthInLocale(_this.dateHelpers.getMonth(date), locale));
|
|
@@ -503,6 +545,7 @@ var CalendarHeader = /*#__PURE__*/function (_React$Component) {
|
|
|
503
545
|
"aria-live": "polite",
|
|
504
546
|
type: "button",
|
|
505
547
|
$isFocusVisible: _this.state.isFocusVisible,
|
|
548
|
+
$density: density,
|
|
506
549
|
onKeyUp: function onKeyUp(event) {
|
|
507
550
|
if (_this.canArrowsOpenDropdown(event)) {
|
|
508
551
|
_this.setState({
|
|
@@ -530,7 +573,8 @@ var CalendarHeader = /*#__PURE__*/function (_React$Component) {
|
|
|
530
573
|
role: 'presentation'
|
|
531
574
|
}
|
|
532
575
|
}
|
|
533
|
-
}
|
|
576
|
+
},
|
|
577
|
+
size: density === _constants.DENSITY.high ? 16 : 24
|
|
534
578
|
})))), /*#__PURE__*/React.createElement(OverriddenPopover, _extends({
|
|
535
579
|
placement: "bottom",
|
|
536
580
|
focusLock: true,
|
|
@@ -584,6 +628,7 @@ var CalendarHeader = /*#__PURE__*/function (_React$Component) {
|
|
|
584
628
|
"aria-live": "polite",
|
|
585
629
|
type: "button",
|
|
586
630
|
$isFocusVisible: _this.state.isFocusVisible,
|
|
631
|
+
$density: density,
|
|
587
632
|
onKeyUp: function onKeyUp(event) {
|
|
588
633
|
if (_this.canArrowsOpenDropdown(event)) {
|
|
589
634
|
_this.setState({
|
|
@@ -611,7 +656,8 @@ var CalendarHeader = /*#__PURE__*/function (_React$Component) {
|
|
|
611
656
|
role: 'presentation'
|
|
612
657
|
}
|
|
613
658
|
}
|
|
614
|
-
}
|
|
659
|
+
},
|
|
660
|
+
size: density === _constants.DENSITY.high ? 16 : 24
|
|
615
661
|
})))));
|
|
616
662
|
});
|
|
617
663
|
|
|
@@ -622,12 +668,36 @@ var CalendarHeader = /*#__PURE__*/function (_React$Component) {
|
|
|
622
668
|
}
|
|
623
669
|
|
|
624
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
|
+
}, {
|
|
625
693
|
key: "render",
|
|
626
694
|
value: function render() {
|
|
627
695
|
var _this2 = this;
|
|
628
696
|
|
|
629
|
-
var _this$
|
|
630
|
-
|
|
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;
|
|
631
701
|
|
|
632
702
|
var _getOverrides17 = (0, _overrides.getOverrides)(overrides.CalendarHeader, _styledComponents.StyledCalendarHeader),
|
|
633
703
|
_getOverrides18 = _slicedToArray(_getOverrides17, 2),
|
|
@@ -648,6 +718,7 @@ var CalendarHeader = /*#__PURE__*/function (_React$Component) {
|
|
|
648
718
|
return /*#__PURE__*/React.createElement(_themeProvider.ThemeContext.Consumer, null, function (theme) {
|
|
649
719
|
return /*#__PURE__*/React.createElement(_index3.LocaleContext.Consumer, null, function (locale) {
|
|
650
720
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_CalendarHeader, _extends({}, calendarHeaderProps, {
|
|
721
|
+
$density: _this2.props.density,
|
|
651
722
|
onFocus: (0, _focusVisible.forkFocus)(calendarHeaderProps, _this2.handleFocus),
|
|
652
723
|
onBlur: (0, _focusVisible.forkBlur)(calendarHeaderProps, _this2.handleBlur)
|
|
653
724
|
}), _this2.renderPreviousMonthButton({
|
|
@@ -664,7 +735,9 @@ var CalendarHeader = /*#__PURE__*/function (_React$Component) {
|
|
|
664
735
|
return /*#__PURE__*/React.createElement(WeekdayHeader, _extends({
|
|
665
736
|
key: offset,
|
|
666
737
|
alt: _this2.dateHelpers.getWeekdayInLocale(day, _this2.props.locale)
|
|
667
|
-
}, weekdayHeaderProps
|
|
738
|
+
}, weekdayHeaderProps, {
|
|
739
|
+
$density: density
|
|
740
|
+
}), _this2.dateHelpers.getWeekdayMinInLocale(day, _this2.props.locale));
|
|
668
741
|
})));
|
|
669
742
|
});
|
|
670
743
|
});
|