@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,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;
|