@carbon/ibm-products 2.0.0-rc.9 → 2.0.1
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +46 -21
- package/css/config.css +3 -0
- package/css/config.css.map +1 -0
- package/css/index-full-carbon.css +9111 -6606
- package/css/index-full-carbon.css.map +1 -1
- package/css/index-full-carbon.min.css +5 -5
- package/css/index-full-carbon.min.css.map +1 -1
- package/css/index-without-carbon-released-only.css +825 -524
- package/css/index-without-carbon-released-only.css.map +1 -1
- package/css/index-without-carbon-released-only.min.css +2 -4
- package/css/index-without-carbon-released-only.min.css.map +1 -1
- package/css/index-without-carbon.css +860 -844
- package/css/index-without-carbon.css.map +1 -1
- package/css/index-without-carbon.min.css +5 -5
- package/css/index-without-carbon.min.css.map +1 -1
- package/css/index.css +1319 -935
- package/css/index.css.map +1 -1
- package/css/index.min.css +5 -5
- package/css/index.min.css.map +1 -1
- package/es/components/APIKeyModal/APIKeyDownloader.js +29 -41
- package/es/components/APIKeyModal/APIKeyModal.js +101 -185
- package/es/components/APIKeyModal/index.js +1 -0
- package/es/components/AboutModal/AboutModal.js +76 -111
- package/es/components/AboutModal/index.js +1 -0
- package/es/components/ActionBar/ActionBar.js +71 -90
- package/es/components/ActionBar/ActionBarItem.js +21 -22
- package/es/components/ActionBar/ActionBarOverflowItems.js +12 -12
- package/es/components/ActionBar/index.js +1 -0
- package/es/components/ActionSet/ActionSet.js +32 -42
- 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 +80 -104
- package/es/components/AddSelect/AddSelectBreadcrumbs.js +9 -8
- package/es/components/AddSelect/AddSelectColumn.js +41 -53
- package/es/components/AddSelect/AddSelectFilter.js +28 -41
- package/es/components/AddSelect/AddSelectFormControl.js +82 -0
- package/es/components/AddSelect/AddSelectList.js +30 -218
- package/es/components/AddSelect/AddSelectMetaPanel.js +4 -5
- package/es/components/AddSelect/AddSelectRow.js +206 -0
- package/es/components/AddSelect/AddSelectSidebar.js +15 -22
- package/es/components/AddSelect/AddSelectSort.js +10 -8
- package/es/components/AddSelect/add-select-utils.js +2 -23
- package/es/components/AddSelect/hooks/useFocus.js +31 -0
- package/es/components/AddSelect/hooks/useItemSort.js +7 -8
- package/es/components/AddSelect/hooks/useParentSelect.js +4 -6
- package/es/components/AddSelect/hooks/usePath.js +13 -21
- package/es/components/AddSelect/index.js +1 -0
- package/es/components/BreadcrumbWithOverflow/BreadcrumbWithOverflow.js +75 -104
- package/es/components/BreadcrumbWithOverflow/index.js +2 -0
- package/es/components/ButtonMenu/ButtonMenu.js +39 -37
- package/es/components/ButtonMenu/ButtonMenuItem.js +10 -6
- package/es/components/ButtonMenu/index.js +1 -0
- package/es/components/ButtonSetWithOverflow/ButtonSetWithOverflow.js +42 -64
- package/es/components/ButtonSetWithOverflow/index.js +1 -0
- package/es/components/Card/Card.js +64 -80
- package/es/components/Card/CardFooter.js +21 -20
- package/es/components/Card/CardHeader.js +15 -15
- 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 +76 -89
- package/es/components/CreateFullPage/CreateFullPageStep.js +44 -49
- 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 +73 -91
- package/es/components/CreateTearsheet/CreateTearsheetDivider.js +4 -4
- package/es/components/CreateTearsheet/CreateTearsheetStep.js +39 -50
- package/es/components/CreateTearsheet/index.js +1 -0
- package/es/components/CreateTearsheet/preview-components/MultiStepTearsheet.js +60 -84
- package/es/components/CreateTearsheet/preview-components/MultiStepWithIntro.js +50 -70
- package/es/components/CreateTearsheetNarrow/CreateTearsheetNarrow.js +30 -39
- package/es/components/CreateTearsheetNarrow/index.js +1 -0
- package/es/components/DataSpreadsheet/DataSpreadsheet.js +137 -228
- 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 +11 -11
- 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 +21 -17
- package/es/components/Datagrid/Datagrid/DatagridBody.js +4 -10
- package/es/components/Datagrid/Datagrid/DatagridContent.js +82 -55
- package/es/components/Datagrid/Datagrid/DatagridEmptyBody.js +29 -26
- package/es/components/Datagrid/Datagrid/DatagridExpandedRow.js +4 -6
- package/es/components/Datagrid/Datagrid/DatagridHead.js +7 -8
- package/es/components/Datagrid/Datagrid/DatagridHeaderRow.js +8 -13
- package/es/components/Datagrid/Datagrid/DatagridRefBody.js +8 -9
- package/es/components/Datagrid/Datagrid/DatagridRow.js +52 -43
- package/es/components/Datagrid/Datagrid/DatagridSelectAll.js +29 -24
- package/es/components/Datagrid/Datagrid/DatagridSelectAllWithToggle.js +47 -44
- package/es/components/Datagrid/Datagrid/DatagridSimpleBody.js +6 -10
- package/es/components/Datagrid/Datagrid/DatagridToolbar.js +35 -46
- package/es/components/Datagrid/Datagrid/DatagridVirtualBody.js +52 -31
- package/es/components/Datagrid/Datagrid/DraggableElement.js +82 -89
- package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/Actions.js +10 -14
- package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/ButtonWrapper.js +15 -21
- package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/Columns.js +35 -84
- package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsTearsheet.js +176 -0
- package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/DraggableItemsList.js +109 -0
- package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/TearsheetWrapper.js +51 -0
- package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/common.js +1 -1
- package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/index.js +2 -1
- package/es/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +244 -0
- package/es/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +269 -0
- package/es/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.js +83 -0
- package/es/components/Datagrid/Datagrid/addons/Filtering/constants.js +27 -0
- package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/index.js +11 -0
- package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +299 -0
- package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useInitialStateFromFilters.js +21 -0
- package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useShouldDisableButtons.js +34 -0
- package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useSubscribeToEventEmitter.js +23 -0
- package/es/components/Datagrid/Datagrid/addons/Filtering/index.js +9 -0
- package/es/components/Datagrid/Datagrid/addons/Filtering/motion/variants.js +55 -0
- package/es/components/Datagrid/Datagrid/addons/Filtering/utils.js +84 -0
- package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/InlineEditButton.js +11 -12
- package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +73 -118
- 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 -64
- package/es/components/Datagrid/Datagrid/addons/InlineEdit/handleMultipleKeys.js +14 -21
- package/es/components/Datagrid/Datagrid/addons/RowSize/RowSizeDropdown.js +35 -33
- package/es/components/Datagrid/Datagrid/addons/RowSize/RowSizeRadioGroup.js +19 -27
- 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/Datagrid.stories/index.js +0 -1
- package/es/components/Datagrid/common-column-ids.js +1 -0
- package/es/components/Datagrid/index.js +10 -7
- package/es/components/Datagrid/useActionsColumn.js +52 -39
- 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 +20 -26
- package/es/components/Datagrid/useDatagrid.js +0 -7
- package/es/components/Datagrid/useDefaultStringRenderer.js +1 -10
- package/es/components/Datagrid/useDisableSelectRows.js +2 -10
- package/es/components/Datagrid/useEditableCell.js +12 -0
- package/es/components/Datagrid/useExpandedRow.js +16 -22
- package/es/components/Datagrid/useFiltering.js +95 -0
- package/es/components/Datagrid/useFlexResize.js +0 -7
- package/es/components/Datagrid/useFloatingScroll.js +9 -22
- package/es/components/Datagrid/useInfiniteScroll.js +12 -17
- package/es/components/Datagrid/useInlineEdit.js +20 -20
- package/es/components/Datagrid/useNestedRowExpander.js +0 -6
- package/es/components/Datagrid/useNestedRows.js +13 -20
- package/es/components/Datagrid/useOnRowClick.js +16 -13
- package/es/components/Datagrid/useParentDimensions.js +9 -17
- 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 +27 -24
- package/es/components/Datagrid/useSelectRows.js +30 -31
- package/es/components/Datagrid/useSkeletonRows.js +1 -6
- package/es/components/Datagrid/useSortableColumns.js +33 -39
- package/es/components/Datagrid/useStickyColumn.js +21 -36
- package/es/components/Datagrid/utils/DatagridActions.js +60 -57
- 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 +6 -0
- package/es/components/Datagrid/utils/getAutoSizedColumnWidth.js +27 -0
- package/es/components/Datagrid/utils/getInlineEditColumns.js +8 -4
- package/es/components/Datagrid/utils/makeData.js +23 -30
- package/es/components/EditFullPage/EditFullPage.js +27 -20
- package/es/components/EditFullPage/index.js +1 -0
- package/es/components/EditInPlace/EditInPlace.js +303 -0
- package/es/components/{InlineEdit → EditInPlace}/index.js +2 -1
- package/es/components/EditSidePanel/EditSidePanel.js +38 -51
- package/es/components/EditSidePanel/index.js +1 -0
- package/es/components/EditTearsheet/EditTearsheet.js +35 -45
- package/es/components/EditTearsheet/EditTearsheetForm.js +19 -25
- package/es/components/EditTearsheet/index.js +1 -0
- package/es/components/EditTearsheet/preview-components/MultiFormEditTearsheet.js +37 -49
- package/es/components/EditTearsheetNarrow/EditTearsheetNarrow.js +27 -20
- package/es/components/EditTearsheetNarrow/index.js +1 -0
- package/es/components/EditUpdateCards/EditUpdateCards.js +33 -35
- package/es/components/EditUpdateCards/index.js +1 -0
- package/es/components/EmptyStates/EmptyState.js +33 -36
- package/es/components/EmptyStates/EmptyStateContent.js +19 -18
- package/es/components/EmptyStates/ErrorEmptyState/ErrorEmptyState.js +28 -26
- package/es/components/EmptyStates/ErrorEmptyState/index.js +1 -0
- package/es/components/EmptyStates/NoDataEmptyState/NoDataEmptyState.js +28 -26
- package/es/components/EmptyStates/NoDataEmptyState/index.js +1 -0
- package/es/components/EmptyStates/NoTagsEmptyState/NoTagsEmptyState.js +28 -26
- package/es/components/EmptyStates/NoTagsEmptyState/index.js +1 -0
- package/es/components/EmptyStates/NotFoundEmptyState/NotFoundEmptyState.js +28 -26
- package/es/components/EmptyStates/NotFoundEmptyState/index.js +1 -0
- package/es/components/EmptyStates/NotificationsEmptyState/NotificationsEmptyState.js +28 -26
- package/es/components/EmptyStates/NotificationsEmptyState/index.js +1 -0
- package/es/components/EmptyStates/UnauthorizedEmptyState/UnauthorizedEmptyState.js +28 -26
- 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 +69 -48
- package/es/components/ExampleComponent/ExampleDeprecatedComponent.js +28 -0
- package/es/components/ExampleComponent/index.js +1 -0
- package/es/components/ExampleComponent/useExample.js +49 -0
- package/es/components/ExportModal/ExportModal.js +41 -80
- package/es/components/ExportModal/index.js +1 -0
- package/es/components/ExpressiveCard/ExpressiveCard.js +6 -23
- package/es/components/ExpressiveCard/index.js +1 -0
- package/es/components/FilterSummary/FilterSummary.js +54 -0
- package/es/components/{InlineEditV1 → FilterSummary}/index.js +1 -1
- 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 +82 -137
- package/es/components/ImportModal/index.js +1 -0
- package/es/components/MultiAddSelect/MultiAddSelect.js +1 -23
- package/es/components/MultiAddSelect/index.js +1 -0
- 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 +63 -92
- package/es/components/OptionsTile/index.js +1 -0
- package/es/components/PageHeader/PageHeader.js +156 -222
- package/es/components/PageHeader/PageHeaderDemo.data.js +0 -1
- package/es/components/PageHeader/PageHeaderTitle.js +34 -38
- package/es/components/PageHeader/PageHeaderUtils.js +18 -45
- package/es/components/PageHeader/index.js +1 -0
- package/es/components/ProductiveCard/ProductiveCard.js +10 -27
- package/es/components/ProductiveCard/index.js +1 -0
- package/es/components/RemoveModal/RemoveModal.js +41 -47
- 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 +133 -173
- package/es/components/SidePanel/constants.js +1 -0
- package/es/components/SidePanel/index.js +1 -0
- package/es/components/SidePanel/motion/variants.js +1 -0
- package/es/components/SingleAddSelect/SingleAddSelect.js +1 -14
- package/es/components/SingleAddSelect/index.js +1 -0
- package/es/components/StatusIcon/StatusIcon.js +5 -12
- package/es/components/StatusIcon/index.js +1 -0
- package/es/components/TagSet/TagSet.js +62 -97
- package/es/components/TagSet/TagSetModal.js +19 -30
- package/es/components/TagSet/TagSetOverflow.js +14 -23
- package/es/components/TagSet/constants.js +1 -0
- package/es/components/TagSet/index.js +1 -0
- package/es/components/Tearsheet/Tearsheet.js +37 -36
- package/es/components/Tearsheet/TearsheetNarrow.js +26 -25
- package/es/components/Tearsheet/TearsheetShell.js +92 -102
- package/es/components/Tearsheet/index.js +1 -0
- package/es/components/Toolbar/Toolbar.js +13 -27
- package/es/components/Toolbar/ToolbarButton.js +8 -14
- 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 +44 -54
- 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 +4 -4
- 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/useControllableState.js +14 -23
- package/es/global/js/hooks/useCreateComponentFocus.js +35 -13
- package/es/global/js/hooks/useCreateComponentStepChange.js +94 -131
- package/es/global/js/hooks/usePreviousValue.js +2 -1
- package/es/global/js/hooks/useResetCreateComponent.js +11 -10
- package/es/global/js/hooks/useResizeObserver.js +74 -0
- 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 +14 -16
- package/es/global/js/hooks/useWindowScroll.js +10 -14
- package/es/global/js/package-settings.js +44 -21
- 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/getNumberOfHiddenSteps.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 +6 -9
- package/es/global/js/utils/story-helper.js +39 -10
- package/es/global/js/utils/test-helper.js +71 -59
- package/es/global/js/utils/unwrap-if-fragment.js +9 -17
- 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 +48 -29
- package/lib/components/APIKeyModal/APIKeyDownloader.js +29 -54
- package/lib/components/APIKeyModal/APIKeyModal.js +106 -207
- package/lib/components/APIKeyModal/index.js +0 -1
- package/lib/components/AboutModal/AboutModal.js +79 -128
- package/lib/components/AboutModal/index.js +0 -1
- package/lib/components/ActionBar/ActionBar.js +73 -106
- package/lib/components/ActionBar/ActionBarItem.js +23 -29
- package/lib/components/ActionBar/ActionBarOverflowItems.js +10 -22
- package/lib/components/ActionBar/index.js +0 -2
- package/lib/components/ActionSet/ActionSet.js +37 -52
- package/lib/components/ActionSet/actions.js +1 -5
- package/lib/components/ActionSet/index.js +0 -1
- package/lib/components/AddSelect/AddSelect.js +8 -17
- package/lib/components/AddSelect/AddSelectBody.js +84 -130
- package/lib/components/AddSelect/AddSelectBreadcrumbs.js +9 -18
- package/lib/components/AddSelect/AddSelectColumn.js +45 -74
- package/lib/components/AddSelect/AddSelectFilter.js +32 -56
- package/lib/components/AddSelect/AddSelectFormControl.js +90 -0
- package/lib/components/AddSelect/AddSelectList.js +29 -232
- package/lib/components/AddSelect/AddSelectMetaPanel.js +4 -18
- package/lib/components/AddSelect/AddSelectRow.js +217 -0
- package/lib/components/AddSelect/AddSelectSidebar.js +20 -33
- package/lib/components/AddSelect/AddSelectSort.js +10 -19
- package/lib/components/AddSelect/add-select-utils.js +2 -33
- package/lib/components/AddSelect/hooks/useFocus.js +39 -0
- package/lib/components/AddSelect/hooks/useItemSort.js +7 -13
- package/lib/components/AddSelect/hooks/useParentSelect.js +4 -9
- package/lib/components/AddSelect/hooks/usePath.js +18 -23
- package/lib/components/AddSelect/index.js +0 -1
- package/lib/components/BreadcrumbWithOverflow/BreadcrumbWithOverflow.js +75 -116
- package/lib/components/BreadcrumbWithOverflow/index.js +0 -1
- package/lib/components/ButtonMenu/ButtonMenu.js +40 -41
- package/lib/components/ButtonMenu/ButtonMenuItem.js +9 -10
- package/lib/components/ButtonMenu/index.js +0 -2
- package/lib/components/ButtonSetWithOverflow/ButtonSetWithOverflow.js +46 -83
- package/lib/components/ButtonSetWithOverflow/index.js +0 -1
- package/lib/components/Card/Card.js +66 -91
- package/lib/components/Card/CardFooter.js +21 -30
- package/lib/components/Card/CardHeader.js +15 -25
- package/lib/components/Card/index.js +0 -3
- package/lib/components/Cascade/Cascade.js +10 -31
- package/lib/components/Cascade/index.js +0 -1
- package/lib/components/ComboButton/ComboButton.js +29 -49
- package/lib/components/ComboButton/ComboButtonItem/index.js +2 -10
- package/lib/components/ComboButton/index.js +0 -2
- package/lib/components/CreateFullPage/CreateFullPage.js +79 -106
- package/lib/components/CreateFullPage/CreateFullPageStep.js +47 -63
- 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 +24 -39
- package/lib/components/CreateModal/index.js +0 -1
- package/lib/components/CreateSidePanel/CreateSidePanel.js +26 -46
- package/lib/components/CreateSidePanel/index.js +0 -1
- package/lib/components/CreateTearsheet/CreateTearsheet.js +78 -111
- package/lib/components/CreateTearsheet/CreateTearsheetDivider.js +9 -14
- package/lib/components/CreateTearsheet/CreateTearsheetStep.js +43 -65
- package/lib/components/CreateTearsheet/index.js +0 -3
- package/lib/components/CreateTearsheet/preview-components/MultiStepTearsheet.js +65 -96
- package/lib/components/CreateTearsheet/preview-components/MultiStepWithIntro.js +50 -84
- package/lib/components/CreateTearsheetNarrow/CreateTearsheetNarrow.js +33 -47
- package/lib/components/CreateTearsheetNarrow/index.js +0 -1
- package/lib/components/DataSpreadsheet/DataSpreadsheet.js +139 -258
- package/lib/components/DataSpreadsheet/DataSpreadsheetBody.js +67 -136
- package/lib/components/DataSpreadsheet/DataSpreadsheetHeader.js +30 -76
- 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 +39 -62
- 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 +25 -39
- package/lib/components/DataSpreadsheet/utils/handleActiveCellInSelectionTab.js +20 -33
- package/lib/components/DataSpreadsheet/utils/handleCellDeletion.js +11 -15
- package/lib/components/DataSpreadsheet/utils/handleEditSubmit.js +16 -25
- package/lib/components/DataSpreadsheet/utils/handleHeaderCellSelection.js +22 -50
- package/lib/components/DataSpreadsheet/utils/handleMultipleKeys.js +45 -85
- 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 +12 -17
- package/lib/components/Datagrid/Datagrid/Datagrid.js +26 -31
- package/lib/components/Datagrid/Datagrid/DatagridBody.js +5 -16
- package/lib/components/Datagrid/Datagrid/DatagridContent.js +83 -79
- package/lib/components/Datagrid/Datagrid/DatagridEmptyBody.js +28 -31
- package/lib/components/Datagrid/Datagrid/DatagridExpandedRow.js +4 -10
- package/lib/components/Datagrid/Datagrid/DatagridHead.js +6 -11
- package/lib/components/Datagrid/Datagrid/DatagridHeaderRow.js +8 -20
- package/lib/components/Datagrid/Datagrid/DatagridRefBody.js +15 -16
- package/lib/components/Datagrid/Datagrid/DatagridRow.js +61 -62
- package/lib/components/Datagrid/Datagrid/DatagridSelectAll.js +40 -32
- package/lib/components/Datagrid/Datagrid/DatagridSelectAllWithToggle.js +45 -50
- package/lib/components/Datagrid/Datagrid/DatagridSimpleBody.js +12 -17
- package/lib/components/Datagrid/Datagrid/DatagridToolbar.js +35 -59
- package/lib/components/Datagrid/Datagrid/DatagridVirtualBody.js +57 -40
- package/lib/components/Datagrid/Datagrid/DraggableElement.js +82 -101
- package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/Actions.js +10 -23
- package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/ButtonWrapper.js +15 -25
- package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/Columns.js +35 -99
- package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsTearsheet.js +184 -0
- package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/DraggableItemsList.js +117 -0
- package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/TearsheetWrapper.js +61 -0
- package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/common.js +1 -5
- package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/index.js +3 -6
- package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +255 -0
- package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +280 -0
- package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.js +96 -0
- package/lib/components/Datagrid/Datagrid/addons/Filtering/constants.js +45 -0
- package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/index.js +34 -0
- package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +309 -0
- package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useInitialStateFromFilters.js +30 -0
- package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useShouldDisableButtons.js +41 -0
- package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useSubscribeToEventEmitter.js +30 -0
- package/lib/components/Datagrid/Datagrid/addons/Filtering/index.js +33 -0
- package/lib/components/Datagrid/Datagrid/addons/Filtering/motion/variants.js +64 -0
- package/lib/components/Datagrid/Datagrid/addons/Filtering/utils.js +91 -0
- 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 +80 -140
- package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/index.js +0 -1
- package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/InlineEditContext.js +12 -33
- 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 +14 -19
- package/lib/components/Datagrid/Datagrid/addons/InlineEdit/handleGridFocus.js +2 -5
- package/lib/components/Datagrid/Datagrid/addons/InlineEdit/handleGridKeyPress.js +34 -72
- package/lib/components/Datagrid/Datagrid/addons/InlineEdit/handleMultipleKeys.js +14 -27
- package/lib/components/Datagrid/Datagrid/addons/RowSize/RowSizeDropdown.js +34 -41
- package/lib/components/Datagrid/Datagrid/addons/RowSize/RowSizeRadioGroup.js +19 -38
- 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 -13
- package/lib/components/Datagrid/common-column-ids.js +1 -1
- package/lib/components/Datagrid/index.js +22 -20
- package/lib/components/Datagrid/useActionsColumn.js +55 -39
- package/lib/components/Datagrid/useColumnCenterAlign.js +7 -15
- package/lib/components/Datagrid/useColumnOrder.js +0 -2
- package/lib/components/Datagrid/useColumnRightAlign.js +7 -15
- package/lib/components/Datagrid/useCustomizeColumns.js +19 -26
- package/lib/components/Datagrid/useDatagrid.js +7 -21
- package/lib/components/Datagrid/useDefaultStringRenderer.js +8 -17
- package/lib/components/Datagrid/useDisableSelectRows.js +2 -11
- package/lib/components/Datagrid/useEditableCell.js +20 -0
- package/lib/components/Datagrid/useExpandedRow.js +15 -21
- package/lib/components/Datagrid/useFiltering.js +101 -0
- package/lib/components/Datagrid/useFlexResize.js +0 -9
- package/lib/components/Datagrid/useFloatingScroll.js +10 -27
- package/lib/components/Datagrid/useInfiniteScroll.js +12 -21
- package/lib/components/Datagrid/useInlineEdit.js +23 -26
- package/lib/components/Datagrid/useNestedRowExpander.js +1 -14
- package/lib/components/Datagrid/useNestedRows.js +13 -25
- package/lib/components/Datagrid/useOnRowClick.js +16 -14
- package/lib/components/Datagrid/useParentDimensions.js +10 -19
- package/lib/components/Datagrid/useResizeTable.js +2 -8
- package/lib/components/Datagrid/useRowExpander.js +1 -12
- package/lib/components/Datagrid/useRowIsMouseOver.js +12 -20
- package/lib/components/Datagrid/useRowRenderer.js +1 -7
- package/lib/components/Datagrid/useRowSize.js +14 -25
- package/lib/components/Datagrid/useSelectAllToggle.js +31 -31
- package/lib/components/Datagrid/useSelectRows.js +40 -44
- package/lib/components/Datagrid/useSkeletonRows.js +1 -8
- package/lib/components/Datagrid/useSortableColumns.js +33 -41
- package/lib/components/Datagrid/useStickyColumn.js +26 -42
- package/lib/components/Datagrid/utils/DatagridActions.js +58 -68
- 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 +6 -1
- package/lib/components/Datagrid/utils/getAutoSizedColumnWidth.js +35 -0
- package/lib/components/Datagrid/utils/getInlineEditColumns.js +8 -10
- package/lib/components/Datagrid/utils/makeData.js +29 -41
- package/lib/components/EditFullPage/EditFullPage.js +30 -26
- package/lib/components/EditFullPage/index.js +0 -1
- package/lib/components/EditInPlace/EditInPlace.js +312 -0
- package/lib/components/{InlineEdit → EditInPlace}/index.js +3 -4
- package/lib/components/EditSidePanel/EditSidePanel.js +40 -59
- package/lib/components/EditSidePanel/index.js +0 -1
- package/lib/components/EditTearsheet/EditTearsheet.js +39 -61
- package/lib/components/EditTearsheet/EditTearsheetForm.js +24 -39
- package/lib/components/EditTearsheet/index.js +0 -2
- package/lib/components/EditTearsheet/preview-components/MultiFormEditTearsheet.js +37 -62
- package/lib/components/EditTearsheetNarrow/EditTearsheetNarrow.js +30 -26
- package/lib/components/EditTearsheetNarrow/index.js +0 -1
- package/lib/components/EditUpdateCards/EditUpdateCards.js +35 -41
- package/lib/components/EditUpdateCards/index.js +0 -1
- package/lib/components/EmptyStates/EmptyState.js +36 -49
- package/lib/components/EmptyStates/EmptyStateContent.js +21 -27
- package/lib/components/EmptyStates/ErrorEmptyState/ErrorEmptyState.js +31 -39
- package/lib/components/EmptyStates/ErrorEmptyState/index.js +0 -1
- package/lib/components/EmptyStates/NoDataEmptyState/NoDataEmptyState.js +31 -39
- package/lib/components/EmptyStates/NoDataEmptyState/index.js +0 -1
- package/lib/components/EmptyStates/NoTagsEmptyState/NoTagsEmptyState.js +31 -39
- package/lib/components/EmptyStates/NoTagsEmptyState/index.js +0 -1
- package/lib/components/EmptyStates/NotFoundEmptyState/NotFoundEmptyState.js +31 -39
- package/lib/components/EmptyStates/NotFoundEmptyState/index.js +0 -1
- package/lib/components/EmptyStates/NotificationsEmptyState/NotificationsEmptyState.js +31 -39
- package/lib/components/EmptyStates/NotificationsEmptyState/index.js +0 -1
- package/lib/components/EmptyStates/UnauthorizedEmptyState/UnauthorizedEmptyState.js +31 -39
- package/lib/components/EmptyStates/UnauthorizedEmptyState/index.js +0 -1
- package/lib/components/EmptyStates/assets/ErrorIllustration.js +10 -13
- package/lib/components/EmptyStates/assets/NoDataIllustration.js +10 -13
- package/lib/components/EmptyStates/assets/NoTagsIllustration.js +10 -13
- package/lib/components/EmptyStates/assets/NotFoundIllustration.js +10 -13
- package/lib/components/EmptyStates/assets/NotificationsIllustration.js +10 -13
- package/lib/components/EmptyStates/assets/UnauthorizedIllustration.js +10 -13
- package/lib/components/EmptyStates/index.js +0 -7
- package/lib/components/ExampleComponent/ExampleComponent.js +75 -55
- package/lib/components/ExampleComponent/ExampleDeprecatedComponent.js +36 -0
- package/lib/components/ExampleComponent/index.js +0 -1
- package/lib/components/ExampleComponent/useExample.js +58 -0
- package/lib/components/ExportModal/ExportModal.js +46 -96
- package/lib/components/ExportModal/index.js +0 -1
- package/lib/components/ExpressiveCard/ExpressiveCard.js +6 -35
- package/lib/components/ExpressiveCard/index.js +0 -1
- package/lib/components/FilterSummary/FilterSummary.js +63 -0
- package/lib/components/FilterSummary/index.js +13 -0
- package/lib/components/HTTPErrors/HTTPError403/HTTPError403.js +19 -27
- package/lib/components/HTTPErrors/HTTPError403/index.js +0 -1
- package/lib/components/HTTPErrors/HTTPError404/HTTPError404.js +19 -27
- package/lib/components/HTTPErrors/HTTPError404/index.js +0 -1
- package/lib/components/HTTPErrors/HTTPErrorContent.js +17 -24
- package/lib/components/HTTPErrors/HTTPErrorOther/HTTPErrorOther.js +19 -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 +87 -155
- package/lib/components/ImportModal/index.js +0 -1
- package/lib/components/MultiAddSelect/MultiAddSelect.js +1 -34
- package/lib/components/MultiAddSelect/index.js +0 -1
- package/lib/components/NotificationsPanel/NotificationsPanel.js +87 -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 +64 -108
- package/lib/components/OptionsTile/index.js +0 -1
- package/lib/components/PageHeader/PageHeader.js +159 -249
- package/lib/components/PageHeader/PageHeaderDemo.data.js +0 -3
- package/lib/components/PageHeader/PageHeaderTitle.js +34 -51
- package/lib/components/PageHeader/PageHeaderUtils.js +23 -59
- package/lib/components/PageHeader/index.js +0 -1
- package/lib/components/ProductiveCard/ProductiveCard.js +15 -41
- package/lib/components/ProductiveCard/index.js +0 -1
- package/lib/components/RemoveModal/RemoveModal.js +45 -63
- package/lib/components/RemoveModal/index.js +0 -1
- package/lib/components/Saving/Saving.js +20 -44
- package/lib/components/Saving/index.js +0 -1
- package/lib/components/SidePanel/SidePanel.js +136 -195
- package/lib/components/SidePanel/constants.js +1 -1
- package/lib/components/SidePanel/index.js +0 -1
- package/lib/components/SidePanel/motion/variants.js +1 -2
- package/lib/components/SingleAddSelect/SingleAddSelect.js +1 -26
- package/lib/components/SingleAddSelect/index.js +0 -1
- package/lib/components/StatusIcon/StatusIcon.js +11 -25
- package/lib/components/StatusIcon/index.js +0 -1
- package/lib/components/TagSet/TagSet.js +66 -117
- package/lib/components/TagSet/TagSetModal.js +23 -46
- package/lib/components/TagSet/TagSetOverflow.js +19 -42
- package/lib/components/TagSet/constants.js +1 -0
- package/lib/components/TagSet/index.js +0 -1
- package/lib/components/Tearsheet/Tearsheet.js +39 -44
- package/lib/components/Tearsheet/TearsheetNarrow.js +29 -34
- package/lib/components/Tearsheet/TearsheetShell.js +93 -123
- package/lib/components/Tearsheet/index.js +0 -2
- package/lib/components/Toolbar/Toolbar.js +18 -41
- package/lib/components/Toolbar/ToolbarButton.js +13 -27
- package/lib/components/Toolbar/ToolbarGroup.js +8 -16
- package/lib/components/Toolbar/index.js +0 -3
- package/lib/components/UserProfileImage/UserProfileImage.js +28 -48
- package/lib/components/UserProfileImage/index.js +0 -1
- package/lib/components/WebTerminal/WebTerminal.js +46 -70
- package/lib/components/WebTerminal/WebTerminalContentWrapper.js +17 -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 +14 -17
- package/lib/components/_Canary/index.js +0 -1
- package/lib/components/index.js +25 -52
- package/lib/global/js/hooks/index.js +0 -11
- package/lib/global/js/hooks/useActiveElement.js +4 -10
- package/lib/global/js/hooks/useClickOutside.js +1 -4
- package/lib/global/js/hooks/useControllableState.js +12 -26
- package/lib/global/js/hooks/useCreateComponentFocus.js +35 -17
- package/lib/global/js/hooks/useCreateComponentStepChange.js +94 -136
- package/lib/global/js/hooks/usePreviousValue.js +0 -3
- package/lib/global/js/hooks/useResetCreateComponent.js +9 -13
- package/lib/global/js/hooks/useResizeObserver.js +83 -0
- 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 +14 -22
- package/lib/global/js/hooks/useWindowScroll.js +10 -19
- package/lib/global/js/package-settings.js +49 -25
- 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 +16 -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/getNumberOfHiddenSteps.js +1 -3
- 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 +21 -58
- package/lib/global/js/utils/rangeWithCallback.js +1 -2
- package/lib/global/js/utils/scrollableAncestor.js +6 -13
- package/lib/global/js/utils/story-helper.js +41 -25
- package/lib/global/js/utils/test-helper.js +74 -88
- package/lib/global/js/utils/unwrap-if-fragment.js +8 -20
- 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 +49 -38
- package/package.json +27 -27
- package/scss/components/AboutModal/_about-modal.scss +26 -60
- package/scss/components/AboutModal/_storybook-styles.scss +18 -5
- package/scss/components/ActionBar/_action-bar.scss +0 -4
- package/scss/components/ActionSet/_action-set.scss +19 -6
- package/scss/components/AddSelect/_add-select.scss +29 -56
- package/scss/components/BreadcrumbWithOverflow/_breadcrumb-with-overflow.scss +10 -1
- package/scss/components/Card/_card.scss +13 -6
- package/scss/components/CreateFullPage/_create-full-page.scss +5 -10
- package/scss/components/CreateTearsheet/_create-tearsheet.scss +8 -3
- package/scss/components/DataSpreadsheet/_data-spreadsheet.scss +1 -1
- package/scss/components/Datagrid/_datagrid.scss +0 -1
- package/scss/components/Datagrid/_storybook-styles.scss +12 -0
- package/scss/components/Datagrid/styles/_datagrid.scss +83 -26
- package/scss/components/Datagrid/styles/_draggableElement.scss +27 -12
- package/scss/components/Datagrid/styles/_index.scss +9 -8
- package/scss/components/Datagrid/styles/_useExpandedRow.scss +1 -1
- package/scss/components/Datagrid/styles/_useInlineEdit.scss +16 -4
- package/scss/components/Datagrid/styles/_useNestedRows.scss +19 -0
- package/scss/components/Datagrid/styles/_useSelectAllToggle.scss +23 -15
- package/scss/components/Datagrid/styles/_useSortableColumns.scss +40 -18
- package/scss/components/Datagrid/styles/_useStickyColumn.scss +3 -3
- package/scss/components/Datagrid/styles/addons/_CustomizeColumnsTearsheet.scss +82 -0
- package/scss/components/Datagrid/styles/addons/_FilterFlyout.scss +87 -0
- package/scss/components/Datagrid/styles/addons/_FilterPanel.scss +129 -0
- package/scss/components/Datagrid/styles/addons/_RowSizeDropdown.scss +19 -7
- package/scss/components/EditInPlace/_edit-in-place.scss +164 -0
- package/scss/components/{InlineEditV1 → EditInPlace}/_index-with-carbon.scss +1 -1
- package/scss/components/{InlineEditV2 → EditInPlace}/_index.scss +1 -1
- package/scss/components/{InlineEditV1 → EditInPlace}/_storybook-styles.scss +3 -15
- package/scss/components/EditTearsheet/_edit-tearsheet.scss +6 -4
- package/scss/components/EmptyStates/_empty-state.scss +29 -6
- package/scss/components/ExportModal/_export-modal.scss +0 -4
- package/scss/components/ExpressiveCard/_expressive-card.scss +1 -1
- package/scss/components/FilterSummary/_filter-summary.scss +21 -0
- package/scss/components/{ModifiedTabs → FilterSummary}/_index.scss +4 -2
- package/scss/components/{InlineEditV2 → FilterSummary}/_storybook-styles.scss +7 -2
- package/scss/components/HTTPErrors/_http-errors.scss +8 -4
- package/scss/components/MultiAddSelect/_multi-add-select.scss +1 -1
- package/scss/components/OptionsTile/_options-tile.scss +10 -3
- package/scss/components/PageHeader/_page-header.scss +9 -12
- package/scss/components/ProductiveCard/_productive-card.scss +31 -2
- package/scss/components/SidePanel/_side-panel.scss +8 -19
- package/scss/components/SingleAddSelect/_single-add-select.scss +1 -1
- package/scss/components/TagSet/_tag-set.scss +1 -0
- package/scss/components/Tearsheet/_carbon-imports.scss +2 -1
- package/scss/components/Tearsheet/_tearsheet.scss +10 -5
- package/scss/components/UserProfileImage/_user-profile-image.scss +5 -0
- package/scss/components/_index-released-only-with-carbon.scss +3 -1
- package/scss/components/_index-released-only.scss +3 -1
- package/scss/components/_index-with-carbon.scss +1 -3
- package/scss/components/_index.scss +2 -3
- package/scss/config.scss +1 -0
- package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsModal.js +0 -193
- package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/ModalWrapper.js +0 -63
- package/es/components/Datagrid/Datagrid.stories/LeftPanelStory.js +0 -6
- package/es/components/InlineEdit/InlineEdit.js +0 -47
- package/es/components/InlineEditV1/InlineEditV1.js +0 -447
- package/es/components/InlineEditV2/InlineEditV2.js +0 -289
- package/es/components/InlineEditV2/index.js +0 -7
- package/es/components/ModifiedTabs/ModifiedTabLabelNew.js +0 -34
- package/es/components/ModifiedTabs/ModifiedTabLabelWithClose.js +0 -47
- package/es/components/ModifiedTabs/ModifiedTabs.js +0 -141
- package/es/components/ModifiedTabs/index.js +0 -1
- package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsModal.js +0 -208
- package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/ModalWrapper.js +0 -74
- package/lib/components/Datagrid/Datagrid.stories/LeftPanelStory.js +0 -13
- package/lib/components/InlineEdit/InlineEdit.js +0 -63
- package/lib/components/InlineEditV1/InlineEditV1.js +0 -464
- package/lib/components/InlineEditV1/index.js +0 -13
- package/lib/components/InlineEditV2/InlineEditV2.js +0 -309
- package/lib/components/InlineEditV2/index.js +0 -13
- package/lib/components/ModifiedTabs/ModifiedTabLabelNew.js +0 -50
- package/lib/components/ModifiedTabs/ModifiedTabLabelWithClose.js +0 -63
- package/lib/components/ModifiedTabs/ModifiedTabs.js +0 -164
- package/lib/components/ModifiedTabs/index.js +0 -13
- package/scss/components/Datagrid/styles/addons/_CustomizeColumnsModal.scss +0 -93
- package/scss/components/InlineEditV1/_carbon-imports.scss +0 -6
- package/scss/components/InlineEditV1/_index.scss +0 -8
- package/scss/components/InlineEditV1/_inline-edit-v1.scss +0 -355
- package/scss/components/InlineEditV2/_index-with-carbon.scss +0 -9
- package/scss/components/InlineEditV2/_inline-edit-v2.scss +0 -83
- package/scss/components/ModifiedTabs/_carbon-imports.scss +0 -10
- package/scss/components/ModifiedTabs/_index-with-carbon.scss +0 -9
- package/scss/components/ModifiedTabs/_modified-tabs.scss +0 -89
- package/scss/components/ModifiedTabs/_storybook-styles.scss +0 -6
- /package/scss/components/{InlineEditV2 → EditInPlace}/_carbon-imports.scss +0 -0
@@ -4,21 +4,20 @@ import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
4
4
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
5
5
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
6
6
|
var _excluded = ["cellSize", "className", "columns", "data", "defaultEmptyRowCount", "onDataUpdate", "id", "onActiveCellChange", "onSelectionAreaChange", "selectAllAriaLabel", "spreadsheetAriaLabel", "theme", "totalVisibleColumns"];
|
7
|
-
|
8
7
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
9
|
-
|
10
8
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
11
|
-
|
12
9
|
/**
|
13
10
|
* Copyright IBM Corp. 2022, 2022
|
14
11
|
*
|
15
12
|
* This source code is licensed under the Apache-2.0 license found in the
|
16
13
|
* LICENSE file in the root directory of this source tree.
|
17
14
|
*/
|
15
|
+
|
18
16
|
// Import portions of React that are needed.
|
19
17
|
import React, { useMemo, useRef, useState, useCallback, useEffect } from 'react';
|
20
|
-
import { useBlockLayout, useTable, useColumnOrder } from 'react-table';
|
18
|
+
import { useBlockLayout, useTable, useColumnOrder } from 'react-table';
|
21
19
|
|
20
|
+
// Other standard imports.
|
22
21
|
import PropTypes from 'prop-types';
|
23
22
|
import cx from 'classnames';
|
24
23
|
import { pkg } from '../../settings';
|
@@ -39,12 +38,14 @@ import { selectAllCells } from './utils/selectAllCells';
|
|
39
38
|
import { handleEditSubmit } from './utils/handleEditSubmit';
|
40
39
|
import { handleActiveCellInSelectionEnter } from './utils/handleActiveCellInSelectionEnter';
|
41
40
|
import { handleActiveCellInSelectionTab } from './utils/handleActiveCellInSelectionTab';
|
42
|
-
import { handleCellDeletion } from './utils/handleCellDeletion';
|
43
|
-
//
|
41
|
+
import { handleCellDeletion } from './utils/handleCellDeletion';
|
42
|
+
// cspell:words rowcount colcount
|
44
43
|
|
44
|
+
// The block part of our conventional BEM class names (blockClass__E--M).
|
45
45
|
var blockClass = "".concat(pkg.prefix, "--data-spreadsheet");
|
46
|
-
var componentName = 'DataSpreadsheet';
|
46
|
+
var componentName = 'DataSpreadsheet';
|
47
47
|
|
48
|
+
// Default values for props
|
48
49
|
var defaults = {
|
49
50
|
cellSize: 'sm',
|
50
51
|
columns: Object.freeze([]),
|
@@ -55,102 +56,87 @@ var defaults = {
|
|
55
56
|
onSelectionAreaChange: Object.freeze(function () {}),
|
56
57
|
theme: 'light'
|
57
58
|
};
|
59
|
+
|
58
60
|
/**
|
59
61
|
* DataSpreadsheet: used to organize and display large amounts of structured data, separated by columns and rows in a grid-like format.
|
60
62
|
*/
|
61
|
-
|
62
63
|
export var DataSpreadsheet = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
63
64
|
var _cx;
|
64
|
-
|
65
65
|
var _ref$cellSize = _ref.cellSize,
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
66
|
+
cellSize = _ref$cellSize === void 0 ? defaults.cellSize : _ref$cellSize,
|
67
|
+
className = _ref.className,
|
68
|
+
_ref$columns = _ref.columns,
|
69
|
+
columns = _ref$columns === void 0 ? defaults.columns : _ref$columns,
|
70
|
+
_ref$data = _ref.data,
|
71
|
+
data = _ref$data === void 0 ? defaults.data : _ref$data,
|
72
|
+
_ref$defaultEmptyRowC = _ref.defaultEmptyRowCount,
|
73
|
+
defaultEmptyRowCount = _ref$defaultEmptyRowC === void 0 ? defaults.defaultEmptyRowCount : _ref$defaultEmptyRowC,
|
74
|
+
_ref$onDataUpdate = _ref.onDataUpdate,
|
75
|
+
onDataUpdate = _ref$onDataUpdate === void 0 ? defaults.onDataUpdate : _ref$onDataUpdate,
|
76
|
+
id = _ref.id,
|
77
|
+
_ref$onActiveCellChan = _ref.onActiveCellChange,
|
78
|
+
onActiveCellChange = _ref$onActiveCellChan === void 0 ? defaults.onActiveCellChange : _ref$onActiveCellChan,
|
79
|
+
_ref$onSelectionAreaC = _ref.onSelectionAreaChange,
|
80
|
+
onSelectionAreaChange = _ref$onSelectionAreaC === void 0 ? defaults.onSelectionAreaChange : _ref$onSelectionAreaC,
|
81
|
+
selectAllAriaLabel = _ref.selectAllAriaLabel,
|
82
|
+
spreadsheetAriaLabel = _ref.spreadsheetAriaLabel,
|
83
|
+
theme = _ref.theme,
|
84
|
+
totalVisibleColumns = _ref.totalVisibleColumns,
|
85
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
87
86
|
var multiKeyTrackingRef = useRef();
|
88
87
|
var localRef = useRef();
|
89
88
|
var spreadsheetRef = ref || localRef;
|
90
89
|
var focusedElement = useActiveElement();
|
91
|
-
|
92
90
|
var _useState = useState(false),
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
91
|
+
_useState2 = _slicedToArray(_useState, 2),
|
92
|
+
containerHasFocus = _useState2[0],
|
93
|
+
setContainerHasFocus = _useState2[1];
|
97
94
|
var _useState3 = useState(null),
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
95
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
96
|
+
activeCellCoordinates = _useState4[0],
|
97
|
+
setActiveCellCoordinates = _useState4[1];
|
102
98
|
var _useState5 = useState([]),
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
99
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
100
|
+
selectionAreas = _useState6[0],
|
101
|
+
setSelectionAreas = _useState6[1];
|
107
102
|
var _useState7 = useState([]),
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
103
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
104
|
+
selectionAreaData = _useState8[0],
|
105
|
+
setSelectionAreaData = _useState8[1];
|
112
106
|
var _useState9 = useState(false),
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
107
|
+
_useState10 = _slicedToArray(_useState9, 2),
|
108
|
+
clickAndHoldActive = _useState10[0],
|
109
|
+
setClickAndHoldActive = _useState10[1];
|
117
110
|
var _useState11 = useState(''),
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
111
|
+
_useState12 = _slicedToArray(_useState11, 2),
|
112
|
+
currentMatcher = _useState12[0],
|
113
|
+
setCurrentMatcher = _useState12[1];
|
122
114
|
var _useState13 = useState(false),
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
115
|
+
_useState14 = _slicedToArray(_useState13, 2),
|
116
|
+
isEditing = _useState14[0],
|
117
|
+
setIsEditing = _useState14[1];
|
127
118
|
var _useState15 = useState(''),
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
119
|
+
_useState16 = _slicedToArray(_useState15, 2),
|
120
|
+
cellEditorValue = _useState16[0],
|
121
|
+
setCellEditorValue = _useState16[1];
|
132
122
|
var _useState17 = useState(false),
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
123
|
+
_useState18 = _slicedToArray(_useState17, 2),
|
124
|
+
headerCellHoldActive = _useState18[0],
|
125
|
+
setHeaderCellHoldActive = _useState18[1];
|
137
126
|
var _useState19 = useState(false),
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
127
|
+
_useState20 = _slicedToArray(_useState19, 2),
|
128
|
+
activeCellInsideSelectionArea = _useState20[0],
|
129
|
+
setActiveCellInsideSelectionArea = _useState20[1];
|
142
130
|
var previousState = usePreviousValue({
|
143
131
|
activeCellCoordinates: activeCellCoordinates,
|
144
132
|
isEditing: isEditing
|
145
133
|
});
|
146
134
|
var cellSizeValue = getCellSize(cellSize);
|
147
135
|
var cellEditorRef = useRef();
|
148
|
-
|
149
136
|
var _useState21 = useState(),
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
137
|
+
_useState22 = _slicedToArray(_useState21, 2),
|
138
|
+
activeCellContent = _useState22[0],
|
139
|
+
setActiveCellContent = _useState22[1];
|
154
140
|
var activeCellRef = useRef();
|
155
141
|
var cellEditorRulerRef = useRef();
|
156
142
|
var defaultColumn = useMemo(function () {
|
@@ -160,76 +146,68 @@ export var DataSpreadsheet = /*#__PURE__*/React.forwardRef(function (_ref, ref)
|
|
160
146
|
rowHeight: cellSizeValue
|
161
147
|
};
|
162
148
|
}, [cellSizeValue]);
|
163
|
-
|
164
149
|
var _useMultipleKeyTracki = useMultipleKeyTracking({
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
150
|
+
ref: multiKeyTrackingRef,
|
151
|
+
containerHasFocus: containerHasFocus,
|
152
|
+
isEditing: isEditing
|
153
|
+
}),
|
154
|
+
keysPressedList = _useMultipleKeyTracki.keysPressedList,
|
155
|
+
usingMac = _useMultipleKeyTracki.usingMac;
|
172
156
|
var scrollBarSize = useMemo(function () {
|
173
157
|
return getScrollbarWidth();
|
174
158
|
}, []);
|
175
|
-
|
176
159
|
var _useTable = useTable({
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
160
|
+
columns: columns,
|
161
|
+
data: data,
|
162
|
+
defaultColumn: defaultColumn
|
163
|
+
}, useBlockLayout, useColumnOrder),
|
164
|
+
getTableProps = _useTable.getTableProps,
|
165
|
+
getTableBodyProps = _useTable.getTableBodyProps,
|
166
|
+
headerGroups = _useTable.headerGroups,
|
167
|
+
rows = _useTable.rows,
|
168
|
+
totalColumnsWidth = _useTable.totalColumnsWidth,
|
169
|
+
prepareRow = _useTable.prepareRow,
|
170
|
+
setColumnOrder = _useTable.setColumnOrder,
|
171
|
+
visibleColumns = _useTable.visibleColumns;
|
172
|
+
|
173
|
+
// Update the spreadsheet data after editing a cell
|
191
174
|
var updateData = useCallback(function (rowIndex, columnId, newValue) {
|
192
175
|
onDataUpdate(function (prev) {
|
193
176
|
return prev.map(function (row, index) {
|
194
177
|
if (index === rowIndex) {
|
195
178
|
return _objectSpread(_objectSpread({}, prev[rowIndex]), {}, _defineProperty({}, columnId, cellEditorValue || newValue));
|
196
179
|
}
|
197
|
-
|
198
180
|
return row;
|
199
181
|
});
|
200
182
|
});
|
201
|
-
}, [cellEditorValue, onDataUpdate]);
|
183
|
+
}, [cellEditorValue, onDataUpdate]);
|
202
184
|
|
185
|
+
// Removes the active cell element
|
203
186
|
var removeActiveCell = useCallback(function () {
|
204
187
|
var activeCellHighlight = spreadsheetRef.current.querySelector(".".concat(blockClass, "__active-cell--highlight"));
|
205
|
-
|
206
|
-
if (activeCellHighlight) {
|
207
|
-
activeCellHighlight.style.display = 'none';
|
208
|
-
}
|
188
|
+
activeCellHighlight.style.display = 'none';
|
209
189
|
}, [spreadsheetRef]);
|
210
190
|
var removeCellEditor = useCallback(function () {
|
211
191
|
setCellEditorValue('');
|
212
192
|
setIsEditing(false);
|
213
193
|
cellEditorRef.current.style.display = 'none';
|
214
|
-
}, []);
|
215
|
-
// happen if you click on another cell while isEditing is true
|
194
|
+
}, []);
|
216
195
|
|
196
|
+
// Remove cell editor if the active cell coordinates change and save with new cell data, this will
|
197
|
+
// happen if you click on another cell while isEditing is true
|
217
198
|
useEffect(function () {
|
218
199
|
var prevCoords = previousState === null || previousState === void 0 ? void 0 : previousState.activeCellCoordinates;
|
219
|
-
|
220
200
|
if (((prevCoords === null || prevCoords === void 0 ? void 0 : prevCoords.row) !== (activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.row) || (prevCoords === null || prevCoords === void 0 ? void 0 : prevCoords.column) !== (activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.column)) && isEditing) {
|
221
201
|
var cellProps = rows[prevCoords === null || prevCoords === void 0 ? void 0 : prevCoords.row].cells[prevCoords === null || prevCoords === void 0 ? void 0 : prevCoords.column];
|
222
202
|
removeCellEditor();
|
223
203
|
updateData(prevCoords === null || prevCoords === void 0 ? void 0 : prevCoords.row, cellProps.column.id);
|
224
204
|
cellEditorRulerRef.current.textContent = '';
|
225
205
|
}
|
226
|
-
|
227
206
|
if ((prevCoords === null || prevCoords === void 0 ? void 0 : prevCoords.row) !== (activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.row) || (prevCoords === null || prevCoords === void 0 ? void 0 : prevCoords.column) !== (activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.column)) {
|
228
207
|
if (activeCellCoordinates && (activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.row) !== 'header' && (activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.column) !== 'header') {
|
229
208
|
var activeCellFullData = typeof (activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.column) === 'number' && typeof (activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.row) === 'number' ? rows[activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.row].cells[activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.column] : null;
|
230
209
|
setActiveCellContent(activeCellFullData.render('Cell'));
|
231
210
|
}
|
232
|
-
|
233
211
|
if (activeCellCoordinates && (activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.row) === 'header' || (activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.column) === 'header') {
|
234
212
|
setActiveCellContent(null);
|
235
213
|
}
|
@@ -237,13 +215,13 @@ export var DataSpreadsheet = /*#__PURE__*/React.forwardRef(function (_ref, ref)
|
|
237
215
|
}, [activeCellCoordinates, previousState === null || previousState === void 0 ? void 0 : previousState.activeCellCoordinates, updateData, rows, isEditing, removeCellEditor, activeCellContent]);
|
238
216
|
var createActiveCell = useCallback(function (_ref2) {
|
239
217
|
var placementElement = _ref2.placementElement,
|
240
|
-
|
241
|
-
|
242
|
-
|
218
|
+
coords = _ref2.coords,
|
219
|
+
_ref2$addToHeader = _ref2.addToHeader,
|
220
|
+
addToHeader = _ref2$addToHeader === void 0 ? false : _ref2$addToHeader;
|
243
221
|
var activeCellFullData = typeof (coords === null || coords === void 0 ? void 0 : coords.column) === 'number' && typeof (coords === null || coords === void 0 ? void 0 : coords.row) === 'number' ? rows[coords === null || coords === void 0 ? void 0 : coords.row].cells[coords === null || coords === void 0 ? void 0 : coords.column] : null;
|
244
222
|
var activeCellValue = activeCellFullData ? Object.values(activeCellFullData.row.values)[coords === null || coords === void 0 ? void 0 : coords.column] : null;
|
245
|
-
var prevCoords = previousState === null || previousState === void 0 ? void 0 : previousState.activeCellCoordinates;
|
246
|
-
|
223
|
+
var prevCoords = previousState === null || previousState === void 0 ? void 0 : previousState.activeCellCoordinates;
|
224
|
+
// Only create an active cell if the activeCellCoordinates have changed
|
247
225
|
if ((prevCoords === null || prevCoords === void 0 ? void 0 : prevCoords.row) !== (coords === null || coords === void 0 ? void 0 : coords.row) || (prevCoords === null || prevCoords === void 0 ? void 0 : prevCoords.column) !== (coords === null || coords === void 0 ? void 0 : coords.column)) {
|
248
226
|
createActiveCellFn({
|
249
227
|
placementElement: placementElement,
|
@@ -283,30 +261,26 @@ export var DataSpreadsheet = /*#__PURE__*/React.forwardRef(function (_ref, ref)
|
|
283
261
|
// If activeCellCoordinates is null then we need to set an initial value
|
284
262
|
// which will place the activeCell on the select all cell/button
|
285
263
|
setActiveCellInsideSelectionArea(false);
|
286
|
-
|
287
264
|
if (!activeCellCoordinates) {
|
288
265
|
setActiveCellCoordinates({
|
289
266
|
column: 'header',
|
290
267
|
row: 'header'
|
291
268
|
});
|
292
269
|
}
|
293
|
-
|
294
270
|
return;
|
295
271
|
}, [activeCellCoordinates]);
|
296
272
|
var updateActiveCellCoordinates = useCallback(function (_ref3) {
|
297
273
|
var _ref3$coords = _ref3.coords,
|
298
|
-
|
299
|
-
|
300
|
-
|
301
|
-
|
302
|
-
|
274
|
+
coords = _ref3$coords === void 0 ? _objectSpread({}, activeCellCoordinates) : _ref3$coords,
|
275
|
+
updatedValue = _ref3.updatedValue,
|
276
|
+
_ref3$optOutOfSelecti = _ref3.optOutOfSelectionAreaUpdate,
|
277
|
+
optOutOfSelectionAreaUpdate = _ref3$optOutOfSelecti === void 0 ? false : _ref3$optOutOfSelecti;
|
303
278
|
var newActiveCell = _objectSpread(_objectSpread({}, coords), updatedValue);
|
304
|
-
|
305
|
-
|
279
|
+
setActiveCellCoordinates(newActiveCell);
|
280
|
+
// Only run if the active cell is _not_ a header cell. This will add a point1 object
|
306
281
|
// to selectionAreas every time the active cell changes, allowing us to create cell
|
307
282
|
// selections using keyboard. Opting out of the selection area updates here means
|
308
283
|
// that the active cell is being moved within a selection area
|
309
|
-
|
310
284
|
if (newActiveCell.row !== 'header' && newActiveCell.column !== 'header' && !optOutOfSelectionAreaUpdate) {
|
311
285
|
var tempMatcher = uuidv4();
|
312
286
|
setSelectionAreas([{
|
@@ -318,9 +292,7 @@ export var DataSpreadsheet = /*#__PURE__*/React.forwardRef(function (_ref, ref)
|
|
318
292
|
}, [activeCellCoordinates]);
|
319
293
|
var handleHomeEndKey = useCallback(function (_ref4) {
|
320
294
|
var type = _ref4.type;
|
321
|
-
|
322
295
|
var coordinatesClone = _objectSpread({}, activeCellCoordinates);
|
323
|
-
|
324
296
|
updateActiveCellCoordinates({
|
325
297
|
coords: coordinatesClone,
|
326
298
|
updatedValue: {
|
@@ -333,26 +305,21 @@ export var DataSpreadsheet = /*#__PURE__*/React.forwardRef(function (_ref, ref)
|
|
333
305
|
}, [activeCellCoordinates, updateActiveCellCoordinates, spreadsheetRef, columns.length]);
|
334
306
|
var handleKeyPress = useCallback(function (event) {
|
335
307
|
var key = event.key;
|
336
|
-
|
337
308
|
if (isEditing) {
|
338
309
|
return;
|
339
|
-
}
|
340
|
-
|
341
|
-
|
310
|
+
}
|
311
|
+
// Command keys need to be returned as there is default browser behavior with these keys
|
342
312
|
if (key === 'Meta' || key === 'Control') {
|
343
313
|
return;
|
344
|
-
}
|
345
|
-
|
346
|
-
|
314
|
+
}
|
315
|
+
// Prevent arrow keys, home key, and end key from scrolling the page when the data spreadsheet container has focus
|
347
316
|
if (['End', 'Home', 'ArrowLeft', 'ArrowUp', 'ArrowRight', 'ArrowDown'].indexOf(key) > -1 && !isEditing) {
|
348
317
|
event.preventDefault();
|
349
318
|
}
|
350
|
-
|
351
319
|
if (['Tab'].indexOf(key) > -1 && isEditing) {
|
352
320
|
return;
|
353
|
-
}
|
354
|
-
|
355
|
-
|
321
|
+
}
|
322
|
+
// Clear out all cell selection areas if user uses any arrow key, except if the shift key is being held
|
356
323
|
if (['ArrowLeft', 'ArrowUp', 'ArrowRight', 'ArrowDown'].indexOf(key) > -1) {
|
357
324
|
if (selectionAreas !== null && selectionAreas !== void 0 && selectionAreas.length && keysPressedList.length < 2 && !includesShift(keysPressedList)) {
|
358
325
|
setSelectionAreas([]);
|
@@ -362,7 +329,6 @@ export var DataSpreadsheet = /*#__PURE__*/React.forwardRef(function (_ref, ref)
|
|
362
329
|
});
|
363
330
|
}
|
364
331
|
}
|
365
|
-
|
366
332
|
if (!isEditing && (keysPressedList === null || keysPressedList === void 0 ? void 0 : keysPressedList.length) > 1) {
|
367
333
|
handleMultipleKeys({
|
368
334
|
activeCellCoordinates: activeCellCoordinates,
|
@@ -381,7 +347,6 @@ export var DataSpreadsheet = /*#__PURE__*/React.forwardRef(function (_ref, ref)
|
|
381
347
|
usingMac: usingMac
|
382
348
|
});
|
383
349
|
}
|
384
|
-
|
385
350
|
var deleteParams = {
|
386
351
|
selectionAreas: selectionAreas,
|
387
352
|
currentMatcher: currentMatcher,
|
@@ -389,9 +354,9 @@ export var DataSpreadsheet = /*#__PURE__*/React.forwardRef(function (_ref, ref)
|
|
389
354
|
setActiveCellContent: setActiveCellContent,
|
390
355
|
updateData: updateData,
|
391
356
|
activeCellCoordinates: activeCellCoordinates
|
392
|
-
};
|
357
|
+
};
|
358
|
+
// Allow arrow key navigation if there are less than two activeKeys OR
|
393
359
|
// if one of the activeCellCoordinates is in a header position
|
394
|
-
|
395
360
|
if (keysPressedList.length < 2 && !includesShift(keysPressedList) || activeCellCoordinates.row === 'header' || activeCellCoordinates.column === 'header') {
|
396
361
|
switch (key) {
|
397
362
|
// Backspace
|
@@ -401,14 +366,12 @@ export var DataSpreadsheet = /*#__PURE__*/React.forwardRef(function (_ref, ref)
|
|
401
366
|
break;
|
402
367
|
}
|
403
368
|
// Delete
|
404
|
-
|
405
369
|
case 'Delete':
|
406
370
|
{
|
407
371
|
handleCellDeletion(deleteParams);
|
408
372
|
break;
|
409
373
|
}
|
410
374
|
// Enter
|
411
|
-
|
412
375
|
case 'Enter':
|
413
376
|
{
|
414
377
|
handleActiveCellInSelectionEnter({
|
@@ -421,32 +384,27 @@ export var DataSpreadsheet = /*#__PURE__*/React.forwardRef(function (_ref, ref)
|
|
421
384
|
break;
|
422
385
|
}
|
423
386
|
// HOME
|
424
|
-
|
425
387
|
case 'Home':
|
426
388
|
{
|
427
389
|
if (includesResourceKey(keysPressedList, usingMac)) {
|
428
390
|
return;
|
429
391
|
}
|
430
|
-
|
431
392
|
handleHomeEndKey({
|
432
393
|
type: 'home'
|
433
394
|
});
|
434
395
|
break;
|
435
396
|
}
|
436
|
-
|
437
397
|
case 'End':
|
438
398
|
{
|
439
399
|
if (includesResourceKey(keysPressedList, usingMac)) {
|
440
400
|
return;
|
441
401
|
}
|
442
|
-
|
443
402
|
handleHomeEndKey({
|
444
403
|
type: 'end'
|
445
404
|
});
|
446
405
|
break;
|
447
406
|
}
|
448
407
|
// Tab
|
449
|
-
|
450
408
|
case 'Tab':
|
451
409
|
{
|
452
410
|
if (activeCellInsideSelectionArea) {
|
@@ -459,7 +417,6 @@ export var DataSpreadsheet = /*#__PURE__*/React.forwardRef(function (_ref, ref)
|
|
459
417
|
updateActiveCellCoordinates: updateActiveCellCoordinates
|
460
418
|
});
|
461
419
|
}
|
462
|
-
|
463
420
|
setSelectionAreas([]);
|
464
421
|
removeActiveCell();
|
465
422
|
removeCellEditor();
|
@@ -468,17 +425,13 @@ export var DataSpreadsheet = /*#__PURE__*/React.forwardRef(function (_ref, ref)
|
|
468
425
|
break;
|
469
426
|
}
|
470
427
|
// Left
|
471
|
-
|
472
428
|
case 'ArrowLeft':
|
473
429
|
{
|
474
430
|
handleInitialArrowPress();
|
475
|
-
|
476
431
|
var coordinatesClone = _objectSpread({}, activeCellCoordinates);
|
477
|
-
|
478
432
|
if (coordinatesClone.column === 'header') {
|
479
433
|
return;
|
480
434
|
}
|
481
|
-
|
482
435
|
if (typeof coordinatesClone.column === 'number') {
|
483
436
|
if (coordinatesClone.column === 0) {
|
484
437
|
updateActiveCellCoordinates({
|
@@ -489,7 +442,6 @@ export var DataSpreadsheet = /*#__PURE__*/React.forwardRef(function (_ref, ref)
|
|
489
442
|
});
|
490
443
|
return;
|
491
444
|
}
|
492
|
-
|
493
445
|
updateActiveCellCoordinates({
|
494
446
|
coords: coordinatesClone,
|
495
447
|
updatedValue: {
|
@@ -497,21 +449,16 @@ export var DataSpreadsheet = /*#__PURE__*/React.forwardRef(function (_ref, ref)
|
|
497
449
|
}
|
498
450
|
});
|
499
451
|
}
|
500
|
-
|
501
452
|
break;
|
502
453
|
}
|
503
454
|
// Up
|
504
|
-
|
505
455
|
case 'ArrowUp':
|
506
456
|
{
|
507
457
|
handleInitialArrowPress();
|
508
|
-
|
509
458
|
var _coordinatesClone = _objectSpread({}, activeCellCoordinates);
|
510
|
-
|
511
459
|
if (_coordinatesClone.row === 'header') {
|
512
460
|
return;
|
513
461
|
}
|
514
|
-
|
515
462
|
if (typeof _coordinatesClone.row === 'number') {
|
516
463
|
// set row back to header if we are at index 0
|
517
464
|
if (_coordinatesClone.row === 0) {
|
@@ -522,9 +469,8 @@ export var DataSpreadsheet = /*#__PURE__*/React.forwardRef(function (_ref, ref)
|
|
522
469
|
}
|
523
470
|
});
|
524
471
|
return;
|
525
|
-
}
|
526
|
-
|
527
|
-
|
472
|
+
}
|
473
|
+
// if we are at any other index than 0, subtract 1 from current row index
|
528
474
|
updateActiveCellCoordinates({
|
529
475
|
coords: _coordinatesClone,
|
530
476
|
updatedValue: {
|
@@ -532,17 +478,13 @@ export var DataSpreadsheet = /*#__PURE__*/React.forwardRef(function (_ref, ref)
|
|
532
478
|
}
|
533
479
|
});
|
534
480
|
}
|
535
|
-
|
536
481
|
break;
|
537
482
|
}
|
538
483
|
// Right
|
539
|
-
|
540
484
|
case 'ArrowRight':
|
541
485
|
{
|
542
486
|
handleInitialArrowPress();
|
543
|
-
|
544
487
|
var _coordinatesClone2 = _objectSpread({}, activeCellCoordinates);
|
545
|
-
|
546
488
|
if (_coordinatesClone2.column === 'header') {
|
547
489
|
updateActiveCellCoordinates({
|
548
490
|
coords: _coordinatesClone2,
|
@@ -551,14 +493,12 @@ export var DataSpreadsheet = /*#__PURE__*/React.forwardRef(function (_ref, ref)
|
|
551
493
|
}
|
552
494
|
});
|
553
495
|
}
|
554
|
-
|
555
496
|
if (typeof _coordinatesClone2.column === 'number') {
|
556
497
|
// Prevent active cell coordinates from updating if the active
|
557
498
|
// cell is in the last column, ie we can't go any further to the right
|
558
499
|
if (columns.length - 1 === _coordinatesClone2.column) {
|
559
500
|
return;
|
560
501
|
}
|
561
|
-
|
562
502
|
updateActiveCellCoordinates({
|
563
503
|
coords: _coordinatesClone2,
|
564
504
|
updatedValue: {
|
@@ -566,17 +506,13 @@ export var DataSpreadsheet = /*#__PURE__*/React.forwardRef(function (_ref, ref)
|
|
566
506
|
}
|
567
507
|
});
|
568
508
|
}
|
569
|
-
|
570
509
|
break;
|
571
510
|
}
|
572
511
|
// Down
|
573
|
-
|
574
512
|
case 'ArrowDown':
|
575
513
|
{
|
576
514
|
handleInitialArrowPress();
|
577
|
-
|
578
515
|
var _coordinatesClone3 = _objectSpread({}, activeCellCoordinates);
|
579
|
-
|
580
516
|
if (_coordinatesClone3.row === 'header') {
|
581
517
|
updateActiveCellCoordinates({
|
582
518
|
coords: _coordinatesClone3,
|
@@ -585,7 +521,6 @@ export var DataSpreadsheet = /*#__PURE__*/React.forwardRef(function (_ref, ref)
|
|
585
521
|
}
|
586
522
|
});
|
587
523
|
}
|
588
|
-
|
589
524
|
if (typeof _coordinatesClone3.row === 'number') {
|
590
525
|
// Prevent active cell coordinates from updating if the active
|
591
526
|
// cell is in the last row, ie we can't go any further down since
|
@@ -593,7 +528,6 @@ export var DataSpreadsheet = /*#__PURE__*/React.forwardRef(function (_ref, ref)
|
|
593
528
|
if (rows.length - 1 === _coordinatesClone3.row) {
|
594
529
|
return;
|
595
530
|
}
|
596
|
-
|
597
531
|
updateActiveCellCoordinates({
|
598
532
|
coords: _coordinatesClone3,
|
599
533
|
updatedValue: {
|
@@ -601,13 +535,11 @@ export var DataSpreadsheet = /*#__PURE__*/React.forwardRef(function (_ref, ref)
|
|
601
535
|
}
|
602
536
|
});
|
603
537
|
}
|
604
|
-
|
605
538
|
break;
|
606
539
|
}
|
607
540
|
}
|
608
541
|
}
|
609
542
|
}, [activeCellInsideSelectionArea, updateActiveCellCoordinates, handleInitialArrowPress, activeCellCoordinates, removeActiveCell, columns, rows, spreadsheetRef, currentMatcher, isEditing, removeCellEditor, selectionAreas, handleHomeEndKey, keysPressedList, usingMac, updateData]);
|
610
|
-
|
611
543
|
var startEditMode = function startEditMode() {
|
612
544
|
setIsEditing(true);
|
613
545
|
setClickAndHoldActive(false);
|
@@ -616,40 +548,36 @@ export var DataSpreadsheet = /*#__PURE__*/React.forwardRef(function (_ref, ref)
|
|
616
548
|
setCellEditorValue(activeCellValue);
|
617
549
|
cellEditorRulerRef.current.textContent = activeCellValue;
|
618
550
|
cellEditorRef.current.style.width = activeCellRef === null || activeCellRef === void 0 ? void 0 : activeCellRef.current.style.width;
|
619
|
-
};
|
620
|
-
// this is not done for us by default in Safari
|
621
|
-
|
551
|
+
};
|
622
552
|
|
553
|
+
// Sets the initial placement of the cell editor cursor at the end of the text area
|
554
|
+
// this is not done for us by default in Safari
|
623
555
|
useEffect(function () {
|
624
556
|
if (isEditing && !(previousState !== null && previousState !== void 0 && previousState.isEditing)) {
|
625
557
|
cellEditorRef.current.setSelectionRange(cellEditorRulerRef.current.textContent.length, cellEditorRulerRef.current.textContent.length);
|
626
558
|
cellEditorRef.current.focus();
|
627
559
|
}
|
628
560
|
}, [isEditing, previousState === null || previousState === void 0 ? void 0 : previousState.isEditing]);
|
629
|
-
|
630
561
|
var handleActiveCellClick = function handleActiveCellClick() {
|
631
562
|
if ((activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.row) === 'header' || (activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.column) === 'header') {
|
632
563
|
var indexValue = (activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.row) === 'header' ? activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.column : activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.row;
|
633
|
-
|
634
564
|
if ((activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.row) === 'header' && (activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.column) === 'header') {
|
635
565
|
return;
|
636
566
|
}
|
637
|
-
|
638
567
|
handleRowColumnHeaderClick({
|
639
568
|
isKeyboard: false,
|
640
569
|
index: indexValue
|
641
570
|
});
|
642
571
|
}
|
643
|
-
|
644
572
|
return;
|
645
|
-
};
|
646
|
-
|
573
|
+
};
|
647
574
|
|
575
|
+
// Mouse up on active cell
|
648
576
|
var handleActiveCellMouseUp = function handleActiveCellMouseUp() {
|
649
577
|
setClickAndHoldActive(false);
|
650
|
-
};
|
651
|
-
|
578
|
+
};
|
652
579
|
|
580
|
+
// Mouse down on active cell
|
653
581
|
var handleActiveCellMouseDown = function handleActiveCellMouseDown() {
|
654
582
|
if ((activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.row) !== 'header' || (activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.column) !== 'header') {
|
655
583
|
var tempMatcher = uuidv4();
|
@@ -665,19 +593,16 @@ export var DataSpreadsheet = /*#__PURE__*/React.forwardRef(function (_ref, ref)
|
|
665
593
|
setSelectionAreaData([]);
|
666
594
|
setActiveCellInsideSelectionArea(false);
|
667
595
|
}
|
668
|
-
|
669
596
|
return;
|
670
|
-
};
|
671
|
-
|
597
|
+
};
|
672
598
|
|
599
|
+
// Go into edit mode if 'Enter' key is pressed on activeCellRef
|
673
600
|
var handleActiveCellKeyDown = function handleActiveCellKeyDown(event) {
|
674
601
|
var key = event.key;
|
675
|
-
|
676
602
|
if (key === 'Enter' && !activeCellInsideSelectionArea) {
|
677
603
|
if ((activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.column) !== 'header' && (activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.row) !== 'header') {
|
678
604
|
startEditMode();
|
679
605
|
}
|
680
|
-
|
681
606
|
if ((activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.row) === 'header' || (activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.column) === 'header') {
|
682
607
|
handleRowColumnHeaderClick({
|
683
608
|
isKeyboard: true
|
@@ -685,11 +610,10 @@ export var DataSpreadsheet = /*#__PURE__*/React.forwardRef(function (_ref, ref)
|
|
685
610
|
}
|
686
611
|
}
|
687
612
|
};
|
688
|
-
|
689
613
|
var handleRowColumnHeaderClick = function handleRowColumnHeaderClick(_ref5) {
|
690
614
|
var isKeyboard = _ref5.isKeyboard,
|
691
|
-
|
692
|
-
|
615
|
+
_ref5$index = _ref5.index,
|
616
|
+
index = _ref5$index === void 0 ? null : _ref5$index;
|
693
617
|
var handleHeaderCellProps = {
|
694
618
|
activeCellCoordinates: activeCellCoordinates,
|
695
619
|
rows: rows,
|
@@ -702,21 +626,19 @@ export var DataSpreadsheet = /*#__PURE__*/React.forwardRef(function (_ref, ref)
|
|
702
626
|
setSelectionAreaData: setSelectionAreaData,
|
703
627
|
index: index,
|
704
628
|
currentMatcher: currentMatcher
|
705
|
-
};
|
706
|
-
|
629
|
+
};
|
630
|
+
// Select an entire column
|
707
631
|
if ((activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.row) === 'header' && (activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.column) !== 'header') {
|
708
632
|
handleHeaderCellSelection(_objectSpread({
|
709
633
|
type: 'column'
|
710
634
|
}, handleHeaderCellProps));
|
711
|
-
}
|
712
|
-
|
713
|
-
|
635
|
+
}
|
636
|
+
// Select an entire row
|
714
637
|
if ((activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.column) === 'header' && (activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.row) !== 'header') {
|
715
638
|
handleHeaderCellSelection(_objectSpread({
|
716
639
|
type: 'row'
|
717
640
|
}, handleHeaderCellProps));
|
718
641
|
}
|
719
|
-
|
720
642
|
if ((activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.column) === 'header' && (activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.row) === 'header') {
|
721
643
|
selectAllCells({
|
722
644
|
ref: spreadsheetRef,
|
@@ -728,13 +650,12 @@ export var DataSpreadsheet = /*#__PURE__*/React.forwardRef(function (_ref, ref)
|
|
728
650
|
updateActiveCellCoordinates: updateActiveCellCoordinates
|
729
651
|
});
|
730
652
|
}
|
731
|
-
};
|
732
|
-
|
653
|
+
};
|
733
654
|
|
655
|
+
// Go into edit mode if double click is detected on activeCellRef
|
734
656
|
var handleActiveCellDoubleClick = function handleActiveCellDoubleClick() {
|
735
657
|
startEditMode();
|
736
658
|
};
|
737
|
-
|
738
659
|
useSpreadsheetEdit({
|
739
660
|
isEditing: isEditing,
|
740
661
|
rows: rows,
|
@@ -748,27 +669,25 @@ export var DataSpreadsheet = /*#__PURE__*/React.forwardRef(function (_ref, ref)
|
|
748
669
|
});
|
749
670
|
var handleActiveCellMouseEnter = useCallback(function () {
|
750
671
|
handleActiveCellMouseEnterCallback(selectionAreas, clickAndHoldActive);
|
751
|
-
}, [clickAndHoldActive, selectionAreas, handleActiveCellMouseEnterCallback]);
|
672
|
+
}, [clickAndHoldActive, selectionAreas, handleActiveCellMouseEnterCallback]);
|
673
|
+
|
674
|
+
// Only update if there are cell selection areas
|
752
675
|
// Find point object that matches currentMatcher and remove the second point
|
753
676
|
// because hovering over the active cell while clicking and holding should
|
754
677
|
// remove the previously existing selection area
|
755
|
-
|
756
678
|
var handleActiveCellMouseEnterCallback = useCallback(function (areas, clickHold) {
|
757
679
|
if (!currentMatcher) {
|
758
680
|
return;
|
759
681
|
}
|
760
|
-
|
761
682
|
if (areas && areas.length && clickHold && currentMatcher) {
|
762
683
|
setSelectionAreas(function (prev) {
|
763
684
|
var selectionAreaClone = deepCloneObject(prev);
|
764
685
|
var indexOfItemToUpdate = selectionAreaClone.findIndex(function (item) {
|
765
686
|
return item.matcher === currentMatcher;
|
766
687
|
});
|
767
|
-
|
768
688
|
if (indexOfItemToUpdate === -1) {
|
769
689
|
return prev;
|
770
690
|
}
|
771
|
-
|
772
691
|
if (_typeof(selectionAreaClone[indexOfItemToUpdate].point2) === 'object' && selectionAreaClone[indexOfItemToUpdate].areaCreated) {
|
773
692
|
selectionAreaClone[indexOfItemToUpdate].point2 = selectionAreaClone[indexOfItemToUpdate].point1;
|
774
693
|
selectionAreaClone[indexOfItemToUpdate].areaCreated = false;
|
@@ -779,7 +698,6 @@ export var DataSpreadsheet = /*#__PURE__*/React.forwardRef(function (_ref, ref)
|
|
779
698
|
});
|
780
699
|
return selectionAreaClone;
|
781
700
|
}
|
782
|
-
|
783
701
|
return prev;
|
784
702
|
});
|
785
703
|
}
|
@@ -889,26 +807,27 @@ export var DataSpreadsheet = /*#__PURE__*/React.forwardRef(function (_ref, ref)
|
|
889
807
|
ref: cellEditorRulerRef,
|
890
808
|
className: "".concat(blockClass, "__cell-editor-ruler")
|
891
809
|
})));
|
892
|
-
});
|
810
|
+
});
|
811
|
+
|
812
|
+
// Return a placeholder if not released and not enabled by feature flag
|
813
|
+
DataSpreadsheet = pkg.checkComponentEnabled(DataSpreadsheet, componentName);
|
893
814
|
|
894
|
-
|
815
|
+
// The display name of the component, used by React. Note that displayName
|
895
816
|
// is used in preference to relying on function.name.
|
817
|
+
DataSpreadsheet.displayName = componentName;
|
896
818
|
|
897
|
-
|
819
|
+
// The types and DocGen commentary for the component props,
|
898
820
|
// in alphabetical order (for consistency).
|
899
821
|
// See https://www.npmjs.com/package/prop-types#usage.
|
900
|
-
|
901
822
|
DataSpreadsheet.propTypes = {
|
902
823
|
/**
|
903
824
|
* Specifies the cell height
|
904
825
|
*/
|
905
826
|
cellSize: PropTypes.oneOf(['xs', 'sm', 'md', 'lg']),
|
906
|
-
|
907
827
|
/**
|
908
828
|
* Provide an optional class to be applied to the containing node.
|
909
829
|
*/
|
910
830
|
className: PropTypes.string,
|
911
|
-
|
912
831
|
/**
|
913
832
|
* The data that will build the column headers
|
914
833
|
*/
|
@@ -916,59 +835,49 @@ DataSpreadsheet.propTypes = {
|
|
916
835
|
Header: PropTypes.string,
|
917
836
|
accessor: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),
|
918
837
|
Cell: PropTypes.func // optional cell formatter
|
919
|
-
|
920
838
|
})),
|
921
839
|
|
922
840
|
/**
|
923
841
|
* The spreadsheet data that will be rendered in the body of the spreadsheet component
|
924
842
|
*/
|
925
843
|
data: PropTypes.arrayOf(PropTypes.shape),
|
926
|
-
|
927
844
|
/**
|
928
845
|
* Sets the number of empty rows to be created when there is no data provided
|
929
846
|
*/
|
930
847
|
defaultEmptyRowCount: PropTypes.number,
|
931
|
-
|
932
848
|
/**
|
933
849
|
* The spreadsheet id
|
934
850
|
*/
|
935
851
|
id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
|
936
|
-
|
937
852
|
/**
|
938
853
|
* The event handler that is called when the active cell changes
|
939
854
|
*/
|
940
855
|
onActiveCellChange: PropTypes.func,
|
941
|
-
|
942
856
|
/**
|
943
857
|
* The setter fn for the data prop
|
944
858
|
*/
|
945
859
|
onDataUpdate: PropTypes.func,
|
946
|
-
|
947
860
|
/**
|
948
861
|
* The event handler that is called when the selection area values change
|
949
862
|
*/
|
950
863
|
onSelectionAreaChange: PropTypes.func,
|
951
|
-
|
952
864
|
/**
|
953
865
|
* The aria label applied to the Select all button
|
954
866
|
*/
|
955
867
|
selectAllAriaLabel: PropTypes.string.isRequired,
|
956
|
-
|
957
868
|
/**
|
958
869
|
* The aria label applied to the Data spreadsheet component
|
959
870
|
*/
|
960
871
|
spreadsheetAriaLabel: PropTypes.string.isRequired,
|
961
|
-
|
962
872
|
/**
|
963
873
|
* The theme the DataSpreadsheet should use (only used to render active cell/selection area colors on dark theme)
|
964
874
|
*/
|
965
875
|
theme: PropTypes.oneOf(['light', 'dark']),
|
966
|
-
|
967
876
|
/**
|
968
877
|
* The total number of columns to be initially visible, additional columns will be rendered and
|
969
878
|
* visible via horizontal scrollbar
|
970
879
|
*/
|
971
880
|
totalVisibleColumns: PropTypes.number
|
972
|
-
/* TODO: add types and DocGen for all props. */
|
973
881
|
|
882
|
+
/* TODO: add types and DocGen for all props. */
|
974
883
|
};
|