@bigbinary/neeto-molecules 5.5.3 → 5.5.4

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.
@@ -1 +1 @@
1
- {"version":3,"file":"Onboarding.js","sources":["../../src/components/Onboarding/Community/constants.js","../../src/components/Onboarding/Community/EmailRecipient.jsx","../../src/components/Onboarding/Community/api.js","../../src/components/Onboarding/Community/hooks/useJoinCommunity.js","../../src/components/Onboarding/Community/utils.js","../../src/components/Onboarding/Community/hooks/useRecipientEmails.js","../../src/components/Onboarding/constants.js","../../src/components/Onboarding/Community/index.jsx","../../src/components/Onboarding/HelpScreen.jsx","../../src/components/Onboarding/utils.jsx","../../src/components/Onboarding/hooks/useWindowDimensions.js","../../src/components/Onboarding/CompletedScreen.jsx","../../src/components/Onboarding/WelcomeScreen.jsx","../../src/components/Onboarding/index.jsx"],"sourcesContent":["import { Notes, UserCircle } from \"neetoicons\";\n\nexport const COMMUNITY_OPTIONS = [\n {\n key: \"slack\",\n icon: UserCircle,\n dataTestid: \"onboarding-community-slack-checkbox\",\n recipientDataTestids: {\n change: \"onboarding-community-slack-email-change-button\",\n input: \"onboarding-community-slack-email-input\",\n save: \"onboarding-community-slack-email-save-button\",\n cancel: \"onboarding-community-slack-email-cancel-button\",\n },\n },\n {\n key: \"blog\",\n icon: Notes,\n dataTestid: \"onboarding-community-blog-checkbox\",\n recipientDataTestids: {\n change: \"onboarding-community-blog-email-change-button\",\n input: \"onboarding-community-blog-email-input\",\n save: \"onboarding-community-blog-email-save-button\",\n cancel: \"onboarding-community-blog-email-cancel-button\",\n },\n },\n];\n","import { Email } from \"neetoicons\";\nimport { Button, Input, Typography } from \"neetoui\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nconst EmailRecipient = ({\n email,\n edit,\n onStartEditing,\n onDraftChange,\n onSave,\n onCancel,\n recipientKey,\n inputLabelKey,\n dataTestids,\n}) => {\n const { t } = useTranslation();\n\n const handleKeyDown = event => {\n if (event.key === \"Enter\") {\n event.preventDefault();\n onSave();\n }\n\n if (event.key === \"Escape\") onCancel();\n };\n\n if (edit) {\n return (\n <div className=\"flex items-start gap-2 ps-6 pt-3\">\n <div className=\"w-72\">\n <Input\n autoFocus\n aria-label={t(inputLabelKey)}\n data-testid={dataTestids.input}\n error={edit.error}\n type=\"email\"\n value={edit.draft}\n onChange={event => onDraftChange(event.target.value)}\n onKeyDown={handleKeyDown}\n />\n </div>\n <Button\n data-testid={dataTestids.save}\n label={t(\"neetoMolecules.common.actions.save\")}\n onClick={onSave}\n />\n <Button\n data-testid={dataTestids.cancel}\n label={t(\"neetoMolecules.common.actions.cancel\")}\n style=\"text\"\n onClick={onCancel}\n />\n </div>\n );\n }\n\n return (\n <div className=\"flex flex-wrap items-center gap-2 ps-6 pt-3\">\n <Email aria-hidden className=\"neeto-ui-text-gray-500\" size={16} />\n <Typography className=\"neeto-ui-text-gray-600\" style=\"body2\">\n <Trans\n components={{ strong: <strong className=\"neeto-ui-text-gray-800\" /> }}\n i18nKey={recipientKey}\n values={{ email }}\n />\n </Typography>\n <Button\n data-testid={dataTestids.change}\n label={t(\"neetoMolecules.onboarding.communityScreen.changeButton\")}\n size=\"small\"\n style=\"link\"\n onClick={onStartEditing}\n />\n </div>\n );\n};\n\nexport default EmailRecipient;\n","import axios from \"axios\";\nimport { BASE_API_V1_URL } from \"neetocommons/constants\";\n\nconst joinCommunity = communityJoin =>\n axios.post(\n `${BASE_API_V1_URL}/community_join`,\n { communityJoin },\n { showToastr: false }\n );\n\nconst communityApi = { joinCommunity };\n\nexport default communityApi;\n","import { useMutation } from \"@tanstack/react-query\";\n\nimport communityApi from \"../api\";\n\nconst useJoinCommunity = () =>\n useMutation({ mutationFn: communityApi.joinCommunity });\n\nexport default useJoinCommunity;\n","import * as yup from \"yup\";\n\nexport const isValidEmail = email =>\n !!email && yup.string().email().isValidSync(email);\n","import { useState } from \"react\";\n\nimport { t } from \"i18next\";\nimport { assoc, dissoc } from \"ramda\";\n\nimport { isValidEmail } from \"../utils\";\n\n// Tracks the email each option goes to, plus any address being edited, so\n// Continue can pick up a draft the user typed but did not save.\nconst useRecipientEmails = defaultEmail => {\n const [emails, setEmails] = useState({\n slack: defaultEmail,\n blog: defaultEmail,\n });\n\n // { [key]: { draft, error } } for the options whose email field is open.\n const [edits, setEdits] = useState({});\n\n const startEditing = key =>\n setEdits(assoc(key, { draft: emails[key], error: \"\" }));\n\n const changeDraft = (key, draft) =>\n setEdits(assoc(key, { draft, error: \"\" }));\n\n const cancel = key => setEdits(dissoc(key));\n\n const validate = key => {\n const draft = edits[key].draft.trim();\n\n return isValidEmail(draft)\n ? { draft }\n : { error: t(\"neetoMolecules.onboarding.communityScreen.invalidEmail\") };\n };\n\n const save = key => {\n const { draft, error } = validate(key);\n\n if (error) {\n setEdits(assoc(key, { ...edits[key], error }));\n\n return;\n }\n\n setEmails(assoc(key, draft));\n setEdits(dissoc(key));\n };\n\n // Applies every open draft of the given options. Returns the final emails,\n // or null when a draft is invalid, after showing its error.\n const applyDrafts = keys => {\n let nextEmails = emails;\n let nextEdits = edits;\n\n keys\n .filter(key => edits[key])\n .forEach(key => {\n const { draft, error } = validate(key);\n\n if (error) {\n nextEdits = assoc(key, { ...edits[key], error }, nextEdits);\n } else {\n nextEmails = assoc(key, draft, nextEmails);\n nextEdits = dissoc(key, nextEdits);\n }\n });\n\n setEmails(nextEmails);\n setEdits(nextEdits);\n\n const hasInvalidDraft = keys.some(key => nextEdits[key]);\n\n return hasInvalidDraft ? null : nextEmails;\n };\n\n return {\n emails,\n edits,\n startEditing,\n changeDraft,\n cancel,\n save,\n applyDrafts,\n };\n};\n\nexport default useRecipientEmails;\n","export const GENERAL_ONBOARDING_STEPS = {\n WELCOME: \"welcome\",\n COMMUNITY: \"community\",\n HELP: \"help\",\n FINISH: \"finish\",\n};\n","import { useState } from \"react\";\n\nimport classNames from \"classnames\";\nimport { capitalize } from \"neetocist\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { RightArrow } from \"neetoicons\";\nimport { Button, Checkbox, Typography } from \"neetoui\";\nimport { assoc } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { COMMUNITY_OPTIONS } from \"./constants\";\nimport EmailRecipient from \"./EmailRecipient\";\nimport useJoinCommunity from \"./hooks/useJoinCommunity\";\nimport useRecipientEmails from \"./hooks/useRecipientEmails\";\n\nimport { GENERAL_ONBOARDING_STEPS } from \"../constants\";\n\nconst Community = ({ setCurrentStep, communityScreenClassName }) => {\n const { t } = useTranslation();\n\n const [selected, setSelected] = useState({ slack: true, blog: true });\n\n // Both start at the signed-in user's email; each can be changed separately.\n const recipients = useRecipientEmails(globalProps.user?.email);\n\n const { mutate: joinCommunity } = useJoinCommunity();\n\n const appName = capitalize(globalProps.appName ?? \"\");\n\n const handleContinue = () => {\n const selectedKeys = Object.keys(selected).filter(key => selected[key]);\n\n // An address typed but not saved still counts; an invalid one keeps the\n // user here with its error showing.\n const emails = recipients.applyDrafts(selectedKeys);\n if (!emails) return;\n\n // The Slack invite and blog subscription are both sent by email in the\n // background, so onboarding moves on without waiting for them.\n if (selectedKeys.length > 0) {\n joinCommunity({\n ...selected,\n slackEmail: emails.slack,\n blogEmail: emails.blog,\n });\n }\n\n setCurrentStep(GENERAL_ONBOARDING_STEPS.HELP);\n };\n\n return (\n <div\n className={classNames(\n \"mx-auto flex w-full max-w-3xl flex-col items-start gap-y-6 px-6 pt-16 pb-6\",\n communityScreenClassName\n )}\n >\n <div className=\"space-y-2\">\n <Typography data-testid=\"onboarding-community-title\" style=\"h1\">\n {t(\"neetoMolecules.onboarding.communityScreen.title\")}\n </Typography>\n <Typography\n data-testid=\"onboarding-community-description\"\n style=\"body1\"\n >\n {t(\"neetoMolecules.onboarding.communityScreen.description\", {\n appName,\n })}\n </Typography>\n </div>\n <div className=\"neeto-ui-rounded-lg neeto-ui-border-gray-200 flex w-full flex-col gap-6 border p-3 lg:p-6\">\n {COMMUNITY_OPTIONS.map(\n ({ key, icon: Icon, dataTestid, recipientDataTestids }) => (\n <div className=\"w-full\" key={key}>\n <Checkbox\n checked={selected[key]}\n data-testid={dataTestid}\n id={dataTestid}\n labelProps={{ className: \"text-xl font-semibold\" }}\n label={\n <span className=\"flex flex-wrap items-center gap-2\">\n {t(\n `neetoMolecules.onboarding.communityScreen.${key}.title`,\n { appName }\n )}\n <Icon aria-hidden size={24} />\n </span>\n }\n onChange={event => {\n setSelected(assoc(key, event.target.checked));\n if (!event.target.checked) recipients.cancel(key);\n }}\n />\n <Typography\n className=\"neeto-ui-text-gray-600 ps-6 pt-2\"\n style=\"body1\"\n >\n {t(\n `neetoMolecules.onboarding.communityScreen.${key}.description`\n )}\n </Typography>\n {selected[key] && (\n <EmailRecipient\n dataTestids={recipientDataTestids}\n edit={recipients.edits[key]}\n email={recipients.emails[key]}\n inputLabelKey={`neetoMolecules.onboarding.communityScreen.${key}.emailInputLabel`}\n recipientKey={`neetoMolecules.onboarding.communityScreen.${key}.recipient`}\n onCancel={() => recipients.cancel(key)}\n onDraftChange={draft => recipients.changeDraft(key, draft)}\n onSave={() => recipients.save(key)}\n onStartEditing={() => recipients.startEditing(key)}\n />\n )}\n </div>\n )\n )}\n </div>\n <Typography className=\"neeto-ui-text-gray-600\" style=\"body2\">\n {t(\"neetoMolecules.onboarding.communityScreen.unsubscribe\")}\n </Typography>\n <Button\n data-testid=\"community-onboarding-continue-button\"\n icon={RightArrow}\n iconPosition=\"right\"\n label={t(\"neetoMolecules.onboarding.communityScreen.continueButton\")}\n onClick={handleContinue}\n />\n </div>\n );\n};\n\nexport default Community;\n","import classNames from \"classnames\";\nimport useBreakpoints from \"neetocommons/react-utils/useBreakpoints\";\nimport { RightArrow } from \"neetoicons\";\nimport { Button, Typography } from \"neetoui\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { GENERAL_ONBOARDING_STEPS } from \"./constants\";\n\nconst HelpScreen = ({ setCurrentStep, helpScreenClassName }) => {\n const { t } = useTranslation();\n const { isSize } = useBreakpoints();\n\n return (\n <div\n className={classNames(\n \"mx-auto flex w-full max-w-3xl flex-col items-start gap-y-6 px-6 pb-6 pt-16\",\n helpScreenClassName\n )}\n >\n <div className=\"flex flex-col gap-y-3\">\n <Typography\n component=\"h1\"\n data-testid=\"onboarding-help-title\"\n style=\"h1\"\n >\n {t(\"neetoMolecules.onboarding.helpScreen.title\")}\n </Typography>\n <Typography\n data-testid=\"onboarding-help-description\"\n lineHeight=\"normal\"\n style=\"body1\"\n >\n <Trans i18nKey=\"neetoMolecules.onboarding.helpScreen.description\" />\n </Typography>\n <div className=\"w-full pt-3\">\n {isSize(\"mobile\") ? (\n <img\n alt=\"\"\n src=\"https://ik.imagekit.io/d9mvewbju/Commons/NeetoMolecules/help-support-mobile_fgsI9Cx-IC.svg\"\n />\n ) : (\n <img\n alt=\"\"\n src=\"https://ik.imagekit.io/d9mvewbju/Commons/NeetoMolecules/help-support-desktop_CSOh3DrKTR.svg\"\n />\n )}\n </div>\n </div>\n <Button\n data-testid=\"onboarding-help-button\"\n icon={() => <RightArrow className=\"rtl:scale-x-[-1]\" size={16} />}\n iconPosition=\"right\"\n label={t(\"neetoMolecules.onboarding.helpScreen.continueButton\")}\n onClick={() => setCurrentStep(GENERAL_ONBOARDING_STEPS.FINISH)}\n />\n </div>\n );\n};\n\nexport default HelpScreen;\n","import { t } from \"i18next\";\n\nimport Community from \"./Community\";\nimport { GENERAL_ONBOARDING_STEPS } from \"./constants\";\nimport HelpScreen from \"./HelpScreen\";\n\nexport const createSteps = (\n onboardingSteps,\n setCurrentStep,\n currentStep,\n helpScreenClassName,\n isCommunityStepVisible\n) => {\n const communityStep = {\n key: GENERAL_ONBOARDING_STEPS.COMMUNITY,\n label: t(\"neetoMolecules.onboarding.communityLabel\"),\n element: <Community {...{ setCurrentStep }} />,\n };\n\n const helpStep = {\n key: GENERAL_ONBOARDING_STEPS.HELP,\n label: t(\"neetoMolecules.onboarding.helpLabel\"),\n element: (\n <HelpScreen {...{ currentStep, helpScreenClassName, setCurrentStep }} />\n ),\n };\n\n return onboardingSteps\n .concat(isCommunityStepVisible ? [communityStep, helpStep] : helpStep)\n .map((step, idx) => ({ ...step, id: idx + 1 }));\n};\n\nexport const getWindowDimensions = () =>\n typeof window !== \"undefined\"\n ? { width: window.innerWidth, height: window.innerHeight }\n : { width: 100, height: 100 };\n","import { useState, useLayoutEffect } from \"react\";\n\nimport { getWindowDimensions } from \"../utils\";\n\nconst useWindowDimensions = () => {\n const [windowDimensions, setWindowDimensions] = useState({\n width: 100,\n height: 100,\n });\n\n useLayoutEffect(() => {\n setWindowDimensions(getWindowDimensions());\n\n function handleResize() {\n setWindowDimensions(getWindowDimensions());\n }\n\n window.addEventListener(\"resize\", handleResize);\n\n return () => window.removeEventListener(\"resize\", handleResize);\n }, []);\n\n return windowDimensions;\n};\n\nexport default useWindowDimensions;\n","import { useState, useEffect } from \"react\";\n\nimport classnames from \"classnames\";\nimport { isPresent, capitalize } from \"neetocist\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { Button, Typography } from \"neetoui\";\nimport Confetti from \"react-confetti\";\nimport { useTranslation } from \"react-i18next\";\n\nimport useWindowDimensions from \"./hooks/useWindowDimensions.js\";\n\nconst CompletedScreen = ({\n completeButtonProps,\n completedScreenSuccessMessage,\n className,\n}) => {\n const { t } = useTranslation();\n\n const [dropConfetti, setDropConfetti] = useState(true);\n const { height, width } = useWindowDimensions();\n\n useEffect(() => {\n const timer = setTimeout(() => setDropConfetti(false), 10000);\n\n return () => clearTimeout(timer);\n }, []);\n\n return (\n <div\n className={classnames(\"neeto-molecules-onboarding__wrapper\", className)}\n data-testid=\"onboarding-congratulations-wrapper\"\n >\n <Confetti {...{ height, width }} recycle={dropConfetti} />\n {isPresent(completedScreenSuccessMessage) ? (\n completedScreenSuccessMessage\n ) : (\n <div className=\"mx-auto mb-6 flex w-full max-w-2xl flex-col gap-y-2 px-6 pt-16\">\n <Typography\n className=\"text-center\"\n data-testid=\"onboarding-congratulations-emoji\"\n style=\"h1\"\n >\n 🎉\n </Typography>\n <Typography\n className=\"text-center\"\n data-testid=\"onboarding-congratulations-title\"\n style=\"h1\"\n >\n <span className=\"neeto-ui-text-success-500\">\n {t(\"neetoMolecules.onboarding.congratulations\")}\n </span>\n <br />\n {t(\"neetoMolecules.onboarding.readyToUse\", {\n appName: capitalize(globalProps.appName),\n })}\n </Typography>\n </div>\n )}\n <Button\n data-testid=\"onboarding-congratulations-button\"\n label={t(\"neetoMolecules.onboarding.helpScreen.startUsingButton\", {\n appName: globalProps.appName,\n })}\n {...completeButtonProps}\n />\n </div>\n );\n};\n\nexport default CompletedScreen;\n","import classnames from \"classnames\";\nimport { capitalize } from \"neetocist\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport withT from \"neetocommons/react-utils/withT\";\nimport { RightArrow } from \"neetoicons\";\nimport { Button, Typography } from \"neetoui\";\n\nconst WelcomeScreen = withT(({ t, setCurrentStep, nextStep, className }) => (\n <div\n className={classnames(\"neeto-molecules-onboarding__wrapper\", className)}\n data-testid=\"onboarding-welcome-wrapper\"\n >\n <div className=\"mx-auto mb-6 flex w-full max-w-2xl flex-col gap-y-2 px-6 pt-16\">\n <Typography\n className=\"text-center\"\n data-testid=\"onboarding-welcome-title\"\n style=\"h1\"\n >\n {t(\"neetoMolecules.onboarding.helpScreen.welcomeToTitle\", {\n appName: capitalize(globalProps.appName),\n })}\n </Typography>\n <Typography\n className=\"text-center\"\n data-testid=\"onboarding-welcome-description\"\n lineHeight=\"normal\"\n style=\"body1\"\n >\n {t(\"neetoMolecules.onboarding.letUsCustomize\", {\n appName: capitalize(globalProps.appName),\n })}\n </Typography>\n </div>\n <Button\n data-testid=\"onboarding-welcome-button\"\n icon={() => <RightArrow className=\"rtl:scale-x-[-1]\" size={16} />}\n label={t(\"neetoMolecules.onboarding.getStarted\")}\n onClick={() => setCurrentStep(nextStep)}\n />\n </div>\n));\n\nexport default WelcomeScreen;\n","import { useEffect, useLayoutEffect, useMemo, useRef, useState } from \"react\";\n\nimport classNames from \"classnames\";\nimport { findIndexBy, noop } from \"neetocist\";\nimport { Stepper } from \"neetoui\";\nimport PropTypes from \"prop-types\";\n\nimport CompletedScreen from \"./CompletedScreen\";\nimport { GENERAL_ONBOARDING_STEPS } from \"./constants\";\nimport \"./onboarding.scss\";\nimport { createSteps } from \"./utils\";\nimport WelcomeScreen from \"./WelcomeScreen\";\n\nconst Onboarding = ({\n currentStep = GENERAL_ONBOARDING_STEPS.WELCOME,\n setCurrentStep = noop,\n onboardingSteps = [],\n completeButtonProps = {},\n helpScreenClassName = \"\",\n isAnimated = true,\n disableStepClick = false,\n welcomeScreenClassName = \"\",\n completedScreenClassName = \"\",\n completedScreenSuccessMessage,\n isCommunityStepVisible = true,\n}) => {\n const steps = useMemo(\n () =>\n createSteps(\n onboardingSteps,\n setCurrentStep,\n currentStep,\n helpScreenClassName,\n isCommunityStepVisible\n ),\n [onboardingSteps, isCommunityStepVisible]\n );\n\n const prevStep = useRef(currentStep);\n const isStepperNavigation = useRef(false);\n const isRedirectingToCommunity = useRef(false);\n\n // Products move from their last step straight to Help. Send them through\n // the community step first, unless they picked Help in the stepper.\n useLayoutEffect(() => {\n const isFromStepper = isStepperNavigation.current;\n isStepperNavigation.current = false;\n\n const shouldShowCommunityFirst =\n isCommunityStepVisible &&\n !isFromStepper &&\n currentStep === GENERAL_ONBOARDING_STEPS.HELP &&\n prevStep.current !== currentStep &&\n prevStep.current !== GENERAL_ONBOARDING_STEPS.COMMUNITY;\n\n if (shouldShowCommunityFirst) {\n isRedirectingToCommunity.current = true;\n setCurrentStep(GENERAL_ONBOARDING_STEPS.COMMUNITY);\n }\n }, [currentStep]);\n\n const [direction, setDirection] = useState(\"\");\n\n const getOnboardingStepIndex = stepKey =>\n steps.findIndex(step => step.key === stepKey);\n\n useEffect(() => {\n if (currentStep === prevStep.current) return;\n\n // Help is skipped over on the way to the community step, so the\n // animation should run from the step before it.\n if (isRedirectingToCommunity.current) {\n isRedirectingToCommunity.current = false;\n\n return;\n }\n\n setDirection(\n getOnboardingStepIndex(currentStep) >\n getOnboardingStepIndex(prevStep.current)\n ? \"forward\"\n : \"backward\"\n );\n prevStep.current = currentStep;\n }, [currentStep]);\n\n if (currentStep === GENERAL_ONBOARDING_STEPS.WELCOME) {\n return (\n <WelcomeScreen\n {...{ currentStep, setCurrentStep }}\n className={welcomeScreenClassName}\n nextStep={steps[0].key}\n />\n );\n }\n\n if (currentStep === GENERAL_ONBOARDING_STEPS.FINISH) {\n return (\n <CompletedScreen\n {...{ completeButtonProps, completedScreenSuccessMessage }}\n className={completedScreenClassName}\n />\n );\n }\n\n const handleStepChange = index => {\n const stepKey = steps[index].key;\n if (stepKey === currentStep) return;\n\n isStepperNavigation.current = true;\n setCurrentStep(stepKey);\n };\n\n const isStepperVisible = steps.length > 1;\n\n return (\n <div\n className={classNames(\"neeto-molecules-onboarding__container\", {\n \"neeto-molecules-onboarding__wrapper\": !isStepperVisible,\n })}\n >\n {isStepperVisible && (\n <div className=\"neeto-molecules-onboarding__stepper-wrapper\">\n <Stepper\n {...{ steps }}\n activeIndex={findIndexBy({ key: currentStep }, steps)}\n setActiveIndex={disableStepClick ? noop : handleStepChange}\n />\n </div>\n )}\n {steps.map((step, index) => (\n <div\n key={index}\n className={classNames(\"neeto-molecules-onboarding__content\", {\n \"neeto-molecules-onboarding__content--forward overflow-x-hidden\":\n isAnimated && direction === \"forward\",\n \"neeto-molecules-onboarding__content--backward overflow-x-hidden\":\n isAnimated && direction === \"backward\",\n hidden: currentStep !== step.key,\n })}\n >\n {step?.element}\n </div>\n ))}\n </div>\n );\n};\n\nOnboarding.propTypes = {\n /**\n * To specify the current step of the onboarding\n */\n currentStep: PropTypes.string,\n /**\n * List of Custom components for the onboarding\n */\n onboardingSteps: PropTypes.array,\n /**\n * Props for the complete button\n */\n completeButtonProps: PropTypes.object,\n /**\n * To set the step of the onboarding\n */\n setCurrentStep: PropTypes.func,\n /**\n * To pass additional classes to the help screen\n */\n helpScreenClassName: PropTypes.string,\n /**\n * A boolean value to enable or disable the animation for the stepper.\n */\n isAnimated: PropTypes.bool,\n /**\n * To show the community step, where users can join the Neeto Slack\n * community and subscribe to the product's blog. It sits just before Help.\n */\n isCommunityStepVisible: PropTypes.bool,\n};\n\nexport default Onboarding;\n"],"names":["COMMUNITY_OPTIONS","key","icon","UserCircle","dataTestid","recipientDataTestids","change","input","save","cancel","Notes","EmailRecipient","_ref","email","edit","onStartEditing","onDraftChange","onSave","onCancel","recipientKey","inputLabelKey","dataTestids","_useTranslation","useTranslation","t","handleKeyDown","event","preventDefault","_jsxs","className","children","_jsx","Input","autoFocus","error","type","value","draft","onChange","target","onKeyDown","Button","label","onClick","style","Email","size","Typography","Trans","components","strong","i18nKey","values","joinCommunity","communityJoin","axios","post","concat","BASE_API_V1_URL","showToastr","communityApi","useJoinCommunity","useMutation","mutationFn","isValidEmail","yup","string","isValidSync","useRecipientEmails","defaultEmail","_useState","useState","slack","blog","_useState2","_slicedToArray","emails","setEmails","_useState3","_useState4","edits","setEdits","startEditing","assoc","changeDraft","dissoc","validate","trim","_validate","_objectSpread","applyDrafts","keys","nextEmails","nextEdits","filter","forEach","_validate2","hasInvalidDraft","some","GENERAL_ONBOARDING_STEPS","WELCOME","COMMUNITY","HELP","FINISH","Community","_globalProps$user","_globalProps$appName","setCurrentStep","communityScreenClassName","selected","setSelected","recipients","globalProps","user","_useJoinCommunity","mutate","appName","capitalize","handleContinue","selectedKeys","Object","length","slackEmail","blogEmail","classNames","map","_ref2","Icon","Checkbox","checked","id","labelProps","RightArrow","iconPosition","HelpScreen","helpScreenClassName","_useBreakpoints","useBreakpoints","isSize","component","lineHeight","alt","src","createSteps","onboardingSteps","currentStep","isCommunityStepVisible","communityStep","element","helpStep","step","idx","getWindowDimensions","window","width","innerWidth","height","innerHeight","useWindowDimensions","windowDimensions","setWindowDimensions","useLayoutEffect","handleResize","addEventListener","removeEventListener","CompletedScreen","completeButtonProps","completedScreenSuccessMessage","dropConfetti","setDropConfetti","_useWindowDimensions","useEffect","timer","setTimeout","clearTimeout","classnames","Confetti","recycle","isPresent","WelcomeScreen","withT","nextStep","Onboarding","_ref$currentStep","_ref$setCurrentStep","noop","_ref$onboardingSteps","_ref$completeButtonPr","_ref$helpScreenClassN","_ref$isAnimated","isAnimated","_ref$disableStepClick","disableStepClick","_ref$welcomeScreenCla","welcomeScreenClassName","_ref$completedScreenC","completedScreenClassName","_ref$isCommunityStepV","steps","useMemo","prevStep","useRef","isStepperNavigation","isRedirectingToCommunity","isFromStepper","current","shouldShowCommunityFirst","direction","setDirection","getOnboardingStepIndex","stepKey","findIndex","handleStepChange","index","isStepperVisible","Stepper","activeIndex","findIndexBy","setActiveIndex","hidden"],"mappings":"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"}
1
+ {"version":3,"file":"Onboarding.js","sources":["../../src/components/Onboarding/Community/constants.js","../../src/components/Onboarding/Community/EmailRecipient.jsx","../../src/components/Onboarding/Community/api.js","../../src/components/Onboarding/Community/hooks/useJoinCommunity.js","../../src/components/Onboarding/Community/utils.js","../../src/components/Onboarding/Community/hooks/useRecipientEmails.js","../../src/components/Onboarding/constants.js","../../src/components/Onboarding/Community/index.jsx","../../src/components/Onboarding/HelpScreen.jsx","../../src/components/Onboarding/utils.jsx","../../src/components/Onboarding/hooks/useWindowDimensions.js","../../src/components/Onboarding/CompletedScreen.jsx","../../src/components/Onboarding/WelcomeScreen.jsx","../../src/components/Onboarding/index.jsx"],"sourcesContent":["import { Notes, UserCircle } from \"neetoicons\";\n\nexport const COMMUNITY_OPTIONS = [\n {\n key: \"slack\",\n icon: UserCircle,\n dataTestid: \"onboarding-community-slack-checkbox\",\n recipientDataTestids: {\n change: \"onboarding-community-slack-email-change-button\",\n input: \"onboarding-community-slack-email-input\",\n save: \"onboarding-community-slack-email-save-button\",\n cancel: \"onboarding-community-slack-email-cancel-button\",\n },\n },\n {\n key: \"blog\",\n icon: Notes,\n dataTestid: \"onboarding-community-blog-checkbox\",\n recipientDataTestids: {\n change: \"onboarding-community-blog-email-change-button\",\n input: \"onboarding-community-blog-email-input\",\n save: \"onboarding-community-blog-email-save-button\",\n cancel: \"onboarding-community-blog-email-cancel-button\",\n },\n },\n];\n","import { Email } from \"neetoicons\";\nimport { Button, Input, Typography } from \"neetoui\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nconst EmailRecipient = ({\n email,\n edit,\n onStartEditing,\n onDraftChange,\n onSave,\n onCancel,\n recipientKey,\n inputLabelKey,\n dataTestids,\n}) => {\n const { t } = useTranslation();\n\n const handleKeyDown = event => {\n if (event.key === \"Enter\") {\n event.preventDefault();\n onSave();\n }\n\n if (event.key === \"Escape\") onCancel();\n };\n\n if (edit) {\n return (\n <div className=\"flex flex-wrap items-start gap-2 ps-6 pt-3\">\n <div className=\"w-full sm:w-72\">\n <Input\n autoFocus\n aria-label={t(inputLabelKey)}\n data-testid={dataTestids.input}\n error={edit.error}\n type=\"email\"\n value={edit.draft}\n onChange={event => onDraftChange(event.target.value)}\n onKeyDown={handleKeyDown}\n />\n </div>\n <Button\n data-testid={dataTestids.save}\n label={t(\"neetoMolecules.common.actions.save\")}\n onClick={onSave}\n />\n <Button\n data-testid={dataTestids.cancel}\n label={t(\"neetoMolecules.common.actions.cancel\")}\n style=\"text\"\n onClick={onCancel}\n />\n </div>\n );\n }\n\n return (\n <div className=\"flex items-start gap-2 ps-6 pt-3\">\n <Email\n aria-hidden\n className=\"neeto-ui-text-gray-500 mt-0.5 shrink-0\"\n size={16}\n />\n <div className=\"flex min-w-0 flex-wrap items-center gap-x-2\">\n <Typography\n className=\"neeto-ui-text-gray-600 break-words\"\n style=\"body2\"\n >\n <Trans\n i18nKey={recipientKey}\n values={{ email }}\n components={{\n strong: <strong className=\"neeto-ui-text-gray-800\" />,\n }}\n />\n </Typography>\n <Button\n data-testid={dataTestids.change}\n label={t(\"neetoMolecules.onboarding.communityScreen.changeButton\")}\n size=\"small\"\n style=\"link\"\n onClick={onStartEditing}\n />\n </div>\n </div>\n );\n};\n\nexport default EmailRecipient;\n","import axios from \"axios\";\nimport { BASE_API_V1_URL } from \"neetocommons/constants\";\n\nconst joinCommunity = communityJoin =>\n axios.post(\n `${BASE_API_V1_URL}/community_join`,\n { communityJoin },\n { showToastr: false }\n );\n\nconst communityApi = { joinCommunity };\n\nexport default communityApi;\n","import { useMutation } from \"@tanstack/react-query\";\n\nimport communityApi from \"../api\";\n\nconst useJoinCommunity = () =>\n useMutation({ mutationFn: communityApi.joinCommunity });\n\nexport default useJoinCommunity;\n","import * as yup from \"yup\";\n\nexport const isValidEmail = email =>\n !!email && yup.string().email().isValidSync(email);\n","import { useState } from \"react\";\n\nimport { t } from \"i18next\";\nimport { assoc, dissoc } from \"ramda\";\n\nimport { isValidEmail } from \"../utils\";\n\n// Tracks the email each option goes to, plus any address being edited, so\n// Continue can pick up a draft the user typed but did not save.\nconst useRecipientEmails = defaultEmail => {\n const [emails, setEmails] = useState({\n slack: defaultEmail,\n blog: defaultEmail,\n });\n\n // { [key]: { draft, error } } for the options whose email field is open.\n const [edits, setEdits] = useState({});\n\n const startEditing = key =>\n setEdits(assoc(key, { draft: emails[key], error: \"\" }));\n\n const changeDraft = (key, draft) =>\n setEdits(assoc(key, { draft, error: \"\" }));\n\n const cancel = key => setEdits(dissoc(key));\n\n const validate = key => {\n const draft = edits[key].draft.trim();\n\n return isValidEmail(draft)\n ? { draft }\n : { error: t(\"neetoMolecules.onboarding.communityScreen.invalidEmail\") };\n };\n\n const save = key => {\n const { draft, error } = validate(key);\n\n if (error) {\n setEdits(assoc(key, { ...edits[key], error }));\n\n return;\n }\n\n setEmails(assoc(key, draft));\n setEdits(dissoc(key));\n };\n\n // Applies every open draft of the given options. Returns the final emails,\n // or null when a draft is invalid, after showing its error.\n const applyDrafts = keys => {\n let nextEmails = emails;\n let nextEdits = edits;\n\n keys\n .filter(key => edits[key])\n .forEach(key => {\n const { draft, error } = validate(key);\n\n if (error) {\n nextEdits = assoc(key, { ...edits[key], error }, nextEdits);\n } else {\n nextEmails = assoc(key, draft, nextEmails);\n nextEdits = dissoc(key, nextEdits);\n }\n });\n\n setEmails(nextEmails);\n setEdits(nextEdits);\n\n const hasInvalidDraft = keys.some(key => nextEdits[key]);\n\n return hasInvalidDraft ? null : nextEmails;\n };\n\n return {\n emails,\n edits,\n startEditing,\n changeDraft,\n cancel,\n save,\n applyDrafts,\n };\n};\n\nexport default useRecipientEmails;\n","export const GENERAL_ONBOARDING_STEPS = {\n WELCOME: \"welcome\",\n COMMUNITY: \"community\",\n HELP: \"help\",\n FINISH: \"finish\",\n};\n","import { useState } from \"react\";\n\nimport classNames from \"classnames\";\nimport { capitalize } from \"neetocist\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { RightArrow } from \"neetoicons\";\nimport { Button, Checkbox, Typography } from \"neetoui\";\nimport { assoc } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { COMMUNITY_OPTIONS } from \"./constants\";\nimport EmailRecipient from \"./EmailRecipient\";\nimport useJoinCommunity from \"./hooks/useJoinCommunity\";\nimport useRecipientEmails from \"./hooks/useRecipientEmails\";\n\nimport { GENERAL_ONBOARDING_STEPS } from \"../constants\";\n\nconst Community = ({ setCurrentStep, communityScreenClassName }) => {\n const { t } = useTranslation();\n\n const [selected, setSelected] = useState({ slack: true, blog: true });\n\n // Both start at the signed-in user's email; each can be changed separately.\n const recipients = useRecipientEmails(globalProps.user?.email);\n\n const { mutate: joinCommunity } = useJoinCommunity();\n\n const appName = capitalize(globalProps.appName ?? \"\");\n\n const handleContinue = () => {\n const selectedKeys = Object.keys(selected).filter(key => selected[key]);\n\n // An address typed but not saved still counts; an invalid one keeps the\n // user here with its error showing.\n const emails = recipients.applyDrafts(selectedKeys);\n if (!emails) return;\n\n // The Slack invite and blog subscription are both sent by email in the\n // background, so onboarding moves on without waiting for them.\n if (selectedKeys.length > 0) {\n joinCommunity({\n ...selected,\n slackEmail: emails.slack,\n blogEmail: emails.blog,\n });\n }\n\n setCurrentStep(GENERAL_ONBOARDING_STEPS.HELP);\n };\n\n return (\n <div\n className={classNames(\n \"mx-auto flex w-full max-w-3xl flex-col items-start gap-y-6 px-6 pt-16 pb-6\",\n communityScreenClassName\n )}\n >\n <div className=\"space-y-2\">\n <Typography data-testid=\"onboarding-community-title\" style=\"h1\">\n {t(\"neetoMolecules.onboarding.communityScreen.title\")}\n </Typography>\n <Typography\n data-testid=\"onboarding-community-description\"\n style=\"body1\"\n >\n {t(\"neetoMolecules.onboarding.communityScreen.description\", {\n appName,\n })}\n </Typography>\n </div>\n <div className=\"neeto-ui-rounded-lg neeto-ui-border-gray-200 flex w-full flex-col gap-6 border p-3 lg:p-6\">\n {COMMUNITY_OPTIONS.map(\n ({ key, icon: Icon, dataTestid, recipientDataTestids }) => (\n <div className=\"w-full\" key={key}>\n <Checkbox\n checked={selected[key]}\n className=\"[&_input[type=checkbox]]:mt-1.5!\"\n data-testid={dataTestid}\n id={dataTestid}\n labelProps={{ className: \"text-xl font-semibold\" }}\n label={\n <span className=\"flex flex-wrap items-center gap-2\">\n {t(\n `neetoMolecules.onboarding.communityScreen.${key}.title`,\n { appName }\n )}\n <Icon aria-hidden size={24} />\n </span>\n }\n onChange={event => {\n setSelected(assoc(key, event.target.checked));\n if (!event.target.checked) recipients.cancel(key);\n }}\n />\n <Typography\n className=\"neeto-ui-text-gray-600 ps-6 pt-2\"\n style=\"body1\"\n >\n {t(\n `neetoMolecules.onboarding.communityScreen.${key}.description`\n )}\n </Typography>\n {selected[key] && (\n <EmailRecipient\n dataTestids={recipientDataTestids}\n edit={recipients.edits[key]}\n email={recipients.emails[key]}\n inputLabelKey={`neetoMolecules.onboarding.communityScreen.${key}.emailInputLabel`}\n recipientKey={`neetoMolecules.onboarding.communityScreen.${key}.recipient`}\n onCancel={() => recipients.cancel(key)}\n onDraftChange={draft => recipients.changeDraft(key, draft)}\n onSave={() => recipients.save(key)}\n onStartEditing={() => recipients.startEditing(key)}\n />\n )}\n </div>\n )\n )}\n </div>\n <Typography className=\"neeto-ui-text-gray-600\" style=\"body2\">\n {t(\"neetoMolecules.onboarding.communityScreen.unsubscribe\")}\n </Typography>\n <Button\n data-testid=\"community-onboarding-continue-button\"\n icon={RightArrow}\n iconPosition=\"right\"\n label={t(\"neetoMolecules.onboarding.communityScreen.continueButton\")}\n onClick={handleContinue}\n />\n </div>\n );\n};\n\nexport default Community;\n","import classNames from \"classnames\";\nimport useBreakpoints from \"neetocommons/react-utils/useBreakpoints\";\nimport { RightArrow } from \"neetoicons\";\nimport { Button, Typography } from \"neetoui\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { GENERAL_ONBOARDING_STEPS } from \"./constants\";\n\nconst HelpScreen = ({ setCurrentStep, helpScreenClassName }) => {\n const { t } = useTranslation();\n const { isSize } = useBreakpoints();\n\n return (\n <div\n className={classNames(\n \"mx-auto flex w-full max-w-3xl flex-col items-start gap-y-6 px-6 pt-16 pb-6\",\n helpScreenClassName\n )}\n >\n <div className=\"flex flex-col gap-y-3\">\n <Typography\n component=\"h1\"\n data-testid=\"onboarding-help-title\"\n style=\"h1\"\n >\n {t(\"neetoMolecules.onboarding.helpScreen.title\")}\n </Typography>\n <Typography\n data-testid=\"onboarding-help-description\"\n lineHeight=\"normal\"\n style=\"body1\"\n >\n <Trans i18nKey=\"neetoMolecules.onboarding.helpScreen.description\" />\n </Typography>\n <div className=\"w-full pt-3\">\n {isSize(\"mobile\") ? (\n <img\n alt=\"\"\n src=\"https://ik.imagekit.io/d9mvewbju/Commons/NeetoMolecules/help-support-mobile_Tf5HKba-ZF.png\"\n />\n ) : (\n <img\n alt=\"\"\n src=\"https://ik.imagekit.io/d9mvewbju/Commons/NeetoMolecules/help-support-desktop_3cIiUGEee.png\"\n />\n )}\n </div>\n </div>\n <Button\n data-testid=\"onboarding-help-button\"\n icon={() => <RightArrow className=\"rtl:scale-x-[-1]\" size={16} />}\n iconPosition=\"right\"\n label={t(\"neetoMolecules.onboarding.helpScreen.continueButton\")}\n onClick={() => setCurrentStep(GENERAL_ONBOARDING_STEPS.FINISH)}\n />\n </div>\n );\n};\n\nexport default HelpScreen;\n","import { t } from \"i18next\";\n\nimport Community from \"./Community\";\nimport { GENERAL_ONBOARDING_STEPS } from \"./constants\";\nimport HelpScreen from \"./HelpScreen\";\n\nexport const createSteps = (\n onboardingSteps,\n setCurrentStep,\n currentStep,\n helpScreenClassName,\n isCommunityStepVisible\n) => {\n const communityStep = {\n key: GENERAL_ONBOARDING_STEPS.COMMUNITY,\n label: t(\"neetoMolecules.onboarding.communityLabel\"),\n element: <Community {...{ setCurrentStep }} />,\n };\n\n const helpStep = {\n key: GENERAL_ONBOARDING_STEPS.HELP,\n label: t(\"neetoMolecules.onboarding.helpLabel\"),\n element: (\n <HelpScreen {...{ currentStep, helpScreenClassName, setCurrentStep }} />\n ),\n };\n\n return onboardingSteps\n .concat(isCommunityStepVisible ? [communityStep, helpStep] : helpStep)\n .map((step, idx) => ({ ...step, id: idx + 1 }));\n};\n\nexport const getWindowDimensions = () =>\n typeof window !== \"undefined\"\n ? { width: window.innerWidth, height: window.innerHeight }\n : { width: 100, height: 100 };\n","import { useState, useLayoutEffect } from \"react\";\n\nimport { getWindowDimensions } from \"../utils\";\n\nconst useWindowDimensions = () => {\n const [windowDimensions, setWindowDimensions] = useState({\n width: 100,\n height: 100,\n });\n\n useLayoutEffect(() => {\n setWindowDimensions(getWindowDimensions());\n\n function handleResize() {\n setWindowDimensions(getWindowDimensions());\n }\n\n window.addEventListener(\"resize\", handleResize);\n\n return () => window.removeEventListener(\"resize\", handleResize);\n }, []);\n\n return windowDimensions;\n};\n\nexport default useWindowDimensions;\n","import { useState, useEffect } from \"react\";\n\nimport classnames from \"classnames\";\nimport { isPresent, capitalize } from \"neetocist\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { Button, Typography } from \"neetoui\";\nimport Confetti from \"react-confetti\";\nimport { useTranslation } from \"react-i18next\";\n\nimport useWindowDimensions from \"./hooks/useWindowDimensions.js\";\n\nconst CompletedScreen = ({\n completeButtonProps,\n completedScreenSuccessMessage,\n className,\n}) => {\n const { t } = useTranslation();\n\n const [dropConfetti, setDropConfetti] = useState(true);\n const { height, width } = useWindowDimensions();\n\n useEffect(() => {\n const timer = setTimeout(() => setDropConfetti(false), 10000);\n\n return () => clearTimeout(timer);\n }, []);\n\n return (\n <div\n className={classnames(\"neeto-molecules-onboarding__wrapper\", className)}\n data-testid=\"onboarding-congratulations-wrapper\"\n >\n <Confetti {...{ height, width }} recycle={dropConfetti} />\n {isPresent(completedScreenSuccessMessage) ? (\n completedScreenSuccessMessage\n ) : (\n <div className=\"mx-auto mb-6 flex w-full max-w-2xl flex-col gap-y-2 px-6 pt-16\">\n <Typography\n className=\"text-center\"\n data-testid=\"onboarding-congratulations-emoji\"\n style=\"h1\"\n >\n 🎉\n </Typography>\n <Typography\n className=\"text-center\"\n data-testid=\"onboarding-congratulations-title\"\n style=\"h1\"\n >\n <span className=\"neeto-ui-text-success-500\">\n {t(\"neetoMolecules.onboarding.congratulations\")}\n </span>\n <br />\n {t(\"neetoMolecules.onboarding.readyToUse\", {\n appName: capitalize(globalProps.appName),\n })}\n </Typography>\n </div>\n )}\n <Button\n data-testid=\"onboarding-congratulations-button\"\n label={t(\"neetoMolecules.onboarding.helpScreen.startUsingButton\", {\n appName: globalProps.appName,\n })}\n {...completeButtonProps}\n />\n </div>\n );\n};\n\nexport default CompletedScreen;\n","import classnames from \"classnames\";\nimport { capitalize } from \"neetocist\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport withT from \"neetocommons/react-utils/withT\";\nimport { RightArrow } from \"neetoicons\";\nimport { Button, Typography } from \"neetoui\";\n\nconst WelcomeScreen = withT(({ t, setCurrentStep, nextStep, className }) => (\n <div\n className={classnames(\"neeto-molecules-onboarding__wrapper\", className)}\n data-testid=\"onboarding-welcome-wrapper\"\n >\n <div className=\"mx-auto mb-6 flex w-full max-w-2xl flex-col gap-y-2 px-6 pt-16\">\n <Typography\n className=\"text-center\"\n data-testid=\"onboarding-welcome-title\"\n style=\"h1\"\n >\n {t(\"neetoMolecules.onboarding.helpScreen.welcomeToTitle\", {\n appName: capitalize(globalProps.appName),\n })}\n </Typography>\n <Typography\n className=\"text-center\"\n data-testid=\"onboarding-welcome-description\"\n lineHeight=\"normal\"\n style=\"body1\"\n >\n {t(\"neetoMolecules.onboarding.letUsCustomize\", {\n appName: capitalize(globalProps.appName),\n })}\n </Typography>\n </div>\n <Button\n data-testid=\"onboarding-welcome-button\"\n icon={() => <RightArrow className=\"rtl:scale-x-[-1]\" size={16} />}\n label={t(\"neetoMolecules.onboarding.getStarted\")}\n onClick={() => setCurrentStep(nextStep)}\n />\n </div>\n));\n\nexport default WelcomeScreen;\n","import { useEffect, useLayoutEffect, useMemo, useRef, useState } from \"react\";\n\nimport classNames from \"classnames\";\nimport { findIndexBy, noop } from \"neetocist\";\nimport { Stepper } from \"neetoui\";\nimport PropTypes from \"prop-types\";\n\nimport CompletedScreen from \"./CompletedScreen\";\nimport { GENERAL_ONBOARDING_STEPS } from \"./constants\";\nimport \"./onboarding.scss\";\nimport { createSteps } from \"./utils\";\nimport WelcomeScreen from \"./WelcomeScreen\";\n\nconst Onboarding = ({\n currentStep = GENERAL_ONBOARDING_STEPS.WELCOME,\n setCurrentStep = noop,\n onboardingSteps = [],\n completeButtonProps = {},\n helpScreenClassName = \"\",\n isAnimated = true,\n disableStepClick = false,\n welcomeScreenClassName = \"\",\n completedScreenClassName = \"\",\n completedScreenSuccessMessage,\n isCommunityStepVisible = true,\n}) => {\n const steps = useMemo(\n () =>\n createSteps(\n onboardingSteps,\n setCurrentStep,\n currentStep,\n helpScreenClassName,\n isCommunityStepVisible\n ),\n [onboardingSteps, isCommunityStepVisible]\n );\n\n const prevStep = useRef(currentStep);\n const isStepperNavigation = useRef(false);\n const isRedirectingToCommunity = useRef(false);\n\n // Products move from their last step straight to Help. Send them through\n // the community step first, unless they picked Help in the stepper.\n useLayoutEffect(() => {\n const isFromStepper = isStepperNavigation.current;\n isStepperNavigation.current = false;\n\n const shouldShowCommunityFirst =\n isCommunityStepVisible &&\n !isFromStepper &&\n currentStep === GENERAL_ONBOARDING_STEPS.HELP &&\n prevStep.current !== currentStep &&\n prevStep.current !== GENERAL_ONBOARDING_STEPS.COMMUNITY;\n\n if (shouldShowCommunityFirst) {\n isRedirectingToCommunity.current = true;\n setCurrentStep(GENERAL_ONBOARDING_STEPS.COMMUNITY);\n }\n }, [currentStep]);\n\n const [direction, setDirection] = useState(\"\");\n\n const getOnboardingStepIndex = stepKey =>\n steps.findIndex(step => step.key === stepKey);\n\n useEffect(() => {\n if (currentStep === prevStep.current) return;\n\n // Help is skipped over on the way to the community step, so the\n // animation should run from the step before it.\n if (isRedirectingToCommunity.current) {\n isRedirectingToCommunity.current = false;\n\n return;\n }\n\n setDirection(\n getOnboardingStepIndex(currentStep) >\n getOnboardingStepIndex(prevStep.current)\n ? \"forward\"\n : \"backward\"\n );\n prevStep.current = currentStep;\n }, [currentStep]);\n\n if (currentStep === GENERAL_ONBOARDING_STEPS.WELCOME) {\n return (\n <WelcomeScreen\n {...{ currentStep, setCurrentStep }}\n className={welcomeScreenClassName}\n nextStep={steps[0].key}\n />\n );\n }\n\n if (currentStep === GENERAL_ONBOARDING_STEPS.FINISH) {\n return (\n <CompletedScreen\n {...{ completeButtonProps, completedScreenSuccessMessage }}\n className={completedScreenClassName}\n />\n );\n }\n\n const handleStepChange = index => {\n const stepKey = steps[index].key;\n if (stepKey === currentStep) return;\n\n isStepperNavigation.current = true;\n setCurrentStep(stepKey);\n };\n\n const isStepperVisible = steps.length > 1;\n\n return (\n <div\n className={classNames(\"neeto-molecules-onboarding__container\", {\n \"neeto-molecules-onboarding__wrapper\": !isStepperVisible,\n })}\n >\n {isStepperVisible && (\n <div className=\"neeto-molecules-onboarding__stepper-wrapper\">\n <Stepper\n {...{ steps }}\n activeIndex={findIndexBy({ key: currentStep }, steps)}\n setActiveIndex={disableStepClick ? noop : handleStepChange}\n />\n </div>\n )}\n {steps.map((step, index) => (\n <div\n key={index}\n className={classNames(\"neeto-molecules-onboarding__content\", {\n \"neeto-molecules-onboarding__content--forward overflow-x-hidden\":\n isAnimated && direction === \"forward\",\n \"neeto-molecules-onboarding__content--backward overflow-x-hidden\":\n isAnimated && direction === \"backward\",\n hidden: currentStep !== step.key,\n })}\n >\n {step?.element}\n </div>\n ))}\n </div>\n );\n};\n\nOnboarding.propTypes = {\n /**\n * To specify the current step of the onboarding\n */\n currentStep: PropTypes.string,\n /**\n * List of Custom components for the onboarding\n */\n onboardingSteps: PropTypes.array,\n /**\n * Props for the complete button\n */\n completeButtonProps: PropTypes.object,\n /**\n * To set the step of the onboarding\n */\n setCurrentStep: PropTypes.func,\n /**\n * To pass additional classes to the help screen\n */\n helpScreenClassName: PropTypes.string,\n /**\n * A boolean value to enable or disable the animation for the stepper.\n */\n isAnimated: PropTypes.bool,\n /**\n * To show the community step, where users can join the Neeto Slack\n * community and subscribe to the product's blog. It sits just before Help.\n */\n isCommunityStepVisible: PropTypes.bool,\n};\n\nexport default Onboarding;\n"],"names":["COMMUNITY_OPTIONS","key","icon","UserCircle","dataTestid","recipientDataTestids","change","input","save","cancel","Notes","EmailRecipient","_ref","email","edit","onStartEditing","onDraftChange","onSave","onCancel","recipientKey","inputLabelKey","dataTestids","_useTranslation","useTranslation","t","handleKeyDown","event","preventDefault","_jsxs","className","children","_jsx","Input","autoFocus","error","type","value","draft","onChange","target","onKeyDown","Button","label","onClick","style","Email","size","Typography","Trans","i18nKey","values","components","strong","joinCommunity","communityJoin","axios","post","concat","BASE_API_V1_URL","showToastr","communityApi","useJoinCommunity","useMutation","mutationFn","isValidEmail","yup","string","isValidSync","useRecipientEmails","defaultEmail","_useState","useState","slack","blog","_useState2","_slicedToArray","emails","setEmails","_useState3","_useState4","edits","setEdits","startEditing","assoc","changeDraft","dissoc","validate","trim","_validate","_objectSpread","applyDrafts","keys","nextEmails","nextEdits","filter","forEach","_validate2","hasInvalidDraft","some","GENERAL_ONBOARDING_STEPS","WELCOME","COMMUNITY","HELP","FINISH","Community","_globalProps$user","_globalProps$appName","setCurrentStep","communityScreenClassName","selected","setSelected","recipients","globalProps","user","_useJoinCommunity","mutate","appName","capitalize","handleContinue","selectedKeys","Object","length","slackEmail","blogEmail","classNames","map","_ref2","Icon","Checkbox","checked","id","labelProps","RightArrow","iconPosition","HelpScreen","helpScreenClassName","_useBreakpoints","useBreakpoints","isSize","component","lineHeight","alt","src","createSteps","onboardingSteps","currentStep","isCommunityStepVisible","communityStep","element","helpStep","step","idx","getWindowDimensions","window","width","innerWidth","height","innerHeight","useWindowDimensions","windowDimensions","setWindowDimensions","useLayoutEffect","handleResize","addEventListener","removeEventListener","CompletedScreen","completeButtonProps","completedScreenSuccessMessage","dropConfetti","setDropConfetti","_useWindowDimensions","useEffect","timer","setTimeout","clearTimeout","classnames","Confetti","recycle","isPresent","WelcomeScreen","withT","nextStep","Onboarding","_ref$currentStep","_ref$setCurrentStep","noop","_ref$onboardingSteps","_ref$completeButtonPr","_ref$helpScreenClassN","_ref$isAnimated","isAnimated","_ref$disableStepClick","disableStepClick","_ref$welcomeScreenCla","welcomeScreenClassName","_ref$completedScreenC","completedScreenClassName","_ref$isCommunityStepV","steps","useMemo","prevStep","useRef","isStepperNavigation","isRedirectingToCommunity","isFromStepper","current","shouldShowCommunityFirst","direction","setDirection","getOnboardingStepIndex","stepKey","findIndex","handleStepChange","index","isStepperVisible","Stepper","activeIndex","findIndexBy","setActiveIndex","hidden"],"mappings":"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"}
@@ -119,9 +119,9 @@ var EmailRecipient = function EmailRecipient(_ref) {
119
119
  };
120
120
  if (edit) {
121
121
  return /*#__PURE__*/jsxRuntime.jsxs("div", {
122
- className: "flex items-start gap-2 ps-6 pt-3",
122
+ className: "flex flex-wrap items-start gap-2 ps-6 pt-3",
123
123
  children: [/*#__PURE__*/jsxRuntime.jsx("div", {
124
- className: "w-72",
124
+ className: "w-full sm:w-72",
125
125
  children: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Input, {
126
126
  autoFocus: true,
127
127
  "aria-label": t(inputLabelKey),
@@ -147,31 +147,35 @@ var EmailRecipient = function EmailRecipient(_ref) {
147
147
  });
148
148
  }
149
149
  return /*#__PURE__*/jsxRuntime.jsxs("div", {
150
- className: "flex flex-wrap items-center gap-2 ps-6 pt-3",
150
+ className: "flex items-start gap-2 ps-6 pt-3",
151
151
  children: [/*#__PURE__*/jsxRuntime.jsx(mail.Mail, {
152
152
  "aria-hidden": true,
153
- className: "text-muted-foreground",
153
+ className: "text-muted-foreground mt-0.5 shrink-0",
154
154
  size: 16
155
- }), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
156
- color: "muted",
157
- variant: "body2",
158
- children: /*#__PURE__*/jsxRuntime.jsx(reactI18next.Trans, {
159
- components: {
160
- strong: /*#__PURE__*/jsxRuntime.jsx("strong", {
161
- className: "text-foreground"
162
- })
163
- },
164
- i18nKey: recipientKey,
165
- values: {
166
- email: email
167
- }
168
- })
169
- }), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Button, {
170
- "data-testid": dataTestids.change,
171
- label: t("neetoMolecules.onboarding.communityScreen.changeButton"),
172
- size: "sm",
173
- variant: "link",
174
- onClick: onStartEditing
155
+ }), /*#__PURE__*/jsxRuntime.jsxs("div", {
156
+ className: "flex min-w-0 flex-wrap items-center gap-x-2",
157
+ children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
158
+ className: "break-words",
159
+ color: "muted",
160
+ variant: "body2",
161
+ children: /*#__PURE__*/jsxRuntime.jsx(reactI18next.Trans, {
162
+ components: {
163
+ strong: /*#__PURE__*/jsxRuntime.jsx("strong", {
164
+ className: "text-foreground"
165
+ })
166
+ },
167
+ i18nKey: recipientKey,
168
+ values: {
169
+ email: email
170
+ }
171
+ })
172
+ }), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Button, {
173
+ "data-testid": dataTestids.change,
174
+ label: t("neetoMolecules.onboarding.communityScreen.changeButton"),
175
+ size: "sm",
176
+ variant: "link",
177
+ onClick: onStartEditing
178
+ })]
175
179
  })]
176
180
  });
177
181
  };
@@ -365,6 +369,7 @@ var Community = function Community(_ref) {
365
369
  className: "w-full",
366
370
  children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Checkbox, {
367
371
  checked: selected[key],
372
+ className: "[&_[role=checkbox]]:mt-1.5!",
368
373
  "data-testid": dataTestid,
369
374
  id: dataTestid,
370
375
  labelProps: {
@@ -453,10 +458,10 @@ var HelpScreen = function HelpScreen(_ref) {
453
458
  className: "w-full pt-3",
454
459
  children: isSize("mobile") ? /*#__PURE__*/jsxRuntime.jsx("img", {
455
460
  alt: "",
456
- src: "https://ik.imagekit.io/d9mvewbju/Commons/NeetoMolecules/help-support-mobile_fgsI9Cx-IC.svg"
461
+ src: "https://ik.imagekit.io/d9mvewbju/Commons/NeetoMolecules/help-support-mobile_Tf5HKba-ZF.png"
457
462
  }) : /*#__PURE__*/jsxRuntime.jsx("img", {
458
463
  alt: "",
459
- src: "https://ik.imagekit.io/d9mvewbju/Commons/NeetoMolecules/help-support-desktop_CSOh3DrKTR.svg"
464
+ src: "https://ik.imagekit.io/d9mvewbju/Commons/NeetoMolecules/help-support-desktop_3cIiUGEee.png"
460
465
  })
461
466
  })]
462
467
  }), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Button, {