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

Sign up to get free protection for your applications and to get access to all the features.
Files changed (383) hide show
  1. package/README.md +19 -2
  2. package/css/index-full-carbon.css +1376 -403
  3. package/css/index-full-carbon.css.map +1 -1
  4. package/css/index-full-carbon.min.css +8 -8
  5. package/css/index-full-carbon.min.css.map +1 -1
  6. package/css/index-without-carbon-released-only.css +1413 -385
  7. package/css/index-without-carbon-released-only.css.map +1 -1
  8. package/css/index-without-carbon-released-only.min.css +4 -8
  9. package/css/index-without-carbon-released-only.min.css.map +1 -1
  10. package/css/index-without-carbon.css +1295 -453
  11. package/css/index-without-carbon.css.map +1 -1
  12. package/css/index-without-carbon.min.css +8 -8
  13. package/css/index-without-carbon.min.css.map +1 -1
  14. package/css/index.css +1170 -333
  15. package/css/index.css.map +1 -1
  16. package/css/index.min.css +8 -8
  17. package/css/index.min.css.map +1 -1
  18. package/es/components/APIKeyModal/APIKeyModal.js +1 -1
  19. package/es/components/ActionBar/ActionBarOverflowItems.js +1 -0
  20. package/es/components/ActionSet/ActionSet.js +7 -3
  21. package/es/components/AddSelect/AddSelect.js +6 -6
  22. package/es/components/AddSelect/AddSelectBody.js +73 -32
  23. package/es/components/AddSelect/AddSelectBreadcrumbs.js +12 -4
  24. package/es/components/AddSelect/AddSelectColumn.js +8 -8
  25. package/es/components/AddSelect/AddSelectFilter.js +10 -7
  26. package/es/components/AddSelect/AddSelectList.js +64 -29
  27. package/es/components/AddSelect/AddSelectMetaPanel.js +7 -1
  28. package/es/components/AddSelect/AddSelectSidebar.js +5 -2
  29. package/es/components/AddSelect/AddSelectSort.js +2 -2
  30. package/es/components/AddSelect/add-select-utils.js +9 -2
  31. package/es/components/AddSelect/hooks/useItemSort.js +6 -0
  32. package/es/components/AddSelect/hooks/useParentSelect.js +6 -0
  33. package/es/components/AddSelect/hooks/usePath.js +23 -2
  34. package/es/components/AddSelect/index.js +1 -1
  35. package/es/components/BreadcrumbWithOverflow/BreadcrumbWithOverflow.js +4 -6
  36. package/es/components/ButtonMenu/ButtonMenu.js +4 -3
  37. package/es/components/Card/Card.js +16 -6
  38. package/es/components/Card/CardFooter.js +3 -1
  39. package/es/components/Card/CardHeader.js +20 -1
  40. package/es/components/ComboButton/ComboButton.js +1 -1
  41. package/es/components/CreateFullPage/CreateFullPage.js +13 -3
  42. package/es/components/CreateTearsheet/CreateTearsheet.js +17 -3
  43. package/es/components/CreateTearsheet/preview-components/MultiStepTearsheet.js +3 -1
  44. package/es/components/CreateTearsheetNarrow/CreateTearsheetNarrow.js +2 -2
  45. package/es/components/DataSpreadsheet/DataSpreadsheet.js +65 -15
  46. package/es/components/DataSpreadsheet/DataSpreadsheetBody.js +2 -1
  47. package/es/components/DataSpreadsheet/DataSpreadsheetHeader.js +7 -0
  48. package/es/components/DataSpreadsheet/hooks/useMultipleKeyTracking.js +6 -5
  49. package/es/components/DataSpreadsheet/utils/handleCellDeletion.js +42 -0
  50. package/es/components/DataSpreadsheet/utils/handleMultipleKeys.js +1 -1
  51. package/es/components/Datagrid/Datagrid/Datagrid.js +16 -40
  52. package/es/components/Datagrid/Datagrid/DatagridContent.js +194 -0
  53. package/es/components/Datagrid/Datagrid/DatagridEmptyBody.js +18 -8
  54. package/es/components/Datagrid/Datagrid/DatagridExpandedRow.js +9 -1
  55. package/es/components/Datagrid/Datagrid/DatagridHead.js +1 -2
  56. package/es/components/Datagrid/Datagrid/DatagridHeaderRow.js +1 -4
  57. package/es/components/Datagrid/Datagrid/DatagridRow.js +44 -7
  58. package/es/components/Datagrid/Datagrid/DatagridSelectAll.js +11 -5
  59. package/es/components/Datagrid/Datagrid/DatagridSelectAllWithToggle.js +13 -4
  60. package/es/components/Datagrid/Datagrid/DatagridSimpleBody.js +1 -2
  61. package/es/components/Datagrid/Datagrid/DatagridToolbar.js +14 -10
  62. package/es/components/Datagrid/Datagrid/DatagridVirtualBody.js +32 -11
  63. package/es/components/Datagrid/Datagrid/DraggableElement.js +12 -4
  64. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/Actions.js +11 -54
  65. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/ButtonWrapper.js +15 -14
  66. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/Columns.js +63 -31
  67. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsTearsheet.js +193 -0
  68. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/TearsheetWrapper.js +56 -0
  69. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/index.js +1 -1
  70. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +256 -0
  71. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +270 -0
  72. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.js +91 -0
  73. package/es/components/Datagrid/Datagrid/addons/Filtering/constants.js +28 -0
  74. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/index.js +10 -0
  75. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +310 -0
  76. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useInitialStateFromFilters.js +25 -0
  77. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useShouldDisableButtons.js +38 -0
  78. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useSubscribeToEventEmitter.js +25 -0
  79. package/es/components/Datagrid/Datagrid/addons/Filtering/index.js +9 -0
  80. package/es/components/Datagrid/Datagrid/addons/Filtering/motion/variants.js +55 -0
  81. package/es/components/Datagrid/Datagrid/addons/Filtering/utils.js +72 -0
  82. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/InlineEditButton.js +60 -0
  83. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/index.js +1 -0
  84. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +541 -0
  85. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/index.js +1 -0
  86. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/InlineEditContext.js +112 -0
  87. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/getCellIdAsObject.js +27 -0
  88. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/index.js +1 -0
  89. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/returnUpdatedActiveCell.js +39 -0
  90. package/es/components/Datagrid/Datagrid/addons/InlineEdit/handleGridFocus.js +19 -0
  91. package/es/components/Datagrid/Datagrid/addons/InlineEdit/handleGridKeyPress.js +262 -0
  92. package/es/components/Datagrid/Datagrid/addons/InlineEdit/handleMultipleKeys.js +87 -0
  93. package/es/components/Datagrid/Datagrid/addons/RowSize/RowSizeDropdown.js +17 -14
  94. package/es/components/Datagrid/Datagrid/addons/RowSize/RowSizeRadioGroup.js +13 -36
  95. package/es/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/index.js +0 -1
  96. package/es/components/Datagrid/index.js +4 -1
  97. package/es/components/Datagrid/useActionsColumn.js +28 -12
  98. package/es/components/Datagrid/useColumnOrder.js +8 -0
  99. package/es/components/Datagrid/useCustomizeColumns.js +13 -8
  100. package/es/components/Datagrid/useDisableSelectRows.js +6 -2
  101. package/es/components/Datagrid/useExpandedRow.js +0 -1
  102. package/es/components/Datagrid/useFiltering.js +99 -0
  103. package/es/components/Datagrid/useInfiniteScroll.js +5 -2
  104. package/es/components/Datagrid/useInlineEdit.js +71 -0
  105. package/es/components/Datagrid/useNestedRowExpander.js +47 -0
  106. package/es/components/Datagrid/useNestedRows.js +16 -4
  107. package/es/components/Datagrid/useParentDimensions.js +3 -1
  108. package/es/components/Datagrid/useRowExpander.js +12 -4
  109. package/es/components/Datagrid/useRowSize.js +17 -6
  110. package/es/components/Datagrid/useSelectAllToggle.js +17 -4
  111. package/es/components/Datagrid/useSelectRows.js +13 -4
  112. package/es/components/Datagrid/useSortableColumns.js +15 -9
  113. package/es/components/Datagrid/useStickyColumn.js +11 -0
  114. package/es/components/Datagrid/utils/DatagridActions.js +249 -0
  115. package/es/components/Datagrid/utils/DatagridPagination.js +33 -0
  116. package/es/components/Datagrid/utils/Wrapper.js +21 -0
  117. package/es/components/Datagrid/utils/getArgTypes.js +94 -0
  118. package/es/components/Datagrid/utils/getInlineEditColumns.js +159 -0
  119. package/es/components/Datagrid/utils/makeData.js +54 -1
  120. package/es/components/EditUpdateCards/EditUpdateCards.js +144 -0
  121. package/es/components/EditUpdateCards/index.js +7 -0
  122. package/es/components/ExportModal/ExportModal.js +1 -1
  123. package/es/components/FilterSummary/FilterSummary.js +54 -0
  124. package/es/components/FilterSummary/index.js +7 -0
  125. package/es/components/ImportModal/ImportModal.js +3 -3
  126. package/es/components/InlineEdit/InlineEdit.js +28 -426
  127. package/es/components/InlineEditV1/InlineEditV1.js +447 -0
  128. package/es/components/InlineEditV1/index.js +7 -0
  129. package/es/components/InlineEditV2/InlineEditV2.js +289 -0
  130. package/es/components/InlineEditV2/index.js +7 -0
  131. package/es/components/ModifiedTabs/ModifiedTabLabelNew.js +1 -1
  132. package/es/components/ModifiedTabs/ModifiedTabLabelWithClose.js +1 -1
  133. package/es/components/MultiAddSelect/MultiAddSelect.js +14 -7
  134. package/es/components/MultiAddSelect/index.js +6 -0
  135. package/es/components/NotificationsPanel/NotificationsPanel.js +1 -1
  136. package/es/components/OptionsTile/OptionsTile.js +32 -16
  137. package/es/components/PageHeader/PageHeader.js +4 -4
  138. package/es/components/PageHeader/PageHeaderTitle.js +1 -1
  139. package/es/components/ProductiveCard/ProductiveCard.js +5 -0
  140. package/es/components/RemoveModal/RemoveModal.js +20 -3
  141. package/es/components/Saving/Saving.js +1 -1
  142. package/es/components/SidePanel/SidePanel.js +45 -52
  143. package/es/components/SidePanel/motion/variants.js +45 -0
  144. package/es/components/SingleAddSelect/SingleAddSelect.js +6 -0
  145. package/es/components/SingleAddSelect/index.js +6 -0
  146. package/es/components/StatusIcon/StatusIcon.js +1 -1
  147. package/es/components/Tearsheet/Tearsheet.js +5 -0
  148. package/es/components/Tearsheet/TearsheetNarrow.js +5 -0
  149. package/es/components/Tearsheet/TearsheetShell.js +1 -1
  150. package/es/components/UserProfileImage/UserProfileImage.js +1 -1
  151. package/es/components/WebTerminal/WebTerminal.js +1 -1
  152. package/es/components/WebTerminal/preview-components/Navigation.js +1 -1
  153. package/es/components/index.js +4 -3
  154. package/es/global/js/hooks/index.js +2 -1
  155. package/es/global/js/hooks/useClickOutside.js +1 -1
  156. package/es/global/js/hooks/useControllableState.js +83 -0
  157. package/es/global/js/hooks/useCreateComponentFocus.js +38 -10
  158. package/es/global/js/hooks/useResetCreateComponent.js +6 -2
  159. package/es/global/js/package-settings.js +9 -6
  160. package/es/global/js/utils/getBezierValues.js +20 -0
  161. package/es/global/js/utils/getNumberOfHiddenSteps.js +19 -0
  162. package/es/global/js/utils/motionConstants.js +45 -0
  163. package/es/global/js/utils/rangeWithCallback.js +13 -0
  164. package/es/global/js/utils/story-helper.js +5 -1
  165. package/es/global/js/utils/uuidv4.spec.js +4 -0
  166. package/lib/components/APIKeyModal/APIKeyModal.js +4 -4
  167. package/lib/components/ActionBar/ActionBarOverflowItems.js +1 -0
  168. package/lib/components/ActionSet/ActionSet.js +7 -3
  169. package/lib/components/AddSelect/AddSelect.js +5 -6
  170. package/lib/components/AddSelect/AddSelectBody.js +68 -31
  171. package/lib/components/AddSelect/AddSelectBreadcrumbs.js +15 -4
  172. package/lib/components/AddSelect/AddSelectColumn.js +7 -7
  173. package/lib/components/AddSelect/AddSelectFilter.js +9 -6
  174. package/lib/components/AddSelect/AddSelectList.js +65 -30
  175. package/lib/components/AddSelect/AddSelectMetaPanel.js +8 -2
  176. package/lib/components/AddSelect/AddSelectSidebar.js +4 -1
  177. package/lib/components/AddSelect/AddSelectSort.js +5 -5
  178. package/lib/components/AddSelect/add-select-utils.js +9 -2
  179. package/lib/components/AddSelect/hooks/useItemSort.js +6 -0
  180. package/lib/components/AddSelect/hooks/useParentSelect.js +6 -0
  181. package/lib/components/AddSelect/hooks/usePath.js +16 -1
  182. package/lib/components/BreadcrumbWithOverflow/BreadcrumbWithOverflow.js +6 -6
  183. package/lib/components/ButtonMenu/ButtonMenu.js +4 -3
  184. package/lib/components/Card/Card.js +16 -6
  185. package/lib/components/Card/CardFooter.js +3 -1
  186. package/lib/components/Card/CardHeader.js +21 -1
  187. package/lib/components/ComboButton/ComboButton.js +3 -3
  188. package/lib/components/CreateFullPage/CreateFullPage.js +13 -3
  189. package/lib/components/CreateTearsheet/CreateTearsheet.js +18 -3
  190. package/lib/components/CreateTearsheet/preview-components/MultiStepTearsheet.js +3 -1
  191. package/lib/components/CreateTearsheetNarrow/CreateTearsheetNarrow.js +2 -2
  192. package/lib/components/DataSpreadsheet/DataSpreadsheet.js +65 -14
  193. package/lib/components/DataSpreadsheet/DataSpreadsheetBody.js +2 -1
  194. package/lib/components/DataSpreadsheet/DataSpreadsheetHeader.js +7 -0
  195. package/lib/components/DataSpreadsheet/hooks/useMultipleKeyTracking.js +6 -5
  196. package/lib/components/DataSpreadsheet/utils/handleCellDeletion.js +53 -0
  197. package/lib/components/DataSpreadsheet/utils/handleMultipleKeys.js +1 -1
  198. package/lib/components/Datagrid/Datagrid/Datagrid.js +19 -47
  199. package/lib/components/Datagrid/Datagrid/DatagridContent.js +230 -0
  200. package/lib/components/Datagrid/Datagrid/DatagridEmptyBody.js +19 -9
  201. package/lib/components/Datagrid/Datagrid/DatagridExpandedRow.js +9 -1
  202. package/lib/components/Datagrid/Datagrid/DatagridHead.js +1 -3
  203. package/lib/components/Datagrid/Datagrid/DatagridHeaderRow.js +2 -5
  204. package/lib/components/Datagrid/Datagrid/DatagridRow.js +46 -8
  205. package/lib/components/Datagrid/Datagrid/DatagridSelectAll.js +14 -6
  206. package/lib/components/Datagrid/Datagrid/DatagridSelectAllWithToggle.js +16 -5
  207. package/lib/components/Datagrid/Datagrid/DatagridSimpleBody.js +1 -2
  208. package/lib/components/Datagrid/Datagrid/DatagridToolbar.js +14 -10
  209. package/lib/components/Datagrid/Datagrid/DatagridVirtualBody.js +33 -10
  210. package/lib/components/Datagrid/Datagrid/DraggableElement.js +12 -4
  211. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/Actions.js +11 -49
  212. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/ButtonWrapper.js +11 -8
  213. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/Columns.js +76 -46
  214. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/{CustomizeColumnsModal.js → CustomizeColumnsTearsheet.js} +85 -48
  215. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/{ModalWrapper.js → TearsheetWrapper.js} +32 -36
  216. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/index.js +3 -3
  217. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +284 -0
  218. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +301 -0
  219. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.js +112 -0
  220. package/lib/components/Datagrid/Datagrid/addons/Filtering/constants.js +47 -0
  221. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/index.js +39 -0
  222. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +325 -0
  223. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useInitialStateFromFilters.js +37 -0
  224. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useShouldDisableButtons.js +50 -0
  225. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useSubscribeToEventEmitter.js +35 -0
  226. package/lib/components/Datagrid/Datagrid/addons/Filtering/index.js +37 -0
  227. package/lib/components/Datagrid/Datagrid/addons/Filtering/motion/variants.js +67 -0
  228. package/lib/components/Datagrid/Datagrid/addons/Filtering/utils.js +82 -0
  229. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/InlineEditButton.js +76 -0
  230. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/index.js +13 -0
  231. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +566 -0
  232. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/index.js +13 -0
  233. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/InlineEditContext.js +129 -0
  234. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/getCellIdAsObject.js +36 -0
  235. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/index.js +19 -0
  236. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/returnUpdatedActiveCell.js +45 -0
  237. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/handleGridFocus.js +28 -0
  238. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/handleGridKeyPress.js +271 -0
  239. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/handleMultipleKeys.js +100 -0
  240. package/lib/components/Datagrid/Datagrid/addons/RowSize/RowSizeDropdown.js +17 -13
  241. package/lib/components/Datagrid/Datagrid/addons/RowSize/RowSizeRadioGroup.js +13 -35
  242. package/lib/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/index.js +0 -8
  243. package/lib/components/Datagrid/index.js +25 -1
  244. package/lib/components/Datagrid/useActionsColumn.js +28 -13
  245. package/lib/components/Datagrid/useColumnOrder.js +17 -0
  246. package/lib/components/Datagrid/useCustomizeColumns.js +12 -7
  247. package/lib/components/Datagrid/useDisableSelectRows.js +6 -2
  248. package/lib/components/Datagrid/useExpandedRow.js +0 -1
  249. package/lib/components/Datagrid/useFiltering.js +105 -0
  250. package/lib/components/Datagrid/useInfiniteScroll.js +5 -2
  251. package/lib/components/Datagrid/useInlineEdit.js +85 -0
  252. package/lib/components/Datagrid/useNestedRowExpander.js +63 -0
  253. package/lib/components/Datagrid/useNestedRows.js +17 -4
  254. package/lib/components/Datagrid/useParentDimensions.js +3 -1
  255. package/lib/components/Datagrid/useRowExpander.js +17 -5
  256. package/lib/components/Datagrid/useRowSize.js +18 -13
  257. package/lib/components/Datagrid/useSelectAllToggle.js +18 -4
  258. package/lib/components/Datagrid/useSelectRows.js +13 -4
  259. package/lib/components/Datagrid/useSortableColumns.js +16 -7
  260. package/lib/components/Datagrid/useStickyColumn.js +11 -0
  261. package/lib/components/Datagrid/utils/DatagridActions.js +275 -0
  262. package/lib/components/Datagrid/utils/DatagridPagination.js +46 -0
  263. package/lib/components/Datagrid/utils/Wrapper.js +33 -0
  264. package/lib/components/Datagrid/utils/getArgTypes.js +102 -0
  265. package/lib/components/Datagrid/utils/getInlineEditColumns.js +174 -0
  266. package/lib/components/Datagrid/utils/makeData.js +56 -2
  267. package/lib/components/EditUpdateCards/EditUpdateCards.js +152 -0
  268. package/lib/components/EditUpdateCards/index.js +13 -0
  269. package/lib/components/ExportModal/ExportModal.js +3 -3
  270. package/lib/components/FilterSummary/FilterSummary.js +72 -0
  271. package/lib/components/FilterSummary/index.js +15 -0
  272. package/lib/components/ImportModal/ImportModal.js +4 -4
  273. package/lib/components/InlineEdit/InlineEdit.js +27 -426
  274. package/lib/components/InlineEditV1/InlineEditV1.js +464 -0
  275. package/lib/components/InlineEditV1/index.js +13 -0
  276. package/lib/components/InlineEditV2/InlineEditV2.js +309 -0
  277. package/lib/components/InlineEditV2/index.js +13 -0
  278. package/lib/components/ModifiedTabs/ModifiedTabLabelNew.js +2 -2
  279. package/lib/components/ModifiedTabs/ModifiedTabLabelWithClose.js +3 -3
  280. package/lib/components/MultiAddSelect/MultiAddSelect.js +14 -7
  281. package/lib/components/NotificationsPanel/NotificationsPanel.js +8 -8
  282. package/lib/components/OptionsTile/OptionsTile.js +36 -19
  283. package/lib/components/PageHeader/PageHeader.js +5 -5
  284. package/lib/components/PageHeader/PageHeaderTitle.js +1 -1
  285. package/lib/components/ProductiveCard/ProductiveCard.js +5 -0
  286. package/lib/components/RemoveModal/RemoveModal.js +20 -3
  287. package/lib/components/Saving/Saving.js +5 -5
  288. package/lib/components/SidePanel/SidePanel.js +48 -53
  289. package/lib/components/SidePanel/motion/variants.js +55 -0
  290. package/lib/components/SingleAddSelect/SingleAddSelect.js +6 -0
  291. package/lib/components/StatusIcon/StatusIcon.js +45 -45
  292. package/lib/components/Tearsheet/Tearsheet.js +5 -0
  293. package/lib/components/Tearsheet/TearsheetNarrow.js +5 -0
  294. package/lib/components/Tearsheet/TearsheetShell.js +1 -1
  295. package/lib/components/UserProfileImage/UserProfileImage.js +7 -7
  296. package/lib/components/WebTerminal/WebTerminal.js +3 -3
  297. package/lib/components/WebTerminal/preview-components/Navigation.js +4 -4
  298. package/lib/components/index.js +33 -1
  299. package/lib/global/js/hooks/index.js +9 -1
  300. package/lib/global/js/hooks/useClickOutside.js +1 -1
  301. package/lib/global/js/hooks/useControllableState.js +94 -0
  302. package/lib/global/js/hooks/useCreateComponentFocus.js +42 -11
  303. package/lib/global/js/hooks/useResetCreateComponent.js +7 -2
  304. package/lib/global/js/package-settings.js +9 -6
  305. package/lib/global/js/utils/getBezierValues.js +29 -0
  306. package/lib/global/js/utils/getNumberOfHiddenSteps.js +28 -0
  307. package/lib/global/js/utils/motionConstants.js +55 -0
  308. package/lib/global/js/utils/rangeWithCallback.js +22 -0
  309. package/lib/global/js/utils/story-helper.js +5 -1
  310. package/lib/global/js/utils/uuidv4.spec.js +4 -0
  311. package/package.json +18 -16
  312. package/scss/components/ActionSet/_action-set.scss +9 -4
  313. package/scss/components/AddSelect/_add-select.scss +132 -34
  314. package/scss/components/AddSelect/_index.scss +1 -1
  315. package/scss/components/AddSelect/_storybook-styles.scss +1 -1
  316. package/scss/components/Card/_card.scss +1 -0
  317. package/scss/components/Cascade/_cascade.scss +1 -1
  318. package/scss/components/CreateTearsheet/_create-tearsheet.scss +2 -0
  319. package/scss/components/Datagrid/_datagrid.scss +7 -1
  320. package/scss/components/Datagrid/_storybook-styles.scss +29 -5
  321. package/scss/components/Datagrid/styles/_datagrid.scss +133 -41
  322. package/scss/components/Datagrid/styles/_draggableElement.scss +50 -18
  323. package/scss/components/Datagrid/styles/_index.scss +10 -8
  324. package/scss/components/Datagrid/styles/_useActionsColumn.scss +14 -0
  325. package/scss/components/Datagrid/styles/_useExpandedRow.scss +56 -10
  326. package/scss/components/Datagrid/styles/_useInlineEdit.scss +419 -0
  327. package/scss/components/Datagrid/styles/_useNestedRows.scss +33 -1
  328. package/scss/components/Datagrid/styles/_useSortableColumns.scss +35 -16
  329. package/scss/components/Datagrid/styles/_useStickyColumn.scss +31 -2
  330. package/scss/components/Datagrid/styles/addons/_CustomizeColumnsTearsheet.scss +69 -0
  331. package/scss/components/Datagrid/styles/addons/_FilterFlyout.scss +87 -0
  332. package/scss/components/Datagrid/styles/addons/_FilterPanel.scss +129 -0
  333. package/scss/components/Datagrid/styles/addons/_RowSizeDropdown.scss +12 -4
  334. package/scss/components/EditUpdateCards/_carbon-imports.scss +9 -0
  335. package/scss/components/EditUpdateCards/_edit-update-cards.scss +85 -0
  336. package/scss/components/EditUpdateCards/_index-with-carbon.scss +9 -0
  337. package/scss/components/EditUpdateCards/_index.scss +8 -0
  338. package/scss/components/EditUpdateCards/_storybook-styles.scss +55 -0
  339. package/scss/components/FilterSummary/_filter-summary.scss +21 -0
  340. package/scss/components/FilterSummary/_index.scss +10 -0
  341. package/scss/components/FilterSummary/_storybook-styles.scss +14 -0
  342. package/scss/components/{InlineEdit → InlineEditV1}/_index-with-carbon.scss +1 -1
  343. package/scss/components/{InlineEdit → InlineEditV1}/_index.scss +1 -1
  344. package/scss/components/{InlineEdit/_inline-edit.scss → InlineEditV1/_inline-edit-v1.scss} +4 -2
  345. package/scss/components/InlineEditV2/_carbon-imports.scss +9 -0
  346. package/scss/components/InlineEditV2/_index-with-carbon.scss +9 -0
  347. package/scss/components/InlineEditV2/_index.scss +10 -0
  348. package/scss/components/InlineEditV2/_inline-edit-v2.scss +83 -0
  349. package/scss/components/InlineEditV2/_storybook-styles.scss +9 -0
  350. package/scss/components/MultiAddSelect/_multi-add-select.scss +8 -1
  351. package/scss/components/MultiAddSelect/_storybook-styles.scss +1 -1
  352. package/scss/components/NotificationsPanel/_notifications-panel.scss +3 -6
  353. package/scss/components/OptionsTile/_options-tile.scss +10 -3
  354. package/scss/components/RemoveModal/_remove-modal.scss +0 -4
  355. package/scss/components/SidePanel/_side-panel.scss +3 -82
  356. package/scss/components/SidePanel/_storybook-styles.scss +6 -1
  357. package/scss/components/SingleAddSelect/_carbon-imports.scss +1 -1
  358. package/scss/components/SingleAddSelect/_index-with-carbon.scss +1 -1
  359. package/scss/components/SingleAddSelect/_index.scss +7 -0
  360. package/scss/components/SingleAddSelect/_single-add-select.scss +8 -1
  361. package/scss/components/SingleAddSelect/_storybook-styles.scss +1 -1
  362. package/scss/components/Tearsheet/_tearsheet.scss +4 -2
  363. package/scss/components/_index-released-only-with-carbon.scss +3 -1
  364. package/scss/components/_index-released-only.scss +4 -1
  365. package/scss/components/_index-with-carbon.scss +3 -1
  366. package/scss/components/_index.scss +4 -1
  367. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsModal.js +0 -157
  368. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/ModalWrapper.js +0 -62
  369. package/es/components/Datagrid/Datagrid.stories-helpers/LeftPanelStory.js +0 -6
  370. package/lib/components/Datagrid/Datagrid.stories-helpers/LeftPanelStory.js +0 -13
  371. package/scss/components/Datagrid/styles/addons/_CustomizeColumnsModal.scss +0 -52
  372. /package/es/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/CustomizeColumnStory.js +0 -0
  373. /package/es/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/RowSizeDropdownStory.js +0 -0
  374. /package/es/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/SelectAllWithToggleStory.js +0 -0
  375. /package/es/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/StickyActionsColumnStory.js +0 -0
  376. /package/es/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/common.js +0 -0
  377. /package/lib/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/CustomizeColumnStory.js +0 -0
  378. /package/lib/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/RowSizeDropdownStory.js +0 -0
  379. /package/lib/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/SelectAllWithToggleStory.js +0 -0
  380. /package/lib/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/StickyActionsColumnStory.js +0 -0
  381. /package/lib/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/common.js +0 -0
  382. /package/scss/components/{InlineEdit → InlineEditV1}/_carbon-imports.scss +0 -0
  383. /package/scss/components/{InlineEdit → InlineEditV1}/_storybook-styles.scss +0 -0
@@ -1,7 +1,7 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
3
3
  //
4
- // Copyright IBM Corp. 2022
4
+ // Copyright IBM Corp. 2022, 2022
5
5
  //
6
6
  // This source code is licensed under the Apache-2.0 license found in the
7
7
  // LICENSE file in the root directory of this source tree.
@@ -9,7 +9,7 @@ import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
9
9
  import React from 'react';
10
10
  import PropTypes from 'prop-types';
11
11
  import { OverflowMenu, OverflowMenuItem } from '@carbon/react';
12
- import { ArrowsVertical, ArrowUp, ArrowDown } from '@carbon/icons-react';
12
+ import { ArrowsVertical, ArrowUp, ArrowDown } from '@carbon/react/icons';
13
13
  import { pkg } from '../../settings';
14
14
  var blockClass = "".concat(pkg.prefix, "--add-select-sort");
15
15
  var componentName = 'AddSelectSort';
@@ -6,6 +6,13 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
6
6
 
7
7
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
8
8
 
9
+ //
10
+ // Copyright IBM Corp. 2022, 2022
11
+ //
12
+ // This source code is licensed under the Apache-2.0 license found in the
13
+ // LICENSE file in the root directory of this source tree.
14
+ //
15
+
9
16
  /**
10
17
  * to be able to more easily and efficiently the child entries the data needs to be
11
18
  * normalized. this function recursively goes through the data array to build a single
@@ -85,7 +92,7 @@ export var getFilteredItems = function getFilteredItems(useNormalizedItems, norm
85
92
 
86
93
  if (searchTerm || globalFiltersApplied) {
87
94
  var results = itemIds.reduce(function (prev, cur) {
88
- if (normalizedItems[cur].title.toLowerCase().includes(searchTerm)) {
95
+ if (normalizedItems[cur].title.toLowerCase().includes(searchTerm.toLowerCase())) {
89
96
  prev.push(normalizedItems[cur]);
90
97
  }
91
98
 
@@ -132,7 +139,7 @@ export var getFilteredItems = function getFilteredItems(useNormalizedItems, norm
132
139
  } else {
133
140
  if (searchTerm) {
134
141
  return items.entries.filter(function (item) {
135
- return item.title.toLowerCase().includes(searchTerm);
142
+ return item.title.toLowerCase().includes(searchTerm.toLowerCase());
136
143
  });
137
144
  }
138
145
 
@@ -1,4 +1,10 @@
1
1
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
+ //
3
+ // Copyright IBM Corp. 2022, 2022
4
+ //
5
+ // This source code is licensed under the Apache-2.0 license found in the
6
+ // LICENSE file in the root directory of this source tree.
7
+ //
2
8
  import { useState } from 'react';
3
9
  export var useItemSort = function useItemSort() {
4
10
  var _useState = useState(''),
@@ -1,4 +1,10 @@
1
1
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
+ //
3
+ // Copyright IBM Corp. 2022, 2022
4
+ //
5
+ // This source code is licensed under the Apache-2.0 license found in the
6
+ // LICENSE file in the root directory of this source tree.
7
+ //
2
8
  import { useState } from 'react';
3
9
 
4
10
  var useParentSelect = function useParentSelect() {
@@ -6,7 +6,13 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
6
6
 
7
7
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
8
8
 
9
- import { useState } from 'react';
9
+ //
10
+ // Copyright IBM Corp. 2022, 2022
11
+ //
12
+ // This source code is licensed under the Apache-2.0 license found in the
13
+ // LICENSE file in the root directory of this source tree.
14
+ //
15
+ import { useState, useEffect } from 'react';
10
16
 
11
17
  var usePath = function usePath() {
12
18
  var itemsLabel = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
@@ -19,6 +25,13 @@ var usePath = function usePath() {
19
25
  path = _useState2[0],
20
26
  setPath = _useState2[1];
21
27
 
28
+ useEffect(function () {
29
+ setPath([{
30
+ id: 'base_of_path',
31
+ title: itemsLabel
32
+ }]);
33
+ }, [itemsLabel]);
34
+
22
35
  var handler = function handler(id, title, parentId) {
23
36
  if (path.find(function (entry) {
24
37
  return entry.id === id;
@@ -56,10 +69,18 @@ var usePath = function usePath() {
56
69
  setPath(_toConsumableArray(pathCopy));
57
70
  };
58
71
 
72
+ var resetPath = function resetPath() {
73
+ setPath([{
74
+ id: 'base_of_path',
75
+ title: itemsLabel
76
+ }]);
77
+ };
78
+
59
79
  return {
60
80
  path: path,
61
81
  setPath: handler,
62
- pathOnclick: pathClickHandler
82
+ pathOnclick: pathClickHandler,
83
+ resetPath: resetPath
63
84
  };
64
85
  };
65
86
 
@@ -1,5 +1,5 @@
1
1
  //
2
- // Copyright IBM Corp. 2021
2
+ // Copyright IBM Corp. 2022, 2022
3
3
  //
4
4
  // This source code is licensed under the Apache-2.0 license found in the
5
5
  // LICENSE file in the root directory of this source tree.
@@ -23,13 +23,11 @@ import React, { useState, useEffect, useRef } from 'react'; // Other standard im
23
23
 
24
24
  import PropTypes from 'prop-types';
25
25
  import cx from 'classnames';
26
- import { Link, IconButton, usePrefix } from '@carbon/react';
27
- import { pkg } from '../../settings';
28
- import { useResizeDetector } from 'react-resize-detector';
29
- import { ArrowLeft } from '@carbon/icons-react'; // Carbon and package components we use.
26
+ import { useResizeDetector } from 'react-resize-detector'; // Carbon and package components we use.
30
27
 
31
- import { Breadcrumb, BreadcrumbItem, OverflowMenu, OverflowMenuItem } from '@carbon/react';
32
- import { OverflowMenuHorizontal } from '@carbon/icons-react';
28
+ import { Breadcrumb, BreadcrumbItem, Link, IconButton, OverflowMenu, OverflowMenuItem, usePrefix } from '@carbon/react';
29
+ import { pkg } from '../../settings';
30
+ import { ArrowLeft, OverflowMenuHorizontal } from '@carbon/react/icons';
33
31
  import uuidv4 from '../../global/js/utils/uuidv4';
34
32
  import '../../global/js/utils/props-helper'; // The block part of our conventional BEM class names (blockClass__E--M).
35
33
 
@@ -54,6 +54,7 @@ export var ButtonMenu = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
54
54
  ),
55
55
  ariaLabel: menuAriaLabel,
56
56
  menuOptionsClass: cx("".concat(blockClass, "__options"), menuOptionsClass),
57
+ size: size,
57
58
  renderIcon: function renderIcon() {
58
59
  return /*#__PURE__*/React.createElement("div", {
59
60
  className: cx(["".concat(blockClass, "__trigger"), "".concat(carbonPrefix, "--btn"), "".concat(carbonPrefix, "--btn--").concat(kind), "".concat(carbonPrefix, "--btn--").concat(size)])
@@ -120,8 +121,8 @@ ButtonMenu.propTypes = {
120
121
  renderIcon: Button.propTypes.renderIcon,
121
122
 
122
123
  /**
123
- * The size of the button for the menu trigger. The values can be any valid
124
- * value for the carbon Button component 'size' prop.
124
+ * The size of the button for the menu trigger.
125
+ * The menu button supports: sm, md, lg
125
126
  */
126
- size: Button.propTypes.size
127
+ size: PropTypes.oneOf(['sm', 'md', 'lg'])
127
128
  };
@@ -1,7 +1,7 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
  import _extends from "@babel/runtime/helpers/extends";
3
3
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
- var _excluded = ["actionIcons", "actionsPlacement", "children", "className", "clickZone", "description", "label", "media", "mediaPosition", "onClick", "onKeyDown", "onPrimaryButtonClick", "overflowActions", "overflowAriaLabel", "onSecondaryButtonClick", "pictogram", "primaryButtonHref", "primaryButtonIcon", "primaryButtonKind", "primaryButtonText", "productive", "secondaryButtonHref", "secondaryButtonIcon", "secondaryButtonKind", "secondaryButtonText", "title", "titleSize"],
4
+ var _excluded = ["actionIcons", "actionsPlacement", "children", "className", "clickZone", "description", "label", "media", "mediaPosition", "onClick", "onKeyDown", "onPrimaryButtonClick", "overflowActions", "overflowAriaLabel", "onSecondaryButtonClick", "pictogram", "primaryButtonHref", "primaryButtonIcon", "primaryButtonKind", "primaryButtonPlacement", "primaryButtonText", "productive", "secondaryButtonHref", "secondaryButtonIcon", "secondaryButtonKind", "secondaryButtonText", "title", "titleSize"],
5
5
  _excluded2 = ["id"],
6
6
  _excluded3 = ["id", "icon", "onClick", "iconDescription", "href"];
7
7
 
@@ -31,6 +31,7 @@ var defaults = {
31
31
  mediaPosition: 'top',
32
32
  overflowActions: Object.freeze([]),
33
33
  primaryButtonKind: 'primary',
34
+ primaryButtonPlacement: 'bottom',
34
35
  productive: false,
35
36
  secondaryButtonKind: 'secondary',
36
37
  titleSize: 'default'
@@ -61,6 +62,8 @@ export var Card = /*#__PURE__*/forwardRef(function (_ref, ref) {
61
62
  primaryButtonIcon = _ref.primaryButtonIcon,
62
63
  _ref$primaryButtonKin = _ref.primaryButtonKind,
63
64
  primaryButtonKind = _ref$primaryButtonKin === void 0 ? defaults.primaryButtonKind : _ref$primaryButtonKin,
65
+ _ref$primaryButtonPla = _ref.primaryButtonPlacement,
66
+ primaryButtonPlacement = _ref$primaryButtonPla === void 0 ? defaults.primaryButtonPlacement : _ref$primaryButtonPla,
64
67
  primaryButtonText = _ref.primaryButtonText,
65
68
  _ref$productive = _ref.productive,
66
69
  productive = _ref$productive === void 0 ? defaults.productive : _ref$productive,
@@ -75,9 +78,9 @@ export var Card = /*#__PURE__*/forwardRef(function (_ref, ref) {
75
78
  rest = _objectWithoutProperties(_ref, _excluded);
76
79
 
77
80
  var blockClass = "".concat(pkg.prefix, "--card");
78
- var hasActions = actionIcons.length > 0 || overflowActions.length > 0;
81
+ var hasActions = actionIcons.length > 0 || overflowActions.length > 0 || !!primaryButtonText && primaryButtonPlacement === 'top';
79
82
  var hasFooterActions = hasActions && actionsPlacement === 'bottom';
80
- var hasFooterButton = !!secondaryButtonText || !!primaryButtonText;
83
+ var hasFooterButton = !!secondaryButtonText || !!primaryButtonText && primaryButtonPlacement === 'bottom';
81
84
  var hasBottomBar = hasFooterActions || hasFooterButton;
82
85
  var hasClickEvent = !!onClick || !!onKeyDown;
83
86
  var clickableProps = {
@@ -178,10 +181,15 @@ export var Card = /*#__PURE__*/forwardRef(function (_ref, ref) {
178
181
 
179
182
  var getHeaderProps = function getHeaderProps() {
180
183
  return {
181
- actions: getActions(),
184
+ actions: actionsPlacement === 'top' ? getActions() : '',
185
+ noActionIcons: actionIcons.length > 0 && actionsPlacement === 'top' ? false : true,
182
186
  actionsPlacement: actionsPlacement,
187
+ onPrimaryButtonClick: onPrimaryButtonClick,
188
+ primaryButtonIcon: primaryButtonIcon,
189
+ primaryButtonPlacement: primaryButtonPlacement,
190
+ primaryButtonText: primaryButtonText,
183
191
  description: description,
184
- hasActions: hasActions && actionsPlacement === 'top',
192
+ hasActions: hasActions,
185
193
  label: label,
186
194
  title: title,
187
195
  titleSize: titleSize
@@ -200,7 +208,7 @@ export var Card = /*#__PURE__*/forwardRef(function (_ref, ref) {
200
208
 
201
209
  var getFooterProps = function getFooterProps() {
202
210
  return {
203
- actions: getActions(),
211
+ actions: actionsPlacement === 'bottom' ? getActions() : '',
204
212
  actionsPlacement: actionsPlacement,
205
213
  hasActions: hasFooterActions,
206
214
  hasButton: hasFooterButton,
@@ -209,6 +217,7 @@ export var Card = /*#__PURE__*/forwardRef(function (_ref, ref) {
209
217
  primaryButtonHref: primaryButtonHref,
210
218
  primaryButtonIcon: primaryButtonIcon,
211
219
  primaryButtonKind: primaryButtonKind,
220
+ primaryButtonPlacement: primaryButtonPlacement,
212
221
  primaryButtonText: primaryButtonText,
213
222
  productive: productive,
214
223
  secondaryButtonHref: secondaryButtonHref,
@@ -258,6 +267,7 @@ Card.propTypes = {
258
267
  primaryButtonHref: PropTypes.string,
259
268
  primaryButtonIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
260
269
  primaryButtonKind: PropTypes.oneOf(['primary', 'ghost']),
270
+ primaryButtonPlacement: PropTypes.oneOf(['top', 'bottom']),
261
271
  primaryButtonText: PropTypes.node,
262
272
  productive: PropTypes.bool,
263
273
  secondaryButtonHref: PropTypes.string,
@@ -28,6 +28,7 @@ export var CardFooter = function CardFooter(_ref) {
28
28
  primaryButtonIcon = _ref.primaryButtonIcon,
29
29
  _ref$primaryButtonKin = _ref.primaryButtonKind,
30
30
  primaryButtonKind = _ref$primaryButtonKin === void 0 ? defaults.primaryButtonKind : _ref$primaryButtonKin,
31
+ primaryButtonPlacement = _ref.primaryButtonPlacement,
31
32
  primaryButtonText = _ref.primaryButtonText,
32
33
  _ref$productive = _ref.productive,
33
34
  productive = _ref$productive === void 0 ? defaults.productive : _ref$productive,
@@ -47,7 +48,7 @@ export var CardFooter = function CardFooter(_ref) {
47
48
  size: "md",
48
49
  renderIcon: secondaryButtonIcon,
49
50
  href: secondaryButtonHref
50
- }, secondaryButtonText), primaryButtonText && /*#__PURE__*/React.createElement(Button, {
51
+ }, secondaryButtonText), primaryButtonText && primaryButtonPlacement === 'bottom' && /*#__PURE__*/React.createElement(Button, {
51
52
  kind: productive ? 'ghost' : primaryButtonKind,
52
53
  onClick: onPrimaryButtonClick,
53
54
  size: "md",
@@ -66,6 +67,7 @@ CardFooter.propTypes = {
66
67
  primaryButtonHref: PropTypes.string,
67
68
  primaryButtonIcon: PropTypes.string,
68
69
  primaryButtonKind: PropTypes.oneOf(['primary', 'ghost']),
70
+ primaryButtonPlacement: PropTypes.oneOf(['top', 'bottom']),
69
71
  primaryButtonText: PropTypes.string,
70
72
  productive: PropTypes.bool,
71
73
  secondaryButtonHref: PropTypes.string,
@@ -9,6 +9,7 @@ import React from 'react';
9
9
  import cx from 'classnames';
10
10
  import PropTypes from 'prop-types';
11
11
  import { pkg } from '../../settings';
12
+ import { Button } from '@carbon/react';
12
13
  var componentName = 'CardHeader';
13
14
  var defaults = {
14
15
  hasActions: false,
@@ -18,6 +19,11 @@ export var CardHeader = function CardHeader(_ref) {
18
19
  var _cx;
19
20
 
20
21
  var actions = _ref.actions,
22
+ noActionIcons = _ref.noActionIcons,
23
+ onPrimaryButtonClick = _ref.onPrimaryButtonClick,
24
+ primaryButtonIcon = _ref.primaryButtonIcon,
25
+ primaryButtonPlacement = _ref.primaryButtonPlacement,
26
+ primaryButtonText = _ref.primaryButtonText,
21
27
  description = _ref.description,
22
28
  _ref$hasActions = _ref.hasActions,
23
29
  hasActions = _ref$hasActions === void 0 ? defaults.hasActions : _ref$hasActions,
@@ -28,6 +34,8 @@ export var CardHeader = function CardHeader(_ref) {
28
34
  var blockClass = "".concat(pkg.prefix, "--card");
29
35
  var headerClass = "".concat(blockClass, "__header");
30
36
  var headerClasses = cx(headerClass, (_cx = {}, _defineProperty(_cx, "".concat(headerClass, "-label-only"), label && !title && !description), _defineProperty(_cx, "".concat(headerClass, "-has-label"), !!label), _defineProperty(_cx, "".concat(blockClass, "__title-lg"), titleSize === 'large'), _cx));
37
+ var actionGhostButton = "".concat(blockClass, "__actions-header-ghost-button");
38
+ var actionGhostButtonClass = cx(actionGhostButton, _defineProperty({}, "".concat(actionGhostButton, "--only"), noActionIcons));
31
39
  return /*#__PURE__*/React.createElement("div", {
32
40
  className: headerClasses
33
41
  }, /*#__PURE__*/React.createElement("div", {
@@ -42,13 +50,24 @@ export var CardHeader = function CardHeader(_ref) {
42
50
  className: "".concat(blockClass, "__description")
43
51
  }, description)), hasActions && /*#__PURE__*/React.createElement("div", {
44
52
  className: "".concat(blockClass, "__actions ").concat(blockClass, "__actions-header")
45
- }, actions)));
53
+ }, actions, primaryButtonText && primaryButtonPlacement === 'top' && /*#__PURE__*/React.createElement(Button, {
54
+ kind: "ghost",
55
+ size: "small",
56
+ renderIcon: primaryButtonIcon,
57
+ onClick: onPrimaryButtonClick,
58
+ className: actionGhostButtonClass
59
+ }, primaryButtonText))));
46
60
  };
47
61
  CardHeader.propTypes = {
48
62
  actions: PropTypes.oneOfType([PropTypes.array, PropTypes.node]),
49
63
  description: PropTypes.string,
50
64
  hasActions: PropTypes.bool,
51
65
  label: PropTypes.string,
66
+ noActionIcons: PropTypes.bool,
67
+ onPrimaryButtonClick: PropTypes.func,
68
+ primaryButtonIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
69
+ primaryButtonPlacement: PropTypes.oneOf(['top', 'bottom']),
70
+ primaryButtonText: PropTypes.string,
52
71
  title: PropTypes.string,
53
72
  titleSize: PropTypes.oneOf(['default', 'large'])
54
73
  };
@@ -17,7 +17,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
17
17
  * This source code is licensed under the Apache-2.0 license found in the
18
18
  * LICENSE file in the root directory of this source tree.
19
19
  */
20
- import { ChevronDown, ChevronUp } from '@carbon/icons-react';
20
+ import { ChevronDown, ChevronUp } from '@carbon/react/icons';
21
21
  import { Button, OverflowMenuItem, OverflowMenu } from '@carbon/react';
22
22
  import classnames from 'classnames';
23
23
  import { node, shape, string } from 'prop-types';
@@ -1,7 +1,7 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
3
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
- var _excluded = ["backButtonText", "cancelButtonText", "children", "className", "modalDangerButtonText", "modalDescription", "modalSecondaryButtonText", "modalTitle", "nextButtonText", "onClose", "onRequestSubmit", "submitButtonText"];
4
+ var _excluded = ["backButtonText", "cancelButtonText", "children", "className", "modalDangerButtonText", "modalDescription", "modalSecondaryButtonText", "modalTitle", "nextButtonText", "onClose", "onRequestSubmit", "firstFocusElement", "submitButtonText"];
5
5
 
6
6
  /**
7
7
  * Copyright IBM Corp. 2021, 2022
@@ -43,6 +43,7 @@ export var CreateFullPage = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
43
43
  nextButtonText = _ref.nextButtonText,
44
44
  onClose = _ref.onClose,
45
45
  onRequestSubmit = _ref.onRequestSubmit,
46
+ firstFocusElement = _ref.firstFocusElement,
46
47
  submitButtonText = _ref.submitButtonText,
47
48
  rest = _objectWithoutProperties(_ref, _excluded);
48
49
 
@@ -124,7 +125,8 @@ export var CreateFullPage = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
124
125
  previousState: previousState,
125
126
  currentStep: currentStep,
126
127
  blockClass: blockClass,
127
- onMount: onMount
128
+ onMount: onMount,
129
+ firstFocusElement: firstFocusElement
128
130
  });
129
131
  useValidCreateStepCount(stepData.length, componentName);
130
132
  useCreateComponentStepChange({
@@ -198,7 +200,10 @@ export var CreateFullPage = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
198
200
  className: "".concat(blockClass, "__modal"),
199
201
  size: "sm",
200
202
  open: modalIsOpen,
201
- "aria-label": modalTitle
203
+ "aria-label": modalTitle,
204
+ onClose: function onClose() {
205
+ setModalIsOpen(false);
206
+ }
202
207
  }, /*#__PURE__*/React.createElement(ModalHeader, {
203
208
  title: modalTitle
204
209
  }), /*#__PURE__*/React.createElement(ModalBody, null, /*#__PURE__*/React.createElement("p", null, modalDescription)), /*#__PURE__*/React.createElement(ModalFooter, null, /*#__PURE__*/React.createElement(Button, {
@@ -242,6 +247,11 @@ CreateFullPage.propTypes = {
242
247
  */
243
248
  className: PropTypes.string,
244
249
 
250
+ /**
251
+ * Specifies elements to focus on first on render.
252
+ */
253
+ firstFocusElement: PropTypes.string,
254
+
245
255
  /**
246
256
  * The primary 'danger' button text in the modal
247
257
  */
@@ -1,7 +1,7 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
3
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
- var _excluded = ["backButtonText", "cancelButtonText", "children", "className", "description", "influencerWidth", "initialStep", "label", "nextButtonText", "onClose", "onRequestSubmit", "open", "submitButtonText", "title", "verticalPosition"];
4
+ var _excluded = ["backButtonText", "cancelButtonText", "children", "className", "description", "influencerWidth", "initialStep", "label", "nextButtonText", "onClose", "onRequestSubmit", "open", "firstFocusElement", "submitButtonText", "title", "verticalPosition"];
5
5
 
6
6
  /**
7
7
  * Copyright IBM Corp. 2021, 2022
@@ -20,6 +20,7 @@ import { pkg } from '../../settings';
20
20
  import { usePreviousValue, useValidCreateStepCount, useResetCreateComponent, useCreateComponentFocus, useCreateComponentStepChange } from '../../global/js/hooks';
21
21
  import { getDevtoolsProps } from '../../global/js/utils/devtools';
22
22
  import { lastIndexInArray } from '../../global/js/utils/lastIndexInArray';
23
+ import { getNumberOfHiddenSteps } from '../../global/js/utils/getNumberOfHiddenSteps';
23
24
  var componentName = 'CreateTearsheet';
24
25
  var blockClass = "".concat(pkg.prefix, "--tearsheet-create"); // This is a general context for the steps container
25
26
  // containing information about the state of the container
@@ -48,6 +49,7 @@ export var CreateTearsheet = /*#__PURE__*/forwardRef(function (_ref, ref) {
48
49
  onClose = _ref.onClose,
49
50
  onRequestSubmit = _ref.onRequestSubmit,
50
51
  open = _ref.open,
52
+ firstFocusElement = _ref.firstFocusElement,
51
53
  submitButtonText = _ref.submitButtonText,
52
54
  title = _ref.title,
53
55
  _ref$verticalPosition = _ref.verticalPosition,
@@ -122,12 +124,18 @@ export var CreateTearsheet = /*#__PURE__*/forwardRef(function (_ref, ref) {
122
124
  if (lastItem !== lastIncludedStep) {
123
125
  setLastIncludedStep(lastItem);
124
126
  }
125
- }, [stepData, firstIncludedStep, lastIncludedStep]);
127
+
128
+ if (open && initialStep) {
129
+ var numberOfHiddenSteps = getNumberOfHiddenSteps(stepData, initialStep);
130
+ setCurrentStep(Number(initialStep + numberOfHiddenSteps));
131
+ }
132
+ }, [stepData, firstIncludedStep, lastIncludedStep, initialStep, open]);
126
133
  useCreateComponentFocus({
127
134
  previousState: previousState,
128
135
  currentStep: currentStep,
129
136
  blockClass: blockClass,
130
- onMount: onMount
137
+ onMount: onMount,
138
+ firstFocusElement: firstFocusElement
131
139
  });
132
140
  useValidCreateStepCount(stepData.length, componentName);
133
141
  useResetCreateComponent({
@@ -135,6 +143,7 @@ export var CreateTearsheet = /*#__PURE__*/forwardRef(function (_ref, ref) {
135
143
  previousState: previousState,
136
144
  open: open,
137
145
  setCurrentStep: setCurrentStep,
146
+ stepData: stepData,
138
147
  initialStep: initialStep,
139
148
  totalSteps: stepData === null || stepData === void 0 ? void 0 : stepData.length,
140
149
  componentName: componentName
@@ -256,6 +265,11 @@ CreateTearsheet.propTypes = {
256
265
  */
257
266
  description: PropTypes.node,
258
267
 
268
+ /**
269
+ * Specifies elements to focus on first on render.
270
+ */
271
+ firstFocusElement: PropTypes.string,
272
+
259
273
  /**
260
274
  * Used to set the size of the influencer
261
275
  */
@@ -49,6 +49,7 @@ export var MultiStepTearsheet = function MultiStepTearsheet(_ref2) {
49
49
  cancelButtonText = _ref2.cancelButtonText,
50
50
  className = _ref2.className,
51
51
  description = _ref2.description,
52
+ firstFocusElement = _ref2.firstFocusElement,
52
53
  influencerWidth = _ref2.influencerWidth,
53
54
  label = _ref2.label,
54
55
  nextButtonText = _ref2.nextButtonText,
@@ -150,7 +151,8 @@ export var MultiStepTearsheet = function MultiStepTearsheet(_ref2) {
150
151
  resolve();
151
152
  }, simulatedDelay);
152
153
  });
153
- }
154
+ },
155
+ firstFocusElement: firstFocusElement
154
156
  }, /*#__PURE__*/React.createElement(CreateTearsheetStep, {
155
157
  onNext: function onNext() {
156
158
  return new Promise(function (resolve, reject) {
@@ -114,9 +114,9 @@ CreateTearsheetNarrow.propTypes = {
114
114
  formDescription: PropTypes.node,
115
115
 
116
116
  /**
117
- * Specifies a required field that provides a title for a form
117
+ * Specifies a field that provides a title for a form
118
118
  */
119
- formTitle: PropTypes.node.isRequired,
119
+ formTitle: PropTypes.node,
120
120
 
121
121
  /**
122
122
  * A label for the tearsheet, displayed in the header area of the tearsheet