@carbon/ibm-products 2.0.0-rc.1 → 2.0.0-rc.11

Sign up to get free protection for your applications and to get access to all the features.
Files changed (357) hide show
  1. package/README.md +2 -2
  2. package/css/index-full-carbon.css +1294 -331
  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 +789 -171
  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 +1171 -416
  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 +1068 -262
  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 +72 -31
  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 +15 -1
  34. package/es/components/AddSelect/index.js +1 -1
  35. package/es/components/BreadcrumbWithOverflow/BreadcrumbWithOverflow.js +4 -6
  36. package/es/components/Card/Card.js +16 -6
  37. package/es/components/Card/CardFooter.js +3 -1
  38. package/es/components/Card/CardHeader.js +20 -1
  39. package/es/components/ComboButton/ComboButton.js +1 -1
  40. package/es/components/CreateFullPage/CreateFullPage.js +4 -1
  41. package/es/components/CreateTearsheet/CreateTearsheet.js +8 -1
  42. package/es/components/CreateTearsheetNarrow/CreateTearsheetNarrow.js +2 -2
  43. package/es/components/DataSpreadsheet/DataSpreadsheet.js +65 -15
  44. package/es/components/DataSpreadsheet/DataSpreadsheetBody.js +2 -1
  45. package/es/components/DataSpreadsheet/DataSpreadsheetHeader.js +7 -0
  46. package/es/components/DataSpreadsheet/hooks/useMultipleKeyTracking.js +6 -5
  47. package/es/components/DataSpreadsheet/utils/handleCellDeletion.js +42 -0
  48. package/es/components/DataSpreadsheet/utils/handleMultipleKeys.js +1 -1
  49. package/es/components/Datagrid/Datagrid/Datagrid.js +13 -37
  50. package/es/components/Datagrid/Datagrid/DatagridContent.js +159 -0
  51. package/es/components/Datagrid/Datagrid/DatagridEmptyBody.js +17 -4
  52. package/es/components/Datagrid/Datagrid/DatagridExpandedRow.js +9 -1
  53. package/es/components/Datagrid/Datagrid/DatagridRow.js +44 -5
  54. package/es/components/Datagrid/Datagrid/DatagridSelectAll.js +10 -3
  55. package/es/components/Datagrid/Datagrid/DatagridSelectAllWithToggle.js +13 -4
  56. package/es/components/Datagrid/Datagrid/DatagridToolbar.js +29 -8
  57. package/es/components/Datagrid/Datagrid/DatagridVirtualBody.js +31 -9
  58. package/es/components/Datagrid/Datagrid/DraggableElement.js +6 -2
  59. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/Actions.js +5 -45
  60. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/ButtonWrapper.js +4 -1
  61. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/Columns.js +36 -10
  62. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsModal.js +62 -26
  63. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/ModalWrapper.js +3 -2
  64. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +424 -0
  65. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.js +83 -0
  66. package/es/components/Datagrid/Datagrid/addons/Filtering/constants.js +20 -0
  67. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useInitialStateFromFilters.js +22 -0
  68. package/es/components/Datagrid/Datagrid/addons/Filtering/index.js +7 -0
  69. package/es/components/Datagrid/Datagrid/addons/Filtering/utils.js +38 -0
  70. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/InlineEditButton.js +60 -0
  71. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/index.js +1 -0
  72. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +537 -0
  73. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/index.js +1 -0
  74. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/InlineEditContext.js +112 -0
  75. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/getCellIdAsObject.js +27 -0
  76. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/index.js +1 -0
  77. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/returnUpdatedActiveCell.js +39 -0
  78. package/es/components/Datagrid/Datagrid/addons/InlineEdit/handleGridFocus.js +19 -0
  79. package/es/components/Datagrid/Datagrid/addons/InlineEdit/handleGridKeyPress.js +263 -0
  80. package/es/components/Datagrid/Datagrid/addons/InlineEdit/handleMultipleKeys.js +87 -0
  81. package/es/components/Datagrid/Datagrid/addons/RowSize/RowSizeDropdown.js +17 -14
  82. package/es/components/Datagrid/Datagrid/addons/RowSize/RowSizeRadioGroup.js +13 -36
  83. package/es/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/CustomizeColumnStory.js +0 -0
  84. package/es/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/LeftPanelStory.js +0 -0
  85. package/es/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/RowSizeDropdownStory.js +0 -0
  86. package/es/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/SelectAllWithToggleStory.js +0 -0
  87. package/es/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/StickyActionsColumnStory.js +0 -0
  88. package/es/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/common.js +0 -0
  89. package/es/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/index.js +0 -0
  90. package/es/components/Datagrid/index.js +4 -1
  91. package/es/components/Datagrid/useActionsColumn.js +28 -12
  92. package/es/components/Datagrid/useColumnOrder.js +8 -0
  93. package/es/components/Datagrid/useCustomizeColumns.js +5 -0
  94. package/es/components/Datagrid/useDefaultStringRenderer.js +4 -1
  95. package/es/components/Datagrid/useDisableSelectRows.js +6 -2
  96. package/es/components/Datagrid/useExpandedRow.js +0 -1
  97. package/es/components/Datagrid/useFiltering.js +90 -0
  98. package/es/components/Datagrid/useInfiniteScroll.js +5 -2
  99. package/es/components/Datagrid/useInlineEdit.js +71 -0
  100. package/es/components/Datagrid/useNestedRowExpander.js +47 -0
  101. package/es/components/Datagrid/useNestedRows.js +16 -4
  102. package/es/components/Datagrid/useParentDimensions.js +3 -1
  103. package/es/components/Datagrid/useRowExpander.js +12 -4
  104. package/es/components/Datagrid/useRowSize.js +17 -6
  105. package/es/components/Datagrid/useSelectAllToggle.js +17 -4
  106. package/es/components/Datagrid/useSelectRows.js +12 -2
  107. package/es/components/Datagrid/useSortableColumns.js +1 -1
  108. package/es/components/Datagrid/useStickyColumn.js +11 -0
  109. package/es/components/Datagrid/utils/DatagridActions.js +223 -0
  110. package/es/components/Datagrid/utils/DatagridPagination.js +33 -0
  111. package/es/components/Datagrid/utils/Wrapper.js +21 -0
  112. package/es/components/Datagrid/utils/getArgTypes.js +94 -0
  113. package/es/components/Datagrid/utils/getInlineEditColumns.js +158 -0
  114. package/es/components/Datagrid/utils/makeData.js +55 -2
  115. package/es/components/EditUpdateCards/EditUpdateCards.js +144 -0
  116. package/es/components/EditUpdateCards/index.js +7 -0
  117. package/es/components/ExportModal/ExportModal.js +1 -1
  118. package/es/components/FilterSummary/FilterSummary.js +54 -0
  119. package/es/components/FilterSummary/index.js +7 -0
  120. package/es/components/ImportModal/ImportModal.js +3 -3
  121. package/es/components/InlineEdit/InlineEdit.js +28 -426
  122. package/es/components/InlineEditV1/InlineEditV1.js +447 -0
  123. package/es/components/InlineEditV1/index.js +7 -0
  124. package/es/components/InlineEditV2/InlineEditV2.js +289 -0
  125. package/es/components/InlineEditV2/index.js +7 -0
  126. package/es/components/ModifiedTabs/ModifiedTabLabelNew.js +1 -1
  127. package/es/components/ModifiedTabs/ModifiedTabLabelWithClose.js +1 -1
  128. package/es/components/MultiAddSelect/MultiAddSelect.js +14 -7
  129. package/es/components/MultiAddSelect/index.js +6 -0
  130. package/es/components/NotificationsPanel/NotificationsPanel.js +1 -1
  131. package/es/components/OptionsTile/OptionsTile.js +29 -13
  132. package/es/components/PageHeader/PageHeader.js +4 -4
  133. package/es/components/PageHeader/PageHeaderTitle.js +1 -1
  134. package/es/components/ProductiveCard/ProductiveCard.js +5 -0
  135. package/es/components/RemoveModal/RemoveModal.js +20 -3
  136. package/es/components/Saving/Saving.js +1 -1
  137. package/es/components/SidePanel/SidePanel.js +45 -52
  138. package/es/components/SidePanel/motion/variants.js +45 -0
  139. package/es/components/SingleAddSelect/SingleAddSelect.js +6 -0
  140. package/es/components/SingleAddSelect/index.js +6 -0
  141. package/es/components/StatusIcon/StatusIcon.js +1 -1
  142. package/es/components/UserProfileImage/UserProfileImage.js +1 -1
  143. package/es/components/WebTerminal/WebTerminal.js +2 -2
  144. package/es/components/WebTerminal/WebTerminalContentWrapper.js +1 -1
  145. package/es/components/WebTerminal/hooks/index.js +6 -0
  146. package/es/components/WebTerminal/index.js +6 -0
  147. package/es/components/WebTerminal/preview-components/Navigation.js +7 -1
  148. package/es/components/WebTerminal/preview-components/documentationLinks.js +6 -0
  149. package/es/components/WebTerminal/preview-components/index.js +7 -0
  150. package/es/components/index.js +3 -2
  151. package/es/global/js/hooks/index.js +2 -1
  152. package/es/global/js/hooks/useClickOutside.js +1 -1
  153. package/es/global/js/hooks/useControllableState.js +83 -0
  154. package/es/global/js/hooks/useResetCreateComponent.js +6 -2
  155. package/es/global/js/package-settings.js +7 -4
  156. package/es/global/js/utils/getBezierValues.js +20 -0
  157. package/es/global/js/utils/getNumberOfHiddenSteps.js +19 -0
  158. package/es/global/js/utils/motionConstants.js +45 -0
  159. package/es/global/js/utils/rangeWithCallback.js +13 -0
  160. package/es/global/js/utils/story-helper.js +5 -1
  161. package/es/global/js/utils/uuidv4.spec.js +4 -0
  162. package/lib/components/APIKeyModal/APIKeyModal.js +4 -4
  163. package/lib/components/ActionBar/ActionBarOverflowItems.js +1 -0
  164. package/lib/components/ActionSet/ActionSet.js +7 -3
  165. package/lib/components/AddSelect/AddSelect.js +5 -6
  166. package/lib/components/AddSelect/AddSelectBody.js +67 -30
  167. package/lib/components/AddSelect/AddSelectBreadcrumbs.js +15 -4
  168. package/lib/components/AddSelect/AddSelectColumn.js +7 -7
  169. package/lib/components/AddSelect/AddSelectFilter.js +9 -6
  170. package/lib/components/AddSelect/AddSelectList.js +65 -30
  171. package/lib/components/AddSelect/AddSelectMetaPanel.js +8 -2
  172. package/lib/components/AddSelect/AddSelectSidebar.js +4 -1
  173. package/lib/components/AddSelect/AddSelectSort.js +5 -5
  174. package/lib/components/AddSelect/add-select-utils.js +9 -2
  175. package/lib/components/AddSelect/hooks/useItemSort.js +6 -0
  176. package/lib/components/AddSelect/hooks/useParentSelect.js +6 -0
  177. package/lib/components/AddSelect/hooks/usePath.js +9 -1
  178. package/lib/components/BreadcrumbWithOverflow/BreadcrumbWithOverflow.js +6 -6
  179. package/lib/components/Card/Card.js +16 -6
  180. package/lib/components/Card/CardFooter.js +3 -1
  181. package/lib/components/Card/CardHeader.js +21 -1
  182. package/lib/components/ComboButton/ComboButton.js +3 -3
  183. package/lib/components/CreateFullPage/CreateFullPage.js +4 -1
  184. package/lib/components/CreateTearsheet/CreateTearsheet.js +9 -1
  185. package/lib/components/CreateTearsheetNarrow/CreateTearsheetNarrow.js +2 -2
  186. package/lib/components/DataSpreadsheet/DataSpreadsheet.js +65 -14
  187. package/lib/components/DataSpreadsheet/DataSpreadsheetBody.js +2 -1
  188. package/lib/components/DataSpreadsheet/DataSpreadsheetHeader.js +7 -0
  189. package/lib/components/DataSpreadsheet/hooks/useMultipleKeyTracking.js +6 -5
  190. package/lib/components/DataSpreadsheet/utils/handleCellDeletion.js +53 -0
  191. package/lib/components/DataSpreadsheet/utils/handleMultipleKeys.js +1 -1
  192. package/lib/components/Datagrid/Datagrid/Datagrid.js +16 -44
  193. package/lib/components/Datagrid/Datagrid/DatagridContent.js +193 -0
  194. package/lib/components/Datagrid/Datagrid/DatagridEmptyBody.js +17 -4
  195. package/lib/components/Datagrid/Datagrid/DatagridExpandedRow.js +9 -1
  196. package/lib/components/Datagrid/Datagrid/DatagridRow.js +45 -5
  197. package/lib/components/Datagrid/Datagrid/DatagridSelectAll.js +12 -3
  198. package/lib/components/Datagrid/Datagrid/DatagridSelectAllWithToggle.js +16 -5
  199. package/lib/components/Datagrid/Datagrid/DatagridToolbar.js +32 -8
  200. package/lib/components/Datagrid/Datagrid/DatagridVirtualBody.js +33 -9
  201. package/lib/components/Datagrid/Datagrid/DraggableElement.js +7 -3
  202. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/Actions.js +12 -47
  203. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/ButtonWrapper.js +5 -2
  204. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/Columns.js +48 -25
  205. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsModal.js +60 -25
  206. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/ModalWrapper.js +3 -2
  207. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +443 -0
  208. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.js +104 -0
  209. package/lib/components/Datagrid/Datagrid/addons/Filtering/constants.js +35 -0
  210. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useInitialStateFromFilters.js +33 -0
  211. package/lib/components/Datagrid/Datagrid/addons/Filtering/index.js +15 -0
  212. package/lib/components/Datagrid/Datagrid/addons/Filtering/utils.js +47 -0
  213. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/InlineEditButton.js +76 -0
  214. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/index.js +13 -0
  215. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +562 -0
  216. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/index.js +13 -0
  217. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/InlineEditContext.js +129 -0
  218. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/getCellIdAsObject.js +36 -0
  219. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/index.js +19 -0
  220. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/returnUpdatedActiveCell.js +45 -0
  221. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/handleGridFocus.js +28 -0
  222. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/handleGridKeyPress.js +272 -0
  223. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/handleMultipleKeys.js +100 -0
  224. package/lib/components/Datagrid/Datagrid/addons/RowSize/RowSizeDropdown.js +17 -13
  225. package/lib/components/Datagrid/Datagrid/addons/RowSize/RowSizeRadioGroup.js +13 -35
  226. package/lib/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/CustomizeColumnStory.js +0 -0
  227. package/lib/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/LeftPanelStory.js +0 -0
  228. package/lib/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/RowSizeDropdownStory.js +0 -0
  229. package/lib/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/SelectAllWithToggleStory.js +0 -0
  230. package/lib/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/StickyActionsColumnStory.js +0 -0
  231. package/lib/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/common.js +0 -0
  232. package/lib/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/index.js +0 -0
  233. package/lib/components/Datagrid/index.js +25 -1
  234. package/lib/components/Datagrid/useActionsColumn.js +28 -13
  235. package/lib/components/Datagrid/useColumnOrder.js +17 -0
  236. package/lib/components/Datagrid/useCustomizeColumns.js +5 -0
  237. package/lib/components/Datagrid/useDefaultStringRenderer.js +5 -1
  238. package/lib/components/Datagrid/useDisableSelectRows.js +6 -2
  239. package/lib/components/Datagrid/useExpandedRow.js +0 -1
  240. package/lib/components/Datagrid/useFiltering.js +94 -0
  241. package/lib/components/Datagrid/useInfiniteScroll.js +5 -2
  242. package/lib/components/Datagrid/useInlineEdit.js +85 -0
  243. package/lib/components/Datagrid/useNestedRowExpander.js +63 -0
  244. package/lib/components/Datagrid/useNestedRows.js +17 -4
  245. package/lib/components/Datagrid/useParentDimensions.js +3 -1
  246. package/lib/components/Datagrid/useRowExpander.js +17 -5
  247. package/lib/components/Datagrid/useRowSize.js +18 -13
  248. package/lib/components/Datagrid/useSelectAllToggle.js +18 -4
  249. package/lib/components/Datagrid/useSelectRows.js +12 -2
  250. package/lib/components/Datagrid/useSortableColumns.js +5 -5
  251. package/lib/components/Datagrid/useStickyColumn.js +11 -0
  252. package/lib/components/Datagrid/utils/DatagridActions.js +248 -0
  253. package/lib/components/Datagrid/utils/DatagridPagination.js +46 -0
  254. package/lib/components/Datagrid/utils/Wrapper.js +33 -0
  255. package/lib/components/Datagrid/utils/getArgTypes.js +102 -0
  256. package/lib/components/Datagrid/utils/getInlineEditColumns.js +173 -0
  257. package/lib/components/Datagrid/utils/makeData.js +57 -3
  258. package/lib/components/EditUpdateCards/EditUpdateCards.js +152 -0
  259. package/lib/components/EditUpdateCards/index.js +13 -0
  260. package/lib/components/ExportModal/ExportModal.js +3 -3
  261. package/lib/components/FilterSummary/FilterSummary.js +72 -0
  262. package/lib/components/FilterSummary/index.js +15 -0
  263. package/lib/components/ImportModal/ImportModal.js +4 -4
  264. package/lib/components/InlineEdit/InlineEdit.js +27 -426
  265. package/lib/components/InlineEditV1/InlineEditV1.js +464 -0
  266. package/lib/components/InlineEditV1/index.js +13 -0
  267. package/lib/components/InlineEditV2/InlineEditV2.js +309 -0
  268. package/lib/components/InlineEditV2/index.js +13 -0
  269. package/lib/components/ModifiedTabs/ModifiedTabLabelNew.js +2 -2
  270. package/lib/components/ModifiedTabs/ModifiedTabLabelWithClose.js +3 -3
  271. package/lib/components/MultiAddSelect/MultiAddSelect.js +14 -7
  272. package/lib/components/NotificationsPanel/NotificationsPanel.js +8 -8
  273. package/lib/components/OptionsTile/OptionsTile.js +34 -17
  274. package/lib/components/PageHeader/PageHeader.js +5 -5
  275. package/lib/components/PageHeader/PageHeaderTitle.js +1 -1
  276. package/lib/components/ProductiveCard/ProductiveCard.js +5 -0
  277. package/lib/components/RemoveModal/RemoveModal.js +20 -3
  278. package/lib/components/Saving/Saving.js +5 -5
  279. package/lib/components/SidePanel/SidePanel.js +48 -53
  280. package/lib/components/SidePanel/motion/variants.js +55 -0
  281. package/lib/components/SingleAddSelect/SingleAddSelect.js +6 -0
  282. package/lib/components/StatusIcon/StatusIcon.js +45 -45
  283. package/lib/components/UserProfileImage/UserProfileImage.js +7 -7
  284. package/lib/components/WebTerminal/WebTerminal.js +3 -3
  285. package/lib/components/WebTerminal/hooks/index.js +6 -0
  286. package/lib/components/WebTerminal/preview-components/Navigation.js +10 -4
  287. package/lib/components/WebTerminal/preview-components/documentationLinks.js +6 -0
  288. package/lib/components/index.js +21 -1
  289. package/lib/global/js/hooks/index.js +9 -1
  290. package/lib/global/js/hooks/useClickOutside.js +1 -1
  291. package/lib/global/js/hooks/useControllableState.js +94 -0
  292. package/lib/global/js/hooks/useResetCreateComponent.js +7 -2
  293. package/lib/global/js/package-settings.js +7 -4
  294. package/lib/global/js/utils/getBezierValues.js +29 -0
  295. package/lib/global/js/utils/getNumberOfHiddenSteps.js +28 -0
  296. package/lib/global/js/utils/motionConstants.js +55 -0
  297. package/lib/global/js/utils/rangeWithCallback.js +22 -0
  298. package/lib/global/js/utils/story-helper.js +5 -1
  299. package/lib/global/js/utils/uuidv4.spec.js +4 -0
  300. package/package.json +18 -16
  301. package/scss/components/ActionSet/_action-set.scss +9 -4
  302. package/scss/components/AddSelect/_add-select.scss +132 -34
  303. package/scss/components/AddSelect/_index.scss +1 -1
  304. package/scss/components/AddSelect/_storybook-styles.scss +1 -1
  305. package/scss/components/Card/_card.scss +1 -0
  306. package/scss/components/Cascade/_cascade.scss +1 -1
  307. package/scss/components/CreateTearsheet/_create-tearsheet.scss +2 -0
  308. package/scss/components/Datagrid/_datagrid.scss +7 -1
  309. package/scss/components/Datagrid/_storybook-styles.scss +29 -5
  310. package/scss/components/Datagrid/styles/_datagrid.scss +105 -18
  311. package/scss/components/Datagrid/styles/_draggableElement.scss +26 -9
  312. package/scss/components/Datagrid/styles/_index.scss +2 -0
  313. package/scss/components/Datagrid/styles/_useActionsColumn.scss +14 -0
  314. package/scss/components/Datagrid/styles/_useExpandedRow.scss +57 -11
  315. package/scss/components/Datagrid/styles/_useInlineEdit.scss +419 -0
  316. package/scss/components/Datagrid/styles/_useNestedRows.scss +33 -1
  317. package/scss/components/Datagrid/styles/_useStickyColumn.scss +31 -2
  318. package/scss/components/Datagrid/styles/addons/_CustomizeColumnsModal.scss +47 -6
  319. package/scss/components/Datagrid/styles/addons/_FilterFlyout.scss +87 -0
  320. package/scss/components/Datagrid/styles/addons/_RowSizeDropdown.scss +9 -1
  321. package/scss/components/EditUpdateCards/_carbon-imports.scss +9 -0
  322. package/scss/components/EditUpdateCards/_edit-update-cards.scss +85 -0
  323. package/scss/components/EditUpdateCards/_index-with-carbon.scss +9 -0
  324. package/scss/components/EditUpdateCards/_index.scss +8 -0
  325. package/scss/components/EditUpdateCards/_storybook-styles.scss +55 -0
  326. package/scss/components/FilterSummary/_filter-summary.scss +20 -0
  327. package/scss/components/FilterSummary/_index.scss +10 -0
  328. package/scss/components/FilterSummary/_storybook-styles.scss +14 -0
  329. package/scss/components/{InlineEdit → InlineEditV1}/_carbon-imports.scss +0 -0
  330. package/scss/components/{InlineEdit → InlineEditV1}/_index-with-carbon.scss +1 -1
  331. package/scss/components/{InlineEdit → InlineEditV1}/_index.scss +1 -1
  332. package/scss/components/{InlineEdit/_inline-edit.scss → InlineEditV1/_inline-edit-v1.scss} +4 -2
  333. package/scss/components/{InlineEdit → InlineEditV1}/_storybook-styles.scss +0 -0
  334. package/scss/components/InlineEditV2/_carbon-imports.scss +9 -0
  335. package/scss/components/InlineEditV2/_index-with-carbon.scss +9 -0
  336. package/scss/components/InlineEditV2/_index.scss +10 -0
  337. package/scss/components/InlineEditV2/_inline-edit-v2.scss +83 -0
  338. package/scss/components/InlineEditV2/_storybook-styles.scss +9 -0
  339. package/scss/components/MultiAddSelect/_multi-add-select.scss +7 -0
  340. package/scss/components/MultiAddSelect/_storybook-styles.scss +1 -1
  341. package/scss/components/NotificationsPanel/_notifications-panel.scss +3 -6
  342. package/scss/components/RemoveModal/_remove-modal.scss +0 -4
  343. package/scss/components/SidePanel/_side-panel.scss +3 -82
  344. package/scss/components/SidePanel/_storybook-styles.scss +6 -1
  345. package/scss/components/SingleAddSelect/_carbon-imports.scss +1 -1
  346. package/scss/components/SingleAddSelect/_index-with-carbon.scss +1 -1
  347. package/scss/components/SingleAddSelect/_index.scss +7 -0
  348. package/scss/components/SingleAddSelect/_single-add-select.scss +7 -0
  349. package/scss/components/SingleAddSelect/_storybook-styles.scss +1 -1
  350. package/scss/components/Tearsheet/_tearsheet.scss +2 -2
  351. package/scss/components/WebTerminal/_carbon-imports.scss +6 -0
  352. package/scss/components/WebTerminal/_index.scss +7 -0
  353. package/scss/components/WebTerminal/_storybook-styles.scss +7 -0
  354. package/scss/components/_index-released-only-with-carbon.scss +1 -1
  355. package/scss/components/_index-released-only.scss +2 -1
  356. package/scss/components/_index-with-carbon.scss +3 -1
  357. package/scss/components/_index.scss +4 -1
@@ -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
  };
@@ -52,6 +52,11 @@ var useSelectRows = function useSelectRows(hooks) {
52
52
  };
53
53
 
54
54
  hooks.useInstance.push(useInstance);
55
+ hooks.useInstance.push(function (instance) {
56
+ Object.assign(instance, {
57
+ withSelectRows: true
58
+ });
59
+ });
55
60
  hooks.visibleColumns.push(function (columns) {
56
61
  return [{
57
62
  id: _commonColumnIds.selectionColumnId,
@@ -77,6 +82,8 @@ var useHighlightSelection = function useHighlightSelection(hooks) {
77
82
  };
78
83
 
79
84
  var SelectRow = function SelectRow(datagridState) {
85
+ var _columns$;
86
+
80
87
  var _datagridState$isFetc = datagridState.isFetching,
81
88
  isFetching = _datagridState$isFetc === void 0 ? false : _datagridState$isFetc,
82
89
  tableId = datagridState.tableId,
@@ -84,7 +91,9 @@ var SelectRow = function SelectRow(datagridState) {
84
91
  cell = datagridState.cell,
85
92
  radio = datagridState.radio,
86
93
  toggleAllRowsSelected = datagridState.toggleAllRowsSelected,
87
- onRadioSelect = datagridState.onRadioSelect;
94
+ onRadioSelect = datagridState.onRadioSelect,
95
+ columns = datagridState.columns,
96
+ withStickyColumn = datagridState.withStickyColumn;
88
97
  var selectDisabled = isFetching || row.getRowProps().selectDisabled;
89
98
 
90
99
  var _row$getToggleRowSele = row.getToggleRowSelectedProps(),
@@ -92,6 +101,7 @@ var SelectRow = function SelectRow(datagridState) {
92
101
  selectProps = (0, _objectWithoutProperties2.default)(_row$getToggleRowSele, _excluded);
93
102
 
94
103
  var cellProps = cell.getCellProps();
104
+ var isFirstColumnStickyLeft = ((_columns$ = columns[0]) === null || _columns$ === void 0 ? void 0 : _columns$.sticky) === 'left' && withStickyColumn;
95
105
  return /*#__PURE__*/_react.default.createElement(TableSelectRow, (0, _extends2.default)({}, cellProps, selectProps, {
96
106
  radio: radio,
97
107
  onSelect: function onSelect(e) {
@@ -109,7 +119,7 @@ var SelectRow = function SelectRow(datagridState) {
109
119
  },
110
120
  id: "".concat(tableId, "-").concat(row.index),
111
121
  name: "".concat(tableId, "-").concat(row.index, "-name"),
112
- className: (0, _classnames.default)("".concat(blockClass, "__checkbox-cell"), cellProps.className),
122
+ className: (0, _classnames.default)("".concat(blockClass, "__checkbox-cell"), cellProps.className, (0, _defineProperty2.default)({}, "".concat(blockClass, "__checkbox-cell-sticky-left"), isFirstColumnStickyLeft)),
113
123
  ariaLabel: "".concat(tableId, "-row-").concat(row.index) // TODO: aria label should be i18n'ed
114
124
  ,
115
125
  disabled: selectDisabled
@@ -17,7 +17,7 @@ var _react = _interopRequireDefault(require("react"));
17
17
 
18
18
  var _react2 = require("@carbon/react");
19
19
 
20
- var _iconsReact = require("@carbon/icons-react");
20
+ var _icons = require("@carbon/react/icons");
21
21
 
22
22
  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
23
 
@@ -54,23 +54,23 @@ var useSortableColumns = function useSortableColumns(hooks) {
54
54
  if (col.isSorted) {
55
55
  switch (col.isSortedDesc) {
56
56
  case false:
57
- return /*#__PURE__*/_react.default.createElement(_iconsReact.ArrowUp, (0, _extends2.default)({
57
+ return /*#__PURE__*/_react.default.createElement(_icons.ArrowUp, (0, _extends2.default)({
58
58
  size: 16
59
59
  }, props));
60
60
 
61
61
  case true:
62
- return /*#__PURE__*/_react.default.createElement(_iconsReact.ArrowDown, (0, _extends2.default)({
62
+ return /*#__PURE__*/_react.default.createElement(_icons.ArrowDown, (0, _extends2.default)({
63
63
  size: 16
64
64
  }, props));
65
65
 
66
66
  default:
67
- return /*#__PURE__*/_react.default.createElement(_iconsReact.ArrowsVertical, (0, _extends2.default)({
67
+ return /*#__PURE__*/_react.default.createElement(_icons.ArrowsVertical, (0, _extends2.default)({
68
68
  size: 16
69
69
  }, props));
70
70
  }
71
71
  }
72
72
 
73
- return /*#__PURE__*/_react.default.createElement(_iconsReact.ArrowsVertical, (0, _extends2.default)({
73
+ return /*#__PURE__*/_react.default.createElement(_icons.ArrowsVertical, (0, _extends2.default)({
74
74
  size: 16
75
75
  }, props));
76
76
  };
@@ -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
 
@@ -0,0 +1,248 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.DatagridActions = void 0;
11
+
12
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
+
14
+ var _react = _interopRequireWildcard(require("react"));
15
+
16
+ var _react2 = require("@carbon/react");
17
+
18
+ var _icons = require("@carbon/react/icons");
19
+
20
+ var _addonActions = require("@storybook/addon-actions");
21
+
22
+ var _settings = require("../../../settings");
23
+
24
+ var _ButtonMenu = require("../../ButtonMenu");
25
+
26
+ var _Filtering = require("../Datagrid/addons/Filtering");
27
+
28
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
29
+
30
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
31
+
32
+ /**
33
+ * Copyright IBM Corp. 2020, 2022
34
+ *
35
+ * This source code is licensed under the Apache-2.0 license found in the
36
+ * LICENSE file in the root directory of this source tree.
37
+ */
38
+ var blockClass = "".concat(_settings.pkg.prefix, "--datagrid");
39
+
40
+ var DatagridActions = function DatagridActions(datagridState) {
41
+ var selectedFlatRows = datagridState.selectedFlatRows,
42
+ setGlobalFilter = datagridState.setGlobalFilter,
43
+ CustomizeColumnsButton = datagridState.CustomizeColumnsButton,
44
+ RowSizeDropdown = datagridState.RowSizeDropdown,
45
+ rowSizeDropdownProps = datagridState.rowSizeDropdownProps,
46
+ useDenseHeader = datagridState.useDenseHeader,
47
+ filterProps = datagridState.filterProps,
48
+ getFilterFlyoutProps = datagridState.getFilterFlyoutProps;
49
+
50
+ var downloadCsv = function downloadCsv() {
51
+ alert('Downloading...');
52
+ };
53
+
54
+ var TableToolbarContent = _react2.DataTable.TableToolbarContent,
55
+ TableToolbarSearch = _react2.DataTable.TableToolbarSearch;
56
+
57
+ var refreshColumns = function refreshColumns() {
58
+ alert('refreshing...');
59
+ };
60
+
61
+ var searchForAColumn = 'Search';
62
+ var isNothingSelected = selectedFlatRows.length === 0;
63
+ var style = {
64
+ 'button:nthChild(1) > span:nthChild(1)': {
65
+ bottom: '-37px'
66
+ }
67
+ };
68
+
69
+ var renderFilterFlyout = function renderFilterFlyout() {
70
+ return (filterProps === null || filterProps === void 0 ? void 0 : filterProps.variation) === 'flyout' && /*#__PURE__*/_react.default.createElement(_Filtering.FilterFlyout, getFilterFlyoutProps());
71
+ };
72
+
73
+ var _useState = (0, _react.useState)(false),
74
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
75
+ modalOpen = _useState2[0],
76
+ setModalOpen = _useState2[1];
77
+
78
+ var _useState3 = (0, _react.useState)(window.innerWidth),
79
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
80
+ size = _useState4[0],
81
+ setSize = _useState4[1];
82
+
83
+ (0, _react.useLayoutEffect)(function () {
84
+ function updateSize() {
85
+ setSize(window.innerWidth);
86
+ }
87
+
88
+ window.addEventListener('resize', updateSize);
89
+ return function () {
90
+ return window.removeEventListener('resize', updateSize);
91
+ };
92
+ }, []);
93
+ var mobileToolbar = size < 672 ? true : false;
94
+ var items = ['Option 1', 'Option 2', 'Option 3'];
95
+ return isNothingSelected && (useDenseHeader && useDenseHeader ? /*#__PURE__*/_react.default.createElement(TableToolbarContent, {
96
+ size: "sm"
97
+ }, !mobileToolbar ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
98
+ style: style
99
+ }, /*#__PURE__*/_react.default.createElement(_react2.Button, {
100
+ kind: "ghost",
101
+ hasIconOnly: true,
102
+ tooltipPosition: "bottom",
103
+ renderIcon: _icons.Download,
104
+ iconDescription: 'Download CSV',
105
+ onClick: downloadCsv
106
+ })), renderFilterFlyout(), /*#__PURE__*/_react.default.createElement(RowSizeDropdown, rowSizeDropdownProps), /*#__PURE__*/_react.default.createElement("div", {
107
+ style: style,
108
+ className: "".concat(blockClass, "__toolbar-divider")
109
+ }, /*#__PURE__*/_react.default.createElement(_react2.Button, {
110
+ kind: "ghost",
111
+ renderIcon: _icons.Add,
112
+ iconDescription: 'Action'
113
+ }, "Ghost button")), CustomizeColumnsButton && /*#__PURE__*/_react.default.createElement("div", {
114
+ style: style
115
+ }, /*#__PURE__*/_react.default.createElement(CustomizeColumnsButton, null))) : /*#__PURE__*/_react.default.createElement(_react2.OverflowMenu, {
116
+ ariaLabel: "Tools",
117
+ size: "md",
118
+ flipped: true
119
+ }, /*#__PURE__*/_react.default.createElement(_react2.OverflowMenuItem, {
120
+ itemText: "Filter",
121
+ hasDivider: true,
122
+ requireTitle: true,
123
+ onClick: function onClick() {
124
+ return setModalOpen(true);
125
+ }
126
+ }), /*#__PURE__*/_react.default.createElement(_react2.OverflowMenuItem, {
127
+ itemText: "Export",
128
+ hasDivider: true,
129
+ requireTitle: true
130
+ }), /*#__PURE__*/_react.default.createElement(_react2.OverflowMenuItem, {
131
+ itemText: "Settings",
132
+ hasDivider: true,
133
+ requireTitle: true
134
+ }), /*#__PURE__*/_react.default.createElement(_react2.OverflowMenuItem, {
135
+ itemText: "Import items",
136
+ hasDivider: true,
137
+ requireTitle: true
138
+ }), /*#__PURE__*/_react.default.createElement(_react2.OverflowMenuItem, {
139
+ itemText: "Create",
140
+ hasDivider: true,
141
+ requireTitle: true
142
+ }))) : !mobileToolbar ? /*#__PURE__*/_react.default.createElement(TableToolbarContent, null, /*#__PURE__*/_react.default.createElement(TableToolbarSearch, {
143
+ size: "xl",
144
+ id: "columnSearch",
145
+ persistent: true,
146
+ placeHolderText: searchForAColumn,
147
+ onChange: function onChange(e) {
148
+ return setGlobalFilter(e.target.value);
149
+ }
150
+ }), renderFilterFlyout(), /*#__PURE__*/_react.default.createElement(RowSizeDropdown, rowSizeDropdownProps), /*#__PURE__*/_react.default.createElement("div", {
151
+ style: style
152
+ }, /*#__PURE__*/_react.default.createElement(_react2.Button, {
153
+ kind: "ghost",
154
+ hasIconOnly: true,
155
+ tooltipPosition: "bottom",
156
+ renderIcon: _icons.Restart,
157
+ iconDescription: 'Refresh',
158
+ onClick: refreshColumns
159
+ })), /*#__PURE__*/_react.default.createElement("div", {
160
+ style: style
161
+ }, /*#__PURE__*/_react.default.createElement(_react2.Button, {
162
+ kind: "ghost",
163
+ hasIconOnly: true,
164
+ tooltipPosition: "bottom",
165
+ renderIcon: _icons.Download,
166
+ iconDescription: 'Download CSV',
167
+ onClick: downloadCsv
168
+ })), CustomizeColumnsButton && /*#__PURE__*/_react.default.createElement("div", {
169
+ style: style
170
+ }, /*#__PURE__*/_react.default.createElement(CustomizeColumnsButton, null)), /*#__PURE__*/_react.default.createElement(_ButtonMenu.ButtonMenu, {
171
+ label: "Primary button",
172
+ renderIcon: _icons.Add
173
+ }, /*#__PURE__*/_react.default.createElement(_ButtonMenu.ButtonMenuItem, {
174
+ itemText: "Option 1",
175
+ onClick: (0, _addonActions.action)("Click on ButtonMenu Option 1")
176
+ }), /*#__PURE__*/_react.default.createElement(_ButtonMenu.ButtonMenuItem, {
177
+ itemText: "Option 2",
178
+ onClick: (0, _addonActions.action)("Click on ButtonMenu Option 2")
179
+ }), /*#__PURE__*/_react.default.createElement(_ButtonMenu.ButtonMenuItem, {
180
+ itemText: "Option 3",
181
+ onClick: (0, _addonActions.action)("Click on ButtonMenu Option 3")
182
+ }))) : /*#__PURE__*/_react.default.createElement(TableToolbarContent, null, /*#__PURE__*/_react.default.createElement(TableToolbarSearch, {
183
+ size: "xl",
184
+ id: "columnSearch",
185
+ persistent: true,
186
+ placeHolderText: searchForAColumn,
187
+ onChange: function onChange(e) {
188
+ return setGlobalFilter(e.target.value);
189
+ }
190
+ }), /*#__PURE__*/_react.default.createElement(_react2.OverflowMenu, {
191
+ ariaLabel: "Tools",
192
+ size: "lg",
193
+ flipped: true,
194
+ renderIcon: _icons.ChevronDown,
195
+ className: "".concat(blockClass, "__toolbar-menu__trigger"),
196
+ menuOptionsClass: "".concat(blockClass, "__toolbar-options")
197
+ }, /*#__PURE__*/_react.default.createElement(_react2.OverflowMenuItem, {
198
+ itemText: "Filter",
199
+ hasDivider: true,
200
+ requireTitle: true,
201
+ onClick: function onClick() {
202
+ return setModalOpen(true);
203
+ }
204
+ }), /*#__PURE__*/_react.default.createElement(_react2.OverflowMenuItem, {
205
+ itemText: "Export",
206
+ hasDivider: true,
207
+ requireTitle: true
208
+ }), /*#__PURE__*/_react.default.createElement(_react2.OverflowMenuItem, {
209
+ itemText: "Settings",
210
+ hasDivider: true,
211
+ requireTitle: true
212
+ }), /*#__PURE__*/_react.default.createElement(_react2.OverflowMenuItem, {
213
+ itemText: "Import items",
214
+ hasDivider: true,
215
+ requireTitle: true
216
+ }), /*#__PURE__*/_react.default.createElement(_react2.OverflowMenuItem, {
217
+ itemText: "Create",
218
+ hasDivider: true,
219
+ requireTitle: true
220
+ })), modalOpen && /*#__PURE__*/_react.default.createElement(_react2.ComposedModal, {
221
+ size: "lg",
222
+ open: modalOpen && modalOpen,
223
+ onClose: function onClose() {
224
+ return setModalOpen(false);
225
+ },
226
+ className: "".concat(blockClass, "__mobile-toolbar-modal")
227
+ }, /*#__PURE__*/_react.default.createElement(_react2.ModalHeader, null, /*#__PURE__*/_react.default.createElement("h4", null, "Filters")), /*#__PURE__*/_react.default.createElement(_react2.ModalBody, null, /*#__PURE__*/_react.default.createElement(_react2.Dropdown, {
228
+ initialSelectedItem: items[2],
229
+ items: items,
230
+ titleText: "Label",
231
+ id: "filter1"
232
+ }), /*#__PURE__*/_react.default.createElement(_react2.Dropdown, {
233
+ initialSelectedItem: items[2],
234
+ items: items,
235
+ titleText: "Label",
236
+ id: "filter2"
237
+ }), /*#__PURE__*/_react.default.createElement(_react2.Dropdown, {
238
+ initialSelectedItem: items[2],
239
+ items: items,
240
+ titleText: "Label",
241
+ id: "filter3"
242
+ })), /*#__PURE__*/_react.default.createElement(_react2.ModalFooter, {
243
+ primaryButtonText: "Apply",
244
+ secondaryButtonText: "Cancel"
245
+ }))));
246
+ };
247
+
248
+ exports.DatagridActions = DatagridActions;