@carbon/ibm-products 1.34.1 → 1.35.0
Sign up to get free protection for your applications and to get access to all the features.
- 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,23 +4,27 @@
|
|
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 { sanitize } from '@storybook/csf';
|
10
11
|
import pkg from '../package-settings';
|
11
12
|
import { getPathForComponent } from '../../../../../core/story-structure';
|
13
|
+
|
12
14
|
/**
|
13
15
|
* A helper function to return the structured story title for a component.
|
14
16
|
* @param {string} componentName The name of the component.
|
15
17
|
* @returns The structured story title.
|
16
18
|
*/
|
17
|
-
|
18
19
|
export var getStoryTitle = function getStoryTitle(componentName) {
|
19
|
-
var title =
|
20
|
-
|
20
|
+
var title =
|
21
|
+
// if the component isn't in the master structure, put it in a lost+found section
|
22
|
+
getPathForComponent('c', componentName) || "Carbon for IBM Products/Lost + found/".concat(componentName);
|
21
23
|
|
24
|
+
// add a canary tag if the component is public but not normally enabled
|
22
25
|
return !pkg.isComponentEnabled(componentName, true) && pkg.isComponentPublic(componentName, true) ? "".concat(title, "#canary") : title;
|
23
26
|
};
|
27
|
+
|
24
28
|
/**
|
25
29
|
* A helper function to return the slug (structured path name reduced to lower
|
26
30
|
* case text and hyphens) which identifies individual story instances.
|
@@ -28,14 +32,13 @@ export var getStoryTitle = function getStoryTitle(componentName) {
|
|
28
32
|
* @param {string} scenario The scenario name, also as a slug.
|
29
33
|
* @returns The story id.
|
30
34
|
*/
|
31
|
-
|
32
35
|
export var getStoryId = function getStoryId(componentName, scenario, subdirectory) {
|
33
36
|
if (subdirectory) {
|
34
37
|
return "".concat(sanitize(getStoryTitle(componentName)), "-").concat(sanitize(subdirectory), "--").concat(scenario);
|
35
38
|
}
|
36
|
-
|
37
39
|
return "".concat(sanitize(getStoryTitle(componentName)), "--").concat(scenario);
|
38
40
|
};
|
41
|
+
|
39
42
|
/**
|
40
43
|
* A helper function to prepare storybook stories for export. This function
|
41
44
|
* binds the template, adds the supplied fields, and also inserts a sequence
|
@@ -45,23 +48,21 @@ export var getStoryId = function getStoryId(componentName, scenario, subdirector
|
|
45
48
|
* template, such as `args`, `storyName`, etc.
|
46
49
|
* @returns A bound template with the option fields applied.
|
47
50
|
*/
|
48
|
-
|
49
51
|
var sequence = 0;
|
50
52
|
var bindTarget = {};
|
51
53
|
export var prepareStory = function prepareStory(template, options) {
|
52
54
|
var _result$parameters, _result$parameters2, _result$parameters2$c;
|
53
|
-
|
54
55
|
var result = Object.assign(template.bind(bindTarget), options);
|
55
56
|
(_result$parameters = result.parameters) !== null && _result$parameters !== void 0 ? _result$parameters : result.parameters = {};
|
56
57
|
(_result$parameters2$c = (_result$parameters2 = result.parameters).ccsSettings) !== null && _result$parameters2$c !== void 0 ? _result$parameters2$c : _result$parameters2.ccsSettings = {};
|
57
58
|
result.parameters.ccsSettings.sequence = sequence++;
|
58
59
|
return result;
|
59
60
|
};
|
61
|
+
|
60
62
|
/**
|
61
63
|
* A helper component that returns a codesandbox link to an example codesandbox for the component.
|
62
64
|
* The link URL is based on the example directory name and the standard codesandbox URL for package examples.
|
63
65
|
*/
|
64
|
-
|
65
66
|
export var CodesandboxLink = function CodesandboxLink(_ref) {
|
66
67
|
var exampleDirectory = _ref.exampleDirectory;
|
67
68
|
return /*#__PURE__*/React.createElement("a", {
|
@@ -1,32 +1,29 @@
|
|
1
1
|
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
2
2
|
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
3
3
|
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
4
|
-
|
5
4
|
//
|
6
5
|
// Copyright IBM Corp. 2021, 2021
|
7
6
|
//
|
8
7
|
// This source code is licensed under the Apache-2.0 license found in the
|
9
8
|
// LICENSE file in the root directory of this source tree.
|
10
9
|
//
|
11
|
-
var _require = require('child_process'),
|
12
|
-
execFileSync = _require.execFileSync;
|
13
10
|
|
11
|
+
var _require = require('child_process'),
|
12
|
+
execFileSync = _require.execFileSync;
|
14
13
|
var _require2 = require('path'),
|
15
|
-
|
16
|
-
|
14
|
+
resolve = _require2.resolve;
|
17
15
|
var r = function r(file) {
|
18
16
|
return resolve(__dirname, file);
|
19
17
|
};
|
20
|
-
|
21
18
|
var loadPath1 = r('../../../../node_modules');
|
22
19
|
var loadPath2 = r('../../../../../../node_modules');
|
20
|
+
|
23
21
|
/**
|
24
22
|
* Check that an SCSS file compiles correctly. This function does not return
|
25
23
|
* a value, but if the SCSS file does not compile it will throw an Error
|
26
24
|
* containing details of the compilation failure.
|
27
25
|
* @param {string} file fully qualified file name of the SCSS file to check.
|
28
26
|
*/
|
29
|
-
|
30
27
|
export var scssCheck = function scssCheck(file) {
|
31
28
|
// We use the sass cli because this is currently much faster than using
|
32
29
|
// the API owing to the overhead of @import resolution through the API.
|
@@ -36,16 +33,17 @@ export var scssCheck = function scssCheck(file) {
|
|
36
33
|
stdio: ['ignore', 'ignore', 'pipe']
|
37
34
|
});
|
38
35
|
};
|
36
|
+
|
39
37
|
/**
|
40
38
|
* Compile an SCSS file, and return the compiled CSS as a String. If the SCSS
|
41
39
|
* file does not compile this function will throw an Error containing details
|
42
40
|
* of the compilation failure.
|
43
41
|
* @param {string} file fully qualified file name of the SCSS file to compile.
|
44
42
|
*/
|
45
|
-
|
46
43
|
export var scssCompile = function scssCompile(file) {
|
47
44
|
var compressed = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
48
|
-
return (
|
45
|
+
return (
|
46
|
+
// We use the sass cli because this is currently much faster than using
|
49
47
|
// the API owing to the overhead of @import resolution through the API.
|
50
48
|
// When the sass API is revised it may be feasible to switch back to
|
51
49
|
// using the API for SCSS compilation and checking.
|
@@ -54,6 +52,7 @@ export var scssCompile = function scssCompile(file) {
|
|
54
52
|
}).toString()
|
55
53
|
);
|
56
54
|
};
|
55
|
+
|
57
56
|
/**
|
58
57
|
* A helper function to mock properties of the HTML element prototype.
|
59
58
|
* @param {*} options An object containing one or more properties, being the
|
@@ -68,19 +67,17 @@ export var scssCompile = function scssCompile(file) {
|
|
68
67
|
* This function should be called after tests in order not to pollute other
|
69
68
|
* tests with the installed mocks.
|
70
69
|
*/
|
71
|
-
|
72
70
|
var hep = HTMLElement.prototype;
|
73
71
|
export var mockHTMLElement = function mockHTMLElement(options) {
|
74
72
|
var originals = {};
|
75
|
-
|
76
73
|
for (var option in options) {
|
77
74
|
originals[option] = Object.getOwnPropertyDescriptor(hep, option);
|
78
|
-
Object.defineProperty(hep, option,
|
75
|
+
Object.defineProperty(hep, option,
|
76
|
+
// Ensure we'll be able to restore or delete the property later
|
79
77
|
Object.assign({}, options[option], {
|
80
78
|
configurable: true
|
81
79
|
}));
|
82
80
|
}
|
83
|
-
|
84
81
|
return {
|
85
82
|
mockRestore: function mockRestore() {
|
86
83
|
for (var _option in options) {
|
@@ -92,20 +89,22 @@ export var mockHTMLElement = function mockHTMLElement(options) {
|
|
92
89
|
}
|
93
90
|
}
|
94
91
|
};
|
95
|
-
};
|
96
|
-
// match element to an expect matcher
|
92
|
+
};
|
97
93
|
|
94
|
+
// a utility function used by expectWarn/Error to convert an argument
|
95
|
+
// match element to an expect matcher
|
98
96
|
var makeMatcher = function makeMatcher(arg) {
|
99
97
|
return typeof arg === 'string' ? expect.stringContaining(arg) : arg instanceof RegExp ? expect.stringMatching(arg) : arg;
|
100
|
-
};
|
101
|
-
// match or an array of argument matches to an array of expect matchers
|
102
|
-
|
98
|
+
};
|
103
99
|
|
100
|
+
// a utility function used by expectWarn/Error to convert a single argument
|
101
|
+
// match or an array of argument matches to an array of expect matchers
|
104
102
|
var makeMatcherArray = function makeMatcherArray(args) {
|
105
103
|
return Array.isArray(args) ? args.map(function (arg) {
|
106
104
|
return makeMatcher(arg);
|
107
105
|
}) : [makeMatcher(args)];
|
108
106
|
};
|
107
|
+
|
109
108
|
/**
|
110
109
|
* A helper function to enable a test to expect a single call to
|
111
110
|
* console.warn, for example when intentionally using a deprecated prop
|
@@ -119,29 +118,23 @@ var makeMatcherArray = function makeMatcherArray(args) {
|
|
119
118
|
* @param {Function} test the test function to call, during which the call to
|
120
119
|
* console.warn will be expected.
|
121
120
|
*/
|
122
|
-
|
123
|
-
|
124
121
|
export var expectWarn = function expectWarn(message, test) {
|
125
122
|
var _expect;
|
126
|
-
|
127
123
|
var warn = jest.spyOn(console, 'warn').mockImplementation(jest.fn());
|
128
124
|
var result = test();
|
129
125
|
expect(warn).toBeCalledTimes(1);
|
130
|
-
|
131
126
|
(_expect = expect(warn)).toHaveBeenCalledWith.apply(_expect, _toConsumableArray(makeMatcherArray(message)));
|
132
|
-
|
133
127
|
warn.mockRestore();
|
134
128
|
return result;
|
135
129
|
};
|
130
|
+
|
136
131
|
/**
|
137
132
|
* An async version of expectWarn which awaits the test function and expects the call
|
138
133
|
* to console.warn to have been made.
|
139
134
|
*/
|
140
|
-
|
141
135
|
export var expectWarnAsync = /*#__PURE__*/function () {
|
142
136
|
var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(message, test) {
|
143
137
|
var _expect2;
|
144
|
-
|
145
138
|
var warn;
|
146
139
|
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
147
140
|
while (1) {
|
@@ -150,14 +143,10 @@ export var expectWarnAsync = /*#__PURE__*/function () {
|
|
150
143
|
warn = jest.spyOn(console, 'warn').mockImplementation(jest.fn());
|
151
144
|
_context.next = 3;
|
152
145
|
return test();
|
153
|
-
|
154
146
|
case 3:
|
155
147
|
expect(warn).toBeCalledTimes(1);
|
156
|
-
|
157
148
|
(_expect2 = expect(warn)).toHaveBeenCalledWith.apply(_expect2, _toConsumableArray(makeMatcherArray(message)));
|
158
|
-
|
159
149
|
warn.mockRestore();
|
160
|
-
|
161
150
|
case 6:
|
162
151
|
case "end":
|
163
152
|
return _context.stop();
|
@@ -165,11 +154,11 @@ export var expectWarnAsync = /*#__PURE__*/function () {
|
|
165
154
|
}
|
166
155
|
}, _callee);
|
167
156
|
}));
|
168
|
-
|
169
157
|
return function expectWarnAsync(_x, _x2) {
|
170
158
|
return _ref.apply(this, arguments);
|
171
159
|
};
|
172
160
|
}();
|
161
|
+
|
173
162
|
/**
|
174
163
|
* A helper function to enable a test to expect multiple calls to
|
175
164
|
* console.warn, for example when intentionally using a deprecated prop
|
@@ -184,19 +173,18 @@ export var expectWarnAsync = /*#__PURE__*/function () {
|
|
184
173
|
* @param {Function} test the test function to call, during which the calls to
|
185
174
|
* console.warn will be expected.
|
186
175
|
*/
|
187
|
-
|
188
176
|
export var expectMultipleWarn = function expectMultipleWarn(messages, test) {
|
189
177
|
var warn = jest.spyOn(console, 'warn').mockImplementation(jest.fn());
|
190
178
|
var result = test();
|
191
179
|
expect(warn).toBeCalledTimes(messages.length);
|
192
180
|
messages.forEach(function (args, index) {
|
193
181
|
var _expect3;
|
194
|
-
|
195
182
|
return (_expect3 = expect(warn)).toHaveBeenNthCalledWith.apply(_expect3, [index + 1].concat(_toConsumableArray(makeMatcherArray(args))));
|
196
183
|
});
|
197
184
|
warn.mockRestore();
|
198
185
|
return result;
|
199
186
|
};
|
187
|
+
|
200
188
|
/**
|
201
189
|
* A helper function to enable a test to expect a single call to
|
202
190
|
* console.error, for example when intentionally omitting a required prop
|
@@ -210,19 +198,16 @@ export var expectMultipleWarn = function expectMultipleWarn(messages, test) {
|
|
210
198
|
* @param {Function} test the test function to call, during which the call to
|
211
199
|
* console.error will be expected.
|
212
200
|
*/
|
213
|
-
|
214
201
|
export var expectError = function expectError(message, test) {
|
215
202
|
var _expect4;
|
216
|
-
|
217
203
|
var error = jest.spyOn(console, 'error').mockImplementation(jest.fn());
|
218
204
|
var result = test();
|
219
205
|
expect(error).toBeCalledTimes(1);
|
220
|
-
|
221
206
|
(_expect4 = expect(error)).toHaveBeenCalledWith.apply(_expect4, _toConsumableArray(makeMatcherArray(message)));
|
222
|
-
|
223
207
|
error.mockRestore();
|
224
208
|
return result;
|
225
209
|
};
|
210
|
+
|
226
211
|
/**
|
227
212
|
* A helper function to enable a test to expect multiple calls to
|
228
213
|
* console.warn, for example when intentionally using a deprecated prop
|
@@ -237,51 +222,50 @@ export var expectError = function expectError(message, test) {
|
|
237
222
|
* @param {Function} test the test function to call, during which the calls to
|
238
223
|
* console.error will be expected.
|
239
224
|
*/
|
240
|
-
|
241
225
|
export var expectMultipleError = function expectMultipleError(messages, test) {
|
242
226
|
var error = jest.spyOn(console, 'error').mockImplementation(jest.fn());
|
243
227
|
var result = test();
|
244
228
|
expect(error).toBeCalledTimes(messages.length);
|
245
229
|
messages.forEach(function (args, index) {
|
246
230
|
var _expect5;
|
247
|
-
|
248
231
|
return (_expect5 = expect(error)).toHaveBeenNthCalledWith.apply(_expect5, [index + 1].concat(_toConsumableArray(makeMatcherArray(args))));
|
249
232
|
});
|
250
233
|
error.mockRestore();
|
251
234
|
return result;
|
252
235
|
};
|
236
|
+
|
253
237
|
/**
|
254
238
|
* Return an expect matcher for a prop deprecation, suitable to pass to expectWarn
|
255
239
|
* or expectMultipleWarn.
|
256
240
|
* @param {string} propName the prop name that is deprecated, or a matching regex
|
257
241
|
* @param {string} componentName the component name on which the prop is defined, or a matching regex
|
258
242
|
*/
|
259
|
-
|
260
243
|
export var deprecated = function deprecated(propName, componentName) {
|
261
244
|
var additionalInfo = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
|
262
245
|
return expect.stringMatching(new RegExp("^The prop `".concat(propName, "` of `").concat(componentName, "` has been deprecated and will soon be removed. ").concat(additionalInfo)));
|
263
246
|
};
|
247
|
+
|
264
248
|
/**
|
265
249
|
* Return an expect matcher for a prop usage deprecation, suitable to pass to expectWarn
|
266
250
|
* or expectMultipleWarn.
|
267
251
|
* @param {string} propName the prop name whose usage has changed
|
268
252
|
* @param {string} componentName the component name on which the prop is defined
|
269
253
|
*/
|
270
|
-
|
271
254
|
export var deprecatedUsage = function deprecatedUsage(propName, componentName) {
|
272
255
|
var additionalInfo = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
|
273
256
|
return expect.stringMatching(new RegExp("^The usage of the prop `".concat(propName, "` of `").concat(componentName, "` has been changed and support for the old usage will soon be removed. ").concat(additionalInfo)));
|
274
257
|
};
|
258
|
+
|
275
259
|
/**
|
276
260
|
* Return an expect matcher for a missing required prop, suitable to pass to expectError
|
277
261
|
* or expectMultipleError.
|
278
262
|
* @param {string} propName the prop name that is required, or a matching regex
|
279
263
|
* @param {string} componentName the component name on which the prop is defined, or a matching regex
|
280
264
|
*/
|
281
|
-
|
282
265
|
export var required = function required(propName, componentName) {
|
283
266
|
return expect.stringMatching(new RegExp("^Warning: Failed prop type: The prop `".concat(propName, "` is marked as required in `").concat(componentName, "`, but its value is `(.*)`.")));
|
284
267
|
};
|
268
|
+
|
285
269
|
/**
|
286
270
|
* Return an expect matcher for an invalid prop, suitable to pass to expectError
|
287
271
|
* or expectMultipleError.
|
@@ -290,7 +274,6 @@ export var required = function required(propName, componentName) {
|
|
290
274
|
* @param {string} suppliedType the type that is being supplied, or a matching regex
|
291
275
|
* @param {string} expectedType the type that is expected, or a matching regex
|
292
276
|
*/
|
293
|
-
|
294
277
|
export var invalid = function invalid(propName, componentName, suppliedType, expectedType) {
|
295
278
|
return expect.stringMatching(new RegExp("^Warning: Failed prop type: Invalid prop `".concat(propName, "` of type `").concat(suppliedType, "` supplied to `").concat(componentName, "`, expected `").concat(expectedType, "`.")));
|
296
279
|
};
|
@@ -1,15 +1,12 @@
|
|
1
1
|
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
2
|
-
|
3
2
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
4
|
-
|
5
3
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
6
|
-
|
7
4
|
import React from 'react';
|
5
|
+
|
8
6
|
/**
|
9
7
|
* unwrapIfFragment - walks the passed children unwrapping fragments
|
10
8
|
* to create a flat array of all children
|
11
9
|
*/
|
12
|
-
|
13
10
|
var unwrapIfFragment = function unwrapIfFragment(children) {
|
14
11
|
// When passed one of the following
|
15
12
|
// - A fragment with zero or more children *1
|
@@ -18,19 +15,15 @@ var unwrapIfFragment = function unwrapIfFragment(children) {
|
|
18
15
|
// *1 - The children of the above can be any of the above
|
19
16
|
// Outputs - A flat array of child nodes
|
20
17
|
var newChildArray = [];
|
21
|
-
|
22
18
|
var isFragment = function isFragment(item) {
|
23
19
|
return item && item.type === React.Fragment;
|
24
20
|
};
|
25
|
-
|
26
21
|
var addChildren = function addChildren(children) {
|
27
22
|
var loopOver = function loopOver(children) {
|
28
23
|
// children may be a single item
|
29
24
|
var _children = Array.isArray(children) ? children : [children];
|
30
|
-
|
31
25
|
var _iterator = _createForOfIteratorHelper(_children),
|
32
|
-
|
33
|
-
|
26
|
+
_step;
|
34
27
|
try {
|
35
28
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
36
29
|
var child = _step.value;
|
@@ -41,13 +34,12 @@ var unwrapIfFragment = function unwrapIfFragment(children) {
|
|
41
34
|
} finally {
|
42
35
|
_iterator.f();
|
43
36
|
}
|
44
|
-
};
|
45
|
-
|
37
|
+
};
|
46
38
|
|
39
|
+
// children is nothing, one fragment, array with one or more children, or a single item
|
47
40
|
if (!children) {
|
48
41
|
return;
|
49
42
|
}
|
50
|
-
|
51
43
|
if (isFragment(children)) {
|
52
44
|
loopOver(children.props.children);
|
53
45
|
} else {
|
@@ -57,15 +49,15 @@ var unwrapIfFragment = function unwrapIfFragment(children) {
|
|
57
49
|
newChildArray.push(children);
|
58
50
|
}
|
59
51
|
}
|
60
|
-
};
|
61
|
-
|
52
|
+
};
|
62
53
|
|
63
|
-
|
54
|
+
// nothing, one fragment, array with one or more children, or a single item
|
55
|
+
addChildren(children);
|
64
56
|
|
57
|
+
// wrapping with React.Children caters for any missing keys
|
65
58
|
var keyedChildren = React.Children.map(newChildArray, function (child) {
|
66
59
|
return child;
|
67
60
|
});
|
68
61
|
return keyedChildren;
|
69
62
|
};
|
70
|
-
|
71
63
|
export default unwrapIfFragment;
|
@@ -1,12 +1,11 @@
|
|
1
1
|
// https://stackoverflow.com/a/2117523
|
2
|
+
|
2
3
|
function uuidv4() {
|
3
4
|
var randomValues = function randomValues(c) {
|
4
5
|
return typeof crypto !== 'undefined' ? crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4 : Math.random() * 16 >> c / 4;
|
5
6
|
};
|
6
|
-
|
7
7
|
return ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, function (c) {
|
8
8
|
return (c ^ randomValues(c)).toString(16);
|
9
9
|
});
|
10
10
|
}
|
11
|
-
|
12
11
|
export default uuidv4;
|
@@ -5,7 +5,7 @@ describe('uuidv4', function () {
|
|
5
5
|
});
|
6
6
|
it('Uses Math.random when window is not defined', function () {
|
7
7
|
var _window = window,
|
8
|
-
|
8
|
+
crypto = _window.crypto;
|
9
9
|
delete window.crypto;
|
10
10
|
var mockMath = Object.create(global.Math);
|
11
11
|
var mockMathRandom = jest.fn().mockReturnValue(0.5);
|
@@ -4,23 +4,24 @@
|
|
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 { DOCUMENT_POSITION_BROAD_PRECEDING, DOCUMENT_POSITION_BROAD_FOLLOWING, selectorTabbable } from './keyboardNavigation';
|
8
9
|
import { carbon } from '../../../settings';
|
10
|
+
|
9
11
|
/**
|
10
12
|
* @param {Node} node A DOM node.
|
11
13
|
* @param {string[]} selectorsFloatingMenus The CSS selectors that matches floating menus.
|
12
14
|
* @returns {boolean} `true` of the given `node` is in a floating menu.
|
13
15
|
*/
|
14
|
-
|
15
16
|
function elementOrParentIsFloatingMenu(node) {
|
16
17
|
var selectorsFloatingMenus = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [".".concat(carbon.prefix, "--overflow-menu-options"), ".".concat(carbon.prefix, "--tooltip"), '.flatpickr-calendar'];
|
17
|
-
|
18
18
|
if (node && typeof node.closest === 'function') {
|
19
19
|
return selectorsFloatingMenus.some(function (selector) {
|
20
20
|
return node.closest(selector);
|
21
21
|
});
|
22
22
|
}
|
23
23
|
}
|
24
|
+
|
24
25
|
/**
|
25
26
|
* Ensures the focus is kept in the given `modalNode`, implementing "focus-wrap" behavior.
|
26
27
|
* @param {object} options The options.
|
@@ -31,26 +32,21 @@ function elementOrParentIsFloatingMenu(node) {
|
|
31
32
|
* @param {Node} options.oldActiveNode The DOM node that previously had focus.
|
32
33
|
* @param {Node} [options.selectorsFloatingMenus] The CSS selectors that matches floating menus
|
33
34
|
*/
|
34
|
-
|
35
|
-
|
36
35
|
function wrapFocus(_ref) {
|
37
36
|
var bodyNode = _ref.bodyNode,
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
37
|
+
startTrapNode = _ref.startTrapNode,
|
38
|
+
endTrapNode = _ref.endTrapNode,
|
39
|
+
currentActiveNode = _ref.currentActiveNode,
|
40
|
+
oldActiveNode = _ref.oldActiveNode,
|
41
|
+
selectorsFloatingMenus = _ref.selectorsFloatingMenus;
|
44
42
|
if (bodyNode && currentActiveNode && oldActiveNode && !bodyNode.contains(currentActiveNode) && !elementOrParentIsFloatingMenu(currentActiveNode, selectorsFloatingMenus)) {
|
45
43
|
var comparisonResult = oldActiveNode.compareDocumentPosition(currentActiveNode);
|
46
|
-
|
47
44
|
if (currentActiveNode === startTrapNode || comparisonResult & DOCUMENT_POSITION_BROAD_PRECEDING) {
|
48
45
|
var arrayNodes = Array.from(bodyNode.querySelectorAll(selectorTabbable));
|
49
46
|
arrayNodes.reverse();
|
50
47
|
var tabbable = arrayNodes.find(function (elem) {
|
51
48
|
return Boolean(elem.offsetParent);
|
52
49
|
});
|
53
|
-
|
54
50
|
if (tabbable) {
|
55
51
|
tabbable.focus();
|
56
52
|
} else if (bodyNode !== oldActiveNode) {
|
@@ -60,7 +56,6 @@ function wrapFocus(_ref) {
|
|
60
56
|
var _tabbable = Array.prototype.find.call(bodyNode.querySelectorAll(selectorTabbable), function (elem) {
|
61
57
|
return Boolean(elem.offsetParent);
|
62
58
|
});
|
63
|
-
|
64
59
|
if (_tabbable) {
|
65
60
|
_tabbable.focus();
|
66
61
|
} else if (bodyNode !== oldActiveNode) {
|
@@ -69,6 +64,5 @@ function wrapFocus(_ref) {
|
|
69
64
|
}
|
70
65
|
}
|
71
66
|
}
|
72
|
-
|
73
67
|
export { elementOrParentIsFloatingMenu };
|
74
68
|
export default wrapFocus;
|
package/es/index.js
CHANGED
package/es/settings.js
CHANGED
@@ -7,62 +7,68 @@ export var carbon = {
|
|
7
7
|
get prefix() {
|
8
8
|
return carbonSettings.prefix;
|
9
9
|
},
|
10
|
-
|
11
10
|
set prefix(val) {
|
12
11
|
carbonSettings.prefix = val;
|
13
12
|
},
|
14
|
-
|
15
13
|
get themes() {
|
16
14
|
return themes;
|
17
15
|
}
|
16
|
+
};
|
18
17
|
|
19
|
-
|
18
|
+
// Check that a component is enabled. This function returns a stub which checks
|
20
19
|
// the component status on first use and then renders as the component or as
|
21
20
|
// a Canary placeholder initialized with the name of the replaced component.
|
22
21
|
// Note that the returned stub carries any other properties which had already
|
23
22
|
// been assigned (eg propTypes, displayName, etc).
|
24
|
-
|
25
23
|
pkgSettings.checkComponentEnabled = function (component, name) {
|
26
24
|
if (component.render) {
|
27
25
|
// The component is a forward-ref, so make a stub forward-ref.
|
28
26
|
var forward = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
29
|
-
return (
|
30
|
-
|
27
|
+
return (
|
28
|
+
// Replace the stub's render fn so this test only happens once.
|
29
|
+
(forward.render = pkgSettings.isComponentEnabled(name) || !pkgSettings.isComponentPublic(name) ?
|
30
|
+
// If the component is enabled, or if it's not a public component,
|
31
31
|
// replace the stub's render fn with the component's render fn.
|
32
|
-
component.render :
|
32
|
+
component.render :
|
33
|
+
// Note that Canary is a direct render fn (not a forward-ref) and
|
33
34
|
// will ignore the passed props and ref (if any)
|
34
35
|
Canary.bind(undefined, {
|
35
36
|
componentName: name
|
36
|
-
}))(
|
37
|
+
}))(
|
38
|
+
// Call it now (after this it will be directly called).
|
37
39
|
props, ref)
|
38
40
|
);
|
39
|
-
});
|
41
|
+
});
|
42
|
+
|
43
|
+
// Transfer object properties already assigned (eg propTypes, displayName)
|
40
44
|
// then merge in the stub forward-ref which checks the component status
|
41
45
|
// when first used.
|
42
|
-
|
43
46
|
return Object.assign({}, component, forward);
|
44
47
|
} else {
|
45
48
|
// The component is a direct render fn, so make a stub render fn.
|
46
49
|
var _render = function render(props) {
|
47
|
-
return (
|
48
|
-
|
50
|
+
return (
|
51
|
+
// Replace the stub render fn so this test only happens once.
|
52
|
+
(_render = pkgSettings.isComponentEnabled(name) || !pkgSettings.isComponentPublic(name) ?
|
53
|
+
// If the component is enabled, or if it's not a public component,
|
49
54
|
// replace the stub render fn with the component render fn.
|
50
|
-
component :
|
55
|
+
component :
|
56
|
+
// Replace the stub render fn with the Canary render fn, which will
|
51
57
|
// ignore the passed props.
|
52
58
|
Canary.bind(undefined, {
|
53
59
|
componentName: name
|
54
|
-
}))(
|
60
|
+
}))(
|
61
|
+
// Call it now (after this it will be directly called).
|
55
62
|
props)
|
56
63
|
);
|
57
|
-
};
|
64
|
+
};
|
65
|
+
|
66
|
+
// Transfer object properties already assigned (eg propTypes, displayName)
|
58
67
|
// to a function which calls the stub render fn which checks the component
|
59
68
|
// status when first used.
|
60
|
-
|
61
|
-
|
62
69
|
return Object.assign(function (props) {
|
63
70
|
return _render(props);
|
64
71
|
}, component);
|
65
72
|
}
|
66
73
|
};
|
67
|
-
|
68
74
|
export var pkg = pkgSettings;
|