@carbon/ibm-products 1.34.1 → 1.35.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/css/index-full-carbon.css +46 -13
- package/css/index-full-carbon.css.map +1 -1
- package/css/index-full-carbon.min.css +2 -8
- package/css/index-full-carbon.min.css.map +1 -1
- package/css/index-without-carbon-released-only.css +2 -9
- package/css/index-without-carbon-released-only.css.map +1 -1
- package/css/index-without-carbon-released-only.min.css +1 -7
- package/css/index-without-carbon-released-only.min.css.map +1 -1
- package/css/index-without-carbon.css +46 -13
- package/css/index-without-carbon.css.map +1 -1
- package/css/index-without-carbon.min.css +2 -8
- package/css/index-without-carbon.min.css.map +1 -1
- package/css/index.css +46 -13
- package/css/index.css.map +1 -1
- package/css/index.min.css +2 -8
- package/css/index.min.css.map +1 -1
- package/es/components/APIKeyModal/APIKeyDownloader.js +8 -18
- package/es/components/APIKeyModal/APIKeyModal.js +58 -140
- package/es/components/APIKeyModal/index.js +1 -0
- package/es/components/AboutModal/AboutModal.js +40 -45
- package/es/components/AboutModal/index.js +1 -0
- package/es/components/ActionBar/ActionBar.js +69 -82
- package/es/components/ActionBar/ActionBarItem.js +19 -20
- package/es/components/ActionBar/ActionBarOverflowItems.js +10 -10
- package/es/components/ActionBar/index.js +1 -0
- package/es/components/ActionSet/ActionSet.js +30 -39
- package/es/components/ActionSet/actions.js +1 -2
- package/es/components/ActionSet/index.js +1 -0
- package/es/components/AddSelect/AddSelect.js +3 -4
- package/es/components/AddSelect/AddSelectBody.js +67 -87
- package/es/components/AddSelect/AddSelectBreadcrumbs.js +3 -4
- package/es/components/AddSelect/AddSelectColumn.js +27 -45
- package/es/components/AddSelect/AddSelectFilter.js +21 -34
- package/es/components/AddSelect/AddSelectList.js +19 -33
- package/es/components/AddSelect/AddSelectMetaPanel.js +3 -5
- package/es/components/AddSelect/AddSelectSidebar.js +14 -21
- package/es/components/AddSelect/AddSelectSort.js +6 -5
- package/es/components/AddSelect/add-select-utils.js +2 -23
- package/es/components/AddSelect/hooks/useItemSort.js +6 -8
- package/es/components/AddSelect/hooks/useParentSelect.js +3 -6
- package/es/components/AddSelect/hooks/usePath.js +6 -20
- package/es/components/AddSelect/index.js +1 -0
- package/es/components/BreadcrumbWithOverflow/BreadcrumbWithOverflow.js +62 -88
- package/es/components/BreadcrumbWithOverflow/index.js +2 -0
- package/es/components/ButtonMenu/ButtonMenu.js +32 -30
- package/es/components/ButtonMenu/ButtonMenuItem.js +10 -6
- package/es/components/ButtonMenu/index.js +1 -0
- package/es/components/ButtonSetWithOverflow/ButtonSetWithOverflow.js +34 -52
- package/es/components/ButtonSetWithOverflow/index.js +1 -0
- package/es/components/Card/Card.js +53 -71
- package/es/components/Card/CardFooter.js +19 -18
- package/es/components/Card/CardHeader.js +13 -13
- package/es/components/Card/index.js +1 -0
- package/es/components/Cascade/Cascade.js +5 -14
- package/es/components/ComboButton/ComboButton.js +24 -35
- package/es/components/ComboButton/ComboButtonItem/index.js +4 -8
- package/es/components/ComboButton/index.js +1 -0
- package/es/components/CreateFullPage/CreateFullPage.js +64 -85
- package/es/components/CreateFullPage/CreateFullPageStep.js +28 -40
- package/es/components/CreateFullPage/index.js +1 -0
- package/es/components/CreateInfluencer/CreateInfluencer.js +14 -15
- package/es/components/CreateInfluencer/index.js +1 -0
- package/es/components/CreateModal/CreateModal.js +19 -31
- package/es/components/CreateModal/index.js +2 -0
- package/es/components/CreateSidePanel/CreateSidePanel.js +24 -37
- package/es/components/CreateSidePanel/index.js +1 -0
- package/es/components/CreateTearsheet/CreateTearsheet.js +65 -88
- package/es/components/CreateTearsheet/CreateTearsheetDivider.js +4 -4
- package/es/components/CreateTearsheet/CreateTearsheetStep.js +31 -42
- package/es/components/CreateTearsheet/index.js +1 -0
- package/es/components/CreateTearsheet/preview-components/MultiStepTearsheet.js +46 -66
- package/es/components/CreateTearsheet/preview-components/MultiStepWithIntro.js +41 -57
- package/es/components/CreateTearsheetNarrow/CreateTearsheetNarrow.js +30 -39
- package/es/components/CreateTearsheetNarrow/index.js +1 -0
- package/es/components/DataSpreadsheet/DataSpreadsheet.js +136 -225
- package/es/components/DataSpreadsheet/DataSpreadsheetBody.js +62 -113
- package/es/components/DataSpreadsheet/DataSpreadsheetHeader.js +25 -56
- package/es/components/DataSpreadsheet/hooks/index.js +1 -0
- package/es/components/DataSpreadsheet/hooks/useMoveActiveCell.js +6 -5
- package/es/components/DataSpreadsheet/hooks/useMultipleKeyTracking.js +23 -44
- package/es/components/DataSpreadsheet/hooks/useResetSpreadsheetFocus.js +5 -5
- package/es/components/DataSpreadsheet/hooks/useSpreadsheetEdit.js +18 -30
- package/es/components/DataSpreadsheet/hooks/useSpreadsheetMouseMove.js +10 -14
- package/es/components/DataSpreadsheet/hooks/useSpreadsheetMouseUp.js +34 -54
- package/es/components/DataSpreadsheet/hooks/useSpreadsheetOutsideClick.js +10 -10
- package/es/components/DataSpreadsheet/index.js +1 -0
- package/es/components/DataSpreadsheet/utils/checkActiveHeaderCell.js +4 -8
- package/es/components/DataSpreadsheet/utils/checkSelectedHeaderCell.js +3 -4
- package/es/components/DataSpreadsheet/utils/createActiveCellFn.js +15 -19
- package/es/components/DataSpreadsheet/utils/createCellSelectionArea.js +15 -17
- package/es/components/DataSpreadsheet/utils/generateData.js +4 -13
- package/es/components/DataSpreadsheet/utils/getCellSize.js +1 -6
- package/es/components/DataSpreadsheet/utils/getSelectionAreaPoints.js +1 -0
- package/es/components/DataSpreadsheet/utils/getSpreadsheetWidth.js +7 -9
- package/es/components/DataSpreadsheet/utils/handleActiveCellInSelectionEnter.js +20 -34
- package/es/components/DataSpreadsheet/utils/handleActiveCellInSelectionTab.js +20 -30
- package/es/components/DataSpreadsheet/utils/handleCellDeletion.js +5 -4
- package/es/components/DataSpreadsheet/utils/handleEditSubmit.js +13 -20
- package/es/components/DataSpreadsheet/utils/handleHeaderCellSelection.js +22 -44
- package/es/components/DataSpreadsheet/utils/handleMultipleKeys.js +40 -75
- package/es/components/DataSpreadsheet/utils/moveColumnIndicatorLine.js +6 -8
- package/es/components/DataSpreadsheet/utils/removeCellSelections.js +6 -8
- package/es/components/DataSpreadsheet/utils/selectAllCells.js +7 -11
- package/es/components/Datagrid/Datagrid/Datagrid.js +12 -12
- package/es/components/Datagrid/Datagrid/DatagridBody.js +4 -10
- package/es/components/Datagrid/Datagrid/DatagridContent.js +30 -40
- package/es/components/Datagrid/Datagrid/DatagridEmptyBody.js +7 -10
- package/es/components/Datagrid/Datagrid/DatagridExpandedRow.js +4 -6
- package/es/components/Datagrid/Datagrid/DatagridHead.js +6 -6
- package/es/components/Datagrid/Datagrid/DatagridHeaderRow.js +2 -9
- package/es/components/Datagrid/Datagrid/DatagridRefBody.js +5 -8
- package/es/components/Datagrid/Datagrid/DatagridRow.js +4 -12
- package/es/components/Datagrid/Datagrid/DatagridSelectAll.js +10 -18
- package/es/components/Datagrid/Datagrid/DatagridSelectAllWithToggle.js +24 -34
- package/es/components/Datagrid/Datagrid/DatagridSimpleBody.js +2 -7
- package/es/components/Datagrid/Datagrid/DatagridToolbar.js +26 -38
- package/es/components/Datagrid/Datagrid/DatagridVirtualBody.js +15 -21
- package/es/components/Datagrid/Datagrid/DraggableElement.js +74 -85
- package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/Actions.js +3 -5
- package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/ButtonWrapper.js +6 -10
- package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/Columns.js +14 -26
- package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsModal.js +54 -71
- package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/ModalWrapper.js +6 -13
- package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/common.js +1 -1
- package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/index.js +1 -0
- package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/InlineEditButton.js +11 -12
- package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +56 -106
- package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/InlineEditContext.js +7 -21
- package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/getCellIdAsObject.js +1 -1
- package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/returnUpdatedActiveCell.js +9 -14
- package/es/components/Datagrid/Datagrid/addons/InlineEdit/handleGridFocus.js +2 -3
- package/es/components/Datagrid/Datagrid/addons/InlineEdit/handleGridKeyPress.js +29 -63
- package/es/components/Datagrid/Datagrid/addons/InlineEdit/handleMultipleKeys.js +14 -21
- package/es/components/Datagrid/Datagrid/addons/RowSize/RowSizeDropdown.js +6 -11
- package/es/components/Datagrid/Datagrid/addons/RowSize/RowSizeRadioGroup.js +21 -34
- package/es/components/Datagrid/Datagrid/addons/RowSize/index.js +1 -0
- package/es/components/Datagrid/Datagrid/index.js +1 -0
- package/es/components/Datagrid/Datagrid.stories/StickyActionsColumnStory.js +10 -0
- package/es/components/Datagrid/Datagrid.stories/common.js +2 -11
- package/es/components/Datagrid/common-column-ids.js +1 -0
- package/es/components/Datagrid/useActionsColumn.js +15 -31
- package/es/components/Datagrid/useColumnCenterAlign.js +0 -8
- package/es/components/Datagrid/useColumnOrder.js +1 -0
- package/es/components/Datagrid/useColumnRightAlign.js +0 -8
- package/es/components/Datagrid/useCustomizeColumns.js +5 -13
- package/es/components/Datagrid/useDatagrid.js +0 -7
- package/es/components/Datagrid/useDefaultStringRenderer.js +0 -9
- package/es/components/Datagrid/useDisableSelectRows.js +2 -10
- package/es/components/Datagrid/useExpandedRow.js +5 -15
- package/es/components/Datagrid/useFlexResize.js +0 -7
- package/es/components/Datagrid/useFloatingScroll.js +9 -22
- package/es/components/Datagrid/useInfiniteScroll.js +10 -16
- package/es/components/Datagrid/useInlineEdit.js +1 -9
- package/es/components/Datagrid/useNestedRowExpander.js +0 -6
- package/es/components/Datagrid/useNestedRows.js +1 -7
- package/es/components/Datagrid/useOnRowClick.js +4 -9
- package/es/components/Datagrid/useParentDimensions.js +6 -16
- package/es/components/Datagrid/useResizeTable.js +1 -7
- package/es/components/Datagrid/useRowExpander.js +0 -5
- package/es/components/Datagrid/useRowIsMouseOver.js +6 -15
- package/es/components/Datagrid/useRowRenderer.js +0 -5
- package/es/components/Datagrid/useRowSize.js +8 -20
- package/es/components/Datagrid/useSelectAllToggle.js +11 -22
- package/es/components/Datagrid/useSelectRows.js +11 -27
- package/es/components/Datagrid/useSkeletonRows.js +1 -6
- package/es/components/Datagrid/useSortableColumns.js +2 -23
- package/es/components/Datagrid/useStickyColumn.js +2 -31
- package/es/components/Datagrid/utils/DatagridActions.js +7 -11
- package/es/components/Datagrid/utils/DatagridPagination.js +5 -6
- package/es/components/Datagrid/utils/Wrapper.js +1 -1
- package/es/components/Datagrid/utils/getArgTypes.js +1 -0
- package/es/components/Datagrid/utils/getInlineEditColumns.js +1 -2
- package/es/components/Datagrid/utils/makeData.js +1 -15
- package/es/components/EditFullPage/EditFullPage.js +27 -20
- package/es/components/EditFullPage/index.js +1 -0
- package/es/components/EditSidePanel/EditSidePanel.js +38 -51
- package/es/components/EditSidePanel/index.js +1 -0
- package/es/components/EditTearsheet/EditTearsheet.js +32 -42
- package/es/components/EditTearsheet/EditTearsheetForm.js +13 -19
- package/es/components/EditTearsheet/index.js +1 -0
- package/es/components/EditTearsheet/preview-components/MultiFormEditTearsheet.js +34 -48
- package/es/components/EditTearsheetNarrow/EditTearsheetNarrow.js +27 -20
- package/es/components/EditTearsheetNarrow/index.js +1 -0
- package/es/components/EditUpdateCards/EditUpdateCards.js +142 -0
- package/es/components/EditUpdateCards/index.js +8 -0
- package/es/components/EmptyStates/EmptyState.js +18 -25
- package/es/components/EmptyStates/EmptyStateContent.js +16 -17
- package/es/components/EmptyStates/ErrorEmptyState/ErrorEmptyState.js +20 -24
- package/es/components/EmptyStates/ErrorEmptyState/index.js +1 -0
- package/es/components/EmptyStates/NoDataEmptyState/NoDataEmptyState.js +20 -24
- package/es/components/EmptyStates/NoDataEmptyState/index.js +1 -0
- package/es/components/EmptyStates/NoTagsEmptyState/NoTagsEmptyState.js +20 -24
- package/es/components/EmptyStates/NoTagsEmptyState/index.js +1 -0
- package/es/components/EmptyStates/NotFoundEmptyState/NotFoundEmptyState.js +20 -24
- package/es/components/EmptyStates/NotFoundEmptyState/index.js +1 -0
- package/es/components/EmptyStates/NotificationsEmptyState/NotificationsEmptyState.js +20 -24
- package/es/components/EmptyStates/NotificationsEmptyState/index.js +1 -0
- package/es/components/EmptyStates/UnauthorizedEmptyState/UnauthorizedEmptyState.js +20 -24
- package/es/components/EmptyStates/UnauthorizedEmptyState/index.js +1 -0
- package/es/components/EmptyStates/assets/ErrorIllustration.js +7 -6
- package/es/components/EmptyStates/assets/NoDataIllustration.js +7 -6
- package/es/components/EmptyStates/assets/NoTagsIllustration.js +7 -6
- package/es/components/EmptyStates/assets/NotFoundIllustration.js +7 -6
- package/es/components/EmptyStates/assets/NotificationsIllustration.js +7 -6
- package/es/components/EmptyStates/assets/UnauthorizedIllustration.js +7 -6
- package/es/components/EmptyStates/index.js +1 -0
- package/es/components/ExampleComponent/ExampleComponent.js +36 -44
- package/es/components/ExampleComponent/index.js +1 -0
- package/es/components/ExportModal/ExportModal.js +41 -80
- package/es/components/ExportModal/index.js +1 -0
- package/es/components/ExpressiveCard/ExpressiveCard.js +3 -20
- package/es/components/ExpressiveCard/index.js +1 -0
- package/es/components/HTTPErrors/HTTPError403/HTTPError403.js +16 -18
- package/es/components/HTTPErrors/HTTPError403/index.js +1 -0
- package/es/components/HTTPErrors/HTTPError404/HTTPError404.js +16 -18
- package/es/components/HTTPErrors/HTTPError404/index.js +1 -0
- package/es/components/HTTPErrors/HTTPErrorContent.js +15 -18
- package/es/components/HTTPErrors/HTTPErrorOther/HTTPErrorOther.js +16 -18
- package/es/components/HTTPErrors/HTTPErrorOther/index.js +1 -0
- package/es/components/HTTPErrors/assets/HTTPErrorSvg403.js +6 -3
- package/es/components/HTTPErrors/assets/HTTPErrorSvg404.js +6 -3
- package/es/components/HTTPErrors/assets/HTTPErrorSvgOther.js +6 -3
- package/es/components/HTTPErrors/index.js +1 -0
- package/es/components/ImportModal/ImportModal.js +40 -92
- package/es/components/ImportModal/index.js +1 -0
- package/es/components/InlineEdit/InlineEdit.js +68 -98
- package/es/components/InlineEdit/index.js +1 -0
- package/es/components/InlineEditV2/InlineEditV2.js +29 -57
- package/es/components/ModifiedTabs/ModifiedTabLabelNew.js +1 -1
- package/es/components/ModifiedTabs/ModifiedTabLabelWithClose.js +6 -9
- package/es/components/ModifiedTabs/ModifiedTabs.js +14 -19
- package/es/components/MultiAddSelect/MultiAddSelect.js +0 -23
- package/es/components/NotificationsPanel/NotificationsPanel.js +85 -126
- package/es/components/NotificationsPanel/NotificationsPanel_data.js +1 -0
- package/es/components/NotificationsPanel/index.js +1 -0
- package/es/components/NotificationsPanel/preview-components/UnreadNotificationBell.js +1 -2
- package/es/components/NotificationsPanel/utils.js +13 -19
- package/es/components/OptionsTile/OptionsTile.js +52 -80
- package/es/components/OptionsTile/index.js +1 -0
- package/es/components/PageHeader/PageHeader.js +119 -186
- package/es/components/PageHeader/PageHeaderDemo.data.js +0 -1
- package/es/components/PageHeader/PageHeaderTitle.js +18 -23
- package/es/components/PageHeader/PageHeaderUtils.js +18 -45
- package/es/components/PageHeader/index.js +1 -0
- package/es/components/ProductiveCard/ProductiveCard.js +7 -23
- package/es/components/ProductiveCard/index.js +1 -0
- package/es/components/RemoveModal/RemoveModal.js +25 -45
- package/es/components/RemoveModal/index.js +1 -0
- package/es/components/Saving/Saving.js +15 -30
- package/es/components/Saving/index.js +1 -0
- package/es/components/SidePanel/SidePanel.js +103 -150
- package/es/components/SidePanel/constants.js +1 -0
- package/es/components/SidePanel/index.js +1 -0
- package/es/components/SingleAddSelect/SingleAddSelect.js +0 -14
- package/es/components/StatusIcon/StatusIcon.js +5 -12
- package/es/components/StatusIcon/index.js +1 -0
- package/es/components/TagSet/TagSet.js +59 -93
- package/es/components/TagSet/TagSetModal.js +19 -30
- package/es/components/TagSet/TagSetOverflow.js +16 -25
- package/es/components/TagSet/index.js +1 -0
- package/es/components/Tearsheet/Tearsheet.js +26 -33
- package/es/components/Tearsheet/TearsheetNarrow.js +22 -25
- package/es/components/Tearsheet/TearsheetShell.js +80 -91
- package/es/components/Tearsheet/index.js +1 -0
- package/es/components/Toolbar/Toolbar.js +13 -27
- package/es/components/Toolbar/ToolbarButton.js +5 -9
- package/es/components/Toolbar/ToolbarGroup.js +4 -6
- package/es/components/Toolbar/index.js +1 -0
- package/es/components/UserProfileImage/UserProfileImage.js +26 -40
- package/es/components/UserProfileImage/index.js +2 -0
- package/es/components/WebTerminal/WebTerminal.js +41 -51
- package/es/components/WebTerminal/WebTerminalContentWrapper.js +14 -11
- package/es/components/WebTerminal/hooks/index.js +8 -7
- package/es/components/WebTerminal/index.js +1 -0
- package/es/components/WebTerminal/preview-components/Navigation.js +2 -4
- package/es/components/WebTerminal/preview-components/documentationLinks.js +1 -0
- package/es/components/_Canary/Canary.js +13 -13
- package/es/components/_Canary/index.js +1 -0
- package/es/components/index.js +2 -0
- package/es/global/js/hooks/index.js +1 -0
- package/es/global/js/hooks/useActiveElement.js +4 -6
- package/es/global/js/hooks/useClickOutside.js +1 -1
- package/es/global/js/hooks/useCreateComponentFocus.js +6 -5
- package/es/global/js/hooks/useCreateComponentStepChange.js +23 -54
- package/es/global/js/hooks/usePreviousValue.js +2 -1
- package/es/global/js/hooks/useResetCreateComponent.js +10 -9
- package/es/global/js/hooks/useRetrieveStepData.js +7 -10
- package/es/global/js/hooks/useValidCreateStepCount.js +2 -1
- package/es/global/js/hooks/useWindowResize.js +8 -16
- package/es/global/js/hooks/useWindowScroll.js +4 -14
- package/es/global/js/package-settings.js +6 -11
- package/es/global/js/utils/ClickListener.js +5 -10
- package/es/global/js/utils/DisplayBox.js +3 -2
- package/es/global/js/utils/Wrap.js +14 -17
- package/es/global/js/utils/deepCloneObject.js +5 -8
- package/es/global/js/utils/devtools.js +1 -4
- package/es/global/js/utils/getBezierValues.js +1 -2
- package/es/global/js/utils/getFocusableElements.js +1 -1
- package/es/global/js/utils/getScrollbarWidth.js +1 -0
- package/es/global/js/utils/keyboardNavigation.js +7 -5
- package/es/global/js/utils/lastIndexInArray.js +0 -2
- package/es/global/js/utils/motionConstants.js +2 -3
- package/es/global/js/utils/pconsole.js +1 -3
- package/es/global/js/utils/props-helper.js +19 -35
- package/es/global/js/utils/rangeWithCallback.js +1 -0
- package/es/global/js/utils/scrollableAncestor.js +5 -8
- package/es/global/js/utils/story-helper.js +9 -8
- package/es/global/js/utils/test-helper.js +25 -42
- package/es/global/js/utils/unwrap-if-fragment.js +8 -16
- package/es/global/js/utils/uuidv4.js +1 -2
- package/es/global/js/utils/uuidv4.spec.js +1 -1
- package/es/global/js/utils/wait.js +1 -1
- package/es/global/js/utils/wrapFocus.js +8 -14
- package/es/index.js +1 -0
- package/es/settings.js +24 -18
- package/lib/components/APIKeyModal/APIKeyDownloader.js +8 -31
- package/lib/components/APIKeyModal/APIKeyModal.js +57 -161
- package/lib/components/APIKeyModal/index.js +0 -1
- package/lib/components/AboutModal/AboutModal.js +33 -60
- package/lib/components/AboutModal/index.js +0 -1
- package/lib/components/ActionBar/ActionBar.js +62 -97
- package/lib/components/ActionBar/ActionBarItem.js +12 -26
- package/lib/components/ActionBar/ActionBarOverflowItems.js +8 -20
- package/lib/components/ActionBar/index.js +0 -2
- package/lib/components/ActionSet/ActionSet.js +26 -49
- package/lib/components/ActionSet/actions.js +1 -5
- package/lib/components/ActionSet/index.js +0 -1
- package/lib/components/AddSelect/AddSelect.js +2 -16
- package/lib/components/AddSelect/AddSelectBody.js +66 -117
- package/lib/components/AddSelect/AddSelectBreadcrumbs.js +3 -14
- package/lib/components/AddSelect/AddSelectColumn.js +26 -67
- package/lib/components/AddSelect/AddSelectFilter.js +20 -48
- package/lib/components/AddSelect/AddSelectList.js +19 -45
- package/lib/components/AddSelect/AddSelectMetaPanel.js +3 -17
- package/lib/components/AddSelect/AddSelectSidebar.js +13 -31
- package/lib/components/AddSelect/AddSelectSort.js +6 -15
- package/lib/components/AddSelect/add-select-utils.js +2 -33
- package/lib/components/AddSelect/hooks/useItemSort.js +6 -13
- package/lib/components/AddSelect/hooks/useParentSelect.js +3 -9
- package/lib/components/AddSelect/hooks/usePath.js +6 -21
- package/lib/components/AddSelect/index.js +0 -1
- package/lib/components/BreadcrumbWithOverflow/BreadcrumbWithOverflow.js +55 -102
- package/lib/components/BreadcrumbWithOverflow/index.js +0 -1
- package/lib/components/ButtonMenu/ButtonMenu.js +25 -35
- package/lib/components/ButtonMenu/ButtonMenuItem.js +9 -10
- package/lib/components/ButtonMenu/index.js +0 -2
- package/lib/components/ButtonSetWithOverflow/ButtonSetWithOverflow.js +33 -71
- package/lib/components/ButtonSetWithOverflow/index.js +0 -1
- package/lib/components/Card/Card.js +52 -84
- package/lib/components/Card/CardFooter.js +19 -28
- package/lib/components/Card/CardHeader.js +13 -23
- package/lib/components/Card/index.js +0 -3
- package/lib/components/Cascade/Cascade.js +4 -30
- package/lib/components/Cascade/index.js +0 -1
- package/lib/components/ComboButton/ComboButton.js +23 -49
- package/lib/components/ComboButton/ComboButtonItem/index.js +2 -10
- package/lib/components/ComboButton/index.js +0 -2
- package/lib/components/CreateFullPage/CreateFullPage.js +59 -103
- package/lib/components/CreateFullPage/CreateFullPageStep.js +27 -56
- package/lib/components/CreateFullPage/index.js +0 -2
- package/lib/components/CreateInfluencer/CreateInfluencer.js +13 -24
- package/lib/components/CreateInfluencer/index.js +0 -1
- package/lib/components/CreateModal/CreateModal.js +16 -39
- package/lib/components/CreateModal/index.js +0 -1
- package/lib/components/CreateSidePanel/CreateSidePanel.js +17 -46
- package/lib/components/CreateSidePanel/index.js +0 -1
- package/lib/components/CreateTearsheet/CreateTearsheet.js +64 -107
- package/lib/components/CreateTearsheet/CreateTearsheetDivider.js +3 -14
- package/lib/components/CreateTearsheet/CreateTearsheetStep.js +30 -58
- package/lib/components/CreateTearsheet/index.js +0 -3
- package/lib/components/CreateTearsheet/preview-components/MultiStepTearsheet.js +45 -79
- package/lib/components/CreateTearsheet/preview-components/MultiStepWithIntro.js +41 -71
- package/lib/components/CreateTearsheetNarrow/CreateTearsheetNarrow.js +25 -47
- package/lib/components/CreateTearsheetNarrow/index.js +0 -1
- package/lib/components/DataSpreadsheet/DataSpreadsheet.js +131 -256
- package/lib/components/DataSpreadsheet/DataSpreadsheetBody.js +61 -135
- package/lib/components/DataSpreadsheet/DataSpreadsheetHeader.js +24 -75
- package/lib/components/DataSpreadsheet/hooks/index.js +0 -7
- package/lib/components/DataSpreadsheet/hooks/useMoveActiveCell.js +4 -7
- package/lib/components/DataSpreadsheet/hooks/useMultipleKeyTracking.js +23 -48
- package/lib/components/DataSpreadsheet/hooks/useResetSpreadsheetFocus.js +5 -9
- package/lib/components/DataSpreadsheet/hooks/useSpreadsheetEdit.js +18 -37
- package/lib/components/DataSpreadsheet/hooks/useSpreadsheetMouseMove.js +7 -18
- package/lib/components/DataSpreadsheet/hooks/useSpreadsheetMouseUp.js +33 -61
- package/lib/components/DataSpreadsheet/hooks/useSpreadsheetOutsideClick.js +8 -14
- package/lib/components/DataSpreadsheet/index.js +0 -1
- package/lib/components/DataSpreadsheet/utils/checkActiveHeaderCell.js +1 -9
- package/lib/components/DataSpreadsheet/utils/checkSelectedHeaderCell.js +3 -7
- package/lib/components/DataSpreadsheet/utils/createActiveCellFn.js +15 -23
- package/lib/components/DataSpreadsheet/utils/createCellSelectionArea.js +15 -22
- package/lib/components/DataSpreadsheet/utils/generateData.js +4 -16
- package/lib/components/DataSpreadsheet/utils/getCellSize.js +1 -8
- package/lib/components/DataSpreadsheet/utils/getSelectionAreaPoints.js +1 -2
- package/lib/components/DataSpreadsheet/utils/getSpreadsheetWidth.js +7 -12
- package/lib/components/DataSpreadsheet/utils/handleActiveCellInSelectionEnter.js +19 -38
- package/lib/components/DataSpreadsheet/utils/handleActiveCellInSelectionTab.js +20 -33
- package/lib/components/DataSpreadsheet/utils/handleCellDeletion.js +5 -8
- package/lib/components/DataSpreadsheet/utils/handleEditSubmit.js +10 -24
- package/lib/components/DataSpreadsheet/utils/handleHeaderCellSelection.js +22 -50
- package/lib/components/DataSpreadsheet/utils/handleMultipleKeys.js +39 -84
- package/lib/components/DataSpreadsheet/utils/moveColumnIndicatorLine.js +6 -12
- package/lib/components/DataSpreadsheet/utils/removeCellSelections.js +4 -10
- package/lib/components/DataSpreadsheet/utils/selectAllCells.js +6 -16
- package/lib/components/Datagrid/Datagrid/Datagrid.js +11 -26
- package/lib/components/Datagrid/Datagrid/DatagridBody.js +5 -16
- package/lib/components/Datagrid/Datagrid/DatagridContent.js +31 -64
- package/lib/components/Datagrid/Datagrid/DatagridEmptyBody.js +8 -16
- package/lib/components/Datagrid/Datagrid/DatagridExpandedRow.js +4 -10
- package/lib/components/Datagrid/Datagrid/DatagridHead.js +6 -10
- package/lib/components/Datagrid/Datagrid/DatagridHeaderRow.js +3 -17
- package/lib/components/Datagrid/Datagrid/DatagridRefBody.js +4 -13
- package/lib/components/Datagrid/Datagrid/DatagridRow.js +4 -26
- package/lib/components/Datagrid/Datagrid/DatagridSelectAll.js +10 -26
- package/lib/components/Datagrid/Datagrid/DatagridSelectAllWithToggle.js +23 -48
- package/lib/components/Datagrid/Datagrid/DatagridSimpleBody.js +2 -14
- package/lib/components/Datagrid/Datagrid/DatagridToolbar.js +26 -51
- package/lib/components/Datagrid/Datagrid/DatagridVirtualBody.js +15 -31
- package/lib/components/Datagrid/Datagrid/DraggableElement.js +75 -98
- package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/Actions.js +3 -14
- package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/ButtonWrapper.js +5 -21
- package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/Columns.js +14 -41
- package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsModal.js +54 -84
- package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/ModalWrapper.js +5 -21
- package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/common.js +1 -5
- package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/index.js +0 -3
- package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/InlineEditButton.js +11 -20
- package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/index.js +0 -1
- package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +55 -125
- package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/index.js +0 -1
- package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/InlineEditContext.js +6 -32
- package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/getCellIdAsObject.js +1 -3
- package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/index.js +0 -1
- package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/returnUpdatedActiveCell.js +8 -18
- package/lib/components/Datagrid/Datagrid/addons/InlineEdit/handleGridFocus.js +2 -5
- package/lib/components/Datagrid/Datagrid/addons/InlineEdit/handleGridKeyPress.js +28 -70
- package/lib/components/Datagrid/Datagrid/addons/InlineEdit/handleMultipleKeys.js +14 -27
- package/lib/components/Datagrid/Datagrid/addons/RowSize/RowSizeDropdown.js +5 -26
- package/lib/components/Datagrid/Datagrid/addons/RowSize/RowSizeRadioGroup.js +21 -44
- package/lib/components/Datagrid/Datagrid/addons/RowSize/index.js +0 -2
- package/lib/components/Datagrid/Datagrid/index.js +0 -1
- package/lib/components/Datagrid/Datagrid.stories/StickyActionsColumnStory.js +10 -0
- package/lib/components/Datagrid/Datagrid.stories/common.js +2 -17
- package/lib/components/Datagrid/Datagrid.stories/index.js +0 -6
- package/lib/components/Datagrid/common-column-ids.js +1 -1
- package/lib/components/Datagrid/index.js +0 -19
- package/lib/components/Datagrid/useActionsColumn.js +15 -37
- package/lib/components/Datagrid/useColumnCenterAlign.js +0 -14
- package/lib/components/Datagrid/useColumnOrder.js +1 -4
- package/lib/components/Datagrid/useColumnRightAlign.js +0 -14
- package/lib/components/Datagrid/useCustomizeColumns.js +4 -20
- package/lib/components/Datagrid/useDatagrid.js +0 -20
- package/lib/components/Datagrid/useDefaultStringRenderer.js +0 -15
- package/lib/components/Datagrid/useDisableSelectRows.js +2 -11
- package/lib/components/Datagrid/useExpandedRow.js +5 -20
- package/lib/components/Datagrid/useFlexResize.js +0 -9
- package/lib/components/Datagrid/useFloatingScroll.js +10 -27
- package/lib/components/Datagrid/useInfiniteScroll.js +11 -21
- package/lib/components/Datagrid/useInlineEdit.js +2 -15
- package/lib/components/Datagrid/useNestedRowExpander.js +1 -13
- package/lib/components/Datagrid/useNestedRows.js +2 -11
- package/lib/components/Datagrid/useOnRowClick.js +4 -10
- package/lib/components/Datagrid/useParentDimensions.js +7 -18
- package/lib/components/Datagrid/useResizeTable.js +2 -8
- package/lib/components/Datagrid/useRowExpander.js +1 -8
- package/lib/components/Datagrid/useRowIsMouseOver.js +5 -19
- package/lib/components/Datagrid/useRowRenderer.js +1 -7
- package/lib/components/Datagrid/useRowSize.js +7 -24
- package/lib/components/Datagrid/useSelectAllToggle.js +12 -29
- package/lib/components/Datagrid/useSelectRows.js +11 -39
- package/lib/components/Datagrid/useSkeletonRows.js +1 -8
- package/lib/components/Datagrid/useSortableColumns.js +2 -29
- package/lib/components/Datagrid/useStickyColumn.js +1 -37
- package/lib/components/Datagrid/utils/DatagridActions.js +7 -21
- package/lib/components/Datagrid/utils/DatagridPagination.js +5 -11
- package/lib/components/Datagrid/utils/Wrapper.js +1 -5
- package/lib/components/Datagrid/utils/getArgTypes.js +1 -1
- package/lib/components/Datagrid/utils/getInlineEditColumns.js +1 -6
- package/lib/components/Datagrid/utils/makeData.js +0 -24
- package/lib/components/EditFullPage/EditFullPage.js +22 -24
- package/lib/components/EditFullPage/index.js +0 -1
- package/lib/components/EditSidePanel/EditSidePanel.js +31 -59
- package/lib/components/EditSidePanel/index.js +0 -1
- package/lib/components/EditTearsheet/EditTearsheet.js +31 -59
- package/lib/components/EditTearsheet/EditTearsheetForm.js +12 -33
- package/lib/components/EditTearsheet/index.js +0 -2
- package/lib/components/EditTearsheet/preview-components/MultiFormEditTearsheet.js +34 -61
- package/lib/components/EditTearsheetNarrow/EditTearsheetNarrow.js +22 -24
- package/lib/components/EditTearsheetNarrow/index.js +0 -1
- package/lib/components/EditUpdateCards/EditUpdateCards.js +140 -0
- package/lib/components/EditUpdateCards/index.js +12 -0
- package/lib/components/EmptyStates/EmptyState.js +13 -38
- package/lib/components/EmptyStates/EmptyStateContent.js +10 -25
- package/lib/components/EmptyStates/ErrorEmptyState/ErrorEmptyState.js +15 -37
- package/lib/components/EmptyStates/ErrorEmptyState/index.js +0 -1
- package/lib/components/EmptyStates/NoDataEmptyState/NoDataEmptyState.js +15 -37
- package/lib/components/EmptyStates/NoDataEmptyState/index.js +0 -1
- package/lib/components/EmptyStates/NoTagsEmptyState/NoTagsEmptyState.js +15 -37
- package/lib/components/EmptyStates/NoTagsEmptyState/index.js +0 -1
- package/lib/components/EmptyStates/NotFoundEmptyState/NotFoundEmptyState.js +15 -37
- package/lib/components/EmptyStates/NotFoundEmptyState/index.js +0 -1
- package/lib/components/EmptyStates/NotificationsEmptyState/NotificationsEmptyState.js +15 -37
- package/lib/components/EmptyStates/NotificationsEmptyState/index.js +0 -1
- package/lib/components/EmptyStates/UnauthorizedEmptyState/UnauthorizedEmptyState.js +15 -37
- package/lib/components/EmptyStates/UnauthorizedEmptyState/index.js +0 -1
- package/lib/components/EmptyStates/assets/ErrorIllustration.js +2 -13
- package/lib/components/EmptyStates/assets/NoDataIllustration.js +2 -13
- package/lib/components/EmptyStates/assets/NoTagsIllustration.js +2 -13
- package/lib/components/EmptyStates/assets/NotFoundIllustration.js +2 -13
- package/lib/components/EmptyStates/assets/NotificationsIllustration.js +2 -13
- package/lib/components/EmptyStates/assets/UnauthorizedIllustration.js +2 -13
- package/lib/components/EmptyStates/index.js +0 -7
- package/lib/components/ExampleComponent/ExampleComponent.js +29 -51
- package/lib/components/ExampleComponent/index.js +0 -1
- package/lib/components/ExportModal/ExportModal.js +40 -95
- package/lib/components/ExportModal/index.js +0 -1
- package/lib/components/ExpressiveCard/ExpressiveCard.js +3 -32
- package/lib/components/ExpressiveCard/index.js +0 -1
- package/lib/components/HTTPErrors/HTTPError403/HTTPError403.js +11 -27
- package/lib/components/HTTPErrors/HTTPError403/index.js +0 -1
- package/lib/components/HTTPErrors/HTTPError404/HTTPError404.js +11 -27
- package/lib/components/HTTPErrors/HTTPError404/index.js +0 -1
- package/lib/components/HTTPErrors/HTTPErrorContent.js +9 -23
- package/lib/components/HTTPErrors/HTTPErrorOther/HTTPErrorOther.js +11 -27
- package/lib/components/HTTPErrors/HTTPErrorOther/index.js +0 -1
- package/lib/components/HTTPErrors/assets/HTTPErrorSvg403.js +6 -7
- package/lib/components/HTTPErrors/assets/HTTPErrorSvg404.js +6 -7
- package/lib/components/HTTPErrors/assets/HTTPErrorSvgOther.js +6 -7
- package/lib/components/HTTPErrors/index.js +0 -3
- package/lib/components/ImportModal/ImportModal.js +39 -110
- package/lib/components/ImportModal/index.js +0 -1
- package/lib/components/InlineEdit/InlineEdit.js +61 -111
- package/lib/components/InlineEdit/index.js +0 -1
- package/lib/components/InlineEditV2/InlineEditV2.js +29 -74
- package/lib/components/InlineEditV2/index.js +0 -1
- package/lib/components/ModifiedTabs/ModifiedTabLabelNew.js +1 -7
- package/lib/components/ModifiedTabs/ModifiedTabLabelWithClose.js +6 -15
- package/lib/components/ModifiedTabs/ModifiedTabs.js +14 -32
- package/lib/components/ModifiedTabs/index.js +0 -1
- package/lib/components/MultiAddSelect/MultiAddSelect.js +0 -34
- package/lib/components/MultiAddSelect/index.js +0 -1
- package/lib/components/NotificationsPanel/NotificationsPanel.js +78 -143
- package/lib/components/NotificationsPanel/NotificationsPanel_data.js +1 -4
- package/lib/components/NotificationsPanel/index.js +0 -1
- package/lib/components/NotificationsPanel/preview-components/UnreadNotificationBell.js +1 -4
- package/lib/components/NotificationsPanel/utils.js +13 -21
- package/lib/components/OptionsTile/OptionsTile.js +45 -96
- package/lib/components/OptionsTile/index.js +0 -1
- package/lib/components/PageHeader/PageHeader.js +116 -212
- package/lib/components/PageHeader/PageHeaderDemo.data.js +0 -3
- package/lib/components/PageHeader/PageHeaderTitle.js +17 -35
- package/lib/components/PageHeader/PageHeaderUtils.js +17 -58
- package/lib/components/PageHeader/index.js +0 -1
- package/lib/components/ProductiveCard/ProductiveCard.js +6 -36
- package/lib/components/ProductiveCard/index.js +0 -1
- package/lib/components/RemoveModal/RemoveModal.js +24 -61
- package/lib/components/RemoveModal/index.js +0 -1
- package/lib/components/Saving/Saving.js +14 -44
- package/lib/components/Saving/index.js +0 -1
- package/lib/components/SidePanel/SidePanel.js +98 -173
- package/lib/components/SidePanel/constants.js +1 -1
- package/lib/components/SidePanel/index.js +0 -1
- package/lib/components/SidePanel/motion/variants.js +0 -2
- package/lib/components/SingleAddSelect/SingleAddSelect.js +0 -26
- package/lib/components/SingleAddSelect/index.js +0 -1
- package/lib/components/StatusIcon/StatusIcon.js +5 -23
- package/lib/components/StatusIcon/index.js +0 -1
- package/lib/components/TagSet/TagSet.js +58 -113
- package/lib/components/TagSet/TagSetModal.js +18 -46
- package/lib/components/TagSet/TagSetOverflow.js +15 -43
- package/lib/components/TagSet/index.js +0 -1
- package/lib/components/Tearsheet/Tearsheet.js +20 -42
- package/lib/components/Tearsheet/TearsheetNarrow.js +16 -34
- package/lib/components/Tearsheet/TearsheetShell.js +73 -114
- package/lib/components/Tearsheet/index.js +0 -2
- package/lib/components/Toolbar/Toolbar.js +12 -40
- package/lib/components/Toolbar/ToolbarButton.js +4 -22
- package/lib/components/Toolbar/ToolbarGroup.js +2 -16
- package/lib/components/Toolbar/index.js +0 -3
- package/lib/components/UserProfileImage/UserProfileImage.js +19 -48
- package/lib/components/UserProfileImage/index.js +0 -1
- package/lib/components/WebTerminal/WebTerminal.js +34 -67
- package/lib/components/WebTerminal/WebTerminalContentWrapper.js +9 -20
- package/lib/components/WebTerminal/hooks/index.js +8 -19
- package/lib/components/WebTerminal/index.js +0 -3
- package/lib/components/WebTerminal/preview-components/Navigation.js +2 -9
- package/lib/components/WebTerminal/preview-components/documentationLinks.js +1 -0
- package/lib/components/WebTerminal/preview-components/index.js +0 -2
- package/lib/components/_Canary/Canary.js +4 -17
- package/lib/components/_Canary/index.js +0 -1
- package/lib/components/index.js +7 -38
- package/lib/global/js/hooks/index.js +0 -10
- package/lib/global/js/hooks/useActiveElement.js +4 -10
- package/lib/global/js/hooks/useClickOutside.js +1 -4
- package/lib/global/js/hooks/useCreateComponentFocus.js +4 -8
- package/lib/global/js/hooks/useCreateComponentStepChange.js +23 -59
- package/lib/global/js/hooks/usePreviousValue.js +0 -3
- package/lib/global/js/hooks/useResetCreateComponent.js +8 -11
- package/lib/global/js/hooks/useRetrieveStepData.js +5 -12
- package/lib/global/js/hooks/useValidCreateStepCount.js +0 -3
- package/lib/global/js/hooks/useWindowResize.js +8 -21
- package/lib/global/js/hooks/useWindowScroll.js +4 -20
- package/lib/global/js/package-settings.js +5 -14
- package/lib/global/js/utils/ClickListener.js +3 -16
- package/lib/global/js/utils/DisplayBox.js +3 -9
- package/lib/global/js/utils/Wrap.js +8 -22
- package/lib/global/js/utils/deepCloneObject.js +5 -11
- package/lib/global/js/utils/devtools.js +1 -6
- package/lib/global/js/utils/getBezierValues.js +1 -5
- package/lib/global/js/utils/getFocusableElements.js +1 -4
- package/lib/global/js/utils/getScrollbarWidth.js +1 -2
- package/lib/global/js/utils/keyboardNavigation.js +7 -6
- package/lib/global/js/utils/lastIndexInArray.js +0 -4
- package/lib/global/js/utils/motionConstants.js +1 -5
- package/lib/global/js/utils/pconsole.js +1 -7
- package/lib/global/js/utils/props-helper.js +15 -57
- package/lib/global/js/utils/rangeWithCallback.js +1 -2
- package/lib/global/js/utils/scrollableAncestor.js +5 -12
- package/lib/global/js/utils/story-helper.js +7 -21
- package/lib/global/js/utils/test-helper.js +25 -69
- package/lib/global/js/utils/unwrap-if-fragment.js +7 -19
- package/lib/global/js/utils/uuidv4.js +1 -3
- package/lib/global/js/utils/uuidv4.spec.js +1 -3
- package/lib/global/js/utils/wait.js +1 -2
- package/lib/global/js/utils/wrapFocus.js +6 -16
- package/lib/index.js +0 -3
- package/lib/settings.js +24 -27
- package/package.json +8 -8
- package/scss/components/EditUpdateCards/_edit-update-cards.scss +87 -0
- package/scss/components/EditUpdateCards/_index.scss +8 -0
- package/scss/components/EditUpdateCards/_storybook-styles.scss +56 -0
- package/scss/components/InlineEditV2/_inline-edit-v2.scss +11 -8
- package/scss/components/InlineEditV2/_storybook-styles.scss +3 -0
- package/scss/components/SidePanel/_side-panel.scss +2 -3
- package/scss/components/_index.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
|
-
|
|
7
|
-
|
|
6
|
+
_excluded2 = ["label", "kind", "icon", "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, 2021
|
|
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';
|
|
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 { useResizeDetector } from 'react-resize-detector';
|
|
@@ -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';
|
|
30
|
+
import { usePreviousValue } from '../../global/js/hooks';
|
|
32
31
|
|
|
32
|
+
// Carbon and package components we use.
|
|
33
33
|
import { Button } from 'carbon-components-react';
|
|
34
34
|
import { Close20, ArrowLeft20 } from '@carbon/icons-react';
|
|
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';
|
|
39
|
-
|
|
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, _ref4, _cx4;
|
|
55
|
-
|
|
56
57
|
var actionToolbarButtons = _ref.actionToolbarButtons,
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
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
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
88
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
89
|
+
animationComplete = _useState2[0],
|
|
90
|
+
setAnimationComplete = _useState2[1];
|
|
92
91
|
var _useState3 = useState(0),
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
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
|
-
};
|
|
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;
|
|
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]);
|
|
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,46 +148,41 @@ 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]);
|
|
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(width, height) {
|
|
176
169
|
var _sidePanelOuter$style3;
|
|
177
|
-
|
|
178
170
|
setPanelHeight(height);
|
|
179
171
|
var sidePanelOuter = document.querySelector("#".concat(blockClass, "-outer"));
|
|
180
172
|
var actionsContainer = getActionsContainerElement();
|
|
181
173
|
var actionsHeight = (actionsContainer === null || actionsContainer === void 0 ? void 0 : actionsContainer.offsetHeight) + 16; // add additional 1rem spacing to bottom padding
|
|
182
|
-
|
|
183
174
|
actionsHeight = "".concat(Math.round(actionsHeight / 16), "rem");
|
|
184
175
|
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);
|
|
185
176
|
};
|
|
186
|
-
|
|
187
177
|
var getActionsContainerElement = function getActionsContainerElement() {
|
|
188
178
|
var sidePanelOuter = document.querySelector("#".concat(blockClass, "-outer"));
|
|
189
179
|
return sidePanelOuter && sidePanelOuter.querySelector(".".concat(blockClass, "__actions-container"));
|
|
190
|
-
};
|
|
191
|
-
|
|
180
|
+
};
|
|
192
181
|
|
|
182
|
+
// Title and subtitle scroll animation
|
|
193
183
|
useEffect(function () {
|
|
194
184
|
if (open && animateTitle && animationComplete && title && title.length && !reducedMotion.matches) {
|
|
195
185
|
var _document$querySelect2, _document$querySelect3, _document$querySelect4;
|
|
196
|
-
|
|
197
186
|
var sidePanelOuter = document.querySelector("#".concat(blockClass, "-outer"));
|
|
198
187
|
var sidePanelScrollArea = document.querySelector("#".concat(blockClass, "-outer .").concat(blockClass, "__inner-content"));
|
|
199
188
|
var sidePanelTitleElement = document.querySelector(".".concat(blockClass, "__title-text"));
|
|
@@ -205,50 +194,54 @@ export var SidePanel = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
205
194
|
var scrollSectionHeight = (_document$querySelect2 = document.querySelector(".".concat(blockClass, "__body-content"))) === null || _document$querySelect2 === void 0 ? void 0 : _document$querySelect2.offsetHeight;
|
|
206
195
|
var titleContainerHeight = (_document$querySelect3 = document.querySelector(".".concat(blockClass, "__title-container"))) === null || _document$querySelect3 === void 0 ? void 0 : _document$querySelect3.offsetHeight;
|
|
207
196
|
var labelTextHeight = (_document$querySelect4 = document.querySelector(".".concat(blockClass, "__label-text"))) === null || _document$querySelect4 === void 0 ? void 0 : _document$querySelect4.offsetHeight;
|
|
208
|
-
var totalScrollingContentHeight = titleContainerHeight + sidePanelSubtitleElementHeight + scrollSectionHeight;
|
|
197
|
+
var totalScrollingContentHeight = titleContainerHeight + sidePanelSubtitleElementHeight + scrollSectionHeight;
|
|
198
|
+
// if the difference between the total scrolling height and the panel height is less than
|
|
209
199
|
// the subtitleElement height OR if the subtitle element height is 0, use that difference
|
|
210
200
|
// as the length of the scroll animation (otherwise the animation will not be able to complete
|
|
211
201
|
// because there is not enough scrolling distance to complete it).
|
|
212
|
-
|
|
213
202
|
sidePanelSubtitleElementHeight = totalScrollingContentHeight - panelOuterHeight < sidePanelSubtitleElementHeight ? totalScrollingContentHeight - panelOuterHeight : sidePanelSubtitleElementHeight === 0 ? 16 : sidePanelSubtitleElementHeight;
|
|
214
203
|
sidePanelSubtitleElementHeight = sidePanelSubtitleElementHeight < 0 ? (sidePanelScrollArea === null || sidePanelScrollArea === void 0 ? void 0 : sidePanelScrollArea.scrollHeight) - (sidePanelScrollArea === null || sidePanelScrollArea === void 0 ? void 0 : sidePanelScrollArea.clientHeight) : sidePanelSubtitleElementHeight;
|
|
215
204
|
/* istanbul ignore next */
|
|
216
|
-
|
|
217
205
|
sidePanelScrollArea && sidePanelScrollArea.addEventListener('scroll', function () {
|
|
218
|
-
var scrollTop = sidePanelScrollArea.scrollTop;
|
|
219
|
-
|
|
206
|
+
var scrollTop = sidePanelScrollArea.scrollTop;
|
|
207
|
+
// if scrolling has occurred
|
|
220
208
|
if (scrollTop > 0) {
|
|
221
|
-
sidePanelOuter.classList.add("".concat(blockClass, "__with-condensed-header"));
|
|
209
|
+
sidePanelOuter.classList.add("".concat(blockClass, "__with-condensed-header"));
|
|
210
|
+
// Set subtitle opacity calculation here
|
|
222
211
|
// as scroll progresses
|
|
223
|
-
|
|
224
212
|
var titleOpacity = Math.min(1, (sidePanelSubtitleElementHeight - scrollTop) / sidePanelSubtitleElementHeight);
|
|
225
213
|
titleOpacity = titleOpacity < 0 ? 0 : titleOpacity;
|
|
226
|
-
sidePanelOuter.style.setProperty("--".concat(blockClass, "--subtitle-opacity"), titleOpacity);
|
|
214
|
+
sidePanelOuter.style.setProperty("--".concat(blockClass, "--subtitle-opacity"), titleOpacity);
|
|
215
|
+
|
|
216
|
+
// Calculate divider opacity to avoid border
|
|
227
217
|
// abruptly appearing when scrolling starts.
|
|
228
218
|
// This approach uses a pseudo element and sets
|
|
229
219
|
// the opacity as scroll progresses.
|
|
230
|
-
|
|
231
220
|
var dividerOpacity = Math.min(scrollTop / sidePanelSubtitleElementHeight, 1);
|
|
232
|
-
sidePanelOuter.style.setProperty("--".concat(blockClass, "--divider-opacity"), "".concat(Math.min(1, dividerOpacity)));
|
|
221
|
+
sidePanelOuter.style.setProperty("--".concat(blockClass, "--divider-opacity"), "".concat(Math.min(1, dividerOpacity)));
|
|
222
|
+
|
|
223
|
+
// We need to know the height of the title element
|
|
233
224
|
// so that we know how far to place the action toolbar
|
|
234
225
|
// from the top since it is sticky
|
|
235
|
-
|
|
236
226
|
var titleTextHeight = Math.max(sidePanelTitleElement.offsetHeight);
|
|
237
|
-
sidePanelOuter.style.setProperty("--".concat(blockClass, "--title-height"), "".concat(titleTextHeight + 16, "px"));
|
|
227
|
+
sidePanelOuter.style.setProperty("--".concat(blockClass, "--title-height"), "".concat(titleTextHeight + 16, "px"));
|
|
238
228
|
|
|
229
|
+
// Set title y positioning
|
|
239
230
|
var titleYPosition = Math.min(scrollTop / sidePanelSubtitleElementHeight, 1);
|
|
240
|
-
sidePanelOuter.style.setProperty("--".concat(blockClass, "--title-y-position"), "".concat(-Math.abs(titleYPosition), "rem"));
|
|
231
|
+
sidePanelOuter.style.setProperty("--".concat(blockClass, "--title-y-position"), "".concat(-Math.abs(titleYPosition), "rem"));
|
|
241
232
|
|
|
233
|
+
// mark title with aria-hidden={true} if opacity reaches 0
|
|
242
234
|
if (titleOpacity === 0) {
|
|
243
235
|
sidePanelTitleElement.setAttribute('aria-hidden', 'true');
|
|
244
236
|
sidePanelCollapsedTitleElement.setAttribute('aria-hidden', 'false');
|
|
245
|
-
}
|
|
246
|
-
|
|
237
|
+
}
|
|
247
238
|
|
|
239
|
+
// Set collapsed title y positioning
|
|
248
240
|
var collapsedTitleYPosition = Math.min(1, (sidePanelSubtitleElementHeight - scrollTop) / sidePanelSubtitleElementHeight);
|
|
249
241
|
collapsedTitleYPosition = collapsedTitleYPosition < 0 ? 0 : collapsedTitleYPosition;
|
|
250
|
-
sidePanelOuter.style.setProperty("--".concat(blockClass, "--collapsed-title-y-position"), "".concat(collapsedTitleYPosition, "rem"));
|
|
242
|
+
sidePanelOuter.style.setProperty("--".concat(blockClass, "--collapsed-title-y-position"), "".concat(collapsedTitleYPosition, "rem"));
|
|
251
243
|
|
|
244
|
+
// Set label text height
|
|
252
245
|
var scrollAnimationProgress = dividerOpacity;
|
|
253
246
|
var reduceTitleContainerHeightAmount = labelTextHeight * scrollAnimationProgress / titleContainerHeight * 100;
|
|
254
247
|
sidePanelOuter.style.setProperty("--".concat(blockClass, "--label-text-height"), "".concat(Math.trunc(reduceTitleContainerHeightAmount), "px"));
|
|
@@ -265,20 +258,13 @@ export var SidePanel = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
265
258
|
}
|
|
266
259
|
});
|
|
267
260
|
}
|
|
268
|
-
|
|
269
261
|
if (open && !animateTitle) {
|
|
270
262
|
var _sidePanelOuter = document.querySelector("#".concat(blockClass, "-outer"));
|
|
271
|
-
|
|
272
263
|
var _sidePanelTitleElement = document.querySelector(".".concat(blockClass, "__title-container .").concat(blockClass, "__title-text"));
|
|
273
|
-
|
|
274
264
|
var _sidePanelSubtitleElement = document.querySelector(".".concat(blockClass, "__subtitle-text"));
|
|
275
|
-
|
|
276
265
|
var actionToolbarElement = document.querySelector(".".concat(blockClass, "__action-toolbar"));
|
|
277
|
-
|
|
278
266
|
var _labelText = document.querySelector(".".concat(blockClass, "__label-text"));
|
|
279
|
-
|
|
280
267
|
var _sidePanelSubtitleElementHeight = (_sidePanelSubtitleElement === null || _sidePanelSubtitleElement === void 0 ? void 0 : _sidePanelSubtitleElement.offsetHeight) || 0;
|
|
281
|
-
|
|
282
268
|
var sidePanelActionBarElementHeight = (actionToolbarElement === null || actionToolbarElement === void 0 ? void 0 : actionToolbarElement.offsetHeight) || 0;
|
|
283
269
|
var titleHeight = (_sidePanelTitleElement === null || _sidePanelTitleElement === void 0 ? void 0 : _sidePanelTitleElement.offsetHeight) + 24;
|
|
284
270
|
var labelHeight = (_labelText === null || _labelText === void 0 ? void 0 : _labelText.offsetHeight) || 0;
|
|
@@ -287,59 +273,55 @@ export var SidePanel = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
287
273
|
_sidePanelOuter === null || _sidePanelOuter === void 0 ? void 0 : _sidePanelOuter.style.setProperty("--".concat(blockClass, "--action-bar-container-height"), "".concat(sidePanelActionBarElementHeight, "px"));
|
|
288
274
|
_sidePanelOuter === null || _sidePanelOuter === void 0 ? void 0 : _sidePanelOuter.style.setProperty("--".concat(blockClass, "--label-text-height"), "".concat(labelHeight, "px"));
|
|
289
275
|
}
|
|
290
|
-
}, [open, animateTitle, animationComplete, panelHeight, title, size, reducedMotion.matches]);
|
|
276
|
+
}, [open, animateTitle, animationComplete, panelHeight, title, size, reducedMotion.matches]);
|
|
291
277
|
|
|
278
|
+
// click outside functionality if `includeOverlay` prop is set
|
|
292
279
|
useEffect(function () {
|
|
293
280
|
var handleOutsideClick = function handleOutsideClick(event) {
|
|
294
281
|
var panelRef = ref || sidePanelRef;
|
|
295
|
-
|
|
296
282
|
if (panelRef.current && sidePanelOverlayRef.current && sidePanelOverlayRef.current.contains(event.target) && onRequestClose) {
|
|
297
283
|
onRequestClose();
|
|
298
284
|
}
|
|
299
285
|
};
|
|
300
|
-
|
|
301
286
|
var bodyElement = document.body;
|
|
302
|
-
|
|
303
287
|
if (includeOverlay && open) {
|
|
304
288
|
bodyElement.style.overflow = 'hidden';
|
|
305
289
|
} else if (includeOverlay && !open) {
|
|
306
290
|
bodyElement.style.overflow = 'initial';
|
|
307
291
|
}
|
|
308
|
-
|
|
309
292
|
if (includeOverlay && !preventCloseOnClickOutside) {
|
|
310
293
|
document.addEventListener('click', handleOutsideClick);
|
|
311
294
|
}
|
|
312
|
-
|
|
313
295
|
return function () {
|
|
314
296
|
document.removeEventListener('click', handleOutsideClick);
|
|
315
297
|
};
|
|
316
|
-
}, [includeOverlay, onRequestClose, open, preventCloseOnClickOutside, ref, onUnmount]);
|
|
298
|
+
}, [includeOverlay, onRequestClose, open, preventCloseOnClickOutside, ref, onUnmount]);
|
|
317
299
|
|
|
300
|
+
// initializes the side panel to close
|
|
318
301
|
var onAnimationEnd = function onAnimationEnd() {
|
|
319
302
|
if (!open) {
|
|
320
303
|
onUnmount === null || onUnmount === void 0 ? void 0 : onUnmount();
|
|
321
304
|
}
|
|
322
|
-
|
|
323
305
|
setAnimationComplete(true);
|
|
324
|
-
};
|
|
325
|
-
// prefers reduced motion is true
|
|
326
|
-
|
|
306
|
+
};
|
|
327
307
|
|
|
308
|
+
// Set the internal state `animationComplete` to true if
|
|
309
|
+
// prefers reduced motion is true
|
|
328
310
|
useEffect(function () {
|
|
329
311
|
if (reducedMotion.matches) {
|
|
330
312
|
setAnimationComplete(true);
|
|
331
313
|
}
|
|
332
|
-
}, [reducedMotion.matches]);
|
|
314
|
+
}, [reducedMotion.matches]);
|
|
333
315
|
|
|
316
|
+
// initializes the side panel to open
|
|
334
317
|
var _onAnimationStart = function onAnimationStart() {
|
|
335
318
|
setAnimationComplete(false);
|
|
336
|
-
};
|
|
337
|
-
|
|
319
|
+
};
|
|
338
320
|
|
|
321
|
+
// used to reset margins of the slide in panel when closed/closing
|
|
339
322
|
useEffect(function () {
|
|
340
323
|
if (!open && slideIn) {
|
|
341
324
|
var pageContentElement = document.querySelector(selectorPageContent);
|
|
342
|
-
|
|
343
325
|
if (placement && placement === 'right' && pageContentElement) {
|
|
344
326
|
pageContentElement.style.marginRight = 0;
|
|
345
327
|
} else if (pageContentElement) {
|
|
@@ -351,12 +333,12 @@ export var SidePanel = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
351
333
|
if (!open && previousState !== null && previousState !== void 0 && previousState.open && reducedMotion.matches) {
|
|
352
334
|
onUnmount === null || onUnmount === void 0 ? void 0 : onUnmount();
|
|
353
335
|
}
|
|
354
|
-
}, [open, onUnmount, reducedMotion.matches, previousState === null || previousState === void 0 ? void 0 : previousState.open]);
|
|
336
|
+
}, [open, onUnmount, reducedMotion.matches, previousState === null || previousState === void 0 ? void 0 : previousState.open]);
|
|
355
337
|
|
|
338
|
+
// used to set margins of content for slide in panel version
|
|
356
339
|
useEffect(function () {
|
|
357
340
|
if (open && slideIn) {
|
|
358
341
|
var pageContentElement = document.querySelector(selectorPageContent);
|
|
359
|
-
|
|
360
342
|
if (placement && placement === 'right' && pageContentElement) {
|
|
361
343
|
pageContentElement.style.marginRight = 0;
|
|
362
344
|
pageContentElement.style.transition = !reducedMotion.matches ? "margin-right ".concat(moderate02) : null;
|
|
@@ -367,14 +349,13 @@ export var SidePanel = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
367
349
|
pageContentElement.style.marginLeft = SIDE_PANEL_SIZES[size];
|
|
368
350
|
}
|
|
369
351
|
}
|
|
370
|
-
}, [slideIn, selectorPageContent, placement, size, reducedMotion.matches, open]);
|
|
352
|
+
}, [slideIn, selectorPageContent, placement, size, reducedMotion.matches, open]);
|
|
371
353
|
|
|
354
|
+
// adds focus trap functionality
|
|
372
355
|
/* istanbul ignore next */
|
|
373
|
-
|
|
374
356
|
var handleBlur = function handleBlur(_ref2) {
|
|
375
357
|
var oldActiveNode = _ref2.target,
|
|
376
|
-
|
|
377
|
-
|
|
358
|
+
currentActiveNode = _ref2.relatedTarget;
|
|
378
359
|
// focus trap should only be set if the side panel is a `slideOver` type
|
|
379
360
|
if (open && sidePanelInnerRef && !slideIn) {
|
|
380
361
|
wrapFocus({
|
|
@@ -386,13 +367,10 @@ export var SidePanel = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
386
367
|
});
|
|
387
368
|
}
|
|
388
369
|
};
|
|
389
|
-
|
|
390
370
|
var primaryActionContainerClassNames = cx(["".concat(blockClass, "__actions-container"), _defineProperty({}, "".concat(blockClass, "__actions-container-condensed"), condensedActions)]);
|
|
391
371
|
var mainPanelClassNames = cx([blockClass, className, "".concat(blockClass, "__container"), "".concat(blockClass, "__container--").concat(size), (_ref4 = {}, _defineProperty(_ref4, "".concat(blockClass, "__container-right-placement"), placement === 'right'), _defineProperty(_ref4, "".concat(blockClass, "__container-left-placement"), placement === 'left'), _defineProperty(_ref4, "".concat(blockClass, "__container-with-action-toolbar"), actionToolbarButtons && actionToolbarButtons.length), _defineProperty(_ref4, "".concat(blockClass, "__container-without-overlay"), !includeOverlay && !slideIn), _defineProperty(_ref4, "".concat(blockClass, "__container-is-animating"), !animationComplete || !open), _ref4)]);
|
|
392
|
-
|
|
393
372
|
var renderHeader = function renderHeader() {
|
|
394
373
|
var _cx, _cx2;
|
|
395
|
-
|
|
396
374
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
|
|
397
375
|
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))
|
|
398
376
|
}, currentStep > 0 && /*#__PURE__*/React.createElement(Button, {
|
|
@@ -421,16 +399,14 @@ export var SidePanel = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
421
399
|
className: cx("".concat(blockClass, "__action-toolbar"), _defineProperty({}, "".concat(blockClass, "__action-toolbar-no-animation"), !animateTitle))
|
|
422
400
|
}, actionToolbarButtons.map(function (_ref5) {
|
|
423
401
|
var _ref6;
|
|
424
|
-
|
|
425
402
|
var label = _ref5.label,
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
403
|
+
kind = _ref5.kind,
|
|
404
|
+
icon = _ref5.icon,
|
|
405
|
+
leading = _ref5.leading,
|
|
406
|
+
disabled = _ref5.disabled,
|
|
407
|
+
className = _ref5.className,
|
|
408
|
+
onClick = _ref5.onClick,
|
|
409
|
+
rest = _objectWithoutProperties(_ref5, _excluded2);
|
|
434
410
|
return /*#__PURE__*/React.createElement(Button, _extends({}, rest, {
|
|
435
411
|
key: label,
|
|
436
412
|
kind: kind || 'ghost',
|
|
@@ -446,7 +422,6 @@ export var SidePanel = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
446
422
|
}), leading && label);
|
|
447
423
|
})));
|
|
448
424
|
};
|
|
449
|
-
|
|
450
425
|
var renderTitle = function renderTitle() {
|
|
451
426
|
return /*#__PURE__*/React.createElement(React.Fragment, null, title && title.length && /*#__PURE__*/React.createElement("h2", {
|
|
452
427
|
className: "".concat(blockClass, "__title-text"),
|
|
@@ -458,7 +433,6 @@ export var SidePanel = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
458
433
|
"aria-hidden": true
|
|
459
434
|
}, title));
|
|
460
435
|
};
|
|
461
|
-
|
|
462
436
|
var contentRef = ref || sidePanelRef;
|
|
463
437
|
useResizeDetector({
|
|
464
438
|
handleHeight: true,
|
|
@@ -508,8 +482,9 @@ export var SidePanel = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
508
482
|
ref: sidePanelOverlayRef,
|
|
509
483
|
className: "".concat(blockClass, "__overlay")
|
|
510
484
|
}))));
|
|
511
|
-
});
|
|
485
|
+
});
|
|
512
486
|
|
|
487
|
+
// Return a placeholder if not released and not enabled by feature flag
|
|
513
488
|
SidePanel = pkg.checkComponentEnabled(SidePanel, componentName);
|
|
514
489
|
SidePanel.propTypes = {
|
|
515
490
|
/**
|
|
@@ -522,7 +497,6 @@ SidePanel.propTypes = {
|
|
|
522
497
|
onClick: PropTypes.func,
|
|
523
498
|
kind: PropTypes.oneOf(['ghost', 'tertiary', 'secondary', 'primary'])
|
|
524
499
|
})),
|
|
525
|
-
|
|
526
500
|
/**
|
|
527
501
|
* The primary actions to be shown in the side panel. Each action is
|
|
528
502
|
* specified as an object with optional fields: 'label' to supply the button
|
|
@@ -543,84 +517,68 @@ SidePanel.propTypes = {
|
|
|
543
517
|
// we duplicate this Button prop to improve the DocGen here
|
|
544
518
|
onClick: Button.propTypes.onClick
|
|
545
519
|
})))]),
|
|
546
|
-
|
|
547
520
|
/**
|
|
548
521
|
* Determines if the title will animate on scroll
|
|
549
522
|
*/
|
|
550
523
|
animateTitle: PropTypes.bool,
|
|
551
|
-
|
|
552
524
|
/**
|
|
553
525
|
* Sets the body content of the side panel
|
|
554
526
|
*/
|
|
555
527
|
children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,
|
|
556
|
-
|
|
557
528
|
/**
|
|
558
529
|
* Sets an optional className to be added to the side panel outermost element
|
|
559
530
|
*/
|
|
560
531
|
className: PropTypes.string,
|
|
561
|
-
|
|
562
532
|
/**
|
|
563
533
|
* Sets the close button icon description
|
|
564
534
|
*/
|
|
565
535
|
closeIconDescription: PropTypes.string,
|
|
566
|
-
|
|
567
536
|
/**
|
|
568
537
|
* Determines whether the side panel should render the condensed version (affects action buttons primarily)
|
|
569
538
|
*/
|
|
570
539
|
condensedActions: PropTypes.bool,
|
|
571
|
-
|
|
572
540
|
/**
|
|
573
541
|
* Sets the current step of the side panel
|
|
574
542
|
*/
|
|
575
543
|
currentStep: PropTypes.number,
|
|
576
|
-
|
|
577
544
|
/**
|
|
578
545
|
* Determines whether the side panel should render with an overlay
|
|
579
546
|
*/
|
|
580
547
|
includeOverlay: PropTypes.bool,
|
|
581
|
-
|
|
582
548
|
/**
|
|
583
549
|
* Sets the label text which will display above the title text
|
|
584
550
|
*/
|
|
585
551
|
labelText: PropTypes.string,
|
|
586
|
-
|
|
587
552
|
/**
|
|
588
553
|
* Sets the icon description for the navigation back icon button
|
|
589
554
|
*/
|
|
590
555
|
navigationBackIconDescription: PropTypes.string,
|
|
591
|
-
|
|
592
556
|
/**
|
|
593
557
|
* Changes the current side panel page to the previous page
|
|
594
558
|
*/
|
|
595
559
|
onNavigationBack: PropTypes.func,
|
|
596
|
-
|
|
597
560
|
/**
|
|
598
561
|
* Specify a handler for closing the side panel.
|
|
599
562
|
* This handler closes the modal, e.g. changing `open` prop.
|
|
600
563
|
*/
|
|
601
564
|
onRequestClose: PropTypes.func,
|
|
602
|
-
|
|
603
565
|
/**
|
|
604
566
|
* Optional function called when the side panel exit animation is complete.
|
|
605
567
|
* This handler can be used for any state cleanup needed before the panel is removed from the DOM.
|
|
606
568
|
*/
|
|
607
569
|
onUnmount: PropTypes.func,
|
|
608
|
-
|
|
609
570
|
/**
|
|
610
571
|
* Determines whether the side panel should render or not
|
|
611
572
|
*/
|
|
612
573
|
open: PropTypes.bool.isRequired,
|
|
613
|
-
|
|
614
574
|
/**
|
|
615
575
|
* Determines if the side panel is on the right or left
|
|
616
576
|
*/
|
|
617
577
|
placement: PropTypes.oneOf(['left', 'right']),
|
|
618
|
-
|
|
619
578
|
/**
|
|
620
579
|
* Prevent closing on click outside of the panel
|
|
621
580
|
*/
|
|
622
581
|
preventCloseOnClickOutside: PropTypes.bool,
|
|
623
|
-
|
|
624
582
|
/**
|
|
625
583
|
* This is the selector to the element that contains all of the page content that will shrink if the panel is a slide in.
|
|
626
584
|
* This prop is required when using the `slideIn` variant of the side panel.
|
|
@@ -629,28 +587,23 @@ SidePanel.propTypes = {
|
|
|
629
587
|
var slideIn = _ref7.slideIn;
|
|
630
588
|
return slideIn;
|
|
631
589
|
}),
|
|
632
|
-
|
|
633
590
|
/**
|
|
634
591
|
* Specify a CSS selector that matches the DOM element that should
|
|
635
592
|
* be focused when the side panel opens
|
|
636
593
|
*/
|
|
637
594
|
selectorPrimaryFocus: PropTypes.string,
|
|
638
|
-
|
|
639
595
|
/**
|
|
640
596
|
* Sets the size of the side panel
|
|
641
597
|
*/
|
|
642
598
|
size: PropTypes.oneOf(['xs', 'sm', 'md', 'lg', 'max']),
|
|
643
|
-
|
|
644
599
|
/**
|
|
645
600
|
* Determines if this panel slides in
|
|
646
601
|
*/
|
|
647
602
|
slideIn: PropTypes.bool,
|
|
648
|
-
|
|
649
603
|
/**
|
|
650
604
|
* Sets the subtitle text
|
|
651
605
|
*/
|
|
652
606
|
subtitle: PropTypes.node,
|
|
653
|
-
|
|
654
607
|
/**
|
|
655
608
|
* Sets the title text
|
|
656
609
|
*/
|