@carbon/react 1.40.0 → 1.41.0-rc.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 (242) hide show
  1. package/.playwright/INTERNAL_AVT_REPORT_DO_NOT_USE.json +1428 -695
  2. package/es/components/Accordion/Accordion.Skeleton.d.ts +0 -5
  3. package/es/components/Accordion/Accordion.Skeleton.js +0 -5
  4. package/es/components/Breadcrumb/BreadcrumbItem.js +3 -1
  5. package/es/components/Checkbox/Checkbox.js +3 -6
  6. package/es/components/CodeSnippet/CodeSnippet.js +5 -12
  7. package/es/components/ComboBox/ComboBox.d.ts +1 -5
  8. package/es/components/ComboBox/ComboBox.js +6 -20
  9. package/es/components/ComposedModal/ComposedModal.js +1 -4
  10. package/es/components/ComposedModal/ModalFooter.js +4 -9
  11. package/es/components/ComposedModal/ModalHeader.js +1 -4
  12. package/es/components/ContentSwitcher/ContentSwitcher.d.ts +3 -8
  13. package/es/components/ContentSwitcher/ContentSwitcher.js +7 -11
  14. package/es/components/Copy/Copy.js +4 -8
  15. package/es/components/CopyButton/CopyButton.js +8 -7
  16. package/es/components/DataTable/DataTable.d.ts +3 -39
  17. package/es/components/DataTable/DataTable.js +10 -18
  18. package/es/components/DataTable/Table.d.ts +0 -4
  19. package/es/components/DataTable/Table.js +0 -4
  20. package/es/components/DataTable/TableBatchAction.js +12 -5
  21. package/es/components/DataTable/TableBatchActions.js +1 -6
  22. package/es/components/DataTable/TableBody.d.ts +0 -3
  23. package/es/components/DataTable/TableBody.js +1 -3
  24. package/es/components/DataTable/TableHeader.js +3 -8
  25. package/es/components/DataTable/TableSelectAll.d.ts +0 -3
  26. package/es/components/DataTable/TableSelectAll.js +1 -4
  27. package/es/components/DataTable/TableToolbar.d.ts +10 -0
  28. package/es/components/DataTable/TableToolbar.js +15 -7
  29. package/es/components/DataTable/TableToolbarMenu.js +2 -6
  30. package/es/components/DataTable/TableToolbarSearch.d.ts +2 -8
  31. package/es/components/DataTable/TableToolbarSearch.js +6 -11
  32. package/es/components/DataTable/tools/sorting.js +2 -2
  33. package/es/components/DatePicker/DatePicker.d.ts +4 -4
  34. package/es/components/DatePicker/DatePicker.js +9 -4
  35. package/es/components/DatePicker/plugins/fixEventsPlugin.js +6 -0
  36. package/es/components/DatePickerInput/DatePickerInput.js +12 -6
  37. package/es/components/Dropdown/Dropdown.js +6 -15
  38. package/es/components/FileUploader/FileUploader.d.ts +2 -11
  39. package/es/components/FileUploader/FileUploader.js +15 -19
  40. package/es/components/FileUploader/FileUploaderButton.js +2 -2
  41. package/es/components/FileUploader/FileUploaderDropContainer.d.ts +0 -7
  42. package/es/components/FileUploader/FileUploaderDropContainer.js +2 -8
  43. package/es/components/FileUploader/FileUploaderItem.d.ts +0 -4
  44. package/es/components/FileUploader/FileUploaderItem.js +12 -9
  45. package/es/components/FileUploader/Filename.d.ts +6 -10
  46. package/es/components/FileUploader/Filename.js +7 -11
  47. package/es/components/FormGroup/FormGroup.d.ts +0 -5
  48. package/es/components/FormGroup/FormGroup.js +3 -8
  49. package/es/components/FormItem/FormItem.d.ts +32 -0
  50. package/es/components/FormItem/index.d.ts +9 -0
  51. package/es/components/FormLabel/FormLabel.js +4 -1
  52. package/es/components/ListBox/ListBox.js +4 -8
  53. package/es/components/ListBox/ListBoxMenuIcon.js +1 -4
  54. package/es/components/ListBox/ListBoxMenuItem.js +4 -8
  55. package/es/components/ListBox/ListBoxSelection.d.ts +5 -5
  56. package/es/components/ListBox/ListBoxSelection.js +12 -13
  57. package/es/components/ListBox/next/ListBoxSelection.js +12 -13
  58. package/es/components/ListBox/next/ListBoxTrigger.js +3 -5
  59. package/es/components/ListItem/ListItem.d.ts +1 -1
  60. package/es/components/ListItem/ListItem.js +6 -2
  61. package/es/components/Menu/MenuItem.js +4 -1
  62. package/es/components/Modal/Modal.js +16 -27
  63. package/es/components/ModalWrapper/ModalWrapper.js +13 -19
  64. package/es/components/MultiSelect/FilterableMultiSelect.js +14 -28
  65. package/es/components/MultiSelect/MultiSelect.js +17 -33
  66. package/es/components/MultiSelect/MultiSelectPropTypes.js +2 -2
  67. package/es/components/MultiSelect/tools/sorting.js +2 -2
  68. package/es/components/Notification/Notification.d.ts +11 -29
  69. package/es/components/Notification/Notification.js +38 -57
  70. package/es/components/NumberInput/NumberInput.js +6 -2
  71. package/es/components/OverflowMenu/OverflowMenu.js +27 -33
  72. package/es/components/OverflowMenuItem/OverflowMenuItem.js +4 -1
  73. package/es/components/Pagination/experimental/PageSelector.js +3 -8
  74. package/es/components/Pagination/experimental/Pagination.js +16 -34
  75. package/es/components/ProgressIndicator/ProgressIndicator.js +7 -6
  76. package/es/components/RadioTile/RadioTile.js +6 -7
  77. package/es/components/Search/Search.Skeleton.d.ts +0 -3
  78. package/es/components/Search/Search.Skeleton.js +1 -4
  79. package/es/components/Select/Select.d.ts +2 -2
  80. package/es/components/Select/Select.js +13 -16
  81. package/es/components/SelectItem/SelectItem.d.ts +0 -6
  82. package/es/components/SelectItem/SelectItem.js +4 -10
  83. package/es/components/SelectItemGroup/SelectItemGroup.d.ts +0 -3
  84. package/es/components/SelectItemGroup/SelectItemGroup.js +1 -4
  85. package/es/components/SkeletonIcon/SkeletonIcon.d.ts +13 -0
  86. package/es/components/SkeletonIcon/SkeletonIcon.js +2 -3
  87. package/es/components/SkeletonText/SkeletonText.d.ts +0 -6
  88. package/es/components/SkeletonText/SkeletonText.js +0 -6
  89. package/es/components/Slider/Slider.Skeleton.d.ts +9 -1
  90. package/es/components/Slider/Slider.Skeleton.js +20 -4
  91. package/es/components/Slider/Slider.d.ts +137 -25
  92. package/es/components/Slider/Slider.js +779 -186
  93. package/es/components/StructuredList/StructuredList.js +5 -2
  94. package/es/components/Switch/Switch.js +3 -7
  95. package/es/components/Tabs/Tabs.js +5 -2
  96. package/es/components/Tag/Tag.js +4 -2
  97. package/es/components/Text/Text.js +1 -1
  98. package/es/components/Text/TextDirection.d.ts +1 -1
  99. package/es/components/TextArea/TextArea.js +30 -34
  100. package/es/components/TextInput/ControlledPasswordInput.js +12 -19
  101. package/es/components/TextInput/TextInput.js +8 -3
  102. package/es/components/Tile/Tile.js +4 -2
  103. package/es/components/TileGroup/TileGroup.js +5 -4
  104. package/es/components/Toggle/Toggle.js +4 -2
  105. package/es/components/UIShell/Content.js +1 -4
  106. package/es/components/UIShell/SideNav.d.ts +1 -1
  107. package/es/components/UIShell/SideNavDetails.d.ts +32 -0
  108. package/es/components/UIShell/SideNavDetails.js +1 -2
  109. package/es/components/UIShell/SideNavDivider.d.ts +15 -0
  110. package/es/components/UIShell/SideNavDivider.js +2 -2
  111. package/es/components/UIShell/SideNavFooter.js +2 -5
  112. package/es/components/UIShell/SideNavIcon.d.ts +25 -0
  113. package/es/components/UIShell/SideNavIcon.js +4 -7
  114. package/es/components/UIShell/SideNavSwitcher.d.ts +31 -0
  115. package/es/components/UIShell/SideNavSwitcher.js +6 -5
  116. package/es/index.js +1 -1
  117. package/es/internal/FloatingMenu.js +2 -7
  118. package/es/internal/Selection.js +0 -3
  119. package/es/internal/noopFn.d.ts +7 -0
  120. package/es/internal/noopFn.js +10 -0
  121. package/es/internal/useNormalizedInputProps.js +6 -2
  122. package/lib/components/Accordion/Accordion.Skeleton.d.ts +0 -5
  123. package/lib/components/Accordion/Accordion.Skeleton.js +0 -5
  124. package/lib/components/Breadcrumb/BreadcrumbItem.js +3 -1
  125. package/lib/components/Checkbox/Checkbox.js +3 -6
  126. package/lib/components/CodeSnippet/CodeSnippet.js +5 -12
  127. package/lib/components/ComboBox/ComboBox.d.ts +1 -5
  128. package/lib/components/ComboBox/ComboBox.js +5 -19
  129. package/lib/components/ComposedModal/ComposedModal.js +1 -4
  130. package/lib/components/ComposedModal/ModalFooter.js +4 -9
  131. package/lib/components/ComposedModal/ModalHeader.js +1 -4
  132. package/lib/components/ContentSwitcher/ContentSwitcher.d.ts +3 -8
  133. package/lib/components/ContentSwitcher/ContentSwitcher.js +7 -11
  134. package/lib/components/Copy/Copy.js +4 -8
  135. package/lib/components/CopyButton/CopyButton.js +8 -7
  136. package/lib/components/DataTable/DataTable.d.ts +3 -39
  137. package/lib/components/DataTable/DataTable.js +13 -21
  138. package/lib/components/DataTable/Table.d.ts +0 -4
  139. package/lib/components/DataTable/Table.js +0 -4
  140. package/lib/components/DataTable/TableBatchAction.js +12 -5
  141. package/lib/components/DataTable/TableBatchActions.js +1 -6
  142. package/lib/components/DataTable/TableBody.d.ts +0 -3
  143. package/lib/components/DataTable/TableBody.js +1 -3
  144. package/lib/components/DataTable/TableHeader.js +3 -8
  145. package/lib/components/DataTable/TableSelectAll.d.ts +0 -3
  146. package/lib/components/DataTable/TableSelectAll.js +1 -4
  147. package/lib/components/DataTable/TableToolbar.d.ts +10 -0
  148. package/lib/components/DataTable/TableToolbar.js +15 -7
  149. package/lib/components/DataTable/TableToolbarMenu.js +2 -6
  150. package/lib/components/DataTable/TableToolbarSearch.d.ts +2 -8
  151. package/lib/components/DataTable/TableToolbarSearch.js +6 -11
  152. package/lib/components/DataTable/tools/sorting.js +2 -2
  153. package/lib/components/DatePicker/DatePicker.d.ts +4 -4
  154. package/lib/components/DatePicker/DatePicker.js +9 -4
  155. package/lib/components/DatePicker/plugins/fixEventsPlugin.js +6 -0
  156. package/lib/components/DatePickerInput/DatePickerInput.js +12 -6
  157. package/lib/components/Dropdown/Dropdown.js +6 -15
  158. package/lib/components/FileUploader/FileUploader.d.ts +2 -11
  159. package/lib/components/FileUploader/FileUploader.js +15 -19
  160. package/lib/components/FileUploader/FileUploaderButton.js +2 -2
  161. package/lib/components/FileUploader/FileUploaderDropContainer.d.ts +0 -7
  162. package/lib/components/FileUploader/FileUploaderDropContainer.js +2 -8
  163. package/lib/components/FileUploader/FileUploaderItem.d.ts +0 -4
  164. package/lib/components/FileUploader/FileUploaderItem.js +12 -9
  165. package/lib/components/FileUploader/Filename.d.ts +6 -10
  166. package/lib/components/FileUploader/Filename.js +7 -11
  167. package/lib/components/FormGroup/FormGroup.d.ts +0 -5
  168. package/lib/components/FormGroup/FormGroup.js +3 -8
  169. package/lib/components/FormItem/FormItem.d.ts +32 -0
  170. package/lib/components/FormItem/index.d.ts +9 -0
  171. package/lib/components/FormLabel/FormLabel.js +4 -1
  172. package/lib/components/ListBox/ListBox.js +4 -8
  173. package/lib/components/ListBox/ListBoxMenuIcon.js +1 -4
  174. package/lib/components/ListBox/ListBoxMenuItem.js +4 -8
  175. package/lib/components/ListBox/ListBoxSelection.d.ts +5 -5
  176. package/lib/components/ListBox/ListBoxSelection.js +12 -13
  177. package/lib/components/ListBox/next/ListBoxSelection.js +12 -13
  178. package/lib/components/ListBox/next/ListBoxTrigger.js +3 -5
  179. package/lib/components/ListItem/ListItem.d.ts +1 -1
  180. package/lib/components/ListItem/ListItem.js +6 -2
  181. package/lib/components/Menu/MenuItem.js +4 -1
  182. package/lib/components/Modal/Modal.js +16 -27
  183. package/lib/components/ModalWrapper/ModalWrapper.js +13 -19
  184. package/lib/components/MultiSelect/FilterableMultiSelect.js +18 -32
  185. package/lib/components/MultiSelect/MultiSelect.js +16 -32
  186. package/lib/components/MultiSelect/MultiSelectPropTypes.js +2 -2
  187. package/lib/components/MultiSelect/tools/sorting.js +2 -2
  188. package/lib/components/Notification/Notification.d.ts +11 -29
  189. package/lib/components/Notification/Notification.js +38 -57
  190. package/lib/components/NumberInput/NumberInput.js +6 -2
  191. package/lib/components/OverflowMenu/OverflowMenu.js +27 -33
  192. package/lib/components/OverflowMenuItem/OverflowMenuItem.js +4 -1
  193. package/lib/components/Pagination/experimental/PageSelector.js +3 -8
  194. package/lib/components/Pagination/experimental/Pagination.js +16 -34
  195. package/lib/components/ProgressIndicator/ProgressIndicator.js +7 -6
  196. package/lib/components/RadioTile/RadioTile.js +6 -7
  197. package/lib/components/Search/Search.Skeleton.d.ts +0 -3
  198. package/lib/components/Search/Search.Skeleton.js +1 -4
  199. package/lib/components/Select/Select.d.ts +2 -2
  200. package/lib/components/Select/Select.js +13 -16
  201. package/lib/components/SelectItem/SelectItem.d.ts +0 -6
  202. package/lib/components/SelectItem/SelectItem.js +4 -10
  203. package/lib/components/SelectItemGroup/SelectItemGroup.d.ts +0 -3
  204. package/lib/components/SelectItemGroup/SelectItemGroup.js +1 -4
  205. package/lib/components/SkeletonIcon/SkeletonIcon.d.ts +13 -0
  206. package/lib/components/SkeletonIcon/SkeletonIcon.js +2 -3
  207. package/lib/components/SkeletonText/SkeletonText.d.ts +0 -6
  208. package/lib/components/SkeletonText/SkeletonText.js +0 -6
  209. package/lib/components/Slider/Slider.Skeleton.d.ts +9 -1
  210. package/lib/components/Slider/Slider.Skeleton.js +20 -4
  211. package/lib/components/Slider/Slider.d.ts +137 -25
  212. package/lib/components/Slider/Slider.js +778 -185
  213. package/lib/components/StructuredList/StructuredList.js +5 -2
  214. package/lib/components/Switch/Switch.js +3 -7
  215. package/lib/components/Tabs/Tabs.js +5 -2
  216. package/lib/components/Tag/Tag.js +4 -2
  217. package/lib/components/Text/Text.js +1 -1
  218. package/lib/components/Text/TextDirection.d.ts +1 -1
  219. package/lib/components/TextArea/TextArea.js +30 -34
  220. package/lib/components/TextInput/ControlledPasswordInput.js +12 -19
  221. package/lib/components/TextInput/TextInput.js +8 -3
  222. package/lib/components/Tile/Tile.js +4 -2
  223. package/lib/components/TileGroup/TileGroup.js +5 -4
  224. package/lib/components/Toggle/Toggle.js +4 -2
  225. package/lib/components/UIShell/Content.js +1 -4
  226. package/lib/components/UIShell/SideNav.d.ts +1 -1
  227. package/lib/components/UIShell/SideNavDetails.d.ts +32 -0
  228. package/lib/components/UIShell/SideNavDetails.js +1 -2
  229. package/lib/components/UIShell/SideNavDivider.d.ts +15 -0
  230. package/lib/components/UIShell/SideNavDivider.js +2 -2
  231. package/lib/components/UIShell/SideNavFooter.js +2 -5
  232. package/lib/components/UIShell/SideNavIcon.d.ts +25 -0
  233. package/lib/components/UIShell/SideNavIcon.js +4 -7
  234. package/lib/components/UIShell/SideNavSwitcher.d.ts +31 -0
  235. package/lib/components/UIShell/SideNavSwitcher.js +5 -4
  236. package/lib/index.js +2 -2
  237. package/lib/internal/FloatingMenu.js +2 -7
  238. package/lib/internal/Selection.js +0 -3
  239. package/lib/internal/noopFn.d.ts +7 -0
  240. package/lib/internal/noopFn.js +14 -0
  241. package/lib/internal/useNormalizedInputProps.js +6 -2
  242. package/package.json +9 -9
@@ -27,24 +27,6 @@ import TableToolbarAction from './TableToolbarAction';
27
27
  import TableToolbarContent from './TableToolbarContent';
28
28
  import TableToolbarSearch from './TableToolbarSearch';
29
29
  import TableToolbarMenu from './TableToolbarMenu';
30
- declare const dataTableDefaultProps: {
31
- filterRows: ({ rowIds, headers, cellsById, inputValue, getCellId, }: {
32
- rowIds: string[];
33
- headers: any[];
34
- cellsById: any;
35
- inputValue: string;
36
- getCellId: Function;
37
- }) => string[];
38
- locale: string;
39
- overflowMenuOnHover: boolean;
40
- size: string;
41
- sortRow: (cellA: any, cellB: any, { sortDirection, sortStates, locale }: {
42
- sortDirection: any;
43
- sortStates: any;
44
- locale: any;
45
- }) => number;
46
- translateWithId: (id: any) => string;
47
- };
48
30
  export type DataTableSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
49
31
  export interface DataTableCell<T> {
50
32
  id: string;
@@ -181,7 +163,7 @@ export interface DataTableProps<RowType, ColTypes extends any[]> {
181
163
  children?: (renderProps: DataTableRenderProps<RowType, ColTypes>) => React.ReactElement;
182
164
  experimentalAutoAlign?: boolean;
183
165
  filterRows?: (filterRowsArgs: {
184
- cellsById: Record<string, DataTableCell<RowType>>;
166
+ cellsById: Record<string, DataTableCell<ColTypes>>;
185
167
  getCellId: (rowId: string, header: string) => string;
186
168
  headers: Array<DataTableHeader>;
187
169
  inputValue: string;
@@ -226,26 +208,8 @@ interface DataTableState<ColTypes extends any[]> {
226
208
  * and updating the state of the single entity will cascade updates to the
227
209
  * consumer.
228
210
  */
229
- declare class DataTable<RowType, ColTypes extends any[]> extends React.Component<DataTableProps<RowType, ColTypes> & typeof dataTableDefaultProps, DataTableState<ColTypes>> {
211
+ declare class DataTable<RowType, ColTypes extends any[]> extends React.Component<DataTableProps<RowType, ColTypes>, DataTableState<ColTypes>> {
230
212
  instanceId: number;
231
- static defaultProps: {
232
- filterRows: ({ rowIds, headers, cellsById, inputValue, getCellId, }: {
233
- rowIds: string[];
234
- headers: any[];
235
- cellsById: any;
236
- inputValue: string;
237
- getCellId: Function;
238
- }) => string[];
239
- locale: string;
240
- overflowMenuOnHover: boolean;
241
- size: string;
242
- sortRow: (cellA: any, cellB: any, { sortDirection, sortStates, locale }: {
243
- sortDirection: any;
244
- sortStates: any;
245
- locale: any;
246
- }) => number;
247
- translateWithId: (id: any) => string;
248
- };
249
213
  static propTypes: {
250
214
  /**
251
215
  * Experimental property. Allows table to align cell contents to the top if there is text wrapping in the content. Might have performance issues, intended for smaller tables
@@ -488,7 +452,7 @@ declare class DataTable<RowType, ColTypes extends any[]> extends React.Component
488
452
  */
489
453
  getTableProps: () => {
490
454
  useZebraStyles: boolean | undefined;
491
- size: "sm" | "md" | "lg" | "xl" | "xs";
455
+ size: DataTableSize;
492
456
  isSortable: boolean | undefined;
493
457
  useStaticWidth: boolean | undefined;
494
458
  stickyHeader: boolean | undefined;
@@ -14,12 +14,11 @@ var PropTypes = require('prop-types');
14
14
  var React = require('react');
15
15
  var isEqual = require('lodash.isequal');
16
16
  var getDerivedStateFromProps = require('./state/getDerivedStateFromProps.js');
17
- var sorting$1 = require('./state/sorting.js');
17
+ var sorting = require('./state/sorting.js');
18
18
  var cells = require('./tools/cells.js');
19
19
  var denormalize = require('./tools/denormalize.js');
20
20
  var events = require('../../tools/events.js');
21
21
  var filter = require('./tools/filter.js');
22
- var sorting = require('./tools/sorting.js');
23
22
  var instanceId = require('./tools/instanceId.js');
24
23
  var Table = require('./Table.js');
25
24
  var TableActionList = require('./TableActionList.js');
@@ -70,14 +69,6 @@ const defaultTranslations = {
70
69
  [translationKeys.unselectRow]: 'Unselect row'
71
70
  };
72
71
  const translateWithId = id => defaultTranslations[id];
73
- const dataTableDefaultProps = {
74
- filterRows: filter.defaultFilterRows,
75
- locale: 'en',
76
- overflowMenuOnHover: true,
77
- size: 'lg',
78
- sortRow: sorting.defaultSortRow,
79
- translateWithId
80
- };
81
72
  /**
82
73
  * Data Tables are used to represent a collection of resources, displaying a
83
74
  * subset of their fields in columns, or headers. We prioritize direct updates
@@ -122,7 +113,7 @@ class DataTable extends React__default["default"].Component {
122
113
  isSortable,
123
114
  isSortHeader: sortHeaderKey === header.key,
124
115
  onClick: event => {
125
- const nextSortState = sorting$1.getNextSortState(this.props, this.state, {
116
+ const nextSortState = sorting.getNextSortState(this.props, this.state, {
126
117
  key: header.key
127
118
  });
128
119
  this.setState(nextSortState, () => {
@@ -149,7 +140,7 @@ class DataTable extends React__default["default"].Component {
149
140
  ...rest
150
141
  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
151
142
  const {
152
- translateWithId: t
143
+ translateWithId: t = translateWithId
153
144
  } = _this.props;
154
145
  const {
155
146
  isExpandedAll,
@@ -208,7 +199,7 @@ class DataTable extends React__default["default"].Component {
208
199
  ...rest
209
200
  } = _ref2;
210
201
  const {
211
- translateWithId: t
202
+ translateWithId: t = translateWithId
212
203
  } = this.props;
213
204
  const translationKey = row.isExpanded ? translationKeys.collapseRow : translationKeys.expandRow;
214
205
  return {
@@ -260,7 +251,7 @@ class DataTable extends React__default["default"].Component {
260
251
  ...rest
261
252
  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
262
253
  const {
263
- translateWithId: t
254
+ translateWithId: t = translateWithId
264
255
  } = _this.props;
265
256
 
266
257
  // If we're given a row, return the selection state values for that row
@@ -327,11 +318,11 @@ class DataTable extends React__default["default"].Component {
327
318
  _rollupPluginBabelHelpers.defineProperty(this, "getTableProps", () => {
328
319
  const {
329
320
  useZebraStyles,
330
- size,
321
+ size = 'lg',
331
322
  isSortable,
332
323
  useStaticWidth,
333
324
  stickyHeader,
334
- overflowMenuOnHover,
325
+ overflowMenuOnHover = true,
335
326
  experimentalAutoAlign
336
327
  } = this.props;
337
328
  return {
@@ -370,7 +361,10 @@ class DataTable extends React__default["default"].Component {
370
361
  * @returns {Array<string>} the array of rowIds that are currently included through the filter
371
362
  * */
372
363
  _rollupPluginBabelHelpers.defineProperty(this, "getFilteredRowIds", () => {
373
- const filteredRowIds = typeof this.state.filterInputValue === 'string' ? this.props.filterRows({
364
+ const {
365
+ filterRows = filter.defaultFilterRows
366
+ } = this.props;
367
+ const filteredRowIds = typeof this.state.filterInputValue === 'string' ? filterRows({
374
368
  rowIds: this.state.rowIds,
375
369
  headers: this.props.headers,
376
370
  cellsById: this.state.cellsById,
@@ -540,7 +534,7 @@ class DataTable extends React__default["default"].Component {
540
534
  * @returns {Function}
541
535
  */
542
536
  _rollupPluginBabelHelpers.defineProperty(this, "handleSortBy", headerKey => () => {
543
- this.setState(state => sorting$1.getNextSortState(this.props, state, {
537
+ this.setState(state => sorting.getNextSortState(this.props, state, {
544
538
  key: headerKey
545
539
  }));
546
540
  });
@@ -593,10 +587,9 @@ class DataTable extends React__default["default"].Component {
593
587
  return true;
594
588
  }
595
589
  render() {
596
- // eslint-disable-next-line react/prop-types
597
590
  const {
598
591
  children,
599
- filterRows,
592
+ filterRows = filter.defaultFilterRows,
600
593
  headers,
601
594
  render
602
595
  } = this.props;
@@ -647,7 +640,6 @@ class DataTable extends React__default["default"].Component {
647
640
  return null;
648
641
  }
649
642
  }
650
- _rollupPluginBabelHelpers.defineProperty(DataTable, "defaultProps", dataTableDefaultProps);
651
643
  _rollupPluginBabelHelpers.defineProperty(DataTable, "propTypes", {
652
644
  /**
653
645
  * Experimental property. Allows table to align cell contents to the top if there is text wrapping in the content. Might have performance issues, intended for smaller tables
@@ -71,9 +71,5 @@ export declare const Table: {
71
71
  */
72
72
  useZebraStyles: PropTypes.Requireable<boolean>;
73
73
  };
74
- defaultProps: {
75
- isSortable: boolean;
76
- overflowMenuOnHover: boolean;
77
- };
78
74
  };
79
75
  export default Table;
@@ -186,10 +186,6 @@ Table.propTypes = {
186
186
  */
187
187
  useZebraStyles: PropTypes__default["default"].bool
188
188
  };
189
- Table.defaultProps = {
190
- isSortable: false,
191
- overflowMenuOnHover: true
192
- };
193
189
 
194
190
  exports.Table = Table;
195
191
  exports["default"] = Table;
@@ -9,6 +9,7 @@
9
9
 
10
10
  Object.defineProperty(exports, '__esModule', { value: true });
11
11
 
12
+ var _rollupPluginBabelHelpers = require('../../_virtual/_rollupPluginBabelHelpers.js');
12
13
  var PropTypes = require('prop-types');
13
14
  var React = require('react');
14
15
  var iconsReact = require('@carbon/icons-react');
@@ -20,7 +21,17 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
20
21
  var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
21
22
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
22
23
 
23
- const TableBatchAction = props => /*#__PURE__*/React__default["default"].createElement(Button["default"], props);
24
+ const TableBatchAction = _ref => {
25
+ let {
26
+ renderIcon = iconsReact.AddFilled,
27
+ iconDescription = 'Add',
28
+ ...props
29
+ } = _ref;
30
+ return /*#__PURE__*/React__default["default"].createElement(Button["default"], _rollupPluginBabelHelpers["extends"]({
31
+ renderIcon: renderIcon,
32
+ iconDescription: iconDescription
33
+ }, props));
34
+ };
24
35
  TableBatchAction.propTypes = {
25
36
  /**
26
37
  * Specify if the button is an icon-only button
@@ -41,10 +52,6 @@ TableBatchAction.propTypes = {
41
52
  */
42
53
  renderIcon: PropTypes__default["default"].oneOfType([PropTypes__default["default"].func, PropTypes__default["default"].object])
43
54
  };
44
- TableBatchAction.defaultProps = {
45
- renderIcon: iconsReact.AddFilled,
46
- iconDescription: 'Add'
47
- };
48
55
  var TableBatchAction$1 = TableBatchAction;
49
56
 
50
57
  exports["default"] = TableBatchAction$1;
@@ -80,9 +80,7 @@ const TableBatchActions = _ref => {
80
80
  className: batchSummaryClasses
81
81
  }, /*#__PURE__*/React__default["default"].createElement("p", {
82
82
  className: `${prefix}--batch-summary__para`
83
- }, /*#__PURE__*/React__default["default"].createElement(Text.Text, {
84
- as: "span"
85
- }, totalSelected > 1 || totalSelected === 0 ? t('carbon.table.batch.items.selected', {
83
+ }, /*#__PURE__*/React__default["default"].createElement(Text.Text, null, totalSelected > 1 || totalSelected === 0 ? t('carbon.table.batch.items.selected', {
86
84
  totalSelected
87
85
  }) : t('carbon.table.batch.item.selected', {
88
86
  totalSelected
@@ -136,8 +134,5 @@ TableBatchActions.propTypes = {
136
134
  */
137
135
  translateWithId: PropTypes__default["default"].func
138
136
  };
139
- TableBatchActions.defaultProps = {
140
- translateWithId
141
- };
142
137
 
143
138
  exports["default"] = TableBatchActions;
@@ -22,8 +22,5 @@ declare const TableBody: {
22
22
  children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
23
23
  className: PropTypes.Requireable<string>;
24
24
  };
25
- defaultProps: {
26
- 'aria-live': string;
27
- };
28
25
  };
29
26
  export default TableBody;
@@ -25,6 +25,7 @@ const TableBody = _ref => {
25
25
  ...rest
26
26
  } = _ref;
27
27
  return /*#__PURE__*/React__default["default"].createElement("tbody", _rollupPluginBabelHelpers["extends"]({
28
+ "aria-live": 'polite' ,
28
29
  className: className
29
30
  }, rest), children);
30
31
  };
@@ -36,8 +37,5 @@ TableBody.propTypes = {
36
37
  children: PropTypes__default["default"].node,
37
38
  className: PropTypes__default["default"].string
38
39
  };
39
- TableBody.defaultProps = {
40
- 'aria-live': 'polite'
41
- };
42
40
 
43
41
  exports["default"] = TableBody;
@@ -56,12 +56,12 @@ const TableHeader = /*#__PURE__*/React__default["default"].forwardRef(function T
56
56
  className: headerClassName,
57
57
  children,
58
58
  colSpan,
59
- isSortable,
59
+ isSortable = false,
60
60
  isSortHeader,
61
61
  onClick,
62
62
  scope = defaultScope,
63
63
  sortDirection,
64
- translateWithId: t,
64
+ translateWithId: t = translateWithId,
65
65
  id,
66
66
  ...rest
67
67
  } = _ref;
@@ -154,7 +154,7 @@ TableHeader.propTypes = {
154
154
  * attribute at the following URL:
155
155
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/th#attr-scope
156
156
  */
157
- scope: PropTypes__default["default"].string.isRequired,
157
+ scope: PropTypes__default["default"].string,
158
158
  /**
159
159
  * Specify which direction we are currently sorting by, should be one of DESC,
160
160
  * NONE, or ASC.
@@ -167,11 +167,6 @@ TableHeader.propTypes = {
167
167
  */
168
168
  translateWithId: PropTypes__default["default"].func
169
169
  };
170
- TableHeader.defaultProps = {
171
- isSortable: false,
172
- scope: defaultScope,
173
- translateWithId
174
- };
175
170
  TableHeader.translationKeys = Object.values(translationKeys);
176
171
  TableHeader.displayName = 'TableHeader';
177
172
 
@@ -76,8 +76,5 @@ declare const TableSelectAll: {
76
76
  */
77
77
  onSelect: PropTypes.Validator<(...args: any[]) => any>;
78
78
  };
79
- defaultProps: {
80
- ariaLabel: string;
81
- };
82
79
  };
83
80
  export default TableSelectAll;
@@ -23,7 +23,7 @@ var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
23
23
 
24
24
  const TableSelectAll = _ref => {
25
25
  let {
26
- ariaLabel,
26
+ ariaLabel = 'Select all rows in the table',
27
27
  checked,
28
28
  id,
29
29
  indeterminate,
@@ -81,8 +81,5 @@ TableSelectAll.propTypes = {
81
81
  */
82
82
  onSelect: PropTypes__default["default"].func.isRequired
83
83
  };
84
- TableSelectAll.defaultProps = {
85
- ariaLabel: 'Select all rows in the table'
86
- };
87
84
 
88
85
  exports["default"] = TableSelectAll;
@@ -6,6 +6,16 @@
6
6
  */
7
7
  import React from 'react';
8
8
  export interface TableToolbarProps extends React.HTMLAttributes<HTMLDivElement> {
9
+ /**
10
+ * Specify a label to be read by screen readers on the container node
11
+ * 'aria-label' of the TableToolbar component.
12
+ */
13
+ ['aria-label']?: string;
14
+ /**
15
+ * @deprecated please use `aria-label` instead.
16
+ * 'aria-label' of the TableToolbar component.
17
+ */
18
+ ariaLabel?: string;
9
19
  /**
10
20
  * Pass in the children that will be rendered inside the TableToolbar
11
21
  */
@@ -14,7 +14,7 @@ var cx = require('classnames');
14
14
  var PropTypes = require('prop-types');
15
15
  var React = require('react');
16
16
  var usePrefix = require('../../internal/usePrefix.js');
17
- var AriaPropTypes = require('../../prop-types/AriaPropTypes.js');
17
+ var deprecate = require('../../prop-types/deprecate.js');
18
18
 
19
19
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
20
20
 
@@ -24,6 +24,8 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
24
24
 
25
25
  const TableToolbar = _ref => {
26
26
  let {
27
+ ['aria-label']: ariaLabel = 'data table toolbar',
28
+ ariaLabel: deprecatedAriaLabel,
27
29
  children,
28
30
  size,
29
31
  ...rest
@@ -33,15 +35,24 @@ const TableToolbar = _ref => {
33
35
  [`${prefix}--table-toolbar`]: true,
34
36
  [`${prefix}--table-toolbar--${size}`]: size
35
37
  });
36
- return /*#__PURE__*/React__default["default"].createElement("section", _rollupPluginBabelHelpers["extends"]({}, rest, {
38
+ return /*#__PURE__*/React__default["default"].createElement("section", _rollupPluginBabelHelpers["extends"]({
39
+ "aria-label": deprecatedAriaLabel || ariaLabel
40
+ }, rest, {
37
41
  className: className
38
42
  }), children);
39
43
  };
40
44
  TableToolbar.propTypes = {
41
45
  /**
42
- * Required props for the accessibility label of the TableToolbar
46
+ * 'aria-label' of the TableToolbar component.
47
+ * Specify a label to be read by screen readers on the container node
43
48
  */
44
- ...AriaPropTypes.AriaLabelPropType,
49
+ ['aria-label']: PropTypes__default["default"].string,
50
+ /**
51
+ * Deprecated, please use `aria-label` instead.
52
+ * Specify a label to be read by screen readers on the container node.
53
+ * 'aria-label' of the TableToolbar component.
54
+ */
55
+ ariaLabel: deprecate["default"](PropTypes__default["default"].string, 'This prop syntax has been deprecated. Please use the new `aria-label`.'),
45
56
  /**
46
57
  * Pass in the children that will be rendered inside the TableToolbar
47
58
  */
@@ -51,8 +62,5 @@ TableToolbar.propTypes = {
51
62
  */
52
63
  size: PropTypes__default["default"].oneOf(['sm', 'lg'])
53
64
  };
54
- TableToolbar.defaultProps = {
55
- 'aria-label': 'data table toolbar'
56
- };
57
65
 
58
66
  exports["default"] = TableToolbar;
@@ -27,7 +27,7 @@ const defaultIconDescription = 'Settings';
27
27
  const TableToolbarMenu = _ref => {
28
28
  let {
29
29
  className,
30
- renderIcon,
30
+ renderIcon = iconsReact.Settings,
31
31
  iconDescription = defaultIconDescription,
32
32
  children,
33
33
  ...rest
@@ -43,10 +43,6 @@ const TableToolbarMenu = _ref => {
43
43
  flipped: true
44
44
  }, rest), children);
45
45
  };
46
- TableToolbarMenu.defaultProps = {
47
- renderIcon: iconsReact.Settings,
48
- iconDescription: defaultIconDescription
49
- };
50
46
  TableToolbarMenu.propTypes = {
51
47
  children: PropTypes__default["default"].node.isRequired,
52
48
  /**
@@ -56,7 +52,7 @@ TableToolbarMenu.propTypes = {
56
52
  /**
57
53
  * The description of the menu icon.
58
54
  */
59
- iconDescription: PropTypes__default["default"].string.isRequired,
55
+ iconDescription: PropTypes__default["default"].string,
60
56
  /**
61
57
  * Optional prop to allow overriding the default menu icon
62
58
  */
@@ -83,7 +83,7 @@ export interface TableToolbarSearchProps {
83
83
  /**
84
84
  * Provide custom text for the component for each translation id
85
85
  */
86
- translateWithId: (id: string) => string;
86
+ translateWithId?: (id: string) => string;
87
87
  }
88
88
  declare const TableToolbarSearch: {
89
89
  ({ className, searchContainerClass, onChange: onChangeProp, onClear, translateWithId: t, placeholder, labelText, expanded: expandedProp, defaultExpanded, defaultValue, disabled, onExpand, persistent, id, onBlur, onFocus, size, tabIndex, ...rest }: TableToolbarSearchProps): JSX.Element;
@@ -164,13 +164,7 @@ declare const TableToolbarSearch: {
164
164
  /**
165
165
  * Provide custom text for the component for each translation id
166
166
  */
167
- translateWithId: PropTypes.Validator<(...args: any[]) => any>;
168
- };
169
- defaultProps: {
170
- tabIndex: string;
171
- translateWithId: (id: string) => string;
172
- persistent: boolean;
173
- onClear: () => void;
167
+ translateWithId: PropTypes.Requireable<(...args: any[]) => any>;
174
168
  };
175
169
  };
176
170
  export default TableToolbarSearch;
@@ -17,6 +17,7 @@ var Search = require('../Search/Search.js');
17
17
  require('../Search/Search.Skeleton.js');
18
18
  var instanceId = require('./tools/instanceId.js');
19
19
  var usePrefix = require('../../internal/usePrefix.js');
20
+ var noopFn = require('../../internal/noopFn.js');
20
21
 
21
22
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
22
23
 
@@ -37,8 +38,8 @@ const TableToolbarSearch = _ref => {
37
38
  className,
38
39
  searchContainerClass,
39
40
  onChange: onChangeProp,
40
- onClear,
41
- translateWithId: t,
41
+ onClear = noopFn.noopFn,
42
+ translateWithId: t = translateWithId,
42
43
  placeholder,
43
44
  labelText,
44
45
  expanded: expandedProp,
@@ -46,12 +47,12 @@ const TableToolbarSearch = _ref => {
46
47
  defaultValue,
47
48
  disabled,
48
49
  onExpand,
49
- persistent,
50
+ persistent = false,
50
51
  id,
51
52
  onBlur,
52
53
  onFocus,
53
54
  size = 'lg',
54
- tabIndex,
55
+ tabIndex = '0',
55
56
  ...rest
56
57
  } = _ref;
57
58
  const {
@@ -198,13 +199,7 @@ TableToolbarSearch.propTypes = {
198
199
  /**
199
200
  * Provide custom text for the component for each translation id
200
201
  */
201
- translateWithId: PropTypes__default["default"].func.isRequired
202
- };
203
- TableToolbarSearch.defaultProps = {
204
- tabIndex: '0',
205
- translateWithId,
206
- persistent: false,
207
- onClear: () => {}
202
+ translateWithId: PropTypes__default["default"].func
208
203
  };
209
204
 
210
205
  exports["default"] = TableToolbarSearch;
@@ -90,8 +90,8 @@ const sortRows = _ref => {
90
90
  cellsById,
91
91
  sortDirection,
92
92
  key,
93
- locale,
94
- sortRow
93
+ locale = 'en',
94
+ sortRow = defaultSortRow
95
95
  } = _ref;
96
96
  return rowIds.slice().sort((a, b) => {
97
97
  const cellA = cellsById[cells.getCellId(a, key)];
@@ -24,8 +24,8 @@ export type CalRef = {
24
24
  };
25
25
  interface DatePickerProps extends Omit<ReactAttr<HTMLDivElement>, ExcludedAttributes> {
26
26
  /**
27
- * flatpickr prop passthrough. Allows the user to enter a date directly
28
- * into the input field
27
+ * Flatpickr prop passthrough enables direct date input, and when set to false,
28
+ * we must clear dates manually by resetting the value prop to empty string making it a controlled input.
29
29
  */
30
30
  allowInput?: boolean;
31
31
  /**
@@ -87,11 +87,11 @@ interface DatePickerProps extends Omit<ReactAttr<HTMLDivElement>, ExcludedAttrib
87
87
  /**
88
88
  * The maximum date that a user can pick to.
89
89
  */
90
- maxDate?: string;
90
+ maxDate?: string | number;
91
91
  /**
92
92
  * The minimum date that a user can start picking from.
93
93
  */
94
- minDate?: string;
94
+ minDate?: string | number;
95
95
  /**
96
96
  * The `change` event handler.
97
97
  */
@@ -435,6 +435,11 @@ const DatePicker = /*#__PURE__*/React__default["default"].forwardRef(function Da
435
435
  calendarRef.current.set('minDate', minDate);
436
436
  }
437
437
  }, [minDate]);
438
+ React.useEffect(() => {
439
+ if (calendarRef?.current?.set) {
440
+ calendarRef.current.set('allowInput', allowInput);
441
+ }
442
+ }, [allowInput]);
438
443
  React.useEffect(() => {
439
444
  if (calendarRef?.current?.set) {
440
445
  calendarRef.current.set('maxDate', maxDate);
@@ -497,8 +502,8 @@ const DatePicker = /*#__PURE__*/React__default["default"].forwardRef(function Da
497
502
  });
498
503
  DatePicker.propTypes = {
499
504
  /**
500
- * flatpickr prop passthrough. Allows the user to enter a date directly
501
- * into the input field
505
+ * Flatpickr prop passthrough enables direct date input, and when set to false,
506
+ * we must clear dates manually by resetting the value prop to empty string making it a controlled input.
502
507
  */
503
508
  allowInput: PropTypes__default["default"].bool,
504
509
  /**
@@ -682,11 +687,11 @@ DatePicker.propTypes = {
682
687
  /**
683
688
  * The maximum date that a user can pick to.
684
689
  */
685
- maxDate: PropTypes__default["default"].string,
690
+ maxDate: PropTypes__default["default"].oneOfType([PropTypes__default["default"].string, PropTypes__default["default"].number]),
686
691
  /**
687
692
  * The minimum date that a user can start picking from.
688
693
  */
689
- minDate: PropTypes__default["default"].string,
694
+ minDate: PropTypes__default["default"].oneOfType([PropTypes__default["default"].string, PropTypes__default["default"].number]),
690
695
  /**
691
696
  * The `change` event handler.
692
697
  * `(dates: Date[], dStr: string, fp: Instance, data?: any):void;`
@@ -43,6 +43,12 @@ var carbonFlatpickrFixEventsPlugin = (config => fp => {
43
43
  } else if (match.match(event, keys.ArrowDown)) {
44
44
  event.preventDefault();
45
45
  fp.open();
46
+ } else if (!fp.config.allowInput) {
47
+ // We override the default behaviour of Flatpickr, ideally when allowInput is set to false,
48
+ // the Delete/Backspace button clears all of the date, which we don't want, hence
49
+ // we stop event bubbling and the default Flatpickr's onChange behaviour here itself
50
+ event.stopPropagation();
51
+ event.preventDefault();
46
52
  }
47
53
  }
48
54
  };