@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
|
@@ -1,12 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
ECOMMERCE_FLOW,
|
|
3
|
-
LINK_IN_BIO_FLOW,
|
|
4
|
-
LINK_IN_BIO_TLD_FLOW,
|
|
5
|
-
FREE_FLOW,
|
|
6
|
-
COPY_SITE_FLOW,
|
|
7
|
-
VIDEOPRESS_TV_FLOW,
|
|
8
|
-
VIDEOPRESS_TV_PURCHASE_FLOW,
|
|
9
|
-
} from '../utils/flows';
|
|
1
|
+
import { COPY_SITE_FLOW } from '../utils/flows';
|
|
10
2
|
|
|
11
3
|
/* eslint-disable no-restricted-imports */
|
|
12
4
|
interface FlowProgress {
|
|
@@ -26,63 +18,6 @@ const flows: Record< string, { [ step: string ]: number } > = {
|
|
|
26
18
|
subscribers: 4,
|
|
27
19
|
launchpad: 5,
|
|
28
20
|
},
|
|
29
|
-
[ LINK_IN_BIO_FLOW ]: {
|
|
30
|
-
intro: 0,
|
|
31
|
-
user: 0,
|
|
32
|
-
patterns: 1,
|
|
33
|
-
linkInBioSetup: 2,
|
|
34
|
-
domains: 3,
|
|
35
|
-
plans: 4,
|
|
36
|
-
launchpad: 5,
|
|
37
|
-
},
|
|
38
|
-
[ LINK_IN_BIO_TLD_FLOW ]: {
|
|
39
|
-
domains: 0,
|
|
40
|
-
user: 1,
|
|
41
|
-
patterns: 2,
|
|
42
|
-
linkInBioSetup: 3,
|
|
43
|
-
plans: 4,
|
|
44
|
-
launchpad: 5,
|
|
45
|
-
},
|
|
46
|
-
[ FREE_FLOW ]: {
|
|
47
|
-
user: 0,
|
|
48
|
-
freeSetup: 0,
|
|
49
|
-
designSetup: 1,
|
|
50
|
-
launchpad: 2,
|
|
51
|
-
},
|
|
52
|
-
videopress: {
|
|
53
|
-
intro: 0,
|
|
54
|
-
videomakerSetup: 1,
|
|
55
|
-
user: 2,
|
|
56
|
-
options: 3,
|
|
57
|
-
chooseADomain: 4,
|
|
58
|
-
processing: 5,
|
|
59
|
-
launchpad: 6,
|
|
60
|
-
},
|
|
61
|
-
[ VIDEOPRESS_TV_FLOW ]: {
|
|
62
|
-
intro: 0,
|
|
63
|
-
processing: 1,
|
|
64
|
-
},
|
|
65
|
-
[ VIDEOPRESS_TV_PURCHASE_FLOW ]: {
|
|
66
|
-
processing: 0,
|
|
67
|
-
},
|
|
68
|
-
sensei: {
|
|
69
|
-
senseiSetup: 1,
|
|
70
|
-
senseiDomain: 2,
|
|
71
|
-
senseiPlan: 3,
|
|
72
|
-
senseiPurpose: 4,
|
|
73
|
-
senseiLaunch: 5,
|
|
74
|
-
},
|
|
75
|
-
[ ECOMMERCE_FLOW ]: {
|
|
76
|
-
intro: 0,
|
|
77
|
-
storeProfiler: 1,
|
|
78
|
-
designCarousel: 2,
|
|
79
|
-
domains: 3,
|
|
80
|
-
createSite: 4,
|
|
81
|
-
processing: 4,
|
|
82
|
-
waitForAtomic: 4,
|
|
83
|
-
checkPlan: 4,
|
|
84
|
-
storeAddress: 5,
|
|
85
|
-
},
|
|
86
21
|
[ COPY_SITE_FLOW ]: {
|
|
87
22
|
domains: 0,
|
|
88
23
|
'create-site': 1,
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { act, renderHook } from '@testing-library/react';
|
|
2
|
+
import { MemoryRouter } from 'react-router';
|
|
3
|
+
import { useStepPersistedState } from '../use-persisted-state';
|
|
4
|
+
|
|
5
|
+
describe( 'useStepPersistedState', () => {
|
|
6
|
+
test( 'Should return default value and update it on request', () => {
|
|
7
|
+
const { result, rerender } = renderHook(
|
|
8
|
+
() => useStepPersistedState( 'key', 'some-random-state' ),
|
|
9
|
+
{
|
|
10
|
+
wrapper: MemoryRouter,
|
|
11
|
+
}
|
|
12
|
+
);
|
|
13
|
+
|
|
14
|
+
const [ state, setState ] = result.current;
|
|
15
|
+
|
|
16
|
+
expect( state ).toEqual( 'some-random-state' );
|
|
17
|
+
|
|
18
|
+
act( () => setState( 'new-state' ) );
|
|
19
|
+
|
|
20
|
+
rerender();
|
|
21
|
+
|
|
22
|
+
expect( result.current[ 0 ] ).toEqual( 'new-state' );
|
|
23
|
+
} );
|
|
24
|
+
|
|
25
|
+
test( 'Instances should not collide', () => {
|
|
26
|
+
const { result: resultOne, rerender: rerenderOne } = renderHook(
|
|
27
|
+
() => useStepPersistedState( 'key2', 'some-random-state' ),
|
|
28
|
+
{
|
|
29
|
+
wrapper: MemoryRouter,
|
|
30
|
+
}
|
|
31
|
+
);
|
|
32
|
+
const { result: resultTwo, rerender: rerenderTwo } = renderHook(
|
|
33
|
+
() => useStepPersistedState( 'key3', 'some-random-state-2' ),
|
|
34
|
+
{
|
|
35
|
+
wrapper: MemoryRouter,
|
|
36
|
+
}
|
|
37
|
+
);
|
|
38
|
+
|
|
39
|
+
const [ state1, setState1 ] = resultOne.current;
|
|
40
|
+
const [ state2, setState2 ] = resultTwo.current;
|
|
41
|
+
|
|
42
|
+
expect( state1 ).toEqual( 'some-random-state' );
|
|
43
|
+
expect( state2 ).toEqual( 'some-random-state-2' );
|
|
44
|
+
|
|
45
|
+
act( () => setState1( 'new-state-one' ) );
|
|
46
|
+
act( () => setState2( 'new-state-two' ) );
|
|
47
|
+
|
|
48
|
+
rerenderOne();
|
|
49
|
+
rerenderTwo();
|
|
50
|
+
|
|
51
|
+
expect( resultOne.current[ 0 ] ).toEqual( 'new-state-one' );
|
|
52
|
+
expect( resultTwo.current[ 0 ] ).toEqual( 'new-state-two' );
|
|
53
|
+
} );
|
|
54
|
+
} );
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { useCallback, useState } from 'react';
|
|
2
|
+
import { useMatch } from 'react-router';
|
|
3
|
+
|
|
4
|
+
const TWENTY_MINUTES = 20 * 60 * 1000;
|
|
5
|
+
const VERSION = 1;
|
|
6
|
+
const KEY = '@automattic/persisted-state';
|
|
7
|
+
|
|
8
|
+
function setPersistedState( key: string, state: unknown, storage: Storage ) {
|
|
9
|
+
storage.setItem( key, JSON.stringify( state ) );
|
|
10
|
+
storage.setItem( key + 'time', Date.now().toString() );
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
function getPersistedState( key: string, storage: Storage, TTL: number ) {
|
|
14
|
+
const state = storage.getItem( key );
|
|
15
|
+
if ( state ) {
|
|
16
|
+
const time = parseInt( storage.getItem( key + 'time' ) || '0' );
|
|
17
|
+
if ( Date.now() - time > TTL ) {
|
|
18
|
+
storage.removeItem( key );
|
|
19
|
+
storage.removeItem( key + 'time' );
|
|
20
|
+
} else {
|
|
21
|
+
return JSON.parse( state );
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
function getPersistedStateKey( flow?: string, step?: string, lang?: string, cacheKey?: string ) {
|
|
27
|
+
return [ VERSION, KEY, flow, step, lang, cacheKey ].filter( Boolean ).join( '-' );
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Clears all persisted state created by useStepPersistedState
|
|
32
|
+
* @param flow The desired flow to clear
|
|
33
|
+
* @param storage The storage to clear (defaults to localStorage)
|
|
34
|
+
*/
|
|
35
|
+
export function clearStepPersistedState( flow?: string, storage: Storage = localStorage ): void {
|
|
36
|
+
const keys = Object.keys( storage );
|
|
37
|
+
const persistedKeys = keys.filter( ( key ) => key.startsWith( getPersistedStateKey( flow ) ) );
|
|
38
|
+
|
|
39
|
+
persistedKeys.forEach( ( key ) => {
|
|
40
|
+
storage.removeItem( key );
|
|
41
|
+
storage.removeItem( key + 'time' );
|
|
42
|
+
} );
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
type Options = {
|
|
46
|
+
/**
|
|
47
|
+
* The used storage, defaults to sessionStorage.
|
|
48
|
+
*/
|
|
49
|
+
storage: Storage;
|
|
50
|
+
/**
|
|
51
|
+
* Time to live in milliseconds. Defaults to 20 minutes. If the date is older, it will be deleted.
|
|
52
|
+
*/
|
|
53
|
+
TTL: number;
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* A hook similar to useState, but persists the state. Uses `flow`, `step` and `lang`, and the passed key in the tree as keys.
|
|
58
|
+
* @param cacheKey the cache key. It will be concatenated with the flow, step and lang.
|
|
59
|
+
* @param defaultValue the initial value of the state.
|
|
60
|
+
* @param options the options for the hook.
|
|
61
|
+
* @returns a tuple with the state and a function to update it.
|
|
62
|
+
*/
|
|
63
|
+
export function useStepPersistedState< T >(
|
|
64
|
+
cacheKey: string,
|
|
65
|
+
defaultValue?: T,
|
|
66
|
+
options: Options = { storage: localStorage, TTL: TWENTY_MINUTES }
|
|
67
|
+
): [ T, ( newState: T ) => void ] {
|
|
68
|
+
const match = useMatch( '/:flow/:step?/:lang?' );
|
|
69
|
+
const { flow = 'flow', step = 'step', lang = 'lang' } = match?.params || {};
|
|
70
|
+
const key = [ VERSION, KEY, flow, step, lang, cacheKey ].join( '-' );
|
|
71
|
+
|
|
72
|
+
const [ state, _setState ] = useState< T >(
|
|
73
|
+
getPersistedState( key, options.storage, options.TTL ) || defaultValue
|
|
74
|
+
);
|
|
75
|
+
|
|
76
|
+
const setState = useCallback(
|
|
77
|
+
( newState: T ) => {
|
|
78
|
+
_setState( newState );
|
|
79
|
+
setPersistedState( key, newState, options.storage );
|
|
80
|
+
},
|
|
81
|
+
[ _setState, key, options.storage ]
|
|
82
|
+
);
|
|
83
|
+
|
|
84
|
+
return [ state, setState ];
|
|
85
|
+
}
|
package/src/hooray/index.tsx
CHANGED
package/src/index.ts
CHANGED
|
@@ -1,22 +1,15 @@
|
|
|
1
1
|
export { Title, SubTitle } from './titles';
|
|
2
2
|
export { useFlowProgress } from './flow-progress/use-flow-progress';
|
|
3
|
+
export { default as ActionButtons, BackButton, NextButton } from './action-buttons';
|
|
3
4
|
export {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
NextButton,
|
|
7
|
-
SkipButton,
|
|
8
|
-
ArrowButton,
|
|
9
|
-
} from './action-buttons';
|
|
10
|
-
export {
|
|
11
|
-
createSiteWithCart,
|
|
12
|
-
addPlanToCart,
|
|
5
|
+
createSite,
|
|
6
|
+
getNewSiteParams,
|
|
13
7
|
addProductsToCart,
|
|
14
8
|
replaceProductsInCart,
|
|
15
9
|
setThemeOnSite,
|
|
16
10
|
} from './cart';
|
|
17
11
|
export { setupSiteAfterCreation, base64ImageToBlob } from './setup-tailored-site-after-creation';
|
|
18
12
|
export { uploadAndSetSiteLogo } from './upload-and-set-site-logo';
|
|
19
|
-
export { default as FeatureIcon } from './feature-icon';
|
|
20
13
|
export { default as Progress } from './progress';
|
|
21
14
|
export { default as Hooray } from './hooray';
|
|
22
15
|
export { default as Confetti } from './confetti';
|
|
@@ -24,13 +17,15 @@ export { default as IntentScreen } from './intent-screen';
|
|
|
24
17
|
export { default as SelectItems } from './select-items';
|
|
25
18
|
export { default as SelectItemsAlt } from './select-items-alt';
|
|
26
19
|
export { default as StepContainer } from './step-container';
|
|
20
|
+
export * as Step from './step-container-v2';
|
|
27
21
|
export { default as StepNavigationLink } from './step-navigation-link';
|
|
28
22
|
export { default as MShotsImage } from './mshots-image';
|
|
23
|
+
export { useStepPersistedState, clearStepPersistedState } from './hooks/use-persisted-state';
|
|
29
24
|
export * from './navigator';
|
|
30
|
-
export { default as Notice } from './notice';
|
|
31
25
|
export { default as SelectCardCheckbox } from './select-card-checkbox';
|
|
26
|
+
export { default as SelectCardCheckboxV2 } from './select-card-checkbox-v2';
|
|
32
27
|
export * from './utils';
|
|
33
|
-
export * from './select-card-radio';
|
|
34
28
|
export type { SelectItem } from './select-items';
|
|
35
29
|
export type { SelectItemAlt } from './select-items-alt';
|
|
36
30
|
export type { MShotsOptions } from './mshots-image';
|
|
31
|
+
export { setRequester } from './wpcom-request';
|
|
@@ -78,7 +78,7 @@ const intentsAlt: SelectItemAlt< string >[] = [
|
|
|
78
78
|
describe( 'IntentScreen', () => {
|
|
79
79
|
describe( 'SelectItem', () => {
|
|
80
80
|
it( 'should render H2 titles', () => {
|
|
81
|
-
render(
|
|
81
|
+
const { container } = render(
|
|
82
82
|
<IntentScreen
|
|
83
83
|
intents={ intents }
|
|
84
84
|
intentsAlt={ intentsAlt }
|
|
@@ -87,13 +87,13 @@ describe( 'IntentScreen', () => {
|
|
|
87
87
|
/>
|
|
88
88
|
);
|
|
89
89
|
|
|
90
|
-
|
|
90
|
+
const titles = container.querySelectorAll( '.select-items__item-title' );
|
|
91
|
+
expect( titles ).toHaveLength( 2 );
|
|
91
92
|
} );
|
|
92
93
|
|
|
93
94
|
it( 'should render a working button', async () => {
|
|
94
95
|
const user = userEvent.setup();
|
|
95
|
-
|
|
96
|
-
render(
|
|
96
|
+
const { container } = render(
|
|
97
97
|
<IntentScreen
|
|
98
98
|
intents={ intents }
|
|
99
99
|
intentsAlt={ intentsAlt }
|
|
@@ -102,11 +102,14 @@ describe( 'IntentScreen', () => {
|
|
|
102
102
|
/>
|
|
103
103
|
);
|
|
104
104
|
|
|
105
|
-
const button =
|
|
106
|
-
|
|
105
|
+
const button = container.querySelector( '.select-items__item-button' );
|
|
106
|
+
expect( button ).not.toBeNull();
|
|
107
107
|
expect( button ).toBeVisible();
|
|
108
|
+
expect( button ).toHaveTextContent( 'Action Text' );
|
|
108
109
|
|
|
109
|
-
|
|
110
|
+
if ( button ) {
|
|
111
|
+
await user.click( button );
|
|
112
|
+
}
|
|
110
113
|
|
|
111
114
|
expect( onSelect ).toHaveBeenCalledTimes( 1 );
|
|
112
115
|
expect( onSelect ).toHaveBeenCalledWith( 'value' );
|
|
@@ -11,6 +11,7 @@ interface MShotsImageProps {
|
|
|
11
11
|
'aria-labelledby': string;
|
|
12
12
|
options: MShotsOptions;
|
|
13
13
|
scrollable?: boolean;
|
|
14
|
+
loading?: 'lazy' | 'eager';
|
|
14
15
|
}
|
|
15
16
|
|
|
16
17
|
export type MShotsOptions = {
|
|
@@ -141,7 +142,8 @@ const useMshotsImg = (
|
|
|
141
142
|
// Temporary for A/B test.
|
|
142
143
|
const useMshotsImgTreatment = (
|
|
143
144
|
src: string,
|
|
144
|
-
options: MShotsOptions
|
|
145
|
+
options: MShotsOptions,
|
|
146
|
+
shouldShowImage: boolean
|
|
145
147
|
): HTMLImageElement | undefined => {
|
|
146
148
|
const [ loadedImg, setLoadedImg ] = useState< HTMLImageElement >();
|
|
147
149
|
const [ count, setCount ] = useState( 0 );
|
|
@@ -160,6 +162,10 @@ const useMshotsImgTreatment = (
|
|
|
160
162
|
// to browser caching. Getting this wrong looks like the url resolving
|
|
161
163
|
// before the image is ready.
|
|
162
164
|
useEffect( () => {
|
|
165
|
+
if ( ! shouldShowImage ) {
|
|
166
|
+
return;
|
|
167
|
+
}
|
|
168
|
+
|
|
163
169
|
// If there's been a "props" change we need to reset everything:
|
|
164
170
|
if (
|
|
165
171
|
options !== previousOptions.current ||
|
|
@@ -221,7 +227,7 @@ const useMshotsImgTreatment = (
|
|
|
221
227
|
}
|
|
222
228
|
clearTimeout( timeoutIdRef.current );
|
|
223
229
|
};
|
|
224
|
-
}, [ src, count, options ] );
|
|
230
|
+
}, [ src, count, options, shouldShowImage ] );
|
|
225
231
|
|
|
226
232
|
return loadedImg;
|
|
227
233
|
};
|
|
@@ -232,6 +238,7 @@ const MShotsImageControl = ( {
|
|
|
232
238
|
alt,
|
|
233
239
|
options,
|
|
234
240
|
scrollable = false,
|
|
241
|
+
loading = 'lazy',
|
|
235
242
|
}: MShotsImageProps ) => {
|
|
236
243
|
const imgRef = useRef< HTMLImageElement | null >( null );
|
|
237
244
|
const currentlyLoadedUrl = useMshotsImg( url, options, imgRef );
|
|
@@ -258,31 +265,22 @@ const MShotsImageControl = ( {
|
|
|
258
265
|
visible ? 'mshots-image-visible' : 'mshots-image__loader'
|
|
259
266
|
);
|
|
260
267
|
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
<div className={ className } style={ style } aria-labelledby={ labelledby }>
|
|
264
|
-
<img ref={ imgRef } className="mshots-dummy-image" aria-hidden="true" alt="" />
|
|
265
|
-
</div>
|
|
266
|
-
) : (
|
|
268
|
+
return scrollable ? (
|
|
269
|
+
<div className={ className } style={ style } aria-labelledby={ labelledby }>
|
|
267
270
|
<img
|
|
268
271
|
ref={ imgRef }
|
|
269
|
-
{
|
|
270
|
-
|
|
271
|
-
|
|
272
|
+
loading={ loading }
|
|
273
|
+
className="mshots-dummy-image"
|
|
274
|
+
aria-hidden="true"
|
|
275
|
+
alt=""
|
|
272
276
|
/>
|
|
273
|
-
);
|
|
274
|
-
} // else, prettier doesn't like having an else after a return
|
|
275
|
-
return scrollable ? (
|
|
276
|
-
<div className={ className } style={ style } aria-labelledby={ labelledby }>
|
|
277
|
-
<img ref={ imgRef } loading="lazy" className="mshots-dummy-image" aria-hidden="true" alt="" />
|
|
278
277
|
</div>
|
|
279
278
|
) : (
|
|
280
279
|
<img
|
|
281
|
-
loading=
|
|
280
|
+
loading={ loading }
|
|
282
281
|
ref={ imgRef }
|
|
283
282
|
{ ...{ className, style, src, alt } }
|
|
284
283
|
aria-labelledby={ labelledby }
|
|
285
|
-
alt={ alt }
|
|
286
284
|
/>
|
|
287
285
|
);
|
|
288
286
|
};
|
|
@@ -294,12 +292,37 @@ const MShotsImageTreatment = ( {
|
|
|
294
292
|
alt,
|
|
295
293
|
options,
|
|
296
294
|
scrollable = false,
|
|
295
|
+
loading = 'lazy',
|
|
297
296
|
}: MShotsImageProps ) => {
|
|
298
|
-
const
|
|
297
|
+
const [ shouldShowImage, setShouldShowImage ] = useState( loading === 'eager' );
|
|
298
|
+
const divRef = useRef< HTMLDivElement | null >( null );
|
|
299
|
+
const imgRef = useRef< HTMLImageElement | null >( null );
|
|
300
|
+
|
|
301
|
+
const maybeImage = useMshotsImgTreatment( url, options, shouldShowImage );
|
|
299
302
|
const src: string = maybeImage?.src || '';
|
|
300
303
|
const visible = !! src;
|
|
301
304
|
const backgroundImage = maybeImage?.src && `url( ${ maybeImage?.src } )`;
|
|
302
305
|
|
|
306
|
+
useEffect( () => {
|
|
307
|
+
if ( loading === 'lazy' && ! shouldShowImage ) {
|
|
308
|
+
const observer = new IntersectionObserver( ( entries ) => {
|
|
309
|
+
if ( entries[ 0 ]?.isIntersecting ) {
|
|
310
|
+
setShouldShowImage( true );
|
|
311
|
+
observer.disconnect();
|
|
312
|
+
}
|
|
313
|
+
} );
|
|
314
|
+
|
|
315
|
+
const elementToObserve = scrollable || ! visible ? divRef.current : imgRef.current;
|
|
316
|
+
if ( elementToObserve ) {
|
|
317
|
+
observer.observe( elementToObserve );
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
return () => {
|
|
321
|
+
observer.disconnect();
|
|
322
|
+
};
|
|
323
|
+
}
|
|
324
|
+
}, [ loading, shouldShowImage, scrollable, visible ] );
|
|
325
|
+
|
|
303
326
|
const animationScrollSpeedInPixelsPerSecond = 400;
|
|
304
327
|
const animationDuration =
|
|
305
328
|
( maybeImage?.naturalHeight || 600 ) / animationScrollSpeedInPixelsPerSecond;
|
|
@@ -323,9 +346,13 @@ const MShotsImageTreatment = ( {
|
|
|
323
346
|
// rule effecting the placeholder while loading static images:
|
|
324
347
|
// '.design-picker .design-picker__image-frame img { ..., height: auto }'
|
|
325
348
|
return scrollable || ! visible ? (
|
|
326
|
-
<div className={ className } style={ style } aria-labelledby={ labelledby } />
|
|
349
|
+
<div ref={ divRef } className={ className } style={ style } aria-labelledby={ labelledby } />
|
|
327
350
|
) : (
|
|
328
|
-
<img
|
|
351
|
+
<img
|
|
352
|
+
ref={ imgRef }
|
|
353
|
+
{ ...{ className, style, src, alt, loading } }
|
|
354
|
+
aria-labelledby={ labelledby }
|
|
355
|
+
/>
|
|
329
356
|
);
|
|
330
357
|
};
|
|
331
358
|
|
|
@@ -341,6 +368,7 @@ const MShotsImage = ( {
|
|
|
341
368
|
alt,
|
|
342
369
|
options,
|
|
343
370
|
scrollable = false,
|
|
371
|
+
loading = 'lazy',
|
|
344
372
|
}: MShotsImageProps ) => {
|
|
345
373
|
// Return MShotsImageControl or MShotsImageTreatment depending on options.oldHighResImageLoading
|
|
346
374
|
if ( options?.oldHighResImageLoading ) {
|
|
@@ -351,9 +379,11 @@ const MShotsImage = ( {
|
|
|
351
379
|
alt={ alt }
|
|
352
380
|
options={ options }
|
|
353
381
|
scrollable={ scrollable }
|
|
382
|
+
loading={ loading }
|
|
354
383
|
/>
|
|
355
384
|
);
|
|
356
385
|
}
|
|
386
|
+
|
|
357
387
|
return (
|
|
358
388
|
<MShotsImageControl
|
|
359
389
|
url={ url }
|
|
@@ -361,6 +391,7 @@ const MShotsImage = ( {
|
|
|
361
391
|
alt={ alt }
|
|
362
392
|
options={ options }
|
|
363
393
|
scrollable={ scrollable }
|
|
394
|
+
loading={ loading }
|
|
364
395
|
/>
|
|
365
396
|
);
|
|
366
397
|
};
|
|
@@ -23,7 +23,11 @@ const useNavigatorScreens = ( screens: NavigatorScreenObject[] ) => {
|
|
|
23
23
|
onSubmit,
|
|
24
24
|
onBack,
|
|
25
25
|
} ) => (
|
|
26
|
-
<NavigatorScreen
|
|
26
|
+
<NavigatorScreen
|
|
27
|
+
key={ path }
|
|
28
|
+
path={ path }
|
|
29
|
+
style={ { animationDuration: '0s', transitionDuration: '0s' } }
|
|
30
|
+
>
|
|
27
31
|
<>
|
|
28
32
|
<NavigatorHeader
|
|
29
33
|
title={ <>{ title ?? label }</> }
|
|
@@ -1,16 +1,31 @@
|
|
|
1
1
|
import {
|
|
2
2
|
__experimentalNavigatorProvider as NavigatorProvider,
|
|
3
3
|
__experimentalNavigatorScreen as NavigatorScreen,
|
|
4
|
+
useNavigator,
|
|
4
5
|
} from '@wordpress/components';
|
|
6
|
+
import { Navigator } from '@wordpress/components/build-types/navigator/types';
|
|
7
|
+
import { type JSX, MutableRefObject } from 'react';
|
|
5
8
|
import NavigatorListener from '../navigator-listener';
|
|
6
9
|
import { useNavigatorScreens } from './hooks';
|
|
7
10
|
import type { NavigatorScreenObject } from './types';
|
|
8
11
|
import './navigator-screens.scss';
|
|
9
12
|
|
|
13
|
+
const NavigatorRefSetter = ( {
|
|
14
|
+
navigatorRef,
|
|
15
|
+
}: {
|
|
16
|
+
navigatorRef: MutableRefObject< Navigator | null >;
|
|
17
|
+
} ) => {
|
|
18
|
+
const navigator = useNavigator();
|
|
19
|
+
navigatorRef.current = navigator;
|
|
20
|
+
|
|
21
|
+
return null;
|
|
22
|
+
};
|
|
23
|
+
|
|
10
24
|
interface Props {
|
|
11
25
|
children: JSX.Element;
|
|
12
26
|
screens: NavigatorScreenObject[];
|
|
13
27
|
initialPath?: string;
|
|
28
|
+
navigatorRef: MutableRefObject< Navigator | null >;
|
|
14
29
|
onNavigatorPathChange?: ( path?: string ) => void;
|
|
15
30
|
}
|
|
16
31
|
|
|
@@ -18,6 +33,7 @@ const NavigatorScreens = ( {
|
|
|
18
33
|
children,
|
|
19
34
|
screens,
|
|
20
35
|
initialPath = '/',
|
|
36
|
+
navigatorRef,
|
|
21
37
|
onNavigatorPathChange,
|
|
22
38
|
}: Props ) => {
|
|
23
39
|
const navigatorScreens = useNavigatorScreens( screens );
|
|
@@ -31,6 +47,7 @@ const NavigatorScreens = ( {
|
|
|
31
47
|
<NavigatorProvider initialPath={ initialPath }>
|
|
32
48
|
<NavigatorScreen path={ initialPath }>{ children }</NavigatorScreen>
|
|
33
49
|
{ navigatorScreens }
|
|
50
|
+
<NavigatorRefSetter navigatorRef={ navigatorRef } />
|
|
34
51
|
{ onNavigatorPathChange && (
|
|
35
52
|
<NavigatorListener onNavigatorPathChange={ onNavigatorPathChange } />
|
|
36
53
|
) }
|
|
@@ -10,6 +10,9 @@ type SelectCardCheckboxProps = {
|
|
|
10
10
|
checked: boolean;
|
|
11
11
|
};
|
|
12
12
|
|
|
13
|
+
/**
|
|
14
|
+
* @deprecated Use SelectCardCheckboxV2 instead because it triggers onChange event twice and has accessibility issues
|
|
15
|
+
*/
|
|
13
16
|
const SelectCardCheckbox = ( {
|
|
14
17
|
children,
|
|
15
18
|
className,
|
|
@@ -21,13 +24,16 @@ const SelectCardCheckbox = ( {
|
|
|
21
24
|
|
|
22
25
|
return (
|
|
23
26
|
<div
|
|
24
|
-
className={ clsx( 'select-card-checkbox__container', className
|
|
25
|
-
'is-checked': checked,
|
|
26
|
-
} ) }
|
|
27
|
+
className={ clsx( 'select-card-checkbox__container', className ) }
|
|
27
28
|
onClick={ () => onChange( ! checked ) }
|
|
28
29
|
role="presentation"
|
|
29
30
|
>
|
|
30
|
-
<CheckboxControl
|
|
31
|
+
<CheckboxControl
|
|
32
|
+
__nextHasNoMarginBottom
|
|
33
|
+
checked={ checked }
|
|
34
|
+
id={ id }
|
|
35
|
+
onChange={ onChange }
|
|
36
|
+
/>
|
|
31
37
|
<label className="select-card-checkbox__label" htmlFor={ id }>
|
|
32
38
|
{ children }
|
|
33
39
|
</label>
|
|
@@ -1,12 +1,17 @@
|
|
|
1
1
|
.select-card-checkbox__container {
|
|
2
|
-
border: 1px solid
|
|
2
|
+
border: 1px solid var(--color-surface-backdrop);
|
|
3
|
+
background: var(--color-surface-backdrop);
|
|
3
4
|
border-radius: 4px;
|
|
4
|
-
padding:
|
|
5
|
+
padding: 16px;
|
|
5
6
|
font-size: 0.875rem;
|
|
6
7
|
cursor: pointer;
|
|
7
8
|
display: flex;
|
|
8
9
|
align-items: center;
|
|
9
10
|
|
|
11
|
+
.components-checkbox-control {
|
|
12
|
+
--checkbox-input-margin: 16px;
|
|
13
|
+
}
|
|
14
|
+
|
|
10
15
|
.select-card-checkbox__label {
|
|
11
16
|
pointer-events: none;
|
|
12
17
|
user-select: none;
|
|
@@ -14,17 +19,9 @@
|
|
|
14
19
|
align-items: center;
|
|
15
20
|
}
|
|
16
21
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
background:
|
|
20
|
-
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
.components-base-control__field {
|
|
24
|
-
margin-bottom: 0;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
.components-checkbox-control__input[type="checkbox"] {
|
|
28
|
-
border-color: #a7aaad;
|
|
22
|
+
&:hover,
|
|
23
|
+
&:has(:checked) {
|
|
24
|
+
background: var(--color-accent-5);
|
|
25
|
+
border-color: var(--color-accent);
|
|
29
26
|
}
|
|
30
27
|
}
|