@carbon/ibm-products 1.0.0-rc.0 → 1.0.1
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +19 -18
- package/css/index-full-carbon.css +33427 -0
- package/css/index-full-carbon.css.map +1 -0
- package/css/index-full-carbon.min.css +9 -0
- package/css/index-without-carbon-released-only.css +7831 -0
- package/css/index-without-carbon-released-only.css.map +1 -0
- package/css/index-without-carbon-released-only.min.css +9 -0
- package/css/index-without-carbon.css +9841 -0
- package/css/index-without-carbon.css.map +1 -0
- package/css/index-without-carbon.min.css +9 -0
- package/css/index.css +22317 -0
- package/css/index.css.map +1 -0
- package/css/index.min.css +9 -0
- package/es/components/APIKeyModal/APIKeyDownloader.js +103 -0
- package/es/components/APIKeyModal/APIKeyModal.js +593 -0
- package/es/components/APIKeyModal/index.js +7 -0
- package/es/components/AboutModal/AboutModal.js +202 -0
- package/es/components/AboutModal/index.js +7 -0
- package/es/components/ActionBar/ActionBar.js +274 -0
- package/es/components/ActionBar/ActionBarItem.js +99 -0
- package/es/components/ActionBar/ActionBarOverflowItems.js +70 -0
- package/es/components/ActionBar/index.js +8 -0
- package/es/components/ActionSet/ActionSet.js +195 -0
- package/es/components/ActionSet/actions.js +48 -0
- package/es/components/ActionSet/index.js +7 -0
- package/es/components/BreadcrumbWithOverflow/BreadcrumbWithOverflow.js +349 -0
- package/es/components/BreadcrumbWithOverflow/index.js +8 -0
- package/es/components/ButtonMenu/ButtonMenu.js +108 -0
- package/es/components/ButtonMenu/ButtonMenuItem.js +30 -0
- package/es/components/ButtonMenu/index.js +8 -0
- package/es/components/ButtonSetWithOverflow/ButtonSetWithOverflow.js +231 -0
- package/es/components/ButtonSetWithOverflow/index.js +7 -0
- package/es/components/Card/Card.js +242 -0
- package/es/components/Card/CardFooter.js +72 -0
- package/es/components/Card/CardHeader.js +53 -0
- package/es/components/Card/index.js +9 -0
- package/es/components/Cascade/Cascade.js +88 -0
- package/es/components/Cascade/index.js +1 -0
- package/es/components/ComboButton/ComboButton.js +110 -0
- package/es/components/ComboButton/ComboButtonItem/index.js +39 -0
- package/es/components/ComboButton/index.js +8 -0
- package/es/components/CreateFullPage/CreateFullPage.js +454 -0
- package/es/components/CreateFullPage/CreateFullPageSection.js +53 -0
- package/es/components/CreateFullPage/CreateFullPageStep.js +112 -0
- package/es/components/CreateFullPage/constants.js +8 -0
- package/es/components/CreateFullPage/index.js +9 -0
- package/es/components/CreateInfluencer/CreateInfluencer.js +273 -0
- package/es/components/CreateInfluencer/index.js +7 -0
- package/es/components/CreateModal/CreateModal.js +152 -0
- package/es/components/CreateModal/index.js +8 -0
- package/es/components/CreateSidePanel/CreateSidePanel.js +175 -0
- package/es/components/CreateSidePanel/index.js +7 -0
- package/es/components/CreateTearsheet/CreateTearsheet.js +371 -0
- package/es/components/CreateTearsheet/CreateTearsheetDivider.js +33 -0
- package/es/components/CreateTearsheet/CreateTearsheetSection.js +83 -0
- package/es/components/CreateTearsheet/CreateTearsheetStep.js +129 -0
- package/es/components/CreateTearsheet/constants.js +8 -0
- package/es/components/CreateTearsheet/index.js +10 -0
- package/es/components/CreateTearsheet/preview-components/MultiStepTearsheet.js +244 -0
- package/es/components/CreateTearsheet/preview-components/MultiStepWithIntro.js +295 -0
- package/es/components/CreateTearsheet/preview-components/MultiStepWithSectionsTearsheet.js +327 -0
- package/es/components/CreateTearsheetNarrow/CreateTearsheetNarrow.js +174 -0
- package/es/components/CreateTearsheetNarrow/index.js +7 -0
- package/es/components/EditSidePanel/EditSidePanel.js +209 -0
- package/es/components/EditSidePanel/index.js +7 -0
- package/es/components/EmptyStates/EmptyState.js +118 -0
- package/es/components/EmptyStates/EmptyStateContent.js +85 -0
- package/es/components/EmptyStates/ErrorEmptyState/ErrorEmptyState.js +113 -0
- package/es/components/EmptyStates/ErrorEmptyState/index.js +7 -0
- package/es/components/EmptyStates/NoDataEmptyState/NoDataEmptyState.js +113 -0
- package/es/components/EmptyStates/NoDataEmptyState/index.js +7 -0
- package/es/components/EmptyStates/NoTagsEmptyState/NoTagsEmptyState.js +113 -0
- package/es/components/EmptyStates/NoTagsEmptyState/index.js +7 -0
- package/es/components/EmptyStates/NotFoundEmptyState/NotFoundEmptyState.js +113 -0
- package/es/components/EmptyStates/NotFoundEmptyState/index.js +7 -0
- package/es/components/EmptyStates/NotificationsEmptyState/NotificationsEmptyState.js +113 -0
- package/es/components/EmptyStates/NotificationsEmptyState/index.js +7 -0
- package/es/components/EmptyStates/UnauthorizedEmptyState/UnauthorizedEmptyState.js +113 -0
- package/es/components/EmptyStates/UnauthorizedEmptyState/index.js +7 -0
- package/es/components/EmptyStates/assets/ErrorIllustration.js +217 -0
- package/es/components/EmptyStates/assets/NoDataIllustration.js +180 -0
- package/es/components/EmptyStates/assets/NoTagsIllustration.js +488 -0
- package/es/components/EmptyStates/assets/NotFoundIllustration.js +365 -0
- package/es/components/EmptyStates/assets/NotificationsIllustration.js +336 -0
- package/es/components/EmptyStates/assets/UnauthorizedIllustration.js +309 -0
- package/es/components/EmptyStates/index.js +13 -0
- package/es/components/ExampleComponent/ExampleComponent.js +160 -0
- package/es/components/ExampleComponent/index.js +7 -0
- package/es/components/ExportModal/ExportModal.js +276 -0
- package/es/components/ExportModal/index.js +7 -0
- package/es/components/ExpressiveCard/ExpressiveCard.js +138 -0
- package/es/components/ExpressiveCard/index.js +7 -0
- package/es/components/HTTPErrors/HTTPError403/HTTPError403.js +87 -0
- package/es/components/HTTPErrors/HTTPError403/index.js +7 -0
- package/es/components/HTTPErrors/HTTPError404/HTTPError404.js +87 -0
- package/es/components/HTTPErrors/HTTPError404/index.js +7 -0
- package/es/components/HTTPErrors/HTTPErrorContent.js +84 -0
- package/es/components/HTTPErrors/HTTPErrorOther/HTTPErrorOther.js +87 -0
- package/es/components/HTTPErrors/HTTPErrorOther/index.js +7 -0
- package/es/components/HTTPErrors/assets/HTTPErrorSvg403.js +1238 -0
- package/es/components/HTTPErrors/assets/HTTPErrorSvg404.js +1037 -0
- package/es/components/HTTPErrors/assets/HTTPErrorSvgOther.js +1088 -0
- package/es/components/HTTPErrors/index.js +9 -0
- package/es/components/ImportModal/ImportModal.js +421 -0
- package/es/components/ImportModal/index.js +7 -0
- package/es/components/LoadingBar/LoadingBar.js +160 -0
- package/es/components/LoadingBar/index.js +7 -0
- package/es/components/ModifiedTabs/ModifiedTabLabelNew.js +34 -0
- package/es/components/ModifiedTabs/ModifiedTabLabelWithClose.js +54 -0
- package/es/components/ModifiedTabs/ModifiedTabs.js +113 -0
- package/es/components/ModifiedTabs/index.js +1 -0
- package/es/components/NotificationsPanel/NotificationsPanel.js +547 -0
- package/es/components/NotificationsPanel/NotificationsPanel_data.js +134 -0
- package/es/components/NotificationsPanel/index.js +7 -0
- package/es/components/NotificationsPanel/preview-components/UnreadNotificationBell.js +49 -0
- package/es/components/NotificationsPanel/utils.js +56 -0
- package/es/components/OptionsTile/OptionsTile.js +306 -0
- package/es/components/OptionsTile/index.js +7 -0
- package/es/components/PageHeader/PageHeader.js +779 -0
- package/es/components/PageHeader/PageHeaderDemo.data.js +614 -0
- package/es/components/PageHeader/PageHeaderTitle.js +49 -0
- package/es/components/PageHeader/PageHeaderUtils.js +187 -0
- package/es/components/PageHeader/index.js +7 -0
- package/es/components/ProductiveCard/ProductiveCard.js +118 -0
- package/es/components/ProductiveCard/index.js +7 -0
- package/es/components/RemoveModal/RemoveModal.js +189 -0
- package/es/components/RemoveModal/index.js +7 -0
- package/es/components/Saving/Saving.js +156 -0
- package/es/components/Saving/index.js +7 -0
- package/es/components/SidePanel/SidePanel.js +643 -0
- package/es/components/SidePanel/constants.js +13 -0
- package/es/components/SidePanel/index.js +7 -0
- package/es/components/StatusIcon/StatusIcon.js +132 -0
- package/es/components/StatusIcon/index.js +7 -0
- package/es/components/TagSet/TagSet.js +326 -0
- package/es/components/TagSet/TagSetModal.js +118 -0
- package/es/components/TagSet/TagSetOverflow.js +121 -0
- package/es/components/TagSet/index.js +7 -0
- package/es/components/Tearsheet/Tearsheet.js +180 -0
- package/es/components/Tearsheet/TearsheetNarrow.js +148 -0
- package/es/components/Tearsheet/TearsheetShell.js +390 -0
- package/es/components/Tearsheet/index.js +8 -0
- package/es/components/Toolbar/Toolbar.js +54 -0
- package/es/components/Toolbar/ToolbarButton.js +55 -0
- package/es/components/Toolbar/ToolbarGroup.js +37 -0
- package/es/components/Toolbar/index.js +9 -0
- package/es/components/UserProfileImage/UserProfileImage.js +136 -0
- package/es/components/UserProfileImage/index.js +8 -0
- package/es/components/WebTerminal/WebTerminal.js +168 -0
- package/es/components/WebTerminal/index.js +1 -0
- package/es/components/WebTerminal/preview-components/Navigation.js +31 -0
- package/es/components/WebTerminal/preview-components/documentationLinks.js +25 -0
- package/es/components/WebTerminal/preview-components/index.js +5 -0
- package/es/components/_Canary/Canary.js +48 -0
- package/es/components/_Canary/index.js +7 -0
- package/es/components/index.js +37 -0
- package/es/generated/feature-flags/feature-flags.js +15 -0
- package/es/global/js/hooks/index.js +14 -0
- package/es/global/js/hooks/useClickOutside.js +21 -0
- package/es/global/js/hooks/useCreateComponentFocus.js +37 -0
- package/es/global/js/hooks/useCreateComponentStepChange.js +250 -0
- package/es/global/js/hooks/usePreviousValue.js +19 -0
- package/es/global/js/hooks/useResetCreateComponent.js +40 -0
- package/es/global/js/hooks/useValidCreateStepCount.js +23 -0
- package/es/global/js/hooks/useWindowResize.js +67 -0
- package/es/global/js/hooks/useWindowScroll.js +80 -0
- package/es/global/js/package-settings.js +161 -0
- package/es/global/js/utils/ClickListener.js +70 -0
- package/es/global/js/utils/Wrap.js +85 -0
- package/es/global/js/utils/devtools.js +20 -0
- package/es/global/js/utils/getFocusableElements.js +14 -0
- package/es/global/js/utils/hasValidType.js +94 -0
- package/es/global/js/utils/keyboardNavigation.js +34 -0
- package/es/global/js/utils/pconsole.js +36 -0
- package/es/global/js/utils/props-helper.js +272 -0
- package/es/global/js/utils/scrollableAncestor.js +40 -0
- package/es/global/js/utils/story-helper.js +75 -0
- package/es/global/js/utils/test-helper.js +296 -0
- package/es/global/js/utils/unwrap-if-fragment.js +71 -0
- package/es/global/js/utils/uuidv4.js +12 -0
- package/es/global/js/utils/uuidv4.spec.js +23 -0
- package/es/global/js/utils/wait.js +8 -0
- package/es/global/js/utils/wrapFocus.js +74 -0
- package/es/index.js +8 -0
- package/es/settings.js +73 -0
- package/lib/components/APIKeyModal/APIKeyDownloader.js +127 -0
- package/lib/components/APIKeyModal/APIKeyModal.js +619 -0
- package/lib/components/APIKeyModal/index.js +13 -0
- package/lib/components/AboutModal/AboutModal.js +222 -0
- package/lib/components/AboutModal/index.js +13 -0
- package/lib/components/ActionBar/ActionBar.js +294 -0
- package/lib/components/ActionBar/ActionBarItem.js +107 -0
- package/lib/components/ActionBar/ActionBarOverflowItems.js +94 -0
- package/lib/components/ActionBar/index.js +21 -0
- package/lib/components/ActionSet/ActionSet.js +205 -0
- package/lib/components/ActionSet/actions.js +60 -0
- package/lib/components/ActionSet/index.js +13 -0
- package/lib/components/BreadcrumbWithOverflow/BreadcrumbWithOverflow.js +366 -0
- package/lib/components/BreadcrumbWithOverflow/index.js +13 -0
- package/lib/components/ButtonMenu/ButtonMenu.js +115 -0
- package/lib/components/ButtonMenu/ButtonMenuItem.js +44 -0
- package/lib/components/ButtonMenu/index.js +21 -0
- package/lib/components/ButtonSetWithOverflow/ButtonSetWithOverflow.js +255 -0
- package/lib/components/ButtonSetWithOverflow/index.js +13 -0
- package/lib/components/Card/Card.js +260 -0
- package/lib/components/Card/CardFooter.js +90 -0
- package/lib/components/Card/CardHeader.js +70 -0
- package/lib/components/Card/index.js +29 -0
- package/lib/components/Cascade/Cascade.js +109 -0
- package/lib/components/Cascade/index.js +13 -0
- package/lib/components/ComboButton/ComboButton.js +129 -0
- package/lib/components/ComboButton/ComboButtonItem/index.js +49 -0
- package/lib/components/ComboButton/index.js +21 -0
- package/lib/components/CreateFullPage/CreateFullPage.js +478 -0
- package/lib/components/CreateFullPage/CreateFullPageSection.js +74 -0
- package/lib/components/CreateFullPage/CreateFullPageStep.js +134 -0
- package/lib/components/CreateFullPage/constants.js +16 -0
- package/lib/components/CreateFullPage/index.js +29 -0
- package/lib/components/CreateInfluencer/CreateInfluencer.js +304 -0
- package/lib/components/CreateInfluencer/index.js +13 -0
- package/lib/components/CreateModal/CreateModal.js +161 -0
- package/lib/components/CreateModal/index.js +13 -0
- package/lib/components/CreateSidePanel/CreateSidePanel.js +187 -0
- package/lib/components/CreateSidePanel/index.js +13 -0
- package/lib/components/CreateTearsheet/CreateTearsheet.js +397 -0
- package/lib/components/CreateTearsheet/CreateTearsheetDivider.js +48 -0
- package/lib/components/CreateTearsheet/CreateTearsheetSection.js +105 -0
- package/lib/components/CreateTearsheet/CreateTearsheetStep.js +151 -0
- package/lib/components/CreateTearsheet/constants.js +17 -0
- package/lib/components/CreateTearsheet/index.js +37 -0
- package/lib/components/CreateTearsheet/preview-components/MultiStepTearsheet.js +268 -0
- package/lib/components/CreateTearsheet/preview-components/MultiStepWithIntro.js +320 -0
- package/lib/components/CreateTearsheet/preview-components/MultiStepWithSectionsTearsheet.js +354 -0
- package/lib/components/CreateTearsheetNarrow/CreateTearsheetNarrow.js +184 -0
- package/lib/components/CreateTearsheetNarrow/index.js +13 -0
- package/lib/components/EditSidePanel/EditSidePanel.js +220 -0
- package/lib/components/EditSidePanel/index.js +13 -0
- package/lib/components/EmptyStates/EmptyState.js +134 -0
- package/lib/components/EmptyStates/EmptyStateContent.js +94 -0
- package/lib/components/EmptyStates/ErrorEmptyState/ErrorEmptyState.js +128 -0
- package/lib/components/EmptyStates/ErrorEmptyState/index.js +13 -0
- package/lib/components/EmptyStates/NoDataEmptyState/NoDataEmptyState.js +128 -0
- package/lib/components/EmptyStates/NoDataEmptyState/index.js +13 -0
- package/lib/components/EmptyStates/NoTagsEmptyState/NoTagsEmptyState.js +128 -0
- package/lib/components/EmptyStates/NoTagsEmptyState/index.js +13 -0
- package/lib/components/EmptyStates/NotFoundEmptyState/NotFoundEmptyState.js +128 -0
- package/lib/components/EmptyStates/NotFoundEmptyState/index.js +13 -0
- package/lib/components/EmptyStates/NotificationsEmptyState/NotificationsEmptyState.js +128 -0
- package/lib/components/EmptyStates/NotificationsEmptyState/index.js +13 -0
- package/lib/components/EmptyStates/UnauthorizedEmptyState/UnauthorizedEmptyState.js +128 -0
- package/lib/components/EmptyStates/UnauthorizedEmptyState/index.js +13 -0
- package/lib/components/EmptyStates/assets/ErrorIllustration.js +226 -0
- package/lib/components/EmptyStates/assets/NoDataIllustration.js +189 -0
- package/lib/components/EmptyStates/assets/NoTagsIllustration.js +497 -0
- package/lib/components/EmptyStates/assets/NotFoundIllustration.js +374 -0
- package/lib/components/EmptyStates/assets/NotificationsIllustration.js +345 -0
- package/lib/components/EmptyStates/assets/UnauthorizedIllustration.js +318 -0
- package/lib/components/EmptyStates/index.js +61 -0
- package/lib/components/ExampleComponent/ExampleComponent.js +169 -0
- package/lib/components/ExampleComponent/index.js +13 -0
- package/lib/components/ExportModal/ExportModal.js +298 -0
- package/lib/components/ExportModal/index.js +13 -0
- package/lib/components/ExpressiveCard/ExpressiveCard.js +161 -0
- package/lib/components/ExpressiveCard/index.js +13 -0
- package/lib/components/HTTPErrors/HTTPError403/HTTPError403.js +98 -0
- package/lib/components/HTTPErrors/HTTPError403/index.js +13 -0
- package/lib/components/HTTPErrors/HTTPError404/HTTPError404.js +98 -0
- package/lib/components/HTTPErrors/HTTPError404/index.js +13 -0
- package/lib/components/HTTPErrors/HTTPErrorContent.js +90 -0
- package/lib/components/HTTPErrors/HTTPErrorOther/HTTPErrorOther.js +98 -0
- package/lib/components/HTTPErrors/HTTPErrorOther/index.js +13 -0
- package/lib/components/HTTPErrors/assets/HTTPErrorSvg403.js +1251 -0
- package/lib/components/HTTPErrors/assets/HTTPErrorSvg404.js +1050 -0
- package/lib/components/HTTPErrors/assets/HTTPErrorSvgOther.js +1101 -0
- package/lib/components/HTTPErrors/index.js +29 -0
- package/lib/components/ImportModal/ImportModal.js +443 -0
- package/lib/components/ImportModal/index.js +13 -0
- package/lib/components/LoadingBar/LoadingBar.js +174 -0
- package/lib/components/LoadingBar/index.js +13 -0
- package/lib/components/ModifiedTabs/ModifiedTabLabelNew.js +48 -0
- package/lib/components/ModifiedTabs/ModifiedTabLabelWithClose.js +68 -0
- package/lib/components/ModifiedTabs/ModifiedTabs.js +137 -0
- package/lib/components/ModifiedTabs/index.js +13 -0
- package/lib/components/NotificationsPanel/NotificationsPanel.js +569 -0
- package/lib/components/NotificationsPanel/NotificationsPanel_data.js +146 -0
- package/lib/components/NotificationsPanel/index.js +13 -0
- package/lib/components/NotificationsPanel/preview-components/UnreadNotificationBell.js +58 -0
- package/lib/components/NotificationsPanel/utils.js +65 -0
- package/lib/components/OptionsTile/OptionsTile.js +327 -0
- package/lib/components/OptionsTile/index.js +13 -0
- package/lib/components/PageHeader/PageHeader.js +812 -0
- package/lib/components/PageHeader/PageHeaderDemo.data.js +623 -0
- package/lib/components/PageHeader/PageHeaderTitle.js +63 -0
- package/lib/components/PageHeader/PageHeaderUtils.js +205 -0
- package/lib/components/PageHeader/index.js +13 -0
- package/lib/components/ProductiveCard/ProductiveCard.js +141 -0
- package/lib/components/ProductiveCard/index.js +13 -0
- package/lib/components/RemoveModal/RemoveModal.js +210 -0
- package/lib/components/RemoveModal/index.js +13 -0
- package/lib/components/Saving/Saving.js +175 -0
- package/lib/components/Saving/index.js +13 -0
- package/lib/components/SidePanel/SidePanel.js +668 -0
- package/lib/components/SidePanel/constants.js +21 -0
- package/lib/components/SidePanel/index.js +13 -0
- package/lib/components/StatusIcon/StatusIcon.js +145 -0
- package/lib/components/StatusIcon/index.js +13 -0
- package/lib/components/TagSet/TagSet.js +352 -0
- package/lib/components/TagSet/TagSetModal.js +139 -0
- package/lib/components/TagSet/TagSetOverflow.js +147 -0
- package/lib/components/TagSet/index.js +13 -0
- package/lib/components/Tearsheet/Tearsheet.js +192 -0
- package/lib/components/Tearsheet/TearsheetNarrow.js +160 -0
- package/lib/components/Tearsheet/TearsheetShell.js +420 -0
- package/lib/components/Tearsheet/index.js +21 -0
- package/lib/components/Toolbar/Toolbar.js +72 -0
- package/lib/components/Toolbar/ToolbarButton.js +72 -0
- package/lib/components/Toolbar/ToolbarGroup.js +52 -0
- package/lib/components/Toolbar/index.js +29 -0
- package/lib/components/UserProfileImage/UserProfileImage.js +146 -0
- package/lib/components/UserProfileImage/index.js +13 -0
- package/lib/components/WebTerminal/WebTerminal.js +186 -0
- package/lib/components/WebTerminal/index.js +13 -0
- package/lib/components/WebTerminal/preview-components/Navigation.js +44 -0
- package/lib/components/WebTerminal/preview-components/documentationLinks.js +32 -0
- package/lib/components/WebTerminal/preview-components/index.js +15 -0
- package/lib/components/_Canary/Canary.js +54 -0
- package/lib/components/_Canary/index.js +13 -0
- package/lib/components/index.js +343 -0
- package/lib/generated/feature-flags/feature-flags.js +22 -0
- package/lib/global/js/hooks/index.js +75 -0
- package/lib/global/js/hooks/useClickOutside.js +31 -0
- package/lib/global/js/hooks/useCreateComponentFocus.js +48 -0
- package/lib/global/js/hooks/useCreateComponentStepChange.js +263 -0
- package/lib/global/js/hooks/usePreviousValue.js +29 -0
- package/lib/global/js/hooks/useResetCreateComponent.js +50 -0
- package/lib/global/js/hooks/useValidCreateStepCount.js +33 -0
- package/lib/global/js/hooks/useWindowResize.js +79 -0
- package/lib/global/js/hooks/useWindowScroll.js +91 -0
- package/lib/global/js/package-settings.js +166 -0
- package/lib/global/js/utils/ClickListener.js +89 -0
- package/lib/global/js/utils/Wrap.js +93 -0
- package/lib/global/js/utils/devtools.js +31 -0
- package/lib/global/js/utils/getFocusableElements.js +25 -0
- package/lib/global/js/utils/hasValidType.js +110 -0
- package/lib/global/js/utils/keyboardNavigation.js +45 -0
- package/lib/global/js/utils/pconsole.js +53 -0
- package/lib/global/js/utils/props-helper.js +304 -0
- package/lib/global/js/utils/scrollableAncestor.js +48 -0
- package/lib/global/js/utils/story-helper.js +100 -0
- package/lib/global/js/utils/test-helper.js +342 -0
- package/lib/global/js/utils/unwrap-if-fragment.js +82 -0
- package/lib/global/js/utils/uuidv4.js +20 -0
- package/lib/global/js/utils/uuidv4.spec.js +28 -0
- package/lib/global/js/utils/wait.js +16 -0
- package/lib/global/js/utils/wrapFocus.js +84 -0
- package/lib/index.js +30 -0
- package/lib/settings.js +92 -0
- package/package.json +9 -8
- package/scss/components/APIKeyModal/_api-key-modal.scss +63 -0
- package/scss/components/APIKeyModal/_index.scss +10 -0
- package/scss/components/APIKeyModal/_storybook-styles.scss +33 -0
- package/scss/components/AboutModal/_about-modal.scss +116 -0
- package/scss/components/AboutModal/_index.scss +8 -0
- package/scss/components/AboutModal/_storybook-styles.scss +15 -0
- package/scss/components/ActionBar/_action-bar.scss +67 -0
- package/scss/components/ActionBar/_index.scss +8 -0
- package/scss/components/ActionSet/_action-set.scss +114 -0
- package/scss/components/ActionSet/_index.scss +8 -0
- package/scss/components/ActionSet/_storybook-styles.scss +38 -0
- package/scss/components/BreadcrumbWithOverflow/_breadcrumb-with-overflow.scss +86 -0
- package/scss/components/BreadcrumbWithOverflow/_index.scss +8 -0
- package/scss/components/ButtonMenu/_button-menu.scss +36 -0
- package/scss/components/ButtonMenu/_index.scss +8 -0
- package/scss/components/ButtonMenu/_storybook-styles.scss +6 -0
- package/scss/components/ButtonSetWithOverflow/_button-set-with-overflow.scss +52 -0
- package/scss/components/ButtonSetWithOverflow/_index.scss +8 -0
- package/scss/components/Card/_card.scss +121 -0
- package/scss/components/Card/_index.scss +10 -0
- package/scss/components/Card/_storybook-styles.scss +12 -0
- package/scss/components/Cascade/_cascade.scss +50 -0
- package/scss/components/Cascade/_index.scss +10 -0
- package/scss/components/Cascade/_storybook-styles.scss +32 -0
- package/scss/components/ComboButton/_combo-button.scss +64 -0
- package/scss/components/ComboButton/_index.scss +10 -0
- package/scss/components/CreateFullPage/_create-full-page.scss +187 -0
- package/scss/components/CreateFullPage/_index.scss +8 -0
- package/scss/components/CreateFullPage/_storybook-styles.scss +51 -0
- package/scss/components/CreateInfluencer/_create-influencer.scss +89 -0
- package/scss/components/CreateInfluencer/_index.scss +8 -0
- package/scss/components/CreateModal/_create-modal.scss +81 -0
- package/scss/components/CreateModal/_index.scss +8 -0
- package/scss/components/CreateModal/_storybook-styles.scss +50 -0
- package/scss/components/CreateSidePanel/_create-side-panel.scss +99 -0
- package/scss/components/CreateSidePanel/_index.scss +8 -0
- package/scss/components/CreateSidePanel/_storybook-styles.scss +27 -0
- package/scss/components/CreateTearsheet/_create-tearsheet.scss +136 -0
- package/scss/components/CreateTearsheet/_index.scss +8 -0
- package/scss/components/CreateTearsheet/_storybook-styles.scss +53 -0
- package/scss/components/CreateTearsheetNarrow/_create-tearsheet-narrow.scss +68 -0
- package/scss/components/CreateTearsheetNarrow/_index.scss +8 -0
- package/scss/components/CreateTearsheetNarrow/_storybook-styles.scss +32 -0
- package/scss/components/EditSidePanel/_edit-side-panel.scss +66 -0
- package/scss/components/EditSidePanel/_index.scss +8 -0
- package/scss/components/EditSidePanel/_storybook-styles.scss +35 -0
- package/scss/components/EmptyStates/_empty-state.scss +62 -0
- package/scss/components/EmptyStates/_index.scss +8 -0
- package/scss/components/EmptyStates/_storybook-styles.scss +6 -0
- package/scss/components/ExampleComponent/_example-component.scss +39 -0
- package/scss/components/ExampleComponent/_index.scss +8 -0
- package/scss/components/ExampleComponent/_storybook-styles.scss +6 -0
- package/scss/components/ExportModal/_export-modal.scss +61 -0
- package/scss/components/ExportModal/_index.scss +10 -0
- package/scss/components/ExportModal/_storybook-styles.scss +6 -0
- package/scss/components/ExpressiveCard/_expressive-card.scss +25 -0
- package/scss/components/ExpressiveCard/_index.scss +10 -0
- package/scss/components/ExpressiveCard/_storybook-styles.scss +25 -0
- package/scss/components/HTTPErrors/_http-errors.scss +72 -0
- package/scss/components/HTTPErrors/_index.scss +8 -0
- package/scss/components/HTTPErrors/_storybook-styles.scss +6 -0
- package/scss/components/ImportModal/_import-modal.scss +88 -0
- package/scss/components/ImportModal/_index.scss +8 -0
- package/scss/components/ImportModal/_storybook-styles.scss +6 -0
- package/scss/components/LoadingBar/_index.scss +8 -0
- package/scss/components/LoadingBar/_loading-bar.scss +211 -0
- package/scss/components/LoadingBar/_storybook-styles.scss +19 -0
- package/scss/components/ModifiedTabs/_index.scss +1 -0
- package/scss/components/ModifiedTabs/_modified-tabs.scss +72 -0
- package/scss/components/ModifiedTabs/_storybook-styles.scss +6 -0
- package/scss/components/NotificationsPanel/_index.scss +8 -0
- package/scss/components/NotificationsPanel/_notifications-panel.scss +285 -0
- package/scss/components/NotificationsPanel/_storybook-styles.scss +6 -0
- package/scss/components/OptionsTile/_index.scss +8 -0
- package/scss/components/OptionsTile/_options-tile.scss +221 -0
- package/scss/components/OptionsTile/_storybook-styles.scss +33 -0
- package/scss/components/PageHeader/_index.scss +10 -0
- package/scss/components/PageHeader/_page-header.scss +641 -0
- package/scss/components/PageHeader/_storybook-styles.scss +76 -0
- package/scss/components/ProductiveCard/_index.scss +10 -0
- package/scss/components/ProductiveCard/_productive-card.scss +71 -0
- package/scss/components/ProductiveCard/_storybook-styles.scss +22 -0
- package/scss/components/RemoveModal/_index.scss +10 -0
- package/scss/components/RemoveModal/_remove-modal.scss +40 -0
- package/scss/components/RemoveModal/_storybook-styles.scss +6 -0
- package/scss/components/Saving/_index.scss +10 -0
- package/scss/components/Saving/_saving.scss +42 -0
- package/scss/components/Saving/_storybook-styles.scss +12 -0
- package/scss/components/SidePanel/_index.scss +8 -0
- package/scss/components/SidePanel/_side-panel-variables.scss +14 -0
- package/scss/components/SidePanel/_side-panel.scss +496 -0
- package/scss/components/SidePanel/_storybook-styles.scss +38 -0
- package/scss/components/StatusIcon/_index.scss +8 -0
- package/scss/components/StatusIcon/_status-icon.scss +139 -0
- package/scss/components/StatusIcon/_storybook-styles.scss +6 -0
- package/scss/components/TagSet/_index.scss +8 -0
- package/scss/components/TagSet/_tag-set.scss +162 -0
- package/scss/components/Tearsheet/_index.scss +8 -0
- package/scss/components/Tearsheet/_storybook-styles.scss +24 -0
- package/scss/components/Tearsheet/_tearsheet.scss +308 -0
- package/scss/components/Toolbar/_index.scss +8 -0
- package/scss/components/Toolbar/_toolbar.scss +78 -0
- package/scss/components/UserProfileImage/_color-map.scss +39 -0
- package/scss/components/UserProfileImage/_index.scss +8 -0
- package/scss/components/UserProfileImage/_storybook.scss +6 -0
- package/scss/components/UserProfileImage/_user-profile-image.scss +137 -0
- package/scss/components/WebTerminal/_index.scss +1 -0
- package/scss/components/WebTerminal/_storybook-styles.scss +14 -0
- package/scss/components/WebTerminal/_web-terminal.scss +70 -0
- package/scss/components/_Canary/_canary.scss +9 -0
- package/scss/components/_index-released-only.scss +34 -0
- package/scss/components/_index.scss +44 -0
- package/scss/generated/feature-flags/_feature-flags.scss +19 -0
- package/scss/global/styles/_generate-carbon-modules.scss +14 -0
- package/scss/global/styles/_imported-carbon-modules.scss +25 -0
- package/scss/global/styles/_mixins.scss +22 -0
- package/scss/global/styles/_project-settings.scss +22 -0
- package/scss/index-full-carbon.scss +11 -0
- package/scss/index-without-carbon-released-only.scss +13 -0
- package/scss/index-without-carbon.scss +13 -0
- package/scss/index.scss +10 -0
@@ -0,0 +1,70 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright IBM Corp. 2021, 2021
|
3
|
+
*
|
4
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
6
|
+
*/
|
7
|
+
// Import portions of React that are needed.
|
8
|
+
import React, { useEffect, useRef } from 'react'; // Other standard imports.
|
9
|
+
|
10
|
+
import PropTypes from 'prop-types';
|
11
|
+
/**
|
12
|
+
* Generic component used for reacting to a click event happening outside of a
|
13
|
+
* given `children` element. Adapted from carbon-react internal utilities, converted
|
14
|
+
* to use React hooks.
|
15
|
+
*/
|
16
|
+
|
17
|
+
export var ClickListener = function ClickListener(_ref) {
|
18
|
+
var children = _ref.children,
|
19
|
+
onClickOutside = _ref.onClickOutside;
|
20
|
+
var targetElement = useRef();
|
21
|
+
|
22
|
+
var getEventTarget = function getEventTarget(evt) {
|
23
|
+
// support Shadow DOM
|
24
|
+
if (evt.composed && typeof evt.composedPath === 'function') {
|
25
|
+
return evt.composedPath()[0];
|
26
|
+
}
|
27
|
+
|
28
|
+
return evt.target;
|
29
|
+
};
|
30
|
+
|
31
|
+
useEffect(function () {
|
32
|
+
document.addEventListener('click', handleDocumentClick);
|
33
|
+
return function () {
|
34
|
+
document.removeEventListener('click', handleDocumentClick);
|
35
|
+
};
|
36
|
+
});
|
37
|
+
|
38
|
+
var handleDocumentClick = function handleDocumentClick(evt) {
|
39
|
+
if (targetElement && targetElement.current) {
|
40
|
+
if (targetElement.current.contains && !targetElement.current.contains(getEventTarget(evt))) {
|
41
|
+
onClickOutside(evt);
|
42
|
+
}
|
43
|
+
}
|
44
|
+
};
|
45
|
+
|
46
|
+
var handleRef = function handleRef(el) {
|
47
|
+
targetElement.current = el;
|
48
|
+
/**
|
49
|
+
* One important note, `children.ref` corresponds to a `ref` prop passed in
|
50
|
+
* directly to the child, not necessarily a `ref` defined in the component.
|
51
|
+
* This means that here we target the following `ref` location:
|
52
|
+
*
|
53
|
+
* <ClickListener onClickOutside={() => {}}>
|
54
|
+
* <Child ref={targetedRefHere} />
|
55
|
+
* </ClickListener>
|
56
|
+
*/
|
57
|
+
|
58
|
+
if (children.ref && typeof children.ref === 'function') {
|
59
|
+
children.ref(el);
|
60
|
+
}
|
61
|
+
};
|
62
|
+
|
63
|
+
return /*#__PURE__*/React.cloneElement(children, {
|
64
|
+
ref: handleRef
|
65
|
+
});
|
66
|
+
};
|
67
|
+
ClickListener.propTypes = {
|
68
|
+
children: PropTypes.element.isRequired,
|
69
|
+
onClickOutside: PropTypes.func.isRequired
|
70
|
+
};
|
@@ -0,0 +1,85 @@
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
2
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
3
|
+
var _excluded = ["alwaysRender", "children", "element", "neverRender"];
|
4
|
+
|
5
|
+
/**
|
6
|
+
* Copyright IBM Corp. 2021, 2021
|
7
|
+
*
|
8
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
9
|
+
* LICENSE file in the root directory of this source tree.
|
10
|
+
*/
|
11
|
+
// Import portions of React that are needed.
|
12
|
+
import React from 'react'; // Other standard imports.
|
13
|
+
|
14
|
+
import PropTypes from 'prop-types'; // Examine a flat array of children to decide whether it is effectively empty.
|
15
|
+
// If there are no children, or all the children are falsy, or all the non-falsy
|
16
|
+
// children are themselves Wrap components that are empty, then return true.
|
17
|
+
|
18
|
+
var isEmpty = function isEmpty(children) {
|
19
|
+
var result = true;
|
20
|
+
React.Children.forEach(children, function (child) {
|
21
|
+
if (child) {
|
22
|
+
var _child$type, _child$props;
|
23
|
+
|
24
|
+
result && (result = (child === null || child === void 0 ? void 0 : (_child$type = child.type) === null || _child$type === void 0 ? void 0 : _child$type.displayName) === 'Wrap' && isEmpty(child === null || child === void 0 ? void 0 : (_child$props = child.props) === null || _child$props === void 0 ? void 0 : _child$props.children));
|
25
|
+
}
|
26
|
+
});
|
27
|
+
return result;
|
28
|
+
};
|
29
|
+
/**
|
30
|
+
* A simple conditional wrapper that encloses its children in a <div> (or other
|
31
|
+
* element if specified), passing any supplied attributes to the <div> (or other
|
32
|
+
* element). The component renders nothing at all if there are no children or
|
33
|
+
* the children are empty/falsy, or if all the non-falsy children are themselves
|
34
|
+
* Wrap components that do not wish to render. This behavior can be overridden
|
35
|
+
* by setting neverRender or alwaysRender to true. Note that if a ref is passed,
|
36
|
+
* the ref.current will be set to the wrapper element if it renders, and will
|
37
|
+
* remain undefined if it does not render.
|
38
|
+
*/
|
39
|
+
|
40
|
+
|
41
|
+
export var Wrap = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
42
|
+
var alwaysRender = _ref.alwaysRender,
|
43
|
+
children = _ref.children,
|
44
|
+
Wrapper = _ref.element,
|
45
|
+
neverRender = _ref.neverRender,
|
46
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
47
|
+
|
48
|
+
return (neverRender || isEmpty(children)) && !alwaysRender ? null : /*#__PURE__*/React.createElement(Wrapper, _extends({}, rest, {
|
49
|
+
ref: ref
|
50
|
+
}), children);
|
51
|
+
});
|
52
|
+
Wrap.displayName = 'Wrap';
|
53
|
+
Wrap.propTypes = {
|
54
|
+
/**
|
55
|
+
* Specify whether the wrapper element should render even if there are no
|
56
|
+
* children or the children are themselves empty wrappers. Useful if there
|
57
|
+
* are some conditions in which the wrapper element is still required. Note
|
58
|
+
* that this prop takes precedence over neverRender if both are set to true.
|
59
|
+
*/
|
60
|
+
alwaysRender: PropTypes.bool,
|
61
|
+
|
62
|
+
/**
|
63
|
+
* The content of the wrapper element. If no children are supplied, or the
|
64
|
+
* resulting value(s) are falsy, or if all the non-falsy children are Wrap
|
65
|
+
* components that decide not to render, nothing will be rendered in the DOM.
|
66
|
+
*/
|
67
|
+
children: PropTypes.node,
|
68
|
+
|
69
|
+
/**
|
70
|
+
* The element name or component to use as a wrapper for the content.
|
71
|
+
*/
|
72
|
+
element: PropTypes.elementType,
|
73
|
+
|
74
|
+
/**
|
75
|
+
* Specify whether nothing should be rendered even if there are children
|
76
|
+
* in the content. Useful if there are some circumstances in which the
|
77
|
+
* component should not render at all. Note that if alwaysRender is also
|
78
|
+
* set to true then it will take precedence and the wrapper element and
|
79
|
+
* content will be rendered.
|
80
|
+
*/
|
81
|
+
neverRender: PropTypes.bool
|
82
|
+
};
|
83
|
+
Wrap.defaultProps = {
|
84
|
+
element: 'div'
|
85
|
+
};
|
@@ -0,0 +1,20 @@
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
2
|
+
|
3
|
+
/**
|
4
|
+
* Copyright IBM Corp. 2021, 2021
|
5
|
+
*
|
6
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
7
|
+
* LICENSE file in the root directory of this source tree.
|
8
|
+
*/
|
9
|
+
import pkg from '../package-settings';
|
10
|
+
var devtoolsAttribute = 'data-carbon-devtools-id';
|
11
|
+
|
12
|
+
function getDevtoolsId(componentName) {
|
13
|
+
return "".concat(pkg.prefix, "--").concat(componentName);
|
14
|
+
}
|
15
|
+
|
16
|
+
function getDevtoolsProps(componentName) {
|
17
|
+
return _defineProperty({}, devtoolsAttribute, getDevtoolsId(componentName));
|
18
|
+
}
|
19
|
+
|
20
|
+
export { devtoolsAttribute, getDevtoolsId, getDevtoolsProps };
|
@@ -0,0 +1,14 @@
|
|
1
|
+
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
2
|
+
|
3
|
+
/**
|
4
|
+
* Copyright IBM Corp. 2021, 2021
|
5
|
+
*
|
6
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
7
|
+
* LICENSE file in the root directory of this source tree.
|
8
|
+
*/
|
9
|
+
// Returns an array of focusable elements
|
10
|
+
export var getFocusableElements = function getFocusableElements(element) {
|
11
|
+
return _toConsumableArray(element.querySelectorAll('a, button, input, textarea, select, details,[tabindex]:not([tabindex="-1"])')).filter(function (e) {
|
12
|
+
return !e.hasAttribute('disabled');
|
13
|
+
});
|
14
|
+
};
|
@@ -0,0 +1,94 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright IBM Corp. 2021, 2021
|
3
|
+
*
|
4
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
6
|
+
*/
|
7
|
+
import { Fragment } from 'react'; // Custom PropType validator which checks and ensures that all children of the create component are indeed all CreateStep components.
|
8
|
+
|
9
|
+
export var hasValidChildrenType = function hasValidChildrenType(_ref) {
|
10
|
+
var componentName = _ref.componentName,
|
11
|
+
childType = _ref.childType;
|
12
|
+
return function (_ref2) {
|
13
|
+
var children = _ref2.children;
|
14
|
+
children.length > 1 && children.map(function (child) {
|
15
|
+
var _child$type;
|
16
|
+
|
17
|
+
if (typeof (child === null || child === void 0 ? void 0 : child.type) !== 'function' && child && child.props && child.props.type !== childType || typeof (child === null || child === void 0 ? void 0 : child.type) === 'function' && ((_child$type = child.type()) === null || _child$type === void 0 ? void 0 : _child$type.props.type) !== childType) {
|
18
|
+
throw new Error("Each child of ".concat(componentName, " is required to be a ").concat(childType, ". Please remove the HTML element, or wrap it around the ").concat(childType, " component."));
|
19
|
+
}
|
20
|
+
|
21
|
+
return;
|
22
|
+
});
|
23
|
+
};
|
24
|
+
};
|
25
|
+
/**
|
26
|
+
* Returns array of CreateTearsheetSteps or CreateFullPageSteps
|
27
|
+
* @param {Array} arr All of the children passed to the create tearsheet component
|
28
|
+
* @param {string} type string that represents the `type` of component/s we're looking for
|
29
|
+
*/
|
30
|
+
|
31
|
+
export var getExtractedSteps = function getExtractedSteps(arr, type) {
|
32
|
+
var steps = [];
|
33
|
+
|
34
|
+
var validateChild = function validateChild(child) {
|
35
|
+
var _child$type2;
|
36
|
+
|
37
|
+
// If the child is a CreateTearsheetStep component
|
38
|
+
// we can add it to our array of steps
|
39
|
+
if (typeof (child === null || child === void 0 ? void 0 : child.type) !== 'function' && child && child.props && child.props.type === type) {
|
40
|
+
steps.push(child);
|
41
|
+
} // Creating custom step components will follow this format
|
42
|
+
|
43
|
+
|
44
|
+
if (typeof (child === null || child === void 0 ? void 0 : child.type) === 'function' && ((_child$type2 = child.type()) === null || _child$type2 === void 0 ? void 0 : _child$type2.props.type) === type) {
|
45
|
+
// If the custom component does not have any props
|
46
|
+
// ie all of the create tearsheet step props are set
|
47
|
+
// inside of the custom component
|
48
|
+
if (!Object.entries(child.props).length) {
|
49
|
+
steps.push(child.type());
|
50
|
+
} else {
|
51
|
+
steps.push(child);
|
52
|
+
}
|
53
|
+
}
|
54
|
+
};
|
55
|
+
|
56
|
+
var validateFragmentChild = function validateFragmentChild(child) {
|
57
|
+
if (child.props.children.length) {
|
58
|
+
child.props.children.map(function (fragmentChild) {
|
59
|
+
// We need to make sure that we catch all fragments that have
|
60
|
+
// fragments as children, so we recursively call `validateFragmentChild`
|
61
|
+
// again until child.type is not a `Fragment`
|
62
|
+
if ((fragmentChild === null || fragmentChild === void 0 ? void 0 : fragmentChild.type) === Fragment) {
|
63
|
+
validateFragmentChild(fragmentChild);
|
64
|
+
}
|
65
|
+
|
66
|
+
validateChild(fragmentChild);
|
67
|
+
});
|
68
|
+
} else {
|
69
|
+
validateChild(child.props.children);
|
70
|
+
}
|
71
|
+
};
|
72
|
+
|
73
|
+
arr.length && arr.map(function (child) {
|
74
|
+
if ((child === null || child === void 0 ? void 0 : child.type) === Fragment) {
|
75
|
+
validateFragmentChild(child);
|
76
|
+
}
|
77
|
+
|
78
|
+
validateChild(child);
|
79
|
+
});
|
80
|
+
return steps;
|
81
|
+
}; // Utility used to check the `type` of a child component
|
82
|
+
|
83
|
+
export var hasValidChildType = function hasValidChildType(_ref3) {
|
84
|
+
var _child$props;
|
85
|
+
|
86
|
+
var child = _ref3.child,
|
87
|
+
type = _ref3.type;
|
88
|
+
|
89
|
+
if (child && child !== null && child !== void 0 && child.props && (child === null || child === void 0 ? void 0 : (_child$props = child.props) === null || _child$props === void 0 ? void 0 : _child$props.type) === type) {
|
90
|
+
return true;
|
91
|
+
}
|
92
|
+
|
93
|
+
return false;
|
94
|
+
};
|
@@ -0,0 +1,34 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright IBM Corp. 2016, 2018
|
3
|
+
*
|
4
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
6
|
+
*/
|
7
|
+
|
8
|
+
/**
|
9
|
+
* Various utilities to help with a11y work
|
10
|
+
*/
|
11
|
+
|
12
|
+
/**
|
13
|
+
* A flag `node.compareDocumentPosition(target)` returns,
|
14
|
+
* that indicates `target` is located earlier than `node` in the document or `target` contains `node`.
|
15
|
+
*/
|
16
|
+
export var DOCUMENT_POSITION_BROAD_PRECEDING = // Checks `typeof Node` for `react-docgen`
|
17
|
+
typeof Node !== 'undefined' && Node.DOCUMENT_POSITION_PRECEDING | Node.DOCUMENT_POSITION_CONTAINS;
|
18
|
+
/**
|
19
|
+
* A flag `node.compareDocumentPosition(target)` returns,
|
20
|
+
* that indicates `target` is located later than `node` in the document or `node` contains `target`.
|
21
|
+
*/
|
22
|
+
|
23
|
+
export var DOCUMENT_POSITION_BROAD_FOLLOWING = // Checks `typeof Node` for `react-docgen`
|
24
|
+
typeof Node !== 'undefined' && Node.DOCUMENT_POSITION_FOLLOWING | Node.DOCUMENT_POSITION_CONTAINED_BY;
|
25
|
+
/**
|
26
|
+
* CSS selector that selects major nodes that are sequential-focusable.
|
27
|
+
*/
|
28
|
+
|
29
|
+
export var selectorTabbable = "\n a[href], area[href], input:not([disabled]):not([tabindex='-1']),\n button:not([disabled]):not([tabindex='-1']),select:not([disabled]):not([tabindex='-1']),\n textarea:not([disabled]):not([tabindex='-1']),\n iframe, object, embed, *[tabindex]:not([tabindex='-1']):not([disabled]), *[contenteditable=true]\n";
|
30
|
+
/**
|
31
|
+
* CSS selector that selects major nodes that are click focusable
|
32
|
+
*/
|
33
|
+
|
34
|
+
export var selectorFocusable = "\n a[href], area[href], input:not([disabled]),\n button:not([disabled]),select:not([disabled]),\n textarea:not([disabled]),\n iframe, object, embed, *[tabindex]:not([disabled]), *[contenteditable=true]\n";
|
@@ -0,0 +1,36 @@
|
|
1
|
+
//
|
2
|
+
// Copyright IBM Corp. 2020, 2021
|
3
|
+
//
|
4
|
+
// This source code is licensed under the Apache-2.0 license found in the
|
5
|
+
// LICENSE file in the root directory of this source tree.
|
6
|
+
//
|
7
|
+
export var isProduction = process.env.NODE_ENV === 'production';
|
8
|
+
export var noop = function noop() {
|
9
|
+
return undefined;
|
10
|
+
};
|
11
|
+
export var shimIfProduction = function shimIfProduction(fn) {
|
12
|
+
return isProduction ? noop : fn;
|
13
|
+
};
|
14
|
+
export var log = shimIfProduction(function () {
|
15
|
+
var _console;
|
16
|
+
|
17
|
+
return (_console = console).log.apply(_console, arguments);
|
18
|
+
});
|
19
|
+
export var warn = shimIfProduction(function () {
|
20
|
+
var _console2;
|
21
|
+
|
22
|
+
return (_console2 = console).warn.apply(_console2, arguments);
|
23
|
+
});
|
24
|
+
export var error = shimIfProduction(function () {
|
25
|
+
var _console3;
|
26
|
+
|
27
|
+
return (_console3 = console).error.apply(_console3, arguments);
|
28
|
+
});
|
29
|
+
export default {
|
30
|
+
isProduction: isProduction,
|
31
|
+
noop: noop,
|
32
|
+
shimIfProduction: shimIfProduction,
|
33
|
+
log: log,
|
34
|
+
warn: warn,
|
35
|
+
error: error
|
36
|
+
};
|
@@ -0,0 +1,272 @@
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
2
|
+
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
3
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
4
|
+
|
5
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
6
|
+
|
7
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
8
|
+
|
9
|
+
//
|
10
|
+
// Copyright IBM Corp. 2020, 2021
|
11
|
+
//
|
12
|
+
// This source code is licensed under the Apache-2.0 license found in the
|
13
|
+
// LICENSE file in the root directory of this source tree.
|
14
|
+
//
|
15
|
+
import React from 'react';
|
16
|
+
import PropTypes from 'prop-types';
|
17
|
+
import unwrapIfFragment from './unwrap-if-fragment';
|
18
|
+
import pconsole from './pconsole'; // helper functions for component props
|
19
|
+
|
20
|
+
/**
|
21
|
+
* Prepare a set of props, or prop types or default props, merging values
|
22
|
+
* from one or more sets and optionally blocking keys which should not be
|
23
|
+
* passed. Returns the prepared set of props. Does not modify any of the
|
24
|
+
* objects passed.
|
25
|
+
*
|
26
|
+
* @param {{} | '' | ['']} values One or more sets of keys and values to be
|
27
|
+
* merged, or names of keys to be blocked. Each parameter that is an object is
|
28
|
+
* treated as keys and values to be merged, and each parameter that is a string
|
29
|
+
* or an array of strings is treated as keys to be blocked.
|
30
|
+
*
|
31
|
+
* Examples:
|
32
|
+
* const props = { a: 3, c: 4, d: 5 };
|
33
|
+
*
|
34
|
+
* * prepareProps(props) -> { a: 3, c: 4, d: 5 }
|
35
|
+
* * prepareProps(props, 'c') -> { a: 3, d: 5 }
|
36
|
+
* * prepareProps(props, ['a', 'c', 'e']) -> { d: 5 }
|
37
|
+
*
|
38
|
+
* * prepareProps({ a: 1, b: 2 }, props) -> { a: 3, b: 2, c: 4, d: 5 }
|
39
|
+
* * prepareProps({ a: 1, b: 2 }, props, ['a', 'c']) -> { b: 2, d: 5 }
|
40
|
+
*
|
41
|
+
* * prepareProps(props, { c: 6 }) -> { a: 3, c: 6, d: 5 }
|
42
|
+
* * prepareProps(props, 'a', { c: 6 }) -> { c: 6, d: 5 }
|
43
|
+
*/
|
44
|
+
|
45
|
+
export var prepareProps = function prepareProps() {
|
46
|
+
// Convert any string or array arg into an object with nulls as values
|
47
|
+
var toNulls = function toNulls(arg) {
|
48
|
+
return typeof arg === 'string' ? _defineProperty({}, arg, null) : Array.isArray(arg) ? Object.fromEntries(arg.map(function (key) {
|
49
|
+
return [key, null];
|
50
|
+
})) : arg;
|
51
|
+
}; // Merge all the args from left to right
|
52
|
+
|
53
|
+
|
54
|
+
for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {
|
55
|
+
values[_key] = arguments[_key];
|
56
|
+
}
|
57
|
+
|
58
|
+
var merged = Object.assign.apply(Object, [{}].concat(_toConsumableArray(values.map(toNulls)))); // Now strip any keys whose final value is null
|
59
|
+
|
60
|
+
return Object.entries(merged).reduce(function (result, _ref2) {
|
61
|
+
var _ref3 = _slicedToArray(_ref2, 2),
|
62
|
+
key = _ref3[0],
|
63
|
+
value = _ref3[1];
|
64
|
+
|
65
|
+
if (value !== null) {
|
66
|
+
result[key] = value;
|
67
|
+
}
|
68
|
+
|
69
|
+
return result;
|
70
|
+
}, {});
|
71
|
+
}; // Determine whether a named prop in a set of props has been given a value.
|
72
|
+
// null and undefined do not count as values, but anything else does. If the
|
73
|
+
// prop is 'children', then an array of null/undefined also does not count as
|
74
|
+
// a value, but anything else does.
|
75
|
+
|
76
|
+
var propHasValue = function propHasValue(props, propName) {
|
77
|
+
var result = props[propName] !== null && props[propName] !== undefined;
|
78
|
+
|
79
|
+
if (result && propName === 'children' && Array.isArray(props[propName])) {
|
80
|
+
result = false;
|
81
|
+
|
82
|
+
for (var i = 0; !result && i < props[propName].length; i++) {
|
83
|
+
result = props[propName][i] !== null && props[propName][i] !== undefined;
|
84
|
+
}
|
85
|
+
}
|
86
|
+
|
87
|
+
return result;
|
88
|
+
};
|
89
|
+
/**
|
90
|
+
* A prop-types type checker that marks a particular usage of a prop as
|
91
|
+
* deprecated. The deprecation message is reported if the deprecated validator
|
92
|
+
* matches the supplied value.
|
93
|
+
* @param {} validator The prop-types validator for the prop usage that is
|
94
|
+
* currently supported. If the deprecated validator does not match the supplied
|
95
|
+
* value and this validator produces type checking errors they will be reported
|
96
|
+
* as usual.
|
97
|
+
* @param {} deprecated The prop-types validator for the prop usage that is
|
98
|
+
* now deprecated. If the deprecated validator matches the supplied value the
|
99
|
+
* deprecation warning message is reported but the value is considered valid.
|
100
|
+
* @param {*} additionalInfo One or more sentences to be appended to the
|
101
|
+
* deprecation message to explain why the prop usage is deprecated and/or what
|
102
|
+
* should be used instead.
|
103
|
+
* @returns Any type checking error reported by the validator, or null.
|
104
|
+
*/
|
105
|
+
|
106
|
+
|
107
|
+
export var deprecatePropUsage = function deprecatePropUsage(validator, deprecated, additionalInfo) {
|
108
|
+
return function (props, propName, comp, loc, propFullName, secret) {
|
109
|
+
if (propHasValue(props, propName) && deprecated(props, propName, comp, loc, propFullName, secret) === null) {
|
110
|
+
pconsole.warn("The usage of the ".concat(loc, " `").concat(propFullName || propName, "` of `").concat(comp, "` has been changed and support for the old usage will soon be removed. ").concat(additionalInfo));
|
111
|
+
return null;
|
112
|
+
} else {
|
113
|
+
return validator(props, propName, comp, loc, propFullName, secret);
|
114
|
+
}
|
115
|
+
};
|
116
|
+
};
|
117
|
+
/**
|
118
|
+
* A prop-types type checker that marks a prop as deprecated.
|
119
|
+
* @param {} validator The prop-types validator for the prop as it should be
|
120
|
+
* used if it weren't deprecated. If this validator produces type checking
|
121
|
+
* errors they will be reported as usual.
|
122
|
+
* @param {*} additionalInfo One or more sentences to be appended to the
|
123
|
+
* deprecation message to explain why the prop is deprecated and/or what should
|
124
|
+
* be used instead.
|
125
|
+
* @returns Any type checking error reported by the validator, or null.
|
126
|
+
*/
|
127
|
+
|
128
|
+
export var deprecateProp = function deprecateProp(validator, additionalInfo) {
|
129
|
+
return function (props, propName, comp, loc, propFullName, secret) {
|
130
|
+
if (propHasValue(props, propName)) {
|
131
|
+
pconsole.warn("The ".concat(loc, " `").concat(propFullName || propName, "` of `").concat(comp, "` has been deprecated and will soon be removed. ").concat(additionalInfo));
|
132
|
+
}
|
133
|
+
|
134
|
+
return validator(props, propName, comp, loc, propFullName, secret);
|
135
|
+
};
|
136
|
+
};
|
137
|
+
/**
|
138
|
+
* A function that returns a storybook argTypes object configured to remove deprecated
|
139
|
+
* props from the storybook controls
|
140
|
+
*/
|
141
|
+
|
142
|
+
export var getDeprecatedArgTypes = function getDeprecatedArgTypes(deprecatedProps) {
|
143
|
+
var keys = Object.keys(deprecatedProps);
|
144
|
+
return keys.reduce(function (acc, cur) {
|
145
|
+
return acc[cur] = {
|
146
|
+
table: {
|
147
|
+
disable: true
|
148
|
+
}
|
149
|
+
}, acc;
|
150
|
+
}, {});
|
151
|
+
};
|
152
|
+
/**
|
153
|
+
* Takes items as fragment, node or array
|
154
|
+
* @param {node || array} items - which may have shape to extract
|
155
|
+
* @returns Array of items
|
156
|
+
*/
|
157
|
+
|
158
|
+
export var extractShapesArray = function extractShapesArray(items) {
|
159
|
+
var _items$, _items$2;
|
160
|
+
|
161
|
+
// unwrap if items or the first index looks like a React element or fragment
|
162
|
+
if (items && (items !== null && items !== void 0 && (_items$ = items[0]) !== null && _items$ !== void 0 && _items$.props || (items === null || items === void 0 ? void 0 : (_items$2 = items[0]) === null || _items$2 === void 0 ? void 0 : _items$2.type) === React.Fragment || items.type === React.Fragment)) {
|
163
|
+
var unwrappedItems = unwrapIfFragment(items);
|
164
|
+
return unwrappedItems.map(function (item) {
|
165
|
+
return _objectSpread({
|
166
|
+
key: item.key
|
167
|
+
}, item.props);
|
168
|
+
});
|
169
|
+
}
|
170
|
+
|
171
|
+
return Array.isArray(items) ? items : [];
|
172
|
+
};
|
173
|
+
/**
|
174
|
+
* A prop-types validation function that takes an array of type checkers and
|
175
|
+
* requires prop values to satisfy all of the type checkers. This can be useful
|
176
|
+
* to combine custom validation functions with regular prop types, or for
|
177
|
+
* combining inherited prop-types from another component with tighter
|
178
|
+
* requirements.
|
179
|
+
*
|
180
|
+
* Examples:
|
181
|
+
*
|
182
|
+
* MyComponent.propTypes = {
|
183
|
+
*
|
184
|
+
* foo: allPropTypes([
|
185
|
+
* customValidationFunction,
|
186
|
+
* PropTypes.arrayOf(
|
187
|
+
* PropTypes.shape({
|
188
|
+
* text: PropType.string
|
189
|
+
* })
|
190
|
+
* )
|
191
|
+
* ]),
|
192
|
+
*
|
193
|
+
* kind: allPropTypes([
|
194
|
+
* Button.propTypes.kind,
|
195
|
+
* PropTypes.oneOf(['primary', 'secondary'])
|
196
|
+
* ]),
|
197
|
+
*
|
198
|
+
* }
|
199
|
+
*/
|
200
|
+
|
201
|
+
export var allPropTypes = pconsole.shimIfProduction(function (arrayOfTypeCheckers) {
|
202
|
+
if (!Array.isArray(arrayOfTypeCheckers)) {
|
203
|
+
pconsole.error('Warning: Invalid argument supplied to allPropTypes, expected an instance of array.');
|
204
|
+
return pconsole.noop;
|
205
|
+
}
|
206
|
+
|
207
|
+
for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
|
208
|
+
if (typeof arrayOfTypeCheckers[i] !== 'function') {
|
209
|
+
pconsole.error("Invalid argument supplied to allPropTypes. Expected an array of check functions, but received ".concat(arrayOfTypeCheckers[i], " at index ").concat(i, "."));
|
210
|
+
return pconsole.noop;
|
211
|
+
}
|
212
|
+
}
|
213
|
+
|
214
|
+
var checkType = function checkType() {
|
215
|
+
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
216
|
+
args[_key2] = arguments[_key2];
|
217
|
+
}
|
218
|
+
|
219
|
+
var error = null;
|
220
|
+
arrayOfTypeCheckers.some(function (checker) {
|
221
|
+
return error = checker.apply(void 0, args);
|
222
|
+
});
|
223
|
+
return error;
|
224
|
+
};
|
225
|
+
|
226
|
+
checkType.isRequired = function (props, propName, comp, loc, propFullName, secret) {
|
227
|
+
var prop = propFullName || propName;
|
228
|
+
return props[prop] == null ? new Error("The ".concat(loc, " `").concat(prop, "` is marked as required in `").concat(comp || '<<anonymous>>', "`, but its value is `").concat(props[prop] === null ? 'null' : 'undefined', "`.")) : checkType(props, prop, comp, loc, propFullName, secret);
|
229
|
+
};
|
230
|
+
|
231
|
+
return checkType;
|
232
|
+
});
|
233
|
+
/**
|
234
|
+
* A prop-types validation function that takes a type checkers and a condition
|
235
|
+
* function and invokes either the type checker or the isRequired variant of
|
236
|
+
* the type checker according to whether the condition function returns false
|
237
|
+
* or true when called with the full set of props. This can be useful to make
|
238
|
+
* a prop conditionally required. The function also has a decorate function
|
239
|
+
* which can be used to add isRequiredIf to any existing type which already has
|
240
|
+
* an isRequired variant, and this is automatically applied to the simple type
|
241
|
+
* checkers in PropTypes when this props-helper module is imported. The second
|
242
|
+
* example produces better results with DocGen and Storybook.
|
243
|
+
*
|
244
|
+
* Examples:
|
245
|
+
*
|
246
|
+
* MyComponent1.propTypes = {
|
247
|
+
* showFoo: PropTypes.bool,
|
248
|
+
* fooLabel: isRequiredIf(PropTypes.string, ({ showFoo }) => showFoo),
|
249
|
+
* }
|
250
|
+
*
|
251
|
+
* MyComponent2.propTypes = {
|
252
|
+
* showBar: PropTypes.bool,
|
253
|
+
* barLabel: PropTypes.string.isRequired.if(({ showBar }) => showBar),
|
254
|
+
* }
|
255
|
+
*
|
256
|
+
*/
|
257
|
+
|
258
|
+
export var isRequiredIf = function isRequiredIf(checker, conditionFn) {
|
259
|
+
return function (props, propName, componentName, location, propFullName, secret) {
|
260
|
+
return (conditionFn(props) ? checker.isRequired : checker)(props, propName, componentName, location, propFullName, secret);
|
261
|
+
};
|
262
|
+
};
|
263
|
+
|
264
|
+
isRequiredIf.decorate = function (checker) {
|
265
|
+
checker.isRequired.if = pconsole.isProduction ? pconsole.noop : isRequiredIf.bind(null, checker);
|
266
|
+
};
|
267
|
+
|
268
|
+
for (var checker in PropTypes) {
|
269
|
+
if (PropTypes[checker].isRequired) {
|
270
|
+
isRequiredIf.decorate(PropTypes[checker]);
|
271
|
+
}
|
272
|
+
}
|
@@ -0,0 +1,40 @@
|
|
1
|
+
var windowExists = typeof window !== "undefined"; // determine whether the target is scrollable
|
2
|
+
|
3
|
+
var scrollable = function scrollable(target) {
|
4
|
+
var style = window.getComputedStyle(target);
|
5
|
+
return /(auto|scroll|hidden)/.test(style.overflow);
|
6
|
+
};
|
7
|
+
|
8
|
+
var scrollableAncestorInner = function scrollableAncestorInner(target) {
|
9
|
+
if (target.parentNode && target.parentNode !== document) {
|
10
|
+
if (scrollable(target.parentNode)) {
|
11
|
+
return target.parentNode;
|
12
|
+
} else {
|
13
|
+
return scrollableAncestorInner(target.parentNode);
|
14
|
+
}
|
15
|
+
} else {
|
16
|
+
return document.scrollingElement;
|
17
|
+
}
|
18
|
+
};
|
19
|
+
/**
|
20
|
+
* Walks up the parent nodes to identify the first scrollable ancestor
|
21
|
+
*
|
22
|
+
* @param {HTMLElement} target
|
23
|
+
* @returns {HTMLElement}
|
24
|
+
*/
|
25
|
+
|
26
|
+
|
27
|
+
export var scrollableAncestor = function scrollableAncestor(target) {
|
28
|
+
if (!windowExists || !target) {
|
29
|
+
return null;
|
30
|
+
} // based on https://stackoverflow.com/questions/35939886/find-first-scrollable-parent
|
31
|
+
|
32
|
+
|
33
|
+
var style = window.getComputedStyle(target);
|
34
|
+
|
35
|
+
if (!target || style.position === 'fixed') {
|
36
|
+
return document.scrollingElement;
|
37
|
+
}
|
38
|
+
|
39
|
+
return scrollableAncestorInner(target);
|
40
|
+
};
|