@bigbinary/neeto-molecules 5.5.2 → 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.
@@ -4,7 +4,7 @@ import { useCallback, memo, useRef, useState, useMemo } from 'react';
4
4
  import classnames from 'classnames';
5
5
  import { useFormikContext } from 'formik';
6
6
  import { isPresent, noop } from '@bigbinary/neeto-cist';
7
- import FormikEditor from '@bigbinary/neeto-editor/FormikEditor';
7
+ import FormikEditor from '@bigbinary/neeto-editor-frontend/FormikEditor';
8
8
  import MenuHorizontal from '@bigbinary/neeto-icons/MenuHorizontal';
9
9
  import Modal from '@bigbinary/neetoui/Modal';
10
10
  import Typography from '@bigbinary/neetoui/Typography';
package/dist/EmailForm.js CHANGED
@@ -4,14 +4,14 @@ import { createContext, useState, useContext, createElement } from 'react';
4
4
  import classnames from 'classnames';
5
5
  import { useFormikContext, Field } from 'formik';
6
6
  import { isPresent, isNotEmpty, notEqualsDeep, noop } from '@bigbinary/neeto-cist';
7
- import FormikEditor from '@bigbinary/neeto-editor/FormikEditor';
7
+ import FormikEditor from '@bigbinary/neeto-editor-frontend/FormikEditor';
8
8
  import Button from '@bigbinary/neetoui/Button';
9
9
  import ActionBlock from '@bigbinary/neetoui/formik/ActionBlock';
10
10
  import Radio from '@bigbinary/neetoui/formik/Radio';
11
11
  import { prop, equals, pluck, isEmpty } from 'ramda';
12
12
  import { useTranslation } from 'react-i18next';
13
13
  import { t } from 'i18next';
14
- import { isEditorEmpty } from '@bigbinary/neeto-editor/utils';
14
+ import { isEditorEmpty } from '@bigbinary/neeto-editor-frontend/utils';
15
15
  import * as yup from 'yup';
16
16
  import Select from '@bigbinary/neetoui/formik/Select';
17
17
  import Input from '@bigbinary/neetoui/formik/Input';
@@ -30,7 +30,7 @@ import MobilePreviewHeader from './MobilePreviewHeader.js';
30
30
  import { n } from './inject-css-C2dztUxs.js';
31
31
  import Form from '@bigbinary/neetoui/formik/Form';
32
32
  import '@bigbinary/neeto-commons-frontend/react-utils/withT';
33
- import '@bigbinary/neeto-editor/EditorContent';
33
+ import '@bigbinary/neeto-editor-frontend/EditorContent';
34
34
  import '@bigbinary/neetoui/Typography';
35
35
  import './index-DAYCJu79.js';
36
36
  import './_commonjsHelpers-BFTU3MAI.js';
@@ -2,7 +2,7 @@ import { memo } from 'react';
2
2
  import classnames from 'classnames';
3
3
  import { isPresent } from '@bigbinary/neeto-cist';
4
4
  import withT from '@bigbinary/neeto-commons-frontend/react-utils/withT';
5
- import EditorContent from '@bigbinary/neeto-editor/EditorContent';
5
+ import EditorContent from '@bigbinary/neeto-editor-frontend/EditorContent';
6
6
  import Typography from '@bigbinary/neetoui/Typography';
7
7
  import Button from '@bigbinary/neetoui/Button';
8
8
  import { P as PropTypes } from './index-DAYCJu79.js';
@@ -69,9 +69,9 @@ var EmailRecipient = function EmailRecipient(_ref) {
69
69
  };
70
70
  if (edit) {
71
71
  return /*#__PURE__*/jsxs("div", {
72
- className: "flex items-start gap-2 ps-6 pt-3",
72
+ className: "flex flex-wrap items-start gap-2 ps-6 pt-3",
73
73
  children: [/*#__PURE__*/jsx("div", {
74
- className: "w-72",
74
+ className: "w-full sm:w-72",
75
75
  children: /*#__PURE__*/jsx(Input, {
76
76
  autoFocus: true,
77
77
  "aria-label": t(inputLabelKey),
@@ -97,31 +97,34 @@ var EmailRecipient = function EmailRecipient(_ref) {
97
97
  });
98
98
  }
99
99
  return /*#__PURE__*/jsxs("div", {
100
- className: "flex flex-wrap items-center gap-2 ps-6 pt-3",
100
+ className: "flex items-start gap-2 ps-6 pt-3",
101
101
  children: [/*#__PURE__*/jsx(Email, {
102
102
  "aria-hidden": true,
103
- className: "neeto-ui-text-gray-500",
103
+ className: "neeto-ui-text-gray-500 mt-0.5 shrink-0",
104
104
  size: 16
105
- }), /*#__PURE__*/jsx(Typography, {
106
- className: "neeto-ui-text-gray-600",
107
- style: "body2",
108
- children: /*#__PURE__*/jsx(Trans, {
109
- components: {
110
- strong: /*#__PURE__*/jsx("strong", {
111
- className: "neeto-ui-text-gray-800"
112
- })
113
- },
114
- i18nKey: recipientKey,
115
- values: {
116
- email: email
117
- }
118
- })
119
- }), /*#__PURE__*/jsx(Button, {
120
- "data-testid": dataTestids.change,
121
- label: t("neetoMolecules.onboarding.communityScreen.changeButton"),
122
- size: "small",
123
- style: "link",
124
- onClick: onStartEditing
105
+ }), /*#__PURE__*/jsxs("div", {
106
+ className: "flex min-w-0 flex-wrap items-center gap-x-2",
107
+ children: [/*#__PURE__*/jsx(Typography, {
108
+ className: "neeto-ui-text-gray-600 break-words",
109
+ style: "body2",
110
+ children: /*#__PURE__*/jsx(Trans, {
111
+ i18nKey: recipientKey,
112
+ values: {
113
+ email: email
114
+ },
115
+ components: {
116
+ strong: /*#__PURE__*/jsx("strong", {
117
+ className: "neeto-ui-text-gray-800"
118
+ })
119
+ }
120
+ })
121
+ }), /*#__PURE__*/jsx(Button, {
122
+ "data-testid": dataTestids.change,
123
+ label: t("neetoMolecules.onboarding.communityScreen.changeButton"),
124
+ size: "small",
125
+ style: "link",
126
+ onClick: onStartEditing
127
+ })]
125
128
  })]
126
129
  });
127
130
  };
@@ -315,6 +318,7 @@ var Community = function Community(_ref) {
315
318
  className: "w-full",
316
319
  children: [/*#__PURE__*/jsx(Checkbox, {
317
320
  checked: selected[key],
321
+ className: "[&_input[type=checkbox]]:mt-1.5!",
318
322
  "data-testid": dataTestid,
319
323
  id: dataTestid,
320
324
  labelProps: {
@@ -380,7 +384,7 @@ var HelpScreen = function HelpScreen(_ref) {
380
384
  var _useBreakpoints = useBreakpoints(),
381
385
  isSize = _useBreakpoints.isSize;
382
386
  return /*#__PURE__*/jsxs("div", {
383
- className: classnames("mx-auto flex w-full max-w-3xl flex-col items-start gap-y-6 px-6 pb-6 pt-16", helpScreenClassName),
387
+ className: classnames("mx-auto flex w-full max-w-3xl flex-col items-start gap-y-6 px-6 pt-16 pb-6", helpScreenClassName),
384
388
  children: [/*#__PURE__*/jsxs("div", {
385
389
  className: "flex flex-col gap-y-3",
386
390
  children: [/*#__PURE__*/jsx(Typography, {
@@ -399,10 +403,10 @@ var HelpScreen = function HelpScreen(_ref) {
399
403
  className: "w-full pt-3",
400
404
  children: isSize("mobile") ? /*#__PURE__*/jsx("img", {
401
405
  alt: "",
402
- src: "https://ik.imagekit.io/d9mvewbju/Commons/NeetoMolecules/help-support-mobile_fgsI9Cx-IC.svg"
406
+ src: "https://ik.imagekit.io/d9mvewbju/Commons/NeetoMolecules/help-support-mobile_Tf5HKba-ZF.png"
403
407
  }) : /*#__PURE__*/jsx("img", {
404
408
  alt: "",
405
- src: "https://ik.imagekit.io/d9mvewbju/Commons/NeetoMolecules/help-support-desktop_CSOh3DrKTR.svg"
409
+ src: "https://ik.imagekit.io/d9mvewbju/Commons/NeetoMolecules/help-support-desktop_3cIiUGEee.png"
406
410
  })
407
411
  })]
408
412
  }), /*#__PURE__*/jsx(Button, {
@@ -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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"}
@@ -13,7 +13,7 @@ import Textarea from '@bigbinary/neetoui/Textarea';
13
13
  import Typography from '@bigbinary/neetoui/Typography';
14
14
  import { jsxs, jsx } from 'react/jsx-runtime';
15
15
  import i18next, { t } from 'i18next';
16
- import Editor from '@bigbinary/neeto-editor/Editor';
16
+ import Editor from '@bigbinary/neeto-editor-frontend/Editor';
17
17
  import Checkbox$1 from '@bigbinary/neetoui/Checkbox';
18
18
  import Drag from '@bigbinary/neeto-icons/Drag';
19
19
  import { withT } from '@bigbinary/neeto-commons-frontend/react-utils';
@@ -23,15 +23,15 @@ import DatePicker from '@bigbinary/neetoui/DatePicker';
23
23
  import { t } from 'i18next';
24
24
  import { dynamicArray } from '@bigbinary/neeto-cist';
25
25
  import { dayjs } from '@bigbinary/neeto-commons-frontend/utils';
26
- import { isEditorEmpty } from '@bigbinary/neeto-editor/utils';
26
+ import { isEditorEmpty } from '@bigbinary/neeto-editor-frontend/utils';
27
27
  import './papaparse-D0RO4bD5.js';
28
28
  import * as yup from 'yup';
29
29
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
30
30
  import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
31
- import FormikEditor from '@bigbinary/neeto-editor/FormikEditor';
31
+ import FormikEditor from '@bigbinary/neeto-editor-frontend/FormikEditor';
32
32
  import { n } from './inject-css-C2dztUxs.js';
33
33
  import '@bigbinary/neeto-commons-frontend/react-utils/withT';
34
- import '@bigbinary/neeto-editor/EditorContent';
34
+ import '@bigbinary/neeto-editor-frontend/EditorContent';
35
35
  import './index-DAYCJu79.js';
36
36
  import './_commonjsHelpers-BFTU3MAI.js';
37
37
  import './avatar-placeholder-DEjUhVlU.js';
@@ -6,7 +6,7 @@ var React = require('react');
6
6
  var classnames = require('classnames');
7
7
  var formik = require('formik');
8
8
  var neetoCist = require('@bigbinary/neeto-cist');
9
- var FormikEditor = require('@bigbinary/neeto-editor/FormikEditor');
9
+ var FormikEditor = require('@bigbinary/neeto-editor-frontend/FormikEditor');
10
10
  var MenuHorizontal = require('@bigbinary/neeto-icons/MenuHorizontal');
11
11
  var Modal = require('@bigbinary/neetoui/Modal');
12
12
  var Typography = require('@bigbinary/neetoui/Typography');
@@ -8,14 +8,14 @@ var React = require('react');
8
8
  var classnames = require('classnames');
9
9
  var formik = require('formik');
10
10
  var neetoCist = require('@bigbinary/neeto-cist');
11
- var FormikEditor = require('@bigbinary/neeto-editor/FormikEditor');
11
+ var FormikEditor = require('@bigbinary/neeto-editor-frontend/FormikEditor');
12
12
  var Button = require('@bigbinary/neetoui/Button');
13
13
  var ActionBlock = require('@bigbinary/neetoui/formik/ActionBlock');
14
14
  var Radio = require('@bigbinary/neetoui/formik/Radio');
15
15
  var ramda = require('ramda');
16
16
  var reactI18next = require('react-i18next');
17
17
  var i18next = require('i18next');
18
- var utils = require('@bigbinary/neeto-editor/utils');
18
+ var utils = require('@bigbinary/neeto-editor-frontend/utils');
19
19
  var yup = require('yup');
20
20
  var Select = require('@bigbinary/neetoui/formik/Select');
21
21
  var Input = require('@bigbinary/neetoui/formik/Input');
@@ -34,7 +34,7 @@ var MobilePreviewHeader = require('./MobilePreviewHeader.js');
34
34
  var injectCss = require('./inject-css-B6qYtOJe.js');
35
35
  var Form = require('@bigbinary/neetoui/formik/Form');
36
36
  require('@bigbinary/neeto-commons-frontend/react-utils/withT');
37
- require('@bigbinary/neeto-editor/EditorContent');
37
+ require('@bigbinary/neeto-editor-frontend/EditorContent');
38
38
  require('@bigbinary/neetoui/Typography');
39
39
  require('./index-JY2zVpnv.js');
40
40
  require('./_commonjsHelpers-BJu3ubxk.js');
@@ -4,7 +4,7 @@ var React = require('react');
4
4
  var classnames = require('classnames');
5
5
  var neetoCist = require('@bigbinary/neeto-cist');
6
6
  var withT = require('@bigbinary/neeto-commons-frontend/react-utils/withT');
7
- var EditorContent = require('@bigbinary/neeto-editor/EditorContent');
7
+ var EditorContent = require('@bigbinary/neeto-editor-frontend/EditorContent');
8
8
  var Typography = require('@bigbinary/neetoui/Typography');
9
9
  var Button = require('@bigbinary/neetoui/Button');
10
10
  var index = require('./index-JY2zVpnv.js');
@@ -90,9 +90,9 @@ var EmailRecipient = function EmailRecipient(_ref) {
90
90
  };
91
91
  if (edit) {
92
92
  return /*#__PURE__*/jsxRuntime.jsxs("div", {
93
- className: "flex items-start gap-2 ps-6 pt-3",
93
+ className: "flex flex-wrap items-start gap-2 ps-6 pt-3",
94
94
  children: [/*#__PURE__*/jsxRuntime.jsx("div", {
95
- className: "w-72",
95
+ className: "w-full sm:w-72",
96
96
  children: /*#__PURE__*/jsxRuntime.jsx(Input, {
97
97
  autoFocus: true,
98
98
  "aria-label": t(inputLabelKey),
@@ -118,31 +118,34 @@ var EmailRecipient = function EmailRecipient(_ref) {
118
118
  });
119
119
  }
120
120
  return /*#__PURE__*/jsxRuntime.jsxs("div", {
121
- className: "flex flex-wrap items-center gap-2 ps-6 pt-3",
121
+ className: "flex items-start gap-2 ps-6 pt-3",
122
122
  children: [/*#__PURE__*/jsxRuntime.jsx(Email, {
123
123
  "aria-hidden": true,
124
- className: "neeto-ui-text-gray-500",
124
+ className: "neeto-ui-text-gray-500 mt-0.5 shrink-0",
125
125
  size: 16
126
- }), /*#__PURE__*/jsxRuntime.jsx(Typography, {
127
- className: "neeto-ui-text-gray-600",
128
- style: "body2",
129
- children: /*#__PURE__*/jsxRuntime.jsx(reactI18next.Trans, {
130
- components: {
131
- strong: /*#__PURE__*/jsxRuntime.jsx("strong", {
132
- className: "neeto-ui-text-gray-800"
133
- })
134
- },
135
- i18nKey: recipientKey,
136
- values: {
137
- email: email
138
- }
139
- })
140
- }), /*#__PURE__*/jsxRuntime.jsx(Button, {
141
- "data-testid": dataTestids.change,
142
- label: t("neetoMolecules.onboarding.communityScreen.changeButton"),
143
- size: "small",
144
- style: "link",
145
- onClick: onStartEditing
126
+ }), /*#__PURE__*/jsxRuntime.jsxs("div", {
127
+ className: "flex min-w-0 flex-wrap items-center gap-x-2",
128
+ children: [/*#__PURE__*/jsxRuntime.jsx(Typography, {
129
+ className: "neeto-ui-text-gray-600 break-words",
130
+ style: "body2",
131
+ children: /*#__PURE__*/jsxRuntime.jsx(reactI18next.Trans, {
132
+ i18nKey: recipientKey,
133
+ values: {
134
+ email: email
135
+ },
136
+ components: {
137
+ strong: /*#__PURE__*/jsxRuntime.jsx("strong", {
138
+ className: "neeto-ui-text-gray-800"
139
+ })
140
+ }
141
+ })
142
+ }), /*#__PURE__*/jsxRuntime.jsx(Button, {
143
+ "data-testid": dataTestids.change,
144
+ label: t("neetoMolecules.onboarding.communityScreen.changeButton"),
145
+ size: "small",
146
+ style: "link",
147
+ onClick: onStartEditing
148
+ })]
146
149
  })]
147
150
  });
148
151
  };
@@ -336,6 +339,7 @@ var Community = function Community(_ref) {
336
339
  className: "w-full",
337
340
  children: [/*#__PURE__*/jsxRuntime.jsx(Checkbox, {
338
341
  checked: selected[key],
342
+ className: "[&_input[type=checkbox]]:mt-1.5!",
339
343
  "data-testid": dataTestid,
340
344
  id: dataTestid,
341
345
  labelProps: {
@@ -401,7 +405,7 @@ var HelpScreen = function HelpScreen(_ref) {
401
405
  var _useBreakpoints = useBreakpoints(),
402
406
  isSize = _useBreakpoints.isSize;
403
407
  return /*#__PURE__*/jsxRuntime.jsxs("div", {
404
- className: classnames("mx-auto flex w-full max-w-3xl flex-col items-start gap-y-6 px-6 pb-6 pt-16", helpScreenClassName),
408
+ className: classnames("mx-auto flex w-full max-w-3xl flex-col items-start gap-y-6 px-6 pt-16 pb-6", helpScreenClassName),
405
409
  children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
406
410
  className: "flex flex-col gap-y-3",
407
411
  children: [/*#__PURE__*/jsxRuntime.jsx(Typography, {
@@ -420,10 +424,10 @@ var HelpScreen = function HelpScreen(_ref) {
420
424
  className: "w-full pt-3",
421
425
  children: isSize("mobile") ? /*#__PURE__*/jsxRuntime.jsx("img", {
422
426
  alt: "",
423
- src: "https://ik.imagekit.io/d9mvewbju/Commons/NeetoMolecules/help-support-mobile_fgsI9Cx-IC.svg"
427
+ src: "https://ik.imagekit.io/d9mvewbju/Commons/NeetoMolecules/help-support-mobile_Tf5HKba-ZF.png"
424
428
  }) : /*#__PURE__*/jsxRuntime.jsx("img", {
425
429
  alt: "",
426
- src: "https://ik.imagekit.io/d9mvewbju/Commons/NeetoMolecules/help-support-desktop_CSOh3DrKTR.svg"
430
+ src: "https://ik.imagekit.io/d9mvewbju/Commons/NeetoMolecules/help-support-desktop_3cIiUGEee.png"
427
431
  })
428
432
  })]
429
433
  }), /*#__PURE__*/jsxRuntime.jsx(Button, {