baseui 10.3.0 → 10.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (213) hide show
  1. package/app-nav-bar/user-menu.js +1 -0
  2. package/app-nav-bar/user-menu.js.flow +1 -0
  3. package/button/styled-components.js +1 -1
  4. package/button/styled-components.js.flow +4 -1
  5. package/card/styled-components.js +0 -1
  6. package/card/styled-components.js.flow +0 -1
  7. package/combobox/combobox.js +5 -1
  8. package/combobox/combobox.js.flow +4 -0
  9. package/combobox/index.d.ts +6 -3
  10. package/data-table/column-datetime.js +2 -0
  11. package/data-table/column-datetime.js.flow +2 -0
  12. package/data-table/data-table.js +13 -3
  13. package/data-table/data-table.js.flow +20 -4
  14. package/data-table/types.js.flow +2 -1
  15. package/datepicker/calendar-header.js +255 -109
  16. package/datepicker/calendar-header.js.flow +282 -145
  17. package/datepicker/calendar.js +6 -1
  18. package/datepicker/calendar.js.flow +5 -1
  19. package/datepicker/constants.js +9 -2
  20. package/datepicker/constants.js.flow +7 -0
  21. package/datepicker/datepicker.js +135 -73
  22. package/datepicker/datepicker.js.flow +161 -62
  23. package/datepicker/day.js +2 -0
  24. package/datepicker/day.js.flow +2 -0
  25. package/datepicker/index.d.ts +8 -0
  26. package/datepicker/month.js +4 -0
  27. package/datepicker/month.js.flow +3 -0
  28. package/datepicker/styled-components.js +116 -56
  29. package/datepicker/styled-components.js.flow +101 -36
  30. package/datepicker/types.js.flow +18 -1
  31. package/datepicker/utils/calendar-header-helpers.js +51 -0
  32. package/datepicker/utils/calendar-header-helpers.js.flow +53 -0
  33. package/datepicker/utils/date-helpers.js +1 -1
  34. package/datepicker/utils/date-helpers.js.flow +1 -1
  35. package/datepicker/week.js +1 -0
  36. package/datepicker/week.js.flow +1 -0
  37. package/dnd-list/index.js.flow +2 -1
  38. package/dnd-list/list.js +1 -2
  39. package/dnd-list/list.js.flow +1 -1
  40. package/dnd-list/styled-components.js +1 -1
  41. package/dnd-list/styled-components.js.flow +1 -0
  42. package/drawer/close-icon.js +3 -2
  43. package/drawer/close-icon.js.flow +2 -2
  44. package/drawer/drawer.js +5 -2
  45. package/drawer/drawer.js.flow +2 -2
  46. package/es/app-nav-bar/user-menu.js +1 -0
  47. package/es/button/styled-components.js +1 -1
  48. package/es/card/styled-components.js +0 -1
  49. package/es/combobox/combobox.js +5 -1
  50. package/es/data-table/column-datetime.js +2 -0
  51. package/es/data-table/data-table.js +13 -3
  52. package/es/datepicker/calendar-header.js +204 -93
  53. package/es/datepicker/calendar.js +7 -2
  54. package/es/datepicker/constants.js +6 -1
  55. package/es/datepicker/datepicker.js +70 -42
  56. package/es/datepicker/day.js +2 -0
  57. package/es/datepicker/month.js +3 -0
  58. package/es/datepicker/styled-components.js +98 -37
  59. package/es/datepicker/types.js +1 -1
  60. package/es/datepicker/utils/calendar-header-helpers.js +34 -0
  61. package/es/datepicker/utils/date-helpers.js +1 -1
  62. package/es/datepicker/week.js +1 -0
  63. package/es/dnd-list/index.js +2 -1
  64. package/es/dnd-list/list.js +1 -2
  65. package/es/dnd-list/styled-components.js +1 -0
  66. package/es/drawer/close-icon.js +3 -2
  67. package/es/drawer/drawer.js +5 -2
  68. package/es/helper/helper.js +1 -0
  69. package/es/layer/layer.js +8 -0
  70. package/es/list/list-heading.js +17 -6
  71. package/es/map-marker/constants.js +69 -0
  72. package/es/map-marker/fixed-marker.js +98 -0
  73. package/es/map-marker/floating-marker.js +65 -0
  74. package/es/map-marker/index.js +9 -0
  75. package/es/map-marker/pin-head.js +108 -0
  76. package/es/map-marker/styled-components.js +156 -0
  77. package/es/map-marker/types.js +8 -0
  78. package/es/menu/maybe-child-menu.js +1 -0
  79. package/es/popover/popover.js +6 -5
  80. package/es/popover/stateful-container.js +8 -2
  81. package/es/rating/emoticon-rating.js +3 -1
  82. package/es/rating/star-rating.js +3 -1
  83. package/es/select/select-component.js +20 -5
  84. package/es/select/styled-components.js +34 -4
  85. package/es/snackbar/snackbar-context.js +16 -4
  86. package/es/spinner/styled-components.js +1 -1
  87. package/es/table-semantic/styled-components.js +6 -4
  88. package/es/table-semantic/table-builder.js +3 -0
  89. package/es/themes/dark-theme/color-component-tokens.js +1 -1
  90. package/es/themes/light-theme/color-component-tokens.js +9 -9
  91. package/es/themes/shared/lighting.js +5 -1
  92. package/es/timepicker/timepicker.js +16 -11
  93. package/es/tooltip/styled-components.js +8 -0
  94. package/es/tooltip/tooltip.js +1 -0
  95. package/esm/app-nav-bar/user-menu.js +1 -0
  96. package/esm/button/styled-components.js +1 -1
  97. package/esm/card/styled-components.js +0 -1
  98. package/esm/combobox/combobox.js +5 -1
  99. package/esm/data-table/column-datetime.js +2 -0
  100. package/esm/data-table/data-table.js +13 -3
  101. package/esm/datepicker/calendar-header.js +255 -110
  102. package/esm/datepicker/calendar.js +7 -2
  103. package/esm/datepicker/constants.js +6 -1
  104. package/esm/datepicker/datepicker.js +136 -74
  105. package/esm/datepicker/day.js +2 -0
  106. package/esm/datepicker/month.js +3 -0
  107. package/esm/datepicker/styled-components.js +112 -55
  108. package/esm/datepicker/types.js +1 -1
  109. package/esm/datepicker/utils/calendar-header-helpers.js +45 -0
  110. package/esm/datepicker/utils/date-helpers.js +1 -1
  111. package/esm/datepicker/week.js +1 -0
  112. package/esm/dnd-list/index.js +2 -1
  113. package/esm/dnd-list/list.js +1 -2
  114. package/esm/dnd-list/styled-components.js +1 -1
  115. package/esm/drawer/close-icon.js +3 -2
  116. package/esm/drawer/drawer.js +5 -2
  117. package/esm/helper/helper.js +1 -0
  118. package/esm/layer/layer.js +8 -0
  119. package/esm/list/list-heading.js +17 -6
  120. package/esm/map-marker/constants.js +62 -0
  121. package/esm/map-marker/fixed-marker.js +137 -0
  122. package/esm/map-marker/floating-marker.js +94 -0
  123. package/esm/map-marker/index.js +9 -0
  124. package/esm/map-marker/pin-head.js +144 -0
  125. package/esm/map-marker/styled-components.js +168 -0
  126. package/esm/map-marker/types.js +8 -0
  127. package/esm/menu/maybe-child-menu.js +1 -0
  128. package/esm/popover/popover.js +6 -5
  129. package/esm/popover/stateful-container.js +8 -2
  130. package/esm/rating/emoticon-rating.js +2 -2
  131. package/esm/rating/star-rating.js +2 -2
  132. package/esm/select/select-component.js +19 -5
  133. package/esm/select/styled-components.js +28 -4
  134. package/esm/snackbar/snackbar-context.js +16 -4
  135. package/esm/spinner/styled-components.js +1 -1
  136. package/esm/table-semantic/styled-components.js +6 -4
  137. package/esm/table-semantic/table-builder.js +3 -0
  138. package/esm/themes/dark-theme/color-component-tokens.js +1 -1
  139. package/esm/themes/light-theme/color-component-tokens.js +9 -9
  140. package/esm/themes/shared/lighting.js +5 -1
  141. package/esm/timepicker/timepicker.js +17 -11
  142. package/esm/tooltip/styled-components.js +8 -0
  143. package/esm/tooltip/tooltip.js +1 -0
  144. package/helper/helper.js +1 -0
  145. package/helper/helper.js.flow +1 -0
  146. package/layer/layer.js +8 -0
  147. package/layer/layer.js.flow +9 -0
  148. package/link/index.d.ts +1 -0
  149. package/list/index.d.ts +36 -0
  150. package/list/list-heading.js +24 -7
  151. package/list/list-heading.js.flow +17 -8
  152. package/map-marker/constants.js +82 -0
  153. package/map-marker/constants.js.flow +74 -0
  154. package/map-marker/fixed-marker.js +152 -0
  155. package/map-marker/fixed-marker.js.flow +137 -0
  156. package/map-marker/floating-marker.js +109 -0
  157. package/map-marker/floating-marker.js.flow +102 -0
  158. package/map-marker/index.d.ts +105 -0
  159. package/map-marker/index.js +55 -0
  160. package/map-marker/index.js.flow +23 -0
  161. package/map-marker/package.json +4 -0
  162. package/map-marker/pin-head.js +159 -0
  163. package/map-marker/pin-head.js.flow +155 -0
  164. package/map-marker/styled-components.js +184 -0
  165. package/map-marker/styled-components.js.flow +177 -0
  166. package/map-marker/types.js +11 -0
  167. package/map-marker/types.js.flow +114 -0
  168. package/menu/index.d.ts +7 -0
  169. package/menu/maybe-child-menu.js +1 -0
  170. package/menu/maybe-child-menu.js.flow +1 -0
  171. package/menu/types.js.flow +12 -0
  172. package/modal/index.d.ts +1 -1
  173. package/modal/types.js.flow +4 -1
  174. package/package.json +5 -3
  175. package/popover/index.d.ts +2 -1
  176. package/popover/popover.js +6 -5
  177. package/popover/popover.js.flow +11 -4
  178. package/popover/stateful-container.js +8 -2
  179. package/popover/stateful-container.js.flow +5 -0
  180. package/popover/types.js.flow +6 -1
  181. package/rating/emoticon-rating.js +2 -2
  182. package/rating/emoticon-rating.js.flow +4 -1
  183. package/rating/star-rating.js +2 -2
  184. package/rating/star-rating.js.flow +4 -1
  185. package/select/select-component.js +19 -5
  186. package/select/select-component.js.flow +19 -5
  187. package/select/styled-components.js +28 -4
  188. package/select/styled-components.js.flow +30 -2
  189. package/select/types.js.flow +9 -0
  190. package/snackbar/index.d.ts +21 -16
  191. package/snackbar/snackbar-context.js +15 -4
  192. package/snackbar/snackbar-context.js.flow +15 -3
  193. package/spinner/styled-components.js +1 -1
  194. package/spinner/styled-components.js.flow +1 -1
  195. package/table-semantic/styled-components.js +6 -4
  196. package/table-semantic/styled-components.js.flow +6 -4
  197. package/table-semantic/table-builder.js +3 -0
  198. package/table-semantic/table-builder.js.flow +3 -0
  199. package/themes/dark-theme/color-component-tokens.js +1 -1
  200. package/themes/dark-theme/color-component-tokens.js.flow +1 -1
  201. package/themes/light-theme/color-component-tokens.js +9 -9
  202. package/themes/light-theme/color-component-tokens.js.flow +9 -9
  203. package/themes/shared/lighting.js +5 -1
  204. package/themes/shared/lighting.js.flow +4 -0
  205. package/themes/types.js.flow +4 -0
  206. package/timepicker/index.d.ts +1 -0
  207. package/timepicker/timepicker.js +17 -11
  208. package/timepicker/timepicker.js.flow +31 -12
  209. package/timepicker/types.js.flow +10 -0
  210. package/tooltip/styled-components.js +8 -0
  211. package/tooltip/styled-components.js.flow +8 -0
  212. package/tooltip/tooltip.js +1 -0
  213. package/tooltip/tooltip.js.flow +6 -1
@@ -153,6 +153,7 @@ function UserMenuComponent(props) {
153
153
  }
154
154
  }, userMenuProps));
155
155
  },
156
+ autoFocus: false,
156
157
  dismissOnEsc: true,
157
158
  dismissOnClickOutside: true,
158
159
  onOpen: function onOpen() {
@@ -120,6 +120,7 @@ export default function UserMenuComponent(props: {|
120
120
  {...userMenuProps}
121
121
  />
122
122
  )}
123
+ autoFocus={false}
123
124
  dismissOnEsc={true}
124
125
  dismissOnClickOutside={true}
125
126
  onOpen={() => setIsOpen(true)}
@@ -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: $theme.colors.buttonDisabledFill,
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,
@@ -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, _extends({
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}
@@ -17,11 +17,14 @@ export interface ComboboxOverrides {
17
17
  ListItem?: Override<any>;
18
18
  }
19
19
 
20
- export type PropsT<OptionT = unknown> = {
20
+ export type PropsT<OptionT = any> = {
21
21
  autocomplete?: boolean;
22
22
  disabled?: boolean;
23
- mapOptionToNode?: ({isSelected: boolean, option: OptionT}) => React.ReactNode;
24
- mapOptionToString: (OptionT) => string;
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
 
@@ -461,6 +462,7 @@ function DatetimeFilter(props) {
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
 
@@ -415,6 +416,7 @@ function DatetimeFilter(props) {
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]}
@@ -445,11 +445,12 @@ var InnerTableElement = /*#__PURE__*/React.forwardRef(function (props, ref) {
445
445
  viewState = EMPTY;
446
446
  }
447
447
 
448
+ var highlightedRow = ctx.rows[ctx.rowHighlightIndex - 1];
448
449
  return /*#__PURE__*/React.createElement("div", {
449
450
  ref: ref,
450
451
  "data-baseweb": "data-table",
451
452
  style: props.style
452
- }, /*#__PURE__*/React.createElement(Headers, null), viewState === LOADING && /*#__PURE__*/React.createElement(LoadingOrEmptyMessage, null, ctx.loadingMessage), viewState === EMPTY && /*#__PURE__*/React.createElement(LoadingOrEmptyMessage, null, ctx.emptyMessage), viewState === RENDERING && props.children, ctx.rowActions && Boolean(ctx.rowActions.length) && ctx.rowHighlightIndex > 0 && Boolean(ctx.rows[ctx.rowHighlightIndex - 1]) && !ctx.isScrollingX && /*#__PURE__*/React.createElement("div", {
453
+ }, /*#__PURE__*/React.createElement(Headers, null), viewState === LOADING && /*#__PURE__*/React.createElement(LoadingOrEmptyMessage, null, ctx.loadingMessage), viewState === EMPTY && /*#__PURE__*/React.createElement(LoadingOrEmptyMessage, null, ctx.emptyMessage), viewState === RENDERING && props.children, ctx.rowActions && Boolean(ctx.rowActions.length) && ctx.rowHighlightIndex > 0 && Boolean(highlightedRow) && !ctx.isScrollingX && /*#__PURE__*/React.createElement("div", {
453
454
  style: {
454
455
  alignItems: 'center',
455
456
  backgroundColor: theme.colors.backgroundTertiary,
@@ -463,7 +464,12 @@ var InnerTableElement = /*#__PURE__*/React.forwardRef(function (props, ref) {
463
464
  left: theme.direction === 'rtl' ? 0 : 'initial',
464
465
  top: (ctx.rowHighlightIndex - 1) * ctx.rowHeight + HEADER_ROW_HEIGHT
465
466
  }
466
- }, ctx.rowActions.map(function (rowAction) {
467
+ }, (typeof ctx.rowActions === 'function' ? ctx.rowActions(highlightedRow) : ctx.rowActions).map(function (rowAction) {
468
+ if (rowAction.renderButton) {
469
+ var RowActionButton = rowAction.renderButton;
470
+ return /*#__PURE__*/React.createElement(RowActionButton, null);
471
+ }
472
+
467
473
  var RowActionIcon = rowAction.renderIcon;
468
474
  return /*#__PURE__*/React.createElement(_index.Button, {
469
475
  alt: rowAction.label,
@@ -480,7 +486,11 @@ var InnerTableElement = /*#__PURE__*/React.forwardRef(function (props, ref) {
480
486
  overrides: {
481
487
  BaseButton: {
482
488
  style: {
483
- marginLeft: theme.sizing.scale300
489
+ marginLeft: theme.sizing.scale300,
490
+ paddingTop: theme.sizing.scale100,
491
+ paddingRight: theme.sizing.scale100,
492
+ paddingBottom: theme.sizing.scale100,
493
+ paddingLeft: theme.sizing.scale100
484
494
  }
485
495
  }
486
496
  }
@@ -53,7 +53,7 @@ type HeaderContextT = {|
53
53
  onSelectNone: () => void,
54
54
  onSort: number => void,
55
55
  resizableColumnWidths: boolean,
56
- rowActions: RowActionT[],
56
+ rowActions: RowActionT[] | (RowT => RowActionT[]),
57
57
  rowHeight: number,
58
58
  rowHighlightIndex: number,
59
59
  rows: RowT[],
@@ -554,6 +554,8 @@ const InnerTableElement = React.forwardRef<
554
554
  viewState = EMPTY;
555
555
  }
556
556
 
557
+ const highlightedRow = ctx.rows[ctx.rowHighlightIndex - 1];
558
+
557
559
  return (
558
560
  <div ref={ref} data-baseweb="data-table" style={props.style}>
559
561
  <Headers />
@@ -571,7 +573,7 @@ const InnerTableElement = React.forwardRef<
571
573
  {ctx.rowActions &&
572
574
  Boolean(ctx.rowActions.length) &&
573
575
  ctx.rowHighlightIndex > 0 &&
574
- Boolean(ctx.rows[ctx.rowHighlightIndex - 1]) &&
576
+ Boolean(highlightedRow) &&
575
577
  !ctx.isScrollingX && (
576
578
  <div
577
579
  style={{
@@ -589,7 +591,15 @@ const InnerTableElement = React.forwardRef<
589
591
  (ctx.rowHighlightIndex - 1) * ctx.rowHeight + HEADER_ROW_HEIGHT,
590
592
  }}
591
593
  >
592
- {ctx.rowActions.map(rowAction => {
594
+ {(typeof ctx.rowActions === 'function'
595
+ ? ctx.rowActions(highlightedRow)
596
+ : ctx.rowActions
597
+ ).map(rowAction => {
598
+ if (rowAction.renderButton) {
599
+ const RowActionButton = rowAction.renderButton;
600
+ return <RowActionButton />;
601
+ }
602
+
593
603
  const RowActionIcon = rowAction.renderIcon;
594
604
  return (
595
605
  <Button
@@ -606,7 +616,13 @@ const InnerTableElement = React.forwardRef<
606
616
  shape={BUTTON_SHAPES.round}
607
617
  overrides={{
608
618
  BaseButton: {
609
- style: {marginLeft: theme.sizing.scale300},
619
+ style: {
620
+ marginLeft: theme.sizing.scale300,
621
+ paddingTop: theme.sizing.scale100,
622
+ paddingRight: theme.sizing.scale100,
623
+ paddingBottom: theme.sizing.scale100,
624
+ paddingLeft: theme.sizing.scale100,
625
+ },
610
626
  },
611
627
  }}
612
628
  >
@@ -87,6 +87,7 @@ export type RowActionT = {|
87
87
  label: string,
88
88
  onClick: ({event: SyntheticEvent<HTMLButtonElement>, row: RowT}) => mixed,
89
89
  renderIcon: React.AbstractComponent<{|size: number|}>,
90
+ renderButton?: React.AbstractComponent<{||}>,
90
91
  |};
91
92
 
92
93
  export type StatefulDataTablePropsT = {|
@@ -107,7 +108,7 @@ export type StatefulDataTablePropsT = {|
107
108
  onSelectionChange?: (RowT[]) => mixed,
108
109
  resizableColumnWidths?: boolean,
109
110
  rows: RowT[],
110
- rowActions?: RowActionT[],
111
+ rowActions?: RowActionT[] | (RowT => RowActionT[]),
111
112
  rowHeight?: number,
112
113
  rowHighlightIndex?: number,
113
114
  searchable?: boolean,