@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
|
@@ -4,28 +4,31 @@ import _typeof from "@babel/runtime/helpers/typeof";
|
|
|
4
4
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
5
5
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
6
6
|
var _excluded = ["buttonTooltipAlignment", "buttonTooltipPosition", "cancelDescription", "className", "disabled", "editAlwaysVisible", "editDescription", "id", "invalid", "invalidText", "labelText", "light", "onCancel", "onSave", "onChange", "placeholder", "saveDescription", "size", "value"];
|
|
7
|
-
|
|
8
7
|
/**
|
|
9
8
|
* Copyright IBM Corp. 2022, 2022
|
|
10
9
|
*
|
|
11
10
|
* This source code is licensed under the Apache-2.0 license found in the
|
|
12
11
|
* LICENSE file in the root directory of this source tree.
|
|
13
12
|
*/
|
|
13
|
+
|
|
14
14
|
// Import portions of React that are needed.
|
|
15
|
-
import React, { useRef, useState } from 'react';
|
|
15
|
+
import React, { useRef, useState } from 'react';
|
|
16
16
|
|
|
17
|
+
// Other standard imports.
|
|
17
18
|
import PropTypes from 'prop-types';
|
|
18
19
|
import cx from 'classnames';
|
|
19
20
|
import { getDevtoolsProps } from '../../global/js/utils/devtools';
|
|
20
|
-
import { pkg, carbon } from '../../settings';
|
|
21
|
+
import { pkg, carbon } from '../../settings';
|
|
21
22
|
|
|
23
|
+
// Carbon and package components we use.
|
|
22
24
|
/* TODO: @import(s) of carbon components and other package components. */
|
|
23
|
-
|
|
24
25
|
import { Button } from 'carbon-components-react';
|
|
25
|
-
import { Close16, Edit16, EditOff16, Checkmark16, WarningFilled16 } from '@carbon/icons-react';
|
|
26
|
+
import { Close16, Edit16, EditOff16, Checkmark16, WarningFilled16 } from '@carbon/icons-react';
|
|
26
27
|
|
|
28
|
+
// The block part of our conventional BEM class names (blockClass__E--M).
|
|
27
29
|
var blockClass = "".concat(pkg.prefix, "--inline-edit");
|
|
28
|
-
var componentName = 'InlineEdit';
|
|
30
|
+
var componentName = 'InlineEdit';
|
|
31
|
+
// NOTE: the component SCSS is not imported here: it is rolled up separately.
|
|
29
32
|
|
|
30
33
|
var defaults = {
|
|
31
34
|
buttonTooltipAlignment: 'center',
|
|
@@ -35,63 +38,56 @@ var defaults = {
|
|
|
35
38
|
size: 'md'
|
|
36
39
|
};
|
|
37
40
|
var buttons = ['cancel', 'edit', 'save'];
|
|
41
|
+
|
|
38
42
|
/**
|
|
39
43
|
* TODO: A description of the component.
|
|
40
44
|
*/
|
|
41
|
-
|
|
42
45
|
export var InlineEdit = /*#__PURE__*/React.forwardRef(function (_ref, refIn) {
|
|
43
46
|
var _cx, _refInput$current, _refInput$current$tex, _cx3;
|
|
44
|
-
|
|
45
47
|
var buttonTooltipAlignment = _ref.buttonTooltipAlignment,
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
48
|
+
buttonTooltipPosition = _ref.buttonTooltipPosition,
|
|
49
|
+
cancelDescription = _ref.cancelDescription,
|
|
50
|
+
className = _ref.className,
|
|
51
|
+
disabled = _ref.disabled,
|
|
52
|
+
editAlwaysVisible = _ref.editAlwaysVisible,
|
|
53
|
+
editDescription = _ref.editDescription,
|
|
54
|
+
id = _ref.id,
|
|
55
|
+
invalid = _ref.invalid,
|
|
56
|
+
invalidText = _ref.invalidText,
|
|
57
|
+
labelText = _ref.labelText,
|
|
58
|
+
_ref$light = _ref.light,
|
|
59
|
+
light = _ref$light === void 0 ? defaults.light : _ref$light,
|
|
60
|
+
onCancel = _ref.onCancel,
|
|
61
|
+
onSave = _ref.onSave,
|
|
62
|
+
onChange = _ref.onChange,
|
|
63
|
+
placeholder = _ref.placeholder,
|
|
64
|
+
saveDescription = _ref.saveDescription,
|
|
65
|
+
_ref$size = _ref.size,
|
|
66
|
+
size = _ref$size === void 0 ? defaults.size : _ref$size,
|
|
67
|
+
value = _ref.value,
|
|
68
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
|
68
69
|
var refInput = useRef({
|
|
69
70
|
textContent: value
|
|
70
71
|
});
|
|
71
72
|
var localRef = useRef(null);
|
|
72
73
|
var ref = refIn || localRef;
|
|
73
|
-
|
|
74
74
|
var _useState = useState(false),
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
75
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
76
|
+
editing = _useState2[0],
|
|
77
|
+
setEditing = _useState2[1];
|
|
79
78
|
var _useState3 = useState(value),
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
79
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
80
|
+
internalValue = _useState4[0],
|
|
81
|
+
setInternalValue = _useState4[1];
|
|
84
82
|
var showValidation = invalid; // || warn;
|
|
85
|
-
|
|
86
83
|
var validationText = invalidText; // || warnText;
|
|
84
|
+
var validationIcon = showValidation ? /*#__PURE__*/React.createElement(WarningFilled16, null) : null;
|
|
87
85
|
|
|
88
|
-
|
|
89
|
-
|
|
86
|
+
// sanitize the tooltip values
|
|
90
87
|
var alignIsObject = _typeof(buttonTooltipAlignment) === 'object';
|
|
91
88
|
var directionIsObject = _typeof(buttonTooltipPosition) === 'object';
|
|
92
89
|
var tipPositions = buttons.reduce(function (acc, button) {
|
|
93
90
|
var _ref2, _ref3;
|
|
94
|
-
|
|
95
91
|
var tooltipAlignment = (_ref2 = alignIsObject ? buttonTooltipAlignment[button] : buttonTooltipAlignment) !== null && _ref2 !== void 0 ? _ref2 : defaults.buttonTooltipAlignment;
|
|
96
92
|
var tooltipPosition = (_ref3 = directionIsObject ? buttonTooltipPosition[button] : buttonTooltipPosition) !== null && _ref3 !== void 0 ? _ref3 : defaults.buttonTooltipPosition;
|
|
97
93
|
acc[button] = {
|
|
@@ -100,29 +96,26 @@ export var InlineEdit = /*#__PURE__*/React.forwardRef(function (_ref, refIn) {
|
|
|
100
96
|
};
|
|
101
97
|
return acc;
|
|
102
98
|
}, {});
|
|
103
|
-
|
|
104
99
|
var doSetEditing = function doSetEditing(value) {
|
|
105
100
|
if (value === false) {
|
|
106
101
|
// move scroll to start
|
|
107
102
|
refInput.current.scrollLeft = 0;
|
|
108
103
|
}
|
|
109
|
-
|
|
110
104
|
setEditing(!disabled && value);
|
|
111
105
|
};
|
|
112
|
-
|
|
113
106
|
var handleEdit = function handleEdit(ev) {
|
|
114
107
|
/* istanbul ignore else */
|
|
115
108
|
if (!disabled) {
|
|
116
109
|
var rightOfInput = ev.currentTarget.classList.contains("".concat(blockClass, "__edit")) || ev.target.classList.contains("".concat(blockClass, "__after-input-elements"));
|
|
117
|
-
var leftOfInput = ev.currentTarget = ev.target.classList.contains("".concat(blockClass));
|
|
110
|
+
var leftOfInput = ev.currentTarget = ev.target.classList.contains("".concat(blockClass));
|
|
118
111
|
|
|
112
|
+
// clicking on the content editable element should not set either of these to true
|
|
119
113
|
if (rightOfInput || leftOfInput) {
|
|
120
114
|
doSetEditing(true);
|
|
121
115
|
setTimeout(function () {
|
|
122
|
-
refInput.current.focus();
|
|
123
|
-
|
|
116
|
+
refInput.current.focus();
|
|
117
|
+
// select all the content
|
|
124
118
|
document.getSelection().selectAllChildren(refInput.current);
|
|
125
|
-
|
|
126
119
|
if (rightOfInput) {
|
|
127
120
|
document.getSelection().collapseToEnd();
|
|
128
121
|
refInput.current.scrollLeft = 9999; // never going to get there but ensures at end.
|
|
@@ -134,40 +127,34 @@ export var InlineEdit = /*#__PURE__*/React.forwardRef(function (_ref, refIn) {
|
|
|
134
127
|
}
|
|
135
128
|
}
|
|
136
129
|
};
|
|
137
|
-
|
|
138
130
|
var handleFocus = function handleFocus(ev) {
|
|
139
131
|
ev.preventDefault();
|
|
140
|
-
|
|
141
132
|
if (!editing && ev.target.classList.contains("".concat(blockClass, "__input"))) {
|
|
142
133
|
doSetEditing(true);
|
|
143
134
|
}
|
|
144
135
|
};
|
|
145
|
-
|
|
146
136
|
var handleSave = function handleSave() {
|
|
147
137
|
doSetEditing(false);
|
|
148
138
|
document.getSelection().removeAllRanges();
|
|
149
|
-
|
|
150
139
|
if (onSave) {
|
|
151
140
|
onSave(refInput.current.textContent);
|
|
152
141
|
}
|
|
153
142
|
};
|
|
154
|
-
|
|
155
143
|
var handleInput = function handleInput() {
|
|
156
144
|
setInternalValue(refInput.current.textContent);
|
|
157
|
-
|
|
158
145
|
if (onChange) {
|
|
159
146
|
onChange(refInput.current.textContent);
|
|
160
147
|
}
|
|
161
|
-
};
|
|
162
|
-
|
|
148
|
+
};
|
|
163
149
|
|
|
164
|
-
|
|
165
|
-
/* istanbul ignore next */
|
|
166
|
-
|
|
167
|
-
ev.preventDefault(); // Get clipboard as plain text
|
|
150
|
+
// pasting into contentEditable not supported by userEvent
|
|
151
|
+
var handlePaste = /* istanbul ignore next */function handlePaste(ev) {
|
|
152
|
+
ev.preventDefault();
|
|
168
153
|
|
|
169
|
-
|
|
154
|
+
// Get clipboard as plain text
|
|
155
|
+
var text = (ev.clipboardData || window.clipboardData).getData('text/plain');
|
|
170
156
|
|
|
157
|
+
// remove \n
|
|
171
158
|
var sanitizedText = text.replaceAll(/\n/g, '') // remove carriage returns
|
|
172
159
|
.replaceAll(/\t/g, ' '); // replace tab with two spaces
|
|
173
160
|
|
|
@@ -178,48 +165,45 @@ export var InlineEdit = /*#__PURE__*/React.forwardRef(function (_ref, refIn) {
|
|
|
178
165
|
var range = document.getSelection().getRangeAt(0);
|
|
179
166
|
range.deleteContents();
|
|
180
167
|
var textNode = document.createTextNode(sanitizedText);
|
|
181
|
-
range.insertNode(textNode);
|
|
182
|
-
|
|
168
|
+
range.insertNode(textNode);
|
|
169
|
+
// move selection end of textNode
|
|
183
170
|
range.selectNodeContents(textNode);
|
|
184
|
-
range.collapse(false);
|
|
171
|
+
range.collapse(false);
|
|
185
172
|
|
|
173
|
+
// remove existing range
|
|
186
174
|
var selection = document.getSelection();
|
|
187
|
-
selection.removeAllRanges();
|
|
175
|
+
selection.removeAllRanges();
|
|
188
176
|
|
|
177
|
+
// set the new range
|
|
189
178
|
selection.addRange(range);
|
|
190
179
|
}
|
|
191
180
|
};
|
|
192
|
-
|
|
193
181
|
var handleCancel = function handleCancel() {
|
|
194
182
|
refInput.current.textContent = value;
|
|
195
183
|
handleInput(value);
|
|
196
184
|
doSetEditing(false);
|
|
197
185
|
document.getSelection().removeAllRanges();
|
|
198
|
-
|
|
199
186
|
if (onCancel) {
|
|
200
187
|
onCancel(value);
|
|
201
188
|
}
|
|
202
189
|
};
|
|
203
|
-
|
|
204
190
|
var handleBlur = function handleBlur(ev) {
|
|
205
191
|
if (!ref.current.contains(ev.relatedTarget)) {
|
|
206
192
|
handleSave();
|
|
207
193
|
}
|
|
208
194
|
};
|
|
209
|
-
|
|
210
195
|
var handleKeyDown = function handleKeyDown(ev) {
|
|
211
196
|
switch (ev.key) {
|
|
212
197
|
case 'Enter':
|
|
213
198
|
ev.preventDefault();
|
|
214
199
|
refInput.current.blur(); // will cause save
|
|
215
|
-
|
|
216
200
|
break;
|
|
217
|
-
|
|
218
201
|
case 'Escape':
|
|
219
202
|
handleCancel();
|
|
220
203
|
break;
|
|
221
204
|
}
|
|
222
205
|
};
|
|
206
|
+
|
|
223
207
|
/*
|
|
224
208
|
The HTML is structured as follows:
|
|
225
209
|
<container>
|
|
@@ -243,13 +227,13 @@ export var InlineEdit = /*#__PURE__*/React.forwardRef(function (_ref, refIn) {
|
|
|
243
227
|
- Placing the cursor at the start or end depending on area clicked (before for left-padding)
|
|
244
228
|
*/
|
|
245
229
|
|
|
246
|
-
|
|
247
230
|
var toolbarAnimation = true;
|
|
248
231
|
return (
|
|
249
232
|
/*#__PURE__*/
|
|
250
233
|
// eslint-disable-next-line
|
|
251
234
|
React.createElement("div", {
|
|
252
|
-
className: cx(blockClass,
|
|
235
|
+
className: cx(blockClass,
|
|
236
|
+
// Apply the block class to the main HTML element
|
|
253
237
|
className, // Apply any supplied class names to the main HTML element.
|
|
254
238
|
"".concat(blockClass, "--").concat(size), (_cx = {}, _defineProperty(_cx, "".concat(blockClass, "--disabled"), disabled), _defineProperty(_cx, "".concat(blockClass, "--editing"), editing), _defineProperty(_cx, "".concat(blockClass, "--invalid"), invalid), _defineProperty(_cx, "".concat(blockClass, "--light"), light), _defineProperty(_cx, "".concat(blockClass, "--overflows"), refInput.current && refInput.current.scrollWidth > refInput.current.offsetWidth), _cx)),
|
|
255
239
|
onClick: handleEdit // disabled eslint for click handler
|
|
@@ -272,7 +256,8 @@ export var InlineEdit = /*#__PURE__*/React.forwardRef(function (_ref, refIn) {
|
|
|
272
256
|
ref: refInput,
|
|
273
257
|
"data-placeholder": placeholder
|
|
274
258
|
}), value), /*#__PURE__*/React.createElement("div", {
|
|
275
|
-
className: cx("".concat(blockClass, "__after-input-elements"))
|
|
259
|
+
className: cx("".concat(blockClass, "__after-input-elements"))
|
|
260
|
+
// tabindex -1 fixes blur target test when clicking on after-input-elements background
|
|
276
261
|
,
|
|
277
262
|
tabIndex: "-1"
|
|
278
263
|
}, /*#__PURE__*/React.createElement("div", {
|
|
@@ -312,15 +297,18 @@ export var InlineEdit = /*#__PURE__*/React.forwardRef(function (_ref, refIn) {
|
|
|
312
297
|
className: "".concat(blockClass, "__validation-text ").concat(carbon.prefix, "--form-requirement")
|
|
313
298
|
}, validationText))
|
|
314
299
|
);
|
|
315
|
-
});
|
|
300
|
+
});
|
|
301
|
+
|
|
302
|
+
// Return a placeholder if not released and not enabled by feature flag
|
|
303
|
+
InlineEdit = pkg.checkComponentEnabled(InlineEdit, componentName);
|
|
316
304
|
|
|
317
|
-
|
|
305
|
+
// The display name of the component, used by React. Note that displayName
|
|
318
306
|
// is used in preference to relying on function.name.
|
|
307
|
+
InlineEdit.displayName = componentName;
|
|
319
308
|
|
|
320
|
-
|
|
309
|
+
// The types and DocGen commentary for the component props,
|
|
321
310
|
// in alphabetical order (for consistency).
|
|
322
311
|
// See https://www.npmjs.com/package/prop-types#usage.
|
|
323
|
-
|
|
324
312
|
InlineEdit.propTypes = {
|
|
325
313
|
/**
|
|
326
314
|
* buttonTooltipAlignment from the standard tooltip. Default center.
|
|
@@ -332,7 +320,6 @@ InlineEdit.propTypes = {
|
|
|
332
320
|
edit: PropTypes.oneOf(['start', 'center', 'end']),
|
|
333
321
|
save: PropTypes.oneOf(['start', 'center', 'end'])
|
|
334
322
|
})]),
|
|
335
|
-
|
|
336
323
|
/**
|
|
337
324
|
* buttonTooltipPosition from the standard tooltip
|
|
338
325
|
*
|
|
@@ -343,91 +330,74 @@ InlineEdit.propTypes = {
|
|
|
343
330
|
edit: PropTypes.oneOf(['top', 'right', 'bottom', 'left']),
|
|
344
331
|
save: PropTypes.oneOf(['top', 'right', 'bottom', 'left'])
|
|
345
332
|
})]),
|
|
346
|
-
|
|
347
333
|
/**
|
|
348
334
|
* label for cancel button
|
|
349
335
|
*/
|
|
350
336
|
cancelDescription: PropTypes.string.isRequired,
|
|
351
|
-
|
|
352
337
|
/**
|
|
353
338
|
* Provide an optional class to be applied to the containing node.
|
|
354
339
|
*/
|
|
355
340
|
className: PropTypes.string,
|
|
356
|
-
|
|
357
341
|
/**
|
|
358
342
|
* disable edit
|
|
359
343
|
*/
|
|
360
344
|
disabled: PropTypes.bool,
|
|
361
|
-
|
|
362
345
|
/**
|
|
363
346
|
* By default the edit icon is shown on hover only.
|
|
364
347
|
*/
|
|
365
348
|
editAlwaysVisible: PropTypes.bool,
|
|
366
|
-
|
|
367
349
|
/**
|
|
368
350
|
* Label for the edit button
|
|
369
351
|
*/
|
|
370
352
|
editDescription: PropTypes.string.isRequired,
|
|
371
|
-
|
|
372
353
|
/**
|
|
373
354
|
* ID for inline edit
|
|
374
355
|
*/
|
|
375
356
|
id: PropTypes.string,
|
|
376
|
-
|
|
377
357
|
/**
|
|
378
358
|
* set invalid state for input
|
|
379
359
|
*/
|
|
380
360
|
invalid: PropTypes.bool,
|
|
381
|
-
|
|
382
361
|
/**
|
|
383
362
|
* text shown when invalid is true
|
|
384
363
|
*/
|
|
385
364
|
invalidText: PropTypes.string,
|
|
386
|
-
|
|
387
365
|
/**
|
|
388
366
|
* label for text input
|
|
389
367
|
*/
|
|
390
368
|
labelText: PropTypes.string,
|
|
391
|
-
|
|
392
369
|
/**
|
|
393
370
|
* change background to light version (mimic React TextInput)
|
|
394
371
|
*/
|
|
395
372
|
light: PropTypes.bool,
|
|
396
|
-
|
|
397
373
|
/**
|
|
398
374
|
* method called on cancel event
|
|
399
375
|
*/
|
|
400
376
|
onCancel: PropTypes.func,
|
|
401
|
-
|
|
402
377
|
/**
|
|
403
378
|
* method called on input event (it's a React thing onChange behaves like on input).
|
|
404
379
|
*
|
|
405
380
|
* NOTE: caller to handle invalid states and associated text
|
|
406
381
|
*/
|
|
407
382
|
onChange: PropTypes.func,
|
|
408
|
-
|
|
409
383
|
/**
|
|
410
384
|
* method called on change event
|
|
411
385
|
*
|
|
412
386
|
* NOTE: caller to handle invalid states and associated text
|
|
413
387
|
*/
|
|
414
388
|
onSave: PropTypes.func,
|
|
415
|
-
|
|
416
389
|
/**
|
|
417
390
|
* placeholder for text input
|
|
418
391
|
*/
|
|
419
392
|
placeholder: PropTypes.string,
|
|
420
|
-
|
|
421
393
|
/**
|
|
422
394
|
* label for save button
|
|
423
395
|
*/
|
|
424
396
|
saveDescription: PropTypes.string.isRequired,
|
|
425
|
-
|
|
426
397
|
/**
|
|
427
398
|
* vertical size of control
|
|
428
399
|
*/
|
|
429
400
|
size: PropTypes.oneOf(['sm', 'md', 'lg']),
|
|
430
|
-
|
|
431
401
|
/**
|
|
432
402
|
* initial/unedited value
|
|
433
403
|
*/
|
|
@@ -2,7 +2,7 @@ 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
4
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
5
|
-
var _excluded = ["cancelLabel", "editLabel", "invalid", "invalidLabel", "onCancel", "onChange", "onSave", "readOnly", "saveLabel", "value"];
|
|
5
|
+
var _excluded = ["cancelLabel", "editLabel", "invalid", "invalidLabel", "onCancel", "onChange", "onSave", "readOnly", "readOnlyLabel", "saveLabel", "value"];
|
|
6
6
|
import React, { useState, useEffect, forwardRef, useRef } from 'react';
|
|
7
7
|
import { Button } from 'carbon-components-react';
|
|
8
8
|
import cx from 'classnames';
|
|
@@ -14,34 +14,30 @@ var componentName = 'InlineEditV2';
|
|
|
14
14
|
var blockClass = "".concat(pkg.prefix, "--inline-edit-v2");
|
|
15
15
|
export var InlineEditV2 = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
16
16
|
var _cx;
|
|
17
|
-
|
|
18
17
|
var cancelLabel = _ref.cancelLabel,
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
18
|
+
editLabel = _ref.editLabel,
|
|
19
|
+
invalid = _ref.invalid,
|
|
20
|
+
invalidLabel = _ref.invalidLabel,
|
|
21
|
+
onCancel = _ref.onCancel,
|
|
22
|
+
onChange = _ref.onChange,
|
|
23
|
+
onSave = _ref.onSave,
|
|
24
|
+
readOnly = _ref.readOnly,
|
|
25
|
+
readOnlyLabel = _ref.readOnlyLabel,
|
|
26
|
+
saveLabel = _ref.saveLabel,
|
|
27
|
+
value = _ref.value,
|
|
28
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
|
30
29
|
var _useState = useState(false),
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
30
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
31
|
+
focused = _useState2[0],
|
|
32
|
+
setFocused = _useState2[1];
|
|
35
33
|
var _useState3 = useState(''),
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
34
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
35
|
+
initialValue = _useState4[0],
|
|
36
|
+
setInitialValue = _useState4[1];
|
|
40
37
|
var _useState5 = useState(false),
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
38
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
39
|
+
dirtyInput = _useState6[0],
|
|
40
|
+
setDirtyInput = _useState6[1];
|
|
45
41
|
var inputRef = useRef(null);
|
|
46
42
|
var canSave = value !== initialValue && !invalid;
|
|
47
43
|
var escaping = useRef(false);
|
|
@@ -50,52 +46,42 @@ export var InlineEditV2 = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
50
46
|
setInitialValue(value);
|
|
51
47
|
}
|
|
52
48
|
}, [initialValue, dirtyInput, value]);
|
|
53
|
-
|
|
54
49
|
var isTargetingChild = function isTargetingChild(_ref2) {
|
|
55
50
|
var currentTarget = _ref2.currentTarget,
|
|
56
|
-
|
|
51
|
+
relatedTarget = _ref2.relatedTarget;
|
|
57
52
|
return currentTarget.contains(relatedTarget);
|
|
58
53
|
};
|
|
59
|
-
|
|
60
54
|
var onChangeHandler = function onChangeHandler(_ref3) {
|
|
61
55
|
var target = _ref3.target;
|
|
62
|
-
|
|
63
56
|
if (!dirtyInput) {
|
|
64
57
|
setDirtyInput(true);
|
|
65
58
|
}
|
|
66
|
-
|
|
67
59
|
onChange(target.value);
|
|
68
60
|
};
|
|
69
|
-
|
|
70
61
|
var onFocusHandler = function onFocusHandler(e) {
|
|
71
62
|
if (readOnly) {
|
|
72
63
|
return;
|
|
73
64
|
}
|
|
74
|
-
|
|
75
65
|
if (!isTargetingChild(e)) {
|
|
76
66
|
inputRef.current.focus();
|
|
77
67
|
setFocused(true);
|
|
78
68
|
}
|
|
79
69
|
};
|
|
80
|
-
|
|
81
70
|
var onSaveHandler = function onSaveHandler() {
|
|
82
71
|
setInitialValue(value);
|
|
83
72
|
setFocused(false);
|
|
84
73
|
setDirtyInput(false);
|
|
85
74
|
onSave();
|
|
86
75
|
};
|
|
87
|
-
|
|
88
76
|
var onCancelHandler = function onCancelHandler() {
|
|
89
77
|
setFocused(false);
|
|
90
78
|
setDirtyInput(false);
|
|
91
79
|
onCancel(initialValue);
|
|
92
80
|
};
|
|
93
|
-
|
|
94
81
|
var onBlurHandler = function onBlurHandler(e) {
|
|
95
82
|
if (readOnly || escaping.current) {
|
|
96
83
|
return;
|
|
97
84
|
}
|
|
98
|
-
|
|
99
85
|
if (!isTargetingChild(e)) {
|
|
100
86
|
if (canSave) {
|
|
101
87
|
onSaveHandler();
|
|
@@ -104,39 +90,31 @@ export var InlineEditV2 = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
104
90
|
}
|
|
105
91
|
}
|
|
106
92
|
};
|
|
107
|
-
|
|
108
93
|
var returnHandler = function returnHandler() {
|
|
109
94
|
if (canSave) {
|
|
110
95
|
onSaveHandler();
|
|
111
96
|
}
|
|
112
97
|
};
|
|
113
|
-
|
|
114
98
|
var escapeHandler = function escapeHandler() {
|
|
115
99
|
onCancelHandler();
|
|
116
100
|
};
|
|
117
|
-
|
|
118
101
|
var onKeyHandler = function onKeyHandler(e) {
|
|
119
102
|
// to prevent blur handler from being called twice add additional state to check if escape is being used
|
|
120
103
|
escaping.current = true;
|
|
121
|
-
|
|
122
104
|
switch (e.key) {
|
|
123
105
|
case 'Escape':
|
|
124
106
|
inputRef.current.blur();
|
|
125
107
|
escapeHandler();
|
|
126
108
|
break;
|
|
127
|
-
|
|
128
109
|
case 'Enter':
|
|
129
110
|
inputRef.current.blur();
|
|
130
111
|
returnHandler();
|
|
131
112
|
break;
|
|
132
|
-
|
|
133
113
|
default:
|
|
134
114
|
break;
|
|
135
115
|
}
|
|
136
|
-
|
|
137
116
|
escaping.current = false;
|
|
138
117
|
};
|
|
139
|
-
|
|
140
118
|
return /*#__PURE__*/React.createElement("div", _extends({}, rest, {
|
|
141
119
|
ref: ref
|
|
142
120
|
}, getDevtoolsProps(componentName)), /*#__PURE__*/React.createElement("div", {
|
|
@@ -144,7 +122,7 @@ export var InlineEditV2 = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
144
122
|
onFocus: onFocusHandler,
|
|
145
123
|
onBlur: onBlurHandler
|
|
146
124
|
}, /*#__PURE__*/React.createElement("input", {
|
|
147
|
-
className: cx("".concat(blockClass, "__text-input"), "".concat(carbon.prefix, "--text-input")),
|
|
125
|
+
className: cx("".concat(blockClass, "__text-input"), "".concat(carbon.prefix, "--text-input"), "".concat(carbon.prefix, "--text-input--sm")),
|
|
148
126
|
type: "text",
|
|
149
127
|
value: value,
|
|
150
128
|
onChange: onChangeHandler,
|
|
@@ -163,7 +141,7 @@ export var InlineEditV2 = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
163
141
|
tabIndex: 0,
|
|
164
142
|
key: "cancel",
|
|
165
143
|
className: "".concat(blockClass, "__btn ").concat(blockClass, "__btn-cancel")
|
|
166
|
-
}),
|
|
144
|
+
}), /*#__PURE__*/React.createElement(Button, {
|
|
167
145
|
hasIconOnly: true,
|
|
168
146
|
renderIcon: Checkmark24,
|
|
169
147
|
size: "sm",
|
|
@@ -179,10 +157,9 @@ export var InlineEditV2 = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
179
157
|
hasIconOnly: true,
|
|
180
158
|
renderIcon: readOnly ? EditOff24 : Edit24,
|
|
181
159
|
size: "sm",
|
|
182
|
-
iconDescription: editLabel,
|
|
160
|
+
iconDescription: readOnly ? readOnlyLabel : editLabel,
|
|
183
161
|
onClick: onFocusHandler,
|
|
184
162
|
kind: "ghost",
|
|
185
|
-
disabled: readOnly,
|
|
186
163
|
tabIndex: 0,
|
|
187
164
|
key: "edit"
|
|
188
165
|
})), focused && invalid && /*#__PURE__*/React.createElement("p", {
|
|
@@ -196,47 +173,42 @@ InlineEditV2.propTypes = {
|
|
|
196
173
|
* label for cancel button
|
|
197
174
|
*/
|
|
198
175
|
cancelLabel: PropTypes.string.isRequired,
|
|
199
|
-
|
|
200
176
|
/**
|
|
201
177
|
* label for edit button
|
|
202
178
|
*/
|
|
203
179
|
editLabel: PropTypes.string.isRequired,
|
|
204
|
-
|
|
205
180
|
/**
|
|
206
181
|
* determines if the input is invalid
|
|
207
182
|
*/
|
|
208
183
|
invalid: PropTypes.bool,
|
|
209
|
-
|
|
210
184
|
/**
|
|
211
185
|
* text that is displayed if the input is invalid
|
|
212
186
|
*/
|
|
213
187
|
invalidLabel: PropTypes.string,
|
|
214
|
-
|
|
215
188
|
/**
|
|
216
189
|
* handler that is called when the cancel button is pressed or when the user removes focus from the input and there is no new value
|
|
217
190
|
*/
|
|
218
191
|
onCancel: PropTypes.func.isRequired,
|
|
219
|
-
|
|
220
192
|
/**
|
|
221
193
|
* handler that is called when the input is updated
|
|
222
194
|
*/
|
|
223
195
|
onChange: PropTypes.func.isRequired,
|
|
224
|
-
|
|
225
196
|
/**
|
|
226
197
|
* handler that is called when the save button is pressed or when the user removes focus from the input if it has a new value
|
|
227
198
|
*/
|
|
228
199
|
onSave: PropTypes.func.isRequired,
|
|
229
|
-
|
|
230
200
|
/**
|
|
231
201
|
* determines if the input is in readOnly mode
|
|
232
202
|
*/
|
|
233
203
|
readOnly: PropTypes.bool,
|
|
234
|
-
|
|
204
|
+
/**
|
|
205
|
+
* label for the edit button that displays when in read only mode
|
|
206
|
+
*/
|
|
207
|
+
readOnlyLabel: PropTypes.string,
|
|
235
208
|
/**
|
|
236
209
|
* label for save button
|
|
237
210
|
*/
|
|
238
211
|
saveLabel: PropTypes.string.isRequired,
|
|
239
|
-
|
|
240
212
|
/**
|
|
241
213
|
* current value of the input
|
|
242
214
|
*/
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
// This source code is licensed under the Apache-2.0 license found in the
|
|
5
5
|
// LICENSE file in the root directory of this source tree.
|
|
6
6
|
//
|
|
7
|
+
|
|
7
8
|
import React from 'react';
|
|
8
9
|
import PropTypes from 'prop-types';
|
|
9
10
|
import { Add20 } from '@carbon/icons-react';
|
|
@@ -22,7 +23,6 @@ ModifiedTabLabelNew.propTypes = {
|
|
|
22
23
|
* Label content of the tab
|
|
23
24
|
*/
|
|
24
25
|
label: PropTypes.string,
|
|
25
|
-
|
|
26
26
|
/**
|
|
27
27
|
* Optional onClick handler
|
|
28
28
|
*/
|