@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
|
@@ -1,17 +1,15 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/extends";
|
|
2
2
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
3
3
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
4
|
-
|
|
5
4
|
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; }
|
|
6
|
-
|
|
7
5
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
8
|
-
|
|
9
6
|
/**
|
|
10
7
|
* Copyright IBM Corp. 2022, 2022
|
|
11
8
|
*
|
|
12
9
|
* This source code is licensed under the Apache-2.0 license found in the
|
|
13
10
|
* LICENSE file in the root directory of this source tree.
|
|
14
11
|
*/
|
|
12
|
+
|
|
15
13
|
import React, { forwardRef, useEffect, useState } from 'react';
|
|
16
14
|
import PropTypes from 'prop-types';
|
|
17
15
|
import cx from 'classnames';
|
|
@@ -27,49 +25,44 @@ import { useSpreadsheetMouseMove } from './hooks';
|
|
|
27
25
|
var blockClass = "".concat(pkg.prefix, "--data-spreadsheet");
|
|
28
26
|
export var DataSpreadsheetHeader = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
29
27
|
var activeCellCoordinates = _ref.activeCellCoordinates,
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
28
|
+
cellSize = _ref.cellSize,
|
|
29
|
+
columns = _ref.columns,
|
|
30
|
+
currentMatcher = _ref.currentMatcher,
|
|
31
|
+
defaultColumn = _ref.defaultColumn,
|
|
32
|
+
headerGroups = _ref.headerGroups,
|
|
33
|
+
scrollBarSize = _ref.scrollBarSize,
|
|
34
|
+
selectionAreas = _ref.selectionAreas,
|
|
35
|
+
setActiveCellCoordinates = _ref.setActiveCellCoordinates,
|
|
36
|
+
setCurrentMatcher = _ref.setCurrentMatcher,
|
|
37
|
+
setSelectionAreas = _ref.setSelectionAreas,
|
|
38
|
+
setSelectionAreaData = _ref.setSelectionAreaData,
|
|
39
|
+
rows = _ref.rows,
|
|
40
|
+
totalVisibleColumns = _ref.totalVisibleColumns,
|
|
41
|
+
updateActiveCellCoordinates = _ref.updateActiveCellCoordinates,
|
|
42
|
+
setHeaderCellHoldActive = _ref.setHeaderCellHoldActive,
|
|
43
|
+
headerCellHoldActive = _ref.headerCellHoldActive,
|
|
44
|
+
selectAllAriaLabel = _ref.selectAllAriaLabel,
|
|
45
|
+
visibleColumns = _ref.visibleColumns;
|
|
49
46
|
var _useState = useState(0),
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
47
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
48
|
+
scrollBarSizeValue = _useState2[0],
|
|
49
|
+
setScrollBarSizeValue = _useState2[1];
|
|
54
50
|
var _useState3 = useState(false),
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
51
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
52
|
+
selectedHeaderReorderActive = _useState4[0],
|
|
53
|
+
setSelectedHeaderReorderActive = _useState4[1];
|
|
59
54
|
var previousState = usePreviousValue({
|
|
60
55
|
cellSize: cellSize
|
|
61
56
|
});
|
|
62
57
|
useEffect(function () {
|
|
63
58
|
if ((previousState === null || previousState === void 0 ? void 0 : previousState.cellSize) !== cellSize) {
|
|
64
59
|
var _ref$current;
|
|
65
|
-
|
|
66
60
|
var scrollContainer = ref === null || ref === void 0 ? void 0 : (_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.querySelector(".".concat(blockClass, "__list--container"));
|
|
67
61
|
var hasScrollBar = (scrollContainer === null || scrollContainer === void 0 ? void 0 : scrollContainer.scrollHeight) > (scrollContainer === null || scrollContainer === void 0 ? void 0 : scrollContainer.clientHeight);
|
|
68
62
|
var scrollBarValue = hasScrollBar ? 0 : scrollBarSize;
|
|
69
63
|
setScrollBarSizeValue(scrollBarValue);
|
|
70
64
|
}
|
|
71
65
|
}, [cellSize, ref, scrollBarSize, previousState === null || previousState === void 0 ? void 0 : previousState.cellSize]);
|
|
72
|
-
|
|
73
66
|
var handleColumnHeaderClick = function handleColumnHeaderClick(index) {
|
|
74
67
|
return function (event) {
|
|
75
68
|
var isHoldingCommandKey = event.metaKey || event.ctrlKey;
|
|
@@ -91,7 +84,6 @@ export var DataSpreadsheetHeader = /*#__PURE__*/forwardRef(function (_ref, ref)
|
|
|
91
84
|
});
|
|
92
85
|
};
|
|
93
86
|
};
|
|
94
|
-
|
|
95
87
|
var handleSelectAllClick = function handleSelectAllClick() {
|
|
96
88
|
selectAllCells({
|
|
97
89
|
ref: ref,
|
|
@@ -103,16 +95,13 @@ export var DataSpreadsheetHeader = /*#__PURE__*/forwardRef(function (_ref, ref)
|
|
|
103
95
|
updateActiveCellCoordinates: updateActiveCellCoordinates
|
|
104
96
|
});
|
|
105
97
|
};
|
|
106
|
-
|
|
107
98
|
var handleHeaderMouseDown = function handleHeaderMouseDown(index) {
|
|
108
99
|
return function (event) {
|
|
109
100
|
var _selectionAreaToClone;
|
|
110
|
-
|
|
111
101
|
if (event.shiftKey) {
|
|
112
102
|
// Remove columns, need to call handleHeaderCellSelection
|
|
113
103
|
return;
|
|
114
104
|
}
|
|
115
|
-
|
|
116
105
|
setSelectedHeaderReorderActive(true);
|
|
117
106
|
var selectionAreaToClone = selectionAreas.filter(function (item) {
|
|
118
107
|
return (item === null || item === void 0 ? void 0 : item.matcher) === currentMatcher;
|
|
@@ -138,7 +127,6 @@ export var DataSpreadsheetHeader = /*#__PURE__*/forwardRef(function (_ref, ref)
|
|
|
138
127
|
setHeaderCellHoldActive(true);
|
|
139
128
|
};
|
|
140
129
|
};
|
|
141
|
-
|
|
142
130
|
useSpreadsheetMouseMove({
|
|
143
131
|
ref: ref,
|
|
144
132
|
headerCellHoldActive: headerCellHoldActive,
|
|
@@ -181,7 +169,6 @@ export var DataSpreadsheetHeader = /*#__PURE__*/forwardRef(function (_ref, ref)
|
|
|
181
169
|
className: cx("".concat(blockClass, "__th"), "".concat(blockClass, "--interactive-cell-element"), "".concat(blockClass, "__th--select-all"), _defineProperty({}, "".concat(blockClass, "__th--active-header"), (activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.column) === 'header' && (activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.row) === 'header'))
|
|
182
170
|
}, "\xA0")), headerGroup.headers.map(function (column, index) {
|
|
183
171
|
var _cx2;
|
|
184
|
-
|
|
185
172
|
var selectedHeader = checkSelectedHeaderCell(index, selectionAreas, 'column', rows);
|
|
186
173
|
return /*#__PURE__*/React.createElement("div", _extends({
|
|
187
174
|
key: "column_".concat(index),
|
|
@@ -215,22 +202,18 @@ DataSpreadsheetHeader.propTypes = {
|
|
|
215
202
|
row: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
|
|
216
203
|
column: PropTypes.oneOfType([PropTypes.number, PropTypes.string])
|
|
217
204
|
}),
|
|
218
|
-
|
|
219
205
|
/**
|
|
220
206
|
* Specifies the cell height
|
|
221
207
|
*/
|
|
222
208
|
cellSize: PropTypes.oneOf(['xs', 'sm', 'md', 'lg']),
|
|
223
|
-
|
|
224
209
|
/**
|
|
225
210
|
* All of the spreadsheet columns
|
|
226
211
|
*/
|
|
227
212
|
columns: PropTypes.array,
|
|
228
|
-
|
|
229
213
|
/**
|
|
230
214
|
* uuid that corresponds to the current selection area
|
|
231
215
|
*/
|
|
232
216
|
currentMatcher: PropTypes.string,
|
|
233
|
-
|
|
234
217
|
/**
|
|
235
218
|
* Default spreadsheet sizing values
|
|
236
219
|
*/
|
|
@@ -239,73 +222,59 @@ DataSpreadsheetHeader.propTypes = {
|
|
|
239
222
|
rowHeaderWidth: PropTypes.number,
|
|
240
223
|
width: PropTypes.number
|
|
241
224
|
}),
|
|
242
|
-
|
|
243
225
|
/**
|
|
244
226
|
* Whether or not a click/hold is active on a header cell
|
|
245
227
|
*/
|
|
246
228
|
headerCellHoldActive: PropTypes.bool,
|
|
247
|
-
|
|
248
229
|
/**
|
|
249
230
|
* Headers provided from useTable hook
|
|
250
231
|
*/
|
|
251
232
|
headerGroups: PropTypes.arrayOf(PropTypes.object),
|
|
252
|
-
|
|
253
233
|
/**
|
|
254
234
|
* All of the spreadsheet row data
|
|
255
235
|
*/
|
|
256
236
|
rows: PropTypes.arrayOf(PropTypes.object),
|
|
257
|
-
|
|
258
237
|
/**
|
|
259
238
|
* The scrollbar width
|
|
260
239
|
*/
|
|
261
240
|
scrollBarSize: PropTypes.number,
|
|
262
|
-
|
|
263
241
|
/**
|
|
264
242
|
* The aria label applied to the Select all button
|
|
265
243
|
*/
|
|
266
244
|
selectAllAriaLabel: PropTypes.string.isRequired,
|
|
267
|
-
|
|
268
245
|
/**
|
|
269
246
|
* All of the cell selection area items
|
|
270
247
|
*/
|
|
271
248
|
selectionAreas: PropTypes.arrayOf(PropTypes.object),
|
|
272
|
-
|
|
273
249
|
/**
|
|
274
250
|
* Setter fn for activeCellCoordinates value
|
|
275
251
|
*/
|
|
276
252
|
setActiveCellCoordinates: PropTypes.func,
|
|
277
|
-
|
|
278
253
|
/**
|
|
279
254
|
* Setter fn for currentMatcher value
|
|
280
255
|
*/
|
|
281
256
|
setCurrentMatcher: PropTypes.func,
|
|
282
|
-
|
|
283
257
|
/**
|
|
284
258
|
* Setter fn for header cell hold active value
|
|
285
259
|
*/
|
|
286
260
|
setHeaderCellHoldActive: PropTypes.func,
|
|
287
|
-
|
|
288
261
|
/**
|
|
289
262
|
* Setter fn for selectionAreaData state value
|
|
290
263
|
*/
|
|
291
264
|
setSelectionAreaData: PropTypes.func,
|
|
292
|
-
|
|
293
265
|
/**
|
|
294
266
|
* Setter fn for selectionAreas value
|
|
295
267
|
*/
|
|
296
268
|
setSelectionAreas: PropTypes.func,
|
|
297
|
-
|
|
298
269
|
/**
|
|
299
270
|
* The total number of columns to be initially visible, additional columns will be rendered and
|
|
300
271
|
* visible via horizontal scrollbar
|
|
301
272
|
*/
|
|
302
273
|
totalVisibleColumns: PropTypes.number,
|
|
303
|
-
|
|
304
274
|
/**
|
|
305
275
|
* Function used to update the active cell coordinates
|
|
306
276
|
*/
|
|
307
277
|
updateActiveCellCoordinates: PropTypes.func,
|
|
308
|
-
|
|
309
278
|
/**
|
|
310
279
|
* Array of visible columns provided by react-table useTable hook
|
|
311
280
|
*/
|
|
@@ -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 { useMoveActiveCell } from './useMoveActiveCell';
|
|
8
9
|
export { useMultipleKeyTracking } from './useMultipleKeyTracking';
|
|
9
10
|
export { useResetSpreadsheetFocus } from './useResetSpreadsheetFocus';
|
|
@@ -4,18 +4,19 @@
|
|
|
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
|
-
import { useEffect } from 'react'; // Moves the placement of the active cell
|
|
8
7
|
|
|
8
|
+
import { useEffect } from 'react';
|
|
9
|
+
|
|
10
|
+
// Moves the placement of the active cell
|
|
9
11
|
export var useMoveActiveCell = function useMoveActiveCell(_ref) {
|
|
10
12
|
var spreadsheetRef = _ref.spreadsheetRef,
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
13
|
+
activeCellCoordinates = _ref.activeCellCoordinates,
|
|
14
|
+
containerHasFocus = _ref.containerHasFocus,
|
|
15
|
+
createActiveCell = _ref.createActiveCell;
|
|
14
16
|
useEffect(function () {
|
|
15
17
|
var activeCellPlacementElement = spreadsheetRef === null || spreadsheetRef === void 0 ? void 0 : spreadsheetRef.current.querySelector("[data-row-index=\"".concat(activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.row, "\"][data-column-index=\"").concat(activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.column, "\"]"));
|
|
16
18
|
var shouldPlaceActiveCellInHeader = (activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.row) === 'header' && true;
|
|
17
19
|
var selectAllElement = spreadsheetRef === null || spreadsheetRef === void 0 ? void 0 : spreadsheetRef.current.querySelector("[data-row-index=\"header\"][data-column-index=\"header\"]");
|
|
18
|
-
|
|
19
20
|
if (containerHasFocus) {
|
|
20
21
|
createActiveCell({
|
|
21
22
|
placementElement: activeCellCoordinates ? activeCellPlacementElement : selectAllElement,
|
|
@@ -1,66 +1,56 @@
|
|
|
1
1
|
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
|
2
2
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
3
|
-
|
|
4
3
|
/**
|
|
5
4
|
* Copyright IBM Corp. 2022, 2022
|
|
6
5
|
*
|
|
7
6
|
* This source code is licensed under the Apache-2.0 license found in the
|
|
8
7
|
* LICENSE file in the root directory of this source tree.
|
|
9
8
|
*/
|
|
9
|
+
|
|
10
10
|
import { useEffect, useState } from 'react';
|
|
11
11
|
import { usePreviousValue } from '../../../global/js/hooks';
|
|
12
12
|
import { includesResourceKey } from '../utils/handleMultipleKeys';
|
|
13
|
-
|
|
14
13
|
var hasFocus = function hasFocus() {
|
|
15
14
|
return typeof document !== 'undefined' && document.hasFocus();
|
|
16
15
|
};
|
|
17
|
-
|
|
18
16
|
export var useMultipleKeyTracking = function useMultipleKeyTracking(_ref) {
|
|
19
17
|
var ref = _ref.ref,
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
18
|
+
containerHasFocus = _ref.containerHasFocus,
|
|
19
|
+
isEditing = _ref.isEditing;
|
|
23
20
|
var _useState = useState(''),
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
21
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
22
|
+
usingMac = _useState2[0],
|
|
23
|
+
setUsingMac = _useState2[1];
|
|
28
24
|
var _useState3 = useState(hasFocus),
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
25
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
26
|
+
windowFocused = _useState4[0],
|
|
27
|
+
setWindowFocused = _useState4[1];
|
|
33
28
|
var _useState5 = useState([]),
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
29
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
30
|
+
keysPressedList = _useState6[0],
|
|
31
|
+
setKeysPressedList = _useState6[1];
|
|
38
32
|
var previousState = usePreviousValue({
|
|
39
33
|
isEditing: isEditing,
|
|
40
34
|
windowFocused: windowFocused,
|
|
41
35
|
containerHasFocus: containerHasFocus
|
|
42
|
-
});
|
|
43
|
-
// we need to clear out the keysPressedList
|
|
36
|
+
});
|
|
44
37
|
|
|
38
|
+
// useEffect to check for window focus, if window loses focus
|
|
39
|
+
// we need to clear out the keysPressedList
|
|
45
40
|
useEffect(function () {
|
|
46
41
|
var userAgentString = window.navigator.userAgent;
|
|
47
|
-
|
|
48
42
|
if (userAgentString.includes('Macintosh')) {
|
|
49
43
|
setUsingMac(true);
|
|
50
44
|
} else {
|
|
51
45
|
setUsingMac(false);
|
|
52
46
|
}
|
|
53
|
-
|
|
54
47
|
setWindowFocused(hasFocus());
|
|
55
|
-
|
|
56
48
|
var onWindowFocus = function onWindowFocus() {
|
|
57
49
|
return setWindowFocused(true);
|
|
58
50
|
};
|
|
59
|
-
|
|
60
51
|
var onWindowBlur = function onWindowBlur() {
|
|
61
52
|
return setWindowFocused(false);
|
|
62
53
|
};
|
|
63
|
-
|
|
64
54
|
window.addEventListener('focus', onWindowFocus);
|
|
65
55
|
window.addEventListener('blur', onWindowBlur);
|
|
66
56
|
return function () {
|
|
@@ -76,57 +66,46 @@ export var useMultipleKeyTracking = function useMultipleKeyTracking(_ref) {
|
|
|
76
66
|
// Prevent multiple keys of the same type being added to our keysPressedList array
|
|
77
67
|
if (keysPressedList.includes(event.code)) {
|
|
78
68
|
return;
|
|
79
|
-
}
|
|
69
|
+
}
|
|
70
|
+
// Because keyup events are lost when using the Command key
|
|
80
71
|
// we need to remove the previously pressed keys so that we
|
|
81
72
|
// do not have keys in the pressed list that should not be
|
|
82
|
-
|
|
83
|
-
|
|
84
73
|
if (includesResourceKey(keysPressedList, usingMac) && keysPressedList.length > 1) {
|
|
85
74
|
var clonedKeys = _toConsumableArray(keysPressedList);
|
|
86
|
-
|
|
87
75
|
var filteredClonedKeys = clonedKeys.filter(function (item) {
|
|
88
76
|
return item === 'MetaLeft' || item === 'MetaRight';
|
|
89
77
|
});
|
|
90
78
|
filteredClonedKeys.push(event.code);
|
|
91
79
|
return setKeysPressedList(_toConsumableArray(new Set(filteredClonedKeys)));
|
|
92
80
|
}
|
|
93
|
-
|
|
94
81
|
var tempKeys = _toConsumableArray(keysPressedList);
|
|
95
|
-
|
|
96
82
|
tempKeys.push(event.code);
|
|
97
83
|
setKeysPressedList(_toConsumableArray(new Set(tempKeys)));
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
|
|
84
|
+
}
|
|
85
|
+
// If keyup, we will remove the key from the keysPressedList array
|
|
101
86
|
if (event.type === 'keyup') {
|
|
102
87
|
var _tempKeys = _toConsumableArray(keysPressedList);
|
|
103
|
-
|
|
104
88
|
var filteredClone = _tempKeys.filter(function (item) {
|
|
105
89
|
return item !== event.code;
|
|
106
|
-
});
|
|
90
|
+
});
|
|
91
|
+
// Keyup events are lost on all other keys if a Meta key is used
|
|
107
92
|
// so to work around this behavior, we empty out all other keys
|
|
108
93
|
// from the keysPressedList array if we detect a Meta keyup event
|
|
109
|
-
|
|
110
|
-
|
|
111
94
|
if (event.code === 'MetaLeft' || event.code === 'MetaRight') {
|
|
112
95
|
return setKeysPressedList([]);
|
|
113
96
|
}
|
|
114
|
-
|
|
115
97
|
setKeysPressedList(_toConsumableArray(new Set(filteredClone)));
|
|
116
98
|
}
|
|
117
99
|
};
|
|
118
100
|
}
|
|
119
|
-
|
|
120
101
|
if (previousState !== null && previousState !== void 0 && previousState.windowFocused && !windowFocused) {
|
|
121
102
|
setKeysPressedList([]);
|
|
122
|
-
}
|
|
103
|
+
}
|
|
104
|
+
// Remove handlers if the spreadsheet container loses focus
|
|
123
105
|
// or is currently in edit mode
|
|
124
|
-
|
|
125
|
-
|
|
126
106
|
if (ref && !containerHasFocus || isEditing) {
|
|
127
107
|
ref.current.onkeydown = undefined;
|
|
128
108
|
ref.current.onkeyup = undefined;
|
|
129
|
-
|
|
130
109
|
if (!(previousState !== null && previousState !== void 0 && previousState.isEditing) && isEditing || previousState !== null && previousState !== void 0 && previousState.containerHasFocus && !containerHasFocus) {
|
|
131
110
|
setKeysPressedList([]);
|
|
132
111
|
}
|
|
@@ -4,21 +4,21 @@
|
|
|
4
4
|
* This source code is licensed under the Apache-2.0 license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
|
+
|
|
7
8
|
import { useEffect } from 'react';
|
|
8
9
|
import { pkg } from '../../../settings';
|
|
9
10
|
export var useResetSpreadsheetFocus = function useResetSpreadsheetFocus(_ref) {
|
|
10
11
|
var _ref$blockClass = _ref.blockClass,
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
blockClass = _ref$blockClass === void 0 ? "".concat(pkg.prefix, "--data-spreadsheet") : _ref$blockClass,
|
|
13
|
+
focusedElement = _ref.focusedElement,
|
|
14
|
+
removeActiveCell = _ref.removeActiveCell,
|
|
15
|
+
setContainerHasFocus = _ref.setContainerHasFocus;
|
|
15
16
|
// Reset everything when spreadsheet loses focus
|
|
16
17
|
useEffect(function () {
|
|
17
18
|
if (!focusedElement.classList.contains("".concat(blockClass, "--interactive-cell-element"))) {
|
|
18
19
|
setContainerHasFocus(false);
|
|
19
20
|
removeActiveCell();
|
|
20
21
|
}
|
|
21
|
-
|
|
22
22
|
if (focusedElement.classList.contains(blockClass) || focusedElement.classList.contains("".concat(blockClass, "--interactive-cell-element"))) {
|
|
23
23
|
setContainerHasFocus(true);
|
|
24
24
|
}
|
|
@@ -1,33 +1,31 @@
|
|
|
1
1
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
2
|
-
|
|
3
2
|
/**
|
|
4
3
|
* Copyright IBM Corp. 2022, 2022
|
|
5
4
|
*
|
|
6
5
|
* This source code is licensed under the Apache-2.0 license found in the
|
|
7
6
|
* LICENSE file in the root directory of this source tree.
|
|
8
7
|
*/
|
|
8
|
+
|
|
9
9
|
import { useEffect, useState } from 'react';
|
|
10
10
|
import { px } from '@carbon/layout';
|
|
11
11
|
import { pkg } from '../../../settings';
|
|
12
12
|
import { usePreviousValue } from '../../../global/js/hooks';
|
|
13
13
|
export var useSpreadsheetEdit = function useSpreadsheetEdit(_ref) {
|
|
14
14
|
var isEditing = _ref.isEditing,
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
15
|
+
rows = _ref.rows,
|
|
16
|
+
activeCellCoordinates = _ref.activeCellCoordinates,
|
|
17
|
+
activeCellRef = _ref.activeCellRef,
|
|
18
|
+
cellEditorRef = _ref.cellEditorRef,
|
|
19
|
+
cellEditorRulerRef = _ref.cellEditorRulerRef,
|
|
20
|
+
visibleColumns = _ref.visibleColumns,
|
|
21
|
+
defaultColumn = _ref.defaultColumn,
|
|
22
|
+
cellEditorValue = _ref.cellEditorValue,
|
|
23
|
+
_ref$blockClass = _ref.blockClass,
|
|
24
|
+
blockClass = _ref$blockClass === void 0 ? "".concat(pkg.prefix, "--data-spreadsheet") : _ref$blockClass;
|
|
26
25
|
var _useState = useState(null),
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
26
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
27
|
+
nextIndex = _useState2[0],
|
|
28
|
+
setNextIndex = _useState2[1];
|
|
31
29
|
var previousState = usePreviousValue({
|
|
32
30
|
nextIndex: nextIndex
|
|
33
31
|
});
|
|
@@ -39,10 +37,8 @@ export var useSpreadsheetEdit = function useSpreadsheetEdit(_ref) {
|
|
|
39
37
|
useEffect(function () {
|
|
40
38
|
var rulerWidth = cellEditorRulerRef.current.offsetWidth;
|
|
41
39
|
var cellEditorCurrentWidth = parseInt(cellEditorRef.current.style.width);
|
|
42
|
-
|
|
43
40
|
if (isEditing) {
|
|
44
41
|
var _rows$activeCellCoord, _cellProps$column, _cellEditorRef$curren;
|
|
45
|
-
|
|
46
42
|
var cellProps = (_rows$activeCellCoord = rows[activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.row]) === null || _rows$activeCellCoord === void 0 ? void 0 : _rows$activeCellCoord.cells[activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.column];
|
|
47
43
|
var activeCellLeftPosition = activeCellRef === null || activeCellRef === void 0 ? void 0 : activeCellRef.current.style.left;
|
|
48
44
|
var activeCellTopPosition = activeCellRef === null || activeCellRef === void 0 ? void 0 : activeCellRef.current.style.top;
|
|
@@ -51,36 +47,30 @@ export var useSpreadsheetEdit = function useSpreadsheetEdit(_ref) {
|
|
|
51
47
|
cellEditorRef.current.style.display = 'block';
|
|
52
48
|
cellEditorRef.current.style.height = activeCellRef === null || activeCellRef === void 0 ? void 0 : activeCellRef.current.style.height;
|
|
53
49
|
cellEditorRef.current.style.paddingTop = "".concat((parseInt(activeCellRef === null || activeCellRef === void 0 ? void 0 : activeCellRef.current.style.height) - 16) / 2 - 1, "px"); // calculate paddingTop based on cellHeight which could be variable depending on the cellSize prop
|
|
54
|
-
|
|
55
50
|
cellEditorRef.current.style.textAlign = (cellProps === null || cellProps === void 0 ? void 0 : (_cellProps$column = cellProps.column) === null || _cellProps$column === void 0 ? void 0 : _cellProps$column.placement) === 'right' ? 'right' : 'left';
|
|
56
51
|
(_cellEditorRef$curren = cellEditorRef.current) === null || _cellEditorRef$curren === void 0 ? void 0 : _cellEditorRef$curren.focus();
|
|
57
|
-
|
|
58
52
|
if (rulerWidth < cellEditorCurrentWidth) {
|
|
59
53
|
var _visibleColumns$nextI;
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
54
|
+
var currentColumnWidth = ((_visibleColumns$nextI = visibleColumns[nextIndex]) === null || _visibleColumns$nextI === void 0 ? void 0 : _visibleColumns$nextI.width) || (defaultColumn === null || defaultColumn === void 0 ? void 0 : defaultColumn.width);
|
|
55
|
+
// If the contents of the cell editor is deleted past the point of the next column
|
|
63
56
|
if (rulerWidth < cellEditorCurrentWidth - currentColumnWidth) {
|
|
64
57
|
cellEditorRef.current.style.width = px(parseInt(cellEditorRef.current.style.width) - currentColumnWidth);
|
|
65
58
|
setNextIndex(function (prev) {
|
|
66
59
|
if (prev === 0) {
|
|
67
60
|
return prev;
|
|
68
61
|
}
|
|
69
|
-
|
|
70
62
|
return prev - 1;
|
|
71
63
|
});
|
|
72
|
-
}
|
|
73
|
-
|
|
64
|
+
}
|
|
65
|
+
// Decrease cell editor width by increment of current column width
|
|
74
66
|
}
|
|
75
67
|
|
|
76
68
|
if (rulerWidth >= cellEditorCurrentWidth) {
|
|
77
69
|
var _visibleColumns;
|
|
78
|
-
|
|
79
70
|
setNextIndex(function (prev) {
|
|
80
71
|
if (prev === visibleColumns.length - 1) {
|
|
81
72
|
return prev;
|
|
82
73
|
}
|
|
83
|
-
|
|
84
74
|
return prev + 1;
|
|
85
75
|
});
|
|
86
76
|
var onLastColumnIndex = nextIndex + 1 === visibleColumns.length;
|
|
@@ -94,7 +84,6 @@ export var useSpreadsheetEdit = function useSpreadsheetEdit(_ref) {
|
|
|
94
84
|
// Cell editor has reached max height, we need to add the scrolling back.
|
|
95
85
|
// We also need to subtract 1 to account for the fact that the cell editor
|
|
96
86
|
// is placed one pixel below the cell being edited to account for the border
|
|
97
|
-
|
|
98
87
|
if (cellEditorRef.current.clientHeight === totalCellEditorMaxHeight - 1) {
|
|
99
88
|
cellEditorRef.current.style.overflow = 'auto';
|
|
100
89
|
} else {
|
|
@@ -102,7 +91,6 @@ export var useSpreadsheetEdit = function useSpreadsheetEdit(_ref) {
|
|
|
102
91
|
}
|
|
103
92
|
}
|
|
104
93
|
}
|
|
105
|
-
|
|
106
94
|
if (!isEditing) {
|
|
107
95
|
cellEditorRef.current.style.overflow = 'hidden';
|
|
108
96
|
cellEditorRef.current.style.display = 'none';
|
|
@@ -4,26 +4,26 @@
|
|
|
4
4
|
* This source code is licensed under the Apache-2.0 license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
|
+
|
|
7
8
|
import { useEffect } from 'react';
|
|
8
9
|
import { px } from '@carbon/layout';
|
|
9
10
|
import { pkg } from '../../../settings';
|
|
10
|
-
import { moveColumnIndicatorLine } from '../utils/moveColumnIndicatorLine';
|
|
11
|
-
// cloned selection area to follow the position of the cursor
|
|
11
|
+
import { moveColumnIndicatorLine } from '../utils/moveColumnIndicatorLine';
|
|
12
12
|
|
|
13
|
+
// Used specifically for reordering columns, will move the position of the
|
|
14
|
+
// cloned selection area to follow the position of the cursor
|
|
13
15
|
export var useSpreadsheetMouseMove = function useSpreadsheetMouseMove(_ref) {
|
|
14
16
|
var ref = _ref.ref,
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
_ref$blockClass = _ref.blockClass,
|
|
18
|
+
blockClass = _ref$blockClass === void 0 ? "".concat(pkg.prefix, "--data-spreadsheet") : _ref$blockClass,
|
|
19
|
+
headerCellHoldActive = _ref.headerCellHoldActive,
|
|
20
|
+
defaultColumn = _ref.defaultColumn;
|
|
19
21
|
useEffect(function () {
|
|
20
22
|
var handleMouseMove = function handleMouseMove(event) {
|
|
21
23
|
var clonedSelectionElement = ref.current.querySelector(".".concat(blockClass, "__selection-area--element-cloned"));
|
|
22
|
-
|
|
23
24
|
if (clonedSelectionElement) {
|
|
24
25
|
ref.current.addEventListener('mousemove', handleMouseMove);
|
|
25
26
|
}
|
|
26
|
-
|
|
27
27
|
var spreadsheetCoords = ref.current.getBoundingClientRect();
|
|
28
28
|
var listContainer = ref.current.querySelector(".".concat(blockClass, "__list--container"));
|
|
29
29
|
var scrollAmount = listContainer.scrollLeft;
|
|
@@ -39,22 +39,18 @@ export var useSpreadsheetMouseMove = function useSpreadsheetMouseMove(_ref) {
|
|
|
39
39
|
var offsetXValue = clonedSelectionElement === null || clonedSelectionElement === void 0 ? void 0 : clonedSelectionElement.getAttribute('data-clone-offset-x');
|
|
40
40
|
var totalSpreadsheetScrollingWidth = listContainer.scrollWidth;
|
|
41
41
|
var clonedSelectionWidth = clonedSelectionElement.offsetWidth;
|
|
42
|
-
var clonePlacement = Math.max(xPositionRelativeToSpreadsheet - offsetXValue, defaultColumn === null || defaultColumn === void 0 ? void 0 : defaultColumn.rowHeaderWidth);
|
|
42
|
+
var clonePlacement = Math.max(xPositionRelativeToSpreadsheet - offsetXValue, defaultColumn === null || defaultColumn === void 0 ? void 0 : defaultColumn.rowHeaderWidth);
|
|
43
|
+
// Moves the position of the cloned selection area to follow mouse, and
|
|
43
44
|
// add the amount horizontally scrolled
|
|
44
|
-
|
|
45
45
|
clonedSelectionElement.style.left = px(totalSpreadsheetScrollingWidth - clonedSelectionWidth >= clonePlacement ? clonePlacement + scrollAmount : totalSpreadsheetScrollingWidth - clonedSelectionWidth);
|
|
46
46
|
};
|
|
47
|
-
|
|
48
47
|
if (headerCellHoldActive) {
|
|
49
48
|
ref.current.addEventListener('mousemove', handleMouseMove);
|
|
50
49
|
}
|
|
51
|
-
|
|
52
50
|
var spreadsheetRef = ref.current;
|
|
53
|
-
|
|
54
51
|
if (!headerCellHoldActive) {
|
|
55
52
|
spreadsheetRef === null || spreadsheetRef === void 0 ? void 0 : spreadsheetRef.removeEventListener('mousemove', handleMouseMove);
|
|
56
53
|
}
|
|
57
|
-
|
|
58
54
|
return function () {
|
|
59
55
|
spreadsheetRef === null || spreadsheetRef === void 0 ? void 0 : spreadsheetRef.removeEventListener('mousemove', handleMouseMove);
|
|
60
56
|
};
|