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

Sign up to get free protection for your applications and to get access to all the features.
Files changed (685) hide show
  1. package/README.md +19 -17
  2. package/css/index-full-carbon.css +946 -325
  3. package/css/index-full-carbon.css.map +1 -1
  4. package/css/index-full-carbon.min.css +4 -6
  5. package/css/index-full-carbon.min.css.map +1 -1
  6. package/css/index-without-carbon-released-only.css +137 -147
  7. package/css/index-without-carbon-released-only.css.map +1 -1
  8. package/css/index-without-carbon-released-only.min.css +2 -4
  9. package/css/index-without-carbon-released-only.min.css.map +1 -1
  10. package/css/index-without-carbon.css +163 -163
  11. package/css/index-without-carbon.css.map +1 -1
  12. package/css/index-without-carbon.min.css +4 -6
  13. package/css/index-without-carbon.min.css.map +1 -1
  14. package/css/index.css +398 -207
  15. package/css/index.css.map +1 -1
  16. package/css/index.min.css +3 -5
  17. package/css/index.min.css.map +1 -1
  18. package/es/components/APIKeyModal/APIKeyDownloader.js +29 -41
  19. package/es/components/APIKeyModal/APIKeyModal.js +101 -185
  20. package/es/components/APIKeyModal/index.js +1 -0
  21. package/es/components/AboutModal/AboutModal.js +46 -59
  22. package/es/components/AboutModal/index.js +1 -0
  23. package/es/components/ActionBar/ActionBar.js +65 -68
  24. package/es/components/ActionBar/ActionBarItem.js +21 -22
  25. package/es/components/ActionBar/ActionBarOverflowItems.js +12 -12
  26. package/es/components/ActionBar/index.js +1 -0
  27. package/es/components/ActionSet/ActionSet.js +32 -42
  28. package/es/components/ActionSet/actions.js +1 -2
  29. package/es/components/ActionSet/index.js +1 -0
  30. package/es/components/AddSelect/AddSelect.js +3 -4
  31. package/es/components/AddSelect/AddSelectBody.js +75 -102
  32. package/es/components/AddSelect/AddSelectBreadcrumbs.js +3 -4
  33. package/es/components/AddSelect/AddSelectColumn.js +32 -50
  34. package/es/components/AddSelect/AddSelectFilter.js +22 -35
  35. package/es/components/AddSelect/AddSelectFormControl.js +7 -17
  36. package/es/components/AddSelect/AddSelectList.js +6 -7
  37. package/es/components/AddSelect/AddSelectMetaPanel.js +4 -5
  38. package/es/components/AddSelect/AddSelectRow.js +25 -39
  39. package/es/components/AddSelect/AddSelectSidebar.js +15 -22
  40. package/es/components/AddSelect/AddSelectSort.js +9 -8
  41. package/es/components/AddSelect/add-select-utils.js +2 -23
  42. package/es/components/AddSelect/hooks/useFocus.js +3 -7
  43. package/es/components/AddSelect/hooks/useItemSort.js +7 -8
  44. package/es/components/AddSelect/hooks/useParentSelect.js +4 -6
  45. package/es/components/AddSelect/hooks/usePath.js +7 -22
  46. package/es/components/AddSelect/index.js +1 -0
  47. package/es/components/BreadcrumbWithOverflow/BreadcrumbWithOverflow.js +67 -90
  48. package/es/components/BreadcrumbWithOverflow/index.js +2 -0
  49. package/es/components/ButtonMenu/ButtonMenu.js +35 -34
  50. package/es/components/ButtonMenu/ButtonMenuItem.js +10 -6
  51. package/es/components/ButtonMenu/index.js +1 -0
  52. package/es/components/ButtonSetWithOverflow/ButtonSetWithOverflow.js +35 -53
  53. package/es/components/ButtonSetWithOverflow/index.js +1 -0
  54. package/es/components/Card/Card.js +55 -73
  55. package/es/components/Card/CardFooter.js +19 -18
  56. package/es/components/Card/CardHeader.js +13 -13
  57. package/es/components/Card/index.js +1 -0
  58. package/es/components/Cascade/Cascade.js +5 -14
  59. package/es/components/ComboButton/ComboButton.js +24 -35
  60. package/es/components/ComboButton/ComboButtonItem/index.js +4 -8
  61. package/es/components/ComboButton/index.js +1 -0
  62. package/es/components/CreateFullPage/CreateFullPage.js +65 -87
  63. package/es/components/CreateFullPage/CreateFullPageStep.js +28 -40
  64. package/es/components/CreateFullPage/index.js +1 -0
  65. package/es/components/CreateInfluencer/CreateInfluencer.js +14 -15
  66. package/es/components/CreateInfluencer/index.js +1 -0
  67. package/es/components/CreateModal/CreateModal.js +19 -31
  68. package/es/components/CreateModal/index.js +2 -0
  69. package/es/components/CreateSidePanel/CreateSidePanel.js +24 -37
  70. package/es/components/CreateSidePanel/index.js +1 -0
  71. package/es/components/CreateTearsheet/CreateTearsheet.js +66 -91
  72. package/es/components/CreateTearsheet/CreateTearsheetDivider.js +4 -4
  73. package/es/components/CreateTearsheet/CreateTearsheetStep.js +31 -42
  74. package/es/components/CreateTearsheet/index.js +1 -0
  75. package/es/components/CreateTearsheet/preview-components/MultiStepTearsheet.js +47 -67
  76. package/es/components/CreateTearsheet/preview-components/MultiStepWithIntro.js +41 -57
  77. package/es/components/CreateTearsheetNarrow/CreateTearsheetNarrow.js +30 -39
  78. package/es/components/CreateTearsheetNarrow/index.js +1 -0
  79. package/es/components/DataSpreadsheet/DataSpreadsheet.js +136 -224
  80. package/es/components/DataSpreadsheet/DataSpreadsheetBody.js +62 -113
  81. package/es/components/DataSpreadsheet/DataSpreadsheetHeader.js +25 -56
  82. package/es/components/DataSpreadsheet/hooks/index.js +1 -0
  83. package/es/components/DataSpreadsheet/hooks/useMoveActiveCell.js +6 -5
  84. package/es/components/DataSpreadsheet/hooks/useMultipleKeyTracking.js +23 -44
  85. package/es/components/DataSpreadsheet/hooks/useResetSpreadsheetFocus.js +5 -5
  86. package/es/components/DataSpreadsheet/hooks/useSpreadsheetEdit.js +18 -30
  87. package/es/components/DataSpreadsheet/hooks/useSpreadsheetMouseMove.js +10 -14
  88. package/es/components/DataSpreadsheet/hooks/useSpreadsheetMouseUp.js +34 -54
  89. package/es/components/DataSpreadsheet/hooks/useSpreadsheetOutsideClick.js +10 -10
  90. package/es/components/DataSpreadsheet/index.js +1 -0
  91. package/es/components/DataSpreadsheet/utils/checkActiveHeaderCell.js +4 -8
  92. package/es/components/DataSpreadsheet/utils/checkSelectedHeaderCell.js +3 -4
  93. package/es/components/DataSpreadsheet/utils/createActiveCellFn.js +15 -19
  94. package/es/components/DataSpreadsheet/utils/createCellSelectionArea.js +15 -17
  95. package/es/components/DataSpreadsheet/utils/generateData.js +4 -13
  96. package/es/components/DataSpreadsheet/utils/getCellSize.js +1 -6
  97. package/es/components/DataSpreadsheet/utils/getSelectionAreaPoints.js +1 -0
  98. package/es/components/DataSpreadsheet/utils/getSpreadsheetWidth.js +7 -9
  99. package/es/components/DataSpreadsheet/utils/handleActiveCellInSelectionEnter.js +20 -34
  100. package/es/components/DataSpreadsheet/utils/handleActiveCellInSelectionTab.js +20 -30
  101. package/es/components/DataSpreadsheet/utils/handleCellDeletion.js +6 -8
  102. package/es/components/DataSpreadsheet/utils/handleEditSubmit.js +13 -20
  103. package/es/components/DataSpreadsheet/utils/handleHeaderCellSelection.js +22 -44
  104. package/es/components/DataSpreadsheet/utils/handleMultipleKeys.js +40 -75
  105. package/es/components/DataSpreadsheet/utils/moveColumnIndicatorLine.js +6 -8
  106. package/es/components/DataSpreadsheet/utils/removeCellSelections.js +6 -8
  107. package/es/components/DataSpreadsheet/utils/selectAllCells.js +7 -11
  108. package/es/components/Datagrid/Datagrid/Datagrid.js +13 -13
  109. package/es/components/Datagrid/Datagrid/DatagridBody.js +4 -10
  110. package/es/components/Datagrid/Datagrid/DatagridContent.js +38 -51
  111. package/es/components/Datagrid/Datagrid/DatagridEmptyBody.js +10 -12
  112. package/es/components/Datagrid/Datagrid/DatagridExpandedRow.js +4 -6
  113. package/es/components/Datagrid/Datagrid/DatagridHead.js +6 -6
  114. package/es/components/Datagrid/Datagrid/DatagridHeaderRow.js +1 -7
  115. package/es/components/Datagrid/Datagrid/DatagridRefBody.js +5 -8
  116. package/es/components/Datagrid/Datagrid/DatagridRow.js +6 -22
  117. package/es/components/Datagrid/Datagrid/DatagridSelectAll.js +13 -23
  118. package/es/components/Datagrid/Datagrid/DatagridSelectAllWithToggle.js +29 -41
  119. package/es/components/Datagrid/Datagrid/DatagridSimpleBody.js +2 -7
  120. package/es/components/Datagrid/Datagrid/DatagridToolbar.js +27 -40
  121. package/es/components/Datagrid/Datagrid/DatagridVirtualBody.js +14 -25
  122. package/es/components/Datagrid/Datagrid/DraggableElement.js +75 -86
  123. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/Actions.js +3 -4
  124. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/ButtonWrapper.js +6 -10
  125. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/Columns.js +15 -25
  126. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsTearsheet.js +52 -69
  127. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/DraggableItemsList.js +12 -15
  128. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/TearsheetWrapper.js +6 -12
  129. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/common.js +1 -1
  130. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/index.js +1 -0
  131. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +61 -87
  132. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +73 -89
  133. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.js +8 -16
  134. package/es/components/Datagrid/Datagrid/addons/Filtering/constants.js +4 -5
  135. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/index.js +1 -0
  136. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +39 -64
  137. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useInitialStateFromFilters.js +3 -8
  138. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useShouldDisableButtons.js +8 -12
  139. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useSubscribeToEventEmitter.js +2 -4
  140. package/es/components/Datagrid/Datagrid/addons/Filtering/utils.js +8 -14
  141. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/InlineEditButton.js +11 -12
  142. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +57 -109
  143. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/InlineEditContext.js +7 -21
  144. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/getCellIdAsObject.js +1 -1
  145. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/returnUpdatedActiveCell.js +9 -14
  146. package/es/components/Datagrid/Datagrid/addons/InlineEdit/handleGridFocus.js +2 -3
  147. package/es/components/Datagrid/Datagrid/addons/InlineEdit/handleGridKeyPress.js +29 -63
  148. package/es/components/Datagrid/Datagrid/addons/InlineEdit/handleMultipleKeys.js +14 -21
  149. package/es/components/Datagrid/Datagrid/addons/RowSize/RowSizeDropdown.js +8 -12
  150. package/es/components/Datagrid/Datagrid/addons/RowSize/RowSizeRadioGroup.js +18 -27
  151. package/es/components/Datagrid/Datagrid/addons/RowSize/index.js +1 -0
  152. package/es/components/Datagrid/Datagrid/index.js +1 -0
  153. package/es/components/Datagrid/Datagrid.stories/StickyActionsColumnStory.js +10 -0
  154. package/es/components/Datagrid/Datagrid.stories/common.js +2 -11
  155. package/es/components/Datagrid/common-column-ids.js +1 -0
  156. package/es/components/Datagrid/index.js +1 -0
  157. package/es/components/Datagrid/useActionsColumn.js +21 -39
  158. package/es/components/Datagrid/useColumnCenterAlign.js +0 -8
  159. package/es/components/Datagrid/useColumnOrder.js +1 -0
  160. package/es/components/Datagrid/useColumnRightAlign.js +0 -8
  161. package/es/components/Datagrid/useCustomizeColumns.js +5 -13
  162. package/es/components/Datagrid/useDatagrid.js +0 -7
  163. package/es/components/Datagrid/useDefaultStringRenderer.js +0 -9
  164. package/es/components/Datagrid/useDisableSelectRows.js +2 -10
  165. package/es/components/Datagrid/useEditableCell.js +1 -2
  166. package/es/components/Datagrid/useExpandedRow.js +5 -15
  167. package/es/components/Datagrid/useFiltering.js +9 -19
  168. package/es/components/Datagrid/useFlexResize.js +0 -7
  169. package/es/components/Datagrid/useFloatingScroll.js +9 -22
  170. package/es/components/Datagrid/useInfiniteScroll.js +7 -16
  171. package/es/components/Datagrid/useInlineEdit.js +2 -10
  172. package/es/components/Datagrid/useNestedRowExpander.js +0 -6
  173. package/es/components/Datagrid/useNestedRows.js +1 -10
  174. package/es/components/Datagrid/useOnRowClick.js +4 -11
  175. package/es/components/Datagrid/useParentDimensions.js +6 -16
  176. package/es/components/Datagrid/useResizeTable.js +1 -7
  177. package/es/components/Datagrid/useRowExpander.js +0 -5
  178. package/es/components/Datagrid/useRowIsMouseOver.js +6 -15
  179. package/es/components/Datagrid/useRowRenderer.js +0 -5
  180. package/es/components/Datagrid/useRowSize.js +8 -20
  181. package/es/components/Datagrid/useSelectAllToggle.js +14 -27
  182. package/es/components/Datagrid/useSelectRows.js +15 -34
  183. package/es/components/Datagrid/useSkeletonRows.js +1 -6
  184. package/es/components/Datagrid/useSortableColumns.js +3 -25
  185. package/es/components/Datagrid/useStickyColumn.js +5 -37
  186. package/es/components/Datagrid/utils/DatagridActions.js +19 -29
  187. package/es/components/Datagrid/utils/DatagridPagination.js +5 -6
  188. package/es/components/Datagrid/utils/Wrapper.js +1 -1
  189. package/es/components/Datagrid/utils/getArgTypes.js +1 -0
  190. package/es/components/Datagrid/utils/getAutoSizedColumnWidth.js +1 -3
  191. package/es/components/Datagrid/utils/getInlineEditColumns.js +1 -3
  192. package/es/components/Datagrid/utils/makeData.js +3 -18
  193. package/es/components/EditFullPage/EditFullPage.js +27 -20
  194. package/es/components/EditFullPage/index.js +1 -0
  195. package/es/components/EditInPlace/EditInPlace.js +33 -71
  196. package/es/components/EditInPlace/index.js +1 -0
  197. package/es/components/EditSidePanel/EditSidePanel.js +38 -51
  198. package/es/components/EditSidePanel/index.js +1 -0
  199. package/es/components/EditTearsheet/EditTearsheet.js +35 -45
  200. package/es/components/EditTearsheet/EditTearsheetForm.js +19 -25
  201. package/es/components/EditTearsheet/index.js +1 -0
  202. package/es/components/EditTearsheet/preview-components/MultiFormEditTearsheet.js +37 -49
  203. package/es/components/EditTearsheetNarrow/EditTearsheetNarrow.js +27 -20
  204. package/es/components/EditTearsheetNarrow/index.js +1 -0
  205. package/es/components/EditUpdateCards/EditUpdateCards.js +33 -35
  206. package/es/components/EditUpdateCards/index.js +1 -0
  207. package/es/components/EmptyStates/EmptyState.js +33 -36
  208. package/es/components/EmptyStates/EmptyStateContent.js +19 -18
  209. package/es/components/EmptyStates/ErrorEmptyState/ErrorEmptyState.js +28 -26
  210. package/es/components/EmptyStates/ErrorEmptyState/index.js +1 -0
  211. package/es/components/EmptyStates/NoDataEmptyState/NoDataEmptyState.js +28 -26
  212. package/es/components/EmptyStates/NoDataEmptyState/index.js +1 -0
  213. package/es/components/EmptyStates/NoTagsEmptyState/NoTagsEmptyState.js +28 -26
  214. package/es/components/EmptyStates/NoTagsEmptyState/index.js +1 -0
  215. package/es/components/EmptyStates/NotFoundEmptyState/NotFoundEmptyState.js +28 -26
  216. package/es/components/EmptyStates/NotFoundEmptyState/index.js +1 -0
  217. package/es/components/EmptyStates/NotificationsEmptyState/NotificationsEmptyState.js +28 -26
  218. package/es/components/EmptyStates/NotificationsEmptyState/index.js +1 -0
  219. package/es/components/EmptyStates/UnauthorizedEmptyState/UnauthorizedEmptyState.js +28 -26
  220. package/es/components/EmptyStates/UnauthorizedEmptyState/index.js +1 -0
  221. package/es/components/EmptyStates/assets/ErrorIllustration.js +7 -6
  222. package/es/components/EmptyStates/assets/NoDataIllustration.js +7 -6
  223. package/es/components/EmptyStates/assets/NoTagsIllustration.js +7 -6
  224. package/es/components/EmptyStates/assets/NotFoundIllustration.js +7 -6
  225. package/es/components/EmptyStates/assets/NotificationsIllustration.js +7 -6
  226. package/es/components/EmptyStates/assets/UnauthorizedIllustration.js +7 -6
  227. package/es/components/EmptyStates/index.js +1 -0
  228. package/es/components/ExampleComponent/ExampleComponent.js +44 -57
  229. package/es/components/ExampleComponent/ExampleDeprecatedComponent.js +7 -3
  230. package/es/components/ExampleComponent/index.js +1 -0
  231. package/es/components/ExampleComponent/useExample.js +12 -14
  232. package/es/components/ExportModal/ExportModal.js +41 -80
  233. package/es/components/ExportModal/index.js +1 -0
  234. package/es/components/ExpressiveCard/ExpressiveCard.js +3 -20
  235. package/es/components/ExpressiveCard/index.js +1 -0
  236. package/es/components/FilterSummary/FilterSummary.js +8 -8
  237. package/es/components/HTTPErrors/HTTPError403/HTTPError403.js +16 -18
  238. package/es/components/HTTPErrors/HTTPError403/index.js +1 -0
  239. package/es/components/HTTPErrors/HTTPError404/HTTPError404.js +16 -18
  240. package/es/components/HTTPErrors/HTTPError404/index.js +1 -0
  241. package/es/components/HTTPErrors/HTTPErrorContent.js +15 -18
  242. package/es/components/HTTPErrors/HTTPErrorOther/HTTPErrorOther.js +16 -18
  243. package/es/components/HTTPErrors/HTTPErrorOther/index.js +1 -0
  244. package/es/components/HTTPErrors/assets/HTTPErrorSvg403.js +6 -3
  245. package/es/components/HTTPErrors/assets/HTTPErrorSvg404.js +6 -3
  246. package/es/components/HTTPErrors/assets/HTTPErrorSvgOther.js +6 -3
  247. package/es/components/HTTPErrors/index.js +1 -0
  248. package/es/components/ImportModal/ImportModal.js +82 -137
  249. package/es/components/ImportModal/index.js +1 -0
  250. package/es/components/MultiAddSelect/MultiAddSelect.js +1 -23
  251. package/es/components/MultiAddSelect/index.js +1 -0
  252. package/es/components/NotificationsPanel/NotificationsPanel.js +85 -126
  253. package/es/components/NotificationsPanel/NotificationsPanel_data.js +1 -0
  254. package/es/components/NotificationsPanel/index.js +1 -0
  255. package/es/components/NotificationsPanel/preview-components/UnreadNotificationBell.js +1 -2
  256. package/es/components/NotificationsPanel/utils.js +13 -19
  257. package/es/components/OptionsTile/OptionsTile.js +60 -89
  258. package/es/components/OptionsTile/index.js +1 -0
  259. package/es/components/PageHeader/PageHeader.js +119 -187
  260. package/es/components/PageHeader/PageHeaderDemo.data.js +0 -1
  261. package/es/components/PageHeader/PageHeaderTitle.js +18 -23
  262. package/es/components/PageHeader/PageHeaderUtils.js +18 -45
  263. package/es/components/PageHeader/index.js +1 -0
  264. package/es/components/ProductiveCard/ProductiveCard.js +7 -24
  265. package/es/components/ProductiveCard/index.js +1 -0
  266. package/es/components/RemoveModal/RemoveModal.js +26 -49
  267. package/es/components/RemoveModal/index.js +1 -0
  268. package/es/components/Saving/Saving.js +15 -30
  269. package/es/components/Saving/index.js +1 -0
  270. package/es/components/SidePanel/SidePanel.js +105 -151
  271. package/es/components/SidePanel/constants.js +1 -0
  272. package/es/components/SidePanel/index.js +1 -0
  273. package/es/components/SidePanel/motion/variants.js +1 -0
  274. package/es/components/SingleAddSelect/SingleAddSelect.js +1 -14
  275. package/es/components/SingleAddSelect/index.js +1 -0
  276. package/es/components/StatusIcon/StatusIcon.js +5 -12
  277. package/es/components/StatusIcon/index.js +1 -0
  278. package/es/components/TagSet/TagSet.js +57 -90
  279. package/es/components/TagSet/TagSetModal.js +19 -30
  280. package/es/components/TagSet/TagSetOverflow.js +14 -23
  281. package/es/components/TagSet/constants.js +1 -0
  282. package/es/components/TagSet/index.js +1 -0
  283. package/es/components/Tearsheet/Tearsheet.js +26 -35
  284. package/es/components/Tearsheet/TearsheetNarrow.js +22 -26
  285. package/es/components/Tearsheet/TearsheetShell.js +80 -91
  286. package/es/components/Tearsheet/index.js +1 -0
  287. package/es/components/Toolbar/Toolbar.js +13 -27
  288. package/es/components/Toolbar/ToolbarButton.js +8 -14
  289. package/es/components/Toolbar/ToolbarGroup.js +4 -6
  290. package/es/components/Toolbar/index.js +1 -0
  291. package/es/components/UserProfileImage/UserProfileImage.js +26 -40
  292. package/es/components/UserProfileImage/index.js +2 -0
  293. package/es/components/WebTerminal/WebTerminal.js +44 -54
  294. package/es/components/WebTerminal/WebTerminalContentWrapper.js +14 -11
  295. package/es/components/WebTerminal/hooks/index.js +8 -7
  296. package/es/components/WebTerminal/index.js +1 -0
  297. package/es/components/WebTerminal/preview-components/Navigation.js +2 -4
  298. package/es/components/WebTerminal/preview-components/documentationLinks.js +1 -0
  299. package/es/components/_Canary/Canary.js +13 -13
  300. package/es/components/_Canary/index.js +1 -0
  301. package/es/components/index.js +1 -0
  302. package/es/global/js/hooks/index.js +1 -0
  303. package/es/global/js/hooks/useActiveElement.js +4 -6
  304. package/es/global/js/hooks/useClickOutside.js +1 -1
  305. package/es/global/js/hooks/useControllableState.js +14 -23
  306. package/es/global/js/hooks/useCreateComponentFocus.js +16 -22
  307. package/es/global/js/hooks/useCreateComponentStepChange.js +94 -131
  308. package/es/global/js/hooks/usePreviousValue.js +2 -1
  309. package/es/global/js/hooks/useResetCreateComponent.js +11 -10
  310. package/es/global/js/hooks/useResizeObserver.js +14 -19
  311. package/es/global/js/hooks/useRetrieveStepData.js +7 -10
  312. package/es/global/js/hooks/useValidCreateStepCount.js +2 -1
  313. package/es/global/js/hooks/useWindowResize.js +8 -16
  314. package/es/global/js/hooks/useWindowScroll.js +4 -15
  315. package/es/global/js/package-settings.js +5 -14
  316. package/es/global/js/utils/ClickListener.js +5 -10
  317. package/es/global/js/utils/DisplayBox.js +3 -2
  318. package/es/global/js/utils/Wrap.js +14 -17
  319. package/es/global/js/utils/deepCloneObject.js +5 -8
  320. package/es/global/js/utils/devtools.js +1 -4
  321. package/es/global/js/utils/getBezierValues.js +1 -2
  322. package/es/global/js/utils/getFocusableElements.js +1 -1
  323. package/es/global/js/utils/getNumberOfHiddenSteps.js +1 -1
  324. package/es/global/js/utils/getScrollbarWidth.js +1 -0
  325. package/es/global/js/utils/keyboardNavigation.js +7 -5
  326. package/es/global/js/utils/lastIndexInArray.js +0 -2
  327. package/es/global/js/utils/motionConstants.js +2 -3
  328. package/es/global/js/utils/pconsole.js +1 -3
  329. package/es/global/js/utils/props-helper.js +19 -35
  330. package/es/global/js/utils/rangeWithCallback.js +1 -0
  331. package/es/global/js/utils/scrollableAncestor.js +6 -9
  332. package/es/global/js/utils/story-helper.js +31 -11
  333. package/es/global/js/utils/test-helper.js +39 -59
  334. package/es/global/js/utils/unwrap-if-fragment.js +9 -17
  335. package/es/global/js/utils/uuidv4.js +1 -2
  336. package/es/global/js/utils/uuidv4.spec.js +1 -1
  337. package/es/global/js/utils/wait.js +1 -1
  338. package/es/global/js/utils/wrapFocus.js +8 -14
  339. package/es/index.js +1 -0
  340. package/es/settings.js +22 -23
  341. package/lib/components/APIKeyModal/APIKeyDownloader.js +29 -54
  342. package/lib/components/APIKeyModal/APIKeyModal.js +106 -207
  343. package/lib/components/APIKeyModal/index.js +0 -1
  344. package/lib/components/AboutModal/AboutModal.js +48 -74
  345. package/lib/components/AboutModal/index.js +0 -1
  346. package/lib/components/ActionBar/ActionBar.js +66 -83
  347. package/lib/components/ActionBar/ActionBarItem.js +23 -29
  348. package/lib/components/ActionBar/ActionBarOverflowItems.js +10 -22
  349. package/lib/components/ActionBar/index.js +0 -2
  350. package/lib/components/ActionSet/ActionSet.js +37 -52
  351. package/lib/components/ActionSet/actions.js +1 -5
  352. package/lib/components/ActionSet/index.js +0 -1
  353. package/lib/components/AddSelect/AddSelect.js +8 -17
  354. package/lib/components/AddSelect/AddSelectBody.js +80 -129
  355. package/lib/components/AddSelect/AddSelectBreadcrumbs.js +3 -14
  356. package/lib/components/AddSelect/AddSelectColumn.js +37 -72
  357. package/lib/components/AddSelect/AddSelectFilter.js +27 -51
  358. package/lib/components/AddSelect/AddSelectFormControl.js +7 -27
  359. package/lib/components/AddSelect/AddSelectList.js +11 -22
  360. package/lib/components/AddSelect/AddSelectMetaPanel.js +4 -18
  361. package/lib/components/AddSelect/AddSelectRow.js +25 -55
  362. package/lib/components/AddSelect/AddSelectSidebar.js +20 -33
  363. package/lib/components/AddSelect/AddSelectSort.js +9 -19
  364. package/lib/components/AddSelect/add-select-utils.js +2 -33
  365. package/lib/components/AddSelect/hooks/useFocus.js +3 -10
  366. package/lib/components/AddSelect/hooks/useItemSort.js +7 -13
  367. package/lib/components/AddSelect/hooks/useParentSelect.js +4 -9
  368. package/lib/components/AddSelect/hooks/usePath.js +12 -24
  369. package/lib/components/AddSelect/index.js +0 -1
  370. package/lib/components/BreadcrumbWithOverflow/BreadcrumbWithOverflow.js +68 -103
  371. package/lib/components/BreadcrumbWithOverflow/index.js +0 -1
  372. package/lib/components/ButtonMenu/ButtonMenu.js +36 -38
  373. package/lib/components/ButtonMenu/ButtonMenuItem.js +9 -10
  374. package/lib/components/ButtonMenu/index.js +0 -2
  375. package/lib/components/ButtonSetWithOverflow/ButtonSetWithOverflow.js +39 -72
  376. package/lib/components/ButtonSetWithOverflow/index.js +0 -1
  377. package/lib/components/Card/Card.js +58 -85
  378. package/lib/components/Card/CardFooter.js +19 -28
  379. package/lib/components/Card/CardHeader.js +13 -23
  380. package/lib/components/Card/index.js +0 -3
  381. package/lib/components/Cascade/Cascade.js +10 -31
  382. package/lib/components/Cascade/index.js +0 -1
  383. package/lib/components/ComboButton/ComboButton.js +29 -49
  384. package/lib/components/ComboButton/ComboButtonItem/index.js +2 -10
  385. package/lib/components/ComboButton/index.js +0 -2
  386. package/lib/components/CreateFullPage/CreateFullPage.js +69 -105
  387. package/lib/components/CreateFullPage/CreateFullPageStep.js +33 -56
  388. package/lib/components/CreateFullPage/index.js +0 -2
  389. package/lib/components/CreateInfluencer/CreateInfluencer.js +13 -24
  390. package/lib/components/CreateInfluencer/index.js +0 -1
  391. package/lib/components/CreateModal/CreateModal.js +24 -39
  392. package/lib/components/CreateModal/index.js +0 -1
  393. package/lib/components/CreateSidePanel/CreateSidePanel.js +26 -46
  394. package/lib/components/CreateSidePanel/index.js +0 -1
  395. package/lib/components/CreateTearsheet/CreateTearsheet.js +71 -111
  396. package/lib/components/CreateTearsheet/CreateTearsheetDivider.js +9 -14
  397. package/lib/components/CreateTearsheet/CreateTearsheetStep.js +36 -58
  398. package/lib/components/CreateTearsheet/index.js +0 -3
  399. package/lib/components/CreateTearsheet/preview-components/MultiStepTearsheet.js +53 -80
  400. package/lib/components/CreateTearsheet/preview-components/MultiStepWithIntro.js +41 -71
  401. package/lib/components/CreateTearsheetNarrow/CreateTearsheetNarrow.js +33 -47
  402. package/lib/components/CreateTearsheetNarrow/index.js +0 -1
  403. package/lib/components/DataSpreadsheet/DataSpreadsheet.js +138 -254
  404. package/lib/components/DataSpreadsheet/DataSpreadsheetBody.js +67 -136
  405. package/lib/components/DataSpreadsheet/DataSpreadsheetHeader.js +30 -76
  406. package/lib/components/DataSpreadsheet/hooks/index.js +0 -7
  407. package/lib/components/DataSpreadsheet/hooks/useMoveActiveCell.js +4 -7
  408. package/lib/components/DataSpreadsheet/hooks/useMultipleKeyTracking.js +23 -48
  409. package/lib/components/DataSpreadsheet/hooks/useResetSpreadsheetFocus.js +5 -9
  410. package/lib/components/DataSpreadsheet/hooks/useSpreadsheetEdit.js +18 -37
  411. package/lib/components/DataSpreadsheet/hooks/useSpreadsheetMouseMove.js +7 -18
  412. package/lib/components/DataSpreadsheet/hooks/useSpreadsheetMouseUp.js +39 -62
  413. package/lib/components/DataSpreadsheet/hooks/useSpreadsheetOutsideClick.js +8 -14
  414. package/lib/components/DataSpreadsheet/index.js +0 -1
  415. package/lib/components/DataSpreadsheet/utils/checkActiveHeaderCell.js +1 -9
  416. package/lib/components/DataSpreadsheet/utils/checkSelectedHeaderCell.js +3 -7
  417. package/lib/components/DataSpreadsheet/utils/createActiveCellFn.js +15 -23
  418. package/lib/components/DataSpreadsheet/utils/createCellSelectionArea.js +15 -22
  419. package/lib/components/DataSpreadsheet/utils/generateData.js +4 -16
  420. package/lib/components/DataSpreadsheet/utils/getCellSize.js +1 -8
  421. package/lib/components/DataSpreadsheet/utils/getSelectionAreaPoints.js +1 -2
  422. package/lib/components/DataSpreadsheet/utils/getSpreadsheetWidth.js +7 -12
  423. package/lib/components/DataSpreadsheet/utils/handleActiveCellInSelectionEnter.js +25 -39
  424. package/lib/components/DataSpreadsheet/utils/handleActiveCellInSelectionTab.js +20 -33
  425. package/lib/components/DataSpreadsheet/utils/handleCellDeletion.js +6 -12
  426. package/lib/components/DataSpreadsheet/utils/handleEditSubmit.js +16 -25
  427. package/lib/components/DataSpreadsheet/utils/handleHeaderCellSelection.js +22 -50
  428. package/lib/components/DataSpreadsheet/utils/handleMultipleKeys.js +45 -85
  429. package/lib/components/DataSpreadsheet/utils/moveColumnIndicatorLine.js +6 -12
  430. package/lib/components/DataSpreadsheet/utils/removeCellSelections.js +4 -10
  431. package/lib/components/DataSpreadsheet/utils/selectAllCells.js +12 -17
  432. package/lib/components/Datagrid/Datagrid/Datagrid.js +18 -28
  433. package/lib/components/Datagrid/Datagrid/DatagridBody.js +5 -16
  434. package/lib/components/Datagrid/Datagrid/DatagridContent.js +38 -76
  435. package/lib/components/Datagrid/Datagrid/DatagridEmptyBody.js +10 -18
  436. package/lib/components/Datagrid/Datagrid/DatagridExpandedRow.js +4 -10
  437. package/lib/components/Datagrid/Datagrid/DatagridHead.js +6 -9
  438. package/lib/components/Datagrid/Datagrid/DatagridHeaderRow.js +2 -15
  439. package/lib/components/Datagrid/Datagrid/DatagridRefBody.js +12 -15
  440. package/lib/components/Datagrid/Datagrid/DatagridRow.js +14 -31
  441. package/lib/components/Datagrid/Datagrid/DatagridSelectAll.js +21 -36
  442. package/lib/components/Datagrid/Datagrid/DatagridSelectAllWithToggle.js +33 -55
  443. package/lib/components/Datagrid/Datagrid/DatagridSimpleBody.js +9 -15
  444. package/lib/components/Datagrid/Datagrid/DatagridToolbar.js +27 -53
  445. package/lib/components/Datagrid/Datagrid/DatagridVirtualBody.js +21 -39
  446. package/lib/components/Datagrid/Datagrid/DraggableElement.js +76 -99
  447. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/Actions.js +3 -13
  448. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/ButtonWrapper.js +11 -21
  449. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/Columns.js +15 -38
  450. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsTearsheet.js +57 -83
  451. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/DraggableItemsList.js +12 -27
  452. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/TearsheetWrapper.js +10 -19
  453. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/common.js +1 -5
  454. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/index.js +0 -3
  455. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +61 -104
  456. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +73 -109
  457. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.js +9 -25
  458. package/lib/components/Datagrid/Datagrid/addons/Filtering/constants.js +4 -6
  459. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/index.js +0 -5
  460. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +46 -76
  461. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useInitialStateFromFilters.js +4 -12
  462. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useShouldDisableButtons.js +6 -15
  463. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useSubscribeToEventEmitter.js +1 -6
  464. package/lib/components/Datagrid/Datagrid/addons/Filtering/index.js +0 -4
  465. package/lib/components/Datagrid/Datagrid/addons/Filtering/motion/variants.js +0 -3
  466. package/lib/components/Datagrid/Datagrid/addons/Filtering/utils.js +8 -16
  467. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/InlineEditButton.js +11 -20
  468. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/index.js +0 -1
  469. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +62 -130
  470. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/index.js +0 -1
  471. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/InlineEditContext.js +12 -33
  472. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/getCellIdAsObject.js +1 -3
  473. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/index.js +0 -1
  474. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/returnUpdatedActiveCell.js +14 -19
  475. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/handleGridFocus.js +2 -5
  476. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/handleGridKeyPress.js +34 -71
  477. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/handleMultipleKeys.js +14 -27
  478. package/lib/components/Datagrid/Datagrid/addons/RowSize/RowSizeDropdown.js +13 -27
  479. package/lib/components/Datagrid/Datagrid/addons/RowSize/RowSizeRadioGroup.js +18 -38
  480. package/lib/components/Datagrid/Datagrid/addons/RowSize/index.js +0 -2
  481. package/lib/components/Datagrid/Datagrid/index.js +0 -1
  482. package/lib/components/Datagrid/Datagrid.stories/StickyActionsColumnStory.js +10 -0
  483. package/lib/components/Datagrid/Datagrid.stories/common.js +2 -17
  484. package/lib/components/Datagrid/Datagrid.stories/index.js +0 -5
  485. package/lib/components/Datagrid/common-column-ids.js +1 -1
  486. package/lib/components/Datagrid/index.js +0 -22
  487. package/lib/components/Datagrid/useActionsColumn.js +28 -46
  488. package/lib/components/Datagrid/useColumnCenterAlign.js +7 -15
  489. package/lib/components/Datagrid/useColumnOrder.js +0 -2
  490. package/lib/components/Datagrid/useColumnRightAlign.js +7 -15
  491. package/lib/components/Datagrid/useCustomizeColumns.js +12 -21
  492. package/lib/components/Datagrid/useDatagrid.js +7 -21
  493. package/lib/components/Datagrid/useDefaultStringRenderer.js +7 -16
  494. package/lib/components/Datagrid/useDisableSelectRows.js +2 -11
  495. package/lib/components/Datagrid/useEditableCell.js +1 -4
  496. package/lib/components/Datagrid/useExpandedRow.js +12 -21
  497. package/lib/components/Datagrid/useFiltering.js +16 -25
  498. package/lib/components/Datagrid/useFlexResize.js +0 -9
  499. package/lib/components/Datagrid/useFloatingScroll.js +10 -27
  500. package/lib/components/Datagrid/useInfiniteScroll.js +8 -22
  501. package/lib/components/Datagrid/useInlineEdit.js +2 -19
  502. package/lib/components/Datagrid/useNestedRowExpander.js +1 -14
  503. package/lib/components/Datagrid/useNestedRows.js +2 -15
  504. package/lib/components/Datagrid/useOnRowClick.js +4 -12
  505. package/lib/components/Datagrid/useParentDimensions.js +7 -18
  506. package/lib/components/Datagrid/useResizeTable.js +2 -8
  507. package/lib/components/Datagrid/useRowExpander.js +1 -12
  508. package/lib/components/Datagrid/useRowIsMouseOver.js +12 -20
  509. package/lib/components/Datagrid/useRowRenderer.js +1 -7
  510. package/lib/components/Datagrid/useRowSize.js +14 -25
  511. package/lib/components/Datagrid/useSelectAllToggle.js +15 -38
  512. package/lib/components/Datagrid/useSelectRows.js +22 -51
  513. package/lib/components/Datagrid/useSkeletonRows.js +1 -8
  514. package/lib/components/Datagrid/useSortableColumns.js +8 -35
  515. package/lib/components/Datagrid/useStickyColumn.js +11 -45
  516. package/lib/components/Datagrid/utils/DatagridActions.js +19 -44
  517. package/lib/components/Datagrid/utils/DatagridPagination.js +5 -11
  518. package/lib/components/Datagrid/utils/Wrapper.js +1 -5
  519. package/lib/components/Datagrid/utils/getArgTypes.js +1 -1
  520. package/lib/components/Datagrid/utils/getAutoSizedColumnWidth.js +1 -6
  521. package/lib/components/Datagrid/utils/getInlineEditColumns.js +1 -9
  522. package/lib/components/Datagrid/utils/makeData.js +8 -28
  523. package/lib/components/EditFullPage/EditFullPage.js +30 -26
  524. package/lib/components/EditFullPage/index.js +0 -1
  525. package/lib/components/EditInPlace/EditInPlace.js +36 -89
  526. package/lib/components/EditInPlace/index.js +0 -1
  527. package/lib/components/EditSidePanel/EditSidePanel.js +40 -59
  528. package/lib/components/EditSidePanel/index.js +0 -1
  529. package/lib/components/EditTearsheet/EditTearsheet.js +39 -61
  530. package/lib/components/EditTearsheet/EditTearsheetForm.js +24 -39
  531. package/lib/components/EditTearsheet/index.js +0 -2
  532. package/lib/components/EditTearsheet/preview-components/MultiFormEditTearsheet.js +37 -62
  533. package/lib/components/EditTearsheetNarrow/EditTearsheetNarrow.js +30 -26
  534. package/lib/components/EditTearsheetNarrow/index.js +0 -1
  535. package/lib/components/EditUpdateCards/EditUpdateCards.js +35 -41
  536. package/lib/components/EditUpdateCards/index.js +0 -1
  537. package/lib/components/EmptyStates/EmptyState.js +36 -49
  538. package/lib/components/EmptyStates/EmptyStateContent.js +21 -27
  539. package/lib/components/EmptyStates/ErrorEmptyState/ErrorEmptyState.js +31 -39
  540. package/lib/components/EmptyStates/ErrorEmptyState/index.js +0 -1
  541. package/lib/components/EmptyStates/NoDataEmptyState/NoDataEmptyState.js +31 -39
  542. package/lib/components/EmptyStates/NoDataEmptyState/index.js +0 -1
  543. package/lib/components/EmptyStates/NoTagsEmptyState/NoTagsEmptyState.js +31 -39
  544. package/lib/components/EmptyStates/NoTagsEmptyState/index.js +0 -1
  545. package/lib/components/EmptyStates/NotFoundEmptyState/NotFoundEmptyState.js +31 -39
  546. package/lib/components/EmptyStates/NotFoundEmptyState/index.js +0 -1
  547. package/lib/components/EmptyStates/NotificationsEmptyState/NotificationsEmptyState.js +31 -39
  548. package/lib/components/EmptyStates/NotificationsEmptyState/index.js +0 -1
  549. package/lib/components/EmptyStates/UnauthorizedEmptyState/UnauthorizedEmptyState.js +31 -39
  550. package/lib/components/EmptyStates/UnauthorizedEmptyState/index.js +0 -1
  551. package/lib/components/EmptyStates/assets/ErrorIllustration.js +10 -13
  552. package/lib/components/EmptyStates/assets/NoDataIllustration.js +10 -13
  553. package/lib/components/EmptyStates/assets/NoTagsIllustration.js +10 -13
  554. package/lib/components/EmptyStates/assets/NotFoundIllustration.js +10 -13
  555. package/lib/components/EmptyStates/assets/NotificationsIllustration.js +10 -13
  556. package/lib/components/EmptyStates/assets/UnauthorizedIllustration.js +10 -13
  557. package/lib/components/EmptyStates/index.js +0 -7
  558. package/lib/components/ExampleComponent/ExampleComponent.js +46 -69
  559. package/lib/components/ExampleComponent/ExampleDeprecatedComponent.js +7 -9
  560. package/lib/components/ExampleComponent/index.js +0 -1
  561. package/lib/components/ExampleComponent/useExample.js +13 -18
  562. package/lib/components/ExportModal/ExportModal.js +46 -96
  563. package/lib/components/ExportModal/index.js +0 -1
  564. package/lib/components/ExpressiveCard/ExpressiveCard.js +3 -32
  565. package/lib/components/ExpressiveCard/index.js +0 -1
  566. package/lib/components/FilterSummary/FilterSummary.js +9 -18
  567. package/lib/components/FilterSummary/index.js +0 -2
  568. package/lib/components/HTTPErrors/HTTPError403/HTTPError403.js +19 -27
  569. package/lib/components/HTTPErrors/HTTPError403/index.js +0 -1
  570. package/lib/components/HTTPErrors/HTTPError404/HTTPError404.js +19 -27
  571. package/lib/components/HTTPErrors/HTTPError404/index.js +0 -1
  572. package/lib/components/HTTPErrors/HTTPErrorContent.js +17 -24
  573. package/lib/components/HTTPErrors/HTTPErrorOther/HTTPErrorOther.js +19 -27
  574. package/lib/components/HTTPErrors/HTTPErrorOther/index.js +0 -1
  575. package/lib/components/HTTPErrors/assets/HTTPErrorSvg403.js +6 -7
  576. package/lib/components/HTTPErrors/assets/HTTPErrorSvg404.js +6 -7
  577. package/lib/components/HTTPErrors/assets/HTTPErrorSvgOther.js +6 -7
  578. package/lib/components/HTTPErrors/index.js +0 -3
  579. package/lib/components/ImportModal/ImportModal.js +87 -155
  580. package/lib/components/ImportModal/index.js +0 -1
  581. package/lib/components/MultiAddSelect/MultiAddSelect.js +1 -34
  582. package/lib/components/MultiAddSelect/index.js +0 -1
  583. package/lib/components/NotificationsPanel/NotificationsPanel.js +87 -143
  584. package/lib/components/NotificationsPanel/NotificationsPanel_data.js +1 -4
  585. package/lib/components/NotificationsPanel/index.js +0 -1
  586. package/lib/components/NotificationsPanel/preview-components/UnreadNotificationBell.js +1 -4
  587. package/lib/components/NotificationsPanel/utils.js +13 -21
  588. package/lib/components/OptionsTile/OptionsTile.js +62 -106
  589. package/lib/components/OptionsTile/index.js +0 -1
  590. package/lib/components/PageHeader/PageHeader.js +122 -214
  591. package/lib/components/PageHeader/PageHeaderDemo.data.js +0 -3
  592. package/lib/components/PageHeader/PageHeaderTitle.js +17 -35
  593. package/lib/components/PageHeader/PageHeaderUtils.js +23 -59
  594. package/lib/components/PageHeader/index.js +0 -1
  595. package/lib/components/ProductiveCard/ProductiveCard.js +12 -38
  596. package/lib/components/ProductiveCard/index.js +0 -1
  597. package/lib/components/RemoveModal/RemoveModal.js +31 -66
  598. package/lib/components/RemoveModal/index.js +0 -1
  599. package/lib/components/Saving/Saving.js +20 -44
  600. package/lib/components/Saving/index.js +0 -1
  601. package/lib/components/SidePanel/SidePanel.js +109 -174
  602. package/lib/components/SidePanel/constants.js +1 -1
  603. package/lib/components/SidePanel/index.js +0 -1
  604. package/lib/components/SidePanel/motion/variants.js +1 -2
  605. package/lib/components/SingleAddSelect/SingleAddSelect.js +1 -26
  606. package/lib/components/SingleAddSelect/index.js +0 -1
  607. package/lib/components/StatusIcon/StatusIcon.js +11 -25
  608. package/lib/components/StatusIcon/index.js +0 -1
  609. package/lib/components/TagSet/TagSet.js +61 -110
  610. package/lib/components/TagSet/TagSetModal.js +23 -46
  611. package/lib/components/TagSet/TagSetOverflow.js +19 -42
  612. package/lib/components/TagSet/constants.js +1 -0
  613. package/lib/components/TagSet/index.js +0 -1
  614. package/lib/components/Tearsheet/Tearsheet.js +29 -44
  615. package/lib/components/Tearsheet/TearsheetNarrow.js +25 -35
  616. package/lib/components/Tearsheet/TearsheetShell.js +82 -113
  617. package/lib/components/Tearsheet/index.js +0 -2
  618. package/lib/components/Toolbar/Toolbar.js +18 -41
  619. package/lib/components/Toolbar/ToolbarButton.js +13 -27
  620. package/lib/components/Toolbar/ToolbarGroup.js +8 -16
  621. package/lib/components/Toolbar/index.js +0 -3
  622. package/lib/components/UserProfileImage/UserProfileImage.js +28 -48
  623. package/lib/components/UserProfileImage/index.js +0 -1
  624. package/lib/components/WebTerminal/WebTerminal.js +46 -70
  625. package/lib/components/WebTerminal/WebTerminalContentWrapper.js +17 -20
  626. package/lib/components/WebTerminal/hooks/index.js +8 -19
  627. package/lib/components/WebTerminal/index.js +0 -3
  628. package/lib/components/WebTerminal/preview-components/Navigation.js +2 -9
  629. package/lib/components/WebTerminal/preview-components/documentationLinks.js +1 -0
  630. package/lib/components/WebTerminal/preview-components/index.js +0 -2
  631. package/lib/components/_Canary/Canary.js +14 -17
  632. package/lib/components/_Canary/index.js +0 -1
  633. package/lib/components/index.js +0 -37
  634. package/lib/global/js/hooks/index.js +0 -11
  635. package/lib/global/js/hooks/useActiveElement.js +4 -10
  636. package/lib/global/js/hooks/useClickOutside.js +1 -4
  637. package/lib/global/js/hooks/useControllableState.js +12 -26
  638. package/lib/global/js/hooks/useCreateComponentFocus.js +14 -27
  639. package/lib/global/js/hooks/useCreateComponentStepChange.js +94 -136
  640. package/lib/global/js/hooks/usePreviousValue.js +0 -3
  641. package/lib/global/js/hooks/useResetCreateComponent.js +9 -13
  642. package/lib/global/js/hooks/useResizeObserver.js +15 -23
  643. package/lib/global/js/hooks/useRetrieveStepData.js +5 -12
  644. package/lib/global/js/hooks/useValidCreateStepCount.js +0 -3
  645. package/lib/global/js/hooks/useWindowResize.js +14 -22
  646. package/lib/global/js/hooks/useWindowScroll.js +5 -20
  647. package/lib/global/js/package-settings.js +10 -18
  648. package/lib/global/js/utils/ClickListener.js +3 -16
  649. package/lib/global/js/utils/DisplayBox.js +3 -9
  650. package/lib/global/js/utils/Wrap.js +16 -22
  651. package/lib/global/js/utils/deepCloneObject.js +5 -11
  652. package/lib/global/js/utils/devtools.js +1 -6
  653. package/lib/global/js/utils/getBezierValues.js +1 -5
  654. package/lib/global/js/utils/getFocusableElements.js +1 -4
  655. package/lib/global/js/utils/getNumberOfHiddenSteps.js +1 -3
  656. package/lib/global/js/utils/getScrollbarWidth.js +1 -2
  657. package/lib/global/js/utils/keyboardNavigation.js +7 -6
  658. package/lib/global/js/utils/lastIndexInArray.js +0 -4
  659. package/lib/global/js/utils/motionConstants.js +1 -5
  660. package/lib/global/js/utils/pconsole.js +1 -7
  661. package/lib/global/js/utils/props-helper.js +21 -58
  662. package/lib/global/js/utils/rangeWithCallback.js +1 -2
  663. package/lib/global/js/utils/scrollableAncestor.js +6 -13
  664. package/lib/global/js/utils/story-helper.js +31 -26
  665. package/lib/global/js/utils/test-helper.js +39 -87
  666. package/lib/global/js/utils/unwrap-if-fragment.js +8 -20
  667. package/lib/global/js/utils/uuidv4.js +1 -3
  668. package/lib/global/js/utils/uuidv4.spec.js +1 -3
  669. package/lib/global/js/utils/wait.js +1 -2
  670. package/lib/global/js/utils/wrapFocus.js +6 -16
  671. package/lib/index.js +0 -3
  672. package/lib/settings.js +22 -33
  673. package/package.json +25 -24
  674. package/scss/components/AboutModal/_about-modal.scss +3 -18
  675. package/scss/components/AboutModal/_storybook-styles.scss +10 -3
  676. package/scss/components/ActionSet/_action-set.scss +15 -5
  677. package/scss/components/AddSelect/_add-select.scss +21 -30
  678. package/scss/components/Datagrid/_storybook-styles.scss +1 -1
  679. package/scss/components/Datagrid/styles/_datagrid.scss +6 -6
  680. package/scss/components/Datagrid/styles/_useInlineEdit.scss +12 -4
  681. package/scss/components/EditTearsheet/_edit-tearsheet.scss +6 -4
  682. package/scss/components/EmptyStates/_empty-state.scss +20 -0
  683. package/scss/components/PageHeader/_page-header.scss +6 -2
  684. package/scss/components/SidePanel/_side-panel.scss +1 -4
  685. package/scss/components/TagSet/_tag-set.scss +1 -1
@@ -3,22 +3,21 @@ import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
3
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
4
4
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
5
5
  var _excluded = ["actionToolbarButtons", "actions", "animateTitle", "children", "className", "closeIconDescription", "condensedActions", "currentStep", "includeOverlay", "labelText", "navigationBackIconDescription", "onNavigationBack", "onRequestClose", "onUnmount", "open", "placement", "preventCloseOnClickOutside", "selectorPageContent", "selectorPrimaryFocus", "size", "slideIn", "subtitle", "title"],
6
- _excluded2 = ["label", "kind", "icon", "tooltipPosition", "tooltipAlignment", "leading", "disabled", "className", "onClick"];
7
-
6
+ _excluded2 = ["label", "kind", "icon", "tooltipPosition", "tooltipAlignment", "leading", "disabled", "className", "onClick"];
8
7
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
9
-
10
8
  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; }
11
-
12
9
  /**
13
10
  * Copyright IBM Corp. 2020, 2023
14
11
  *
15
12
  * This source code is licensed under the Apache-2.0 license found in the
16
13
  * LICENSE file in the root directory of this source tree.
17
14
  */
15
+
18
16
  // Import portions of React that are needed.
19
17
  import React, { useState, useEffect, useRef } from 'react';
20
- import { motion, AnimatePresence } from 'framer-motion'; // Other standard imports.
18
+ import { motion, AnimatePresence } from 'framer-motion';
21
19
 
20
+ // Other standard imports.
22
21
  import PropTypes from 'prop-types';
23
22
  import cx from 'classnames';
24
23
  import { useResizeObserver } from '../../global/js/hooks/useResizeObserver';
@@ -28,16 +27,19 @@ import { allPropTypes } from '../../global/js/utils/props-helper';
28
27
  import wrapFocus from '../../global/js/utils/wrapFocus';
29
28
  import { pkg } from '../../settings';
30
29
  import { SIDE_PANEL_SIZES } from './constants';
31
- import { usePreviousValue } from '../../global/js/hooks'; // Carbon and package components we use.
30
+ import { usePreviousValue } from '../../global/js/hooks';
32
31
 
32
+ // Carbon and package components we use.
33
33
  import { Button } from '@carbon/react';
34
34
  import { Close, ArrowLeft } from '@carbon/react/icons';
35
35
  import { ActionSet } from '../ActionSet';
36
36
  import { overlayVariants, panelVariants } from './motion/variants';
37
37
  var blockClass = "".concat(pkg.prefix, "--side-panel");
38
- var componentName = 'SidePanel'; // NOTE: the component SCSS is not imported here: it is rolled up separately.
39
- // Default values for props
38
+ var componentName = 'SidePanel';
39
+
40
+ // NOTE: the component SCSS is not imported here: it is rolled up separately.
40
41
 
42
+ // Default values for props
41
43
  var defaults = {
42
44
  animateTitle: true,
43
45
  closeIconDescription: 'Close',
@@ -46,54 +48,50 @@ var defaults = {
46
48
  placement: 'right',
47
49
  size: 'md'
48
50
  };
51
+
49
52
  /**
50
53
  * Side panels keep users in-context of a page while performing tasks like navigating, editing, viewing details, or configuring something new.
51
54
  */
52
-
53
55
  export var SidePanel = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
54
56
  var _window, _ref5, _cx4;
55
-
56
57
  var actionToolbarButtons = _ref.actionToolbarButtons,
57
- actions = _ref.actions,
58
- _ref$animateTitle = _ref.animateTitle,
59
- animateTitle = _ref$animateTitle === void 0 ? defaults.animateTitle : _ref$animateTitle,
60
- children = _ref.children,
61
- className = _ref.className,
62
- _ref$closeIconDescrip = _ref.closeIconDescription,
63
- closeIconDescription = _ref$closeIconDescrip === void 0 ? defaults.closeIconDescription : _ref$closeIconDescrip,
64
- condensedActions = _ref.condensedActions,
65
- _ref$currentStep = _ref.currentStep,
66
- currentStep = _ref$currentStep === void 0 ? defaults.currentStep : _ref$currentStep,
67
- includeOverlay = _ref.includeOverlay,
68
- labelText = _ref.labelText,
69
- _ref$navigationBackIc = _ref.navigationBackIconDescription,
70
- navigationBackIconDescription = _ref$navigationBackIc === void 0 ? defaults.navigationBackIconDescription : _ref$navigationBackIc,
71
- onNavigationBack = _ref.onNavigationBack,
72
- onRequestClose = _ref.onRequestClose,
73
- onUnmount = _ref.onUnmount,
74
- open = _ref.open,
75
- _ref$placement = _ref.placement,
76
- placement = _ref$placement === void 0 ? defaults.placement : _ref$placement,
77
- preventCloseOnClickOutside = _ref.preventCloseOnClickOutside,
78
- selectorPageContent = _ref.selectorPageContent,
79
- selectorPrimaryFocus = _ref.selectorPrimaryFocus,
80
- _ref$size = _ref.size,
81
- size = _ref$size === void 0 ? defaults.size : _ref$size,
82
- slideIn = _ref.slideIn,
83
- subtitle = _ref.subtitle,
84
- title = _ref.title,
85
- rest = _objectWithoutProperties(_ref, _excluded);
86
-
58
+ actions = _ref.actions,
59
+ _ref$animateTitle = _ref.animateTitle,
60
+ animateTitle = _ref$animateTitle === void 0 ? defaults.animateTitle : _ref$animateTitle,
61
+ children = _ref.children,
62
+ className = _ref.className,
63
+ _ref$closeIconDescrip = _ref.closeIconDescription,
64
+ closeIconDescription = _ref$closeIconDescrip === void 0 ? defaults.closeIconDescription : _ref$closeIconDescrip,
65
+ condensedActions = _ref.condensedActions,
66
+ _ref$currentStep = _ref.currentStep,
67
+ currentStep = _ref$currentStep === void 0 ? defaults.currentStep : _ref$currentStep,
68
+ includeOverlay = _ref.includeOverlay,
69
+ labelText = _ref.labelText,
70
+ _ref$navigationBackIc = _ref.navigationBackIconDescription,
71
+ navigationBackIconDescription = _ref$navigationBackIc === void 0 ? defaults.navigationBackIconDescription : _ref$navigationBackIc,
72
+ onNavigationBack = _ref.onNavigationBack,
73
+ onRequestClose = _ref.onRequestClose,
74
+ onUnmount = _ref.onUnmount,
75
+ open = _ref.open,
76
+ _ref$placement = _ref.placement,
77
+ placement = _ref$placement === void 0 ? defaults.placement : _ref$placement,
78
+ preventCloseOnClickOutside = _ref.preventCloseOnClickOutside,
79
+ selectorPageContent = _ref.selectorPageContent,
80
+ selectorPrimaryFocus = _ref.selectorPrimaryFocus,
81
+ _ref$size = _ref.size,
82
+ size = _ref$size === void 0 ? defaults.size : _ref$size,
83
+ slideIn = _ref.slideIn,
84
+ subtitle = _ref.subtitle,
85
+ title = _ref.title,
86
+ rest = _objectWithoutProperties(_ref, _excluded);
87
87
  var _useState = useState(false),
88
- _useState2 = _slicedToArray(_useState, 2),
89
- animationComplete = _useState2[0],
90
- setAnimationComplete = _useState2[1];
91
-
88
+ _useState2 = _slicedToArray(_useState, 2),
89
+ animationComplete = _useState2[0],
90
+ setAnimationComplete = _useState2[1];
92
91
  var _useState3 = useState(0),
93
- _useState4 = _slicedToArray(_useState3, 2),
94
- panelHeight = _useState4[0],
95
- setPanelHeight = _useState4[1];
96
-
92
+ _useState4 = _slicedToArray(_useState3, 2),
93
+ panelHeight = _useState4[0],
94
+ setPanelHeight = _useState4[1];
97
95
  var sidePanelRef = useRef();
98
96
  var sidePanelOverlayRef = useRef();
99
97
  var startTrapRef = useRef();
@@ -106,47 +104,43 @@ export var SidePanel = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
106
104
  });
107
105
  var reducedMotion = typeof window !== 'undefined' && (_window = window) !== null && _window !== void 0 && _window.matchMedia ? window.matchMedia('(prefers-reduced-motion: reduce)') : {
108
106
  matches: true
109
- }; // scroll panel to top going between steps
107
+ };
110
108
 
109
+ // scroll panel to top going between steps
111
110
  useEffect(function () {
112
111
  var panelRef = ref || sidePanelRef;
113
-
114
112
  if (panelRef && panelRef.current) {
115
113
  var _document$querySelect;
116
-
117
114
  var scrollableSection = panelRef.current.querySelector(".".concat(blockClass, "__inner-content"));
118
115
  var sidePanelOuter = document.querySelector("#".concat(blockClass, "-outer"));
119
116
  var initialTitleHeight = (_document$querySelect = document.querySelector(".".concat(blockClass, "__title-container"))) === null || _document$querySelect === void 0 ? void 0 : _document$querySelect.offsetHeight;
120
- scrollableSection.scrollTop = 0; // The size of the panel has changed while it is still opened
117
+ scrollableSection.scrollTop = 0;
118
+ // The size of the panel has changed while it is still opened
121
119
  // so we need to scroll it to the top and reset the title container
122
120
  // height css custom property
123
-
124
121
  if ((previousState === null || previousState === void 0 ? void 0 : previousState.size) !== size) {
125
122
  var _sidePanelOuter$style;
126
-
127
123
  scrollableSection.scrollTop = 0;
128
124
  sidePanelOuter === null || sidePanelOuter === void 0 ? void 0 : (_sidePanelOuter$style = sidePanelOuter.style) === null || _sidePanelOuter$style === void 0 ? void 0 : _sidePanelOuter$style.setProperty("--".concat(blockClass, "--title-container-height"), "".concat(Number(initialTitleHeight), "px"));
129
125
  }
130
126
  }
131
- }, [currentStep, ref, size, previousState === null || previousState === void 0 ? void 0 : previousState.size]); // set initial focus when side panel opens
127
+ }, [currentStep, ref, size, previousState === null || previousState === void 0 ? void 0 : previousState.size]);
132
128
 
129
+ // set initial focus when side panel opens
133
130
  useEffect(function () {
134
131
  var initialFocus = function initialFocus(focusContainerElement) {
135
132
  var containerElement = focusContainerElement;
136
133
  var primaryFocusElement = containerElement && containerElement.querySelector(selectorPrimaryFocus);
137
-
138
134
  if (primaryFocusElement) {
139
135
  return primaryFocusElement;
140
136
  } else {
141
137
  return sidePanelCloseRef && sidePanelCloseRef.current;
142
138
  }
143
139
  };
144
-
145
140
  var focusButton = function focusButton(focusContainerElement) {
146
141
  var target = initialFocus(focusContainerElement);
147
142
  target === null || target === void 0 ? void 0 : target.focus();
148
143
  };
149
-
150
144
  if (open && animationComplete) {
151
145
  focusButton(sidePanelInnerRef.current);
152
146
  }
@@ -154,47 +148,42 @@ export var SidePanel = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
154
148
  useEffect(function () {
155
149
  if (open && actions && actions.length && animationComplete) {
156
150
  var _sidePanelOuter$style2;
157
-
158
151
  var sidePanelOuter = document.querySelector("#".concat(blockClass, "-outer"));
159
152
  var actionsContainer = getActionsContainerElement();
160
153
  var actionsHeight = (actionsContainer === null || actionsContainer === void 0 ? void 0 : actionsContainer.offsetHeight) + 16; // add additional 1rem spacing to bottom padding
161
-
162
154
  actionsHeight = "".concat(Math.round(actionsHeight / 16), "rem");
163
155
  sidePanelOuter === null || sidePanelOuter === void 0 ? void 0 : (_sidePanelOuter$style2 = sidePanelOuter.style) === null || _sidePanelOuter$style2 === void 0 ? void 0 : _sidePanelOuter$style2.setProperty("--".concat(blockClass, "--content-bottom-padding"), actionsHeight);
164
156
  }
165
- }, [actions, condensedActions, open, animationComplete]); // Add console warning if labelText is provided without a title.
166
- // This combination is not allowed.
157
+ }, [actions, condensedActions, open, animationComplete]);
167
158
 
159
+ // Add console warning if labelText is provided without a title.
160
+ // This combination is not allowed.
168
161
  useEffect(function () {
169
162
  if (!title && labelText) {
170
163
  console.warn("".concat(componentName, ": The prop `labelText` was provided without a `title`. It is required to have a `title` when using the `labelText` prop."));
171
164
  }
172
165
  }, [labelText, title]);
173
- /* istanbul ignore next */
174
166
 
167
+ /* istanbul ignore next */
175
168
  var handleResize = function handleResize(_ref2) {
176
169
  var _sidePanelOuter$style3;
177
-
178
170
  var height = _ref2.height;
179
171
  setPanelHeight(height);
180
172
  var sidePanelOuter = document.querySelector("#".concat(blockClass, "-outer"));
181
173
  var actionsContainer = getActionsContainerElement();
182
174
  var actionsHeight = (actionsContainer === null || actionsContainer === void 0 ? void 0 : actionsContainer.offsetHeight) + 16; // add additional 1rem spacing to bottom padding
183
-
184
175
  actionsHeight = "".concat(Math.round(actionsHeight / 16), "rem");
185
176
  sidePanelOuter === null || sidePanelOuter === void 0 ? void 0 : (_sidePanelOuter$style3 = sidePanelOuter.style) === null || _sidePanelOuter$style3 === void 0 ? void 0 : _sidePanelOuter$style3.setProperty("--".concat(blockClass, "--content-bottom-padding"), actionsHeight);
186
177
  };
187
-
188
178
  var getActionsContainerElement = function getActionsContainerElement() {
189
179
  var sidePanelOuter = document.querySelector("#".concat(blockClass, "-outer"));
190
180
  return sidePanelOuter && sidePanelOuter.querySelector(".".concat(blockClass, "__actions-container"));
191
- }; // Title and subtitle scroll animation
192
-
181
+ };
193
182
 
183
+ // Title and subtitle scroll animation
194
184
  useEffect(function () {
195
185
  if (open && animateTitle && animationComplete && title && title.length && !reducedMotion.matches) {
196
186
  var _document$querySelect2, _document$querySelect3, _document$querySelect4;
197
-
198
187
  var sidePanelOuter = document.querySelector("#".concat(blockClass, "-outer"));
199
188
  var sidePanelScrollArea = document.querySelector("#".concat(blockClass, "-outer .").concat(blockClass, "__inner-content"));
200
189
  var sidePanelTitleElement = document.querySelector(".".concat(blockClass, "__title-text"));
@@ -206,50 +195,54 @@ export var SidePanel = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
206
195
  var scrollSectionHeight = (_document$querySelect2 = document.querySelector(".".concat(blockClass, "__body-content"))) === null || _document$querySelect2 === void 0 ? void 0 : _document$querySelect2.offsetHeight;
207
196
  var titleContainerHeight = (_document$querySelect3 = document.querySelector(".".concat(blockClass, "__title-container"))) === null || _document$querySelect3 === void 0 ? void 0 : _document$querySelect3.offsetHeight;
208
197
  var labelTextHeight = (_document$querySelect4 = document.querySelector(".".concat(blockClass, "__label-text"))) === null || _document$querySelect4 === void 0 ? void 0 : _document$querySelect4.offsetHeight;
209
- var totalScrollingContentHeight = titleContainerHeight + sidePanelSubtitleElementHeight + scrollSectionHeight; // if the difference between the total scrolling height and the panel height is less than
198
+ var totalScrollingContentHeight = titleContainerHeight + sidePanelSubtitleElementHeight + scrollSectionHeight;
199
+ // if the difference between the total scrolling height and the panel height is less than
210
200
  // the subtitleElement height OR if the subtitle element height is 0, use that difference
211
201
  // as the length of the scroll animation (otherwise the animation will not be able to complete
212
202
  // because there is not enough scrolling distance to complete it).
213
-
214
203
  sidePanelSubtitleElementHeight = totalScrollingContentHeight - panelOuterHeight < sidePanelSubtitleElementHeight ? totalScrollingContentHeight - panelOuterHeight : sidePanelSubtitleElementHeight === 0 ? 16 : sidePanelSubtitleElementHeight;
215
204
  sidePanelSubtitleElementHeight = sidePanelSubtitleElementHeight < 0 ? (sidePanelScrollArea === null || sidePanelScrollArea === void 0 ? void 0 : sidePanelScrollArea.scrollHeight) - (sidePanelScrollArea === null || sidePanelScrollArea === void 0 ? void 0 : sidePanelScrollArea.clientHeight) : sidePanelSubtitleElementHeight;
216
205
  /* istanbul ignore next */
217
-
218
206
  sidePanelScrollArea && sidePanelScrollArea.addEventListener('scroll', function () {
219
- var scrollTop = sidePanelScrollArea.scrollTop; // if scrolling has occurred
220
-
207
+ var scrollTop = sidePanelScrollArea.scrollTop;
208
+ // if scrolling has occurred
221
209
  if (scrollTop > 0) {
222
- sidePanelOuter.classList.add("".concat(blockClass, "__with-condensed-header")); // Set subtitle opacity calculation here
210
+ sidePanelOuter.classList.add("".concat(blockClass, "__with-condensed-header"));
211
+ // Set subtitle opacity calculation here
223
212
  // as scroll progresses
224
-
225
213
  var titleOpacity = Math.min(1, (sidePanelSubtitleElementHeight - scrollTop) / sidePanelSubtitleElementHeight);
226
214
  titleOpacity = titleOpacity < 0 ? 0 : titleOpacity;
227
- sidePanelOuter.style.setProperty("--".concat(blockClass, "--subtitle-opacity"), titleOpacity); // Calculate divider opacity to avoid border
215
+ sidePanelOuter.style.setProperty("--".concat(blockClass, "--subtitle-opacity"), titleOpacity);
216
+
217
+ // Calculate divider opacity to avoid border
228
218
  // abruptly appearing when scrolling starts.
229
219
  // This approach uses a pseudo element and sets
230
220
  // the opacity as scroll progresses.
231
-
232
221
  var dividerOpacity = Math.min(scrollTop / sidePanelSubtitleElementHeight, 1);
233
- sidePanelOuter.style.setProperty("--".concat(blockClass, "--divider-opacity"), "".concat(Math.min(1, dividerOpacity))); // We need to know the height of the title element
222
+ sidePanelOuter.style.setProperty("--".concat(blockClass, "--divider-opacity"), "".concat(Math.min(1, dividerOpacity)));
223
+
224
+ // We need to know the height of the title element
234
225
  // so that we know how far to place the action toolbar
235
226
  // from the top since it is sticky
236
-
237
227
  var titleTextHeight = Math.max(sidePanelTitleElement.offsetHeight);
238
- sidePanelOuter.style.setProperty("--".concat(blockClass, "--title-height"), "".concat(titleTextHeight + 16, "px")); // Set title y positioning
228
+ sidePanelOuter.style.setProperty("--".concat(blockClass, "--title-height"), "".concat(titleTextHeight + 16, "px"));
239
229
 
230
+ // Set title y positioning
240
231
  var titleYPosition = Math.min(scrollTop / sidePanelSubtitleElementHeight, 1);
241
- sidePanelOuter.style.setProperty("--".concat(blockClass, "--title-y-position"), "".concat(-Math.abs(titleYPosition), "rem")); // mark title with aria-hidden={true} if opacity reaches 0
232
+ sidePanelOuter.style.setProperty("--".concat(blockClass, "--title-y-position"), "".concat(-Math.abs(titleYPosition), "rem"));
242
233
 
234
+ // mark title with aria-hidden={true} if opacity reaches 0
243
235
  if (titleOpacity === 0) {
244
236
  sidePanelTitleElement.setAttribute('aria-hidden', 'true');
245
237
  sidePanelCollapsedTitleElement.setAttribute('aria-hidden', 'false');
246
- } // Set collapsed title y positioning
247
-
238
+ }
248
239
 
240
+ // Set collapsed title y positioning
249
241
  var collapsedTitleYPosition = Math.min(1, (sidePanelSubtitleElementHeight - scrollTop) / sidePanelSubtitleElementHeight);
250
242
  collapsedTitleYPosition = collapsedTitleYPosition < 0 ? 0 : collapsedTitleYPosition;
251
- sidePanelOuter.style.setProperty("--".concat(blockClass, "--collapsed-title-y-position"), "".concat(collapsedTitleYPosition, "rem")); // Set label text height
243
+ sidePanelOuter.style.setProperty("--".concat(blockClass, "--collapsed-title-y-position"), "".concat(collapsedTitleYPosition, "rem"));
252
244
 
245
+ // Set label text height
253
246
  var scrollAnimationProgress = dividerOpacity;
254
247
  var reduceTitleContainerHeightAmount = labelTextHeight * scrollAnimationProgress / titleContainerHeight * 100;
255
248
  sidePanelOuter.style.setProperty("--".concat(blockClass, "--label-text-height"), "".concat(Math.trunc(reduceTitleContainerHeightAmount), "px"));
@@ -266,20 +259,13 @@ export var SidePanel = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
266
259
  }
267
260
  });
268
261
  }
269
-
270
262
  if (open && !animateTitle) {
271
263
  var _sidePanelOuter = document.querySelector("#".concat(blockClass, "-outer"));
272
-
273
264
  var _sidePanelTitleElement = document.querySelector(".".concat(blockClass, "__title-container .").concat(blockClass, "__title-text"));
274
-
275
265
  var _sidePanelSubtitleElement = document.querySelector(".".concat(blockClass, "__subtitle-text"));
276
-
277
266
  var actionToolbarElement = document.querySelector(".".concat(blockClass, "__action-toolbar"));
278
-
279
267
  var _labelText = document.querySelector(".".concat(blockClass, "__label-text"));
280
-
281
268
  var _sidePanelSubtitleElementHeight = (_sidePanelSubtitleElement === null || _sidePanelSubtitleElement === void 0 ? void 0 : _sidePanelSubtitleElement.offsetHeight) || 0;
282
-
283
269
  var sidePanelActionBarElementHeight = (actionToolbarElement === null || actionToolbarElement === void 0 ? void 0 : actionToolbarElement.offsetHeight) || 0;
284
270
  var titleHeight = (_sidePanelTitleElement === null || _sidePanelTitleElement === void 0 ? void 0 : _sidePanelTitleElement.offsetHeight) + 24;
285
271
  var labelHeight = (_labelText === null || _labelText === void 0 ? void 0 : _labelText.offsetHeight) || 0;
@@ -288,59 +274,55 @@ export var SidePanel = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
288
274
  _sidePanelOuter === null || _sidePanelOuter === void 0 ? void 0 : _sidePanelOuter.style.setProperty("--".concat(blockClass, "--action-bar-container-height"), "".concat(sidePanelActionBarElementHeight, "px"));
289
275
  _sidePanelOuter === null || _sidePanelOuter === void 0 ? void 0 : _sidePanelOuter.style.setProperty("--".concat(blockClass, "--label-text-height"), "".concat(labelHeight, "px"));
290
276
  }
291
- }, [open, animateTitle, animationComplete, panelHeight, title, size, reducedMotion.matches]); // click outside functionality if `includeOverlay` prop is set
277
+ }, [open, animateTitle, animationComplete, panelHeight, title, size, reducedMotion.matches]);
292
278
 
279
+ // click outside functionality if `includeOverlay` prop is set
293
280
  useEffect(function () {
294
281
  var handleOutsideClick = function handleOutsideClick(event) {
295
282
  var panelRef = ref || sidePanelRef;
296
-
297
283
  if (panelRef.current && sidePanelOverlayRef.current && sidePanelOverlayRef.current.contains(event.target) && onRequestClose) {
298
284
  onRequestClose();
299
285
  }
300
286
  };
301
-
302
287
  var bodyElement = document.body;
303
-
304
288
  if (includeOverlay && open) {
305
289
  bodyElement.style.overflow = 'hidden';
306
290
  } else if (includeOverlay && !open) {
307
291
  bodyElement.style.overflow = 'initial';
308
292
  }
309
-
310
293
  if (includeOverlay && !preventCloseOnClickOutside) {
311
294
  document.addEventListener('click', handleOutsideClick);
312
295
  }
313
-
314
296
  return function () {
315
297
  document.removeEventListener('click', handleOutsideClick);
316
298
  };
317
- }, [includeOverlay, onRequestClose, open, preventCloseOnClickOutside, ref, onUnmount]); // initializes the side panel to close
299
+ }, [includeOverlay, onRequestClose, open, preventCloseOnClickOutside, ref, onUnmount]);
318
300
 
301
+ // initializes the side panel to close
319
302
  var onAnimationEnd = function onAnimationEnd() {
320
303
  if (!open) {
321
304
  onUnmount === null || onUnmount === void 0 ? void 0 : onUnmount();
322
305
  }
323
-
324
306
  setAnimationComplete(true);
325
- }; // Set the internal state `animationComplete` to true if
326
- // prefers reduced motion is true
327
-
307
+ };
328
308
 
309
+ // Set the internal state `animationComplete` to true if
310
+ // prefers reduced motion is true
329
311
  useEffect(function () {
330
312
  if (reducedMotion.matches) {
331
313
  setAnimationComplete(true);
332
314
  }
333
- }, [reducedMotion.matches]); // initializes the side panel to open
315
+ }, [reducedMotion.matches]);
334
316
 
317
+ // initializes the side panel to open
335
318
  var _onAnimationStart = function onAnimationStart() {
336
319
  setAnimationComplete(false);
337
- }; // used to reset margins of the slide in panel when closed/closing
338
-
320
+ };
339
321
 
322
+ // used to reset margins of the slide in panel when closed/closing
340
323
  useEffect(function () {
341
324
  if (!open && slideIn) {
342
325
  var pageContentElement = document.querySelector(selectorPageContent);
343
-
344
326
  if (placement && placement === 'right' && pageContentElement) {
345
327
  pageContentElement.style.marginRight = 0;
346
328
  } else if (pageContentElement) {
@@ -352,12 +334,12 @@ export var SidePanel = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
352
334
  if (!open && previousState !== null && previousState !== void 0 && previousState.open && reducedMotion.matches) {
353
335
  onUnmount === null || onUnmount === void 0 ? void 0 : onUnmount();
354
336
  }
355
- }, [open, onUnmount, reducedMotion.matches, previousState === null || previousState === void 0 ? void 0 : previousState.open]); // used to set margins of content for slide in panel version
337
+ }, [open, onUnmount, reducedMotion.matches, previousState === null || previousState === void 0 ? void 0 : previousState.open]);
356
338
 
339
+ // used to set margins of content for slide in panel version
357
340
  useEffect(function () {
358
341
  if (open && slideIn) {
359
342
  var pageContentElement = document.querySelector(selectorPageContent);
360
-
361
343
  if (placement && placement === 'right' && pageContentElement) {
362
344
  pageContentElement.style.marginRight = 0;
363
345
  pageContentElement.style.transition = !reducedMotion.matches ? "margin-right ".concat(moderate02) : null;
@@ -368,14 +350,13 @@ export var SidePanel = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
368
350
  pageContentElement.style.marginLeft = SIDE_PANEL_SIZES[size];
369
351
  }
370
352
  }
371
- }, [slideIn, selectorPageContent, placement, size, reducedMotion.matches, open]); // adds focus trap functionality
353
+ }, [slideIn, selectorPageContent, placement, size, reducedMotion.matches, open]);
372
354
 
355
+ // adds focus trap functionality
373
356
  /* istanbul ignore next */
374
-
375
357
  var handleBlur = function handleBlur(_ref3) {
376
358
  var oldActiveNode = _ref3.target,
377
- currentActiveNode = _ref3.relatedTarget;
378
-
359
+ currentActiveNode = _ref3.relatedTarget;
379
360
  // focus trap should only be set if the side panel is a `slideOver` type
380
361
  if (open && sidePanelInnerRef && !slideIn) {
381
362
  wrapFocus({
@@ -387,13 +368,10 @@ export var SidePanel = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
387
368
  });
388
369
  }
389
370
  };
390
-
391
371
  var primaryActionContainerClassNames = cx(["".concat(blockClass, "__actions-container"), _defineProperty({}, "".concat(blockClass, "__actions-container-condensed"), condensedActions)]);
392
372
  var mainPanelClassNames = cx([blockClass, className, "".concat(blockClass, "__container"), "".concat(blockClass, "__container--").concat(size), (_ref5 = {}, _defineProperty(_ref5, "".concat(blockClass, "__container-right-placement"), placement === 'right'), _defineProperty(_ref5, "".concat(blockClass, "__container-left-placement"), placement === 'left'), _defineProperty(_ref5, "".concat(blockClass, "__container-with-action-toolbar"), actionToolbarButtons && actionToolbarButtons.length), _defineProperty(_ref5, "".concat(blockClass, "__container-without-overlay"), !includeOverlay && !slideIn), _defineProperty(_ref5, "".concat(blockClass, "__container-is-animating"), !animationComplete || !open), _ref5)]);
393
-
394
373
  var renderHeader = function renderHeader() {
395
374
  var _cx, _cx2;
396
-
397
375
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
398
376
  className: cx("".concat(blockClass, "__title-container"), (_cx = {}, _defineProperty(_cx, "".concat(blockClass, "__on-detail-step"), currentStep > 0), _defineProperty(_cx, "".concat(blockClass, "__on-detail-step-without-title"), currentStep > 0 && !title), _defineProperty(_cx, "".concat(blockClass, "__title-container--no-title-animation"), !animateTitle), _defineProperty(_cx, "".concat(blockClass, "__title-container-is-animating"), !animationComplete || !open), _defineProperty(_cx, "".concat(blockClass, "__title-container-without-title"), !title), _defineProperty(_cx, "".concat(blockClass, "__title-container--reduced-motion"), reducedMotion.matches), _cx))
399
377
  }, currentStep > 0 && /*#__PURE__*/React.createElement(Button, {
@@ -430,16 +408,15 @@ export var SidePanel = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
430
408
  className: cx("".concat(blockClass, "__action-toolbar"), _defineProperty({}, "".concat(blockClass, "__action-toolbar-no-animation"), !animateTitle))
431
409
  }, actionToolbarButtons.map(function (_ref6) {
432
410
  var label = _ref6.label,
433
- kind = _ref6.kind,
434
- icon = _ref6.icon,
435
- tooltipPosition = _ref6.tooltipPosition,
436
- tooltipAlignment = _ref6.tooltipAlignment,
437
- leading = _ref6.leading,
438
- disabled = _ref6.disabled,
439
- className = _ref6.className,
440
- onClick = _ref6.onClick,
441
- rest = _objectWithoutProperties(_ref6, _excluded2);
442
-
411
+ kind = _ref6.kind,
412
+ icon = _ref6.icon,
413
+ tooltipPosition = _ref6.tooltipPosition,
414
+ tooltipAlignment = _ref6.tooltipAlignment,
415
+ leading = _ref6.leading,
416
+ disabled = _ref6.disabled,
417
+ className = _ref6.className,
418
+ onClick = _ref6.onClick,
419
+ rest = _objectWithoutProperties(_ref6, _excluded2);
443
420
  return /*#__PURE__*/React.createElement(Button, _extends({}, rest, {
444
421
  key: label,
445
422
  kind: kind || 'ghost',
@@ -455,7 +432,6 @@ export var SidePanel = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
455
432
  }), leading && label);
456
433
  })));
457
434
  };
458
-
459
435
  var renderTitle = function renderTitle() {
460
436
  return /*#__PURE__*/React.createElement(React.Fragment, null, title && title.length && /*#__PURE__*/React.createElement("h2", {
461
437
  className: "".concat(blockClass, "__title-text"),
@@ -467,7 +443,6 @@ export var SidePanel = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
467
443
  "aria-hidden": true
468
444
  }, title));
469
445
  };
470
-
471
446
  var contentRef = ref || sidePanelRef;
472
447
  useResizeObserver(contentRef, {
473
448
  callback: handleResize
@@ -515,8 +490,9 @@ export var SidePanel = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
515
490
  ref: sidePanelOverlayRef,
516
491
  className: "".concat(blockClass, "__overlay")
517
492
  }))));
518
- }); // Return a placeholder if not released and not enabled by feature flag
493
+ });
519
494
 
495
+ // Return a placeholder if not released and not enabled by feature flag
520
496
  SidePanel = pkg.checkComponentEnabled(SidePanel, componentName);
521
497
  SidePanel.propTypes = {
522
498
  /**
@@ -531,7 +507,6 @@ SidePanel.propTypes = {
531
507
  tooltipAlignment: PropTypes.oneOf(['top', 'right', 'bottom', 'left']),
532
508
  tooltipPosition: PropTypes.oneOf(['start', 'center', 'end'])
533
509
  })),
534
-
535
510
  /**
536
511
  * The primary actions to be shown in the side panel. Each action is
537
512
  * specified as an object with optional fields: 'label' to supply the button
@@ -557,84 +532,68 @@ SidePanel.propTypes = {
557
532
  // we duplicate this Button prop to improve the DocGen here
558
533
  onClick: Button.propTypes.onClick
559
534
  })))]),
560
-
561
535
  /**
562
536
  * Determines if the title will animate on scroll
563
537
  */
564
538
  animateTitle: PropTypes.bool,
565
-
566
539
  /**
567
540
  * Sets the body content of the side panel
568
541
  */
569
542
  children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,
570
-
571
543
  /**
572
544
  * Sets an optional className to be added to the side panel outermost element
573
545
  */
574
546
  className: PropTypes.string,
575
-
576
547
  /**
577
548
  * Sets the close button icon description
578
549
  */
579
550
  closeIconDescription: PropTypes.string,
580
-
581
551
  /**
582
552
  * Determines whether the side panel should render the condensed version (affects action buttons primarily)
583
553
  */
584
554
  condensedActions: PropTypes.bool,
585
-
586
555
  /**
587
556
  * Sets the current step of the side panel
588
557
  */
589
558
  currentStep: PropTypes.number,
590
-
591
559
  /**
592
560
  * Determines whether the side panel should render with an overlay
593
561
  */
594
562
  includeOverlay: PropTypes.bool,
595
-
596
563
  /**
597
564
  * Sets the label text which will display above the title text
598
565
  */
599
566
  labelText: PropTypes.string,
600
-
601
567
  /**
602
568
  * Sets the icon description for the navigation back icon button
603
569
  */
604
570
  navigationBackIconDescription: PropTypes.string,
605
-
606
571
  /**
607
572
  * Changes the current side panel page to the previous page
608
573
  */
609
574
  onNavigationBack: PropTypes.func,
610
-
611
575
  /**
612
576
  * Specify a handler for closing the side panel.
613
577
  * This handler closes the modal, e.g. changing `open` prop.
614
578
  */
615
579
  onRequestClose: PropTypes.func,
616
-
617
580
  /**
618
581
  * Optional function called when the side panel exit animation is complete.
619
582
  * This handler can be used for any state cleanup needed before the panel is removed from the DOM.
620
583
  */
621
584
  onUnmount: PropTypes.func,
622
-
623
585
  /**
624
586
  * Determines whether the side panel should render or not
625
587
  */
626
588
  open: PropTypes.bool.isRequired,
627
-
628
589
  /**
629
590
  * Determines if the side panel is on the right or left
630
591
  */
631
592
  placement: PropTypes.oneOf(['left', 'right']),
632
-
633
593
  /**
634
594
  * Prevent closing on click outside of the panel
635
595
  */
636
596
  preventCloseOnClickOutside: PropTypes.bool,
637
-
638
597
  /**
639
598
  * This is the selector to the element that contains all of the page content that will shrink if the panel is a slide in.
640
599
  * This prop is required when using the `slideIn` variant of the side panel.
@@ -643,28 +602,23 @@ SidePanel.propTypes = {
643
602
  var slideIn = _ref8.slideIn;
644
603
  return slideIn;
645
604
  }),
646
-
647
605
  /**
648
606
  * Specify a CSS selector that matches the DOM element that should
649
607
  * be focused when the side panel opens
650
608
  */
651
609
  selectorPrimaryFocus: PropTypes.string,
652
-
653
610
  /**
654
611
  * Sets the size of the side panel
655
612
  */
656
613
  size: PropTypes.oneOf(['xs', 'sm', 'md', 'lg', '2xl']),
657
-
658
614
  /**
659
615
  * Determines if this panel slides in
660
616
  */
661
617
  slideIn: PropTypes.bool,
662
-
663
618
  /**
664
619
  * Sets the subtitle text
665
620
  */
666
621
  subtitle: PropTypes.node,
667
-
668
622
  /**
669
623
  * Sets the title text
670
624
  */
@@ -4,6 +4,7 @@
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.
6
6
  */
7
+
7
8
  export var SIDE_PANEL_SIZES = {
8
9
  xs: '16rem',
9
10
  sm: '20rem',
@@ -4,4 +4,5 @@
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.
6
6
  */
7
+
7
8
  export { SidePanel } from './SidePanel';
@@ -4,6 +4,7 @@
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.
6
6
  */
7
+
7
8
  import { DURATIONS, EASINGS } from '../../../global/js/utils/motionConstants';
8
9
  export var overlayVariants = {
9
10
  visible: {