diff --git a/.gitignore b/.gitignore index c30a19820..be16d05be 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ node_modules vendor -.DS_Store \ No newline at end of file +.DS_Store +.vscode \ No newline at end of file diff --git a/src/OnboardingSPA/components/CheckboxTemplate/CheckboxListSkeleton/stylesheet.scss b/src/OnboardingSPA/components/CheckboxTemplate/CheckboxListSkeleton/stylesheet.scss index 031e25352..89de99623 100644 --- a/src/OnboardingSPA/components/CheckboxTemplate/CheckboxListSkeleton/stylesheet.scss +++ b/src/OnboardingSPA/components/CheckboxTemplate/CheckboxListSkeleton/stylesheet.scss @@ -9,6 +9,7 @@ $main-color-light: var(--nfd-onboarding-white); margin-top: 16px; background: $main-color-light; border: 0.5px solid $white-offset; + cursor: not-allowed; width: clamp(15rem, 25vw, 35rem); box-shadow: 0px 2px 8px 2px rgba(204, 204, 204, 0.175295); } diff --git a/src/OnboardingSPA/components/LivePreview/BlockPreview/stylesheet.scss b/src/OnboardingSPA/components/LivePreview/BlockPreview/stylesheet.scss index cbc048510..53c4e4712 100644 --- a/src/OnboardingSPA/components/LivePreview/BlockPreview/stylesheet.scss +++ b/src/OnboardingSPA/components/LivePreview/BlockPreview/stylesheet.scss @@ -28,6 +28,7 @@ $main-color-light-rgb: var(--nfd-onboarding-white-rgb); height: 100%; display: flex; position: absolute; + cursor: not-allowed; align-items: center; flex-direction: column; background-color: $main-color-grey; diff --git a/src/OnboardingSPA/components/LivePreview/SelectableCardWithInfo/index.js b/src/OnboardingSPA/components/LivePreview/SelectableCardWithInfo/index.js index 3c643483b..fa8e93aa0 100644 --- a/src/OnboardingSPA/components/LivePreview/SelectableCardWithInfo/index.js +++ b/src/OnboardingSPA/components/LivePreview/SelectableCardWithInfo/index.js @@ -27,10 +27,11 @@ const SelectableCardWithInfo = ( { }; return ( -
-
+
+
handleCheck( ! selected ) } + > { +const MiniPreview = ({ title, desc, icon, socialData, isSocialFormOpen, setIsSocialFormOpen }) => { var iconPreview = icon == "" || icon == undefined ? content.icon : icon; var titlePreview = title == "" ? sprintf(__(content.title, 'wp-module-onboarding'), translations('Site')) : title; @@ -70,13 +70,14 @@ const MiniPreview = ({ title, desc, icon, socialData }) => { } function socialIconList() { - var socialIconList = [] - socialDataset.map( (socialInfo) => { - !socialInfo.url || - socialIconList.push( -
) - }) - return socialIconList; + return socialDataset.map( (socialInfo) => { + return ( +
setIsSocialFormOpen(!isSocialFormOpen)} + className={`browser-content_social_icon ${socialInfo.url ? isValidUrl(socialInfo.url) || '--invalid-url' : '--no-url' }`} + style={{ backgroundImage: socialInfo.image }} /> + ) + }) } return ( diff --git a/src/OnboardingSPA/components/MiniPreview/stylesheet.scss b/src/OnboardingSPA/components/MiniPreview/stylesheet.scss index 9f8098106..24dd803ab 100644 --- a/src/OnboardingSPA/components/MiniPreview/stylesheet.scss +++ b/src/OnboardingSPA/components/MiniPreview/stylesheet.scss @@ -88,8 +88,11 @@ $title-browser-color: #3858E9; justify-content: flex-start; &_icon{ + opacity: 1; width: 24px; height: 24px; + filter: none; + cursor: pointer; text-align: center; padding-right: 6px; background-position: center; @@ -97,8 +100,14 @@ $title-browser-color: #3858E9; background-clip: padding-box; transition: opacity 0.4s ease-in-out; - &.invalid-url { - opacity: 0.8; + &.--no-url { + opacity: 0.5; + filter: grayscale(1); + } + + &.--invalid-url { + opacity: 0.75; + filter: none; } } } diff --git a/src/OnboardingSPA/components/RadioControl/RadioControlSkeleton/index.js b/src/OnboardingSPA/components/RadioControl/RadioControlSkeleton/index.js new file mode 100644 index 000000000..8160d73ce --- /dev/null +++ b/src/OnboardingSPA/components/RadioControl/RadioControlSkeleton/index.js @@ -0,0 +1,14 @@ +/** + * Renders Skeletons for Radio Control. + * + * @param {number} options The options to be renedered + * + */ +const RadioControlSkeleton = ({ options }) => { + + return
+ {options.map((option) => (
))} +
; +}; + +export default RadioControlSkeleton; \ No newline at end of file diff --git a/src/OnboardingSPA/components/RadioControl/RadioControlSkeleton/stylesheet.scss b/src/OnboardingSPA/components/RadioControl/RadioControlSkeleton/stylesheet.scss new file mode 100644 index 000000000..b31051c56 --- /dev/null +++ b/src/OnboardingSPA/components/RadioControl/RadioControlSkeleton/stylesheet.scss @@ -0,0 +1,22 @@ +/*COLOR VARIABLES*/ +$white-offset: rgb(224, 224, 224); +$main-color-light: var(--nfd-onboarding-white); + +.radio-control { + + &-main { + animation: fadeIn 300ms ease-in; + } + + &-skeleton { + margin: 30px; + + &-item { + height: 32px; + margin: 12px; + padding: 10px; + background: transparent; + } + } + +} \ No newline at end of file diff --git a/src/OnboardingSPA/components/RadioControl/RadioControlStateHandler/index.js b/src/OnboardingSPA/components/RadioControl/RadioControlStateHandler/index.js new file mode 100644 index 000000000..1a14ce86f --- /dev/null +++ b/src/OnboardingSPA/components/RadioControl/RadioControlStateHandler/index.js @@ -0,0 +1,27 @@ +import { useState, useEffect } from '@wordpress/element'; +import RadioControlSkeleton from '../RadioControlSkeleton'; + +/** + * A State Handler to manage Radio Control + * + * @param {number} options The options to be renedered. + * @param {string} children The children to be rendered out. + * @param {number} watch The variable to be awaited for to be fetched. + * + */ +const RadioControlStateHandler = ({ options, watch, children }) => { + const [rerender, doRerender] = useState(0); + + useEffect(() => doRerender(1), [watch]); + + return !watch ? ( + + ) : ( + <> + {
{rerender}
} + {children} + + ); +}; + +export default RadioControlStateHandler; \ No newline at end of file diff --git a/src/OnboardingSPA/components/RadioControl/index.js b/src/OnboardingSPA/components/RadioControl/index.js new file mode 100644 index 000000000..f8741d0c3 --- /dev/null +++ b/src/OnboardingSPA/components/RadioControl/index.js @@ -0,0 +1,2 @@ +export { default as RadioControlSkeleton } from './RadioControlSkeleton'; +export { default as RadioControlStateHandler } from './RadioControlStateHandler'; \ No newline at end of file diff --git a/src/OnboardingSPA/components/SocialMediaForm/index.js b/src/OnboardingSPA/components/SocialMediaForm/index.js index 340048175..16f24265e 100644 --- a/src/OnboardingSPA/components/SocialMediaForm/index.js +++ b/src/OnboardingSPA/components/SocialMediaForm/index.js @@ -4,8 +4,7 @@ import { useState, useEffect } from '@wordpress/element'; import Tooltip from './../Tooltip' -const SocialMediaForm = ({ socialData, setSocialData, setIsValidSocials }) => { - const [isActive, setIsActive] = useState(false); +const SocialMediaForm = ({ socialData, setSocialData, setIsValidSocials, isSocialFormOpen, setIsSocialFormOpen }) => { const [facebook, setFacebook] = useState(""); const [twitter, setTwitter] = useState(""); const [instagram, setInstagram] = useState(""); @@ -105,11 +104,10 @@ const SocialMediaForm = ({ socialData, setSocialData, setIsValidSocials }) => { } } - setDataAndActiveErrorState( data, activeError); + setDataAndActiveErrorState(data, socialInput, activeError); } - const setDataAndActiveErrorState = (data, activeError) => { - + const setDataAndActiveErrorState = (data, socialInput, activeError) => { if (!data){ var activeErrorFiltered = activeError.filter(function (item) { return item !== socialInput @@ -131,7 +129,7 @@ const SocialMediaForm = ({ socialData, setSocialData, setIsValidSocials }) => { const checkValidUrlDebounce = _.debounce(checkValidUrl, 1000); const handleAccordion = (e) => { - setIsActive(!isActive); + setIsSocialFormOpen(!isSocialFormOpen); } const handleChange = (e) => { @@ -222,9 +220,9 @@ const SocialMediaForm = ({ socialData, setSocialData, setIsValidSocials }) => { 'wp-module-onboarding' )}
-
+
-
{ handleSubmit(e) }}> + { handleSubmit(e) }}> {buildSocialBoxes()}
diff --git a/src/OnboardingSPA/pages/Steps/BasicInfo/basicInfoForm.js b/src/OnboardingSPA/pages/Steps/BasicInfo/basicInfoForm.js index a8b992830..8e3152fb3 100644 --- a/src/OnboardingSPA/pages/Steps/BasicInfo/basicInfoForm.js +++ b/src/OnboardingSPA/pages/Steps/BasicInfo/basicInfoForm.js @@ -1,7 +1,7 @@ import { __, sprintf } from '@wordpress/i18n'; import { useDispatch, useSelect } from '@wordpress/data'; -import { useState, useEffect } from '@wordpress/element'; import { store as coreStore } from '@wordpress/core-data'; +import { useState, useEffect, useRef } from '@wordpress/element'; import content from './content.json'; import TextInput from '../../../components/TextInput'; @@ -19,6 +19,7 @@ import { translations } from '../../../utils/locales/translations'; * @return */ const BasicInfoForm = () => { + const socialMediaRef = useRef(null); const [ isError, setIsError ] = useState( false ); const [ flowData, setFlowData ] = useState(); const [ isLoaded, setisLoaded ] = useState( false ); @@ -29,6 +30,7 @@ const BasicInfoForm = () => { const [ siteLogo, setSiteLogo ] = useState( 0 ); const [ socialData, setSocialData ] = useState( '' ); const [ isValidSocials, setIsValidSocials ] = useState( false ); + const [ isSocialFormOpen, setIsSocialFormOpen ] = useState( false ); const { setCurrentOnboardingData } = useDispatch( nfdOnboardingStore ); const { editEntityRecord } = useDispatch( coreStore ); @@ -64,6 +66,11 @@ const BasicInfoForm = () => { return dataToSave; } + useEffect(() => { + if(isSocialFormOpen) + socialMediaRef.current.scrollIntoView(); + }, [isSocialFormOpen]); + useEffect( () => { async function getFlowData() { const socialDataAPI = await getSettings(); @@ -183,11 +190,13 @@ const BasicInfoForm = () => { textValue={ siteDesc } textValueSetter={ setSiteDesc } /> -
+
@@ -201,6 +210,8 @@ const BasicInfoForm = () => { title={ siteTitle } desc={ siteDesc } socialData={ socialData } + isSocialFormOpen={ isSocialFormOpen } + setIsSocialFormOpen={ setIsSocialFormOpen } />
diff --git a/src/OnboardingSPA/pages/Steps/DesignColors/stylesheet.scss b/src/OnboardingSPA/pages/Steps/DesignColors/stylesheet.scss index 1371e2a22..c73a28055 100644 --- a/src/OnboardingSPA/pages/Steps/DesignColors/stylesheet.scss +++ b/src/OnboardingSPA/pages/Steps/DesignColors/stylesheet.scss @@ -1,55 +1,58 @@ - - .theme-colors-preview { - flex: 1; - margin: 16px; - display: flex; - align-items: center; - flex-direction: column; - justify-content: center; - - &__title-bar { - width: 70%; - height: 15px; - display: flex; - align-items: center; - background-color: #ccc; - justify-content: space-between; - border: 1px solid transparent; - - &__browser { - display: flex; - align-items: center; - justify-content: center; - - &__dot { - background-color: #989ea7; - width: 8px; - margin: 3px; - height: 8px; - border-radius: 50%; - display: inline-block; - } - } - } - - &__live-preview-container { - width: 70%; - min-height: 90vh; - overflow: hidden; - position: relative; - align-items: center; - border: 1px solid #e3dfdf; - margin-bottom: 30px; - - .live-preview { - - &__container { - - &-custom { - width: 100%; - } - } - } - } -} \ No newline at end of file + flex: 1; + margin: 16px; + display: flex; + align-items: center; + flex-direction: column; + justify-content: center; + + &__title-bar { + width: 70%; + height: 15px; + display: flex; + align-items: center; + background-color: #ccc; + justify-content: space-between; + border: 1px solid transparent; + + &__browser { + display: flex; + align-items: center; + justify-content: center; + + &__dot { + background-color: #989ea7; + width: 8px; + margin: 3px; + height: 8px; + border-radius: 50%; + display: inline-block; + } + } + } + + &__live-preview-container { + width: 70%; + min-height: 90vh; + overflow: hidden; + position: relative; + align-items: center; + border: 1px solid #e3dfdf; + margin-bottom: 30px; + + + &:hover { + cursor: not-allowed; + } + + .live-preview { + + &__container { + + &-custom { + width: 100%; + } + } + } + } +} diff --git a/src/OnboardingSPA/pages/Steps/DesignHeaderMenu/stylesheet.scss b/src/OnboardingSPA/pages/Steps/DesignHeaderMenu/stylesheet.scss index 37d804ca5..75ad2a5fe 100644 --- a/src/OnboardingSPA/pages/Steps/DesignHeaderMenu/stylesheet.scss +++ b/src/OnboardingSPA/pages/Steps/DesignHeaderMenu/stylesheet.scss @@ -66,7 +66,7 @@ background-color: #ccc; justify-content: space-between; border: 1px solid transparent; - margin-top: 20px; + margin-top: 20px; &__browser { display: flex; @@ -93,6 +93,11 @@ border: 1px solid #e3dfdf; margin-bottom: 30px; + + &:hover { + cursor: not-allowed; + } + .live-preview { &__container { @@ -103,4 +108,4 @@ } } } -} \ No newline at end of file +} diff --git a/src/OnboardingSPA/pages/Steps/DesignHomepageMenu/stylesheet.scss b/src/OnboardingSPA/pages/Steps/DesignHomepageMenu/stylesheet.scss index a2b06f5d5..8cfac5805 100644 --- a/src/OnboardingSPA/pages/Steps/DesignHomepageMenu/stylesheet.scss +++ b/src/OnboardingSPA/pages/Steps/DesignHomepageMenu/stylesheet.scss @@ -5,121 +5,107 @@ $main-border-light: var(--nfd-onboarding-border); $main-border-main: var(--nfd-onboarding-primary-alt); .homepage_preview { - display: flex; - padding-top: 60px; - align-items: center; - flex-direction: column; - justify-content: center; - - &__list { - width: 60vw; - height: 100%; - display: flex; - align-items: center; - justify-content: center; - - @media (max-width: #{ ($break-large) }) { - width: 95vw; - align-items: center; - flex-direction: column; - } - - &__item { - flex: 1; - width: 100%; - margin: 24px; - display: flex; - align-items: center; - flex-direction: column; - justify-content: center; - - &__title-bar { - width: 90%; - height: 15px; - display: flex; - align-items: center; - background-color: #E4E4E4; - justify-content: space-between; - border: 1px solid transparent; - - &__browser { - display: flex; - align-items: center; - justify-content: center; - - &__dot { - width: 8px; - margin: 3px; - height: 8px; - border-radius: 50%; - display: inline-block; - background-color: #989ea7; - } - } - - &--selected { - z-index: 2; - width: 40px; - height: 40px; - display: flex; - margin-right: -15px; - border-radius: 50%; - align-items: center; - justify-content: center; - background-clip: padding-box; - background-color: $main-border-main; - - &__path { - fill: $main-color-light; - transform: scale(0.7); - } - } - - &--unselected { - display: none; - } - } - &__live-preview-container { + display: flex; + padding-top: 60px; + align-items: center; + flex-direction: column; + justify-content: center; + + &__list { + width: 60vw; + height: 100%; + display: flex; + align-items: center; + justify-content: center; + + @media (max-width: #{ ($break-large) }) { + width: 95vw; + align-items: center; + flex-direction: column; + } + + &__item { + flex: 1; + width: 100%; + margin: 24px; + display: flex; + align-items: center; + flex-direction: column; + justify-content: center; + + &__title-bar { + width: 90%; + height: 15px; + display: flex; + align-items: center; + background-color: #e4e4e4; + justify-content: space-between; + border: 1px solid transparent; + + &__browser { + display: flex; + align-items: center; + justify-content: center; + + &__dot { + width: 8px; + margin: 3px; + height: 8px; + border-radius: 50%; + display: inline-block; + background-color: #989ea7; + } + } + + &--selected { + z-index: 2; + width: 40px; + height: 40px; + display: flex; + margin-right: -15px; + border-radius: 50%; + align-items: center; + justify-content: center; + background-clip: padding-box; + background-color: $main-border-main; + + &__path { + fill: $main-color-light; + transform: scale(0.7); + } + } + + &--unselected { + display: none; + } + } + + &__live-preview-container { position: relative; width: 90%; align-items: center; border: 1px solid #e3dfdf; + + &:hover { + cursor: pointer; + } + .live-preview { &__container { &-custom { width: 100%; - overflow: hidden; - height: 300px; + height: 45vh; + min-height: 400px; + // Enable Scrolling in Live Preview + overflow-y: scroll; } + } } - - } - - &__live-preview-container { - position: relative; - width: 90%; - align-items: center; - border: 1px solid #e3dfdf; - - .live-preview { - - &__container { - - &-custom { - width: 100%; - height: 45vh; - min-height: 400px; - // Enable Scrolling in Live Preview - overflow-y: scroll; - } - - } - } - } - } - } + } + } + } } diff --git a/src/OnboardingSPA/pages/Steps/DesignThemeStyles/Menu/stylesheet.scss b/src/OnboardingSPA/pages/Steps/DesignThemeStyles/Menu/stylesheet.scss index 49aaa96ff..e40d69b1c 100644 --- a/src/OnboardingSPA/pages/Steps/DesignThemeStyles/Menu/stylesheet.scss +++ b/src/OnboardingSPA/pages/Steps/DesignThemeStyles/Menu/stylesheet.scss @@ -48,7 +48,7 @@ $main-border-main: var(--nfd-onboarding-primary-alt); justify-content: center; &__dot { - background-color: #989EA7; + background-color: #989ea7; width: 8px; margin: 3px; height: 8px; @@ -125,7 +125,7 @@ $main-border-main: var(--nfd-onboarding-primary-alt); } &:hover { - cursor: pointer; + cursor: zoom-in; opacity: 0.74; } } diff --git a/src/OnboardingSPA/pages/Steps/DesignThemeStyles/Preview/stylesheet.scss b/src/OnboardingSPA/pages/Steps/DesignThemeStyles/Preview/stylesheet.scss index 9779caa0f..7e1f1a4d2 100644 --- a/src/OnboardingSPA/pages/Steps/DesignThemeStyles/Preview/stylesheet.scss +++ b/src/OnboardingSPA/pages/Steps/DesignThemeStyles/Preview/stylesheet.scss @@ -92,6 +92,10 @@ border: 1px solid #e3dfdf; margin-bottom: 30px; + &:hover { + cursor: not-allowed; + } + .live-preview { &__container { diff --git a/src/OnboardingSPA/pages/Steps/DesignTypography/stylesheet.scss b/src/OnboardingSPA/pages/Steps/DesignTypography/stylesheet.scss index e0ecc9b38..55d2017eb 100644 --- a/src/OnboardingSPA/pages/Steps/DesignTypography/stylesheet.scss +++ b/src/OnboardingSPA/pages/Steps/DesignTypography/stylesheet.scss @@ -40,6 +40,11 @@ border: 1px solid #e3dfdf; margin-bottom: 30px; + + &:hover { + cursor: not-allowed; + } + .live-preview { &__container { diff --git a/src/OnboardingSPA/pages/Steps/Ecommerce/StepTax/Sidebar/LearnMore/contents.js b/src/OnboardingSPA/pages/Steps/Ecommerce/StepTax/Sidebar/LearnMore/contents.js index 97243eda6..e1060349a 100644 --- a/src/OnboardingSPA/pages/Steps/Ecommerce/StepTax/Sidebar/LearnMore/contents.js +++ b/src/OnboardingSPA/pages/Steps/Ecommerce/StepTax/Sidebar/LearnMore/contents.js @@ -3,15 +3,17 @@ import { __, sprintf } from '@wordpress/i18n'; import { translations } from '../../../../../../utils/locales/translations'; import { institution } from '@wordpress/icons'; -const getContents = ( brandName, techSupportLink, fullServiceCreativeTeamLink ) => { +const getContents = ( + brandName, + techSupportLink, + fullServiceCreativeTeamLink +) => { return { introduction: { heading: __( 'Tax Info', 'wp-module-onboarding' ), subheading: sprintf( /* translators: 1: Site 2: Brand 3: Site */ - __( - 'A %s that does taxes in one click. That’s pretty novel.' - ), + __( 'A %s that does taxes in one click. That’s pretty novel.' ), translations( 'site' ), brandName, translations( 'Site' ) diff --git a/src/OnboardingSPA/pages/Steps/Ecommerce/StepTax/Sidebar/LearnMore/index.js b/src/OnboardingSPA/pages/Steps/Ecommerce/StepTax/Sidebar/LearnMore/index.js index 97db95436..f6bb548a1 100644 --- a/src/OnboardingSPA/pages/Steps/Ecommerce/StepTax/Sidebar/LearnMore/index.js +++ b/src/OnboardingSPA/pages/Steps/Ecommerce/StepTax/Sidebar/LearnMore/index.js @@ -34,15 +34,24 @@ const StepIntroPanel = lazy( () => ); const LearnMore = () => { - const { brandName, techSupportLink, fullServiceCreativeTeamLink } = useSelect( ( select ) => { - return { - brandName: select( nfdOnboardingStore ).getNewfoldBrandName(), - techSupportLink: select( nfdOnboardingStore ).getTechSupportUrl(), - fullServiceCreativeTeamLink: select( nfdOnboardingStore ).getfullServiceCreativeTeamUrl(), - }; - } ); + const { brandName, techSupportLink, fullServiceCreativeTeamLink } = + useSelect( ( select ) => { + return { + brandName: select( nfdOnboardingStore ).getNewfoldBrandName(), + techSupportLink: + select( nfdOnboardingStore ).getTechSupportUrl(), + fullServiceCreativeTeamLink: + select( + nfdOnboardingStore + ).getfullServiceCreativeTeamUrl(), + }; + } ); - const content = getContents( brandName, techSupportLink, fullServiceCreativeTeamLink ); + const content = getContents( + brandName, + techSupportLink, + fullServiceCreativeTeamLink + ); return (
@@ -61,7 +70,7 @@ const LearnMore = () => { - ( window.open( content.help.fullService.link, '_blank') ) + window.open( content.help.fullService.link, '_blank' ) } /> @@ -74,6 +75,22 @@ const StepTax = () => { navigate('/ecommerce/step/products'); }; + const selectOption = (value) => { + let selectedOption = content.stepTaxOptions.find( + (option) => option.value === value + ); + setCurrentOnboardingData({ + storeDetails: { + ...currentData.storeDetails, + tax: { + ...selectedOption.data, + option: selectedOption.value, + isStoreDetailsFilled: tax?.isStoreDetailsFilled + }, + }, + }); + } + return ( @@ -85,33 +102,33 @@ const StepTax = () => { subHeading={__(content.stepTaxSubHeading, 'wp-module-onboarding')} question={__(content.question, 'wp-module-onboarding')} /> - {settings === null &&

Loading...

}
- { - return { - label: __(option.content, 'wp-module-onboarding'), - value: option.value, - }; - })} - onChange={(value) => { - let selectedOption = content.stepTaxOptions.find( - (option) => option.value === value - ); - setCurrentOnboardingData({ - storeDetails: { - ...currentData.storeDetails, - tax: { - ...selectedOption.data, - option: selectedOption.value, - isStoreDetailsFilled: tax?.isStoreDetailsFilled - }, - }, - }); - }} - /> + + { + return { + label: __( + option.content, + 'wp-module-onboarding' + ), + value: __( + option.value, + 'wp-module-onboarding' + ), + }; + } + )} + onChange={( value ) => selectOption( value )} + /> +
- { - return { - label: __( - option.content, - 'wp-module-onboarding' - ), - value: __( - option.value, - 'wp-module-onboarding' - ), - }; - } ) } - onChange={ ( value ) => setWpComfortLevel( value ) } - /> + + { + return { + label: __( + option.content, + 'wp-module-onboarding' + ), + value: __( + option.value, + 'wp-module-onboarding' + ), + }; + } + )} + onChange={( value ) => setWpComfortLevel( value )} + /> +