@carbon/ibm-products 2.0.0-rc.3 → 2.0.0-rc.32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (766) hide show
  1. package/README.md +46 -21
  2. package/css/config.css +3 -0
  3. package/css/config.css.map +1 -0
  4. package/css/index-full-carbon.css +6711 -4153
  5. package/css/index-full-carbon.css.map +1 -1
  6. package/css/index-full-carbon.min.css +6 -10
  7. package/css/index-full-carbon.min.css.map +1 -1
  8. package/css/index-without-carbon-released-only.css +853 -698
  9. package/css/index-without-carbon-released-only.css.map +1 -1
  10. package/css/index-without-carbon-released-only.min.css +2 -10
  11. package/css/index-without-carbon-released-only.min.css.map +1 -1
  12. package/css/index-without-carbon.css +1080 -1011
  13. package/css/index-without-carbon.css.map +1 -1
  14. package/css/index-without-carbon.min.css +6 -10
  15. package/css/index-without-carbon.min.css.map +1 -1
  16. package/css/index.css +1524 -1091
  17. package/css/index.css.map +1 -1
  18. package/css/index.min.css +6 -10
  19. package/css/index.min.css.map +1 -1
  20. package/es/components/APIKeyModal/APIKeyDownloader.js +29 -41
  21. package/es/components/APIKeyModal/APIKeyModal.js +101 -185
  22. package/es/components/APIKeyModal/index.js +1 -0
  23. package/es/components/AboutModal/AboutModal.js +76 -111
  24. package/es/components/AboutModal/index.js +1 -0
  25. package/es/components/ActionBar/ActionBar.js +71 -90
  26. package/es/components/ActionBar/ActionBarItem.js +21 -22
  27. package/es/components/ActionBar/ActionBarOverflowItems.js +13 -12
  28. package/es/components/ActionBar/index.js +1 -0
  29. package/es/components/ActionSet/ActionSet.js +36 -42
  30. package/es/components/ActionSet/actions.js +1 -2
  31. package/es/components/ActionSet/index.js +1 -0
  32. package/es/components/AddSelect/AddSelect.js +9 -7
  33. package/es/components/AddSelect/AddSelectBody.js +119 -119
  34. package/es/components/AddSelect/AddSelectBreadcrumbs.js +10 -9
  35. package/es/components/AddSelect/AddSelectColumn.js +44 -56
  36. package/es/components/AddSelect/AddSelectFilter.js +32 -43
  37. package/es/components/AddSelect/AddSelectFormControl.js +82 -0
  38. package/es/components/AddSelect/AddSelectList.js +31 -218
  39. package/es/components/AddSelect/AddSelectMetaPanel.js +10 -5
  40. package/es/components/AddSelect/AddSelectRow.js +206 -0
  41. package/es/components/AddSelect/AddSelectSidebar.js +19 -23
  42. package/es/components/AddSelect/AddSelectSort.js +10 -8
  43. package/es/components/AddSelect/add-select-utils.js +10 -24
  44. package/es/components/AddSelect/hooks/useFocus.js +31 -0
  45. package/es/components/AddSelect/hooks/useItemSort.js +13 -8
  46. package/es/components/AddSelect/hooks/useParentSelect.js +10 -6
  47. package/es/components/AddSelect/hooks/usePath.js +27 -21
  48. package/es/components/AddSelect/index.js +2 -1
  49. package/es/components/BreadcrumbWithOverflow/BreadcrumbWithOverflow.js +75 -104
  50. package/es/components/BreadcrumbWithOverflow/index.js +2 -0
  51. package/es/components/ButtonMenu/ButtonMenu.js +39 -37
  52. package/es/components/ButtonMenu/ButtonMenuItem.js +10 -6
  53. package/es/components/ButtonMenu/index.js +1 -0
  54. package/es/components/ButtonSetWithOverflow/ButtonSetWithOverflow.js +42 -64
  55. package/es/components/ButtonSetWithOverflow/index.js +1 -0
  56. package/es/components/Card/Card.js +64 -80
  57. package/es/components/Card/CardFooter.js +21 -20
  58. package/es/components/Card/CardHeader.js +15 -15
  59. package/es/components/Card/index.js +1 -0
  60. package/es/components/Cascade/Cascade.js +5 -14
  61. package/es/components/ComboButton/ComboButton.js +24 -35
  62. package/es/components/ComboButton/ComboButtonItem/index.js +4 -8
  63. package/es/components/ComboButton/index.js +1 -0
  64. package/es/components/CreateFullPage/CreateFullPage.js +80 -90
  65. package/es/components/CreateFullPage/CreateFullPageStep.js +44 -49
  66. package/es/components/CreateFullPage/index.js +1 -0
  67. package/es/components/CreateInfluencer/CreateInfluencer.js +14 -15
  68. package/es/components/CreateInfluencer/index.js +1 -0
  69. package/es/components/CreateModal/CreateModal.js +19 -31
  70. package/es/components/CreateModal/index.js +2 -0
  71. package/es/components/CreateSidePanel/CreateSidePanel.js +24 -37
  72. package/es/components/CreateSidePanel/index.js +1 -0
  73. package/es/components/CreateTearsheet/CreateTearsheet.js +80 -91
  74. package/es/components/CreateTearsheet/CreateTearsheetDivider.js +4 -4
  75. package/es/components/CreateTearsheet/CreateTearsheetStep.js +39 -50
  76. package/es/components/CreateTearsheet/index.js +1 -0
  77. package/es/components/CreateTearsheet/preview-components/MultiStepTearsheet.js +60 -84
  78. package/es/components/CreateTearsheet/preview-components/MultiStepWithIntro.js +50 -70
  79. package/es/components/CreateTearsheetNarrow/CreateTearsheetNarrow.js +32 -41
  80. package/es/components/CreateTearsheetNarrow/index.js +1 -0
  81. package/es/components/DataSpreadsheet/DataSpreadsheet.js +139 -229
  82. package/es/components/DataSpreadsheet/DataSpreadsheetBody.js +62 -113
  83. package/es/components/DataSpreadsheet/DataSpreadsheetHeader.js +25 -56
  84. package/es/components/DataSpreadsheet/hooks/index.js +1 -0
  85. package/es/components/DataSpreadsheet/hooks/useMoveActiveCell.js +6 -5
  86. package/es/components/DataSpreadsheet/hooks/useMultipleKeyTracking.js +23 -44
  87. package/es/components/DataSpreadsheet/hooks/useResetSpreadsheetFocus.js +5 -5
  88. package/es/components/DataSpreadsheet/hooks/useSpreadsheetEdit.js +18 -30
  89. package/es/components/DataSpreadsheet/hooks/useSpreadsheetMouseMove.js +10 -14
  90. package/es/components/DataSpreadsheet/hooks/useSpreadsheetMouseUp.js +34 -54
  91. package/es/components/DataSpreadsheet/hooks/useSpreadsheetOutsideClick.js +10 -10
  92. package/es/components/DataSpreadsheet/index.js +1 -0
  93. package/es/components/DataSpreadsheet/utils/checkActiveHeaderCell.js +4 -8
  94. package/es/components/DataSpreadsheet/utils/checkSelectedHeaderCell.js +3 -4
  95. package/es/components/DataSpreadsheet/utils/createActiveCellFn.js +15 -19
  96. package/es/components/DataSpreadsheet/utils/createCellSelectionArea.js +15 -17
  97. package/es/components/DataSpreadsheet/utils/generateData.js +4 -13
  98. package/es/components/DataSpreadsheet/utils/getCellSize.js +1 -6
  99. package/es/components/DataSpreadsheet/utils/getSelectionAreaPoints.js +1 -0
  100. package/es/components/DataSpreadsheet/utils/getSpreadsheetWidth.js +7 -9
  101. package/es/components/DataSpreadsheet/utils/handleActiveCellInSelectionEnter.js +20 -34
  102. package/es/components/DataSpreadsheet/utils/handleActiveCellInSelectionTab.js +20 -30
  103. package/es/components/DataSpreadsheet/utils/handleCellDeletion.js +18 -9
  104. package/es/components/DataSpreadsheet/utils/handleEditSubmit.js +13 -20
  105. package/es/components/DataSpreadsheet/utils/handleHeaderCellSelection.js +22 -44
  106. package/es/components/DataSpreadsheet/utils/handleMultipleKeys.js +40 -75
  107. package/es/components/DataSpreadsheet/utils/moveColumnIndicatorLine.js +6 -8
  108. package/es/components/DataSpreadsheet/utils/removeCellSelections.js +6 -8
  109. package/es/components/DataSpreadsheet/utils/selectAllCells.js +7 -11
  110. package/es/components/Datagrid/Datagrid/Datagrid.js +21 -17
  111. package/es/components/Datagrid/Datagrid/DatagridBody.js +4 -10
  112. package/es/components/Datagrid/Datagrid/DatagridContent.js +89 -57
  113. package/es/components/Datagrid/Datagrid/DatagridEmptyBody.js +29 -26
  114. package/es/components/Datagrid/Datagrid/DatagridExpandedRow.js +4 -6
  115. package/es/components/Datagrid/Datagrid/DatagridHead.js +7 -8
  116. package/es/components/Datagrid/Datagrid/DatagridHeaderRow.js +8 -13
  117. package/es/components/Datagrid/Datagrid/DatagridRefBody.js +8 -9
  118. package/es/components/Datagrid/Datagrid/DatagridRow.js +76 -28
  119. package/es/components/Datagrid/Datagrid/DatagridSelectAll.js +29 -24
  120. package/es/components/Datagrid/Datagrid/DatagridSelectAllWithToggle.js +47 -44
  121. package/es/components/Datagrid/Datagrid/DatagridSimpleBody.js +6 -10
  122. package/es/components/Datagrid/Datagrid/DatagridToolbar.js +37 -46
  123. package/es/components/Datagrid/Datagrid/DatagridVirtualBody.js +53 -31
  124. package/es/components/Datagrid/Datagrid/DraggableElement.js +82 -89
  125. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/Actions.js +10 -14
  126. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/ButtonWrapper.js +18 -21
  127. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/Columns.js +37 -85
  128. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsTearsheet.js +176 -0
  129. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/DraggableItemsList.js +109 -0
  130. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/TearsheetWrapper.js +51 -0
  131. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/common.js +1 -1
  132. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/index.js +2 -1
  133. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +244 -0
  134. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +269 -0
  135. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.js +83 -0
  136. package/es/components/Datagrid/Datagrid/addons/Filtering/constants.js +27 -0
  137. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/index.js +11 -0
  138. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +299 -0
  139. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useInitialStateFromFilters.js +21 -0
  140. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useShouldDisableButtons.js +34 -0
  141. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useSubscribeToEventEmitter.js +23 -0
  142. package/es/components/Datagrid/Datagrid/addons/Filtering/index.js +9 -0
  143. package/es/components/Datagrid/Datagrid/addons/Filtering/motion/variants.js +55 -0
  144. package/es/components/Datagrid/Datagrid/addons/Filtering/utils.js +84 -0
  145. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/InlineEditButton.js +11 -12
  146. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +73 -118
  147. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/InlineEditContext.js +7 -21
  148. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/getCellIdAsObject.js +1 -1
  149. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/returnUpdatedActiveCell.js +9 -14
  150. package/es/components/Datagrid/Datagrid/addons/InlineEdit/handleGridFocus.js +2 -3
  151. package/es/components/Datagrid/Datagrid/addons/InlineEdit/handleGridKeyPress.js +29 -64
  152. package/es/components/Datagrid/Datagrid/addons/InlineEdit/handleMultipleKeys.js +14 -21
  153. package/es/components/Datagrid/Datagrid/addons/RowSize/RowSizeDropdown.js +35 -33
  154. package/es/components/Datagrid/Datagrid/addons/RowSize/RowSizeRadioGroup.js +19 -27
  155. package/es/components/Datagrid/Datagrid/addons/RowSize/index.js +1 -0
  156. package/es/components/Datagrid/Datagrid/index.js +1 -0
  157. package/es/components/Datagrid/Datagrid.stories/StickyActionsColumnStory.js +10 -0
  158. package/es/components/Datagrid/Datagrid.stories/common.js +2 -11
  159. package/es/components/Datagrid/Datagrid.stories/index.js +0 -1
  160. package/es/components/Datagrid/common-column-ids.js +1 -0
  161. package/es/components/Datagrid/index.js +10 -7
  162. package/es/components/Datagrid/useActionsColumn.js +42 -32
  163. package/es/components/Datagrid/useColumnCenterAlign.js +0 -8
  164. package/es/components/Datagrid/useColumnOrder.js +1 -0
  165. package/es/components/Datagrid/useColumnRightAlign.js +0 -8
  166. package/es/components/Datagrid/useCustomizeColumns.js +11 -19
  167. package/es/components/Datagrid/useDatagrid.js +0 -7
  168. package/es/components/Datagrid/useDefaultStringRenderer.js +1 -10
  169. package/es/components/Datagrid/useDisableSelectRows.js +2 -10
  170. package/es/components/Datagrid/useEditableCell.js +12 -0
  171. package/es/components/Datagrid/useExpandedRow.js +5 -15
  172. package/es/components/Datagrid/useFiltering.js +91 -0
  173. package/es/components/Datagrid/useFlexResize.js +0 -7
  174. package/es/components/Datagrid/useFloatingScroll.js +9 -22
  175. package/es/components/Datagrid/useInfiniteScroll.js +15 -17
  176. package/es/components/Datagrid/useInlineEdit.js +17 -20
  177. package/es/components/Datagrid/useNestedRowExpander.js +7 -8
  178. package/es/components/Datagrid/useNestedRows.js +13 -12
  179. package/es/components/Datagrid/useOnRowClick.js +16 -13
  180. package/es/components/Datagrid/useParentDimensions.js +9 -17
  181. package/es/components/Datagrid/useResizeTable.js +1 -7
  182. package/es/components/Datagrid/useRowExpander.js +11 -8
  183. package/es/components/Datagrid/useRowIsMouseOver.js +6 -15
  184. package/es/components/Datagrid/useRowRenderer.js +0 -5
  185. package/es/components/Datagrid/useRowSize.js +8 -20
  186. package/es/components/Datagrid/useSelectAllToggle.js +27 -24
  187. package/es/components/Datagrid/useSelectRows.js +30 -31
  188. package/es/components/Datagrid/useSkeletonRows.js +1 -6
  189. package/es/components/Datagrid/useSortableColumns.js +33 -39
  190. package/es/components/Datagrid/useStickyColumn.js +21 -36
  191. package/es/components/Datagrid/utils/DatagridActions.js +166 -79
  192. package/es/components/Datagrid/utils/DatagridPagination.js +5 -6
  193. package/es/components/Datagrid/utils/Wrapper.js +1 -1
  194. package/es/components/Datagrid/utils/getArgTypes.js +10 -0
  195. package/es/components/Datagrid/utils/getAutoSizedColumnWidth.js +27 -0
  196. package/es/components/Datagrid/utils/getInlineEditColumns.js +8 -4
  197. package/es/components/Datagrid/utils/makeData.js +23 -30
  198. package/es/components/EditFullPage/EditFullPage.js +27 -20
  199. package/es/components/EditFullPage/index.js +1 -0
  200. package/es/components/EditInPlace/EditInPlace.js +303 -0
  201. package/es/components/{InlineEdit → EditInPlace}/index.js +2 -1
  202. package/es/components/EditSidePanel/EditSidePanel.js +38 -51
  203. package/es/components/EditSidePanel/index.js +1 -0
  204. package/es/components/EditTearsheet/EditTearsheet.js +35 -45
  205. package/es/components/EditTearsheet/EditTearsheetForm.js +19 -25
  206. package/es/components/EditTearsheet/index.js +1 -0
  207. package/es/components/EditTearsheet/preview-components/MultiFormEditTearsheet.js +37 -49
  208. package/es/components/EditTearsheetNarrow/EditTearsheetNarrow.js +27 -20
  209. package/es/components/EditTearsheetNarrow/index.js +1 -0
  210. package/es/components/EditUpdateCards/EditUpdateCards.js +142 -0
  211. package/es/components/EditUpdateCards/index.js +8 -0
  212. package/es/components/EmptyStates/EmptyState.js +33 -36
  213. package/es/components/EmptyStates/EmptyStateContent.js +19 -18
  214. package/es/components/EmptyStates/ErrorEmptyState/ErrorEmptyState.js +28 -26
  215. package/es/components/EmptyStates/ErrorEmptyState/index.js +1 -0
  216. package/es/components/EmptyStates/NoDataEmptyState/NoDataEmptyState.js +28 -26
  217. package/es/components/EmptyStates/NoDataEmptyState/index.js +1 -0
  218. package/es/components/EmptyStates/NoTagsEmptyState/NoTagsEmptyState.js +28 -26
  219. package/es/components/EmptyStates/NoTagsEmptyState/index.js +1 -0
  220. package/es/components/EmptyStates/NotFoundEmptyState/NotFoundEmptyState.js +28 -26
  221. package/es/components/EmptyStates/NotFoundEmptyState/index.js +1 -0
  222. package/es/components/EmptyStates/NotificationsEmptyState/NotificationsEmptyState.js +28 -26
  223. package/es/components/EmptyStates/NotificationsEmptyState/index.js +1 -0
  224. package/es/components/EmptyStates/UnauthorizedEmptyState/UnauthorizedEmptyState.js +28 -26
  225. package/es/components/EmptyStates/UnauthorizedEmptyState/index.js +1 -0
  226. package/es/components/EmptyStates/assets/ErrorIllustration.js +7 -6
  227. package/es/components/EmptyStates/assets/NoDataIllustration.js +7 -6
  228. package/es/components/EmptyStates/assets/NoTagsIllustration.js +7 -6
  229. package/es/components/EmptyStates/assets/NotFoundIllustration.js +7 -6
  230. package/es/components/EmptyStates/assets/NotificationsIllustration.js +7 -6
  231. package/es/components/EmptyStates/assets/UnauthorizedIllustration.js +7 -6
  232. package/es/components/EmptyStates/index.js +1 -0
  233. package/es/components/ExampleComponent/ExampleComponent.js +69 -48
  234. package/es/components/ExampleComponent/ExampleDeprecatedComponent.js +28 -0
  235. package/es/components/ExampleComponent/index.js +1 -0
  236. package/es/components/ExampleComponent/useExample.js +49 -0
  237. package/es/components/ExportModal/ExportModal.js +41 -80
  238. package/es/components/ExportModal/index.js +1 -0
  239. package/es/components/ExpressiveCard/ExpressiveCard.js +6 -23
  240. package/es/components/ExpressiveCard/index.js +1 -0
  241. package/es/components/FilterSummary/FilterSummary.js +54 -0
  242. package/es/components/FilterSummary/index.js +7 -0
  243. package/es/components/HTTPErrors/HTTPError403/HTTPError403.js +16 -18
  244. package/es/components/HTTPErrors/HTTPError403/index.js +1 -0
  245. package/es/components/HTTPErrors/HTTPError404/HTTPError404.js +16 -18
  246. package/es/components/HTTPErrors/HTTPError404/index.js +1 -0
  247. package/es/components/HTTPErrors/HTTPErrorContent.js +15 -18
  248. package/es/components/HTTPErrors/HTTPErrorOther/HTTPErrorOther.js +16 -18
  249. package/es/components/HTTPErrors/HTTPErrorOther/index.js +1 -0
  250. package/es/components/HTTPErrors/assets/HTTPErrorSvg403.js +6 -3
  251. package/es/components/HTTPErrors/assets/HTTPErrorSvg404.js +6 -3
  252. package/es/components/HTTPErrors/assets/HTTPErrorSvgOther.js +6 -3
  253. package/es/components/HTTPErrors/index.js +1 -0
  254. package/es/components/ImportModal/ImportModal.js +82 -137
  255. package/es/components/ImportModal/index.js +1 -0
  256. package/es/components/MultiAddSelect/MultiAddSelect.js +14 -29
  257. package/es/components/MultiAddSelect/index.js +7 -0
  258. package/es/components/NotificationsPanel/NotificationsPanel.js +85 -126
  259. package/es/components/NotificationsPanel/NotificationsPanel_data.js +1 -0
  260. package/es/components/NotificationsPanel/index.js +1 -0
  261. package/es/components/NotificationsPanel/preview-components/UnreadNotificationBell.js +1 -2
  262. package/es/components/NotificationsPanel/utils.js +13 -19
  263. package/es/components/OptionsTile/OptionsTile.js +73 -86
  264. package/es/components/OptionsTile/index.js +1 -0
  265. package/es/components/PageHeader/PageHeader.js +159 -225
  266. package/es/components/PageHeader/PageHeaderDemo.data.js +0 -1
  267. package/es/components/PageHeader/PageHeaderTitle.js +35 -39
  268. package/es/components/PageHeader/PageHeaderUtils.js +18 -45
  269. package/es/components/PageHeader/index.js +1 -0
  270. package/es/components/ProductiveCard/ProductiveCard.js +10 -27
  271. package/es/components/ProductiveCard/index.js +1 -0
  272. package/es/components/RemoveModal/RemoveModal.js +41 -47
  273. package/es/components/RemoveModal/index.js +1 -0
  274. package/es/components/Saving/Saving.js +15 -30
  275. package/es/components/Saving/index.js +1 -0
  276. package/es/components/SidePanel/SidePanel.js +166 -213
  277. package/es/components/SidePanel/constants.js +1 -0
  278. package/es/components/SidePanel/index.js +1 -0
  279. package/es/components/SidePanel/motion/variants.js +46 -0
  280. package/es/components/SingleAddSelect/SingleAddSelect.js +7 -14
  281. package/es/components/SingleAddSelect/index.js +7 -0
  282. package/es/components/StatusIcon/StatusIcon.js +5 -12
  283. package/es/components/StatusIcon/index.js +1 -0
  284. package/es/components/TagSet/TagSet.js +62 -97
  285. package/es/components/TagSet/TagSetModal.js +19 -30
  286. package/es/components/TagSet/TagSetOverflow.js +14 -23
  287. package/es/components/TagSet/constants.js +1 -0
  288. package/es/components/TagSet/index.js +1 -0
  289. package/es/components/Tearsheet/Tearsheet.js +37 -36
  290. package/es/components/Tearsheet/TearsheetNarrow.js +26 -25
  291. package/es/components/Tearsheet/TearsheetShell.js +92 -102
  292. package/es/components/Tearsheet/index.js +1 -0
  293. package/es/components/Toolbar/Toolbar.js +13 -27
  294. package/es/components/Toolbar/ToolbarButton.js +8 -14
  295. package/es/components/Toolbar/ToolbarGroup.js +4 -6
  296. package/es/components/Toolbar/index.js +1 -0
  297. package/es/components/UserProfileImage/UserProfileImage.js +26 -40
  298. package/es/components/UserProfileImage/index.js +2 -0
  299. package/es/components/WebTerminal/WebTerminal.js +44 -54
  300. package/es/components/WebTerminal/WebTerminalContentWrapper.js +14 -11
  301. package/es/components/WebTerminal/hooks/index.js +8 -7
  302. package/es/components/WebTerminal/index.js +1 -0
  303. package/es/components/WebTerminal/preview-components/Navigation.js +2 -4
  304. package/es/components/WebTerminal/preview-components/documentationLinks.js +1 -0
  305. package/es/components/_Canary/Canary.js +13 -13
  306. package/es/components/_Canary/index.js +1 -0
  307. package/es/components/index.js +6 -5
  308. package/es/global/js/hooks/index.js +3 -1
  309. package/es/global/js/hooks/useActiveElement.js +4 -6
  310. package/es/global/js/hooks/useClickOutside.js +1 -1
  311. package/es/global/js/hooks/useControllableState.js +74 -0
  312. package/es/global/js/hooks/useCreateComponentFocus.js +35 -13
  313. package/es/global/js/hooks/useCreateComponentStepChange.js +94 -131
  314. package/es/global/js/hooks/usePreviousValue.js +2 -1
  315. package/es/global/js/hooks/useResetCreateComponent.js +16 -11
  316. package/es/global/js/hooks/useResizeObserver.js +74 -0
  317. package/es/global/js/hooks/useRetrieveStepData.js +7 -10
  318. package/es/global/js/hooks/useValidCreateStepCount.js +2 -1
  319. package/es/global/js/hooks/useWindowResize.js +14 -16
  320. package/es/global/js/hooks/useWindowScroll.js +10 -14
  321. package/es/global/js/package-settings.js +32 -19
  322. package/es/global/js/utils/ClickListener.js +5 -10
  323. package/es/global/js/utils/DisplayBox.js +3 -2
  324. package/es/global/js/utils/Wrap.js +14 -17
  325. package/es/global/js/utils/deepCloneObject.js +5 -8
  326. package/es/global/js/utils/devtools.js +1 -4
  327. package/es/global/js/utils/getBezierValues.js +19 -0
  328. package/es/global/js/utils/getFocusableElements.js +1 -1
  329. package/es/global/js/utils/getNumberOfHiddenSteps.js +19 -0
  330. package/es/global/js/utils/getScrollbarWidth.js +1 -0
  331. package/es/global/js/utils/keyboardNavigation.js +7 -5
  332. package/es/global/js/utils/lastIndexInArray.js +0 -2
  333. package/es/global/js/utils/motionConstants.js +44 -0
  334. package/es/global/js/utils/pconsole.js +1 -3
  335. package/es/global/js/utils/props-helper.js +19 -35
  336. package/es/global/js/utils/rangeWithCallback.js +1 -0
  337. package/es/global/js/utils/scrollableAncestor.js +6 -9
  338. package/es/global/js/utils/story-helper.js +39 -10
  339. package/es/global/js/utils/test-helper.js +71 -59
  340. package/es/global/js/utils/unwrap-if-fragment.js +9 -17
  341. package/es/global/js/utils/uuidv4.js +1 -2
  342. package/es/global/js/utils/uuidv4.spec.js +1 -1
  343. package/es/global/js/utils/wait.js +1 -1
  344. package/es/global/js/utils/wrapFocus.js +8 -14
  345. package/es/index.js +1 -0
  346. package/es/settings.js +48 -29
  347. package/lib/components/APIKeyModal/APIKeyDownloader.js +29 -54
  348. package/lib/components/APIKeyModal/APIKeyModal.js +106 -207
  349. package/lib/components/APIKeyModal/index.js +0 -1
  350. package/lib/components/AboutModal/AboutModal.js +79 -128
  351. package/lib/components/AboutModal/index.js +0 -1
  352. package/lib/components/ActionBar/ActionBar.js +73 -106
  353. package/lib/components/ActionBar/ActionBarItem.js +23 -29
  354. package/lib/components/ActionBar/ActionBarOverflowItems.js +11 -22
  355. package/lib/components/ActionBar/index.js +0 -2
  356. package/lib/components/ActionSet/ActionSet.js +41 -52
  357. package/lib/components/ActionSet/actions.js +1 -5
  358. package/lib/components/ActionSet/index.js +0 -1
  359. package/lib/components/AddSelect/AddSelect.js +13 -19
  360. package/lib/components/AddSelect/AddSelectBody.js +121 -147
  361. package/lib/components/AddSelect/AddSelectBreadcrumbs.js +10 -19
  362. package/lib/components/AddSelect/AddSelectColumn.js +47 -76
  363. package/lib/components/AddSelect/AddSelectFilter.js +35 -57
  364. package/lib/components/AddSelect/AddSelectFormControl.js +90 -0
  365. package/lib/components/AddSelect/AddSelectList.js +30 -232
  366. package/lib/components/AddSelect/AddSelectMetaPanel.js +9 -17
  367. package/lib/components/AddSelect/AddSelectRow.js +217 -0
  368. package/lib/components/AddSelect/AddSelectSidebar.js +23 -33
  369. package/lib/components/AddSelect/AddSelectSort.js +10 -19
  370. package/lib/components/AddSelect/add-select-utils.js +10 -34
  371. package/lib/components/AddSelect/hooks/useFocus.js +39 -0
  372. package/lib/components/AddSelect/hooks/useItemSort.js +12 -12
  373. package/lib/components/AddSelect/hooks/useParentSelect.js +9 -8
  374. package/lib/components/AddSelect/hooks/usePath.js +26 -23
  375. package/lib/components/AddSelect/index.js +0 -1
  376. package/lib/components/BreadcrumbWithOverflow/BreadcrumbWithOverflow.js +75 -116
  377. package/lib/components/BreadcrumbWithOverflow/index.js +0 -1
  378. package/lib/components/ButtonMenu/ButtonMenu.js +40 -41
  379. package/lib/components/ButtonMenu/ButtonMenuItem.js +9 -10
  380. package/lib/components/ButtonMenu/index.js +0 -2
  381. package/lib/components/ButtonSetWithOverflow/ButtonSetWithOverflow.js +46 -83
  382. package/lib/components/ButtonSetWithOverflow/index.js +0 -1
  383. package/lib/components/Card/Card.js +66 -91
  384. package/lib/components/Card/CardFooter.js +21 -30
  385. package/lib/components/Card/CardHeader.js +15 -25
  386. package/lib/components/Card/index.js +0 -3
  387. package/lib/components/Cascade/Cascade.js +10 -31
  388. package/lib/components/Cascade/index.js +0 -1
  389. package/lib/components/ComboButton/ComboButton.js +29 -49
  390. package/lib/components/ComboButton/ComboButtonItem/index.js +2 -10
  391. package/lib/components/ComboButton/index.js +0 -2
  392. package/lib/components/CreateFullPage/CreateFullPage.js +83 -107
  393. package/lib/components/CreateFullPage/CreateFullPageStep.js +47 -63
  394. package/lib/components/CreateFullPage/index.js +0 -2
  395. package/lib/components/CreateInfluencer/CreateInfluencer.js +13 -24
  396. package/lib/components/CreateInfluencer/index.js +0 -1
  397. package/lib/components/CreateModal/CreateModal.js +24 -39
  398. package/lib/components/CreateModal/index.js +0 -1
  399. package/lib/components/CreateSidePanel/CreateSidePanel.js +26 -46
  400. package/lib/components/CreateSidePanel/index.js +0 -1
  401. package/lib/components/CreateTearsheet/CreateTearsheet.js +85 -110
  402. package/lib/components/CreateTearsheet/CreateTearsheetDivider.js +9 -14
  403. package/lib/components/CreateTearsheet/CreateTearsheetStep.js +43 -65
  404. package/lib/components/CreateTearsheet/index.js +0 -3
  405. package/lib/components/CreateTearsheet/preview-components/MultiStepTearsheet.js +65 -96
  406. package/lib/components/CreateTearsheet/preview-components/MultiStepWithIntro.js +50 -84
  407. package/lib/components/CreateTearsheetNarrow/CreateTearsheetNarrow.js +35 -49
  408. package/lib/components/CreateTearsheetNarrow/index.js +0 -1
  409. package/lib/components/DataSpreadsheet/DataSpreadsheet.js +141 -259
  410. package/lib/components/DataSpreadsheet/DataSpreadsheetBody.js +67 -136
  411. package/lib/components/DataSpreadsheet/DataSpreadsheetHeader.js +30 -76
  412. package/lib/components/DataSpreadsheet/hooks/index.js +0 -7
  413. package/lib/components/DataSpreadsheet/hooks/useMoveActiveCell.js +4 -7
  414. package/lib/components/DataSpreadsheet/hooks/useMultipleKeyTracking.js +23 -48
  415. package/lib/components/DataSpreadsheet/hooks/useResetSpreadsheetFocus.js +5 -9
  416. package/lib/components/DataSpreadsheet/hooks/useSpreadsheetEdit.js +18 -37
  417. package/lib/components/DataSpreadsheet/hooks/useSpreadsheetMouseMove.js +7 -18
  418. package/lib/components/DataSpreadsheet/hooks/useSpreadsheetMouseUp.js +39 -62
  419. package/lib/components/DataSpreadsheet/hooks/useSpreadsheetOutsideClick.js +8 -14
  420. package/lib/components/DataSpreadsheet/index.js +0 -1
  421. package/lib/components/DataSpreadsheet/utils/checkActiveHeaderCell.js +1 -9
  422. package/lib/components/DataSpreadsheet/utils/checkSelectedHeaderCell.js +3 -7
  423. package/lib/components/DataSpreadsheet/utils/createActiveCellFn.js +15 -23
  424. package/lib/components/DataSpreadsheet/utils/createCellSelectionArea.js +15 -22
  425. package/lib/components/DataSpreadsheet/utils/generateData.js +4 -16
  426. package/lib/components/DataSpreadsheet/utils/getCellSize.js +1 -8
  427. package/lib/components/DataSpreadsheet/utils/getSelectionAreaPoints.js +1 -2
  428. package/lib/components/DataSpreadsheet/utils/getSpreadsheetWidth.js +7 -12
  429. package/lib/components/DataSpreadsheet/utils/handleActiveCellInSelectionEnter.js +25 -39
  430. package/lib/components/DataSpreadsheet/utils/handleActiveCellInSelectionTab.js +20 -33
  431. package/lib/components/DataSpreadsheet/utils/handleCellDeletion.js +18 -13
  432. package/lib/components/DataSpreadsheet/utils/handleEditSubmit.js +16 -25
  433. package/lib/components/DataSpreadsheet/utils/handleHeaderCellSelection.js +22 -50
  434. package/lib/components/DataSpreadsheet/utils/handleMultipleKeys.js +45 -85
  435. package/lib/components/DataSpreadsheet/utils/moveColumnIndicatorLine.js +6 -12
  436. package/lib/components/DataSpreadsheet/utils/removeCellSelections.js +4 -10
  437. package/lib/components/DataSpreadsheet/utils/selectAllCells.js +12 -17
  438. package/lib/components/Datagrid/Datagrid/Datagrid.js +26 -31
  439. package/lib/components/Datagrid/Datagrid/DatagridBody.js +5 -16
  440. package/lib/components/Datagrid/Datagrid/DatagridContent.js +89 -80
  441. package/lib/components/Datagrid/Datagrid/DatagridEmptyBody.js +28 -31
  442. package/lib/components/Datagrid/Datagrid/DatagridExpandedRow.js +4 -10
  443. package/lib/components/Datagrid/Datagrid/DatagridHead.js +6 -11
  444. package/lib/components/Datagrid/Datagrid/DatagridHeaderRow.js +8 -20
  445. package/lib/components/Datagrid/Datagrid/DatagridRefBody.js +15 -16
  446. package/lib/components/Datagrid/Datagrid/DatagridRow.js +85 -46
  447. package/lib/components/Datagrid/Datagrid/DatagridSelectAll.js +40 -32
  448. package/lib/components/Datagrid/Datagrid/DatagridSelectAllWithToggle.js +45 -50
  449. package/lib/components/Datagrid/Datagrid/DatagridSimpleBody.js +12 -17
  450. package/lib/components/Datagrid/Datagrid/DatagridToolbar.js +37 -59
  451. package/lib/components/Datagrid/Datagrid/DatagridVirtualBody.js +58 -40
  452. package/lib/components/Datagrid/Datagrid/DraggableElement.js +82 -101
  453. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/Actions.js +10 -23
  454. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/ButtonWrapper.js +18 -25
  455. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/Columns.js +36 -99
  456. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsTearsheet.js +184 -0
  457. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/DraggableItemsList.js +117 -0
  458. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/TearsheetWrapper.js +61 -0
  459. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/common.js +1 -5
  460. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/index.js +3 -6
  461. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +255 -0
  462. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +280 -0
  463. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.js +96 -0
  464. package/lib/components/Datagrid/Datagrid/addons/Filtering/constants.js +45 -0
  465. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/index.js +34 -0
  466. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +309 -0
  467. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useInitialStateFromFilters.js +30 -0
  468. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useShouldDisableButtons.js +41 -0
  469. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useSubscribeToEventEmitter.js +30 -0
  470. package/lib/components/Datagrid/Datagrid/addons/Filtering/index.js +33 -0
  471. package/lib/components/Datagrid/Datagrid/addons/Filtering/motion/variants.js +64 -0
  472. package/lib/components/Datagrid/Datagrid/addons/Filtering/utils.js +91 -0
  473. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/InlineEditButton.js +11 -20
  474. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/index.js +0 -1
  475. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +80 -140
  476. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/index.js +0 -1
  477. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/InlineEditContext.js +12 -33
  478. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/getCellIdAsObject.js +1 -3
  479. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/index.js +0 -1
  480. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/returnUpdatedActiveCell.js +14 -19
  481. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/handleGridFocus.js +2 -5
  482. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/handleGridKeyPress.js +34 -72
  483. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/handleMultipleKeys.js +14 -27
  484. package/lib/components/Datagrid/Datagrid/addons/RowSize/RowSizeDropdown.js +34 -41
  485. package/lib/components/Datagrid/Datagrid/addons/RowSize/RowSizeRadioGroup.js +19 -38
  486. package/lib/components/Datagrid/Datagrid/addons/RowSize/index.js +0 -2
  487. package/lib/components/Datagrid/Datagrid/index.js +0 -1
  488. package/lib/components/Datagrid/Datagrid.stories/StickyActionsColumnStory.js +10 -0
  489. package/lib/components/Datagrid/Datagrid.stories/common.js +2 -17
  490. package/lib/components/Datagrid/Datagrid.stories/index.js +0 -13
  491. package/lib/components/Datagrid/common-column-ids.js +1 -1
  492. package/lib/components/Datagrid/index.js +22 -20
  493. package/lib/components/Datagrid/useActionsColumn.js +49 -38
  494. package/lib/components/Datagrid/useColumnCenterAlign.js +7 -15
  495. package/lib/components/Datagrid/useColumnOrder.js +0 -2
  496. package/lib/components/Datagrid/useColumnRightAlign.js +7 -15
  497. package/lib/components/Datagrid/useCustomizeColumns.js +17 -26
  498. package/lib/components/Datagrid/useDatagrid.js +7 -21
  499. package/lib/components/Datagrid/useDefaultStringRenderer.js +8 -17
  500. package/lib/components/Datagrid/useDisableSelectRows.js +2 -11
  501. package/lib/components/Datagrid/useEditableCell.js +20 -0
  502. package/lib/components/Datagrid/useExpandedRow.js +12 -21
  503. package/lib/components/Datagrid/useFiltering.js +98 -0
  504. package/lib/components/Datagrid/useFlexResize.js +0 -9
  505. package/lib/components/Datagrid/useFloatingScroll.js +10 -27
  506. package/lib/components/Datagrid/useInfiniteScroll.js +15 -21
  507. package/lib/components/Datagrid/useInlineEdit.js +20 -26
  508. package/lib/components/Datagrid/useNestedRowExpander.js +7 -14
  509. package/lib/components/Datagrid/useNestedRows.js +14 -16
  510. package/lib/components/Datagrid/useOnRowClick.js +16 -14
  511. package/lib/components/Datagrid/useParentDimensions.js +10 -19
  512. package/lib/components/Datagrid/useResizeTable.js +2 -8
  513. package/lib/components/Datagrid/useRowExpander.js +12 -11
  514. package/lib/components/Datagrid/useRowIsMouseOver.js +12 -20
  515. package/lib/components/Datagrid/useRowRenderer.js +1 -7
  516. package/lib/components/Datagrid/useRowSize.js +14 -25
  517. package/lib/components/Datagrid/useSelectAllToggle.js +31 -31
  518. package/lib/components/Datagrid/useSelectRows.js +40 -44
  519. package/lib/components/Datagrid/useSkeletonRows.js +1 -8
  520. package/lib/components/Datagrid/useSortableColumns.js +33 -41
  521. package/lib/components/Datagrid/useStickyColumn.js +26 -42
  522. package/lib/components/Datagrid/utils/DatagridActions.js +168 -88
  523. package/lib/components/Datagrid/utils/DatagridPagination.js +5 -11
  524. package/lib/components/Datagrid/utils/Wrapper.js +1 -5
  525. package/lib/components/Datagrid/utils/getArgTypes.js +10 -1
  526. package/lib/components/Datagrid/utils/getAutoSizedColumnWidth.js +35 -0
  527. package/lib/components/Datagrid/utils/getInlineEditColumns.js +8 -10
  528. package/lib/components/Datagrid/utils/makeData.js +29 -41
  529. package/lib/components/EditFullPage/EditFullPage.js +30 -26
  530. package/lib/components/EditFullPage/index.js +0 -1
  531. package/lib/components/EditInPlace/EditInPlace.js +312 -0
  532. package/lib/components/{InlineEdit → EditInPlace}/index.js +3 -4
  533. package/lib/components/EditSidePanel/EditSidePanel.js +40 -59
  534. package/lib/components/EditSidePanel/index.js +0 -1
  535. package/lib/components/EditTearsheet/EditTearsheet.js +39 -61
  536. package/lib/components/EditTearsheet/EditTearsheetForm.js +24 -39
  537. package/lib/components/EditTearsheet/index.js +0 -2
  538. package/lib/components/EditTearsheet/preview-components/MultiFormEditTearsheet.js +37 -62
  539. package/lib/components/EditTearsheetNarrow/EditTearsheetNarrow.js +30 -26
  540. package/lib/components/EditTearsheetNarrow/index.js +0 -1
  541. package/lib/components/EditUpdateCards/EditUpdateCards.js +146 -0
  542. package/lib/components/EditUpdateCards/index.js +12 -0
  543. package/lib/components/EmptyStates/EmptyState.js +36 -49
  544. package/lib/components/EmptyStates/EmptyStateContent.js +21 -27
  545. package/lib/components/EmptyStates/ErrorEmptyState/ErrorEmptyState.js +31 -39
  546. package/lib/components/EmptyStates/ErrorEmptyState/index.js +0 -1
  547. package/lib/components/EmptyStates/NoDataEmptyState/NoDataEmptyState.js +31 -39
  548. package/lib/components/EmptyStates/NoDataEmptyState/index.js +0 -1
  549. package/lib/components/EmptyStates/NoTagsEmptyState/NoTagsEmptyState.js +31 -39
  550. package/lib/components/EmptyStates/NoTagsEmptyState/index.js +0 -1
  551. package/lib/components/EmptyStates/NotFoundEmptyState/NotFoundEmptyState.js +31 -39
  552. package/lib/components/EmptyStates/NotFoundEmptyState/index.js +0 -1
  553. package/lib/components/EmptyStates/NotificationsEmptyState/NotificationsEmptyState.js +31 -39
  554. package/lib/components/EmptyStates/NotificationsEmptyState/index.js +0 -1
  555. package/lib/components/EmptyStates/UnauthorizedEmptyState/UnauthorizedEmptyState.js +31 -39
  556. package/lib/components/EmptyStates/UnauthorizedEmptyState/index.js +0 -1
  557. package/lib/components/EmptyStates/assets/ErrorIllustration.js +10 -13
  558. package/lib/components/EmptyStates/assets/NoDataIllustration.js +10 -13
  559. package/lib/components/EmptyStates/assets/NoTagsIllustration.js +10 -13
  560. package/lib/components/EmptyStates/assets/NotFoundIllustration.js +10 -13
  561. package/lib/components/EmptyStates/assets/NotificationsIllustration.js +10 -13
  562. package/lib/components/EmptyStates/assets/UnauthorizedIllustration.js +10 -13
  563. package/lib/components/EmptyStates/index.js +0 -7
  564. package/lib/components/ExampleComponent/ExampleComponent.js +75 -55
  565. package/lib/components/ExampleComponent/ExampleDeprecatedComponent.js +36 -0
  566. package/lib/components/ExampleComponent/index.js +0 -1
  567. package/lib/components/ExampleComponent/useExample.js +58 -0
  568. package/lib/components/ExportModal/ExportModal.js +46 -96
  569. package/lib/components/ExportModal/index.js +0 -1
  570. package/lib/components/ExpressiveCard/ExpressiveCard.js +6 -35
  571. package/lib/components/ExpressiveCard/index.js +0 -1
  572. package/lib/components/FilterSummary/FilterSummary.js +63 -0
  573. package/lib/components/FilterSummary/index.js +13 -0
  574. package/lib/components/HTTPErrors/HTTPError403/HTTPError403.js +19 -27
  575. package/lib/components/HTTPErrors/HTTPError403/index.js +0 -1
  576. package/lib/components/HTTPErrors/HTTPError404/HTTPError404.js +19 -27
  577. package/lib/components/HTTPErrors/HTTPError404/index.js +0 -1
  578. package/lib/components/HTTPErrors/HTTPErrorContent.js +17 -24
  579. package/lib/components/HTTPErrors/HTTPErrorOther/HTTPErrorOther.js +19 -27
  580. package/lib/components/HTTPErrors/HTTPErrorOther/index.js +0 -1
  581. package/lib/components/HTTPErrors/assets/HTTPErrorSvg403.js +6 -7
  582. package/lib/components/HTTPErrors/assets/HTTPErrorSvg404.js +6 -7
  583. package/lib/components/HTTPErrors/assets/HTTPErrorSvgOther.js +6 -7
  584. package/lib/components/HTTPErrors/index.js +0 -3
  585. package/lib/components/ImportModal/ImportModal.js +87 -155
  586. package/lib/components/ImportModal/index.js +0 -1
  587. package/lib/components/MultiAddSelect/MultiAddSelect.js +13 -39
  588. package/lib/components/MultiAddSelect/index.js +0 -1
  589. package/lib/components/NotificationsPanel/NotificationsPanel.js +87 -143
  590. package/lib/components/NotificationsPanel/NotificationsPanel_data.js +1 -4
  591. package/lib/components/NotificationsPanel/index.js +0 -1
  592. package/lib/components/NotificationsPanel/preview-components/UnreadNotificationBell.js +1 -4
  593. package/lib/components/NotificationsPanel/utils.js +13 -21
  594. package/lib/components/OptionsTile/OptionsTile.js +74 -101
  595. package/lib/components/OptionsTile/index.js +0 -1
  596. package/lib/components/PageHeader/PageHeader.js +162 -252
  597. package/lib/components/PageHeader/PageHeaderDemo.data.js +0 -3
  598. package/lib/components/PageHeader/PageHeaderTitle.js +35 -52
  599. package/lib/components/PageHeader/PageHeaderUtils.js +23 -59
  600. package/lib/components/PageHeader/index.js +0 -1
  601. package/lib/components/ProductiveCard/ProductiveCard.js +15 -41
  602. package/lib/components/ProductiveCard/index.js +0 -1
  603. package/lib/components/RemoveModal/RemoveModal.js +45 -63
  604. package/lib/components/RemoveModal/index.js +0 -1
  605. package/lib/components/Saving/Saving.js +20 -44
  606. package/lib/components/Saving/index.js +0 -1
  607. package/lib/components/SidePanel/SidePanel.js +169 -233
  608. package/lib/components/SidePanel/constants.js +1 -1
  609. package/lib/components/SidePanel/index.js +0 -1
  610. package/lib/components/SidePanel/motion/variants.js +54 -0
  611. package/lib/components/SingleAddSelect/SingleAddSelect.js +6 -25
  612. package/lib/components/SingleAddSelect/index.js +0 -1
  613. package/lib/components/StatusIcon/StatusIcon.js +11 -25
  614. package/lib/components/StatusIcon/index.js +0 -1
  615. package/lib/components/TagSet/TagSet.js +66 -117
  616. package/lib/components/TagSet/TagSetModal.js +23 -46
  617. package/lib/components/TagSet/TagSetOverflow.js +19 -42
  618. package/lib/components/TagSet/constants.js +1 -0
  619. package/lib/components/TagSet/index.js +0 -1
  620. package/lib/components/Tearsheet/Tearsheet.js +39 -44
  621. package/lib/components/Tearsheet/TearsheetNarrow.js +29 -34
  622. package/lib/components/Tearsheet/TearsheetShell.js +93 -123
  623. package/lib/components/Tearsheet/index.js +0 -2
  624. package/lib/components/Toolbar/Toolbar.js +18 -41
  625. package/lib/components/Toolbar/ToolbarButton.js +13 -27
  626. package/lib/components/Toolbar/ToolbarGroup.js +8 -16
  627. package/lib/components/Toolbar/index.js +0 -3
  628. package/lib/components/UserProfileImage/UserProfileImage.js +28 -48
  629. package/lib/components/UserProfileImage/index.js +0 -1
  630. package/lib/components/WebTerminal/WebTerminal.js +46 -70
  631. package/lib/components/WebTerminal/WebTerminalContentWrapper.js +17 -20
  632. package/lib/components/WebTerminal/hooks/index.js +8 -19
  633. package/lib/components/WebTerminal/index.js +0 -3
  634. package/lib/components/WebTerminal/preview-components/Navigation.js +2 -9
  635. package/lib/components/WebTerminal/preview-components/documentationLinks.js +1 -0
  636. package/lib/components/WebTerminal/preview-components/index.js +0 -2
  637. package/lib/components/_Canary/Canary.js +14 -17
  638. package/lib/components/_Canary/index.js +0 -1
  639. package/lib/components/index.js +33 -52
  640. package/lib/global/js/hooks/index.js +8 -11
  641. package/lib/global/js/hooks/useActiveElement.js +4 -10
  642. package/lib/global/js/hooks/useClickOutside.js +1 -4
  643. package/lib/global/js/hooks/useControllableState.js +80 -0
  644. package/lib/global/js/hooks/useCreateComponentFocus.js +35 -17
  645. package/lib/global/js/hooks/useCreateComponentStepChange.js +94 -136
  646. package/lib/global/js/hooks/usePreviousValue.js +0 -3
  647. package/lib/global/js/hooks/useResetCreateComponent.js +14 -13
  648. package/lib/global/js/hooks/useResizeObserver.js +83 -0
  649. package/lib/global/js/hooks/useRetrieveStepData.js +5 -12
  650. package/lib/global/js/hooks/useValidCreateStepCount.js +0 -3
  651. package/lib/global/js/hooks/useWindowResize.js +14 -22
  652. package/lib/global/js/hooks/useWindowScroll.js +10 -19
  653. package/lib/global/js/package-settings.js +37 -23
  654. package/lib/global/js/utils/ClickListener.js +3 -16
  655. package/lib/global/js/utils/DisplayBox.js +3 -9
  656. package/lib/global/js/utils/Wrap.js +16 -22
  657. package/lib/global/js/utils/deepCloneObject.js +5 -11
  658. package/lib/global/js/utils/devtools.js +1 -6
  659. package/lib/global/js/utils/getBezierValues.js +25 -0
  660. package/lib/global/js/utils/getFocusableElements.js +1 -4
  661. package/lib/global/js/utils/getNumberOfHiddenSteps.js +26 -0
  662. package/lib/global/js/utils/getScrollbarWidth.js +1 -2
  663. package/lib/global/js/utils/keyboardNavigation.js +7 -6
  664. package/lib/global/js/utils/lastIndexInArray.js +0 -4
  665. package/lib/global/js/utils/motionConstants.js +51 -0
  666. package/lib/global/js/utils/pconsole.js +1 -7
  667. package/lib/global/js/utils/props-helper.js +21 -58
  668. package/lib/global/js/utils/rangeWithCallback.js +1 -2
  669. package/lib/global/js/utils/scrollableAncestor.js +6 -13
  670. package/lib/global/js/utils/story-helper.js +41 -25
  671. package/lib/global/js/utils/test-helper.js +74 -88
  672. package/lib/global/js/utils/unwrap-if-fragment.js +8 -20
  673. package/lib/global/js/utils/uuidv4.js +1 -3
  674. package/lib/global/js/utils/uuidv4.spec.js +1 -3
  675. package/lib/global/js/utils/wait.js +1 -2
  676. package/lib/global/js/utils/wrapFocus.js +6 -16
  677. package/lib/index.js +0 -3
  678. package/lib/settings.js +49 -38
  679. package/package.json +29 -27
  680. package/scss/components/AboutModal/_about-modal.scss +26 -60
  681. package/scss/components/AboutModal/_storybook-styles.scss +18 -5
  682. package/scss/components/ActionBar/_action-bar.scss +0 -4
  683. package/scss/components/ActionSet/_action-set.scss +28 -10
  684. package/scss/components/AddSelect/_add-select.scss +44 -72
  685. package/scss/components/AddSelect/_index.scss +1 -1
  686. package/scss/components/AddSelect/_storybook-styles.scss +1 -1
  687. package/scss/components/BreadcrumbWithOverflow/_breadcrumb-with-overflow.scss +10 -1
  688. package/scss/components/Card/_card.scss +13 -6
  689. package/scss/components/CreateFullPage/_create-full-page.scss +5 -10
  690. package/scss/components/CreateTearsheet/_create-tearsheet.scss +8 -3
  691. package/scss/components/DataSpreadsheet/_data-spreadsheet.scss +1 -1
  692. package/scss/components/Datagrid/_datagrid.scss +0 -1
  693. package/scss/components/Datagrid/_storybook-styles.scss +21 -0
  694. package/scss/components/Datagrid/styles/_datagrid.scss +131 -29
  695. package/scss/components/Datagrid/styles/_draggableElement.scss +27 -12
  696. package/scss/components/Datagrid/styles/_index.scss +9 -8
  697. package/scss/components/Datagrid/styles/_useExpandedRow.scss +20 -2
  698. package/scss/components/Datagrid/styles/_useInlineEdit.scss +36 -9
  699. package/scss/components/Datagrid/styles/_useNestedRows.scss +36 -0
  700. package/scss/components/Datagrid/styles/_useSelectAllToggle.scss +23 -15
  701. package/scss/components/Datagrid/styles/_useSortableColumns.scss +40 -18
  702. package/scss/components/Datagrid/styles/_useStickyColumn.scss +3 -3
  703. package/scss/components/Datagrid/styles/addons/_CustomizeColumnsTearsheet.scss +82 -0
  704. package/scss/components/Datagrid/styles/addons/_FilterFlyout.scss +87 -0
  705. package/scss/components/Datagrid/styles/addons/_FilterPanel.scss +129 -0
  706. package/scss/components/Datagrid/styles/addons/_RowSizeDropdown.scss +19 -7
  707. package/scss/components/EditInPlace/_carbon-imports.scss +9 -0
  708. package/scss/components/EditInPlace/_edit-in-place.scss +164 -0
  709. package/scss/components/{InlineEdit → EditInPlace}/_index-with-carbon.scss +1 -1
  710. package/scss/components/EditInPlace/_index.scss +10 -0
  711. package/scss/components/{InlineEdit → EditInPlace}/_storybook-styles.scss +3 -15
  712. package/scss/components/EditTearsheet/_edit-tearsheet.scss +6 -4
  713. package/scss/components/EditUpdateCards/_carbon-imports.scss +9 -0
  714. package/scss/components/EditUpdateCards/_edit-update-cards.scss +85 -0
  715. package/scss/components/{InlineEdit/_carbon-imports.scss → EditUpdateCards/_index-with-carbon.scss} +3 -0
  716. package/scss/components/{InlineEdit → EditUpdateCards}/_index.scss +1 -1
  717. package/scss/components/EditUpdateCards/_storybook-styles.scss +55 -0
  718. package/scss/components/EmptyStates/_empty-state.scss +29 -6
  719. package/scss/components/ExportModal/_export-modal.scss +0 -4
  720. package/scss/components/ExpressiveCard/_expressive-card.scss +1 -1
  721. package/scss/components/FilterSummary/_filter-summary.scss +21 -0
  722. package/scss/components/{ModifiedTabs → FilterSummary}/_index.scss +4 -2
  723. package/scss/components/{ModifiedTabs/_index-with-carbon.scss → FilterSummary/_storybook-styles.scss} +8 -3
  724. package/scss/components/HTTPErrors/_http-errors.scss +8 -4
  725. package/scss/components/MultiAddSelect/_multi-add-select.scss +8 -1
  726. package/scss/components/MultiAddSelect/_storybook-styles.scss +1 -1
  727. package/scss/components/OptionsTile/_options-tile.scss +10 -3
  728. package/scss/components/PageHeader/_page-header.scss +9 -12
  729. package/scss/components/ProductiveCard/_productive-card.scss +31 -2
  730. package/scss/components/SidePanel/_side-panel.scss +10 -97
  731. package/scss/components/SidePanel/_storybook-styles.scss +6 -1
  732. package/scss/components/SingleAddSelect/_carbon-imports.scss +1 -1
  733. package/scss/components/SingleAddSelect/_index-with-carbon.scss +1 -1
  734. package/scss/components/SingleAddSelect/_index.scss +7 -0
  735. package/scss/components/SingleAddSelect/_single-add-select.scss +8 -1
  736. package/scss/components/SingleAddSelect/_storybook-styles.scss +1 -1
  737. package/scss/components/TagSet/_tag-set.scss +1 -0
  738. package/scss/components/Tearsheet/_carbon-imports.scss +2 -1
  739. package/scss/components/Tearsheet/_tearsheet.scss +10 -5
  740. package/scss/components/UserProfileImage/_user-profile-image.scss +5 -0
  741. package/scss/components/_index-released-only-with-carbon.scss +3 -1
  742. package/scss/components/_index-released-only.scss +3 -1
  743. package/scss/components/_index-with-carbon.scss +2 -2
  744. package/scss/components/_index.scss +3 -2
  745. package/scss/config.scss +1 -0
  746. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsModal.js +0 -194
  747. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/ModalWrapper.js +0 -63
  748. package/es/components/Datagrid/Datagrid.stories/LeftPanelStory.js +0 -6
  749. package/es/components/InlineEdit/InlineEdit.js +0 -447
  750. package/es/components/ModifiedTabs/ModifiedTabLabelNew.js +0 -34
  751. package/es/components/ModifiedTabs/ModifiedTabLabelWithClose.js +0 -47
  752. package/es/components/ModifiedTabs/ModifiedTabs.js +0 -141
  753. package/es/components/ModifiedTabs/index.js +0 -1
  754. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsModal.js +0 -209
  755. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/ModalWrapper.js +0 -74
  756. package/lib/components/Datagrid/Datagrid.stories/LeftPanelStory.js +0 -13
  757. package/lib/components/InlineEdit/InlineEdit.js +0 -464
  758. package/lib/components/ModifiedTabs/ModifiedTabLabelNew.js +0 -50
  759. package/lib/components/ModifiedTabs/ModifiedTabLabelWithClose.js +0 -63
  760. package/lib/components/ModifiedTabs/ModifiedTabs.js +0 -164
  761. package/lib/components/ModifiedTabs/index.js +0 -13
  762. package/scss/components/Datagrid/styles/addons/_CustomizeColumnsModal.scss +0 -91
  763. package/scss/components/InlineEdit/_inline-edit.scss +0 -355
  764. package/scss/components/ModifiedTabs/_carbon-imports.scss +0 -10
  765. package/scss/components/ModifiedTabs/_modified-tabs.scss +0 -89
  766. package/scss/components/ModifiedTabs/_storybook-styles.scss +0 -6
@@ -1,242 +1,55 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
- import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
3
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
4
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
5
+ var _excluded = ["filteredItems", "multi"];
4
6
  //
5
- // Copyright IBM Corp. 2022
7
+ // Copyright IBM Corp. 2022, 2022
6
8
  //
7
9
  // This source code is licensed under the Apache-2.0 license found in the
8
10
  // LICENSE file in the root directory of this source tree.
9
11
  //
12
+
10
13
  import React from 'react';
11
- import { Button, Checkbox, RadioButton, StructuredListRow, StructuredListWrapper, StructuredListBody, Dropdown } from '@carbon/react';
12
- import { ChevronRight, View } from '@carbon/react/icons';
13
14
  import PropTypes from 'prop-types';
14
15
  import cx from 'classnames';
15
16
  import { pkg } from '../../settings';
16
- import { UserProfileImage } from '../UserProfileImage';
17
+ import { AddSelectRow } from './AddSelectRow';
18
+ import useFocus from './hooks/useFocus';
17
19
  var blockClass = "".concat(pkg.prefix, "--add-select__selections");
18
20
  var componentName = 'AddSelectList';
19
21
  export var AddSelectList = function AddSelectList(_ref) {
20
- var _modifiers$options;
21
-
22
- var appliedModifiers = _ref.appliedModifiers,
23
- displayMetalPanel = _ref.displayMetalPanel,
24
- filteredItems = _ref.filteredItems,
25
- metaIconDescription = _ref.metaIconDescription,
26
- modifiers = _ref.modifiers,
27
- multi = _ref.multi,
28
- multiSelection = _ref.multiSelection,
29
- navIconDescription = _ref.navIconDescription,
30
- parentId = _ref.parentId,
31
- setAppliedModifiers = _ref.setAppliedModifiers,
32
- setDisplayMetaPanel = _ref.setDisplayMetaPanel,
33
- setMultiSelection = _ref.setMultiSelection,
34
- setParentSelected = _ref.setParentSelected,
35
- setSingleSelection = _ref.setSingleSelection,
36
- singleSelection = _ref.singleSelection;
37
- var hasModifiers = (modifiers === null || modifiers === void 0 ? void 0 : (_modifiers$options = modifiers.options) === null || _modifiers$options === void 0 ? void 0 : _modifiers$options.length) > 0;
38
-
39
- var handleSingleSelection = function handleSingleSelection(value) {
40
- setSingleSelection(value);
41
- };
42
-
43
- var handleMultiSelection = function handleMultiSelection(event, _ref2) {
44
- var checked = _ref2.checked,
45
- id = _ref2.id;
46
-
47
- if (checked) {
48
- var newValues = [].concat(_toConsumableArray(multiSelection), [id]);
49
- setMultiSelection(newValues);
50
- } else {
51
- var _newValues = multiSelection.filter(function (v) {
52
- return v !== id;
53
- });
54
-
55
- setMultiSelection(_newValues);
56
- }
57
- };
58
-
59
- var onNavigateItem = function onNavigateItem(_ref3) {
60
- var id = _ref3.id,
61
- title = _ref3.title;
62
- setParentSelected(id, title, parentId);
63
- };
64
-
65
- var isSelected = function isSelected(id) {
66
- if (multi) {
67
- return multiSelection.includes(id);
68
- }
69
-
70
- return id === singleSelection;
71
- };
72
-
73
- var getAvatarProps = function getAvatarProps(_ref4) {
74
- var src = _ref4.src,
75
- alt = _ref4.alt,
76
- icon = _ref4.icon,
77
- backgroundColor = _ref4.backgroundColor;
78
- return {
79
- className: "".concat(blockClass, "-cell-avatar"),
80
- size: 'lg',
81
- theme: 'light',
82
- image: src,
83
- imageDescription: alt,
84
- icon: icon,
85
- backgroundColor: backgroundColor
86
- };
87
- };
88
-
89
- var getItemIcon = function getItemIcon(_ref5) {
90
- var Icon = _ref5.icon;
91
- return /*#__PURE__*/React.createElement(Icon, null);
92
- };
93
-
94
- var modifierHandler = function modifierHandler(id, selectedItem) {
95
- var modifiersClone = _toConsumableArray(appliedModifiers);
96
-
97
- var modifierIdx = modifiersClone.findIndex(function (item) {
98
- return item.id === id;
99
- });
100
- modifiersClone[modifierIdx] = _defineProperty({
101
- id: id
102
- }, modifiers.id, selectedItem);
103
- setAppliedModifiers(modifiersClone);
104
- };
105
-
106
- var metaPanelHandler = function metaPanelHandler(item) {
107
- if (item.meta) {
108
- setDisplayMetaPanel(item);
109
- }
110
- };
111
-
112
- var isInMetaPanel = function isInMetaPanel(id) {
113
- return id === (displayMetalPanel === null || displayMetalPanel === void 0 ? void 0 : displayMetalPanel.id);
114
- };
115
-
22
+ var filteredItems = _ref.filteredItems,
23
+ multi = _ref.multi,
24
+ rest = _objectWithoutProperties(_ref, _excluded);
25
+ var _useFocus = useFocus(filteredItems.length),
26
+ _useFocus2 = _slicedToArray(_useFocus, 2),
27
+ focus = _useFocus2[0],
28
+ setFocus = _useFocus2[1];
116
29
  return /*#__PURE__*/React.createElement("div", {
30
+ id: "add-select-focus",
117
31
  className: cx("".concat(blockClass, "-wrapper"), _defineProperty({}, "".concat(blockClass, "-wrapper-multi"), multi))
118
- }, /*#__PURE__*/React.createElement(StructuredListWrapper, {
119
- selection: true,
32
+ }, /*#__PURE__*/React.createElement("div", {
120
33
  className: "".concat(blockClass)
121
- }, /*#__PURE__*/React.createElement(StructuredListBody, null, filteredItems.map(function (item) {
122
- var _cx2;
123
-
124
- return /*#__PURE__*/React.createElement(StructuredListRow, {
34
+ }, /*#__PURE__*/React.createElement("div", {
35
+ className: "".concat(blockClass, "-body"),
36
+ role: "treegrid",
37
+ "aria-label": "add select tree label"
38
+ }, filteredItems.map(function (item, index) {
39
+ return /*#__PURE__*/React.createElement(AddSelectRow, _extends({
125
40
  key: item.id,
126
- className: cx("".concat(blockClass, "-row"), (_cx2 = {}, _defineProperty(_cx2, "".concat(blockClass, "-row-selected"), isSelected(item.id)), _defineProperty(_cx2, "".concat(blockClass, "-row-meta-selected"), isInMetaPanel(item.id)), _cx2)),
127
- onClick: function onClick(evt) {
128
- return metaPanelHandler(item, evt);
129
- }
130
- }, /*#__PURE__*/React.createElement("div", {
131
- className: "".concat(blockClass, "-cell"),
132
- onClick: function onClick() {
133
- metaPanelHandler(item);
134
- },
135
- onKeyDown: function onKeyDown() {
136
- metaPanelHandler(item);
137
- },
138
- role: "button",
139
- tabIndex: "0"
140
- }, /*#__PURE__*/React.createElement("div", {
141
- className: "".concat(blockClass, "-cell-wrapper")
142
- }, multi ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
143
- className: "".concat(blockClass, "-checkbox")
144
- },
145
- /*#__PURE__*/
146
- // hacky way to prevent checkbox from triggering the meta onclick handler
147
- // eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions
148
- React.createElement("div", {
149
- onClick: function onClick(event) {
150
- return event.stopPropagation();
151
- }
152
- }, /*#__PURE__*/React.createElement(Checkbox, {
153
- onChange: handleMultiSelection,
154
- labelText: item.title,
155
- id: item.id,
156
- checked: isSelected(item.id),
157
- className: "".concat(blockClass, "-checkbox-wrapper")
158
- })), /*#__PURE__*/React.createElement("div", {
159
- className: "".concat(blockClass, "-checkbox-label-wrapper")
160
- }, item.avatar && /*#__PURE__*/React.createElement(UserProfileImage, getAvatarProps(item.avatar)), item.icon && /*#__PURE__*/React.createElement("div", {
161
- className: "".concat(blockClass, "-cell-icon")
162
- }, getItemIcon(item)), /*#__PURE__*/React.createElement("div", {
163
- className: "".concat(blockClass, "-checkbox-label-text")
164
- }, /*#__PURE__*/React.createElement("span", {
165
- className: "".concat(blockClass, "-cell-title")
166
- }, item.title), item.subtitle && /*#__PURE__*/React.createElement("span", {
167
- className: "".concat(blockClass, "-cell-subtitle")
168
- }, item.subtitle)))), hasModifiers && /*#__PURE__*/React.createElement(Dropdown, {
169
- id: "add-select-modifier-".concat(item.id),
170
- type: "inline",
171
- items: modifiers.options,
172
- light: true,
173
- label: modifiers.label,
174
- disabled: !isSelected(item.id),
175
- className: "".concat(blockClass, "-dropdown ").concat(blockClass, "-hidden-hover"),
176
- initialSelectedItem: item[modifiers.id],
177
- onChange: function onChange(_ref6) {
178
- var selectedItem = _ref6.selectedItem;
179
- return modifierHandler(item.id, selectedItem);
180
- }
181
- })) : /*#__PURE__*/React.createElement(RadioButton, {
182
- className: "".concat(blockClass, "-radio"),
183
- name: "add-select-selections",
184
- id: item.id,
185
- value: item.value,
186
- labelText: item.title,
187
- onChange: function onChange() {
188
- return handleSingleSelection(item.id);
189
- },
190
- checked: isSelected(item.id)
191
- }), item.children && /*#__PURE__*/React.createElement(Button, {
192
- className: "".concat(blockClass, "-view-children"),
193
- renderIcon: function renderIcon(props) {
194
- return /*#__PURE__*/React.createElement(ChevronRight, _extends({
195
- size: 16
196
- }, props));
197
- },
198
- iconDescription: navIconDescription,
199
- tooltipPosition: "left",
200
- tooltipAlignment: "center",
201
- hasIconOnly: true,
202
- onClick: function onClick() {
203
- return onNavigateItem(item);
204
- },
205
- kind: "ghost",
206
- size: "sm"
207
- }), item.meta && /*#__PURE__*/React.createElement("div", {
208
- className: "".concat(blockClass, "-hidden-hover")
209
- }, /*#__PURE__*/React.createElement(Button, {
210
- className: "".concat(blockClass, "-view-meta"),
211
- renderIcon: function renderIcon(props) {
212
- return /*#__PURE__*/React.createElement(View, _extends({
213
- size: 16
214
- }, props));
215
- },
216
- iconDescription: metaIconDescription,
217
- tooltipPosition: "left",
218
- tooltipAlignment: "center",
219
- hasIconOnly: true,
220
- kind: "ghost",
221
- size: "sm"
222
- })))));
41
+ index: index,
42
+ focus: focus,
43
+ setSize: filteredItems.length,
44
+ item: item,
45
+ multi: multi,
46
+ setFocus: setFocus
47
+ }, rest));
223
48
  }))));
224
49
  };
225
50
  AddSelectList.propTypes = {
226
- appliedModifiers: PropTypes.array,
227
- displayMetalPanel: PropTypes.object,
228
51
  filteredItems: PropTypes.array,
229
- metaIconDescription: PropTypes.string,
230
- modifiers: PropTypes.object,
231
- multi: PropTypes.bool,
232
- multiSelection: PropTypes.array,
233
- navIconDescription: PropTypes.string,
234
- parentId: PropTypes.string,
235
- setAppliedModifiers: PropTypes.func,
236
- setDisplayMetaPanel: PropTypes.func,
237
- setMultiSelection: PropTypes.func,
238
- setParentSelected: PropTypes.func,
239
- setSingleSelection: PropTypes.func,
240
- singleSelection: PropTypes.string
52
+ focus: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
53
+ multi: PropTypes.bool
241
54
  };
242
55
  AddSelectList.displayName = componentName;
@@ -1,4 +1,11 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
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
+ //
8
+
2
9
  import React, { isValidElement } from 'react';
3
10
  import PropTypes from 'prop-types';
4
11
  import { Close } from '@carbon/react/icons';
@@ -8,14 +15,12 @@ var blockClass = "".concat(pkg.prefix, "--add-select__meta-panel");
8
15
  var componentName = 'AddSelectMetaPanel';
9
16
  export var AddSelectMetaPanel = function AddSelectMetaPanel(_ref) {
10
17
  var closeIconDescription = _ref.closeIconDescription,
11
- meta = _ref.meta,
12
- setDisplayMetaPanel = _ref.setDisplayMetaPanel,
13
- title = _ref.title;
14
-
18
+ meta = _ref.meta,
19
+ setDisplayMetaPanel = _ref.setDisplayMetaPanel,
20
+ title = _ref.title;
15
21
  var onCloseHandler = function onCloseHandler() {
16
22
  setDisplayMetaPanel({});
17
23
  };
18
-
19
24
  return /*#__PURE__*/React.createElement("div", {
20
25
  className: blockClass
21
26
  }, /*#__PURE__*/React.createElement("div", {
@@ -0,0 +1,206 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
+ import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
4
+ //
5
+ // Copyright IBM Corp. 2022, 2022
6
+ //
7
+ // This source code is licensed under the Apache-2.0 license found in the
8
+ // LICENSE file in the root directory of this source tree.
9
+ //
10
+
11
+ import React, { useRef, useEffect, useCallback } from 'react';
12
+ import { Button, Dropdown, Layer } from '@carbon/react';
13
+ import { ChevronRight, View } from '@carbon/react/icons';
14
+ import PropTypes from 'prop-types';
15
+ import cx from 'classnames';
16
+ import { pkg } from '../../settings';
17
+ import { AddSelectFormControl } from './AddSelectFormControl';
18
+ var blockClass = "".concat(pkg.prefix, "--add-select__selections");
19
+ var componentName = 'AddSelectList';
20
+ export var AddSelectRow = function AddSelectRow(_ref) {
21
+ var _modifiers$options, _cx;
22
+ var appliedModifiers = _ref.appliedModifiers,
23
+ displayMetalPanel = _ref.displayMetalPanel,
24
+ index = _ref.index,
25
+ focus = _ref.focus,
26
+ item = _ref.item,
27
+ metaIconDescription = _ref.metaIconDescription,
28
+ modifiers = _ref.modifiers,
29
+ multi = _ref.multi,
30
+ multiSelection = _ref.multiSelection,
31
+ navIconDescription = _ref.navIconDescription,
32
+ parentId = _ref.parentId,
33
+ parentSelected = _ref.parentSelected,
34
+ setAppliedModifiers = _ref.setAppliedModifiers,
35
+ setDisplayMetaPanel = _ref.setDisplayMetaPanel,
36
+ setFocus = _ref.setFocus,
37
+ setMultiSelection = _ref.setMultiSelection,
38
+ setParentSelected = _ref.setParentSelected,
39
+ setSingleSelection = _ref.setSingleSelection,
40
+ singleSelection = _ref.singleSelection;
41
+ var ref = useRef(null);
42
+ useEffect(function () {
43
+ if (focus === index) {
44
+ ref.current.focus();
45
+ }
46
+ }, [focus, index]);
47
+ var isSelected = function isSelected() {
48
+ if (multi) {
49
+ return multiSelection.includes(item.id);
50
+ }
51
+ return item.id === singleSelection;
52
+ };
53
+ var getTabIndex = function getTabIndex() {
54
+ // on initial load make the first item tabbable
55
+ if (index === 0 && focus === '') {
56
+ return 0;
57
+ }
58
+
59
+ // make it so only the last focused item is tabbable
60
+ if (focus === index && focus !== '') {
61
+ return 0;
62
+ }
63
+
64
+ // make unfocused items un-tabbable
65
+ return -1;
66
+ };
67
+ var focusHandler = useCallback(function (reset) {
68
+ setFocus(reset ? '' : index);
69
+ }, [setFocus, index]);
70
+ var handleSingleSelection = function handleSingleSelection() {
71
+ setSingleSelection(item.id);
72
+ };
73
+ var onSelectKeyDown = function onSelectKeyDown(_ref2) {
74
+ var key = _ref2.key;
75
+ if (key === 'Enter' || key === ' ') {
76
+ if (multi) {
77
+ handleMultiSelection();
78
+ } else {
79
+ handleSingleSelection();
80
+ }
81
+ } else if (key === 'ArrowRight' && item.children) {
82
+ onNavigateItem();
83
+ }
84
+ };
85
+ var handleMultiSelection = function handleMultiSelection() {
86
+ var checked = isSelected();
87
+ if (!checked) {
88
+ var newValues = [].concat(_toConsumableArray(multiSelection), [item.id]);
89
+ setMultiSelection(newValues);
90
+ } else {
91
+ var _newValues = multiSelection.filter(function (v) {
92
+ return v !== item.id;
93
+ });
94
+ setMultiSelection(_newValues);
95
+ }
96
+ };
97
+ var onNavigateItem = function onNavigateItem() {
98
+ focusHandler(true);
99
+ setParentSelected(item.id, item.title, parentId);
100
+ };
101
+ var modifierHandler = function modifierHandler(id, selectedItem) {
102
+ var modifiersClone = _toConsumableArray(appliedModifiers);
103
+ var modifierIdx = modifiersClone.findIndex(function (item) {
104
+ return item.id === id;
105
+ });
106
+ modifiersClone[modifierIdx] = _defineProperty({
107
+ id: id
108
+ }, modifiers.id, selectedItem);
109
+ setAppliedModifiers(modifiersClone);
110
+ };
111
+ var metaPanelHandler = function metaPanelHandler() {
112
+ if (item.meta) {
113
+ setDisplayMetaPanel(item);
114
+ }
115
+ };
116
+ var isInMetaPanel = function isInMetaPanel(id) {
117
+ return id === (displayMetalPanel === null || displayMetalPanel === void 0 ? void 0 : displayMetalPanel.id);
118
+ };
119
+ var hasModifiers = (modifiers === null || modifiers === void 0 ? void 0 : (_modifiers$options = modifiers.options) === null || _modifiers$options === void 0 ? void 0 : _modifiers$options.length) > 0;
120
+ var tabIndex = getTabIndex();
121
+ var selected = isSelected();
122
+ return /*#__PURE__*/React.createElement("div", {
123
+ className: cx("".concat(blockClass, "-row"), (_cx = {}, _defineProperty(_cx, "".concat(blockClass, "-row--selected"), isSelected(item.id)), _defineProperty(_cx, "".concat(blockClass, "-row-meta--selected"), isInMetaPanel(item.id)), _defineProperty(_cx, "".concat(blockClass, "-row--active"), parentSelected === item.id), _cx)),
124
+ onKeyDown: onSelectKeyDown,
125
+ tabIndex: tabIndex,
126
+ ref: ref,
127
+ role: "row"
128
+ }, /*#__PURE__*/React.createElement("div", {
129
+ className: "".concat(blockClass, "-cell")
130
+ }, /*#__PURE__*/React.createElement("div", {
131
+ className: "".concat(blockClass, "-cell-wrapper")
132
+ }, multi ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(AddSelectFormControl, {
133
+ type: "checkbox",
134
+ item: item,
135
+ selected: selected,
136
+ onClick: handleMultiSelection
137
+ }), hasModifiers && /*#__PURE__*/React.createElement(Layer, null, /*#__PURE__*/React.createElement(Dropdown, {
138
+ id: "add-select-modifier-".concat(item.id),
139
+ type: "inline",
140
+ items: modifiers.options,
141
+ label: modifiers.label,
142
+ disabled: !isSelected(item.id),
143
+ className: "".concat(blockClass, "-dropdown"),
144
+ initialSelectedItem: item[modifiers.id],
145
+ onChange: function onChange(_ref3) {
146
+ var selectedItem = _ref3.selectedItem;
147
+ return modifierHandler(item.id, selectedItem);
148
+ }
149
+ }))) : /*#__PURE__*/React.createElement(AddSelectFormControl, {
150
+ type: "radio",
151
+ item: item,
152
+ selected: selected,
153
+ onClick: handleSingleSelection
154
+ }), item.children && /*#__PURE__*/React.createElement(Button, {
155
+ className: "".concat(blockClass, "-view-children"),
156
+ renderIcon: function renderIcon(props) {
157
+ return /*#__PURE__*/React.createElement(ChevronRight, _extends({
158
+ size: 16
159
+ }, props));
160
+ },
161
+ iconDescription: navIconDescription,
162
+ tooltipPosition: "left",
163
+ tooltipAlignment: "center",
164
+ hasIconOnly: true,
165
+ onClick: onNavigateItem,
166
+ kind: "ghost",
167
+ size: "sm"
168
+ }), item.meta && /*#__PURE__*/React.createElement(Button, {
169
+ className: "".concat(blockClass, "-view-meta"),
170
+ renderIcon: function renderIcon(props) {
171
+ return /*#__PURE__*/React.createElement(View, _extends({
172
+ size: 16
173
+ }, props));
174
+ },
175
+ iconDescription: metaIconDescription,
176
+ tooltipPosition: "left",
177
+ tooltipAlignment: "center",
178
+ hasIconOnly: true,
179
+ kind: "ghost",
180
+ size: "sm",
181
+ onClick: metaPanelHandler
182
+ }))));
183
+ };
184
+ AddSelectRow.propTypes = {
185
+ appliedModifiers: PropTypes.array,
186
+ displayMetalPanel: PropTypes.object,
187
+ filteredItems: PropTypes.array,
188
+ focus: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
189
+ index: PropTypes.number,
190
+ item: PropTypes.object,
191
+ metaIconDescription: PropTypes.string,
192
+ modifiers: PropTypes.object,
193
+ multi: PropTypes.bool,
194
+ multiSelection: PropTypes.array,
195
+ navIconDescription: PropTypes.string,
196
+ parentId: PropTypes.string,
197
+ parentSelected: PropTypes.string,
198
+ setAppliedModifiers: PropTypes.func,
199
+ setDisplayMetaPanel: PropTypes.func,
200
+ setFocus: PropTypes.func,
201
+ setMultiSelection: PropTypes.func,
202
+ setParentSelected: PropTypes.func,
203
+ setSingleSelection: PropTypes.func,
204
+ singleSelection: PropTypes.string
205
+ };
206
+ AddSelectRow.displayName = componentName;
@@ -1,11 +1,12 @@
1
1
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
2
2
  var _excluded = ["meta", "icon", "avatar"];
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.
8
8
  //
9
+
9
10
  import React from 'react';
10
11
  import { Tag, Accordion, AccordionItem } from '@carbon/react';
11
12
  import PropTypes from 'prop-types';
@@ -16,32 +17,29 @@ var blockClass = "".concat(pkg.prefix, "--add-select__sidebar");
16
17
  var componentName = 'AddSelectSidebar';
17
18
  export var AddSelectSidebar = function AddSelectSidebar(_ref) {
18
19
  var _modifiers$options;
19
-
20
20
  var appliedModifiers = _ref.appliedModifiers,
21
- closeIconDescription = _ref.closeIconDescription,
22
- displayMetalPanel = _ref.displayMetalPanel,
23
- influencerTitle = _ref.influencerTitle,
24
- items = _ref.items,
25
- metaPanelTitle = _ref.metaPanelTitle,
26
- modifiers = _ref.modifiers,
27
- multiSelection = _ref.multiSelection,
28
- noSelectionDescription = _ref.noSelectionDescription,
29
- noSelectionTitle = _ref.noSelectionTitle,
30
- setDisplayMetaPanel = _ref.setDisplayMetaPanel;
21
+ closeIconDescription = _ref.closeIconDescription,
22
+ displayMetalPanel = _ref.displayMetalPanel,
23
+ illustrationTheme = _ref.illustrationTheme,
24
+ influencerTitle = _ref.influencerTitle,
25
+ items = _ref.items,
26
+ metaPanelTitle = _ref.metaPanelTitle,
27
+ modifiers = _ref.modifiers,
28
+ multiSelection = _ref.multiSelection,
29
+ noSelectionDescription = _ref.noSelectionDescription,
30
+ noSelectionTitle = _ref.noSelectionTitle,
31
+ setDisplayMetaPanel = _ref.setDisplayMetaPanel;
31
32
  var hasModifiers = (modifiers === null || modifiers === void 0 ? void 0 : (_modifiers$options = modifiers.options) === null || _modifiers$options === void 0 ? void 0 : _modifiers$options.length) > 0;
32
33
  var hasSelections = multiSelection.length > 0;
33
-
34
34
  var getNewItem = function getNewItem(item) {
35
35
  // certain properties should not be displayed in the sidebar
36
36
  // eslint-disable-next-line no-unused-vars
37
37
  var meta = item.meta,
38
- icon = item.icon,
39
- avatar = item.avatar,
40
- newItem = _objectWithoutProperties(item, _excluded);
41
-
38
+ icon = item.icon,
39
+ avatar = item.avatar,
40
+ newItem = _objectWithoutProperties(item, _excluded);
42
41
  return newItem;
43
42
  };
44
-
45
43
  var sidebarItems = multiSelection.map(function (selectionId) {
46
44
  if (Array.isArray(items)) {
47
45
  var selectedItem = items.find(function (item) {
@@ -49,10 +47,8 @@ export var AddSelectSidebar = function AddSelectSidebar(_ref) {
49
47
  });
50
48
  return getNewItem(selectedItem);
51
49
  }
52
-
53
50
  return getNewItem(items[selectionId]);
54
51
  });
55
-
56
52
  var getTitle = function getTitle(item) {
57
53
  return /*#__PURE__*/React.createElement("div", {
58
54
  className: "".concat(blockClass, "-accordion-title")
@@ -66,7 +62,6 @@ export var AddSelectSidebar = function AddSelectSidebar(_ref) {
66
62
  return modifier.id === item.id;
67
63
  })[modifiers.id]));
68
64
  };
69
-
70
65
  if (Object.keys(displayMetalPanel).length !== 0) {
71
66
  return /*#__PURE__*/React.createElement(AddSelectMetaPanel, {
72
67
  closeIconDescription: closeIconDescription,
@@ -75,7 +70,6 @@ export var AddSelectSidebar = function AddSelectSidebar(_ref) {
75
70
  title: metaPanelTitle
76
71
  });
77
72
  }
78
-
79
73
  return /*#__PURE__*/React.createElement("div", {
80
74
  className: blockClass
81
75
  }, /*#__PURE__*/React.createElement("div", {
@@ -106,13 +100,15 @@ export var AddSelectSidebar = function AddSelectSidebar(_ref) {
106
100
  }, /*#__PURE__*/React.createElement(NoDataEmptyState, {
107
101
  subtitle: noSelectionDescription,
108
102
  title: noSelectionTitle,
109
- size: "sm"
103
+ size: "sm",
104
+ illustrationTheme: illustrationTheme
110
105
  })));
111
106
  };
112
107
  AddSelectSidebar.propTypes = {
113
108
  appliedModifiers: PropTypes.array,
114
109
  closeIconDescription: PropTypes.string,
115
110
  displayMetalPanel: PropTypes.object,
111
+ illustrationTheme: PropTypes.oneOf(['light', 'dark']),
116
112
  influencerTitle: PropTypes.string,
117
113
  items: PropTypes.oneOfType([PropTypes.object, PropTypes.array]),
118
114
  metaPanelTitle: PropTypes.string,
@@ -1,11 +1,12 @@
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, 2023
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.
8
8
  //
9
+
9
10
  import React from 'react';
10
11
  import PropTypes from 'prop-types';
11
12
  import { OverflowMenu, OverflowMenuItem } from '@carbon/react';
@@ -15,9 +16,9 @@ var blockClass = "".concat(pkg.prefix, "--add-select-sort");
15
16
  var componentName = 'AddSelectSort';
16
17
  export var AddSelectSort = function AddSelectSort(_ref) {
17
18
  var setSortAttribute = _ref.setSortAttribute,
18
- setSortDirection = _ref.setSortDirection,
19
- sortBy = _ref.sortBy,
20
- sortByLabel = _ref.sortByLabel;
19
+ setSortDirection = _ref.setSortDirection,
20
+ sortBy = _ref.sortBy,
21
+ sortByLabel = _ref.sortByLabel;
21
22
  var sortByOpts = sortBy ? sortBy.reduce(function (acc, cur) {
22
23
  var opts = [{
23
24
  id: "".concat(cur, "-asc"),
@@ -35,15 +36,15 @@ export var AddSelectSort = function AddSelectSort(_ref) {
35
36
  attribute: cur
36
37
  }];
37
38
  return [].concat(_toConsumableArray(acc), opts);
38
- }, []) : []; // handlers
39
+ }, []) : [];
39
40
 
41
+ // handlers
40
42
  var sortHandler = function sortHandler(_ref2) {
41
43
  var direction = _ref2.direction,
42
- attribute = _ref2.attribute;
44
+ attribute = _ref2.attribute;
43
45
  setSortAttribute(attribute);
44
46
  setSortDirection(direction);
45
47
  };
46
-
47
48
  return /*#__PURE__*/React.createElement("div", {
48
49
  className: blockClass
49
50
  }, sortByOpts.length > 0 && /*#__PURE__*/React.createElement(OverflowMenu, {
@@ -54,7 +55,8 @@ export var AddSelectSort = function AddSelectSort(_ref) {
54
55
  },
55
56
  className: "".concat(blockClass, "_overflow"),
56
57
  flipped: true,
57
- ariaLabel: sortByLabel
58
+ "aria-label": sortByLabel,
59
+ iconDescription: sortByLabel
58
60
  }, sortByOpts.map(function (opt) {
59
61
  return /*#__PURE__*/React.createElement(OverflowMenuItem, {
60
62
  className: "".concat(blockClass, "_overflow-item"),