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
|
@@ -425,22 +425,50 @@ function getSvgStyles({$theme}) {
|
|
|
425
425
|
}
|
|
426
426
|
|
|
427
427
|
export const StyledSelectArrow = styled<SharedStylePropsArgT>('svg', props => {
|
|
428
|
-
const {$theme, $disabled} = props;
|
|
428
|
+
const {$theme, $disabled, $size} = props;
|
|
429
429
|
const {colors} = $theme;
|
|
430
|
+
|
|
431
|
+
const sizes = {
|
|
432
|
+
[SIZE.mini]: 16,
|
|
433
|
+
[SIZE.compact]: 16,
|
|
434
|
+
[SIZE.default]: 20,
|
|
435
|
+
[SIZE.large]: 24,
|
|
436
|
+
};
|
|
437
|
+
let size = sizes[SIZE.default];
|
|
438
|
+
if ($size) {
|
|
439
|
+
size = sizes[$size];
|
|
440
|
+
}
|
|
441
|
+
|
|
430
442
|
return {
|
|
431
443
|
...getSvgStyles({$theme}),
|
|
432
444
|
color: $disabled ? colors.inputTextDisabled : colors.contentPrimary,
|
|
433
445
|
cursor: $disabled ? 'not-allowed' : 'pointer',
|
|
446
|
+
height: `${size}px`,
|
|
447
|
+
width: `${size}px`,
|
|
434
448
|
};
|
|
435
449
|
});
|
|
436
450
|
|
|
437
451
|
export const StyledClearIcon = styled<SharedStylePropsArgT>('svg', props => {
|
|
438
|
-
const {$theme} = props;
|
|
452
|
+
const {$theme, $size} = props;
|
|
439
453
|
const {colors} = $theme;
|
|
454
|
+
|
|
455
|
+
const sizes = {
|
|
456
|
+
[SIZE.mini]: 15,
|
|
457
|
+
[SIZE.compact]: 15,
|
|
458
|
+
[SIZE.default]: 18,
|
|
459
|
+
[SIZE.large]: 22,
|
|
460
|
+
};
|
|
461
|
+
let size = sizes[SIZE.default];
|
|
462
|
+
if ($size) {
|
|
463
|
+
size = sizes[$size];
|
|
464
|
+
}
|
|
465
|
+
|
|
440
466
|
return {
|
|
441
467
|
...getSvgStyles({$theme}),
|
|
442
468
|
color: colors.contentPrimary,
|
|
443
469
|
cursor: 'pointer',
|
|
470
|
+
height: `${size}px`,
|
|
471
|
+
width: `${size}px`,
|
|
444
472
|
};
|
|
445
473
|
});
|
|
446
474
|
|
package/select/types.js.flow
CHANGED
|
@@ -72,6 +72,13 @@ export type OverridesDropdownT = {
|
|
|
72
72
|
StatefulMenu?: OverrideT,
|
|
73
73
|
};
|
|
74
74
|
|
|
75
|
+
type ImperativeFnsT = {|
|
|
76
|
+
setDropdownOpen: boolean => mixed,
|
|
77
|
+
|};
|
|
78
|
+
export type MethodsRefT = {
|
|
79
|
+
current: ImperativeFnsT | null,
|
|
80
|
+
};
|
|
81
|
+
|
|
75
82
|
export type PropsT = {
|
|
76
83
|
'aria-label': ?string,
|
|
77
84
|
'aria-describedby': ?string,
|
|
@@ -134,6 +141,8 @@ export type PropsT = {
|
|
|
134
141
|
maxDropdownHeight: string,
|
|
135
142
|
/** Defines if multiple options can be selected. */
|
|
136
143
|
multi: boolean,
|
|
144
|
+
/** Handle for accessing internal methods. */
|
|
145
|
+
methodsRef?: MethodsRefT,
|
|
137
146
|
/** Message to be displayed if no options is found for a search query. */
|
|
138
147
|
noResultsMsg?: React.Node,
|
|
139
148
|
onBlur: (e: Event) => mixed,
|
package/snackbar/index.d.ts
CHANGED
|
@@ -1,22 +1,27 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
|
|
3
3
|
import {Override} from '../overrides';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
4
|
+
|
|
5
|
+
declare const DURATION: {
|
|
6
|
+
infinite: number;
|
|
7
|
+
short: number;
|
|
8
|
+
medium: number;
|
|
9
|
+
long: number;
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
declare const PLACEMENT: {
|
|
13
|
+
topLeft: 'topLeft';
|
|
14
|
+
top: 'top';
|
|
15
|
+
topRight: 'topRight';
|
|
16
|
+
bottomRight: 'bottomRight';
|
|
17
|
+
bottom: 'bottom';
|
|
18
|
+
bottomLeft: 'bottomLeft';
|
|
19
|
+
};
|
|
20
|
+
export {DURATION, PLACEMENT};
|
|
21
|
+
|
|
22
|
+
export type DurationT = (typeof DURATION)[keyof typeof DURATION];
|
|
23
|
+
|
|
24
|
+
export type PlacementT = (typeof PLACEMENT)[keyof typeof PLACEMENT];
|
|
20
25
|
|
|
21
26
|
export type SnackbarElementOverridesT = {
|
|
22
27
|
Root?: Override<any>;
|
|
@@ -81,6 +81,14 @@ function useSnackbar() {
|
|
|
81
81
|
};
|
|
82
82
|
}
|
|
83
83
|
|
|
84
|
+
function usePrevious(value) {
|
|
85
|
+
var ref = React.useRef();
|
|
86
|
+
React.useEffect(function () {
|
|
87
|
+
ref.current = value;
|
|
88
|
+
});
|
|
89
|
+
return ref.current;
|
|
90
|
+
}
|
|
91
|
+
|
|
84
92
|
function SnackbarProvider(_ref) {
|
|
85
93
|
var children = _ref.children,
|
|
86
94
|
_ref$overrides = _ref.overrides,
|
|
@@ -115,10 +123,6 @@ function SnackbarProvider(_ref) {
|
|
|
115
123
|
function enqueue(elementProps) {
|
|
116
124
|
var duration = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : defaultDuration;
|
|
117
125
|
setSnackbars(function (prev) {
|
|
118
|
-
if (prev.length === 0) {
|
|
119
|
-
enter(duration);
|
|
120
|
-
}
|
|
121
|
-
|
|
122
126
|
return [].concat(_toConsumableArray(prev), [{
|
|
123
127
|
elementProps: elementProps,
|
|
124
128
|
duration: duration
|
|
@@ -126,6 +130,13 @@ function SnackbarProvider(_ref) {
|
|
|
126
130
|
});
|
|
127
131
|
}
|
|
128
132
|
|
|
133
|
+
var prevSnackbars = usePrevious(snackbars) || [];
|
|
134
|
+
React.useEffect(function () {
|
|
135
|
+
if (prevSnackbars.length === 0 && snackbars.length >= 1) {
|
|
136
|
+
enter(snackbars[0].duration);
|
|
137
|
+
}
|
|
138
|
+
}, [snackbars, prevSnackbars]);
|
|
139
|
+
|
|
129
140
|
function dequeue() {
|
|
130
141
|
setContainerHeight(0);
|
|
131
142
|
setSnackbars(function (prev) {
|
|
@@ -43,6 +43,14 @@ export function useSnackbar() {
|
|
|
43
43
|
return {enqueue: context.enqueue, dequeue: context.dequeue};
|
|
44
44
|
}
|
|
45
45
|
|
|
46
|
+
function usePrevious(value) {
|
|
47
|
+
const ref = React.useRef();
|
|
48
|
+
React.useEffect(() => {
|
|
49
|
+
ref.current = value;
|
|
50
|
+
});
|
|
51
|
+
return ref.current;
|
|
52
|
+
}
|
|
53
|
+
|
|
46
54
|
export default function SnackbarProvider({
|
|
47
55
|
children,
|
|
48
56
|
overrides = {},
|
|
@@ -61,13 +69,17 @@ export default function SnackbarProvider({
|
|
|
61
69
|
|
|
62
70
|
function enqueue(elementProps, duration = defaultDuration) {
|
|
63
71
|
setSnackbars(prev => {
|
|
64
|
-
if (prev.length === 0) {
|
|
65
|
-
enter(duration);
|
|
66
|
-
}
|
|
67
72
|
return [...prev, {elementProps, duration}];
|
|
68
73
|
});
|
|
69
74
|
}
|
|
70
75
|
|
|
76
|
+
const prevSnackbars = usePrevious(snackbars) || [];
|
|
77
|
+
React.useEffect(() => {
|
|
78
|
+
if (prevSnackbars.length === 0 && snackbars.length >= 1) {
|
|
79
|
+
enter(snackbars[0].duration);
|
|
80
|
+
}
|
|
81
|
+
}, [snackbars, prevSnackbars]);
|
|
82
|
+
|
|
71
83
|
function dequeue() {
|
|
72
84
|
setContainerHeight(0);
|
|
73
85
|
|
|
@@ -81,7 +81,8 @@ var StyledTableHeadCell = (0, _index.styled)('th', function (_ref5) {
|
|
|
81
81
|
|
|
82
82
|
var $theme = _ref5.$theme,
|
|
83
83
|
$size = _ref5.$size,
|
|
84
|
-
$divider = _ref5.$divider
|
|
84
|
+
$divider = _ref5.$divider,
|
|
85
|
+
$isNumeric = _ref5.$isNumeric;
|
|
85
86
|
var borderDir = $theme.direction === 'rtl' ? 'Left' : 'Right';
|
|
86
87
|
var borderVertical = $divider === _constants.DIVIDER.grid || $divider === _constants.DIVIDER.vertical;
|
|
87
88
|
var padding = sizeToCellPadding($theme, $size);
|
|
@@ -94,7 +95,7 @@ var StyledTableHeadCell = (0, _index.styled)('th', function (_ref5) {
|
|
|
94
95
|
paddingLeft: padding,
|
|
95
96
|
backgroundColor: $theme.colors.tableHeadBackgroundColor,
|
|
96
97
|
color: $theme.colors.contentPrimary,
|
|
97
|
-
textAlign: $theme.direction === 'rtl' ? 'right' : 'left',
|
|
98
|
+
textAlign: $theme.direction === 'rtl' || $isNumeric ? 'right' : 'left',
|
|
98
99
|
verticalAlign: 'top',
|
|
99
100
|
whiteSpace: 'nowrap',
|
|
100
101
|
zIndex: 1
|
|
@@ -182,14 +183,15 @@ var StyledTableBodyCell = (0, _index.styled)('td', function (_ref12) {
|
|
|
182
183
|
$size = _ref12.$size,
|
|
183
184
|
$divider = _ref12.$divider,
|
|
184
185
|
$isNumeric = _ref12.$isNumeric,
|
|
185
|
-
$isLastRow = _ref12.$isLastRow
|
|
186
|
+
$isLastRow = _ref12.$isLastRow,
|
|
187
|
+
$isSortable = _ref12.$isSortable;
|
|
186
188
|
var borderDir = $theme.direction === 'rtl' ? 'Left' : 'Right';
|
|
187
189
|
var borderVertical = $divider === _constants.DIVIDER.vertical || $divider === _constants.DIVIDER.grid;
|
|
188
190
|
var borderHorizontal = $divider === undefined || $divider === _constants.DIVIDER.horizontal || $divider === _constants.DIVIDER.grid;
|
|
189
191
|
var padding = sizeToCellPadding($theme, $size);
|
|
190
192
|
return _objectSpread(_objectSpread({}, $theme.typography.font200), {}, {
|
|
191
193
|
paddingTop: padding,
|
|
192
|
-
paddingRight: padding,
|
|
194
|
+
paddingRight: !$isSortable ? padding : $theme.sizing.scale1000,
|
|
193
195
|
paddingBottom: padding,
|
|
194
196
|
paddingLeft: padding,
|
|
195
197
|
color: $theme.colors.contentPrimary,
|
|
@@ -78,12 +78,13 @@ type StyledTableHeadCellPropsT = {
|
|
|
78
78
|
$col?: {},
|
|
79
79
|
$colIndex?: ?number,
|
|
80
80
|
$divider?: DividerT,
|
|
81
|
+
$isNumeric?: ?boolean,
|
|
81
82
|
$size?: SizeT,
|
|
82
83
|
};
|
|
83
84
|
|
|
84
85
|
export const StyledTableHeadCell = styled<StyledTableHeadCellPropsT>(
|
|
85
86
|
'th',
|
|
86
|
-
({$theme, $size, $divider}) => {
|
|
87
|
+
({$theme, $size, $divider, $isNumeric}) => {
|
|
87
88
|
const borderDir: string = $theme.direction === 'rtl' ? 'Left' : 'Right';
|
|
88
89
|
const borderVertical =
|
|
89
90
|
$divider === DIVIDER.grid || $divider === DIVIDER.vertical;
|
|
@@ -99,7 +100,7 @@ export const StyledTableHeadCell = styled<StyledTableHeadCellPropsT>(
|
|
|
99
100
|
paddingLeft: padding,
|
|
100
101
|
backgroundColor: $theme.colors.tableHeadBackgroundColor,
|
|
101
102
|
color: $theme.colors.contentPrimary,
|
|
102
|
-
textAlign: $theme.direction === 'rtl' ? 'right' : 'left',
|
|
103
|
+
textAlign: $theme.direction === 'rtl' || $isNumeric ? 'right' : 'left',
|
|
103
104
|
verticalAlign: 'top',
|
|
104
105
|
whiteSpace: 'nowrap',
|
|
105
106
|
zIndex: 1,
|
|
@@ -215,11 +216,12 @@ type StyledTableBodyCellPropsT = {
|
|
|
215
216
|
$size?: SizeT,
|
|
216
217
|
$isNumeric?: ?boolean,
|
|
217
218
|
$isLastRow?: ?boolean,
|
|
219
|
+
$isSortable?: ?boolean,
|
|
218
220
|
};
|
|
219
221
|
|
|
220
222
|
export const StyledTableBodyCell = styled<StyledTableBodyCellPropsT>(
|
|
221
223
|
'td',
|
|
222
|
-
({$theme, $size, $divider, $isNumeric, $isLastRow}) => {
|
|
224
|
+
({$theme, $size, $divider, $isNumeric, $isLastRow, $isSortable}) => {
|
|
223
225
|
const borderDir: string = $theme.direction === 'rtl' ? 'Left' : 'Right';
|
|
224
226
|
const borderVertical =
|
|
225
227
|
$divider === DIVIDER.vertical || $divider === DIVIDER.grid;
|
|
@@ -232,7 +234,7 @@ export const StyledTableBodyCell = styled<StyledTableBodyCellPropsT>(
|
|
|
232
234
|
return {
|
|
233
235
|
...$theme.typography.font200,
|
|
234
236
|
paddingTop: padding,
|
|
235
|
-
paddingRight: padding,
|
|
237
|
+
paddingRight: !$isSortable ? padding : $theme.sizing.scale1000,
|
|
236
238
|
paddingBottom: padding,
|
|
237
239
|
paddingLeft: padding,
|
|
238
240
|
color: $theme.colors.contentPrimary,
|
|
@@ -208,6 +208,7 @@ var TableBuilder = /*#__PURE__*/function (_React$Component) {
|
|
|
208
208
|
$col: col,
|
|
209
209
|
$colIndex: colIndex,
|
|
210
210
|
$divider: divider,
|
|
211
|
+
$isNumeric: col.numeric,
|
|
211
212
|
$size: size
|
|
212
213
|
}, tableHeadCellProps, colTableHeadCellProps), col.header);
|
|
213
214
|
}
|
|
@@ -250,6 +251,7 @@ var TableBuilder = /*#__PURE__*/function (_React$Component) {
|
|
|
250
251
|
$col: col,
|
|
251
252
|
$colIndex: colIndex,
|
|
252
253
|
$divider: divider,
|
|
254
|
+
$isNumeric: col.numeric,
|
|
253
255
|
role: "button",
|
|
254
256
|
tabIndex: "0",
|
|
255
257
|
"aria-label": "".concat(col.tableHeadAriaLabel || col.header, ", ").concat(sortLabel),
|
|
@@ -283,6 +285,7 @@ var TableBuilder = /*#__PURE__*/function (_React$Component) {
|
|
|
283
285
|
$rowIndex: rowIndex,
|
|
284
286
|
$isNumeric: col.numeric,
|
|
285
287
|
$isLastRow: rowIndex === lastRowindex,
|
|
288
|
+
$isSortable: col.sortable,
|
|
286
289
|
$size: size
|
|
287
290
|
}, tableBodyCellProps, colTableBodyCellProps), col.children(row, rowIndex));
|
|
288
291
|
}
|
|
@@ -153,6 +153,7 @@ export default class TableBuilder<T> extends React.Component<
|
|
|
153
153
|
$col={col}
|
|
154
154
|
$colIndex={colIndex}
|
|
155
155
|
$divider={divider}
|
|
156
|
+
$isNumeric={col.numeric}
|
|
156
157
|
$size={size}
|
|
157
158
|
{...tableHeadCellProps}
|
|
158
159
|
{...colTableHeadCellProps}
|
|
@@ -211,6 +212,7 @@ export default class TableBuilder<T> extends React.Component<
|
|
|
211
212
|
$col={col}
|
|
212
213
|
$colIndex={colIndex}
|
|
213
214
|
$divider={divider}
|
|
215
|
+
$isNumeric={col.numeric}
|
|
214
216
|
role="button"
|
|
215
217
|
tabIndex="0"
|
|
216
218
|
aria-label={`${col.tableHeadAriaLabel || col.header}, ${sortLabel}`}
|
|
@@ -249,6 +251,7 @@ export default class TableBuilder<T> extends React.Component<
|
|
|
249
251
|
$rowIndex={rowIndex}
|
|
250
252
|
$isNumeric={col.numeric}
|
|
251
253
|
$isLastRow={rowIndex === lastRowindex}
|
|
254
|
+
$isSortable={col.sortable}
|
|
252
255
|
$size={size}
|
|
253
256
|
{...tableBodyCellProps}
|
|
254
257
|
{...colTableBodyCellProps}
|
|
@@ -103,7 +103,7 @@ var _default = function _default() {
|
|
|
103
103
|
linkActive: themePrimitives.primary300,
|
|
104
104
|
// List
|
|
105
105
|
listHeaderFill: themePrimitives.mono600,
|
|
106
|
-
listBodyFill: themePrimitives.
|
|
106
|
+
listBodyFill: themePrimitives.mono800,
|
|
107
107
|
listIconFill: themePrimitives.mono100,
|
|
108
108
|
listBorder: themePrimitives.mono500,
|
|
109
109
|
// ProgressSteps
|
|
@@ -32,32 +32,32 @@ var _default = function _default() {
|
|
|
32
32
|
buttonPrimaryActive: themePrimitives.primary600,
|
|
33
33
|
buttonPrimarySelectedFill: themePrimitives.primary600,
|
|
34
34
|
buttonPrimarySelectedText: themePrimitives.white,
|
|
35
|
-
buttonPrimarySpinnerForeground: themePrimitives.
|
|
36
|
-
buttonPrimarySpinnerBackground: themePrimitives.
|
|
35
|
+
buttonPrimarySpinnerForeground: themePrimitives.accent,
|
|
36
|
+
buttonPrimarySpinnerBackground: themePrimitives.primaryB,
|
|
37
37
|
buttonSecondaryFill: themePrimitives.primary100,
|
|
38
38
|
buttonSecondaryText: themePrimitives.primary,
|
|
39
39
|
buttonSecondaryHover: themePrimitives.primary200,
|
|
40
40
|
buttonSecondaryActive: themePrimitives.primary300,
|
|
41
41
|
buttonSecondarySelectedFill: themePrimitives.primary300,
|
|
42
42
|
buttonSecondarySelectedText: themePrimitives.primary,
|
|
43
|
-
buttonSecondarySpinnerForeground: themePrimitives.
|
|
44
|
-
buttonSecondarySpinnerBackground: themePrimitives.
|
|
43
|
+
buttonSecondarySpinnerForeground: themePrimitives.accent,
|
|
44
|
+
buttonSecondarySpinnerBackground: themePrimitives.primaryB,
|
|
45
45
|
buttonTertiaryFill: 'transparent',
|
|
46
46
|
buttonTertiaryText: themePrimitives.primary,
|
|
47
47
|
buttonTertiaryHover: themePrimitives.primary50,
|
|
48
48
|
buttonTertiaryActive: themePrimitives.primary100,
|
|
49
49
|
buttonTertiarySelectedFill: themePrimitives.primary100,
|
|
50
50
|
buttonTertiarySelectedText: themePrimitives.primary,
|
|
51
|
-
buttonTertiarySpinnerForeground: themePrimitives.
|
|
52
|
-
buttonTertiarySpinnerBackground: themePrimitives.
|
|
51
|
+
buttonTertiarySpinnerForeground: themePrimitives.accent,
|
|
52
|
+
buttonTertiarySpinnerBackground: themePrimitives.primary100,
|
|
53
53
|
buttonMinimalFill: 'transparent',
|
|
54
54
|
buttonMinimalText: themePrimitives.primary,
|
|
55
55
|
buttonMinimalHover: themePrimitives.primary50,
|
|
56
56
|
buttonMinimalActive: themePrimitives.primary100,
|
|
57
57
|
buttonMinimalSelectedFill: themePrimitives.primary100,
|
|
58
58
|
buttonMinimalSelectedText: themePrimitives.primary,
|
|
59
|
-
buttonMinimalSpinnerForeground: themePrimitives.
|
|
60
|
-
buttonMinimalSpinnerBackground: themePrimitives.
|
|
59
|
+
buttonMinimalSpinnerForeground: themePrimitives.accent,
|
|
60
|
+
buttonMinimalSpinnerBackground: themePrimitives.primary100,
|
|
61
61
|
buttonDisabledFill: themePrimitives.mono200,
|
|
62
62
|
buttonDisabledText: themePrimitives.mono600,
|
|
63
63
|
buttonDisabledSpinnerForeground: themePrimitives.mono600,
|
|
@@ -103,7 +103,7 @@ var _default = function _default() {
|
|
|
103
103
|
linkActive: themePrimitives.primary500,
|
|
104
104
|
// List
|
|
105
105
|
listHeaderFill: themePrimitives.white,
|
|
106
|
-
listBodyFill: themePrimitives.
|
|
106
|
+
listBodyFill: themePrimitives.white,
|
|
107
107
|
listIconFill: themePrimitives.mono500,
|
|
108
108
|
listBorder: themePrimitives.mono500,
|
|
109
109
|
// ProgressSteps
|
|
@@ -25,8 +25,8 @@ export default (
|
|
|
25
25
|
buttonPrimaryActive: themePrimitives.primary600,
|
|
26
26
|
buttonPrimarySelectedFill: themePrimitives.primary600,
|
|
27
27
|
buttonPrimarySelectedText: themePrimitives.white,
|
|
28
|
-
buttonPrimarySpinnerForeground: themePrimitives.
|
|
29
|
-
buttonPrimarySpinnerBackground: themePrimitives.
|
|
28
|
+
buttonPrimarySpinnerForeground: themePrimitives.accent,
|
|
29
|
+
buttonPrimarySpinnerBackground: themePrimitives.primaryB,
|
|
30
30
|
|
|
31
31
|
buttonSecondaryFill: themePrimitives.primary100,
|
|
32
32
|
buttonSecondaryText: themePrimitives.primary,
|
|
@@ -34,8 +34,8 @@ export default (
|
|
|
34
34
|
buttonSecondaryActive: themePrimitives.primary300,
|
|
35
35
|
buttonSecondarySelectedFill: themePrimitives.primary300,
|
|
36
36
|
buttonSecondarySelectedText: themePrimitives.primary,
|
|
37
|
-
buttonSecondarySpinnerForeground: themePrimitives.
|
|
38
|
-
buttonSecondarySpinnerBackground: themePrimitives.
|
|
37
|
+
buttonSecondarySpinnerForeground: themePrimitives.accent,
|
|
38
|
+
buttonSecondarySpinnerBackground: themePrimitives.primaryB,
|
|
39
39
|
|
|
40
40
|
buttonTertiaryFill: 'transparent',
|
|
41
41
|
buttonTertiaryText: themePrimitives.primary,
|
|
@@ -43,8 +43,8 @@ export default (
|
|
|
43
43
|
buttonTertiaryActive: themePrimitives.primary100,
|
|
44
44
|
buttonTertiarySelectedFill: themePrimitives.primary100,
|
|
45
45
|
buttonTertiarySelectedText: themePrimitives.primary,
|
|
46
|
-
buttonTertiarySpinnerForeground: themePrimitives.
|
|
47
|
-
buttonTertiarySpinnerBackground: themePrimitives.
|
|
46
|
+
buttonTertiarySpinnerForeground: themePrimitives.accent,
|
|
47
|
+
buttonTertiarySpinnerBackground: themePrimitives.primary100,
|
|
48
48
|
|
|
49
49
|
buttonMinimalFill: 'transparent',
|
|
50
50
|
buttonMinimalText: themePrimitives.primary,
|
|
@@ -52,8 +52,8 @@ export default (
|
|
|
52
52
|
buttonMinimalActive: themePrimitives.primary100,
|
|
53
53
|
buttonMinimalSelectedFill: themePrimitives.primary100,
|
|
54
54
|
buttonMinimalSelectedText: themePrimitives.primary,
|
|
55
|
-
buttonMinimalSpinnerForeground: themePrimitives.
|
|
56
|
-
buttonMinimalSpinnerBackground: themePrimitives.
|
|
55
|
+
buttonMinimalSpinnerForeground: themePrimitives.accent,
|
|
56
|
+
buttonMinimalSpinnerBackground: themePrimitives.primary100,
|
|
57
57
|
|
|
58
58
|
buttonDisabledFill: themePrimitives.mono200,
|
|
59
59
|
buttonDisabledText: themePrimitives.mono600,
|
|
@@ -107,7 +107,7 @@ export default (
|
|
|
107
107
|
|
|
108
108
|
// List
|
|
109
109
|
listHeaderFill: themePrimitives.white,
|
|
110
|
-
listBodyFill: themePrimitives.
|
|
110
|
+
listBodyFill: themePrimitives.white,
|
|
111
111
|
listIconFill: themePrimitives.mono500,
|
|
112
112
|
listBorder: themePrimitives.mono500,
|
|
113
113
|
|
|
@@ -22,7 +22,11 @@ var lighting = {
|
|
|
22
22
|
overlay300: 'inset 0 0 0 1000px hsla(0, 0%, 0%, 0.12)',
|
|
23
23
|
overlay400: 'inset 0 0 0 1000px hsla(0, 0%, 0%, 0.16)',
|
|
24
24
|
overlay500: 'inset 0 0 0 1000px hsla(0, 0%, 0%, 0.2)',
|
|
25
|
-
overlay600: 'inset 0 0 0 1000px hsla(0, 0%, 0%, 0.24)'
|
|
25
|
+
overlay600: 'inset 0 0 0 1000px hsla(0, 0%, 0%, 0.24)',
|
|
26
|
+
shallowAbove: '0px -4px 16px rgba(0, 0, 0, 0.12)',
|
|
27
|
+
shallowBelow: '0px 4px 16px rgba(0, 0, 0, 0.12)',
|
|
28
|
+
deepAbove: '0px -16px 48px rgba(0, 0, 0, 0.22)',
|
|
29
|
+
deepBelow: '0px 16px 48px rgba(0, 0, 0, 0.22)'
|
|
26
30
|
};
|
|
27
31
|
var _default = lighting;
|
|
28
32
|
exports.default = _default;
|
|
@@ -19,6 +19,10 @@ const lighting: LightingT = {
|
|
|
19
19
|
overlay400: 'inset 0 0 0 1000px hsla(0, 0%, 0%, 0.16)',
|
|
20
20
|
overlay500: 'inset 0 0 0 1000px hsla(0, 0%, 0%, 0.2)',
|
|
21
21
|
overlay600: 'inset 0 0 0 1000px hsla(0, 0%, 0%, 0.24)',
|
|
22
|
+
shallowAbove: '0px -4px 16px rgba(0, 0, 0, 0.12)',
|
|
23
|
+
shallowBelow: '0px 4px 16px rgba(0, 0, 0, 0.12)',
|
|
24
|
+
deepAbove: '0px -16px 48px rgba(0, 0, 0, 0.22)',
|
|
25
|
+
deepBelow: '0px 16px 48px rgba(0, 0, 0, 0.22)',
|
|
22
26
|
};
|
|
23
27
|
|
|
24
28
|
export default lighting;
|
package/themes/types.js.flow
CHANGED
package/timepicker/index.d.ts
CHANGED
package/timepicker/timepicker.js
CHANGED
|
@@ -219,26 +219,31 @@ var TimePicker = /*#__PURE__*/function (_React$Component) {
|
|
|
219
219
|
_defineProperty(_assertThisInitialized(_this), "getTimeWindowInSeconds", function (step) {
|
|
220
220
|
var _this$props = _this.props,
|
|
221
221
|
min = _this$props.minTime,
|
|
222
|
-
max = _this$props.maxTime
|
|
222
|
+
max = _this$props.maxTime,
|
|
223
|
+
ignoreMinMaxDateComponent = _this$props.ignoreMinMaxDateComponent;
|
|
223
224
|
|
|
224
|
-
var
|
|
225
|
+
var dayStart = _this.setTime(_this.props.value, 0, 0, 0);
|
|
225
226
|
|
|
226
|
-
|
|
227
|
-
|
|
227
|
+
var dayEnd = _this.setTime(_this.props.value, 24, 0, 0);
|
|
228
|
+
|
|
229
|
+
if (!min || _this.props.adapter.isBefore(min, dayStart) && !ignoreMinMaxDateComponent) {
|
|
230
|
+
min = dayStart;
|
|
231
|
+
} else {
|
|
232
|
+
min = _this.setTime(_this.props.value, _this.props.adapter.getHours(min), _this.props.adapter.getMinutes(min), _this.props.adapter.getSeconds(min));
|
|
228
233
|
}
|
|
229
234
|
|
|
230
|
-
if (!max) {
|
|
231
|
-
max =
|
|
235
|
+
if (!max || _this.props.adapter.isAfter(max, dayEnd) && !ignoreMinMaxDateComponent) {
|
|
236
|
+
max = dayEnd;
|
|
232
237
|
} else {
|
|
233
|
-
// maxTime (if provided) should be inclusive, so add an extra
|
|
234
|
-
|
|
238
|
+
max = _this.setTime(_this.props.value, _this.props.adapter.getHours(max), _this.props.adapter.getMinutes(max), // maxTime (if provided) should be inclusive, so add an extra second here
|
|
239
|
+
_this.props.adapter.getSeconds(max) + 1);
|
|
235
240
|
}
|
|
236
241
|
|
|
237
242
|
var minDate = _this.props.adapter.toJsDate(min);
|
|
238
243
|
|
|
239
244
|
var maxDate = _this.props.adapter.toJsDate(max);
|
|
240
245
|
|
|
241
|
-
var midnightDate = _this.props.adapter.toJsDate(
|
|
246
|
+
var midnightDate = _this.props.adapter.toJsDate(dayStart);
|
|
242
247
|
|
|
243
248
|
return {
|
|
244
249
|
start: (minDate - midnightDate) / 1000,
|
|
@@ -325,7 +330,7 @@ var TimePicker = /*#__PURE__*/function (_React$Component) {
|
|
|
325
330
|
steps: steps,
|
|
326
331
|
value: this.props.nullable ? undefined : {
|
|
327
332
|
id: closestStep,
|
|
328
|
-
label: this.secondsToLabel(closestStep,
|
|
333
|
+
label: this.secondsToLabel(closestStep, this.props.format)
|
|
329
334
|
}
|
|
330
335
|
});
|
|
331
336
|
|
|
@@ -427,7 +432,8 @@ _defineProperty(TimePicker, "defaultProps", {
|
|
|
427
432
|
format: '12',
|
|
428
433
|
step: 900,
|
|
429
434
|
creatable: false,
|
|
430
|
-
adapter: _dateFnsAdapter.default
|
|
435
|
+
adapter: _dateFnsAdapter.default,
|
|
436
|
+
ignoreMinMaxDateComponent: false
|
|
431
437
|
});
|
|
432
438
|
|
|
433
439
|
var _default = TimePicker;
|
|
@@ -34,6 +34,7 @@ class TimePicker<T = Date> extends React.Component<
|
|
|
34
34
|
step: 900,
|
|
35
35
|
creatable: false,
|
|
36
36
|
adapter: dateFnsAdapter,
|
|
37
|
+
ignoreMinMaxDateComponent: false,
|
|
37
38
|
};
|
|
38
39
|
dateHelpers: DateHelpers<T>;
|
|
39
40
|
|
|
@@ -66,7 +67,7 @@ class TimePicker<T = Date> extends React.Component<
|
|
|
66
67
|
? undefined
|
|
67
68
|
: {
|
|
68
69
|
id: closestStep,
|
|
69
|
-
label: this.secondsToLabel(closestStep,
|
|
70
|
+
label: this.secondsToLabel(closestStep, this.props.format),
|
|
70
71
|
},
|
|
71
72
|
});
|
|
72
73
|
if (this.props.value || (!this.props.nullable && !this.props.value)) {
|
|
@@ -200,24 +201,42 @@ class TimePicker<T = Date> extends React.Component<
|
|
|
200
201
|
};
|
|
201
202
|
|
|
202
203
|
getTimeWindowInSeconds = (step: number): {start: number, end: number} => {
|
|
203
|
-
let {minTime: min, maxTime: max} = this.props;
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
204
|
+
let {minTime: min, maxTime: max, ignoreMinMaxDateComponent} = this.props;
|
|
205
|
+
const dayStart = this.setTime(this.props.value, 0, 0, 0);
|
|
206
|
+
const dayEnd = this.setTime(this.props.value, 24, 0, 0);
|
|
207
|
+
|
|
208
|
+
if (
|
|
209
|
+
!min ||
|
|
210
|
+
(this.props.adapter.isBefore(min, dayStart) && !ignoreMinMaxDateComponent)
|
|
211
|
+
) {
|
|
212
|
+
min = dayStart;
|
|
213
|
+
} else {
|
|
214
|
+
min = this.setTime(
|
|
215
|
+
this.props.value,
|
|
216
|
+
this.props.adapter.getHours(min),
|
|
217
|
+
this.props.adapter.getMinutes(min),
|
|
218
|
+
this.props.adapter.getSeconds(min),
|
|
219
|
+
);
|
|
207
220
|
}
|
|
208
|
-
|
|
209
|
-
|
|
221
|
+
|
|
222
|
+
if (
|
|
223
|
+
!max ||
|
|
224
|
+
(this.props.adapter.isAfter(max, dayEnd) && !ignoreMinMaxDateComponent)
|
|
225
|
+
) {
|
|
226
|
+
max = dayEnd;
|
|
210
227
|
} else {
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
this.props.adapter.
|
|
214
|
-
this.props.adapter.
|
|
228
|
+
max = this.setTime(
|
|
229
|
+
this.props.value,
|
|
230
|
+
this.props.adapter.getHours(max),
|
|
231
|
+
this.props.adapter.getMinutes(max),
|
|
232
|
+
// maxTime (if provided) should be inclusive, so add an extra second here
|
|
233
|
+
this.props.adapter.getSeconds(max) + 1,
|
|
215
234
|
);
|
|
216
235
|
}
|
|
217
236
|
|
|
218
237
|
const minDate = this.props.adapter.toJsDate(min);
|
|
219
238
|
const maxDate = this.props.adapter.toJsDate(max);
|
|
220
|
-
const midnightDate = this.props.adapter.toJsDate(
|
|
239
|
+
const midnightDate = this.props.adapter.toJsDate(dayStart);
|
|
221
240
|
return {
|
|
222
241
|
start: (minDate - midnightDate) / 1000,
|
|
223
242
|
end: (maxDate - midnightDate) / 1000,
|
package/timepicker/types.js.flow
CHANGED
|
@@ -37,6 +37,15 @@ export type TimePickerPropsT<T = Date> = {
|
|
|
37
37
|
size?: SizeT,
|
|
38
38
|
minTime?: T,
|
|
39
39
|
maxTime?: T,
|
|
40
|
+
/**
|
|
41
|
+
* There are two strategies available for setting min/max times. If the min/max datetimes are
|
|
42
|
+
* beyond the start/end times of the current value's date, Timepicker could either clamp the
|
|
43
|
+
* min/max time of the start/end of the day or it can ignore the min/max date components and
|
|
44
|
+
* only apply the time components. Each strategy has the potential to save developer time in
|
|
45
|
+
* avoiding the need to perform conversion before providing min/max datetimes to the component.
|
|
46
|
+
* By default the component will clamp the time window and setting this flag will ignore dates.
|
|
47
|
+
*/
|
|
48
|
+
ignoreMinMaxDateComponent?: boolean,
|
|
40
49
|
};
|
|
41
50
|
export type TimePickerStateT = {
|
|
42
51
|
/** List of times (in seconds) displayed in the dropdown menu. */
|
|
@@ -50,6 +59,7 @@ export type TimePickerDefaultPropsT = {
|
|
|
50
59
|
step: 900,
|
|
51
60
|
creatable: false,
|
|
52
61
|
adapter: DateIOAdapter<Date>,
|
|
62
|
+
ignoreMinMaxDateComponent: false,
|
|
53
63
|
};
|
|
54
64
|
|
|
55
65
|
declare var __DEV__: boolean;
|