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

Sign up to get free protection for your applications and to get access to all the features.
Files changed (380) hide show
  1. package/README.md +2 -2
  2. package/css/index-full-carbon.css +1368 -401
  3. package/css/index-full-carbon.css.map +1 -1
  4. package/css/index-full-carbon.min.css +6 -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 +1292 -456
  11. package/css/index-without-carbon.css.map +1 -1
  12. package/css/index-without-carbon.min.css +6 -8
  13. package/css/index-without-carbon.min.css.map +1 -1
  14. package/css/index.css +1165 -334
  15. package/css/index.css.map +1 -1
  16. package/css/index.min.css +6 -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 +484 -0
  71. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +514 -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 +9 -0
  75. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useInitialStateFromFilters.js +25 -0
  76. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useShouldDisableButtons.js +38 -0
  77. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useSubscribeToEventEmitter.js +25 -0
  78. package/es/components/Datagrid/Datagrid/addons/Filtering/index.js +9 -0
  79. package/es/components/Datagrid/Datagrid/addons/Filtering/motion/variants.js +55 -0
  80. package/es/components/Datagrid/Datagrid/addons/Filtering/utils.js +72 -0
  81. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/InlineEditButton.js +60 -0
  82. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/index.js +1 -0
  83. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +541 -0
  84. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/index.js +1 -0
  85. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/InlineEditContext.js +112 -0
  86. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/getCellIdAsObject.js +27 -0
  87. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/index.js +1 -0
  88. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/returnUpdatedActiveCell.js +39 -0
  89. package/es/components/Datagrid/Datagrid/addons/InlineEdit/handleGridFocus.js +19 -0
  90. package/es/components/Datagrid/Datagrid/addons/InlineEdit/handleGridKeyPress.js +262 -0
  91. package/es/components/Datagrid/Datagrid/addons/InlineEdit/handleMultipleKeys.js +87 -0
  92. package/es/components/Datagrid/Datagrid/addons/RowSize/RowSizeDropdown.js +17 -14
  93. package/es/components/Datagrid/Datagrid/addons/RowSize/RowSizeRadioGroup.js +13 -36
  94. package/es/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/index.js +0 -1
  95. package/es/components/Datagrid/index.js +4 -1
  96. package/es/components/Datagrid/useActionsColumn.js +28 -12
  97. package/es/components/Datagrid/useColumnOrder.js +8 -0
  98. package/es/components/Datagrid/useCustomizeColumns.js +13 -8
  99. package/es/components/Datagrid/useDisableSelectRows.js +6 -2
  100. package/es/components/Datagrid/useExpandedRow.js +0 -1
  101. package/es/components/Datagrid/useFiltering.js +99 -0
  102. package/es/components/Datagrid/useInfiniteScroll.js +5 -2
  103. package/es/components/Datagrid/useInlineEdit.js +71 -0
  104. package/es/components/Datagrid/useNestedRowExpander.js +47 -0
  105. package/es/components/Datagrid/useNestedRows.js +16 -4
  106. package/es/components/Datagrid/useParentDimensions.js +3 -1
  107. package/es/components/Datagrid/useRowExpander.js +12 -4
  108. package/es/components/Datagrid/useRowSize.js +17 -6
  109. package/es/components/Datagrid/useSelectAllToggle.js +17 -4
  110. package/es/components/Datagrid/useSelectRows.js +13 -4
  111. package/es/components/Datagrid/useSortableColumns.js +15 -9
  112. package/es/components/Datagrid/useStickyColumn.js +11 -0
  113. package/es/components/Datagrid/utils/DatagridActions.js +249 -0
  114. package/es/components/Datagrid/utils/DatagridPagination.js +33 -0
  115. package/es/components/Datagrid/utils/Wrapper.js +21 -0
  116. package/es/components/Datagrid/utils/getArgTypes.js +94 -0
  117. package/es/components/Datagrid/utils/getInlineEditColumns.js +159 -0
  118. package/es/components/Datagrid/utils/makeData.js +54 -1
  119. package/es/components/EditUpdateCards/EditUpdateCards.js +144 -0
  120. package/es/components/EditUpdateCards/index.js +7 -0
  121. package/es/components/ExportModal/ExportModal.js +1 -1
  122. package/es/components/FilterSummary/FilterSummary.js +54 -0
  123. package/es/components/FilterSummary/index.js +7 -0
  124. package/es/components/ImportModal/ImportModal.js +3 -3
  125. package/es/components/InlineEdit/InlineEdit.js +28 -426
  126. package/es/components/InlineEditV1/InlineEditV1.js +447 -0
  127. package/es/components/InlineEditV1/index.js +7 -0
  128. package/es/components/InlineEditV2/InlineEditV2.js +289 -0
  129. package/es/components/InlineEditV2/index.js +7 -0
  130. package/es/components/ModifiedTabs/ModifiedTabLabelNew.js +1 -1
  131. package/es/components/ModifiedTabs/ModifiedTabLabelWithClose.js +1 -1
  132. package/es/components/MultiAddSelect/MultiAddSelect.js +14 -7
  133. package/es/components/MultiAddSelect/index.js +6 -0
  134. package/es/components/NotificationsPanel/NotificationsPanel.js +1 -1
  135. package/es/components/OptionsTile/OptionsTile.js +32 -16
  136. package/es/components/PageHeader/PageHeader.js +4 -4
  137. package/es/components/PageHeader/PageHeaderTitle.js +1 -1
  138. package/es/components/ProductiveCard/ProductiveCard.js +5 -0
  139. package/es/components/RemoveModal/RemoveModal.js +20 -3
  140. package/es/components/Saving/Saving.js +1 -1
  141. package/es/components/SidePanel/SidePanel.js +45 -52
  142. package/es/components/SidePanel/motion/variants.js +45 -0
  143. package/es/components/SingleAddSelect/SingleAddSelect.js +6 -0
  144. package/es/components/SingleAddSelect/index.js +6 -0
  145. package/es/components/StatusIcon/StatusIcon.js +1 -1
  146. package/es/components/Tearsheet/Tearsheet.js +5 -0
  147. package/es/components/Tearsheet/TearsheetNarrow.js +5 -0
  148. package/es/components/Tearsheet/TearsheetShell.js +1 -1
  149. package/es/components/UserProfileImage/UserProfileImage.js +1 -1
  150. package/es/components/WebTerminal/WebTerminal.js +1 -1
  151. package/es/components/WebTerminal/preview-components/Navigation.js +1 -1
  152. package/es/components/index.js +4 -3
  153. package/es/global/js/hooks/index.js +2 -1
  154. package/es/global/js/hooks/useClickOutside.js +1 -1
  155. package/es/global/js/hooks/useControllableState.js +83 -0
  156. package/es/global/js/hooks/useCreateComponentFocus.js +38 -10
  157. package/es/global/js/hooks/useResetCreateComponent.js +6 -2
  158. package/es/global/js/package-settings.js +9 -6
  159. package/es/global/js/utils/getBezierValues.js +20 -0
  160. package/es/global/js/utils/getNumberOfHiddenSteps.js +19 -0
  161. package/es/global/js/utils/motionConstants.js +45 -0
  162. package/es/global/js/utils/rangeWithCallback.js +13 -0
  163. package/es/global/js/utils/story-helper.js +5 -1
  164. package/es/global/js/utils/uuidv4.spec.js +4 -0
  165. package/lib/components/APIKeyModal/APIKeyModal.js +4 -4
  166. package/lib/components/ActionBar/ActionBarOverflowItems.js +1 -0
  167. package/lib/components/ActionSet/ActionSet.js +7 -3
  168. package/lib/components/AddSelect/AddSelect.js +5 -6
  169. package/lib/components/AddSelect/AddSelectBody.js +68 -31
  170. package/lib/components/AddSelect/AddSelectBreadcrumbs.js +15 -4
  171. package/lib/components/AddSelect/AddSelectColumn.js +7 -7
  172. package/lib/components/AddSelect/AddSelectFilter.js +9 -6
  173. package/lib/components/AddSelect/AddSelectList.js +65 -30
  174. package/lib/components/AddSelect/AddSelectMetaPanel.js +8 -2
  175. package/lib/components/AddSelect/AddSelectSidebar.js +4 -1
  176. package/lib/components/AddSelect/AddSelectSort.js +5 -5
  177. package/lib/components/AddSelect/add-select-utils.js +9 -2
  178. package/lib/components/AddSelect/hooks/useItemSort.js +6 -0
  179. package/lib/components/AddSelect/hooks/useParentSelect.js +6 -0
  180. package/lib/components/AddSelect/hooks/usePath.js +16 -1
  181. package/lib/components/BreadcrumbWithOverflow/BreadcrumbWithOverflow.js +6 -6
  182. package/lib/components/ButtonMenu/ButtonMenu.js +4 -3
  183. package/lib/components/Card/Card.js +16 -6
  184. package/lib/components/Card/CardFooter.js +3 -1
  185. package/lib/components/Card/CardHeader.js +21 -1
  186. package/lib/components/ComboButton/ComboButton.js +3 -3
  187. package/lib/components/CreateFullPage/CreateFullPage.js +13 -3
  188. package/lib/components/CreateTearsheet/CreateTearsheet.js +18 -3
  189. package/lib/components/CreateTearsheet/preview-components/MultiStepTearsheet.js +3 -1
  190. package/lib/components/CreateTearsheetNarrow/CreateTearsheetNarrow.js +2 -2
  191. package/lib/components/DataSpreadsheet/DataSpreadsheet.js +65 -14
  192. package/lib/components/DataSpreadsheet/DataSpreadsheetBody.js +2 -1
  193. package/lib/components/DataSpreadsheet/DataSpreadsheetHeader.js +7 -0
  194. package/lib/components/DataSpreadsheet/hooks/useMultipleKeyTracking.js +6 -5
  195. package/lib/components/DataSpreadsheet/utils/handleCellDeletion.js +53 -0
  196. package/lib/components/DataSpreadsheet/utils/handleMultipleKeys.js +1 -1
  197. package/lib/components/Datagrid/Datagrid/Datagrid.js +19 -47
  198. package/lib/components/Datagrid/Datagrid/DatagridContent.js +230 -0
  199. package/lib/components/Datagrid/Datagrid/DatagridEmptyBody.js +19 -9
  200. package/lib/components/Datagrid/Datagrid/DatagridExpandedRow.js +9 -1
  201. package/lib/components/Datagrid/Datagrid/DatagridHead.js +1 -3
  202. package/lib/components/Datagrid/Datagrid/DatagridHeaderRow.js +2 -5
  203. package/lib/components/Datagrid/Datagrid/DatagridRow.js +46 -8
  204. package/lib/components/Datagrid/Datagrid/DatagridSelectAll.js +14 -6
  205. package/lib/components/Datagrid/Datagrid/DatagridSelectAllWithToggle.js +16 -5
  206. package/lib/components/Datagrid/Datagrid/DatagridSimpleBody.js +1 -2
  207. package/lib/components/Datagrid/Datagrid/DatagridToolbar.js +14 -10
  208. package/lib/components/Datagrid/Datagrid/DatagridVirtualBody.js +33 -10
  209. package/lib/components/Datagrid/Datagrid/DraggableElement.js +12 -4
  210. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/Actions.js +11 -49
  211. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/ButtonWrapper.js +11 -8
  212. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/Columns.js +76 -46
  213. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/{CustomizeColumnsModal.js → CustomizeColumnsTearsheet.js} +85 -48
  214. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/{ModalWrapper.js → TearsheetWrapper.js} +32 -36
  215. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/index.js +3 -3
  216. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +505 -0
  217. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +538 -0
  218. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.js +112 -0
  219. package/lib/components/Datagrid/Datagrid/addons/Filtering/constants.js +47 -0
  220. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/index.js +31 -0
  221. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useInitialStateFromFilters.js +37 -0
  222. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useShouldDisableButtons.js +50 -0
  223. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useSubscribeToEventEmitter.js +35 -0
  224. package/lib/components/Datagrid/Datagrid/addons/Filtering/index.js +37 -0
  225. package/lib/components/Datagrid/Datagrid/addons/Filtering/motion/variants.js +67 -0
  226. package/lib/components/Datagrid/Datagrid/addons/Filtering/utils.js +82 -0
  227. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/InlineEditButton.js +76 -0
  228. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/index.js +13 -0
  229. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +566 -0
  230. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/index.js +13 -0
  231. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/InlineEditContext.js +129 -0
  232. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/getCellIdAsObject.js +36 -0
  233. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/index.js +19 -0
  234. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/returnUpdatedActiveCell.js +45 -0
  235. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/handleGridFocus.js +28 -0
  236. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/handleGridKeyPress.js +271 -0
  237. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/handleMultipleKeys.js +100 -0
  238. package/lib/components/Datagrid/Datagrid/addons/RowSize/RowSizeDropdown.js +17 -13
  239. package/lib/components/Datagrid/Datagrid/addons/RowSize/RowSizeRadioGroup.js +13 -35
  240. package/lib/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/index.js +0 -8
  241. package/lib/components/Datagrid/index.js +25 -1
  242. package/lib/components/Datagrid/useActionsColumn.js +28 -13
  243. package/lib/components/Datagrid/useColumnOrder.js +17 -0
  244. package/lib/components/Datagrid/useCustomizeColumns.js +12 -7
  245. package/lib/components/Datagrid/useDisableSelectRows.js +6 -2
  246. package/lib/components/Datagrid/useExpandedRow.js +0 -1
  247. package/lib/components/Datagrid/useFiltering.js +105 -0
  248. package/lib/components/Datagrid/useInfiniteScroll.js +5 -2
  249. package/lib/components/Datagrid/useInlineEdit.js +85 -0
  250. package/lib/components/Datagrid/useNestedRowExpander.js +63 -0
  251. package/lib/components/Datagrid/useNestedRows.js +17 -4
  252. package/lib/components/Datagrid/useParentDimensions.js +3 -1
  253. package/lib/components/Datagrid/useRowExpander.js +17 -5
  254. package/lib/components/Datagrid/useRowSize.js +18 -13
  255. package/lib/components/Datagrid/useSelectAllToggle.js +18 -4
  256. package/lib/components/Datagrid/useSelectRows.js +13 -4
  257. package/lib/components/Datagrid/useSortableColumns.js +16 -7
  258. package/lib/components/Datagrid/useStickyColumn.js +11 -0
  259. package/lib/components/Datagrid/utils/DatagridActions.js +275 -0
  260. package/lib/components/Datagrid/utils/DatagridPagination.js +46 -0
  261. package/lib/components/Datagrid/utils/Wrapper.js +33 -0
  262. package/lib/components/Datagrid/utils/getArgTypes.js +102 -0
  263. package/lib/components/Datagrid/utils/getInlineEditColumns.js +174 -0
  264. package/lib/components/Datagrid/utils/makeData.js +56 -2
  265. package/lib/components/EditUpdateCards/EditUpdateCards.js +152 -0
  266. package/lib/components/EditUpdateCards/index.js +13 -0
  267. package/lib/components/ExportModal/ExportModal.js +3 -3
  268. package/lib/components/FilterSummary/FilterSummary.js +72 -0
  269. package/lib/components/FilterSummary/index.js +15 -0
  270. package/lib/components/ImportModal/ImportModal.js +4 -4
  271. package/lib/components/InlineEdit/InlineEdit.js +27 -426
  272. package/lib/components/InlineEditV1/InlineEditV1.js +464 -0
  273. package/lib/components/InlineEditV1/index.js +13 -0
  274. package/lib/components/InlineEditV2/InlineEditV2.js +309 -0
  275. package/lib/components/InlineEditV2/index.js +13 -0
  276. package/lib/components/ModifiedTabs/ModifiedTabLabelNew.js +2 -2
  277. package/lib/components/ModifiedTabs/ModifiedTabLabelWithClose.js +3 -3
  278. package/lib/components/MultiAddSelect/MultiAddSelect.js +14 -7
  279. package/lib/components/NotificationsPanel/NotificationsPanel.js +8 -8
  280. package/lib/components/OptionsTile/OptionsTile.js +36 -19
  281. package/lib/components/PageHeader/PageHeader.js +5 -5
  282. package/lib/components/PageHeader/PageHeaderTitle.js +1 -1
  283. package/lib/components/ProductiveCard/ProductiveCard.js +5 -0
  284. package/lib/components/RemoveModal/RemoveModal.js +20 -3
  285. package/lib/components/Saving/Saving.js +5 -5
  286. package/lib/components/SidePanel/SidePanel.js +48 -53
  287. package/lib/components/SidePanel/motion/variants.js +55 -0
  288. package/lib/components/SingleAddSelect/SingleAddSelect.js +6 -0
  289. package/lib/components/StatusIcon/StatusIcon.js +45 -45
  290. package/lib/components/Tearsheet/Tearsheet.js +5 -0
  291. package/lib/components/Tearsheet/TearsheetNarrow.js +5 -0
  292. package/lib/components/Tearsheet/TearsheetShell.js +1 -1
  293. package/lib/components/UserProfileImage/UserProfileImage.js +7 -7
  294. package/lib/components/WebTerminal/WebTerminal.js +3 -3
  295. package/lib/components/WebTerminal/preview-components/Navigation.js +4 -4
  296. package/lib/components/index.js +33 -1
  297. package/lib/global/js/hooks/index.js +9 -1
  298. package/lib/global/js/hooks/useClickOutside.js +1 -1
  299. package/lib/global/js/hooks/useControllableState.js +94 -0
  300. package/lib/global/js/hooks/useCreateComponentFocus.js +42 -11
  301. package/lib/global/js/hooks/useResetCreateComponent.js +7 -2
  302. package/lib/global/js/package-settings.js +9 -6
  303. package/lib/global/js/utils/getBezierValues.js +29 -0
  304. package/lib/global/js/utils/getNumberOfHiddenSteps.js +28 -0
  305. package/lib/global/js/utils/motionConstants.js +55 -0
  306. package/lib/global/js/utils/rangeWithCallback.js +22 -0
  307. package/lib/global/js/utils/story-helper.js +5 -1
  308. package/lib/global/js/utils/uuidv4.spec.js +4 -0
  309. package/package.json +18 -16
  310. package/scss/components/ActionSet/_action-set.scss +9 -4
  311. package/scss/components/AddSelect/_add-select.scss +132 -34
  312. package/scss/components/AddSelect/_index.scss +1 -1
  313. package/scss/components/AddSelect/_storybook-styles.scss +1 -1
  314. package/scss/components/Card/_card.scss +1 -0
  315. package/scss/components/Cascade/_cascade.scss +1 -1
  316. package/scss/components/CreateTearsheet/_create-tearsheet.scss +2 -0
  317. package/scss/components/Datagrid/_datagrid.scss +7 -1
  318. package/scss/components/Datagrid/_storybook-styles.scss +29 -5
  319. package/scss/components/Datagrid/styles/_datagrid.scss +131 -37
  320. package/scss/components/Datagrid/styles/_draggableElement.scss +50 -18
  321. package/scss/components/Datagrid/styles/_index.scss +10 -8
  322. package/scss/components/Datagrid/styles/_useActionsColumn.scss +14 -0
  323. package/scss/components/Datagrid/styles/_useExpandedRow.scss +56 -10
  324. package/scss/components/Datagrid/styles/_useInlineEdit.scss +419 -0
  325. package/scss/components/Datagrid/styles/_useNestedRows.scss +33 -1
  326. package/scss/components/Datagrid/styles/_useSortableColumns.scss +35 -16
  327. package/scss/components/Datagrid/styles/_useStickyColumn.scss +31 -2
  328. package/scss/components/Datagrid/styles/addons/_CustomizeColumnsTearsheet.scss +69 -0
  329. package/scss/components/Datagrid/styles/addons/_FilterFlyout.scss +87 -0
  330. package/scss/components/Datagrid/styles/addons/_FilterPanel.scss +129 -0
  331. package/scss/components/Datagrid/styles/addons/_RowSizeDropdown.scss +12 -4
  332. package/scss/components/EditUpdateCards/_carbon-imports.scss +9 -0
  333. package/scss/components/EditUpdateCards/_edit-update-cards.scss +85 -0
  334. package/scss/components/EditUpdateCards/_index-with-carbon.scss +9 -0
  335. package/scss/components/EditUpdateCards/_index.scss +8 -0
  336. package/scss/components/EditUpdateCards/_storybook-styles.scss +55 -0
  337. package/scss/components/FilterSummary/_filter-summary.scss +21 -0
  338. package/scss/components/FilterSummary/_index.scss +10 -0
  339. package/scss/components/FilterSummary/_storybook-styles.scss +14 -0
  340. package/scss/components/{InlineEdit → InlineEditV1}/_index-with-carbon.scss +1 -1
  341. package/scss/components/{InlineEdit → InlineEditV1}/_index.scss +1 -1
  342. package/scss/components/{InlineEdit/_inline-edit.scss → InlineEditV1/_inline-edit-v1.scss} +4 -2
  343. package/scss/components/InlineEditV2/_carbon-imports.scss +9 -0
  344. package/scss/components/InlineEditV2/_index-with-carbon.scss +9 -0
  345. package/scss/components/InlineEditV2/_index.scss +10 -0
  346. package/scss/components/InlineEditV2/_inline-edit-v2.scss +83 -0
  347. package/scss/components/InlineEditV2/_storybook-styles.scss +9 -0
  348. package/scss/components/MultiAddSelect/_multi-add-select.scss +8 -1
  349. package/scss/components/MultiAddSelect/_storybook-styles.scss +1 -1
  350. package/scss/components/NotificationsPanel/_notifications-panel.scss +3 -6
  351. package/scss/components/RemoveModal/_remove-modal.scss +0 -4
  352. package/scss/components/SidePanel/_side-panel.scss +3 -82
  353. package/scss/components/SidePanel/_storybook-styles.scss +6 -1
  354. package/scss/components/SingleAddSelect/_carbon-imports.scss +1 -1
  355. package/scss/components/SingleAddSelect/_index-with-carbon.scss +1 -1
  356. package/scss/components/SingleAddSelect/_index.scss +7 -0
  357. package/scss/components/SingleAddSelect/_single-add-select.scss +8 -1
  358. package/scss/components/SingleAddSelect/_storybook-styles.scss +1 -1
  359. package/scss/components/Tearsheet/_tearsheet.scss +4 -2
  360. package/scss/components/_index-released-only-with-carbon.scss +3 -1
  361. package/scss/components/_index-released-only.scss +4 -1
  362. package/scss/components/_index-with-carbon.scss +3 -1
  363. package/scss/components/_index.scss +4 -1
  364. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsModal.js +0 -157
  365. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/ModalWrapper.js +0 -62
  366. package/es/components/Datagrid/Datagrid.stories-helpers/LeftPanelStory.js +0 -6
  367. package/lib/components/Datagrid/Datagrid.stories-helpers/LeftPanelStory.js +0 -13
  368. package/scss/components/Datagrid/styles/addons/_CustomizeColumnsModal.scss +0 -52
  369. /package/es/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/CustomizeColumnStory.js +0 -0
  370. /package/es/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/RowSizeDropdownStory.js +0 -0
  371. /package/es/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/SelectAllWithToggleStory.js +0 -0
  372. /package/es/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/StickyActionsColumnStory.js +0 -0
  373. /package/es/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/common.js +0 -0
  374. /package/lib/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/CustomizeColumnStory.js +0 -0
  375. /package/lib/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/RowSizeDropdownStory.js +0 -0
  376. /package/lib/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/SelectAllWithToggleStory.js +0 -0
  377. /package/lib/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/StickyActionsColumnStory.js +0 -0
  378. /package/lib/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/common.js +0 -0
  379. /package/scss/components/{InlineEdit → InlineEditV1}/_carbon-imports.scss +0 -0
  380. /package/scss/components/{InlineEdit → InlineEditV1}/_storybook-styles.scss +0 -0
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
+
12
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
+
14
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
+
16
+ var _react = _interopRequireDefault(require("react"));
17
+
18
+ var _icons = require("@carbon/react/icons");
19
+
20
+ var _classnames = _interopRequireDefault(require("classnames"));
21
+
22
+ var _settings = require("../../settings");
23
+
24
+ /* eslint-disable react/prop-types */
25
+
26
+ /*
27
+ * Licensed Materials - Property of IBM
28
+ * 5724-Q36
29
+ * (c) Copyright IBM Corp. 2020
30
+ * US Government Users Restricted Rights - Use, duplication or disclosure
31
+ * restricted by GSA ADP Schedule Contract with IBM Corp.
32
+ */
33
+ var blockClass = "".concat(_settings.pkg.prefix, "--datagrid");
34
+
35
+ var useNestedRowExpander = function useNestedRowExpander(hooks) {
36
+ var visibleColumns = function visibleColumns(columns) {
37
+ var expanderColumn = {
38
+ id: 'expander',
39
+ Cell: function Cell(_ref) {
40
+ var _cx;
41
+
42
+ var row = _ref.row;
43
+ return row.canExpand && /*#__PURE__*/_react.default.createElement("button", (0, _extends2.default)({
44
+ type: "button",
45
+ "aria-label": "Expand current row",
46
+ className: (0, _classnames.default)("".concat(blockClass, "__row-expander"), "".concat(_settings.carbon.prefix, "--btn"), "".concat(_settings.carbon.prefix, "--btn--ghost"))
47
+ }, row.getToggleRowExpandedProps()), /*#__PURE__*/_react.default.createElement(_icons.ChevronRight, {
48
+ className: (0, _classnames.default)("".concat(blockClass, "__expander-icon"), (_cx = {}, (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__expander-icon--not-open"), !row.isExpanded), (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__expander-icon--open"), row.isExpanded), _cx))
49
+ }));
50
+ },
51
+ width: 48,
52
+ disableResizing: true,
53
+ disableSortBy: true,
54
+ Header: ''
55
+ };
56
+ return [expanderColumn].concat((0, _toConsumableArray2.default)(columns));
57
+ };
58
+
59
+ hooks.visibleColumns.push(visibleColumns);
60
+ };
61
+
62
+ var _default = useNestedRowExpander;
63
+ exports.default = _default;
@@ -7,10 +7,14 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.default = void 0;
9
9
 
10
- var _useRowExpander = _interopRequireDefault(require("./useRowExpander"));
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
11
 
12
12
  var _settings = require("../../settings");
13
13
 
14
+ var _classnames = _interopRequireDefault(require("classnames"));
15
+
16
+ var _useNestedRowExpander = _interopRequireDefault(require("./useNestedRowExpander"));
17
+
14
18
  /*
15
19
  * Licensed Materials - Property of IBM
16
20
  * 5724-Q36
@@ -21,13 +25,15 @@ var _settings = require("../../settings");
21
25
  var blockClass = "".concat(_settings.pkg.prefix, "--datagrid");
22
26
 
23
27
  var useNestedRows = function useNestedRows(hooks) {
24
- (0, _useRowExpander.default)(hooks);
28
+ (0, _useNestedRowExpander.default)(hooks);
25
29
  var marginLeft = 24;
26
30
 
27
31
  var getRowProps = function getRowProps(props, _ref) {
32
+ var _cx;
33
+
28
34
  var row = _ref.row;
29
35
  return [props, {
30
- className: row.depth > 0 ? "".concat(blockClass, "__carbon-nested-row") : ''
36
+ className: (0, _classnames.default)((_cx = {}, (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__carbon-nested-row"), row.depth > 0), (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__carbon-row-expanded"), row.isExpanded), _cx))
31
37
  }];
32
38
  };
33
39
 
@@ -36,7 +42,7 @@ var useNestedRows = function useNestedRows(hooks) {
36
42
  return [props, {
37
43
  style: {
38
44
  marginLeft: "".concat(row.depth > 0 ? marginLeft : 0, "px"),
39
- paddingLeft: "".concat(row.depth > 1 ? marginLeft * (row.depth - 1) + marginLeft : row.depth === 1 ? marginLeft : 0, "px"),
45
+ paddingLeft: "".concat(row.depth === 2 ? marginLeft * (row.depth - 1) + marginLeft - 8 : row.depth > 2 ? marginLeft * (row.depth - 1) + marginLeft : row.depth === 1 ? marginLeft - 16 : 0, "px"),
40
46
  maxWidth: "calc(100% - ".concat(marginLeft * row.depth, "px)")
41
47
  }
42
48
  }];
@@ -56,9 +62,16 @@ var useNestedRows = function useNestedRows(hooks) {
56
62
  }];
57
63
  };
58
64
 
65
+ var useInstance = function useInstance(instance) {
66
+ Object.assign(instance, {
67
+ withNestedRows: true
68
+ });
69
+ };
70
+
59
71
  hooks.getRowProps.push(getRowProps);
60
72
  hooks.getRowProps.push(getRowStyles);
61
73
  hooks.getCellProps.push(getCellProps);
74
+ hooks.useInstance.push(useInstance);
62
75
  };
63
76
 
64
77
  var _default = useNestedRows;
@@ -23,6 +23,7 @@ var useParentDimensions = function useParentDimensions(hooks) {
23
23
  var headRef = (0, _react.useRef)();
24
24
  var innerListRef = (0, _react.useRef)();
25
25
  var listRef = (0, _react.useRef)();
26
+ var gridRef = (0, _react.useRef)();
26
27
 
27
28
  var _useState = (0, _react.useState)(),
28
29
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
@@ -64,7 +65,8 @@ var useParentDimensions = function useParentDimensions(hooks) {
64
65
  headRef: headRef,
65
66
  innerListRef: innerListRef,
66
67
  handleResize: handleResize,
67
- listRef: listRef
68
+ listRef: listRef,
69
+ gridRef: gridRef
68
70
  });
69
71
  };
70
72
 
@@ -9,9 +9,15 @@ exports.default = void 0;
9
9
 
10
10
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
11
 
12
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
+
12
14
  var _react = _interopRequireDefault(require("react"));
13
15
 
14
- var _iconsReact = require("@carbon/icons-react");
16
+ var _icons = require("@carbon/react/icons");
17
+
18
+ var _settings = require("../../settings");
19
+
20
+ var _classnames = _interopRequireDefault(require("classnames"));
15
21
 
16
22
  /* eslint-disable react/prop-types */
17
23
 
@@ -22,16 +28,22 @@ var _iconsReact = require("@carbon/icons-react");
22
28
  * US Government Users Restricted Rights - Use, duplication or disclosure
23
29
  * restricted by GSA ADP Schedule Contract with IBM Corp.
24
30
  */
31
+ var blockClass = "".concat(_settings.pkg.prefix, "--datagrid");
32
+
25
33
  var useRowExpander = function useRowExpander(hooks) {
26
34
  var visibleColumns = function visibleColumns(columns) {
27
35
  var expanderColumn = {
28
36
  id: 'expander',
29
37
  Cell: function Cell(_ref) {
30
38
  var row = _ref.row;
31
- return row.canExpand && /*#__PURE__*/_react.default.createElement("span", row.getToggleRowExpandedProps(), row.isExpanded ? /*#__PURE__*/_react.default.createElement(_iconsReact.ChevronUp, {
32
- size: 16
33
- }) : /*#__PURE__*/_react.default.createElement(_iconsReact.ChevronDown, {
34
- size: 16
39
+ return row.canExpand && /*#__PURE__*/_react.default.createElement("button", (0, _extends2.default)({
40
+ type: "button",
41
+ "aria-label": "Expand current row",
42
+ className: (0, _classnames.default)("".concat(blockClass, "__row-expander"), "".concat(_settings.carbon.prefix, "--btn"), "".concat(_settings.carbon.prefix, "--btn--ghost"))
43
+ }, row.getToggleRowExpandedProps()), row.isExpanded ? /*#__PURE__*/_react.default.createElement(_icons.ChevronUp, {
44
+ className: "".concat(blockClass, "__row-expander--icon")
45
+ }) : /*#__PURE__*/_react.default.createElement(_icons.ChevronDown, {
46
+ className: "".concat(blockClass, "__row-expander--icon")
35
47
  }));
36
48
  },
37
49
  width: 48,
@@ -7,19 +7,18 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.default = void 0;
9
9
 
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+
10
12
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
13
 
12
14
  var _react = require("react");
13
15
 
14
16
  var _RowSize = require("./Datagrid/addons/RowSize");
15
17
 
16
- /*
17
- * Licensed Materials - Property of IBM
18
- * 5724-Q36
19
- * (c) Copyright IBM Corp. 2020, 2021
20
- * US Government Users Restricted Rights - Use, duplication or disclosure
21
- * restricted by GSA ADP Schedule Contract with IBM Corp.
22
- */
18
+ 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; }
19
+
20
+ 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) { (0, _defineProperty2.default)(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; }
21
+
23
22
  var useRowSize = function useRowSize(hooks) {
24
23
  var _useState = (0, _react.useState)(''),
25
24
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
@@ -27,13 +26,19 @@ var useRowSize = function useRowSize(hooks) {
27
26
  setRowSize = _useState2[1];
28
27
 
29
28
  hooks.useInstance.push(function (instance) {
30
- var rowSizes = instance.rowSizes,
29
+ var rowSizeProps = instance.rowSizeProps,
30
+ rowSizes = instance.rowSizes,
31
31
  rowSize = instance.rowSize,
32
32
  onRowSizeChange = instance.onRowSizeChange;
33
+
34
+ var _ref = rowSizeProps || {},
35
+ labels = _ref.labels;
36
+
33
37
  Object.assign(instance, {
34
38
  rowSize: internalRowSize || rowSize,
35
- rowSizeDropdownProps: {
36
- rowSizes: rowSizes,
39
+ rowSizeDropdownProps: _objectSpread(_objectSpread({
40
+ rowSizes: rowSizes
41
+ }, labels), {}, {
37
42
  selectedOption: internalRowSize || rowSize,
38
43
  onChange: function onChange(value) {
39
44
  setRowSize(value);
@@ -42,13 +47,13 @@ var useRowSize = function useRowSize(hooks) {
42
47
  onRowSizeChange(value);
43
48
  }
44
49
  }
45
- },
50
+ }),
46
51
  RowSizeDropdown: _RowSize.RowSizeDropdown
47
52
  });
48
53
  });
49
54
 
50
- var getTableProps = function getTableProps(props, _ref) {
51
- var instance = _ref.instance;
55
+ var getTableProps = function getTableProps(props, _ref2) {
56
+ var instance = _ref2.instance;
52
57
  var rowSize = instance.rowSize;
53
58
 
54
59
  if (!rowSize) {
@@ -7,8 +7,12 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.default = void 0;
9
9
 
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+
10
12
  var _react = _interopRequireDefault(require("react"));
11
13
 
14
+ var _classnames = _interopRequireDefault(require("classnames"));
15
+
12
16
  var _commonColumnIds = require("./common-column-ids");
13
17
 
14
18
  var _DatagridSelectAllWithToggle = _interopRequireDefault(require("./Datagrid/DatagridSelectAllWithToggle"));
@@ -53,12 +57,18 @@ var useSelectAllWithToggleComponent = function useSelectAllWithToggleComponent(h
53
57
 
54
58
  var useAddClassNameToSelectRow = function useAddClassNameToSelectRow(hooks) {
55
59
  hooks.getCellProps.push(function (props, data) {
60
+ var _columns$;
61
+
56
62
  var column = data.cell.column;
57
- var DatagridPagination = data.instance.DatagridPagination;
63
+ var _data$instance = data.instance,
64
+ DatagridPagination = _data$instance.DatagridPagination,
65
+ columns = _data$instance.columns,
66
+ withStickyColumn = _data$instance.withStickyColumn;
67
+ var isFirstColumnStickyLeft = ((_columns$ = columns[0]) === null || _columns$ === void 0 ? void 0 : _columns$.sticky) === 'left' && withStickyColumn;
58
68
 
59
69
  if (column.id === _commonColumnIds.selectionColumnId && DatagridPagination) {
60
70
  return [props, {
61
- className: "".concat(blockClass, "__select-all-toggle-on")
71
+ className: (0, _classnames.default)("".concat(blockClass, "__select-all-toggle-on"), (0, _defineProperty2.default)({}, "".concat(blockClass, "__select-all-sticky-left"), isFirstColumnStickyLeft))
62
72
  }];
63
73
  }
64
74
 
@@ -72,14 +82,18 @@ var Header = function Header(gridState) {
72
82
  selectAllToggle = gridState.selectAllToggle,
73
83
  getToggleAllPageRowsSelectedProps = gridState.getToggleAllPageRowsSelectedProps,
74
84
  getToggleAllRowsSelectedProps = gridState.getToggleAllRowsSelectedProps,
75
- isAllRowsSelected = gridState.isAllRowsSelected;
85
+ isAllRowsSelected = gridState.isAllRowsSelected,
86
+ withStickyColumn = gridState.withStickyColumn,
87
+ columns = gridState.columns;
76
88
  var props = {
77
89
  tableId: tableId,
78
90
  isFetching: isFetching,
79
91
  selectAllToggle: selectAllToggle,
80
92
  getToggleAllPageRowsSelectedProps: getToggleAllPageRowsSelectedProps,
81
93
  getToggleAllRowsSelectedProps: getToggleAllRowsSelectedProps,
82
- isAllRowsSelected: isAllRowsSelected
94
+ isAllRowsSelected: isAllRowsSelected,
95
+ withStickyColumn: withStickyColumn,
96
+ columns: columns
83
97
  };
84
98
  return /*#__PURE__*/_react.default.createElement(_DatagridSelectAllWithToggle.default, props);
85
99
  };
@@ -33,7 +33,6 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
33
33
 
34
34
  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) { (0, _defineProperty2.default)(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; }
35
35
 
36
- var TableSelectRow = _react2.DataTable.TableSelectRow;
37
36
  var blockClass = "".concat(_settings.pkg.prefix, "--datagrid");
38
37
 
39
38
  var useSelectRows = function useSelectRows(hooks) {
@@ -52,6 +51,11 @@ var useSelectRows = function useSelectRows(hooks) {
52
51
  };
53
52
 
54
53
  hooks.useInstance.push(useInstance);
54
+ hooks.useInstance.push(function (instance) {
55
+ Object.assign(instance, {
56
+ withSelectRows: true
57
+ });
58
+ });
55
59
  hooks.visibleColumns.push(function (columns) {
56
60
  return [{
57
61
  id: _commonColumnIds.selectionColumnId,
@@ -77,6 +81,8 @@ var useHighlightSelection = function useHighlightSelection(hooks) {
77
81
  };
78
82
 
79
83
  var SelectRow = function SelectRow(datagridState) {
84
+ var _columns$;
85
+
80
86
  var _datagridState$isFetc = datagridState.isFetching,
81
87
  isFetching = _datagridState$isFetc === void 0 ? false : _datagridState$isFetc,
82
88
  tableId = datagridState.tableId,
@@ -84,7 +90,9 @@ var SelectRow = function SelectRow(datagridState) {
84
90
  cell = datagridState.cell,
85
91
  radio = datagridState.radio,
86
92
  toggleAllRowsSelected = datagridState.toggleAllRowsSelected,
87
- onRadioSelect = datagridState.onRadioSelect;
93
+ onRadioSelect = datagridState.onRadioSelect,
94
+ columns = datagridState.columns,
95
+ withStickyColumn = datagridState.withStickyColumn;
88
96
  var selectDisabled = isFetching || row.getRowProps().selectDisabled;
89
97
 
90
98
  var _row$getToggleRowSele = row.getToggleRowSelectedProps(),
@@ -92,7 +100,8 @@ var SelectRow = function SelectRow(datagridState) {
92
100
  selectProps = (0, _objectWithoutProperties2.default)(_row$getToggleRowSele, _excluded);
93
101
 
94
102
  var cellProps = cell.getCellProps();
95
- return /*#__PURE__*/_react.default.createElement(TableSelectRow, (0, _extends2.default)({}, cellProps, selectProps, {
103
+ var isFirstColumnStickyLeft = ((_columns$ = columns[0]) === null || _columns$ === void 0 ? void 0 : _columns$.sticky) === 'left' && withStickyColumn;
104
+ return /*#__PURE__*/_react.default.createElement(_react2.TableSelectRow, (0, _extends2.default)({}, cellProps, selectProps, {
96
105
  radio: radio,
97
106
  onSelect: function onSelect(e) {
98
107
  e.stopPropagation(); // avoid triggering onRowClick
@@ -109,7 +118,7 @@ var SelectRow = function SelectRow(datagridState) {
109
118
  },
110
119
  id: "".concat(tableId, "-").concat(row.index),
111
120
  name: "".concat(tableId, "-").concat(row.index, "-name"),
112
- className: (0, _classnames.default)("".concat(blockClass, "__checkbox-cell"), cellProps.className),
121
+ className: (0, _classnames.default)("".concat(blockClass, "__checkbox-cell"), cellProps.className, (0, _defineProperty2.default)({}, "".concat(blockClass, "__checkbox-cell-sticky-left"), isFirstColumnStickyLeft)),
113
122
  ariaLabel: "".concat(tableId, "-row-").concat(row.index) // TODO: aria label should be i18n'ed
114
123
  ,
115
124
  disabled: selectDisabled
@@ -15,14 +15,19 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
15
15
 
16
16
  var _react = _interopRequireDefault(require("react"));
17
17
 
18
+ var _classnames = _interopRequireDefault(require("classnames"));
19
+
20
+ var _settings = require("../../settings");
21
+
18
22
  var _react2 = require("@carbon/react");
19
23
 
20
- var _iconsReact = require("@carbon/icons-react");
24
+ var _icons = require("@carbon/react/icons");
21
25
 
22
26
  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; }
23
27
 
24
28
  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) { (0, _defineProperty2.default)(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; }
25
29
 
30
+ var blockClass = "".concat(_settings.pkg.prefix, "--datagrid");
26
31
  var ordering = {
27
32
  ASC: 'ASC',
28
33
  DESC: 'DESC',
@@ -54,28 +59,30 @@ var useSortableColumns = function useSortableColumns(hooks) {
54
59
  if (col.isSorted) {
55
60
  switch (col.isSortedDesc) {
56
61
  case false:
57
- return /*#__PURE__*/_react.default.createElement(_iconsReact.ArrowUp, (0, _extends2.default)({
62
+ return /*#__PURE__*/_react.default.createElement(_icons.ArrowUp, (0, _extends2.default)({
58
63
  size: 16
59
64
  }, props));
60
65
 
61
66
  case true:
62
- return /*#__PURE__*/_react.default.createElement(_iconsReact.ArrowDown, (0, _extends2.default)({
67
+ return /*#__PURE__*/_react.default.createElement(_icons.ArrowDown, (0, _extends2.default)({
63
68
  size: 16
64
69
  }, props));
65
70
 
66
71
  default:
67
- return /*#__PURE__*/_react.default.createElement(_iconsReact.ArrowsVertical, (0, _extends2.default)({
72
+ return /*#__PURE__*/_react.default.createElement(_icons.ArrowsVertical, (0, _extends2.default)({
68
73
  size: 16
69
74
  }, props));
70
75
  }
71
76
  }
72
77
 
73
- return /*#__PURE__*/_react.default.createElement(_iconsReact.ArrowsVertical, (0, _extends2.default)({
78
+ return /*#__PURE__*/_react.default.createElement(_icons.ArrowsVertical, (0, _extends2.default)({
74
79
  size: 16
75
80
  }, props));
76
81
  };
77
82
 
78
83
  var Header = function Header(headerProp) {
84
+ var _cx;
85
+
79
86
  return column.disableSortBy === true ? column.Header : /*#__PURE__*/_react.default.createElement(_react2.Button, {
80
87
  onClick: function onClick() {
81
88
  return onSortClick(headerProp.column);
@@ -83,12 +90,14 @@ var useSortableColumns = function useSortableColumns(hooks) {
83
90
  kind: "ghost",
84
91
  renderIcon: function renderIcon(props) {
85
92
  return icon(headerProp.column, props);
86
- }
93
+ },
94
+ className: (0, _classnames.default)("".concat(_settings.carbon.prefix, "--table-sort ").concat(blockClass, "--table-sort"), (_cx = {}, (0, _defineProperty2.default)(_cx, "".concat(blockClass, "--table-sort--desc"), headerProp.column.isSortedDesc), (0, _defineProperty2.default)(_cx, "".concat(blockClass, "--table-sort--asc"), headerProp.column.isSortedDesc === false), _cx))
87
95
  }, column.Header);
88
96
  };
89
97
 
90
98
  return _objectSpread(_objectSpread({}, column), {}, {
91
- Header: Header
99
+ Header: Header,
100
+ minWidth: column.disableSortBy === true ? 0 : 90
92
101
  });
93
102
  });
94
103
  return (0, _toConsumableArray2.default)(sortableColumns);
@@ -23,6 +23,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
23
23
 
24
24
  var blockClass = "".concat(_settings.pkg.prefix, "--datagrid");
25
25
  var styleClassPrefix = "".concat(blockClass, "__right-sticky-column");
26
+ var leftStickyStyleClassPrefix = "".concat(blockClass, "__left-sticky-column");
26
27
  var OFFSET_SCROLL_CLASS = "".concat(styleClassPrefix, "-offset-scroll");
27
28
 
28
29
  var useStickyColumn = function useStickyColumn(hooks) {
@@ -150,6 +151,16 @@ var changeProps = function changeProps(elementName, headerCellRef, props, data)
150
151
  })];
151
152
  }
152
153
 
154
+ if (column.sticky === 'left') {
155
+ var _data$instance, _cx2;
156
+
157
+ return [props, _objectSpread({
158
+ className: (0, _classnames.default)((_cx2 = {}, (0, _defineProperty2.default)(_cx2, "".concat(leftStickyStyleClassPrefix, "-").concat(elementName), true), (0, _defineProperty2.default)(_cx2, "".concat(leftStickyStyleClassPrefix, "-").concat(elementName, "--with-extra-select-column"), data === null || data === void 0 ? void 0 : (_data$instance = data.instance) === null || _data$instance === void 0 ? void 0 : _data$instance.withSelectRows), _cx2))
159
+ }, headerCellRef && {
160
+ ref: headerCellRef
161
+ })];
162
+ }
163
+
153
164
  return [props];
154
165
  };
155
166