@carbon/ibm-products 2.0.0-rc.2 → 2.0.0-rc.21

Sign up to get free protection for your applications and to get access to all the features.
Files changed (383) hide show
  1. package/README.md +19 -2
  2. package/css/index-full-carbon.css +1376 -403
  3. package/css/index-full-carbon.css.map +1 -1
  4. package/css/index-full-carbon.min.css +8 -8
  5. package/css/index-full-carbon.min.css.map +1 -1
  6. package/css/index-without-carbon-released-only.css +1413 -385
  7. package/css/index-without-carbon-released-only.css.map +1 -1
  8. package/css/index-without-carbon-released-only.min.css +4 -8
  9. package/css/index-without-carbon-released-only.min.css.map +1 -1
  10. package/css/index-without-carbon.css +1295 -453
  11. package/css/index-without-carbon.css.map +1 -1
  12. package/css/index-without-carbon.min.css +8 -8
  13. package/css/index-without-carbon.min.css.map +1 -1
  14. package/css/index.css +1170 -333
  15. package/css/index.css.map +1 -1
  16. package/css/index.min.css +8 -8
  17. package/css/index.min.css.map +1 -1
  18. package/es/components/APIKeyModal/APIKeyModal.js +1 -1
  19. package/es/components/ActionBar/ActionBarOverflowItems.js +1 -0
  20. package/es/components/ActionSet/ActionSet.js +7 -3
  21. package/es/components/AddSelect/AddSelect.js +6 -6
  22. package/es/components/AddSelect/AddSelectBody.js +73 -32
  23. package/es/components/AddSelect/AddSelectBreadcrumbs.js +12 -4
  24. package/es/components/AddSelect/AddSelectColumn.js +8 -8
  25. package/es/components/AddSelect/AddSelectFilter.js +10 -7
  26. package/es/components/AddSelect/AddSelectList.js +64 -29
  27. package/es/components/AddSelect/AddSelectMetaPanel.js +7 -1
  28. package/es/components/AddSelect/AddSelectSidebar.js +5 -2
  29. package/es/components/AddSelect/AddSelectSort.js +2 -2
  30. package/es/components/AddSelect/add-select-utils.js +9 -2
  31. package/es/components/AddSelect/hooks/useItemSort.js +6 -0
  32. package/es/components/AddSelect/hooks/useParentSelect.js +6 -0
  33. package/es/components/AddSelect/hooks/usePath.js +23 -2
  34. package/es/components/AddSelect/index.js +1 -1
  35. package/es/components/BreadcrumbWithOverflow/BreadcrumbWithOverflow.js +4 -6
  36. package/es/components/ButtonMenu/ButtonMenu.js +4 -3
  37. package/es/components/Card/Card.js +16 -6
  38. package/es/components/Card/CardFooter.js +3 -1
  39. package/es/components/Card/CardHeader.js +20 -1
  40. package/es/components/ComboButton/ComboButton.js +1 -1
  41. package/es/components/CreateFullPage/CreateFullPage.js +13 -3
  42. package/es/components/CreateTearsheet/CreateTearsheet.js +17 -3
  43. package/es/components/CreateTearsheet/preview-components/MultiStepTearsheet.js +3 -1
  44. package/es/components/CreateTearsheetNarrow/CreateTearsheetNarrow.js +2 -2
  45. package/es/components/DataSpreadsheet/DataSpreadsheet.js +65 -15
  46. package/es/components/DataSpreadsheet/DataSpreadsheetBody.js +2 -1
  47. package/es/components/DataSpreadsheet/DataSpreadsheetHeader.js +7 -0
  48. package/es/components/DataSpreadsheet/hooks/useMultipleKeyTracking.js +6 -5
  49. package/es/components/DataSpreadsheet/utils/handleCellDeletion.js +42 -0
  50. package/es/components/DataSpreadsheet/utils/handleMultipleKeys.js +1 -1
  51. package/es/components/Datagrid/Datagrid/Datagrid.js +16 -40
  52. package/es/components/Datagrid/Datagrid/DatagridContent.js +194 -0
  53. package/es/components/Datagrid/Datagrid/DatagridEmptyBody.js +18 -8
  54. package/es/components/Datagrid/Datagrid/DatagridExpandedRow.js +9 -1
  55. package/es/components/Datagrid/Datagrid/DatagridHead.js +1 -2
  56. package/es/components/Datagrid/Datagrid/DatagridHeaderRow.js +1 -4
  57. package/es/components/Datagrid/Datagrid/DatagridRow.js +44 -7
  58. package/es/components/Datagrid/Datagrid/DatagridSelectAll.js +11 -5
  59. package/es/components/Datagrid/Datagrid/DatagridSelectAllWithToggle.js +13 -4
  60. package/es/components/Datagrid/Datagrid/DatagridSimpleBody.js +1 -2
  61. package/es/components/Datagrid/Datagrid/DatagridToolbar.js +14 -10
  62. package/es/components/Datagrid/Datagrid/DatagridVirtualBody.js +32 -11
  63. package/es/components/Datagrid/Datagrid/DraggableElement.js +12 -4
  64. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/Actions.js +11 -54
  65. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/ButtonWrapper.js +15 -14
  66. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/Columns.js +63 -31
  67. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsTearsheet.js +193 -0
  68. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/TearsheetWrapper.js +56 -0
  69. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/index.js +1 -1
  70. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +256 -0
  71. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +270 -0
  72. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.js +91 -0
  73. package/es/components/Datagrid/Datagrid/addons/Filtering/constants.js +28 -0
  74. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/index.js +10 -0
  75. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +310 -0
  76. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useInitialStateFromFilters.js +25 -0
  77. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useShouldDisableButtons.js +38 -0
  78. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useSubscribeToEventEmitter.js +25 -0
  79. package/es/components/Datagrid/Datagrid/addons/Filtering/index.js +9 -0
  80. package/es/components/Datagrid/Datagrid/addons/Filtering/motion/variants.js +55 -0
  81. package/es/components/Datagrid/Datagrid/addons/Filtering/utils.js +72 -0
  82. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/InlineEditButton.js +60 -0
  83. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/index.js +1 -0
  84. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +541 -0
  85. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/index.js +1 -0
  86. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/InlineEditContext.js +112 -0
  87. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/getCellIdAsObject.js +27 -0
  88. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/index.js +1 -0
  89. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/returnUpdatedActiveCell.js +39 -0
  90. package/es/components/Datagrid/Datagrid/addons/InlineEdit/handleGridFocus.js +19 -0
  91. package/es/components/Datagrid/Datagrid/addons/InlineEdit/handleGridKeyPress.js +262 -0
  92. package/es/components/Datagrid/Datagrid/addons/InlineEdit/handleMultipleKeys.js +87 -0
  93. package/es/components/Datagrid/Datagrid/addons/RowSize/RowSizeDropdown.js +17 -14
  94. package/es/components/Datagrid/Datagrid/addons/RowSize/RowSizeRadioGroup.js +13 -36
  95. package/es/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/index.js +0 -1
  96. package/es/components/Datagrid/index.js +4 -1
  97. package/es/components/Datagrid/useActionsColumn.js +28 -12
  98. package/es/components/Datagrid/useColumnOrder.js +8 -0
  99. package/es/components/Datagrid/useCustomizeColumns.js +13 -8
  100. package/es/components/Datagrid/useDisableSelectRows.js +6 -2
  101. package/es/components/Datagrid/useExpandedRow.js +0 -1
  102. package/es/components/Datagrid/useFiltering.js +99 -0
  103. package/es/components/Datagrid/useInfiniteScroll.js +5 -2
  104. package/es/components/Datagrid/useInlineEdit.js +71 -0
  105. package/es/components/Datagrid/useNestedRowExpander.js +47 -0
  106. package/es/components/Datagrid/useNestedRows.js +16 -4
  107. package/es/components/Datagrid/useParentDimensions.js +3 -1
  108. package/es/components/Datagrid/useRowExpander.js +12 -4
  109. package/es/components/Datagrid/useRowSize.js +17 -6
  110. package/es/components/Datagrid/useSelectAllToggle.js +17 -4
  111. package/es/components/Datagrid/useSelectRows.js +13 -4
  112. package/es/components/Datagrid/useSortableColumns.js +15 -9
  113. package/es/components/Datagrid/useStickyColumn.js +11 -0
  114. package/es/components/Datagrid/utils/DatagridActions.js +249 -0
  115. package/es/components/Datagrid/utils/DatagridPagination.js +33 -0
  116. package/es/components/Datagrid/utils/Wrapper.js +21 -0
  117. package/es/components/Datagrid/utils/getArgTypes.js +94 -0
  118. package/es/components/Datagrid/utils/getInlineEditColumns.js +159 -0
  119. package/es/components/Datagrid/utils/makeData.js +54 -1
  120. package/es/components/EditUpdateCards/EditUpdateCards.js +144 -0
  121. package/es/components/EditUpdateCards/index.js +7 -0
  122. package/es/components/ExportModal/ExportModal.js +1 -1
  123. package/es/components/FilterSummary/FilterSummary.js +54 -0
  124. package/es/components/FilterSummary/index.js +7 -0
  125. package/es/components/ImportModal/ImportModal.js +3 -3
  126. package/es/components/InlineEdit/InlineEdit.js +28 -426
  127. package/es/components/InlineEditV1/InlineEditV1.js +447 -0
  128. package/es/components/InlineEditV1/index.js +7 -0
  129. package/es/components/InlineEditV2/InlineEditV2.js +289 -0
  130. package/es/components/InlineEditV2/index.js +7 -0
  131. package/es/components/ModifiedTabs/ModifiedTabLabelNew.js +1 -1
  132. package/es/components/ModifiedTabs/ModifiedTabLabelWithClose.js +1 -1
  133. package/es/components/MultiAddSelect/MultiAddSelect.js +14 -7
  134. package/es/components/MultiAddSelect/index.js +6 -0
  135. package/es/components/NotificationsPanel/NotificationsPanel.js +1 -1
  136. package/es/components/OptionsTile/OptionsTile.js +32 -16
  137. package/es/components/PageHeader/PageHeader.js +4 -4
  138. package/es/components/PageHeader/PageHeaderTitle.js +1 -1
  139. package/es/components/ProductiveCard/ProductiveCard.js +5 -0
  140. package/es/components/RemoveModal/RemoveModal.js +20 -3
  141. package/es/components/Saving/Saving.js +1 -1
  142. package/es/components/SidePanel/SidePanel.js +45 -52
  143. package/es/components/SidePanel/motion/variants.js +45 -0
  144. package/es/components/SingleAddSelect/SingleAddSelect.js +6 -0
  145. package/es/components/SingleAddSelect/index.js +6 -0
  146. package/es/components/StatusIcon/StatusIcon.js +1 -1
  147. package/es/components/Tearsheet/Tearsheet.js +5 -0
  148. package/es/components/Tearsheet/TearsheetNarrow.js +5 -0
  149. package/es/components/Tearsheet/TearsheetShell.js +1 -1
  150. package/es/components/UserProfileImage/UserProfileImage.js +1 -1
  151. package/es/components/WebTerminal/WebTerminal.js +1 -1
  152. package/es/components/WebTerminal/preview-components/Navigation.js +1 -1
  153. package/es/components/index.js +4 -3
  154. package/es/global/js/hooks/index.js +2 -1
  155. package/es/global/js/hooks/useClickOutside.js +1 -1
  156. package/es/global/js/hooks/useControllableState.js +83 -0
  157. package/es/global/js/hooks/useCreateComponentFocus.js +38 -10
  158. package/es/global/js/hooks/useResetCreateComponent.js +6 -2
  159. package/es/global/js/package-settings.js +9 -6
  160. package/es/global/js/utils/getBezierValues.js +20 -0
  161. package/es/global/js/utils/getNumberOfHiddenSteps.js +19 -0
  162. package/es/global/js/utils/motionConstants.js +45 -0
  163. package/es/global/js/utils/rangeWithCallback.js +13 -0
  164. package/es/global/js/utils/story-helper.js +5 -1
  165. package/es/global/js/utils/uuidv4.spec.js +4 -0
  166. package/lib/components/APIKeyModal/APIKeyModal.js +4 -4
  167. package/lib/components/ActionBar/ActionBarOverflowItems.js +1 -0
  168. package/lib/components/ActionSet/ActionSet.js +7 -3
  169. package/lib/components/AddSelect/AddSelect.js +5 -6
  170. package/lib/components/AddSelect/AddSelectBody.js +68 -31
  171. package/lib/components/AddSelect/AddSelectBreadcrumbs.js +15 -4
  172. package/lib/components/AddSelect/AddSelectColumn.js +7 -7
  173. package/lib/components/AddSelect/AddSelectFilter.js +9 -6
  174. package/lib/components/AddSelect/AddSelectList.js +65 -30
  175. package/lib/components/AddSelect/AddSelectMetaPanel.js +8 -2
  176. package/lib/components/AddSelect/AddSelectSidebar.js +4 -1
  177. package/lib/components/AddSelect/AddSelectSort.js +5 -5
  178. package/lib/components/AddSelect/add-select-utils.js +9 -2
  179. package/lib/components/AddSelect/hooks/useItemSort.js +6 -0
  180. package/lib/components/AddSelect/hooks/useParentSelect.js +6 -0
  181. package/lib/components/AddSelect/hooks/usePath.js +16 -1
  182. package/lib/components/BreadcrumbWithOverflow/BreadcrumbWithOverflow.js +6 -6
  183. package/lib/components/ButtonMenu/ButtonMenu.js +4 -3
  184. package/lib/components/Card/Card.js +16 -6
  185. package/lib/components/Card/CardFooter.js +3 -1
  186. package/lib/components/Card/CardHeader.js +21 -1
  187. package/lib/components/ComboButton/ComboButton.js +3 -3
  188. package/lib/components/CreateFullPage/CreateFullPage.js +13 -3
  189. package/lib/components/CreateTearsheet/CreateTearsheet.js +18 -3
  190. package/lib/components/CreateTearsheet/preview-components/MultiStepTearsheet.js +3 -1
  191. package/lib/components/CreateTearsheetNarrow/CreateTearsheetNarrow.js +2 -2
  192. package/lib/components/DataSpreadsheet/DataSpreadsheet.js +65 -14
  193. package/lib/components/DataSpreadsheet/DataSpreadsheetBody.js +2 -1
  194. package/lib/components/DataSpreadsheet/DataSpreadsheetHeader.js +7 -0
  195. package/lib/components/DataSpreadsheet/hooks/useMultipleKeyTracking.js +6 -5
  196. package/lib/components/DataSpreadsheet/utils/handleCellDeletion.js +53 -0
  197. package/lib/components/DataSpreadsheet/utils/handleMultipleKeys.js +1 -1
  198. package/lib/components/Datagrid/Datagrid/Datagrid.js +19 -47
  199. package/lib/components/Datagrid/Datagrid/DatagridContent.js +230 -0
  200. package/lib/components/Datagrid/Datagrid/DatagridEmptyBody.js +19 -9
  201. package/lib/components/Datagrid/Datagrid/DatagridExpandedRow.js +9 -1
  202. package/lib/components/Datagrid/Datagrid/DatagridHead.js +1 -3
  203. package/lib/components/Datagrid/Datagrid/DatagridHeaderRow.js +2 -5
  204. package/lib/components/Datagrid/Datagrid/DatagridRow.js +46 -8
  205. package/lib/components/Datagrid/Datagrid/DatagridSelectAll.js +14 -6
  206. package/lib/components/Datagrid/Datagrid/DatagridSelectAllWithToggle.js +16 -5
  207. package/lib/components/Datagrid/Datagrid/DatagridSimpleBody.js +1 -2
  208. package/lib/components/Datagrid/Datagrid/DatagridToolbar.js +14 -10
  209. package/lib/components/Datagrid/Datagrid/DatagridVirtualBody.js +33 -10
  210. package/lib/components/Datagrid/Datagrid/DraggableElement.js +12 -4
  211. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/Actions.js +11 -49
  212. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/ButtonWrapper.js +11 -8
  213. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/Columns.js +76 -46
  214. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/{CustomizeColumnsModal.js → CustomizeColumnsTearsheet.js} +85 -48
  215. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/{ModalWrapper.js → TearsheetWrapper.js} +32 -36
  216. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/index.js +3 -3
  217. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +284 -0
  218. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +301 -0
  219. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.js +112 -0
  220. package/lib/components/Datagrid/Datagrid/addons/Filtering/constants.js +47 -0
  221. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/index.js +39 -0
  222. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +325 -0
  223. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useInitialStateFromFilters.js +37 -0
  224. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useShouldDisableButtons.js +50 -0
  225. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useSubscribeToEventEmitter.js +35 -0
  226. package/lib/components/Datagrid/Datagrid/addons/Filtering/index.js +37 -0
  227. package/lib/components/Datagrid/Datagrid/addons/Filtering/motion/variants.js +67 -0
  228. package/lib/components/Datagrid/Datagrid/addons/Filtering/utils.js +82 -0
  229. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/InlineEditButton.js +76 -0
  230. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/index.js +13 -0
  231. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +566 -0
  232. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/index.js +13 -0
  233. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/InlineEditContext.js +129 -0
  234. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/getCellIdAsObject.js +36 -0
  235. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/index.js +19 -0
  236. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/returnUpdatedActiveCell.js +45 -0
  237. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/handleGridFocus.js +28 -0
  238. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/handleGridKeyPress.js +271 -0
  239. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/handleMultipleKeys.js +100 -0
  240. package/lib/components/Datagrid/Datagrid/addons/RowSize/RowSizeDropdown.js +17 -13
  241. package/lib/components/Datagrid/Datagrid/addons/RowSize/RowSizeRadioGroup.js +13 -35
  242. package/lib/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/index.js +0 -8
  243. package/lib/components/Datagrid/index.js +25 -1
  244. package/lib/components/Datagrid/useActionsColumn.js +28 -13
  245. package/lib/components/Datagrid/useColumnOrder.js +17 -0
  246. package/lib/components/Datagrid/useCustomizeColumns.js +12 -7
  247. package/lib/components/Datagrid/useDisableSelectRows.js +6 -2
  248. package/lib/components/Datagrid/useExpandedRow.js +0 -1
  249. package/lib/components/Datagrid/useFiltering.js +105 -0
  250. package/lib/components/Datagrid/useInfiniteScroll.js +5 -2
  251. package/lib/components/Datagrid/useInlineEdit.js +85 -0
  252. package/lib/components/Datagrid/useNestedRowExpander.js +63 -0
  253. package/lib/components/Datagrid/useNestedRows.js +17 -4
  254. package/lib/components/Datagrid/useParentDimensions.js +3 -1
  255. package/lib/components/Datagrid/useRowExpander.js +17 -5
  256. package/lib/components/Datagrid/useRowSize.js +18 -13
  257. package/lib/components/Datagrid/useSelectAllToggle.js +18 -4
  258. package/lib/components/Datagrid/useSelectRows.js +13 -4
  259. package/lib/components/Datagrid/useSortableColumns.js +16 -7
  260. package/lib/components/Datagrid/useStickyColumn.js +11 -0
  261. package/lib/components/Datagrid/utils/DatagridActions.js +275 -0
  262. package/lib/components/Datagrid/utils/DatagridPagination.js +46 -0
  263. package/lib/components/Datagrid/utils/Wrapper.js +33 -0
  264. package/lib/components/Datagrid/utils/getArgTypes.js +102 -0
  265. package/lib/components/Datagrid/utils/getInlineEditColumns.js +174 -0
  266. package/lib/components/Datagrid/utils/makeData.js +56 -2
  267. package/lib/components/EditUpdateCards/EditUpdateCards.js +152 -0
  268. package/lib/components/EditUpdateCards/index.js +13 -0
  269. package/lib/components/ExportModal/ExportModal.js +3 -3
  270. package/lib/components/FilterSummary/FilterSummary.js +72 -0
  271. package/lib/components/FilterSummary/index.js +15 -0
  272. package/lib/components/ImportModal/ImportModal.js +4 -4
  273. package/lib/components/InlineEdit/InlineEdit.js +27 -426
  274. package/lib/components/InlineEditV1/InlineEditV1.js +464 -0
  275. package/lib/components/InlineEditV1/index.js +13 -0
  276. package/lib/components/InlineEditV2/InlineEditV2.js +309 -0
  277. package/lib/components/InlineEditV2/index.js +13 -0
  278. package/lib/components/ModifiedTabs/ModifiedTabLabelNew.js +2 -2
  279. package/lib/components/ModifiedTabs/ModifiedTabLabelWithClose.js +3 -3
  280. package/lib/components/MultiAddSelect/MultiAddSelect.js +14 -7
  281. package/lib/components/NotificationsPanel/NotificationsPanel.js +8 -8
  282. package/lib/components/OptionsTile/OptionsTile.js +36 -19
  283. package/lib/components/PageHeader/PageHeader.js +5 -5
  284. package/lib/components/PageHeader/PageHeaderTitle.js +1 -1
  285. package/lib/components/ProductiveCard/ProductiveCard.js +5 -0
  286. package/lib/components/RemoveModal/RemoveModal.js +20 -3
  287. package/lib/components/Saving/Saving.js +5 -5
  288. package/lib/components/SidePanel/SidePanel.js +48 -53
  289. package/lib/components/SidePanel/motion/variants.js +55 -0
  290. package/lib/components/SingleAddSelect/SingleAddSelect.js +6 -0
  291. package/lib/components/StatusIcon/StatusIcon.js +45 -45
  292. package/lib/components/Tearsheet/Tearsheet.js +5 -0
  293. package/lib/components/Tearsheet/TearsheetNarrow.js +5 -0
  294. package/lib/components/Tearsheet/TearsheetShell.js +1 -1
  295. package/lib/components/UserProfileImage/UserProfileImage.js +7 -7
  296. package/lib/components/WebTerminal/WebTerminal.js +3 -3
  297. package/lib/components/WebTerminal/preview-components/Navigation.js +4 -4
  298. package/lib/components/index.js +33 -1
  299. package/lib/global/js/hooks/index.js +9 -1
  300. package/lib/global/js/hooks/useClickOutside.js +1 -1
  301. package/lib/global/js/hooks/useControllableState.js +94 -0
  302. package/lib/global/js/hooks/useCreateComponentFocus.js +42 -11
  303. package/lib/global/js/hooks/useResetCreateComponent.js +7 -2
  304. package/lib/global/js/package-settings.js +9 -6
  305. package/lib/global/js/utils/getBezierValues.js +29 -0
  306. package/lib/global/js/utils/getNumberOfHiddenSteps.js +28 -0
  307. package/lib/global/js/utils/motionConstants.js +55 -0
  308. package/lib/global/js/utils/rangeWithCallback.js +22 -0
  309. package/lib/global/js/utils/story-helper.js +5 -1
  310. package/lib/global/js/utils/uuidv4.spec.js +4 -0
  311. package/package.json +18 -16
  312. package/scss/components/ActionSet/_action-set.scss +9 -4
  313. package/scss/components/AddSelect/_add-select.scss +132 -34
  314. package/scss/components/AddSelect/_index.scss +1 -1
  315. package/scss/components/AddSelect/_storybook-styles.scss +1 -1
  316. package/scss/components/Card/_card.scss +1 -0
  317. package/scss/components/Cascade/_cascade.scss +1 -1
  318. package/scss/components/CreateTearsheet/_create-tearsheet.scss +2 -0
  319. package/scss/components/Datagrid/_datagrid.scss +7 -1
  320. package/scss/components/Datagrid/_storybook-styles.scss +29 -5
  321. package/scss/components/Datagrid/styles/_datagrid.scss +133 -41
  322. package/scss/components/Datagrid/styles/_draggableElement.scss +50 -18
  323. package/scss/components/Datagrid/styles/_index.scss +10 -8
  324. package/scss/components/Datagrid/styles/_useActionsColumn.scss +14 -0
  325. package/scss/components/Datagrid/styles/_useExpandedRow.scss +56 -10
  326. package/scss/components/Datagrid/styles/_useInlineEdit.scss +419 -0
  327. package/scss/components/Datagrid/styles/_useNestedRows.scss +33 -1
  328. package/scss/components/Datagrid/styles/_useSortableColumns.scss +35 -16
  329. package/scss/components/Datagrid/styles/_useStickyColumn.scss +31 -2
  330. package/scss/components/Datagrid/styles/addons/_CustomizeColumnsTearsheet.scss +69 -0
  331. package/scss/components/Datagrid/styles/addons/_FilterFlyout.scss +87 -0
  332. package/scss/components/Datagrid/styles/addons/_FilterPanel.scss +129 -0
  333. package/scss/components/Datagrid/styles/addons/_RowSizeDropdown.scss +12 -4
  334. package/scss/components/EditUpdateCards/_carbon-imports.scss +9 -0
  335. package/scss/components/EditUpdateCards/_edit-update-cards.scss +85 -0
  336. package/scss/components/EditUpdateCards/_index-with-carbon.scss +9 -0
  337. package/scss/components/EditUpdateCards/_index.scss +8 -0
  338. package/scss/components/EditUpdateCards/_storybook-styles.scss +55 -0
  339. package/scss/components/FilterSummary/_filter-summary.scss +21 -0
  340. package/scss/components/FilterSummary/_index.scss +10 -0
  341. package/scss/components/FilterSummary/_storybook-styles.scss +14 -0
  342. package/scss/components/{InlineEdit → InlineEditV1}/_index-with-carbon.scss +1 -1
  343. package/scss/components/{InlineEdit → InlineEditV1}/_index.scss +1 -1
  344. package/scss/components/{InlineEdit/_inline-edit.scss → InlineEditV1/_inline-edit-v1.scss} +4 -2
  345. package/scss/components/InlineEditV2/_carbon-imports.scss +9 -0
  346. package/scss/components/InlineEditV2/_index-with-carbon.scss +9 -0
  347. package/scss/components/InlineEditV2/_index.scss +10 -0
  348. package/scss/components/InlineEditV2/_inline-edit-v2.scss +83 -0
  349. package/scss/components/InlineEditV2/_storybook-styles.scss +9 -0
  350. package/scss/components/MultiAddSelect/_multi-add-select.scss +8 -1
  351. package/scss/components/MultiAddSelect/_storybook-styles.scss +1 -1
  352. package/scss/components/NotificationsPanel/_notifications-panel.scss +3 -6
  353. package/scss/components/OptionsTile/_options-tile.scss +10 -3
  354. package/scss/components/RemoveModal/_remove-modal.scss +0 -4
  355. package/scss/components/SidePanel/_side-panel.scss +3 -82
  356. package/scss/components/SidePanel/_storybook-styles.scss +6 -1
  357. package/scss/components/SingleAddSelect/_carbon-imports.scss +1 -1
  358. package/scss/components/SingleAddSelect/_index-with-carbon.scss +1 -1
  359. package/scss/components/SingleAddSelect/_index.scss +7 -0
  360. package/scss/components/SingleAddSelect/_single-add-select.scss +8 -1
  361. package/scss/components/SingleAddSelect/_storybook-styles.scss +1 -1
  362. package/scss/components/Tearsheet/_tearsheet.scss +4 -2
  363. package/scss/components/_index-released-only-with-carbon.scss +3 -1
  364. package/scss/components/_index-released-only.scss +4 -1
  365. package/scss/components/_index-with-carbon.scss +3 -1
  366. package/scss/components/_index.scss +4 -1
  367. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsModal.js +0 -157
  368. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/ModalWrapper.js +0 -62
  369. package/es/components/Datagrid/Datagrid.stories-helpers/LeftPanelStory.js +0 -6
  370. package/lib/components/Datagrid/Datagrid.stories-helpers/LeftPanelStory.js +0 -13
  371. package/scss/components/Datagrid/styles/addons/_CustomizeColumnsModal.scss +0 -52
  372. /package/es/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/CustomizeColumnStory.js +0 -0
  373. /package/es/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/RowSizeDropdownStory.js +0 -0
  374. /package/es/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/SelectAllWithToggleStory.js +0 -0
  375. /package/es/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/StickyActionsColumnStory.js +0 -0
  376. /package/es/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/common.js +0 -0
  377. /package/lib/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/CustomizeColumnStory.js +0 -0
  378. /package/lib/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/RowSizeDropdownStory.js +0 -0
  379. /package/lib/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/SelectAllWithToggleStory.js +0 -0
  380. /package/lib/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/StickyActionsColumnStory.js +0 -0
  381. /package/lib/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/common.js +0 -0
  382. /package/scss/components/{InlineEdit → InlineEditV1}/_carbon-imports.scss +0 -0
  383. /package/scss/components/{InlineEdit → InlineEditV1}/_storybook-styles.scss +0 -0
@@ -9,12 +9,9 @@ import _extends from "@babel/runtime/helpers/extends";
9
9
  */
10
10
  import React from 'react';
11
11
  import { pkg } from '../../../settings';
12
- import { DataTable } from '@carbon/react';
13
- import { NoDataEmptyState } from '../../EmptyStates/NoDataEmptyState';
12
+ import { TableBody, TableRow, TableCell } from '@carbon/react';
13
+ import { NoDataEmptyState, ErrorEmptyState } from '../../EmptyStates';
14
14
  var blockClass = "".concat(pkg.prefix, "--datagrid");
15
- var TableBody = DataTable.TableBody,
16
- TableRow = DataTable.TableRow,
17
- TableCell = DataTable.TableCell;
18
15
 
19
16
  var DatagridEmptyBody = function DatagridEmptyBody(datagridState) {
20
17
  var getTableBodyProps = datagridState.getTableBodyProps,
@@ -22,16 +19,29 @@ var DatagridEmptyBody = function DatagridEmptyBody(datagridState) {
22
19
  emptyStateTitle = datagridState.emptyStateTitle,
23
20
  emptyStateDescription = datagridState.emptyStateDescription,
24
21
  emptyStateSize = datagridState.emptyStateSize,
25
- illustrationTheme = datagridState.illustrationTheme;
22
+ _datagridState$emptyS = datagridState.emptyStateType,
23
+ emptyStateType = _datagridState$emptyS === void 0 ? 'noData' : _datagridState$emptyS,
24
+ illustrationTheme = datagridState.illustrationTheme,
25
+ emptyStateAction = datagridState.emptyStateAction,
26
+ emptyStateLink = datagridState.emptyStateLink;
26
27
  return /*#__PURE__*/React.createElement(TableBody, _extends({}, getTableBodyProps(), {
27
28
  className: "".concat(blockClass, "__empty-state-body")
28
29
  }), /*#__PURE__*/React.createElement(TableRow, null, /*#__PURE__*/React.createElement(TableCell, {
29
30
  colSpan: headers.length
30
- }, /*#__PURE__*/React.createElement(NoDataEmptyState, {
31
+ }, emptyStateType === 'error' && /*#__PURE__*/React.createElement(ErrorEmptyState, {
31
32
  illustrationTheme: illustrationTheme,
32
33
  size: emptyStateSize,
33
34
  title: emptyStateTitle,
34
- subtitle: emptyStateDescription
35
+ subtitle: emptyStateDescription,
36
+ action: emptyStateAction,
37
+ link: emptyStateLink
38
+ }), emptyStateType === 'noData' && /*#__PURE__*/React.createElement(NoDataEmptyState, {
39
+ illustrationTheme: illustrationTheme,
40
+ size: emptyStateSize,
41
+ title: emptyStateTitle,
42
+ subtitle: emptyStateDescription,
43
+ action: emptyStateAction,
44
+ link: emptyStateLink
35
45
  }))));
36
46
  };
37
47
 
@@ -13,13 +13,21 @@ var DatagridExpandedRow = function DatagridExpandedRow(PreviousRowRenderer, Expa
13
13
  return function (datagridState) {
14
14
  var row = datagridState.row;
15
15
 
16
+ var _ref = row || {},
17
+ expandedContentHeight = _ref.expandedContentHeight;
18
+
16
19
  if (!row.isExpanded) {
17
20
  return PreviousRowRenderer(datagridState);
18
21
  }
19
22
 
20
23
  return /*#__PURE__*/React.createElement("div", {
21
24
  className: "".concat(blockClass, "__expanded-row")
22
- }, PreviousRowRenderer(datagridState), ExpandedRowContentComponent(datagridState));
25
+ }, PreviousRowRenderer(datagridState), /*#__PURE__*/React.createElement("div", {
26
+ className: "".concat(blockClass, "__expanded-row-content"),
27
+ style: {
28
+ height: expandedContentHeight ? expandedContentHeight : null
29
+ }
30
+ }, ExpandedRowContentComponent(datagridState)));
23
31
  };
24
32
  };
25
33
 
@@ -5,8 +5,7 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
  import React from 'react';
8
- import { DataTable } from '@carbon/react';
9
- var TableHead = DataTable.TableHead;
8
+ import { TableHead } from '@carbon/react';
10
9
 
11
10
  var DatagridHead = function DatagridHead(datagridState) {
12
11
  var _datagridState$header = datagridState.headerGroups,
@@ -10,7 +10,7 @@ import _defineProperty from "@babel/runtime/helpers/defineProperty";
10
10
  // @flow
11
11
  import React from 'react';
12
12
  import cx from 'classnames';
13
- import { DataTable } from '@carbon/react';
13
+ import { TableHeader, TableRow } from '@carbon/react';
14
14
  import { selectionColumnId } from '../common-column-ids';
15
15
  import { pkg } from '../../../settings';
16
16
  var blockClass = "".concat(pkg.prefix, "--datagrid");
@@ -41,9 +41,6 @@ var HeaderRow = function HeaderRow(datagridState, headRef, headerGroup) {
41
41
  }));
42
42
  };
43
43
 
44
- var TableHeader = DataTable.TableHeader,
45
- TableRow = DataTable.TableRow;
46
-
47
44
  var useHeaderRow = function useHeaderRow(hooks) {
48
45
  var useInstance = function useInstance(instance) {
49
46
  Object.assign(instance, {
@@ -12,31 +12,68 @@ var _excluded = ["children"];
12
12
  */
13
13
  // @flow
14
14
  import React from 'react';
15
- import { DataTable, SkeletonText } from '@carbon/react';
15
+ import { TableRow, TableCell, SkeletonText } from '@carbon/react';
16
+ import { px } from '@carbon/layout';
16
17
  import { selectionColumnId } from '../common-column-ids';
17
18
  import cx from 'classnames';
18
19
  import { pkg, carbon } from '../../../settings';
19
20
  var blockClass = "".concat(pkg.prefix, "--datagrid");
20
- var TableRow = DataTable.TableRow,
21
- TableCell = DataTable.TableCell; // eslint-disable-next-line react/prop-types
21
+ var rowHeights = {
22
+ xs: 24,
23
+ sm: 32,
24
+ md: 40,
25
+ lg: 48,
26
+ xl: 64
27
+ }; // eslint-disable-next-line react/prop-types
22
28
 
23
29
  var DatagridRow = function DatagridRow(datagridState) {
24
30
  var _cx;
25
31
 
26
- var row = datagridState.row;
32
+ var row = datagridState.row,
33
+ rowSize = datagridState.rowSize,
34
+ withNestedRows = datagridState.withNestedRows;
35
+
36
+ var getVisibleNestedRowCount = function getVisibleNestedRowCount(_ref) {
37
+ var isExpanded = _ref.isExpanded,
38
+ subRows = _ref.subRows;
39
+ var size = 0;
40
+
41
+ if (isExpanded && subRows) {
42
+ size += subRows.length;
43
+ subRows.forEach(function (child) {
44
+ size += getVisibleNestedRowCount(child);
45
+ });
46
+ }
47
+
48
+ return size;
49
+ };
50
+
27
51
  return /*#__PURE__*/React.createElement(TableRow, _extends({
28
- className: cx("".concat(blockClass, "__carbon-row"), (_cx = {}, _defineProperty(_cx, "".concat(blockClass, "__carbon-row-expanded"), row.isExpanded), _defineProperty(_cx, "".concat(carbon.prefix, "--data-table--selected"), row.isSelected), _cx))
52
+ className: cx("".concat(blockClass, "__carbon-row"), (_cx = {}, _defineProperty(_cx, "".concat(blockClass, "__carbon-row-expanded"), row.isExpanded), _defineProperty(_cx, "".concat(blockClass, "__carbon-row-expandable"), row.canExpand), _defineProperty(_cx, "".concat(carbon.prefix, "--data-table--selected"), row.isSelected), _cx))
29
53
  }, row.getRowProps(), {
30
54
  key: row.id,
31
55
  onMouseEnter: function onMouseEnter(event) {
56
+ var _hoverRow$style, _hoverRow$style2, _hoverRow$style3;
57
+
58
+ if (!withNestedRows) {
59
+ return;
60
+ }
61
+
62
+ var subRowCount = getVisibleNestedRowCount(row);
63
+ var totalNestedRowIndicatorHeight = px(subRowCount * rowHeights[rowSize]);
32
64
  var hoverRow = event.target.closest(".".concat(blockClass, "__carbon-row-expanded"));
33
65
  hoverRow === null || hoverRow === void 0 ? void 0 : hoverRow.classList.add("".concat(blockClass, "__carbon-row-expanded-hover-active"));
66
+ var rowExpanderButton = hoverRow === null || hoverRow === void 0 ? void 0 : hoverRow.querySelector(".".concat(blockClass, "__row-expander"));
67
+ var rowSizeValue = rowSize || 'lg';
68
+ hoverRow === null || hoverRow === void 0 ? void 0 : (_hoverRow$style = hoverRow.style) === null || _hoverRow$style === void 0 ? void 0 : _hoverRow$style.setProperty("--".concat(blockClass, "--indicator-height"), totalNestedRowIndicatorHeight);
69
+ hoverRow === null || hoverRow === void 0 ? void 0 : (_hoverRow$style2 = hoverRow.style) === null || _hoverRow$style2 === void 0 ? void 0 : _hoverRow$style2.setProperty("--".concat(blockClass, "--row-height"), px(rowHeights[rowSizeValue]));
70
+ hoverRow === null || hoverRow === void 0 ? void 0 : (_hoverRow$style3 = hoverRow.style) === null || _hoverRow$style3 === void 0 ? void 0 : _hoverRow$style3.setProperty("--".concat(blockClass, "--indicator-offset-amount"), px((rowExpanderButton === null || rowExpanderButton === void 0 ? void 0 : rowExpanderButton.offsetLeft) || 0));
34
71
  },
35
72
  onMouseLeave: function onMouseLeave(event) {
36
73
  var hoverRow = event.target.closest(".".concat(blockClass, "__carbon-row-expanded"));
37
74
  hoverRow === null || hoverRow === void 0 ? void 0 : hoverRow.classList.remove("".concat(blockClass, "__carbon-row-expanded-hover-active"));
38
75
  }
39
- }), row.cells.map(function (cell) {
76
+ }), row.cells.map(function (cell, index) {
40
77
  var cellProps = cell.getCellProps();
41
78
 
42
79
  var children = cellProps.children,
@@ -52,7 +89,7 @@ var DatagridRow = function DatagridRow(datagridState) {
52
89
  }
53
90
 
54
91
  return /*#__PURE__*/React.createElement(TableCell, _extends({
55
- className: "".concat(blockClass, "__cell")
92
+ className: cx("".concat(blockClass, "__cell"), _defineProperty({}, "".concat(blockClass, "__expandable-row-cell"), row.canExpand && index === 0))
56
93
  }, restProps, {
57
94
  key: cell.column.id
58
95
  }), content);
@@ -1,5 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
4
  var _excluded = ["onChange"];
4
5
 
5
6
  /*
@@ -11,22 +12,28 @@ var _excluded = ["onChange"];
11
12
  */
12
13
  // @flow
13
14
  import React from 'react';
14
- import { DataTable } from '@carbon/react';
15
+ import { TableSelectAll } from '@carbon/react';
16
+ import cx from 'classnames';
15
17
  import { pkg } from '../../../settings';
16
18
  var blockClass = "".concat(pkg.prefix, "--datagrid");
17
19
 
18
20
  var SelectAll = function SelectAll(datagridState) {
21
+ var _columns$;
22
+
19
23
  var isFetching = datagridState.isFetching,
20
24
  getToggleAllRowsSelectedProps = datagridState.getToggleAllRowsSelectedProps,
21
25
  getToggleAllPageRowsSelectedProps = datagridState.getToggleAllPageRowsSelectedProps,
22
26
  tableId = datagridState.tableId,
23
27
  hideSelectAll = datagridState.hideSelectAll,
24
28
  DatagridPagination = datagridState.DatagridPagination,
25
- radio = datagridState.radio;
29
+ radio = datagridState.radio,
30
+ columns = datagridState.columns,
31
+ withStickyColumn = datagridState.withStickyColumn;
32
+ var isFirstColumnStickyLeft = ((_columns$ = columns[0]) === null || _columns$ === void 0 ? void 0 : _columns$.sticky) === 'left' && withStickyColumn;
26
33
 
27
34
  if (hideSelectAll || radio) {
28
35
  return /*#__PURE__*/React.createElement("div", {
29
- className: "".concat(blockClass, "__head-hidden-select-all")
36
+ className: cx("".concat(blockClass, "__head-hidden-select-all"), _defineProperty({}, "".concat(blockClass, "__select-all-sticky-left"), isFirstColumnStickyLeft))
30
37
  });
31
38
  }
32
39
 
@@ -37,7 +44,7 @@ var SelectAll = function SelectAll(datagridState) {
37
44
  selectProps = _objectWithoutProperties(_getProps, _excluded);
38
45
 
39
46
  return /*#__PURE__*/React.createElement("div", {
40
- className: "".concat(blockClass, "__head-select-all ").concat(blockClass, "__checkbox-cell")
47
+ className: cx("".concat(blockClass, "__head-select-all"), "".concat(blockClass, "__checkbox-cell"), _defineProperty({}, "".concat(blockClass, "__checkbox-cell-sticky-left"), isFirstColumnStickyLeft))
41
48
  }, /*#__PURE__*/React.createElement(TableSelectAll, _extends({}, selectProps, {
42
49
  name: "".concat(tableId, "-select-all-checkbox-name"),
43
50
  onSelect: onChange,
@@ -46,5 +53,4 @@ var SelectAll = function SelectAll(datagridState) {
46
53
  })));
47
54
  };
48
55
 
49
- var TableSelectAll = DataTable.TableSelectAll;
50
56
  export { SelectAll };
@@ -1,4 +1,5 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
3
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
4
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
4
5
  var _excluded = ["onChange"];
@@ -13,8 +14,9 @@ var _excluded = ["onChange"];
13
14
  // @flow
14
15
  import React, { useEffect, useState } from 'react';
15
16
  import PropTypes from 'prop-types';
17
+ import cx from 'classnames';
16
18
  import { Checkbox, OverflowMenu, OverflowMenuItem } from '@carbon/react';
17
- import { CaretDown } from '@carbon/icons-react';
19
+ import { CaretDown } from '@carbon/react/icons';
18
20
  import { pkg } from '../../../settings'; // cspell:words columnheader
19
21
 
20
22
  var blockClass = "".concat(pkg.prefix, "--datagrid");
@@ -22,6 +24,8 @@ var SELECT_ALL_PAGE_ROWS = 'pageRows';
22
24
  var SELECT_ALL_ROWS = 'allRows';
23
25
 
24
26
  var SelectAllWithToggle = function SelectAllWithToggle(_ref) {
27
+ var _columns$;
28
+
25
29
  var tableId = _ref.tableId,
26
30
  isFetching = _ref.isFetching,
27
31
  isAllRowsSelected = _ref.isAllRowsSelected,
@@ -31,7 +35,9 @@ var SelectAllWithToggle = function SelectAllWithToggle(_ref) {
31
35
  _ref$allPageRowsLabel = _ref.allPageRowsLabel,
32
36
  allPageRowsLabel = _ref$allPageRowsLabel === void 0 ? 'Select all on page' : _ref$allPageRowsLabel,
33
37
  _ref$allRowsLabel = _ref.allRowsLabel,
34
- allRowsLabel = _ref$allRowsLabel === void 0 ? 'Select all' : _ref$allRowsLabel;
38
+ allRowsLabel = _ref$allRowsLabel === void 0 ? 'Select all' : _ref$allRowsLabel,
39
+ columns = _ref.columns,
40
+ withStickyColumn = _ref.withStickyColumn;
35
41
 
36
42
  var _useState = useState(SELECT_ALL_PAGE_ROWS),
37
43
  _useState2 = _slicedToArray(_useState, 2),
@@ -60,10 +66,11 @@ var SelectAllWithToggle = function SelectAllWithToggle(_ref) {
60
66
  selectProps = _objectWithoutProperties(_getProps, _excluded);
61
67
 
62
68
  var disabled = isFetching || selectProps.disabled;
69
+ var isFirstColumnStickyLeft = ((_columns$ = columns[0]) === null || _columns$ === void 0 ? void 0 : _columns$.sticky) === 'left' && withStickyColumn;
63
70
  return /*#__PURE__*/React.createElement("th", {
64
71
  role: "columnheader",
65
72
  scope: "col",
66
- className: "".concat(blockClass, "__select-all-toggle-on")
73
+ className: cx("".concat(blockClass, "__select-all-toggle-on"), _defineProperty({}, "".concat(blockClass, "__select-all-sticky-left"), isFirstColumnStickyLeft))
67
74
  }, /*#__PURE__*/React.createElement("span", null, /*#__PURE__*/React.createElement(Checkbox, _extends({}, selectProps, {
68
75
  name: "".concat(tableId, "-select-all-checkbox-name"),
69
76
  onClick: function onClick(e) {
@@ -118,11 +125,13 @@ var SelectAllWithToggle = function SelectAllWithToggle(_ref) {
118
125
  SelectAllWithToggle.propTypes = {
119
126
  allPageRowsLabel: PropTypes.string,
120
127
  allRowsLabel: PropTypes.string,
128
+ columns: PropTypes.arrayOf(PropTypes.object),
121
129
  getToggleAllPageRowsSelectedProps: PropTypes.func.isRequired,
122
130
  getToggleAllRowsSelectedProps: PropTypes.func.isRequired,
123
131
  isAllRowsSelected: PropTypes.bool.isRequired,
124
132
  isFetching: PropTypes.bool,
125
133
  selectAllToggle: PropTypes.object,
126
- tableId: PropTypes.string.isRequired
134
+ tableId: PropTypes.string.isRequired,
135
+ withStickyColumn: PropTypes.bool
127
136
  };
128
137
  export default SelectAllWithToggle;
@@ -13,11 +13,10 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
13
13
  * restricted by GSA ADP Schedule Contract with IBM Corp.
14
14
  */
15
15
  import React from 'react';
16
- import { DataTable } from '@carbon/react';
16
+ import { TableBody } from '@carbon/react';
17
17
  import cx from 'classnames';
18
18
  import { pkg } from '../../../settings';
19
19
  var blockClass = "".concat(pkg.prefix, "--datagrid");
20
- var TableBody = DataTable.TableBody;
21
20
 
22
21
  var DatagridSimpleBody = function DatagridSimpleBody(datagridState) {
23
22
  var getTableBodyProps = datagridState.getTableBodyProps,
@@ -8,14 +8,13 @@ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
8
8
  * LICENSE file in the root directory of this source tree.
9
9
  */
10
10
  import React, { useEffect, useState } from 'react';
11
- import { Add, OverflowMenuVertical } from '@carbon/icons-react';
12
- import { DataTable, TableBatchActions, TableBatchAction } from '@carbon/react';
11
+ import { Add, OverflowMenuVertical } from '@carbon/react/icons';
12
+ import { TableToolbar, TableBatchActions, TableBatchAction } from '@carbon/react';
13
13
  import { useResizeDetector } from 'react-resize-detector';
14
14
  import { ButtonMenu, ButtonMenuItem } from '../../ButtonMenu';
15
15
  import { pkg, carbon } from '../../../settings';
16
16
  import cx from 'classnames';
17
17
  var blockClass = "".concat(pkg.prefix, "--datagrid");
18
- var TableToolbar = DataTable.TableToolbar;
19
18
 
20
19
  var DatagridBatchActionsToolbar = function DatagridBatchActionsToolbar(datagridState, width, ref) {
21
20
  var _useState = useState(false),
@@ -35,7 +34,8 @@ var DatagridBatchActionsToolbar = function DatagridBatchActionsToolbar(datagridS
35
34
 
36
35
  var selectedFlatRows = datagridState.selectedFlatRows,
37
36
  toggleAllRowsSelected = datagridState.toggleAllRowsSelected,
38
- toolbarBatchActions = datagridState.toolbarBatchActions;
37
+ toolbarBatchActions = datagridState.toolbarBatchActions,
38
+ setGlobalFilter = datagridState.setGlobalFilter;
39
39
  var totalSelected = selectedFlatRows && selectedFlatRows.length; // Get initial width of batch actions container,
40
40
  // used to measure when all items are put inside
41
41
  // the ButtonMenu
@@ -70,7 +70,8 @@ var DatagridBatchActionsToolbar = function DatagridBatchActionsToolbar(datagridS
70
70
  renderIcon: width > minWidthBeforeOverflowIcon ? Add : OverflowMenuVertical,
71
71
  className: cx("".concat(blockClass, "__button-menu"), _defineProperty({}, "".concat(blockClass, "__button-menu--icon-only"), width <= minWidthBeforeOverflowIcon)),
72
72
  menuOptionsClass: "".concat(blockClass, "__button-menu-options"),
73
- flipped: true
73
+ flipped: true,
74
+ menuAriaLabel: 'Batch actions'
74
75
  }, toolbarBatchActions && toolbarBatchActions.map(function (batchAction, index) {
75
76
  if (index < 2) {
76
77
  if (displayAllInMenu) {
@@ -111,7 +112,8 @@ var DatagridBatchActionsToolbar = function DatagridBatchActionsToolbar(datagridS
111
112
  shouldShowBatchActions: totalSelected > 0,
112
113
  totalSelected: totalSelected,
113
114
  onCancel: function onCancel() {
114
- return toggleAllRowsSelected(false);
115
+ toggleAllRowsSelected(false);
116
+ setGlobalFilter(null);
115
117
  }
116
118
  }, !displayAllInMenu && toolbarBatchActions && (toolbarBatchActions === null || toolbarBatchActions === void 0 ? void 0 : toolbarBatchActions.map(function (batchAction, index) {
117
119
  if (index < 2 && toolbarBatchActions.length > 3 || index < 3 && toolbarBatchActions.length === 3) {
@@ -138,13 +140,15 @@ var DatagridToolbar = function DatagridToolbar(datagridState) {
138
140
 
139
141
  var DatagridActions = datagridState.DatagridActions,
140
142
  DatagridBatchActions = datagridState.DatagridBatchActions,
141
- batchActions = datagridState.batchActions;
143
+ batchActions = datagridState.batchActions,
144
+ rowSize = datagridState.rowSize;
145
+ var getRowHeight = rowSize ? rowSize : 'lg';
142
146
  return batchActions && DatagridActions ? /*#__PURE__*/React.createElement("div", {
143
147
  ref: ref,
148
+ className: cx("".concat(blockClass, "__table-toolbar"), "".concat(blockClass, "__table-toolbar--").concat(getRowHeight))
149
+ }, /*#__PURE__*/React.createElement(TableToolbar, null, DatagridActions && DatagridActions(datagridState), DatagridBatchActionsToolbar && DatagridBatchActionsToolbar(datagridState, width, ref))) : DatagridActions ? /*#__PURE__*/React.createElement("div", {
144
150
  className: "".concat(blockClass, "__table-toolbar")
145
- }, /*#__PURE__*/React.createElement(TableToolbar, null, DatagridActions && DatagridActions(datagridState), DatagridBatchActionsToolbar && DatagridBatchActionsToolbar(datagridState, width, ref))) : /*#__PURE__*/React.createElement("div", {
146
- className: "".concat(blockClass, "__table-toolbar")
147
- }, /*#__PURE__*/React.createElement(TableToolbar, null, DatagridActions && DatagridActions(datagridState), DatagridBatchActions && DatagridBatchActions(datagridState)));
151
+ }, /*#__PURE__*/React.createElement(TableToolbar, null, DatagridActions && DatagridActions(datagridState), DatagridBatchActions && DatagridBatchActions(datagridState))) : null;
148
152
  };
149
153
 
150
154
  export default DatagridToolbar;
@@ -14,10 +14,11 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
14
14
  */
15
15
  import React, { useEffect } from 'react';
16
16
  import { VariableSizeList } from 'react-window';
17
- import { DataTable } from '@carbon/react';
17
+ import { TableBody } from '@carbon/react';
18
18
  import { pkg } from '../../../settings';
19
+ import DatagridHead from './DatagridHead';
20
+ import { px } from '@carbon/layout';
19
21
  var blockClass = "".concat(pkg.prefix, "--datagrid");
20
- var TableBody = DataTable.TableBody;
21
22
  var rowSizeMap = {
22
23
  xs: 24,
23
24
  sm: 32,
@@ -33,6 +34,8 @@ var rowSizeMap = {
33
34
  var defaultRowHeight = rowSizeMap.lg;
34
35
 
35
36
  var DatagridVirtualBody = function DatagridVirtualBody(datagridState) {
37
+ var _gridRef$current, _gridRef$current2;
38
+
36
39
  var getTableBodyProps = datagridState.getTableBodyProps,
37
40
  rows = datagridState.rows,
38
41
  prepareRow = datagridState.prepareRow,
@@ -40,12 +43,21 @@ var DatagridVirtualBody = function DatagridVirtualBody(datagridState) {
40
43
  innerListRef = datagridState.innerListRef,
41
44
  _datagridState$tableH = datagridState.tableHeight,
42
45
  tableHeight = _datagridState$tableH === void 0 ? 400 : _datagridState$tableH,
46
+ virtualHeight = datagridState.virtualHeight,
43
47
  listRef = datagridState.listRef,
44
48
  rowSize = datagridState.rowSize,
45
49
  DatagridPagination = datagridState.DatagridPagination,
46
50
  page = datagridState.page,
47
51
  handleResize = datagridState.handleResize,
48
- withOverflowRow = datagridState.withOverflowRow;
52
+ gridRef = datagridState.gridRef;
53
+
54
+ var syncScroll = function syncScroll(e) {
55
+ var virtualBody = e.target;
56
+ document.querySelector(".".concat(blockClass, "__head-warp")).scrollLeft = virtualBody.scrollLeft;
57
+ var spacerColumn = document.querySelector(".".concat(blockClass, "__head-warp thead th:last-child"));
58
+ spacerColumn.style.width = px(32 + (virtualBody.offsetWidth - virtualBody.clientWidth)); // scrollbar width to header column to fix header alignment
59
+ };
60
+
49
61
  useEffect(function () {
50
62
  handleResize();
51
63
  }, [handleResize]);
@@ -56,10 +68,18 @@ var DatagridVirtualBody = function DatagridVirtualBody(datagridState) {
56
68
  }
57
69
 
58
70
  var visibleRows = DatagridPagination && page || rows;
59
- return /*#__PURE__*/React.createElement(TableBody, _extends({}, getTableBodyProps(), {
60
- onScroll: onScroll
71
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
72
+ className: "".concat(blockClass, "__head-warp"),
73
+ style: {
74
+ width: (_gridRef$current = gridRef.current) === null || _gridRef$current === void 0 ? void 0 : _gridRef$current.clientWidth,
75
+ overflow: 'hidden'
76
+ }
77
+ }, /*#__PURE__*/React.createElement(DatagridHead, datagridState)), /*#__PURE__*/React.createElement(TableBody, _extends({}, getTableBodyProps(), {
78
+ onScroll: function onScroll(e) {
79
+ return syncScroll(e);
80
+ }
61
81
  }), /*#__PURE__*/React.createElement(VariableSizeList, {
62
- height: tableHeight,
82
+ height: virtualHeight || tableHeight,
63
83
  itemCount: visibleRows.length,
64
84
  itemSize: function itemSize(index) {
65
85
  return visibleRows[index].isExpanded ? (visibleRows[index].expandedContentHeight || 0) + rowHeight : rowHeight;
@@ -68,20 +88,21 @@ var DatagridVirtualBody = function DatagridVirtualBody(datagridState) {
68
88
  onScroll: onScroll,
69
89
  innerRef: innerListRef,
70
90
  ref: listRef,
71
- className: "".concat(blockClass, "__virtual-scrollbar")
91
+ className: "".concat(blockClass, "__virtual-scrollbar"),
92
+ style: {
93
+ width: (_gridRef$current2 = gridRef.current) === null || _gridRef$current2 === void 0 ? void 0 : _gridRef$current2.clientWidth
94
+ }
72
95
  }, function (_ref) {
73
96
  var index = _ref.index,
74
97
  style = _ref.style;
75
98
  var row = visibleRows[index];
76
99
  prepareRow(row);
77
100
  return /*#__PURE__*/React.createElement("div", {
78
- style: _objectSpread(_objectSpread({}, style), {}, {
79
- overflow: withOverflowRow ? 'visible' : 'hidden'
80
- })
101
+ style: _objectSpread({}, style)
81
102
  }, row.RowRenderer(_objectSpread(_objectSpread({}, datagridState), {}, {
82
103
  row: row
83
104
  })));
84
- }));
105
+ })));
85
106
  };
86
107
 
87
108
  export default DatagridVirtualBody;
@@ -11,7 +11,7 @@ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
11
11
  */
12
12
  import * as React from 'react';
13
13
  import PropTypes from 'prop-types';
14
- import { Draggable } from '@carbon/icons-react';
14
+ import { Draggable, Locked } from '@carbon/react/icons';
15
15
  import { useDrag, useDrop } from 'react-dnd';
16
16
  import cx from 'classnames';
17
17
  import { pkg } from '../../../settings';
@@ -22,6 +22,8 @@ var blockClass = "".concat(pkg.prefix, "--datagrid");
22
22
  var DRAG_TYPE = "".concat(blockClass, "__shared-ui-draggable-element");
23
23
 
24
24
  var DraggableElement = function DraggableElement(_ref) {
25
+ var _cx;
26
+
25
27
  var id = _ref.id,
26
28
  index = _ref.index,
27
29
  listData = _ref.listData,
@@ -32,7 +34,9 @@ var DraggableElement = function DraggableElement(_ref) {
32
34
  onGrab = _ref.onGrab,
33
35
  onArrowKeyDown = _ref.onArrowKeyDown,
34
36
  isFocused = _ref.isFocused,
37
+ isSticky = _ref.isSticky,
35
38
  moveElement = _ref.moveElement,
39
+ selected = _ref.selected,
36
40
  _ref$positionLabel = _ref.positionLabel,
37
41
  positionLabel = _ref$positionLabel === void 0 ? 'Current position {index} of {total}' : _ref$positionLabel,
38
42
  _ref$grabbedLabel = _ref.grabbedLabel,
@@ -117,11 +121,13 @@ var DraggableElement = function DraggableElement(_ref) {
117
121
  className: cx({
118
122
  disabled: disabled
119
123
  }, "".concat(blockClass, "__draggable-handleStyle"))
120
- }, /*#__PURE__*/React.createElement(Draggable, {
124
+ }, isSticky ? /*#__PURE__*/React.createElement(Locked, {
125
+ size: 16
126
+ }) : /*#__PURE__*/React.createElement(Draggable, {
121
127
  size: 16
122
128
  })), children);
123
129
  return /*#__PURE__*/React.createElement("li", {
124
- className: cx(_defineProperty({}, "".concat(blockClass, "__draggable-handleHolder-isOver"), isOver && !disabled), _defineProperty({}, "".concat(blockClass, "__wkc-draggable-handleHolder--grabbed"), isGrabbed), "".concat(blockClass, "__draggable-handleHolder")),
130
+ className: cx((_cx = {}, _defineProperty(_cx, "".concat(blockClass, "__draggable-handleHolder-isOver"), isOver && !disabled), _defineProperty(_cx, "".concat(blockClass, "__draggable-handleHolder-grabbed"), isGrabbed), _defineProperty(_cx, "".concat(blockClass, "__draggable-handleHolder-selected"), selected), _defineProperty(_cx, "".concat(blockClass, "__draggable-handleHolder--sticky"), isSticky), _defineProperty(_cx, "".concat(blockClass, "__draggable-handleHolder"), !selected), _cx)),
125
131
  ref: ref,
126
132
  "aria-selected": isFocused,
127
133
  role: "option",
@@ -152,7 +158,7 @@ var DraggableElement = function DraggableElement(_ref) {
152
158
  className: "".concat(blockClass, "__shared-ui--assistive-text")
153
159
  }, ariaLabel), isDragging && !isOver ? /*#__PURE__*/React.createElement("div", {
154
160
  ref: preview,
155
- className: "${blockClass}__draggable-handleHolder-droppable"
161
+ className: "".concat(blockClass, "__draggable-handleHolder-droppable ").concat(blockClass, "__draggable-handleHolder-droppable--origin")
156
162
  }, content) : /*#__PURE__*/React.createElement("div", {
157
163
  ref: drag,
158
164
  "aria-hidden": isFocused && isFocusedOnItem // if focus on li, hide the children from aria
@@ -170,11 +176,13 @@ DraggableElement.propTypes = {
170
176
  id: PropTypes.string.isRequired,
171
177
  index: PropTypes.number.isRequired,
172
178
  isFocused: PropTypes.bool.isRequired,
179
+ isSticky: PropTypes.bool,
173
180
  listData: PropTypes.array.isRequired,
174
181
  moveElement: PropTypes.func.isRequired,
175
182
  onArrowKeyDown: PropTypes.func.isRequired,
176
183
  onGrab: PropTypes.func.isRequired,
177
184
  positionLabel: PropTypes.string,
185
+ selected: PropTypes.bool,
178
186
  type: PropTypes.string.isRequired
179
187
  };
180
188
  export default DraggableElement;
@@ -1,74 +1,31 @@
1
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
- import _extends from "@babel/runtime/helpers/extends";
3
-
4
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
5
-
6
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
7
-
8
- // @flow
9
-
10
- /*
11
- * Licensed Materials - Property of IBM
12
- * 5724-Q36
13
- * (c) Copyright IBM Corp. 2021
14
- * US Government Users Restricted Rights - Use, duplication or disclosure
15
- * restricted by GSA ADP Schedule Contract with IBM Corp.
1
+ /**
2
+ * Copyright IBM Corp. 2022, 2022
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
16
6
  */
17
- import { Reset } from '@carbon/icons-react';
18
7
  import PropTypes from 'prop-types';
19
- import { Button, Search } from '@carbon/react';
8
+ import { Search } from '@carbon/react';
20
9
  import * as React from 'react';
21
- import keyBy from 'lodash/keyBy';
22
10
  import { pkg } from '../../../../../settings';
23
- import { isColumnVisible } from './common';
24
11
  var blockClass = "".concat(pkg.prefix, "--datagrid");
25
12
 
26
13
  var Actions = function Actions(_ref) {
27
14
  var searchText = _ref.searchText,
28
- columns = _ref.columns,
29
- originalColumnDefinitions = _ref.originalColumnDefinitions,
30
- setColumnsObject = _ref.setColumnsObject,
31
15
  setSearchText = _ref.setSearchText,
32
- _ref$findColumnPlaceh = _ref.findColumnPlaceholderLabel,
33
- findColumnPlaceholderLabel = _ref$findColumnPlaceh === void 0 ? 'Find column' : _ref$findColumnPlaceh,
34
- _ref$resetToDefaultLa = _ref.resetToDefaultLabel,
35
- resetToDefaultLabel = _ref$resetToDefaultLa === void 0 ? 'Reset to default' : _ref$resetToDefaultLa;
16
+ findColumnPlaceholderLabel = _ref.findColumnPlaceholderLabel;
36
17
  return /*#__PURE__*/React.createElement("div", {
37
- className: "".concat(blockClass, "__customize-columns-modal--actions"),
38
- "test-id": "".concat(blockClass, "__customize-columns-modal--actions")
18
+ className: "".concat(blockClass, "__customize-columns-tearsheet--actions")
39
19
  }, /*#__PURE__*/React.createElement(Search, {
40
20
  placeholder: findColumnPlaceholderLabel,
41
21
  value: searchText,
42
- size: "sm",
22
+ size: "lg",
43
23
  labelText: findColumnPlaceholderLabel,
44
24
  onChange: function onChange(e) {
45
25
  // TODO: is it performant?
46
26
  setSearchText(e.target.value);
47
- },
48
- "test-id": "".concat(blockClass, "__customize-columns-modal--search")
49
- }), /*#__PURE__*/React.createElement(Button, {
50
- onClick: function onClick() {
51
- var reset = resetToOriginal(columns, originalColumnDefinitions);
52
- setColumnsObject(reset);
53
- },
54
- size: "sm",
55
- kind: "ghost",
56
- renderIcon: function renderIcon(props) {
57
- return /*#__PURE__*/React.createElement(Reset, _extends({
58
- size: 16
59
- }, props));
60
- },
61
- "test-id": "".concat(blockClass, "__customize-columns-modal--reset")
62
- }, resetToDefaultLabel));
63
- };
64
-
65
- var resetToOriginal = function resetToOriginal(columnDefinitions, originalColumnDefinitions) {
66
- var keyedDefs = keyBy(columnDefinitions, 'id');
67
- return originalColumnDefinitions.map(function (colDef) {
68
- return _objectSpread(_objectSpread({}, keyedDefs[colDef.id]), {}, {
69
- isVisible: isColumnVisible(colDef)
70
- });
71
- });
27
+ }
28
+ }));
72
29
  };
73
30
 
74
31
  Actions.propTypes = {