@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,83 +3,86 @@ 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 = ["actions", "children", "className", "closeIconDescription", "description", "hasCloseIcon", "headerActions", "influencer", "influencerPosition", "influencerWidth", "label", "navigation", "onClose", "open", "selectorPrimaryFocus", "size", "portalTarget", "title", "verticalPosition"];
|
|
6
|
-
|
|
7
6
|
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; }
|
|
8
|
-
|
|
9
7
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
10
|
-
|
|
11
8
|
/**
|
|
12
9
|
* Copyright IBM Corp. 2020, 2021
|
|
13
10
|
*
|
|
14
11
|
* This source code is licensed under the Apache-2.0 license found in the
|
|
15
12
|
* LICENSE file in the root directory of this source tree.
|
|
16
13
|
*/
|
|
14
|
+
|
|
17
15
|
// Import portions of React that are needed.
|
|
18
16
|
import React, { useEffect, useState, useRef } from 'react';
|
|
19
17
|
import { createPortal } from 'react-dom';
|
|
20
|
-
import { useResizeDetector } from 'react-resize-detector';
|
|
18
|
+
import { useResizeDetector } from 'react-resize-detector';
|
|
21
19
|
|
|
20
|
+
// Other standard imports.
|
|
22
21
|
import PropTypes from 'prop-types';
|
|
23
22
|
import cx from 'classnames';
|
|
24
23
|
import { pkg, carbon } from '../../settings';
|
|
25
|
-
import pconsole from '../../global/js/utils/pconsole';
|
|
24
|
+
import pconsole from '../../global/js/utils/pconsole';
|
|
26
25
|
|
|
26
|
+
// Carbon and package components we use.
|
|
27
27
|
import { Button, ComposedModal, ModalHeader, ModalBody } from 'carbon-components-react';
|
|
28
28
|
import { ActionSet } from '../ActionSet';
|
|
29
|
-
import { Wrap } from '../../global/js/utils/Wrap';
|
|
29
|
+
import { Wrap } from '../../global/js/utils/Wrap';
|
|
30
30
|
|
|
31
|
+
// The block part of our conventional BEM class names (bc__E--M).
|
|
31
32
|
var bc = "".concat(pkg.prefix, "--tearsheet");
|
|
32
33
|
var bcModalHeader = "".concat(carbon.prefix, "--modal-header");
|
|
33
34
|
var componentName = 'TearsheetShell';
|
|
34
|
-
var maxDepth = 3;
|
|
35
|
+
var maxDepth = 3;
|
|
36
|
+
|
|
37
|
+
// NOTE: the component SCSS is not imported here: it is rolled up separately.
|
|
38
|
+
|
|
35
39
|
// Global data structure to communicate the state of tearsheet stacking
|
|
36
40
|
// (i.e. when more than one tearsheet is open). Each tearsheet supplies a
|
|
37
41
|
// handler to be called whenever the stacking of the tearsheets changes, which
|
|
38
42
|
// happens when a tearsheet opens or closes. The 'open' array contains one
|
|
39
43
|
// handler per OPEN tearsheet ordered from lowest to highest in visual z-order.
|
|
40
44
|
// The 'all' array contains all the handlers for open and closed tearsheets.
|
|
41
|
-
|
|
42
45
|
var stack = {
|
|
43
46
|
open: [],
|
|
44
47
|
all: []
|
|
45
|
-
};
|
|
48
|
+
};
|
|
46
49
|
|
|
50
|
+
// these props are only applicable when size='wide'
|
|
47
51
|
export var tearsheetShellWideProps = ['headerActions', 'influencer', 'influencerPosition', 'influencerWidth', 'navigation'];
|
|
48
52
|
export var tearsheetIsPassive = function tearsheetIsPassive(actions) {
|
|
49
53
|
return !actions || !(actions !== null && actions !== void 0 && actions.length);
|
|
50
54
|
};
|
|
51
55
|
export var tearsheetHasCloseIcon = function tearsheetHasCloseIcon(actions, hasCloseIcon) {
|
|
52
56
|
return hasCloseIcon !== null && hasCloseIcon !== void 0 ? hasCloseIcon : tearsheetIsPassive(actions);
|
|
53
|
-
};
|
|
57
|
+
};
|
|
54
58
|
|
|
59
|
+
// TearSheetShell is used internally by TearSheet and TearSheetNarrow
|
|
55
60
|
export var TearsheetShell = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
56
61
|
var actions = _ref.actions,
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
62
|
+
children = _ref.children,
|
|
63
|
+
className = _ref.className,
|
|
64
|
+
closeIconDescription = _ref.closeIconDescription,
|
|
65
|
+
description = _ref.description,
|
|
66
|
+
hasCloseIcon = _ref.hasCloseIcon,
|
|
67
|
+
headerActions = _ref.headerActions,
|
|
68
|
+
influencer = _ref.influencer,
|
|
69
|
+
influencerPosition = _ref.influencerPosition,
|
|
70
|
+
influencerWidth = _ref.influencerWidth,
|
|
71
|
+
label = _ref.label,
|
|
72
|
+
navigation = _ref.navigation,
|
|
73
|
+
onClose = _ref.onClose,
|
|
74
|
+
open = _ref.open,
|
|
75
|
+
selectorPrimaryFocus = _ref.selectorPrimaryFocus,
|
|
76
|
+
size = _ref.size,
|
|
77
|
+
portalTargetIn = _ref.portalTarget,
|
|
78
|
+
title = _ref.title,
|
|
79
|
+
verticalPosition = _ref.verticalPosition,
|
|
80
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
|
77
81
|
// node the modal tearsheet is hosted in
|
|
78
82
|
var _useState = useState(null),
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
84
|
+
portalTarget = _useState2[0],
|
|
85
|
+
setPortalTarget = _useState2[1];
|
|
83
86
|
useEffect(function () {
|
|
84
87
|
if (portalTargetIn) {
|
|
85
88
|
setPortalTarget(portalTargetIn);
|
|
@@ -91,91 +94,89 @@ export var TearsheetShell = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
91
94
|
}, [portalTargetIn]);
|
|
92
95
|
var localRef = useRef();
|
|
93
96
|
var modalRef = ref || localRef;
|
|
94
|
-
|
|
95
97
|
var _useResizeDetector = useResizeDetector({
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
98
|
+
handleHeight: false
|
|
99
|
+
}),
|
|
100
|
+
width = _useResizeDetector.width,
|
|
101
|
+
resizer = _useResizeDetector.ref;
|
|
101
102
|
|
|
103
|
+
// Keep track of the stack depth and our position in it (1-based, 0=closed)
|
|
102
104
|
var _useState3 = useState(0),
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
105
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
106
|
+
depth = _useState4[0],
|
|
107
|
+
setDepth = _useState4[1];
|
|
107
108
|
var _useState5 = useState(0),
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
109
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
110
|
+
position = _useState6[0],
|
|
111
|
+
setPosition = _useState6[1];
|
|
112
112
|
|
|
113
|
+
// Keep a record of the previous value of depth.
|
|
113
114
|
var prevDepth = useRef();
|
|
114
115
|
useEffect(function () {
|
|
115
116
|
prevDepth.current = depth;
|
|
116
|
-
});
|
|
117
|
+
});
|
|
117
118
|
|
|
119
|
+
// A "passive" tearsheet is one with no navigation actions.
|
|
118
120
|
var isPassive = tearsheetIsPassive(actions);
|
|
119
|
-
var effectiveHasCloseIcon = tearsheetHasCloseIcon(actions, hasCloseIcon);
|
|
120
|
-
// position is 1-based with 0 indicating closed.
|
|
121
|
+
var effectiveHasCloseIcon = tearsheetHasCloseIcon(actions, hasCloseIcon);
|
|
121
122
|
|
|
123
|
+
// Callback that will be called whenever the stacking order changes.
|
|
124
|
+
// position is 1-based with 0 indicating closed.
|
|
122
125
|
function handleStackChange(newDepth, newPosition) {
|
|
123
126
|
setDepth(newDepth);
|
|
124
127
|
setPosition(newPosition);
|
|
125
128
|
}
|
|
126
|
-
|
|
127
129
|
handleStackChange.checkFocus = function () {
|
|
128
130
|
// if we are now the topmost tearsheet, ensure we have focus
|
|
129
131
|
if (position === depth && modalRef.current && !modalRef.current.innerModal.current.contains(document.activeElement)) {
|
|
130
132
|
handleStackChange.claimFocus();
|
|
131
133
|
}
|
|
132
|
-
};
|
|
133
|
-
|
|
134
|
+
};
|
|
134
135
|
|
|
136
|
+
// Callback to give the tearsheet the opportunity to claim focus
|
|
135
137
|
handleStackChange.claimFocus = function () {
|
|
136
138
|
var element = selectorPrimaryFocus ? modalRef.current.innerModal.current.querySelector(selectorPrimaryFocus) : modalRef.current.startSentinel.current;
|
|
137
139
|
setTimeout(function () {
|
|
138
140
|
return element.focus();
|
|
139
141
|
}, 1);
|
|
140
142
|
};
|
|
141
|
-
|
|
142
143
|
useEffect(function () {
|
|
143
144
|
var notify = function notify() {
|
|
144
145
|
return stack.all.forEach(function (handler) {
|
|
145
146
|
handler(Math.min(stack.open.length, maxDepth), stack.open.indexOf(handler) + 1);
|
|
146
147
|
handler.checkFocus();
|
|
147
148
|
});
|
|
148
|
-
};
|
|
149
|
+
};
|
|
149
150
|
|
|
151
|
+
// Register this tearsheet's stack change callback/listener.
|
|
152
|
+
stack.all.push(handleStackChange);
|
|
150
153
|
|
|
151
|
-
|
|
154
|
+
// If the tearsheet is mounting with open=true or open is changing from
|
|
152
155
|
// false to true to open it then append its notification callback to
|
|
153
156
|
// the end of the stack array (as its ID), and call all the callbacks
|
|
154
157
|
// to notify all open tearsheets that the stacking has changed.
|
|
155
|
-
|
|
156
158
|
if (open) {
|
|
157
159
|
stack.open.push(handleStackChange);
|
|
158
160
|
notify();
|
|
159
|
-
}
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
// Cleanup function called whenever the tearsheet unmounts or the open
|
|
160
164
|
// prop changes value (in which case it is called prior to this hook
|
|
161
165
|
// being called again).
|
|
162
|
-
|
|
163
|
-
|
|
164
166
|
return function cleanup() {
|
|
165
167
|
// Remove the notification callback from the all handlers array.
|
|
166
|
-
stack.all.splice(stack.all.indexOf(handleStackChange), 1);
|
|
168
|
+
stack.all.splice(stack.all.indexOf(handleStackChange), 1);
|
|
169
|
+
|
|
170
|
+
// Remove the notification callback from the open handlers array, if
|
|
167
171
|
// it's there, and notify all open tearsheets that the stacking has
|
|
168
172
|
// changed (only necessary if this tearsheet was open).
|
|
169
|
-
|
|
170
173
|
var openIndex = stack.open.indexOf(handleStackChange);
|
|
171
|
-
|
|
172
174
|
if (openIndex >= 0) {
|
|
173
175
|
stack.open.splice(openIndex, 1);
|
|
174
176
|
notify();
|
|
175
177
|
}
|
|
176
178
|
};
|
|
177
179
|
}, [open]);
|
|
178
|
-
|
|
179
180
|
function handleFocus() {
|
|
180
181
|
// If something within us is receiving focus but we are not the topmost
|
|
181
182
|
// stacked tearsheet, transfer focus to the topmost tearsheet instead
|
|
@@ -183,21 +184,21 @@ export var TearsheetShell = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
183
184
|
stack.open[stack.open.length - 1].claimFocus();
|
|
184
185
|
}
|
|
185
186
|
}
|
|
186
|
-
|
|
187
187
|
if (position <= depth) {
|
|
188
188
|
var _cx, _ref2, _cx3, _cx5, _cx6;
|
|
189
|
-
|
|
190
189
|
// Include a modal header if and only if one or more of these is given.
|
|
191
190
|
// We can't use a Wrap for the ModalHeader because ComposedModal requires
|
|
192
191
|
// the direct child to be the ModalHeader instance.
|
|
193
|
-
var includeHeader = label || title || description || headerActions || navigation || effectiveHasCloseIcon;
|
|
192
|
+
var includeHeader = label || title || description || headerActions || navigation || effectiveHasCloseIcon;
|
|
194
193
|
|
|
194
|
+
// Include an ActionSet if and only if one or more actions is given.
|
|
195
195
|
var includeActions = actions && (actions === null || actions === void 0 ? void 0 : actions.length) > 0;
|
|
196
196
|
return (portalTarget ? createPortal : function (children) {
|
|
197
197
|
return children;
|
|
198
198
|
})( /*#__PURE__*/React.createElement(ComposedModal, _extends({}, rest, {
|
|
199
199
|
"aria-label": title,
|
|
200
|
-
className: cx(bc, className, (_cx = {}, _defineProperty(_cx, "".concat(bc, "--stacked-").concat(position, "-of-").concat(depth),
|
|
200
|
+
className: cx(bc, className, (_cx = {}, _defineProperty(_cx, "".concat(bc, "--stacked-").concat(position, "-of-").concat(depth),
|
|
201
|
+
// Don't apply this on the initial open of a single tearsheet.
|
|
201
202
|
depth > 1 || depth === 1 && prevDepth.current > 1), _defineProperty(_cx, "".concat(bc, "--wide"), size === 'wide'), _defineProperty(_cx, "".concat(bc, "--narrow"), size !== 'wide'), _cx)),
|
|
202
203
|
style: (_ref2 = {}, _defineProperty(_ref2, "--".concat(bc, "--stacking-scale-factor-single"), (width - 32) / width), _defineProperty(_ref2, "--".concat(bc, "--stacking-scale-factor-double"), (width - 64) / width), _ref2),
|
|
203
204
|
containerClassName: cx("".concat(bc, "__container"), _defineProperty({}, "".concat(bc, "__container--lower"), verticalPosition === 'lower')),
|
|
@@ -261,9 +262,10 @@ export var TearsheetShell = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
261
262
|
pconsole.warn('Tearsheet not rendered: maximum stacking depth exceeded.');
|
|
262
263
|
return null;
|
|
263
264
|
}
|
|
264
|
-
});
|
|
265
|
-
// is used in preference to relying on function.name.
|
|
265
|
+
});
|
|
266
266
|
|
|
267
|
+
// The display name of the component, used by React. Note that displayName
|
|
268
|
+
// is used in preference to relying on function.name.
|
|
267
269
|
TearsheetShell.displayName = componentName;
|
|
268
270
|
export var deprecatedProps = {
|
|
269
271
|
/**
|
|
@@ -276,12 +278,14 @@ export var deprecatedProps = {
|
|
|
276
278
|
* to allow an action bar navigation or breadcrumbs to also show through.
|
|
277
279
|
*/
|
|
278
280
|
verticalPosition: PropTypes.oneOf(['normal', 'lower'])
|
|
279
|
-
};
|
|
281
|
+
};
|
|
282
|
+
|
|
283
|
+
// The types and DocGen commentary for the component props,
|
|
280
284
|
// in alphabetical order (for consistency).
|
|
281
285
|
// See https://www.npmjs.com/package/prop-types#usage.
|
|
286
|
+
|
|
282
287
|
// Note that the descriptions here should be kept in sync with those for the
|
|
283
288
|
// corresponding props for Tearsheet and TearsheetNarrow components.
|
|
284
|
-
|
|
285
289
|
TearsheetShell.propTypes = _objectSpread({
|
|
286
290
|
/**
|
|
287
291
|
* The actions to be shown as buttons in the action area at the bottom of the
|
|
@@ -296,7 +300,8 @@ TearsheetShell.propTypes = _objectSpread({
|
|
|
296
300
|
*
|
|
297
301
|
* See https://react.carbondesignsystem.com/?path=/docs/components-button--default#component-api
|
|
298
302
|
*/
|
|
299
|
-
actions: PropTypes.arrayOf(
|
|
303
|
+
actions: PropTypes.arrayOf(
|
|
304
|
+
// NB we don't include the validator here, as the component wrapping this
|
|
300
305
|
// one should ensure appropriate validation is done.
|
|
301
306
|
PropTypes.shape(_objectSpread(_objectSpread({}, Button.propTypes), {}, {
|
|
302
307
|
kind: PropTypes.oneOf(['ghost', 'danger--ghost', 'secondary', 'danger', 'primary']),
|
|
@@ -305,17 +310,14 @@ TearsheetShell.propTypes = _objectSpread({
|
|
|
305
310
|
// we duplicate this Button prop to improve the DocGen here
|
|
306
311
|
onClick: Button.propTypes.onClick
|
|
307
312
|
}))),
|
|
308
|
-
|
|
309
313
|
/**
|
|
310
314
|
* The main content of the tearsheet.
|
|
311
315
|
*/
|
|
312
316
|
children: PropTypes.node,
|
|
313
|
-
|
|
314
317
|
/**
|
|
315
318
|
* An optional class or classes to be added to the outermost element.
|
|
316
319
|
*/
|
|
317
320
|
className: PropTypes.string,
|
|
318
|
-
|
|
319
321
|
/**
|
|
320
322
|
* The accessibility title for the close icon (if shown).
|
|
321
323
|
*
|
|
@@ -324,15 +326,13 @@ TearsheetShell.propTypes = _objectSpread({
|
|
|
324
326
|
*/
|
|
325
327
|
closeIconDescription: PropTypes.string.isRequired.if(function (_ref3) {
|
|
326
328
|
var actions = _ref3.actions,
|
|
327
|
-
|
|
329
|
+
hasCloseIcon = _ref3.hasCloseIcon;
|
|
328
330
|
return tearsheetHasCloseIcon(actions, hasCloseIcon);
|
|
329
331
|
}),
|
|
330
|
-
|
|
331
332
|
/**
|
|
332
333
|
* A description of the flow, displayed in the header area of the tearsheet.
|
|
333
334
|
*/
|
|
334
335
|
description: PropTypes.node,
|
|
335
|
-
|
|
336
336
|
/**
|
|
337
337
|
* Enable a close icon ('x') in the header area of the tearsheet. By default,
|
|
338
338
|
* (when this prop is omitted, or undefined or null) a tearsheet does not
|
|
@@ -342,7 +342,6 @@ TearsheetShell.propTypes = _objectSpread({
|
|
|
342
342
|
* this prop to either true or false.
|
|
343
343
|
*/
|
|
344
344
|
hasCloseIcon: PropTypes.bool,
|
|
345
|
-
|
|
346
345
|
/**
|
|
347
346
|
* The content for the header actions area, displayed alongside the title in
|
|
348
347
|
* the header area of the tearsheet. This is typically a drop-down, or a set
|
|
@@ -350,7 +349,6 @@ TearsheetShell.propTypes = _objectSpread({
|
|
|
350
349
|
* wide tearsheets.
|
|
351
350
|
*/
|
|
352
351
|
headerActions: PropTypes.element,
|
|
353
|
-
|
|
354
352
|
/**
|
|
355
353
|
* The content for the influencer section of the tearsheet, displayed
|
|
356
354
|
* alongside the main content. This is typically a menu, or filter, or
|
|
@@ -358,54 +356,45 @@ TearsheetShell.propTypes = _objectSpread({
|
|
|
358
356
|
* wide tearsheets.
|
|
359
357
|
*/
|
|
360
358
|
influencer: PropTypes.element,
|
|
361
|
-
|
|
362
359
|
/**
|
|
363
360
|
* The position of the influencer section, 'left' or 'right'.
|
|
364
361
|
*/
|
|
365
362
|
influencerPosition: PropTypes.oneOf(['left', 'right']),
|
|
366
|
-
|
|
367
363
|
/**
|
|
368
364
|
* The width of the influencer: 'narrow' (the default) is 256px, and 'wide'
|
|
369
365
|
* is 320px.
|
|
370
366
|
*/
|
|
371
367
|
influencerWidth: PropTypes.oneOf(['narrow', 'wide']),
|
|
372
|
-
|
|
373
368
|
/**
|
|
374
369
|
* A label for the tearsheet, displayed in the header area of the tearsheet
|
|
375
370
|
* to maintain context for the tearsheet (e.g. as the title changes from page
|
|
376
371
|
* to page of a multi-page task).
|
|
377
372
|
*/
|
|
378
373
|
label: PropTypes.node,
|
|
379
|
-
|
|
380
374
|
/**
|
|
381
375
|
* Navigation content, such as a set of tabs, to be displayed at the bottom
|
|
382
376
|
* of the header area of the tearsheet. NB the navigation is only applicable
|
|
383
377
|
* for wide tearsheets.
|
|
384
378
|
*/
|
|
385
379
|
navigation: PropTypes.element,
|
|
386
|
-
|
|
387
380
|
/**
|
|
388
381
|
* An optional handler that is called when the user closes the tearsheet (by
|
|
389
382
|
* clicking the close button, if enabled, or clicking outside, if enabled).
|
|
390
383
|
* Returning `false` here prevents the modal from closing.
|
|
391
384
|
*/
|
|
392
385
|
onClose: PropTypes.func,
|
|
393
|
-
|
|
394
386
|
/**
|
|
395
387
|
* Specifies whether the tearsheet is currently open.
|
|
396
388
|
*/
|
|
397
389
|
open: PropTypes.bool,
|
|
398
|
-
|
|
399
390
|
/**
|
|
400
391
|
* portal target for the all tags modal
|
|
401
392
|
*/
|
|
402
393
|
portalTarget: PropTypes.node,
|
|
403
|
-
|
|
404
394
|
/**
|
|
405
395
|
* Specifies the width of the tearsheet, 'narrow' or 'wide'.
|
|
406
396
|
*/
|
|
407
397
|
size: PropTypes.oneOf(['narrow', 'wide']).isRequired,
|
|
408
|
-
|
|
409
398
|
/**
|
|
410
399
|
* The main title of the tearsheet, displayed in the header area.
|
|
411
400
|
*/
|
|
@@ -3,44 +3,39 @@ 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 = ["children", "className", "vertical"];
|
|
6
|
-
|
|
7
6
|
/**
|
|
8
7
|
* Copyright IBM Corp. 2021, 2022
|
|
9
8
|
*
|
|
10
9
|
* This source code is licensed under the Apache-2.0 license found in the
|
|
11
10
|
* LICENSE file in the root directory of this source tree.
|
|
12
11
|
*/
|
|
12
|
+
|
|
13
13
|
import cx from 'classnames';
|
|
14
14
|
import { bool, node, string } from 'prop-types';
|
|
15
15
|
import React, { createContext, forwardRef, useCallback, useEffect, useRef, useState } from 'react';
|
|
16
16
|
import { getFocusableElements as _getFocusableElements } from '../../global/js/utils/getFocusableElements';
|
|
17
17
|
import { pkg } from '../../settings';
|
|
18
18
|
var checkComponentEnabled = pkg.checkComponentEnabled,
|
|
19
|
-
|
|
19
|
+
prefix = pkg.prefix;
|
|
20
20
|
var blockClass = "".concat(prefix, "--toolbar");
|
|
21
21
|
var ToolbarContext = /*#__PURE__*/createContext();
|
|
22
|
-
/** Toolbars are a collection of action items that organize a program’s interaction patterns into a series of closely related commands. */
|
|
23
22
|
|
|
23
|
+
/** Toolbars are a collection of action items that organize a program’s interaction patterns into a series of closely related commands. */
|
|
24
24
|
var Toolbar = /*#__PURE__*/forwardRef(function (_ref2, r) {
|
|
25
25
|
var children = _ref2.children,
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
26
|
+
className = _ref2.className,
|
|
27
|
+
vertical = _ref2.vertical,
|
|
28
|
+
rest = _objectWithoutProperties(_ref2, _excluded);
|
|
30
29
|
var focusableElements = useRef();
|
|
31
30
|
var getFocusableElements = useCallback(function () {
|
|
32
31
|
return focusableElements.current;
|
|
33
32
|
}, [focusableElements]);
|
|
34
|
-
|
|
35
33
|
var _ref = useRef();
|
|
36
|
-
|
|
37
34
|
var ref = r || _ref;
|
|
38
|
-
|
|
39
35
|
var _useState = useState(),
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
36
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
37
|
+
focus = _useState2[0],
|
|
38
|
+
setFocus = _useState2[1];
|
|
44
39
|
useEffect(function () {
|
|
45
40
|
focusableElements.current = _getFocusableElements(ref.current);
|
|
46
41
|
typeof focus !== 'undefined' && getFocusableElements().forEach(function (element, index) {
|
|
@@ -50,40 +45,33 @@ var Toolbar = /*#__PURE__*/forwardRef(function (_ref2, r) {
|
|
|
50
45
|
useEffect(function () {
|
|
51
46
|
typeof focus !== 'undefined' && getFocusableElements()[focus].focus();
|
|
52
47
|
}, [focus, getFocusableElements]);
|
|
53
|
-
|
|
54
48
|
var _ref3 = !vertical ? ['ArrowRight', 'ArrowLeft'] : ['ArrowDown', 'ArrowUp'],
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
49
|
+
_ref4 = _slicedToArray(_ref3, 2),
|
|
50
|
+
arrowNext = _ref4[0],
|
|
51
|
+
arrowPrevious = _ref4[1];
|
|
59
52
|
function onArrowDown(increment) {
|
|
60
53
|
var nextFocus = focus + increment;
|
|
61
54
|
getFocusableElements()[nextFocus] && setFocus(nextFocus);
|
|
62
55
|
}
|
|
63
|
-
|
|
64
56
|
function onFocus(_ref5) {
|
|
65
57
|
var target = _ref5.target;
|
|
66
58
|
var elements = getFocusableElements();
|
|
67
59
|
elements.includes(target) && setFocus(elements.indexOf(target));
|
|
68
60
|
}
|
|
69
|
-
|
|
70
61
|
function onKeyDown(_ref6) {
|
|
71
62
|
var key = _ref6.key,
|
|
72
|
-
|
|
73
|
-
|
|
63
|
+
target = _ref6.target;
|
|
74
64
|
if (getFocusableElements().includes(target)) {
|
|
75
65
|
switch (key) {
|
|
76
66
|
case arrowNext:
|
|
77
67
|
onArrowDown(1);
|
|
78
68
|
break;
|
|
79
|
-
|
|
80
69
|
case arrowPrevious:
|
|
81
70
|
onArrowDown(-1);
|
|
82
71
|
break;
|
|
83
72
|
}
|
|
84
73
|
}
|
|
85
74
|
}
|
|
86
|
-
|
|
87
75
|
return /*#__PURE__*/React.createElement("div", _extends({}, rest, {
|
|
88
76
|
ref: ref,
|
|
89
77
|
className: cx(blockClass, className, _defineProperty({}, "".concat(blockClass, "--vertical"), vertical)),
|
|
@@ -104,10 +92,8 @@ Toolbar.displayName = componentName;
|
|
|
104
92
|
Toolbar.propTypes = {
|
|
105
93
|
/** Provide the content of the `Toolbar` */
|
|
106
94
|
children: node.isRequired,
|
|
107
|
-
|
|
108
95
|
/** Provide an optional class to be applied to the containing node */
|
|
109
96
|
className: string,
|
|
110
|
-
|
|
111
97
|
/** Determines whether the `Toolbar` is rendered vertically */
|
|
112
98
|
vertical: bool
|
|
113
99
|
};
|
|
@@ -2,13 +2,13 @@ import _extends from "@babel/runtime/helpers/extends";
|
|
|
2
2
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
3
3
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
4
4
|
var _excluded = ["caret", "children", "className"];
|
|
5
|
-
|
|
6
5
|
/**
|
|
7
6
|
* Copyright IBM Corp. 2021, 2021
|
|
8
7
|
*
|
|
9
8
|
* This source code is licensed under the Apache-2.0 license found in the
|
|
10
9
|
* LICENSE file in the root directory of this source tree.
|
|
11
10
|
*/
|
|
11
|
+
|
|
12
12
|
import { Button } from 'carbon-components-react';
|
|
13
13
|
import cx from 'classnames';
|
|
14
14
|
import { bool, node, string } from 'prop-types';
|
|
@@ -16,16 +16,14 @@ import React, { forwardRef, useContext } from 'react';
|
|
|
16
16
|
import { pkg } from '../../settings';
|
|
17
17
|
import { blockClass as toolbarClass, ToolbarContext } from './Toolbar';
|
|
18
18
|
var blockClass = "".concat(toolbarClass, "__button");
|
|
19
|
-
/** Toolbar buttons are common functions performed as part of a products interface or an open window. */
|
|
20
19
|
|
|
20
|
+
/** Toolbar buttons are common functions performed as part of a products interface or an open window. */
|
|
21
21
|
var ToolbarButton = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
22
22
|
var _useContext;
|
|
23
|
-
|
|
24
23
|
var caret = _ref.caret,
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
24
|
+
children = _ref.children,
|
|
25
|
+
className = _ref.className,
|
|
26
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
|
29
27
|
return /*#__PURE__*/React.createElement(Button, _extends({
|
|
30
28
|
tooltipPosition: ((_useContext = useContext(ToolbarContext)) === null || _useContext === void 0 ? void 0 : _useContext.vertical) && 'right'
|
|
31
29
|
}, rest, {
|
|
@@ -43,10 +41,8 @@ ToolbarButton.displayName = componentName;
|
|
|
43
41
|
ToolbarButton.propTypes = {
|
|
44
42
|
/** Determines whether the caret is rendered */
|
|
45
43
|
caret: bool,
|
|
46
|
-
|
|
47
44
|
/** Provide the content of the `ToolbarButton` */
|
|
48
45
|
children: node,
|
|
49
|
-
|
|
50
46
|
/** Provide an optional class to be applied to the containing node */
|
|
51
47
|
className: string
|
|
52
48
|
};
|
|
@@ -1,25 +1,24 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/extends";
|
|
2
2
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
3
|
var _excluded = ["className", "children"];
|
|
4
|
-
|
|
5
4
|
/**
|
|
6
5
|
* Copyright IBM Corp. 2021, 2021
|
|
7
6
|
*
|
|
8
7
|
* This source code is licensed under the Apache-2.0 license found in the
|
|
9
8
|
* LICENSE file in the root directory of this source tree.
|
|
10
9
|
*/
|
|
10
|
+
|
|
11
11
|
import cx from 'classnames';
|
|
12
12
|
import { node, string } from 'prop-types';
|
|
13
13
|
import React, { forwardRef } from 'react';
|
|
14
14
|
import { pkg } from '../../settings';
|
|
15
15
|
import { blockClass } from './Toolbar';
|
|
16
|
-
/** Toolbar groups organize the commands within a toolbar into related groups. */
|
|
17
16
|
|
|
17
|
+
/** Toolbar groups organize the commands within a toolbar into related groups. */
|
|
18
18
|
export var ToolbarGroup = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
19
19
|
var className = _ref.className,
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
20
|
+
children = _ref.children,
|
|
21
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
|
23
22
|
return /*#__PURE__*/React.createElement("div", _extends({}, rest, {
|
|
24
23
|
ref: ref,
|
|
25
24
|
className: cx("".concat(blockClass, "__group"), className)
|
|
@@ -30,7 +29,6 @@ ToolbarGroup.displayName = componentName;
|
|
|
30
29
|
ToolbarGroup.propTypes = {
|
|
31
30
|
/** Provide the content of the `ToolbarGroup` */
|
|
32
31
|
children: node.isRequired,
|
|
33
|
-
|
|
34
32
|
/** Provide an optional class to be applied to the containing node */
|
|
35
33
|
className: string
|
|
36
34
|
};
|
|
@@ -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 { Toolbar } from './Toolbar';
|
|
8
9
|
export { ToolbarButton } from './ToolbarButton';
|
|
9
10
|
export { ToolbarGroup } from './ToolbarGroup';
|