@automattic/onboarding 1.0.0 → 1.0.1
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/.storybook/index.scss +16 -0
- package/.storybook/main.ts +15 -0
- package/.storybook/preview.ts +5 -0
- package/CHANGELOG.md +5 -0
- package/dist/cjs/action-buttons/index.js +1 -13
- package/dist/cjs/action-buttons/index.js.map +1 -1
- package/dist/cjs/action-buttons/style.scss +4 -40
- package/dist/cjs/cart/create-cart-manager-client.js +3 -3
- package/dist/cjs/cart/create-cart-manager-client.js.map +1 -1
- package/dist/cjs/cart/index.js +45 -67
- package/dist/cjs/cart/index.js.map +1 -1
- package/dist/cjs/confetti/index.js +1 -1
- package/dist/cjs/confetti/index.js.map +1 -1
- package/dist/cjs/flow-progress/use-flow-progress.js +0 -57
- package/dist/cjs/flow-progress/use-flow-progress.js.map +1 -1
- package/dist/cjs/hooks/use-persisted-state.js +61 -0
- package/dist/cjs/hooks/use-persisted-state.js.map +1 -0
- package/dist/cjs/hooray/index.js +1 -1
- package/dist/cjs/index.js +11 -10
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/mshots-image/index.js +34 -15
- package/dist/cjs/mshots-image/index.js.map +1 -1
- package/dist/cjs/mshots-image/style.scss +1 -0
- package/dist/cjs/navigator/hooks/index.js +2 -1
- package/dist/cjs/navigator/hooks/index.js.map +1 -1
- package/dist/cjs/navigator/navigator-buttons/index.js +2 -2
- package/dist/cjs/navigator/navigator-buttons/index.js.map +1 -1
- package/dist/cjs/navigator/navigator-header/index.js.map +1 -1
- package/dist/cjs/navigator/navigator-screens/hooks/index.js +3 -2
- package/dist/cjs/navigator/navigator-screens/hooks/index.js.map +1 -1
- package/dist/cjs/navigator/navigator-screens/hooks/use-navigator-screens.js +1 -1
- package/dist/cjs/navigator/navigator-screens/hooks/use-navigator-screens.js.map +1 -1
- package/dist/cjs/navigator/navigator-screens/navigator-screens.js +7 -2
- package/dist/cjs/navigator/navigator-screens/navigator-screens.js.map +1 -1
- package/dist/cjs/select-card-checkbox/index.js +4 -3
- package/dist/cjs/select-card-checkbox/index.js.map +1 -1
- package/dist/cjs/select-card-checkbox/style.scss +11 -14
- package/dist/cjs/select-card-checkbox-v2/index.js +15 -0
- package/dist/cjs/select-card-checkbox-v2/index.js.map +1 -0
- package/dist/cjs/select-card-checkbox-v2/style.scss +25 -0
- package/dist/cjs/select-items/index.js +2 -1
- package/dist/cjs/select-items/index.js.map +1 -1
- package/dist/cjs/select-items/style.scss +2 -1
- package/dist/cjs/setup-tailored-site-after-creation.js +9 -37
- package/dist/cjs/setup-tailored-site-after-creation.js.map +1 -1
- package/dist/cjs/step-container/index.js +10 -12
- package/dist/cjs/step-container/index.js.map +1 -1
- package/dist/cjs/step-container/style.scss +35 -77
- package/dist/cjs/step-container-v2/components/ContentRow/ContentRow.js +14 -0
- package/dist/cjs/step-container-v2/components/ContentRow/ContentRow.js.map +1 -0
- package/dist/cjs/step-container-v2/components/ContentRow/style.scss +26 -0
- package/dist/cjs/step-container-v2/components/ContentWrapper/ContentWrapper.js +19 -0
- package/dist/cjs/step-container-v2/components/ContentWrapper/ContentWrapper.js.map +1 -0
- package/dist/cjs/step-container-v2/components/ContentWrapper/style.scss +70 -0
- package/dist/cjs/step-container-v2/components/Heading/Heading.js +17 -0
- package/dist/cjs/step-container-v2/components/Heading/Heading.js.map +1 -0
- package/dist/cjs/step-container-v2/components/Heading/style.scss +47 -0
- package/dist/cjs/step-container-v2/components/StepContainerV2/StepContainerV2.js +36 -0
- package/dist/cjs/step-container-v2/components/StepContainerV2/StepContainerV2.js.map +1 -0
- package/dist/cjs/step-container-v2/components/StepContainerV2/context.js +13 -0
- package/dist/cjs/step-container-v2/components/StepContainerV2/context.js.map +1 -0
- package/dist/cjs/step-container-v2/components/StepContainerV2/style.scss +21 -0
- package/dist/cjs/step-container-v2/components/StepCounter/StepCounter.js +17 -0
- package/dist/cjs/step-container-v2/components/StepCounter/StepCounter.js.map +1 -0
- package/dist/cjs/step-container-v2/components/StepCounter/style.scss +4 -0
- package/dist/cjs/step-container-v2/components/StickyBottomBar/StickyBottomBar.js +17 -0
- package/dist/cjs/step-container-v2/components/StickyBottomBar/StickyBottomBar.js.map +1 -0
- package/dist/cjs/step-container-v2/components/StickyBottomBar/StickyBottomBarRenderer.js +31 -0
- package/dist/cjs/step-container-v2/components/StickyBottomBar/StickyBottomBarRenderer.js.map +1 -0
- package/dist/cjs/step-container-v2/components/StickyBottomBar/style.scss +56 -0
- package/dist/cjs/step-container-v2/components/TopBar/TopBar.js +55 -0
- package/dist/cjs/step-container-v2/components/TopBar/TopBar.js.map +1 -0
- package/dist/cjs/step-container-v2/components/TopBar/TopBarRenderer.js +32 -0
- package/dist/cjs/step-container-v2/components/TopBar/TopBarRenderer.js.map +1 -0
- package/dist/cjs/step-container-v2/components/TopBar/style.scss +75 -0
- package/dist/cjs/step-container-v2/components/buttons/BackButton/BackButton.js +29 -0
- package/dist/cjs/step-container-v2/components/buttons/BackButton/BackButton.js.map +1 -0
- package/dist/cjs/step-container-v2/components/buttons/BackButton/style.scss +16 -0
- package/dist/cjs/step-container-v2/components/buttons/LinkButton/LinkButton.js +18 -0
- package/dist/cjs/step-container-v2/components/buttons/LinkButton/LinkButton.js.map +1 -0
- package/dist/cjs/step-container-v2/components/buttons/LinkButton/style.scss +6 -0
- package/dist/cjs/step-container-v2/components/buttons/PrimaryButton/PrimaryButton.js +18 -0
- package/dist/cjs/step-container-v2/components/buttons/PrimaryButton/PrimaryButton.js.map +1 -0
- package/dist/cjs/step-container-v2/components/buttons/PrimaryButton/style.scss +6 -0
- package/dist/cjs/step-container-v2/components/buttons/SecondaryButton/SecondaryButton.js +18 -0
- package/dist/cjs/step-container-v2/components/buttons/SecondaryButton/SecondaryButton.js.map +1 -0
- package/dist/cjs/step-container-v2/components/buttons/SecondaryButton/style.scss +6 -0
- package/dist/cjs/step-container-v2/components/buttons/SkipButton/SkipButton.js +28 -0
- package/dist/cjs/step-container-v2/components/buttons/SkipButton/SkipButton.js.map +1 -0
- package/dist/cjs/step-container-v2/contexts/StepContainerV2Context.js +17 -0
- package/dist/cjs/step-container-v2/contexts/StepContainerV2Context.js.map +1 -0
- package/dist/cjs/step-container-v2/helpers/decorateButtonWithTracksEventRecording.js +18 -0
- package/dist/cjs/step-container-v2/helpers/decorateButtonWithTracksEventRecording.js.map +1 -0
- package/dist/cjs/step-container-v2/helpers/normalizeButtonProps.js +13 -0
- package/dist/cjs/step-container-v2/helpers/normalizeButtonProps.js.map +1 -0
- package/dist/cjs/step-container-v2/helpers/wireframe-placeholder.js +18 -0
- package/dist/cjs/step-container-v2/helpers/wireframe-placeholder.js.map +1 -0
- package/dist/cjs/step-container-v2/helpers/withStepContainerV2ContextDecorator.js +15 -0
- package/dist/cjs/step-container-v2/helpers/withStepContainerV2ContextDecorator.js.map +1 -0
- package/dist/cjs/step-container-v2/index.js +41 -0
- package/dist/cjs/step-container-v2/index.js.map +1 -0
- package/dist/cjs/step-container-v2/types.js +3 -0
- package/dist/cjs/step-container-v2/types.js.map +1 -0
- package/dist/cjs/step-container-v2/wireframes/CenteredColumnLayout/CenteredColumnLayout.js +26 -0
- package/dist/cjs/step-container-v2/wireframes/CenteredColumnLayout/CenteredColumnLayout.js.map +1 -0
- package/dist/cjs/step-container-v2/wireframes/CenteredColumnLayout/CenteredColumnLayout.stories.js +52 -0
- package/dist/cjs/step-container-v2/wireframes/CenteredColumnLayout/CenteredColumnLayout.stories.js.map +1 -0
- package/dist/cjs/step-container-v2/wireframes/FixedColumnOnTheLeftLayout/FixedColumnOnTheLeftLayout.js +26 -0
- package/dist/cjs/step-container-v2/wireframes/FixedColumnOnTheLeftLayout/FixedColumnOnTheLeftLayout.js.map +1 -0
- package/dist/cjs/step-container-v2/wireframes/FixedColumnOnTheLeftLayout/FixedColumnOnTheLeftLayout.stories.js +25 -0
- package/dist/cjs/step-container-v2/wireframes/FixedColumnOnTheLeftLayout/FixedColumnOnTheLeftLayout.stories.js.map +1 -0
- package/dist/cjs/step-container-v2/wireframes/FixedColumnOnTheLeftLayout/style.scss +14 -0
- package/dist/cjs/step-container-v2/wireframes/Loading/Loading.js +30 -0
- package/dist/cjs/step-container-v2/wireframes/Loading/Loading.js.map +1 -0
- package/dist/cjs/step-container-v2/wireframes/Loading/Loading.stories.js +29 -0
- package/dist/cjs/step-container-v2/wireframes/Loading/Loading.stories.js.map +1 -0
- package/dist/cjs/step-container-v2/wireframes/Loading/style.scss +22 -0
- package/dist/cjs/step-container-v2/wireframes/PlaygroundLayout/PlaygroundLayout.js +17 -0
- package/dist/cjs/step-container-v2/wireframes/PlaygroundLayout/PlaygroundLayout.js.map +1 -0
- package/dist/cjs/step-container-v2/wireframes/PlaygroundLayout/PlaygroundLayout.stories.js +17 -0
- package/dist/cjs/step-container-v2/wireframes/PlaygroundLayout/PlaygroundLayout.stories.js.map +1 -0
- package/dist/cjs/step-container-v2/wireframes/PlaygroundLayout/style.scss +5 -0
- package/dist/cjs/step-container-v2/wireframes/TwoColumnLayout/TwoColumnLayout.js +38 -0
- package/dist/cjs/step-container-v2/wireframes/TwoColumnLayout/TwoColumnLayout.js.map +1 -0
- package/dist/cjs/step-container-v2/wireframes/TwoColumnLayout/TwoColumnLayout.stories.js +28 -0
- package/dist/cjs/step-container-v2/wireframes/TwoColumnLayout/TwoColumnLayout.stories.js.map +1 -0
- package/dist/cjs/step-container-v2/wireframes/TwoColumnLayout/style.scss +15 -0
- package/dist/cjs/step-container-v2/wireframes/WideLayout/WideLayout.js +17 -0
- package/dist/cjs/step-container-v2/wireframes/WideLayout/WideLayout.js.map +1 -0
- package/dist/cjs/step-container-v2/wireframes/WideLayout/WideLayout.stories.js +41 -0
- package/dist/cjs/step-container-v2/wireframes/WideLayout/WideLayout.stories.js.map +1 -0
- package/dist/cjs/step-navigation-link/index.js +2 -2
- package/dist/cjs/step-navigation-link/index.js.map +1 -1
- package/dist/cjs/step-navigation-link/style.scss +5 -3
- package/dist/cjs/titles/styles.scss +2 -2
- package/dist/cjs/upload-and-set-site-logo.js +4 -5
- package/dist/cjs/upload-and-set-site-logo.js.map +1 -1
- package/dist/cjs/utils/contrastChecker.js +1 -22
- package/dist/cjs/utils/contrastChecker.js.map +1 -1
- package/dist/cjs/utils/flows.js +73 -117
- package/dist/cjs/utils/flows.js.map +1 -1
- package/dist/cjs/utils/is-domain.js +1 -2
- package/dist/cjs/utils/is-domain.js.map +1 -1
- package/dist/cjs/utils/use-data-loss-warning.js +1 -2
- package/dist/cjs/utils/use-data-loss-warning.js.map +1 -1
- package/dist/cjs/wpcom-request.js +24 -0
- package/dist/cjs/wpcom-request.js.map +1 -0
- package/dist/esm/action-buttons/index.js +1 -11
- package/dist/esm/action-buttons/index.js.map +1 -1
- package/dist/esm/action-buttons/style.scss +4 -40
- package/dist/esm/cart/create-cart-manager-client.js +1 -1
- package/dist/esm/cart/create-cart-manager-client.js.map +1 -1
- package/dist/esm/cart/index.js +40 -61
- package/dist/esm/cart/index.js.map +1 -1
- package/dist/esm/confetti/index.js +1 -1
- package/dist/esm/confetti/index.js.map +1 -1
- package/dist/esm/flow-progress/use-flow-progress.js +1 -58
- package/dist/esm/flow-progress/use-flow-progress.js.map +1 -1
- package/dist/esm/hooks/use-persisted-state.js +57 -0
- package/dist/esm/hooks/use-persisted-state.js.map +1 -0
- package/dist/esm/hooray/index.js +1 -1
- package/dist/esm/index.js +6 -5
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/mshots-image/index.js +33 -13
- package/dist/esm/mshots-image/index.js.map +1 -1
- package/dist/esm/mshots-image/style.scss +1 -0
- package/dist/esm/navigator/navigator-buttons/index.js.map +1 -1
- package/dist/esm/navigator/navigator-header/index.js.map +1 -1
- package/dist/esm/navigator/navigator-screens/hooks/use-navigator-screens.js +1 -1
- package/dist/esm/navigator/navigator-screens/hooks/use-navigator-screens.js.map +1 -1
- package/dist/esm/navigator/navigator-screens/navigator-screens.js +8 -3
- package/dist/esm/navigator/navigator-screens/navigator-screens.js.map +1 -1
- package/dist/esm/select-card-checkbox/index.js +4 -3
- package/dist/esm/select-card-checkbox/index.js.map +1 -1
- package/dist/esm/select-card-checkbox/style.scss +11 -14
- package/dist/esm/select-card-checkbox-v2/index.js +12 -0
- package/dist/esm/select-card-checkbox-v2/index.js.map +1 -0
- package/dist/esm/select-card-checkbox-v2/style.scss +25 -0
- package/dist/esm/select-items/index.js +3 -2
- package/dist/esm/select-items/index.js.map +1 -1
- package/dist/esm/select-items/style.scss +2 -1
- package/dist/esm/setup-tailored-site-after-creation.js +9 -37
- package/dist/esm/setup-tailored-site-after-creation.js.map +1 -1
- package/dist/esm/step-container/index.js +11 -13
- package/dist/esm/step-container/index.js.map +1 -1
- package/dist/esm/step-container/style.scss +35 -77
- package/dist/esm/step-container-v2/components/ContentRow/ContentRow.js +9 -0
- package/dist/esm/step-container-v2/components/ContentRow/ContentRow.js.map +1 -0
- package/dist/esm/step-container-v2/components/ContentRow/style.scss +26 -0
- package/dist/esm/step-container-v2/components/ContentWrapper/ContentWrapper.js +14 -0
- package/dist/esm/step-container-v2/components/ContentWrapper/ContentWrapper.js.map +1 -0
- package/dist/esm/step-container-v2/components/ContentWrapper/style.scss +70 -0
- package/dist/esm/step-container-v2/components/Heading/Heading.js +12 -0
- package/dist/esm/step-container-v2/components/Heading/Heading.js.map +1 -0
- package/dist/esm/step-container-v2/components/Heading/style.scss +47 -0
- package/dist/esm/step-container-v2/components/StepContainerV2/StepContainerV2.js +32 -0
- package/dist/esm/step-container-v2/components/StepContainerV2/StepContainerV2.js.map +1 -0
- package/dist/esm/step-container-v2/components/StepContainerV2/context.js +10 -0
- package/dist/esm/step-container-v2/components/StepContainerV2/context.js.map +1 -0
- package/dist/esm/step-container-v2/components/StepContainerV2/style.scss +21 -0
- package/dist/esm/step-container-v2/components/StepCounter/StepCounter.js +13 -0
- package/dist/esm/step-container-v2/components/StepCounter/StepCounter.js.map +1 -0
- package/dist/esm/step-container-v2/components/StepCounter/style.scss +4 -0
- package/dist/esm/step-container-v2/components/StickyBottomBar/StickyBottomBar.js +12 -0
- package/dist/esm/step-container-v2/components/StickyBottomBar/StickyBottomBar.js.map +1 -0
- package/dist/esm/step-container-v2/components/StickyBottomBar/StickyBottomBarRenderer.js +27 -0
- package/dist/esm/step-container-v2/components/StickyBottomBar/StickyBottomBarRenderer.js.map +1 -0
- package/dist/esm/step-container-v2/components/StickyBottomBar/style.scss +56 -0
- package/dist/esm/step-container-v2/components/TopBar/TopBar.js +49 -0
- package/dist/esm/step-container-v2/components/TopBar/TopBar.js.map +1 -0
- package/dist/esm/step-container-v2/components/TopBar/TopBarRenderer.js +27 -0
- package/dist/esm/step-container-v2/components/TopBar/TopBarRenderer.js.map +1 -0
- package/dist/esm/step-container-v2/components/TopBar/style.scss +75 -0
- package/dist/esm/step-container-v2/components/buttons/BackButton/BackButton.js +25 -0
- package/dist/esm/step-container-v2/components/buttons/BackButton/BackButton.js.map +1 -0
- package/dist/esm/step-container-v2/components/buttons/BackButton/style.scss +16 -0
- package/dist/esm/step-container-v2/components/buttons/LinkButton/LinkButton.js +14 -0
- package/dist/esm/step-container-v2/components/buttons/LinkButton/LinkButton.js.map +1 -0
- package/dist/esm/step-container-v2/components/buttons/LinkButton/style.scss +6 -0
- package/dist/esm/step-container-v2/components/buttons/PrimaryButton/PrimaryButton.js +14 -0
- package/dist/esm/step-container-v2/components/buttons/PrimaryButton/PrimaryButton.js.map +1 -0
- package/dist/esm/step-container-v2/components/buttons/PrimaryButton/style.scss +6 -0
- package/dist/esm/step-container-v2/components/buttons/SecondaryButton/SecondaryButton.js +14 -0
- package/dist/esm/step-container-v2/components/buttons/SecondaryButton/SecondaryButton.js.map +1 -0
- package/dist/esm/step-container-v2/components/buttons/SecondaryButton/style.scss +6 -0
- package/dist/esm/step-container-v2/components/buttons/SkipButton/SkipButton.js +24 -0
- package/dist/esm/step-container-v2/components/buttons/SkipButton/SkipButton.js.map +1 -0
- package/dist/esm/step-container-v2/contexts/StepContainerV2Context.js +13 -0
- package/dist/esm/step-container-v2/contexts/StepContainerV2Context.js.map +1 -0
- package/dist/esm/step-container-v2/helpers/decorateButtonWithTracksEventRecording.js +14 -0
- package/dist/esm/step-container-v2/helpers/decorateButtonWithTracksEventRecording.js.map +1 -0
- package/dist/esm/step-container-v2/helpers/normalizeButtonProps.js +8 -0
- package/dist/esm/step-container-v2/helpers/normalizeButtonProps.js.map +1 -0
- package/dist/esm/step-container-v2/helpers/wireframe-placeholder.js +15 -0
- package/dist/esm/step-container-v2/helpers/wireframe-placeholder.js.map +1 -0
- package/dist/esm/step-container-v2/helpers/withStepContainerV2ContextDecorator.js +11 -0
- package/dist/esm/step-container-v2/helpers/withStepContainerV2ContextDecorator.js.map +1 -0
- package/dist/esm/step-container-v2/index.js +22 -0
- package/dist/esm/step-container-v2/index.js.map +1 -0
- package/dist/esm/step-container-v2/types.js +2 -0
- package/dist/esm/step-container-v2/types.js.map +1 -0
- package/dist/esm/step-container-v2/wireframes/CenteredColumnLayout/CenteredColumnLayout.js +22 -0
- package/dist/esm/step-container-v2/wireframes/CenteredColumnLayout/CenteredColumnLayout.js.map +1 -0
- package/dist/esm/step-container-v2/wireframes/CenteredColumnLayout/CenteredColumnLayout.stories.js +45 -0
- package/dist/esm/step-container-v2/wireframes/CenteredColumnLayout/CenteredColumnLayout.stories.js.map +1 -0
- package/dist/esm/step-container-v2/wireframes/FixedColumnOnTheLeftLayout/FixedColumnOnTheLeftLayout.js +23 -0
- package/dist/esm/step-container-v2/wireframes/FixedColumnOnTheLeftLayout/FixedColumnOnTheLeftLayout.js.map +1 -0
- package/dist/esm/step-container-v2/wireframes/FixedColumnOnTheLeftLayout/FixedColumnOnTheLeftLayout.stories.js +21 -0
- package/dist/esm/step-container-v2/wireframes/FixedColumnOnTheLeftLayout/FixedColumnOnTheLeftLayout.stories.js.map +1 -0
- package/dist/esm/step-container-v2/wireframes/FixedColumnOnTheLeftLayout/style.scss +14 -0
- package/dist/esm/step-container-v2/wireframes/Loading/Loading.js +26 -0
- package/dist/esm/step-container-v2/wireframes/Loading/Loading.js.map +1 -0
- package/dist/esm/step-container-v2/wireframes/Loading/Loading.stories.js +22 -0
- package/dist/esm/step-container-v2/wireframes/Loading/Loading.stories.js.map +1 -0
- package/dist/esm/step-container-v2/wireframes/Loading/style.scss +22 -0
- package/dist/esm/step-container-v2/wireframes/PlaygroundLayout/PlaygroundLayout.js +12 -0
- package/dist/esm/step-container-v2/wireframes/PlaygroundLayout/PlaygroundLayout.js.map +1 -0
- package/dist/esm/step-container-v2/wireframes/PlaygroundLayout/PlaygroundLayout.stories.js +13 -0
- package/dist/esm/step-container-v2/wireframes/PlaygroundLayout/PlaygroundLayout.stories.js.map +1 -0
- package/dist/esm/step-container-v2/wireframes/PlaygroundLayout/style.scss +5 -0
- package/dist/esm/step-container-v2/wireframes/TwoColumnLayout/TwoColumnLayout.js +33 -0
- package/dist/esm/step-container-v2/wireframes/TwoColumnLayout/TwoColumnLayout.js.map +1 -0
- package/dist/esm/step-container-v2/wireframes/TwoColumnLayout/TwoColumnLayout.stories.js +22 -0
- package/dist/esm/step-container-v2/wireframes/TwoColumnLayout/TwoColumnLayout.stories.js.map +1 -0
- package/dist/esm/step-container-v2/wireframes/TwoColumnLayout/style.scss +15 -0
- package/dist/esm/step-container-v2/wireframes/WideLayout/WideLayout.js +13 -0
- package/dist/esm/step-container-v2/wireframes/WideLayout/WideLayout.js.map +1 -0
- package/dist/esm/step-container-v2/wireframes/WideLayout/WideLayout.stories.js +36 -0
- package/dist/esm/step-container-v2/wireframes/WideLayout/WideLayout.stories.js.map +1 -0
- package/dist/esm/step-navigation-link/index.js +2 -2
- package/dist/esm/step-navigation-link/index.js.map +1 -1
- package/dist/esm/step-navigation-link/style.scss +5 -3
- package/dist/esm/titles/styles.scss +2 -2
- package/dist/esm/upload-and-set-site-logo.js +1 -1
- package/dist/esm/upload-and-set-site-logo.js.map +1 -1
- package/dist/esm/utils/contrastChecker.js +0 -20
- package/dist/esm/utils/contrastChecker.js.map +1 -1
- package/dist/esm/utils/flows.js +57 -96
- package/dist/esm/utils/flows.js.map +1 -1
- package/dist/esm/wpcom-request.js +18 -0
- package/dist/esm/wpcom-request.js.map +1 -0
- package/dist/styles/mixins.scss +4 -4
- package/dist/styles/variables.scss +2 -2
- package/dist/tsconfig-cjs.tsbuildinfo +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/action-buttons/index.d.ts +0 -4
- package/dist/types/action-buttons/index.d.ts.map +1 -1
- package/dist/types/cart/index.d.ts +7 -4
- package/dist/types/cart/index.d.ts.map +1 -1
- package/dist/types/flow-progress/use-flow-progress.d.ts.map +1 -1
- package/dist/types/hooks/use-persisted-state.d.ts +26 -0
- package/dist/types/hooks/use-persisted-state.d.ts.map +1 -0
- package/dist/types/index.d.ts +6 -5
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/intent-screen/index.d.ts.map +1 -1
- package/dist/types/mshots-image/index.d.ts +2 -1
- package/dist/types/mshots-image/index.d.ts.map +1 -1
- package/dist/types/navigator/hooks/use-navigator-listener.d.ts.map +1 -1
- package/dist/types/navigator/navigator-buttons/index.d.ts +1 -1
- package/dist/types/navigator/navigator-buttons/index.d.ts.map +1 -1
- package/dist/types/navigator/navigator-header/index.d.ts +1 -1
- package/dist/types/navigator/navigator-header/index.d.ts.map +1 -1
- package/dist/types/navigator/navigator-item-group/index.d.ts +0 -1
- package/dist/types/navigator/navigator-item-group/index.d.ts.map +1 -1
- package/dist/types/navigator/navigator-listener/index.d.ts.map +1 -1
- package/dist/types/navigator/navigator-screen/index.d.ts.map +1 -1
- package/dist/types/navigator/navigator-screens/hooks/use-navigator-buttons.d.ts.map +1 -1
- package/dist/types/navigator/navigator-screens/hooks/use-navigator-screens.d.ts.map +1 -1
- package/dist/types/navigator/navigator-screens/navigator-screens.d.ts +4 -2
- package/dist/types/navigator/navigator-screens/navigator-screens.d.ts.map +1 -1
- package/dist/types/navigator/navigator-screens/types.d.ts +1 -1
- package/dist/types/navigator/navigator-screens/types.d.ts.map +1 -1
- package/dist/types/progress/index.d.ts.map +1 -1
- package/dist/types/select-card-checkbox/index.d.ts +3 -1
- package/dist/types/select-card-checkbox/index.d.ts.map +1 -1
- package/dist/types/select-card-checkbox-v2/index.d.ts +12 -0
- package/dist/types/select-card-checkbox-v2/index.d.ts.map +1 -0
- package/dist/types/select-items/index.d.ts +1 -1
- package/dist/types/select-items/index.d.ts.map +1 -1
- package/dist/types/setup-tailored-site-after-creation.d.ts +1 -1
- package/dist/types/setup-tailored-site-after-creation.d.ts.map +1 -1
- package/dist/types/step-container/index.d.ts +3 -4
- package/dist/types/step-container/index.d.ts.map +1 -1
- package/dist/types/step-container-v2/components/ContentRow/ContentRow.d.ts +9 -0
- package/dist/types/step-container-v2/components/ContentRow/ContentRow.d.ts.map +1 -0
- package/dist/types/step-container-v2/components/ContentWrapper/ContentWrapper.d.ts +15 -0
- package/dist/types/step-container-v2/components/ContentWrapper/ContentWrapper.d.ts.map +1 -0
- package/dist/types/step-container-v2/components/Heading/Heading.d.ts +11 -0
- package/dist/types/step-container-v2/components/Heading/Heading.d.ts.map +1 -0
- package/dist/types/step-container-v2/components/StepContainerV2/StepContainerV2.d.ts +7 -0
- package/dist/types/step-container-v2/components/StepContainerV2/StepContainerV2.d.ts.map +1 -0
- package/dist/types/step-container-v2/components/StepContainerV2/context.d.ts +12 -0
- package/dist/types/step-container-v2/components/StepContainerV2/context.d.ts.map +1 -0
- package/dist/types/step-container-v2/components/StepCounter/StepCounter.d.ts +7 -0
- package/dist/types/step-container-v2/components/StepCounter/StepCounter.d.ts.map +1 -0
- package/dist/types/step-container-v2/components/StickyBottomBar/StickyBottomBar.d.ts +14 -0
- package/dist/types/step-container-v2/components/StickyBottomBar/StickyBottomBar.d.ts.map +1 -0
- package/dist/types/step-container-v2/components/StickyBottomBar/StickyBottomBarRenderer.d.ts +5 -0
- package/dist/types/step-container-v2/components/StickyBottomBar/StickyBottomBarRenderer.d.ts.map +1 -0
- package/dist/types/step-container-v2/components/TopBar/TopBar.d.ts +25 -0
- package/dist/types/step-container-v2/components/TopBar/TopBar.d.ts.map +1 -0
- package/dist/types/step-container-v2/components/TopBar/TopBarRenderer.d.ts +6 -0
- package/dist/types/step-container-v2/components/TopBar/TopBarRenderer.d.ts.map +1 -0
- package/dist/types/step-container-v2/components/buttons/BackButton/BackButton.d.ts +6 -0
- package/dist/types/step-container-v2/components/buttons/BackButton/BackButton.d.ts.map +1 -0
- package/dist/types/step-container-v2/components/buttons/LinkButton/LinkButton.d.ts +4 -0
- package/dist/types/step-container-v2/components/buttons/LinkButton/LinkButton.d.ts.map +1 -0
- package/dist/types/step-container-v2/components/buttons/PrimaryButton/PrimaryButton.d.ts +4 -0
- package/dist/types/step-container-v2/components/buttons/PrimaryButton/PrimaryButton.d.ts.map +1 -0
- package/dist/types/step-container-v2/components/buttons/SecondaryButton/SecondaryButton.d.ts +4 -0
- package/dist/types/step-container-v2/components/buttons/SecondaryButton/SecondaryButton.d.ts.map +1 -0
- package/dist/types/step-container-v2/components/buttons/SkipButton/SkipButton.d.ts +9 -0
- package/dist/types/step-container-v2/components/buttons/SkipButton/SkipButton.d.ts.map +1 -0
- package/dist/types/step-container-v2/contexts/StepContainerV2Context.d.ts +10 -0
- package/dist/types/step-container-v2/contexts/StepContainerV2Context.d.ts.map +1 -0
- package/dist/types/step-container-v2/helpers/decorateButtonWithTracksEventRecording.d.ts +8 -0
- package/dist/types/step-container-v2/helpers/decorateButtonWithTracksEventRecording.d.ts.map +1 -0
- package/dist/types/step-container-v2/helpers/normalizeButtonProps.d.ts +5 -0
- package/dist/types/step-container-v2/helpers/normalizeButtonProps.d.ts.map +1 -0
- package/dist/types/step-container-v2/helpers/wireframe-placeholder.d.ts +7 -0
- package/dist/types/step-container-v2/helpers/wireframe-placeholder.d.ts.map +1 -0
- package/dist/types/step-container-v2/helpers/withStepContainerV2ContextDecorator.d.ts +2 -0
- package/dist/types/step-container-v2/helpers/withStepContainerV2ContextDecorator.d.ts.map +1 -0
- package/dist/types/step-container-v2/index.d.ts +22 -0
- package/dist/types/step-container-v2/index.d.ts.map +1 -0
- package/dist/types/step-container-v2/types.d.ts +4 -0
- package/dist/types/step-container-v2/types.d.ts.map +1 -0
- package/dist/types/step-container-v2/wireframes/CenteredColumnLayout/CenteredColumnLayout.d.ts +16 -0
- package/dist/types/step-container-v2/wireframes/CenteredColumnLayout/CenteredColumnLayout.d.ts.map +1 -0
- package/dist/types/step-container-v2/wireframes/CenteredColumnLayout/CenteredColumnLayout.stories.d.ts +9 -0
- package/dist/types/step-container-v2/wireframes/CenteredColumnLayout/CenteredColumnLayout.stories.d.ts.map +1 -0
- package/dist/types/step-container-v2/wireframes/FixedColumnOnTheLeftLayout/FixedColumnOnTheLeftLayout.d.ts +18 -0
- package/dist/types/step-container-v2/wireframes/FixedColumnOnTheLeftLayout/FixedColumnOnTheLeftLayout.d.ts.map +1 -0
- package/dist/types/step-container-v2/wireframes/FixedColumnOnTheLeftLayout/FixedColumnOnTheLeftLayout.stories.d.ts +6 -0
- package/dist/types/step-container-v2/wireframes/FixedColumnOnTheLeftLayout/FixedColumnOnTheLeftLayout.stories.d.ts.map +1 -0
- package/dist/types/step-container-v2/wireframes/Loading/Loading.d.ts +12 -0
- package/dist/types/step-container-v2/wireframes/Loading/Loading.d.ts.map +1 -0
- package/dist/types/step-container-v2/wireframes/Loading/Loading.stories.d.ts +9 -0
- package/dist/types/step-container-v2/wireframes/Loading/Loading.stories.d.ts.map +1 -0
- package/dist/types/step-container-v2/wireframes/PlaygroundLayout/PlaygroundLayout.d.ts +10 -0
- package/dist/types/step-container-v2/wireframes/PlaygroundLayout/PlaygroundLayout.d.ts.map +1 -0
- package/dist/types/step-container-v2/wireframes/PlaygroundLayout/PlaygroundLayout.stories.d.ts +6 -0
- package/dist/types/step-container-v2/wireframes/PlaygroundLayout/PlaygroundLayout.stories.d.ts.map +1 -0
- package/dist/types/step-container-v2/wireframes/TwoColumnLayout/TwoColumnLayout.d.ts +20 -0
- package/dist/types/step-container-v2/wireframes/TwoColumnLayout/TwoColumnLayout.d.ts.map +1 -0
- package/dist/types/step-container-v2/wireframes/TwoColumnLayout/TwoColumnLayout.stories.d.ts +8 -0
- package/dist/types/step-container-v2/wireframes/TwoColumnLayout/TwoColumnLayout.stories.d.ts.map +1 -0
- package/dist/types/step-container-v2/wireframes/WideLayout/WideLayout.d.ts +13 -0
- package/dist/types/step-container-v2/wireframes/WideLayout/WideLayout.d.ts.map +1 -0
- package/dist/types/step-container-v2/wireframes/WideLayout/WideLayout.stories.d.ts +9 -0
- package/dist/types/step-container-v2/wireframes/WideLayout/WideLayout.stories.d.ts.map +1 -0
- package/dist/types/step-navigation-link/index.d.ts +1 -1
- package/dist/types/step-navigation-link/index.d.ts.map +1 -1
- package/dist/types/upload-and-set-site-logo.d.ts +1 -1
- package/dist/types/upload-and-set-site-logo.d.ts.map +1 -1
- package/dist/types/utils/contrastChecker.d.ts +0 -10
- package/dist/types/utils/contrastChecker.d.ts.map +1 -1
- package/dist/types/utils/domain-suggester.d.ts.map +1 -1
- package/dist/types/utils/flows.d.ts +37 -46
- package/dist/types/utils/flows.d.ts.map +1 -1
- package/dist/types/wpcom-request.d.ts +7 -0
- package/dist/types/wpcom-request.d.ts.map +1 -0
- package/jest.config.js +0 -1
- package/package.json +44 -23
- package/src/action-buttons/index.tsx +0 -40
- package/src/action-buttons/style.scss +4 -40
- package/src/cart/create-cart-manager-client.ts +1 -1
- package/src/cart/index.tsx +60 -103
- package/src/cart/test/index.ts +14 -14
- package/src/confetti/index.tsx +1 -1
- package/src/flow-progress/use-flow-progress.ts +1 -66
- package/src/hooks/test/index.ts +54 -0
- package/src/hooks/use-persisted-state.ts +85 -0
- package/src/hooray/index.tsx +1 -1
- package/src/index.ts +7 -12
- package/src/intent-screen/test/index.tsx +10 -7
- package/src/mshots-image/index.tsx +52 -21
- package/src/mshots-image/style.scss +1 -0
- package/src/navigator/navigator-buttons/index.tsx +1 -0
- package/src/navigator/navigator-header/index.tsx +1 -0
- package/src/navigator/navigator-screens/hooks/use-navigator-screens.tsx +5 -1
- package/src/navigator/navigator-screens/navigator-screens.tsx +17 -0
- package/src/navigator/navigator-screens/types.ts +1 -0
- package/src/select-card-checkbox/index.tsx +10 -4
- package/src/select-card-checkbox/style.scss +11 -14
- package/src/select-card-checkbox-v2/index.tsx +51 -0
- package/src/select-card-checkbox-v2/style.scss +25 -0
- package/src/select-card-checkbox-v2/test/index.test.tsx +49 -0
- package/src/select-items/index.tsx +10 -4
- package/src/select-items/style.scss +2 -1
- package/src/setup-tailored-site-after-creation.ts +16 -60
- package/src/step-container/index.tsx +21 -42
- package/src/step-container/style.scss +35 -77
- package/src/step-container-v2/README.md +235 -0
- package/src/step-container-v2/components/ContentRow/ContentRow.tsx +27 -0
- package/src/step-container-v2/components/ContentRow/style.scss +26 -0
- package/src/step-container-v2/components/ContentWrapper/ContentWrapper.tsx +41 -0
- package/src/step-container-v2/components/ContentWrapper/style.scss +70 -0
- package/src/step-container-v2/components/Heading/Heading.tsx +31 -0
- package/src/step-container-v2/components/Heading/style.scss +47 -0
- package/src/step-container-v2/components/StepContainerV2/StepContainerV2.tsx +55 -0
- package/src/step-container-v2/components/StepContainerV2/context.ts +25 -0
- package/src/step-container-v2/components/StepContainerV2/style.scss +21 -0
- package/src/step-container-v2/components/StepCounter/StepCounter.tsx +32 -0
- package/src/step-container-v2/components/StepCounter/style.scss +4 -0
- package/src/step-container-v2/components/StickyBottomBar/StickyBottomBar.tsx +46 -0
- package/src/step-container-v2/components/StickyBottomBar/StickyBottomBarRenderer.tsx +41 -0
- package/src/step-container-v2/components/StickyBottomBar/style.scss +56 -0
- package/src/step-container-v2/components/TopBar/TopBar.tsx +116 -0
- package/src/step-container-v2/components/TopBar/TopBarRenderer.tsx +43 -0
- package/src/step-container-v2/components/TopBar/style.scss +75 -0
- package/src/step-container-v2/components/buttons/BackButton/BackButton.tsx +32 -0
- package/src/step-container-v2/components/buttons/BackButton/style.scss +16 -0
- package/src/step-container-v2/components/buttons/LinkButton/LinkButton.tsx +17 -0
- package/src/step-container-v2/components/buttons/LinkButton/style.scss +6 -0
- package/src/step-container-v2/components/buttons/PrimaryButton/PrimaryButton.tsx +17 -0
- package/src/step-container-v2/components/buttons/PrimaryButton/style.scss +6 -0
- package/src/step-container-v2/components/buttons/SecondaryButton/SecondaryButton.tsx +17 -0
- package/src/step-container-v2/components/buttons/SecondaryButton/style.scss +6 -0
- package/src/step-container-v2/components/buttons/SkipButton/SkipButton.tsx +30 -0
- package/src/step-container-v2/contexts/StepContainerV2Context.ts +23 -0
- package/src/step-container-v2/helpers/decorateButtonWithTracksEventRecording.ts +28 -0
- package/src/step-container-v2/helpers/normalizeButtonProps.ts +14 -0
- package/src/step-container-v2/helpers/wireframe-placeholder.tsx +28 -0
- package/src/step-container-v2/helpers/withStepContainerV2ContextDecorator.tsx +16 -0
- package/src/step-container-v2/index.tsx +24 -0
- package/src/step-container-v2/types.ts +4 -0
- package/src/step-container-v2/wireframes/CenteredColumnLayout/CenteredColumnLayout.stories.tsx +122 -0
- package/src/step-container-v2/wireframes/CenteredColumnLayout/CenteredColumnLayout.tsx +66 -0
- package/src/step-container-v2/wireframes/FixedColumnOnTheLeftLayout/FixedColumnOnTheLeftLayout.stories.tsx +51 -0
- package/src/step-container-v2/wireframes/FixedColumnOnTheLeftLayout/FixedColumnOnTheLeftLayout.tsx +69 -0
- package/src/step-container-v2/wireframes/FixedColumnOnTheLeftLayout/style.scss +14 -0
- package/src/step-container-v2/wireframes/Loading/Loading.stories.tsx +27 -0
- package/src/step-container-v2/wireframes/Loading/Loading.tsx +52 -0
- package/src/step-container-v2/wireframes/Loading/style.scss +22 -0
- package/src/step-container-v2/wireframes/Loading/test/Loading.test.tsx +42 -0
- package/src/step-container-v2/wireframes/PlaygroundLayout/PlaygroundLayout.stories.tsx +21 -0
- package/src/step-container-v2/wireframes/PlaygroundLayout/PlaygroundLayout.tsx +31 -0
- package/src/step-container-v2/wireframes/PlaygroundLayout/style.scss +5 -0
- package/src/step-container-v2/wireframes/TwoColumnLayout/TwoColumnLayout.stories.tsx +93 -0
- package/src/step-container-v2/wireframes/TwoColumnLayout/TwoColumnLayout.tsx +93 -0
- package/src/step-container-v2/wireframes/TwoColumnLayout/style.scss +15 -0
- package/src/step-container-v2/wireframes/WideLayout/WideLayout.stories.tsx +83 -0
- package/src/step-container-v2/wireframes/WideLayout/WideLayout.tsx +44 -0
- package/src/step-navigation-link/index.tsx +3 -0
- package/src/step-navigation-link/style.scss +5 -3
- package/src/style-imports.d.ts +3 -0
- package/src/titles/styles.scss +2 -2
- package/src/upload-and-set-site-logo.ts +1 -1
- package/src/utils/contrastChecker.ts +0 -35
- package/src/utils/flows.ts +67 -123
- package/src/wpcom-request.ts +26 -0
- package/styles/mixins.scss +4 -4
- package/styles/variables.scss +2 -2
- package/tsconfig.json +1 -0
- package/dist/cjs/feature-icon/index.js +0 -19
- package/dist/cjs/feature-icon/index.js.map +0 -1
- package/dist/cjs/flow-progress/index.js +0 -14
- package/dist/cjs/flow-progress/index.js.map +0 -1
- package/dist/cjs/flow-progress/style.scss +0 -5
- package/dist/cjs/notice/index.js +0 -12
- package/dist/cjs/notice/index.js.map +0 -1
- package/dist/cjs/notice/style.scss +0 -19
- package/dist/cjs/select-card-radio/index.js +0 -21
- package/dist/cjs/select-card-radio/index.js.map +0 -1
- package/dist/cjs/select-card-radio/style.scss +0 -44
- package/dist/cjs/sensei-logo/index.js +0 -8
- package/dist/cjs/sensei-logo/index.js.map +0 -1
- package/dist/cjs/videopress-logo/index.js +0 -8
- package/dist/cjs/videopress-logo/index.js.map +0 -1
- package/dist/esm/feature-icon/index.js +0 -16
- package/dist/esm/feature-icon/index.js.map +0 -1
- package/dist/esm/flow-progress/index.js +0 -12
- package/dist/esm/flow-progress/index.js.map +0 -1
- package/dist/esm/flow-progress/style.scss +0 -5
- package/dist/esm/notice/index.js +0 -9
- package/dist/esm/notice/index.js.map +0 -1
- package/dist/esm/notice/style.scss +0 -19
- package/dist/esm/select-card-radio/index.js +0 -15
- package/dist/esm/select-card-radio/index.js.map +0 -1
- package/dist/esm/select-card-radio/style.scss +0 -44
- package/dist/esm/sensei-logo/index.js +0 -6
- package/dist/esm/sensei-logo/index.js.map +0 -1
- package/dist/esm/videopress-logo/index.js +0 -6
- package/dist/esm/videopress-logo/index.js.map +0 -1
- package/dist/types/feature-icon/index.d.ts +0 -9
- package/dist/types/feature-icon/index.d.ts.map +0 -1
- package/dist/types/flow-progress/index.d.ts +0 -9
- package/dist/types/flow-progress/index.d.ts.map +0 -1
- package/dist/types/notice/index.d.ts +0 -7
- package/dist/types/notice/index.d.ts.map +0 -1
- package/dist/types/select-card-radio/index.d.ts +0 -22
- package/dist/types/select-card-radio/index.d.ts.map +0 -1
- package/dist/types/sensei-logo/index.d.ts +0 -8
- package/dist/types/sensei-logo/index.d.ts.map +0 -1
- package/dist/types/videopress-logo/index.d.ts +0 -8
- package/dist/types/videopress-logo/index.d.ts.map +0 -1
- package/src/feature-icon/index.tsx +0 -102
- package/src/flow-progress/index.tsx +0 -22
- package/src/flow-progress/style.scss +0 -5
- package/src/notice/index.tsx +0 -16
- package/src/notice/style.scss +0 -19
- package/src/select-card-radio/index.tsx +0 -64
- package/src/select-card-radio/style.scss +0 -44
- package/src/select-card-radio/test/index.tsx +0 -50
- package/src/sensei-logo/index.tsx +0 -30
- package/src/videopress-logo/index.tsx +0 -36
package/src/step-container-v2/wireframes/CenteredColumnLayout/CenteredColumnLayout.stories.tsx
ADDED
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import { createInterpolateElement } from '@wordpress/element';
|
|
2
|
+
import { Heading, TopBar, BackButton, PrimaryButton, StickyBottomBar, SkipButton } from '../..';
|
|
3
|
+
import { WireframePlaceholder } from '../../helpers/wireframe-placeholder';
|
|
4
|
+
import { withStepContainerV2ContextDecorator } from '../../helpers/withStepContainerV2ContextDecorator';
|
|
5
|
+
import { CenteredColumnLayout } from './CenteredColumnLayout';
|
|
6
|
+
import type { Meta } from '@storybook/react';
|
|
7
|
+
|
|
8
|
+
const meta: Meta< typeof CenteredColumnLayout > = {
|
|
9
|
+
title: 'Onboarding/StepWireframes/CenteredColumnLayout',
|
|
10
|
+
component: CenteredColumnLayout,
|
|
11
|
+
decorators: [ withStepContainerV2ContextDecorator ],
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
export default meta;
|
|
15
|
+
|
|
16
|
+
export const FourColumnsCenteredLayout = () => {
|
|
17
|
+
const backButton = <BackButton />;
|
|
18
|
+
const nextButton = <PrimaryButton />;
|
|
19
|
+
const skipButton = <SkipButton />;
|
|
20
|
+
|
|
21
|
+
return (
|
|
22
|
+
<CenteredColumnLayout
|
|
23
|
+
columnWidth={ 4 }
|
|
24
|
+
topBar={ <TopBar leftElement={ backButton } rightElement={ skipButton } /> }
|
|
25
|
+
heading={
|
|
26
|
+
<Heading
|
|
27
|
+
text="Four Columns Centered Layout"
|
|
28
|
+
subText={ createInterpolateElement(
|
|
29
|
+
'An example of the <code>CenteredColumnLayout</code> wireframe layout.',
|
|
30
|
+
{
|
|
31
|
+
code: <code />,
|
|
32
|
+
}
|
|
33
|
+
) }
|
|
34
|
+
/>
|
|
35
|
+
}
|
|
36
|
+
stickyBottomBar={ <StickyBottomBar rightElement={ nextButton } /> }
|
|
37
|
+
>
|
|
38
|
+
<WireframePlaceholder height={ 370 }>Content</WireframePlaceholder>
|
|
39
|
+
</CenteredColumnLayout>
|
|
40
|
+
);
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
export const SixColumnsCenteredLayout = () => {
|
|
44
|
+
const backButton = <BackButton />;
|
|
45
|
+
const nextButton = <PrimaryButton />;
|
|
46
|
+
const skipButton = <SkipButton />;
|
|
47
|
+
|
|
48
|
+
return (
|
|
49
|
+
<CenteredColumnLayout
|
|
50
|
+
columnWidth={ 6 }
|
|
51
|
+
topBar={ <TopBar leftElement={ backButton } rightElement={ skipButton } /> }
|
|
52
|
+
heading={
|
|
53
|
+
<Heading
|
|
54
|
+
text="Six Columns Centered Layout"
|
|
55
|
+
subText={ createInterpolateElement(
|
|
56
|
+
'An example of the <code>CenteredColumnLayout</code> wireframe layout.',
|
|
57
|
+
{
|
|
58
|
+
code: <code />,
|
|
59
|
+
}
|
|
60
|
+
) }
|
|
61
|
+
/>
|
|
62
|
+
}
|
|
63
|
+
stickyBottomBar={ <StickyBottomBar rightElement={ nextButton } /> }
|
|
64
|
+
>
|
|
65
|
+
<WireframePlaceholder height={ 500 }>Content</WireframePlaceholder>
|
|
66
|
+
</CenteredColumnLayout>
|
|
67
|
+
);
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
export const EightColumnsCenteredLayout = () => {
|
|
71
|
+
const backButton = <BackButton />;
|
|
72
|
+
const nextButton = <PrimaryButton />;
|
|
73
|
+
const skipButton = <SkipButton />;
|
|
74
|
+
|
|
75
|
+
return (
|
|
76
|
+
<CenteredColumnLayout
|
|
77
|
+
columnWidth={ 8 }
|
|
78
|
+
topBar={ <TopBar leftElement={ backButton } rightElement={ skipButton } /> }
|
|
79
|
+
heading={
|
|
80
|
+
<Heading
|
|
81
|
+
text="Six Columns Centered Layout"
|
|
82
|
+
subText={ createInterpolateElement(
|
|
83
|
+
'An example of the <code>CenteredColumnLayout</code> wireframe layout.',
|
|
84
|
+
{
|
|
85
|
+
code: <code />,
|
|
86
|
+
}
|
|
87
|
+
) }
|
|
88
|
+
/>
|
|
89
|
+
}
|
|
90
|
+
stickyBottomBar={ <StickyBottomBar rightElement={ nextButton } /> }
|
|
91
|
+
>
|
|
92
|
+
<WireframePlaceholder height={ 500 }>Content</WireframePlaceholder>
|
|
93
|
+
</CenteredColumnLayout>
|
|
94
|
+
);
|
|
95
|
+
};
|
|
96
|
+
|
|
97
|
+
export const TenColumnsCenteredLayout = () => {
|
|
98
|
+
const backButton = <BackButton />;
|
|
99
|
+
const nextButton = <PrimaryButton />;
|
|
100
|
+
const skipButton = <SkipButton />;
|
|
101
|
+
|
|
102
|
+
return (
|
|
103
|
+
<CenteredColumnLayout
|
|
104
|
+
columnWidth={ 10 }
|
|
105
|
+
topBar={ <TopBar leftElement={ backButton } rightElement={ skipButton } /> }
|
|
106
|
+
heading={
|
|
107
|
+
<Heading
|
|
108
|
+
text="Eight Columns Centered Layout"
|
|
109
|
+
subText={ createInterpolateElement(
|
|
110
|
+
'An example of the <code>CenteredColumnLayout</code> wireframe layout.',
|
|
111
|
+
{
|
|
112
|
+
code: <code />,
|
|
113
|
+
}
|
|
114
|
+
) }
|
|
115
|
+
/>
|
|
116
|
+
}
|
|
117
|
+
stickyBottomBar={ <StickyBottomBar rightElement={ nextButton } /> }
|
|
118
|
+
>
|
|
119
|
+
<WireframePlaceholder height={ 500 }>Content</WireframePlaceholder>
|
|
120
|
+
</CenteredColumnLayout>
|
|
121
|
+
);
|
|
122
|
+
};
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { ContentRow } from '../../components/ContentRow/ContentRow';
|
|
3
|
+
import { ContentWrapper } from '../../components/ContentWrapper/ContentWrapper';
|
|
4
|
+
import { StepContainerV2 } from '../../components/StepContainerV2/StepContainerV2';
|
|
5
|
+
import { ContentProp } from '../../components/StepContainerV2/context';
|
|
6
|
+
import { StickyBottomBarRenderer } from '../../components/StickyBottomBar/StickyBottomBarRenderer';
|
|
7
|
+
import { isTopBar } from '../../components/TopBar/TopBar';
|
|
8
|
+
import { renderTopBar, TopBarRenderer } from '../../components/TopBar/TopBarRenderer';
|
|
9
|
+
|
|
10
|
+
interface CenteredColumnLayoutProps {
|
|
11
|
+
topBar?: ContentProp;
|
|
12
|
+
heading?: ReactNode;
|
|
13
|
+
headingColumnWidth?: 4 | 5 | 6 | 8 | 10;
|
|
14
|
+
className?: string;
|
|
15
|
+
children?: ContentProp;
|
|
16
|
+
stickyBottomBar?: ContentProp;
|
|
17
|
+
columnWidth: 4 | 5 | 6 | 8 | 10;
|
|
18
|
+
verticalAlign?: 'center';
|
|
19
|
+
noGap?: boolean;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export const CenteredColumnLayout = ( {
|
|
23
|
+
columnWidth,
|
|
24
|
+
topBar,
|
|
25
|
+
heading,
|
|
26
|
+
headingColumnWidth = 6,
|
|
27
|
+
className,
|
|
28
|
+
children,
|
|
29
|
+
stickyBottomBar,
|
|
30
|
+
verticalAlign,
|
|
31
|
+
noGap,
|
|
32
|
+
}: CenteredColumnLayoutProps ) => {
|
|
33
|
+
return (
|
|
34
|
+
<StepContainerV2
|
|
35
|
+
initialTopBarHeight={
|
|
36
|
+
// Calculate the top bar height on the server side to avoid layout shifts.
|
|
37
|
+
typeof window === 'undefined' &&
|
|
38
|
+
isTopBar(
|
|
39
|
+
renderTopBar( topBar, {
|
|
40
|
+
isLargeViewport: false,
|
|
41
|
+
isSmallViewport: false,
|
|
42
|
+
} )
|
|
43
|
+
)
|
|
44
|
+
? 'calc( var( --step-container-v2-top-bar-content-height ) + 2 * var( --step-container-v2-top-bar-padding ) )'
|
|
45
|
+
: '0px'
|
|
46
|
+
}
|
|
47
|
+
>
|
|
48
|
+
{ ( context ) => {
|
|
49
|
+
const content = typeof children === 'function' ? children( context ) : children;
|
|
50
|
+
|
|
51
|
+
return (
|
|
52
|
+
<>
|
|
53
|
+
<TopBarRenderer topBar={ topBar } />
|
|
54
|
+
<ContentWrapper centerAligned={ verticalAlign === 'center' } noGap={ noGap }>
|
|
55
|
+
{ heading && <ContentRow columns={ headingColumnWidth }>{ heading }</ContentRow> }
|
|
56
|
+
<ContentRow columns={ columnWidth } className={ className }>
|
|
57
|
+
{ content }
|
|
58
|
+
</ContentRow>
|
|
59
|
+
</ContentWrapper>
|
|
60
|
+
<StickyBottomBarRenderer stickyBottomBar={ stickyBottomBar } />
|
|
61
|
+
</>
|
|
62
|
+
);
|
|
63
|
+
} }
|
|
64
|
+
</StepContainerV2>
|
|
65
|
+
);
|
|
66
|
+
};
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { createInterpolateElement } from '@wordpress/element';
|
|
2
|
+
import { TopBar, BackButton, PrimaryButton, StickyBottomBar, LinkButton } from '../..';
|
|
3
|
+
import { WireframePlaceholder } from '../../helpers/wireframe-placeholder';
|
|
4
|
+
import { withStepContainerV2ContextDecorator } from '../../helpers/withStepContainerV2ContextDecorator';
|
|
5
|
+
import { FixedColumnOnTheLeftLayout } from './FixedColumnOnTheLeftLayout';
|
|
6
|
+
import type { Meta } from '@storybook/react';
|
|
7
|
+
|
|
8
|
+
const meta: Meta< typeof FixedColumnOnTheLeftLayout > = {
|
|
9
|
+
title: 'Onboarding/StepWireframes/FixedColumnOnTheLeftLayout',
|
|
10
|
+
component: FixedColumnOnTheLeftLayout,
|
|
11
|
+
decorators: [ withStepContainerV2ContextDecorator ],
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
export default meta;
|
|
15
|
+
|
|
16
|
+
export const ThreeColumnsOnTheLeft = () => (
|
|
17
|
+
<FixedColumnOnTheLeftLayout
|
|
18
|
+
fixedColumnWidth={ 3 }
|
|
19
|
+
topBar={
|
|
20
|
+
<TopBar
|
|
21
|
+
leftElement={ <BackButton /> }
|
|
22
|
+
rightElement={
|
|
23
|
+
<span>
|
|
24
|
+
Need help? <LinkButton>Contact us</LinkButton>
|
|
25
|
+
</span>
|
|
26
|
+
}
|
|
27
|
+
/>
|
|
28
|
+
}
|
|
29
|
+
heading={
|
|
30
|
+
<FixedColumnOnTheLeftLayout.Heading
|
|
31
|
+
text="Fixed Column on the Left"
|
|
32
|
+
subText={ createInterpolateElement(
|
|
33
|
+
'An example of the <code>FixedColumnOnTheLeftLayout</code> wireframe layout.',
|
|
34
|
+
{
|
|
35
|
+
code: <code />,
|
|
36
|
+
}
|
|
37
|
+
) }
|
|
38
|
+
/>
|
|
39
|
+
}
|
|
40
|
+
stickyBottomBar={ ( context ) => {
|
|
41
|
+
if ( context.isLargeViewport ) {
|
|
42
|
+
return null;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
return <StickyBottomBar rightElement={ <PrimaryButton /> } />;
|
|
46
|
+
} }
|
|
47
|
+
>
|
|
48
|
+
<WireframePlaceholder style={ { flex: 1 } }>Sidebar</WireframePlaceholder>
|
|
49
|
+
<WireframePlaceholder height="100%">Main</WireframePlaceholder>
|
|
50
|
+
</FixedColumnOnTheLeftLayout>
|
|
51
|
+
);
|
package/src/step-container-v2/wireframes/FixedColumnOnTheLeftLayout/FixedColumnOnTheLeftLayout.tsx
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { ComponentProps, ReactNode } from 'react';
|
|
2
|
+
import { ContentRow } from '../../components/ContentRow/ContentRow';
|
|
3
|
+
import { ContentWrapper } from '../../components/ContentWrapper/ContentWrapper';
|
|
4
|
+
import { Heading } from '../../components/Heading/Heading';
|
|
5
|
+
import { StepContainerV2 } from '../../components/StepContainerV2/StepContainerV2';
|
|
6
|
+
import { ContentProp } from '../../components/StepContainerV2/context';
|
|
7
|
+
import { StickyBottomBarRenderer } from '../../components/StickyBottomBar/StickyBottomBarRenderer';
|
|
8
|
+
import { TopBarRenderer } from '../../components/TopBar/TopBarRenderer';
|
|
9
|
+
import './style.scss';
|
|
10
|
+
|
|
11
|
+
interface FixedColumnOnTheLeftLayoutProps {
|
|
12
|
+
topBar?: ContentProp;
|
|
13
|
+
heading?: ReactNode;
|
|
14
|
+
footer?: ReactNode;
|
|
15
|
+
children: [ ContentProp, ContentProp ];
|
|
16
|
+
stickyBottomBar?: ContentProp;
|
|
17
|
+
fixedColumnWidth: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
const FixedColumnOnTheLeftLayout = ( {
|
|
21
|
+
fixedColumnWidth,
|
|
22
|
+
children,
|
|
23
|
+
topBar,
|
|
24
|
+
heading,
|
|
25
|
+
footer,
|
|
26
|
+
stickyBottomBar,
|
|
27
|
+
}: FixedColumnOnTheLeftLayoutProps ) => {
|
|
28
|
+
return (
|
|
29
|
+
<StepContainerV2>
|
|
30
|
+
{ ( context ) => {
|
|
31
|
+
const [ fixedColumn, secondColumn ] = children.map( ( child ) => {
|
|
32
|
+
if ( typeof child === 'function' ) {
|
|
33
|
+
return child( context );
|
|
34
|
+
}
|
|
35
|
+
return child;
|
|
36
|
+
} );
|
|
37
|
+
|
|
38
|
+
return (
|
|
39
|
+
<>
|
|
40
|
+
<TopBarRenderer topBar={ topBar } />
|
|
41
|
+
<ContentWrapper
|
|
42
|
+
axisDirection={ context.isLargeViewport ? 'horizontal' : 'vertical' }
|
|
43
|
+
noTopPadding={ context.isLargeViewport }
|
|
44
|
+
>
|
|
45
|
+
<ContentRow
|
|
46
|
+
columns={ context.isLargeViewport ? fixedColumnWidth : undefined }
|
|
47
|
+
stretched
|
|
48
|
+
className="step-container-v2--fixed-column-on-the-left-layout__fixed-column"
|
|
49
|
+
>
|
|
50
|
+
{ heading }
|
|
51
|
+
{ fixedColumn }
|
|
52
|
+
{ footer }
|
|
53
|
+
</ContentRow>
|
|
54
|
+
<ContentRow stretched>{ secondColumn }</ContentRow>
|
|
55
|
+
</ContentWrapper>
|
|
56
|
+
<StickyBottomBarRenderer stickyBottomBar={ stickyBottomBar } />
|
|
57
|
+
</>
|
|
58
|
+
);
|
|
59
|
+
} }
|
|
60
|
+
</StepContainerV2>
|
|
61
|
+
);
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
// eslint-disable-next-line react/display-name
|
|
65
|
+
FixedColumnOnTheLeftLayout.Heading = ( props: ComponentProps< typeof Heading > ) => (
|
|
66
|
+
<Heading { ...props } align="left" size="small" />
|
|
67
|
+
);
|
|
68
|
+
|
|
69
|
+
export { FixedColumnOnTheLeftLayout };
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
@import '@wordpress/base-styles/breakpoints';
|
|
2
|
+
@import '@wordpress/base-styles/mixins';
|
|
3
|
+
|
|
4
|
+
.step-container-v2--fixed-column-on-the-left-layout {
|
|
5
|
+
&__fixed-column {
|
|
6
|
+
display: flex;
|
|
7
|
+
flex-direction: column;
|
|
8
|
+
gap: 2rem;
|
|
9
|
+
|
|
10
|
+
@include break-large {
|
|
11
|
+
padding-top: 1.5rem;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { withStepContainerV2ContextDecorator } from '../../helpers/withStepContainerV2ContextDecorator';
|
|
2
|
+
import { Loading } from './Loading';
|
|
3
|
+
import type { Meta } from '@storybook/react';
|
|
4
|
+
|
|
5
|
+
const meta: Meta< typeof Loading > = {
|
|
6
|
+
title: 'Onboarding/StepWireframes/Loading',
|
|
7
|
+
component: Loading,
|
|
8
|
+
decorators: [ withStepContainerV2ContextDecorator ],
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
export default meta;
|
|
12
|
+
|
|
13
|
+
export const Default = () => {
|
|
14
|
+
return <Loading title="Loading" progress={ 0.5 } />;
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
export const Indeterminate = () => {
|
|
18
|
+
return <Loading title="Loading" progress={ undefined } />;
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
export const NoTitle = () => {
|
|
22
|
+
return <Loading progress={ undefined } />;
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
export const DelayedTitle = () => {
|
|
26
|
+
return <Loading title="Reticulating splines" progress={ undefined } delay={ 2000 } />;
|
|
27
|
+
};
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { ProgressBar } from '@wordpress/components';
|
|
2
|
+
import { ReactNode, useEffect, useState } from 'react';
|
|
3
|
+
import { Heading } from '../../components/Heading/Heading';
|
|
4
|
+
import { StepContainerV2 } from '../../components/StepContainerV2/StepContainerV2';
|
|
5
|
+
import { TopBar, type TopBarProps } from '../../components/TopBar/TopBar';
|
|
6
|
+
|
|
7
|
+
import './style.scss';
|
|
8
|
+
|
|
9
|
+
interface LoadingProps {
|
|
10
|
+
title?: ReactNode;
|
|
11
|
+
progress?: number;
|
|
12
|
+
delay?: number;
|
|
13
|
+
compactLogo?: TopBarProps[ 'compactLogo' ];
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export const Loading = ( { title, progress, delay = 0, compactLogo }: LoadingProps ) => {
|
|
17
|
+
const [ shouldDisplayTitle, setShouldDisplayTitle ] = useState( delay === 0 );
|
|
18
|
+
|
|
19
|
+
const [ prevDelay, setPrevDelay ] = useState( delay );
|
|
20
|
+
if ( delay !== prevDelay ) {
|
|
21
|
+
setPrevDelay( delay );
|
|
22
|
+
setShouldDisplayTitle( delay === 0 );
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
useEffect( () => {
|
|
26
|
+
if ( delay === 0 ) {
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
const timeout = setTimeout( () => {
|
|
31
|
+
setShouldDisplayTitle( true );
|
|
32
|
+
}, delay );
|
|
33
|
+
|
|
34
|
+
return () => clearTimeout( timeout );
|
|
35
|
+
}, [ delay ] );
|
|
36
|
+
|
|
37
|
+
return (
|
|
38
|
+
<StepContainerV2>
|
|
39
|
+
<TopBar compactLogo={ compactLogo } />
|
|
40
|
+
<div className="step-container-v2--loading">
|
|
41
|
+
{ title && shouldDisplayTitle && (
|
|
42
|
+
<div className="step-container-v2--loading__heading-wrapper">
|
|
43
|
+
<div className="step-container-v2--loading__heading">
|
|
44
|
+
<Heading text={ title } size="small" align="center" />
|
|
45
|
+
</div>
|
|
46
|
+
</div>
|
|
47
|
+
) }
|
|
48
|
+
<ProgressBar className="step-container-v2--loading__progress-bar" value={ progress } />
|
|
49
|
+
</div>
|
|
50
|
+
</StepContainerV2>
|
|
51
|
+
);
|
|
52
|
+
};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
.step-container-v2--loading {
|
|
2
|
+
display: flex;
|
|
3
|
+
flex-direction: column;
|
|
4
|
+
align-items: center;
|
|
5
|
+
justify-content: center;
|
|
6
|
+
position: absolute;
|
|
7
|
+
inset: 0;
|
|
8
|
+
|
|
9
|
+
&__heading-wrapper {
|
|
10
|
+
position: absolute;
|
|
11
|
+
height: 0;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
&__heading {
|
|
15
|
+
transform: translateY( -100% );
|
|
16
|
+
padding-bottom: 3rem;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
&__progress-bar {
|
|
20
|
+
--wp-components-color-foreground: var( --color-accent, #3858e9 );
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { act, render, screen } from '@testing-library/react';
|
|
2
|
+
import { Loading } from '../Loading';
|
|
3
|
+
import '@testing-library/jest-dom';
|
|
4
|
+
|
|
5
|
+
jest.useFakeTimers();
|
|
6
|
+
|
|
7
|
+
test( 'renders the title', () => {
|
|
8
|
+
render( <Loading title="Test 123" /> );
|
|
9
|
+
expect( screen.getByText( 'Test 123' ) ).toBeInTheDocument();
|
|
10
|
+
} );
|
|
11
|
+
|
|
12
|
+
test( 'hides title as long as delay', () => {
|
|
13
|
+
render( <Loading title="Test 123" delay={ 1000 } /> );
|
|
14
|
+
expect( screen.queryByText( 'Test 123' ) ).not.toBeInTheDocument();
|
|
15
|
+
|
|
16
|
+
act( () => jest.advanceTimersByTime( 2000 ) );
|
|
17
|
+
|
|
18
|
+
expect( screen.getByText( 'Test 123' ) ).toBeInTheDocument();
|
|
19
|
+
} );
|
|
20
|
+
|
|
21
|
+
test( 'dropping delay prop immediately renders title', () => {
|
|
22
|
+
const { rerender } = render( <Loading title="Test 123" delay={ 1000 } /> );
|
|
23
|
+
|
|
24
|
+
jest.advanceTimersByTime( 500 );
|
|
25
|
+
expect( screen.queryByText( 'Test 123' ) ).not.toBeInTheDocument();
|
|
26
|
+
|
|
27
|
+
rerender( <Loading title="Test 123" /> );
|
|
28
|
+
expect( screen.getByText( 'Test 123' ) ).toBeInTheDocument();
|
|
29
|
+
} );
|
|
30
|
+
|
|
31
|
+
test( 'increasing delay prop resets timer', () => {
|
|
32
|
+
const { rerender } = render( <Loading title="Test 123" delay={ 1000 } /> );
|
|
33
|
+
|
|
34
|
+
expect( screen.queryByText( 'Test 123' ) ).not.toBeInTheDocument();
|
|
35
|
+
|
|
36
|
+
rerender( <Loading title="Test 123" delay={ 2000 } /> );
|
|
37
|
+
act( () => jest.advanceTimersByTime( 1500 ) );
|
|
38
|
+
expect( screen.queryByText( 'Test 123' ) ).not.toBeInTheDocument();
|
|
39
|
+
|
|
40
|
+
act( () => jest.advanceTimersByTime( 1000 ) );
|
|
41
|
+
expect( screen.getByText( 'Test 123' ) ).toBeInTheDocument();
|
|
42
|
+
} );
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { TopBar, BackButton, PrimaryButton } from '../..';
|
|
2
|
+
import { WireframePlaceholder } from '../../helpers/wireframe-placeholder';
|
|
3
|
+
import { withStepContainerV2ContextDecorator } from '../../helpers/withStepContainerV2ContextDecorator';
|
|
4
|
+
import { PlaygroundLayout } from './PlaygroundLayout';
|
|
5
|
+
import type { Meta } from '@storybook/react';
|
|
6
|
+
|
|
7
|
+
const meta: Meta< typeof PlaygroundLayout > = {
|
|
8
|
+
title: 'Onboarding/StepWireframes/PlaygroundLayout',
|
|
9
|
+
component: PlaygroundLayout,
|
|
10
|
+
decorators: [ withStepContainerV2ContextDecorator ],
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
export default meta;
|
|
14
|
+
|
|
15
|
+
export const Default = () => (
|
|
16
|
+
<PlaygroundLayout
|
|
17
|
+
topBar={ <TopBar leftElement={ <BackButton /> } rightElement={ <PrimaryButton /> } /> }
|
|
18
|
+
>
|
|
19
|
+
<WireframePlaceholder height="100%">Main</WireframePlaceholder>
|
|
20
|
+
</PlaygroundLayout>
|
|
21
|
+
);
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import clsx from 'clsx';
|
|
2
|
+
import { StepContainerV2 } from '../../components/StepContainerV2/StepContainerV2';
|
|
3
|
+
import { ContentProp } from '../../components/StepContainerV2/context';
|
|
4
|
+
import { TopBarRenderer } from '../../components/TopBar/TopBarRenderer';
|
|
5
|
+
|
|
6
|
+
import './style.scss';
|
|
7
|
+
|
|
8
|
+
interface PlaygroundLayoutProps {
|
|
9
|
+
topBar?: ContentProp;
|
|
10
|
+
className?: string;
|
|
11
|
+
children?: ContentProp;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export const PlaygroundLayout = ( { topBar, className, children }: PlaygroundLayoutProps ) => {
|
|
15
|
+
return (
|
|
16
|
+
<StepContainerV2>
|
|
17
|
+
{ ( context ) => {
|
|
18
|
+
const content = typeof children === 'function' ? children( context ) : children;
|
|
19
|
+
|
|
20
|
+
return (
|
|
21
|
+
<>
|
|
22
|
+
<TopBarRenderer topBar={ topBar } />
|
|
23
|
+
<div className={ clsx( 'step-container-v2__playground-layout', className ) }>
|
|
24
|
+
{ content }
|
|
25
|
+
</div>
|
|
26
|
+
</>
|
|
27
|
+
);
|
|
28
|
+
} }
|
|
29
|
+
</StepContainerV2>
|
|
30
|
+
);
|
|
31
|
+
};
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { createInterpolateElement } from '@wordpress/element';
|
|
2
|
+
import { Heading, TopBar, BackButton, PrimaryButton, StickyBottomBar } from '../..';
|
|
3
|
+
import { WireframePlaceholder } from '../../helpers/wireframe-placeholder';
|
|
4
|
+
import { withStepContainerV2ContextDecorator } from '../../helpers/withStepContainerV2ContextDecorator';
|
|
5
|
+
import { TwoColumnLayout } from './TwoColumnLayout';
|
|
6
|
+
import type { Meta } from '@storybook/react';
|
|
7
|
+
|
|
8
|
+
const meta: Meta< typeof TwoColumnLayout > = {
|
|
9
|
+
title: 'Onboarding/StepWireframes/TwoColumnLayout',
|
|
10
|
+
component: TwoColumnLayout,
|
|
11
|
+
decorators: [ withStepContainerV2ContextDecorator ],
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
export default meta;
|
|
15
|
+
|
|
16
|
+
export const ThreeColumnsOnRightLayout = () => (
|
|
17
|
+
<TwoColumnLayout
|
|
18
|
+
firstColumnWidth={ 2 }
|
|
19
|
+
secondColumnWidth={ 1 }
|
|
20
|
+
topBar={ <TopBar leftElement={ <BackButton /> } /> }
|
|
21
|
+
heading={
|
|
22
|
+
<Heading
|
|
23
|
+
text="Three Columns on the Right"
|
|
24
|
+
subText={ createInterpolateElement(
|
|
25
|
+
'An example of the <code>TwoColumnLayout</code> wireframe layout.',
|
|
26
|
+
{
|
|
27
|
+
code: <code />,
|
|
28
|
+
}
|
|
29
|
+
) }
|
|
30
|
+
/>
|
|
31
|
+
}
|
|
32
|
+
stickyBottomBar={ <StickyBottomBar rightElement={ <PrimaryButton /> } /> }
|
|
33
|
+
>
|
|
34
|
+
<WireframePlaceholder height={ 616 }>Main</WireframePlaceholder>
|
|
35
|
+
<WireframePlaceholder height={ 616 }>Sidebar</WireframePlaceholder>
|
|
36
|
+
</TwoColumnLayout>
|
|
37
|
+
);
|
|
38
|
+
|
|
39
|
+
export const EqualTwoColumnLayout = () => (
|
|
40
|
+
<TwoColumnLayout
|
|
41
|
+
firstColumnWidth={ 1 }
|
|
42
|
+
secondColumnWidth={ 1 }
|
|
43
|
+
topBar={ <TopBar leftElement={ <BackButton /> } /> }
|
|
44
|
+
heading={
|
|
45
|
+
<Heading
|
|
46
|
+
text="Two Equal Columns"
|
|
47
|
+
subText={ createInterpolateElement(
|
|
48
|
+
'An example of the <code>TwoColumnLayout</code> wireframe layout.',
|
|
49
|
+
{
|
|
50
|
+
code: <code />,
|
|
51
|
+
}
|
|
52
|
+
) }
|
|
53
|
+
/>
|
|
54
|
+
}
|
|
55
|
+
stickyBottomBar={ <StickyBottomBar rightElement={ <PrimaryButton /> } /> }
|
|
56
|
+
>
|
|
57
|
+
<WireframePlaceholder height={ 616 }>Content 1</WireframePlaceholder>
|
|
58
|
+
<WireframePlaceholder height={ 616 }>Content 2</WireframePlaceholder>
|
|
59
|
+
</TwoColumnLayout>
|
|
60
|
+
);
|
|
61
|
+
|
|
62
|
+
export const WithRenderProp = () => (
|
|
63
|
+
<TwoColumnLayout
|
|
64
|
+
firstColumnWidth={ 1 }
|
|
65
|
+
secondColumnWidth={ 1 }
|
|
66
|
+
topBar={ <TopBar leftElement={ <BackButton /> } /> }
|
|
67
|
+
heading={
|
|
68
|
+
<Heading
|
|
69
|
+
text="Columns Rendered with Render Prop"
|
|
70
|
+
subText={ createInterpolateElement(
|
|
71
|
+
'An example of the <code>TwoColumnLayout</code> wireframe layout.',
|
|
72
|
+
{
|
|
73
|
+
code: <code />,
|
|
74
|
+
}
|
|
75
|
+
) }
|
|
76
|
+
/>
|
|
77
|
+
}
|
|
78
|
+
stickyBottomBar={ <StickyBottomBar rightElement={ <PrimaryButton /> } /> }
|
|
79
|
+
>
|
|
80
|
+
{ ( { isSmallViewport, isLargeViewport } ) => (
|
|
81
|
+
<>
|
|
82
|
+
<WireframePlaceholder height={ 616 }>
|
|
83
|
+
<div>Content 1</div>
|
|
84
|
+
<pre>is small viewport: { isSmallViewport.toString() }</pre>
|
|
85
|
+
</WireframePlaceholder>
|
|
86
|
+
<WireframePlaceholder height={ 616 }>
|
|
87
|
+
<div>Content 1</div>
|
|
88
|
+
<pre>is large viewport: { isLargeViewport.toString() }</pre>
|
|
89
|
+
</WireframePlaceholder>
|
|
90
|
+
</>
|
|
91
|
+
) }
|
|
92
|
+
</TwoColumnLayout>
|
|
93
|
+
);
|