@bigbinary/neeto-molecules 3.7.0 → 3.7.3

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.
@@ -91,7 +91,7 @@ var HelpScreen = function HelpScreen(_ref) {
91
91
  src: "https://ik.imagekit.io/d9mvewbju/Commons/help-mobile_FpB8LKYj4.svg"
92
92
  }) : /*#__PURE__*/jsx("img", {
93
93
  alt: "",
94
- src: "https://ik.imagekit.io/d9mvewbju/Commons/help-desktop_aVe6ENdX97.svg"
94
+ src: "https://ik.imagekit.io/d9mvewbju/Commons/desktop_ZxE0qoj4Q.svg"
95
95
  })
96
96
  })]
97
97
  }), /*#__PURE__*/jsx(Button, {
@@ -1 +1 @@
1
- {"version":3,"file":"Onboarding.js","sources":["../src/components/Onboarding/CompletedScreen.jsx","../src/components/Onboarding/constants.js","../src/components/Onboarding/HelpScreen.jsx","../src/components/Onboarding/utils.jsx","../src/components/Onboarding/WelcomeScreen.jsx","../src/components/Onboarding/index.jsx"],"sourcesContent":["import { capitalize } from \"neetocist\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport withT from \"neetocommons/react-utils/withT\";\nimport { Button, Typography } from \"neetoui\";\n\nconst CompletedScreen = withT(({ t, completeButtonProps }) => (\n <div\n className=\"neeto-molecules-onboarding__wrapper\"\n data-testid=\"onboarding-congratulations-wrapper\"\n >\n <div className=\"mx-auto mb-6 w-full max-w-2xl space-y-2\">\n <Typography\n className=\"text-center\"\n data-cy=\"onboarding-congratulations-emoji\"\n style=\"h1\"\n >\n 🎉\n </Typography>\n <Typography\n className=\"text-center\"\n data-cy=\"onboarding-congratulations-title\"\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 <Button\n data-cy=\"onboarding-congratulations-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\nexport default CompletedScreen;\n","export const GENERAL_ONBOARDING_STEPS = {\n WELCOME: \"welcome\",\n HELP: \"help\",\n FINISH: \"finish\",\n};\n","import classNames from \"classnames\";\nimport useBreakpoints from \"neetocommons/react-utils/useBreakpoints\";\nimport { RightArrow } from \"neetoicons\";\nimport { Button, Typography } from \"neetoui\";\nimport { 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 w-full max-w-2xl space-y-6 p-4\",\n helpScreenClassName\n )}\n >\n <div className=\"space-y-3\">\n <Typography\n component=\"h1\"\n data-cy=\"onboarding-help-title\"\n data-testid=\"onboarding-help-title\"\n style=\"h2\"\n >\n {t(\"neetoMolecules.onboarding.helpScreen.title\")}\n </Typography>\n <Typography\n data-cy=\"onboarding-help-description\"\n data-testid=\"onboarding-help-description\"\n lineHeight=\"normal\"\n style=\"body1\"\n >\n {t(\"neetoMolecules.onboarding.helpScreen.description\")}\n </Typography>\n <div className=\"w-full\">\n {isSize(\"mobile\") ? (\n <img\n alt=\"\"\n src=\"https://ik.imagekit.io/d9mvewbju/Commons/help-mobile_FpB8LKYj4.svg\"\n />\n ) : (\n <img\n alt=\"\"\n src=\"https://ik.imagekit.io/d9mvewbju/Commons/help-desktop_aVe6ENdX97.svg\"\n />\n )}\n </div>\n </div>\n <Button\n data-cy=\"onboarding-help-button\"\n data-testid=\"onboarding-help-button\"\n icon={RightArrow}\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 { GENERAL_ONBOARDING_STEPS } from \"./constants\";\nimport HelpScreen from \"./HelpScreen\";\n\nexport const createSteps = (\n onboardingSteps,\n setCurrentStep,\n currentStep,\n helpScreenClassName\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(helpStep)\n .map((step, idx) => ({ ...step, id: idx + 1 }));\n};\n","import { 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 }) => (\n <div\n className=\"neeto-molecules-onboarding__wrapper\"\n data-testid=\"onboarding-welcome-wrapper\"\n >\n <div className=\"mx-auto mb-6 w-full max-w-2xl space-y-2\">\n <Typography\n className=\"text-center\"\n data-cy=\"onboarding-welcome-title\"\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-cy=\"onboarding-welcome-description\"\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-cy=\"onboarding-welcome-button\"\n data-testid=\"onboarding-welcome-button\"\n icon={RightArrow}\n label={t(\"neetoMolecules.onboarding.getStarted\")}\n onClick={() => setCurrentStep(nextStep)}\n />\n </div>\n));\n\nexport default WelcomeScreen;\n","import { useEffect, 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}) => {\n const steps = useMemo(\n () =>\n createSteps(\n onboardingSteps,\n setCurrentStep,\n currentStep,\n helpScreenClassName\n ),\n [onboardingSteps]\n );\n\n const prevStep = useRef(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 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 nextStep={steps[0].key}\n />\n );\n }\n\n if (currentStep === GENERAL_ONBOARDING_STEPS.FINISH) {\n return <CompletedScreen {...{ completeButtonProps }} />;\n }\n\n const handleStepChange = index => setCurrentStep(steps[index].key);\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.number,\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\nexport default Onboarding;\n"],"names":["CompletedScreen","withT","_ref","t","completeButtonProps","_jsxs","className","children","_jsx","Typography","style","appName","capitalize","globalProps","Button","_objectSpread","label","GENERAL_ONBOARDING_STEPS","WELCOME","HELP","FINISH","HelpScreen","setCurrentStep","helpScreenClassName","_useTranslation","useTranslation","_useBreakpoints","useBreakpoints","isSize","classNames","component","lineHeight","alt","src","icon","RightArrow","iconPosition","onClick","createSteps","onboardingSteps","currentStep","helpStep","key","element","concat","map","step","idx","id","WelcomeScreen","nextStep","Onboarding","_ref$currentStep","_ref$setCurrentStep","noop","_ref$onboardingSteps","_ref$completeButtonPr","_ref$helpScreenClassN","_ref$isAnimated","isAnimated","_ref$disableStepClick","disableStepClick","steps","useMemo","prevStep","useRef","_useState","useState","_useState2","_slicedToArray","direction","setDirection","getOnboardingStepIndex","stepKey","findIndex","useEffect","current","handleStepChange","index","isStepperVisible","length","Stepper","activeIndex","findIndexBy","setActiveIndex","hidden"],"mappings":"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"}
1
+ {"version":3,"file":"Onboarding.js","sources":["../src/components/Onboarding/CompletedScreen.jsx","../src/components/Onboarding/constants.js","../src/components/Onboarding/HelpScreen.jsx","../src/components/Onboarding/utils.jsx","../src/components/Onboarding/WelcomeScreen.jsx","../src/components/Onboarding/index.jsx"],"sourcesContent":["import { capitalize } from \"neetocist\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport withT from \"neetocommons/react-utils/withT\";\nimport { Button, Typography } from \"neetoui\";\n\nconst CompletedScreen = withT(({ t, completeButtonProps }) => (\n <div\n className=\"neeto-molecules-onboarding__wrapper\"\n data-testid=\"onboarding-congratulations-wrapper\"\n >\n <div className=\"mx-auto mb-6 w-full max-w-2xl space-y-2\">\n <Typography\n className=\"text-center\"\n data-cy=\"onboarding-congratulations-emoji\"\n style=\"h1\"\n >\n 🎉\n </Typography>\n <Typography\n className=\"text-center\"\n data-cy=\"onboarding-congratulations-title\"\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 <Button\n data-cy=\"onboarding-congratulations-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\nexport default CompletedScreen;\n","export const GENERAL_ONBOARDING_STEPS = {\n WELCOME: \"welcome\",\n HELP: \"help\",\n FINISH: \"finish\",\n};\n","import classNames from \"classnames\";\nimport useBreakpoints from \"neetocommons/react-utils/useBreakpoints\";\nimport { RightArrow } from \"neetoicons\";\nimport { Button, Typography } from \"neetoui\";\nimport { 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 w-full max-w-2xl space-y-6 p-4\",\n helpScreenClassName\n )}\n >\n <div className=\"space-y-3\">\n <Typography\n component=\"h1\"\n data-cy=\"onboarding-help-title\"\n data-testid=\"onboarding-help-title\"\n style=\"h2\"\n >\n {t(\"neetoMolecules.onboarding.helpScreen.title\")}\n </Typography>\n <Typography\n data-cy=\"onboarding-help-description\"\n data-testid=\"onboarding-help-description\"\n lineHeight=\"normal\"\n style=\"body1\"\n >\n {t(\"neetoMolecules.onboarding.helpScreen.description\")}\n </Typography>\n <div className=\"w-full\">\n {isSize(\"mobile\") ? (\n <img\n alt=\"\"\n src=\"https://ik.imagekit.io/d9mvewbju/Commons/help-mobile_FpB8LKYj4.svg\"\n />\n ) : (\n <img\n alt=\"\"\n src=\"https://ik.imagekit.io/d9mvewbju/Commons/desktop_ZxE0qoj4Q.svg\"\n />\n )}\n </div>\n </div>\n <Button\n data-cy=\"onboarding-help-button\"\n data-testid=\"onboarding-help-button\"\n icon={RightArrow}\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 { GENERAL_ONBOARDING_STEPS } from \"./constants\";\nimport HelpScreen from \"./HelpScreen\";\n\nexport const createSteps = (\n onboardingSteps,\n setCurrentStep,\n currentStep,\n helpScreenClassName\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(helpStep)\n .map((step, idx) => ({ ...step, id: idx + 1 }));\n};\n","import { 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 }) => (\n <div\n className=\"neeto-molecules-onboarding__wrapper\"\n data-testid=\"onboarding-welcome-wrapper\"\n >\n <div className=\"mx-auto mb-6 w-full max-w-2xl space-y-2\">\n <Typography\n className=\"text-center\"\n data-cy=\"onboarding-welcome-title\"\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-cy=\"onboarding-welcome-description\"\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-cy=\"onboarding-welcome-button\"\n data-testid=\"onboarding-welcome-button\"\n icon={RightArrow}\n label={t(\"neetoMolecules.onboarding.getStarted\")}\n onClick={() => setCurrentStep(nextStep)}\n />\n </div>\n));\n\nexport default WelcomeScreen;\n","import { useEffect, 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}) => {\n const steps = useMemo(\n () =>\n createSteps(\n onboardingSteps,\n setCurrentStep,\n currentStep,\n helpScreenClassName\n ),\n [onboardingSteps]\n );\n\n const prevStep = useRef(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 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 nextStep={steps[0].key}\n />\n );\n }\n\n if (currentStep === GENERAL_ONBOARDING_STEPS.FINISH) {\n return <CompletedScreen {...{ completeButtonProps }} />;\n }\n\n const handleStepChange = index => setCurrentStep(steps[index].key);\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.number,\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\nexport default Onboarding;\n"],"names":["CompletedScreen","withT","_ref","t","completeButtonProps","_jsxs","className","children","_jsx","Typography","style","appName","capitalize","globalProps","Button","_objectSpread","label","GENERAL_ONBOARDING_STEPS","WELCOME","HELP","FINISH","HelpScreen","setCurrentStep","helpScreenClassName","_useTranslation","useTranslation","_useBreakpoints","useBreakpoints","isSize","classNames","component","lineHeight","alt","src","icon","RightArrow","iconPosition","onClick","createSteps","onboardingSteps","currentStep","helpStep","key","element","concat","map","step","idx","id","WelcomeScreen","nextStep","Onboarding","_ref$currentStep","_ref$setCurrentStep","noop","_ref$onboardingSteps","_ref$completeButtonPr","_ref$helpScreenClassN","_ref$isAnimated","isAnimated","_ref$disableStepClick","disableStepClick","steps","useMemo","prevStep","useRef","_useState","useState","_useState2","_slicedToArray","direction","setDirection","getOnboardingStepIndex","stepKey","findIndex","useEffect","current","handleStepChange","index","isStepperVisible","length","Stepper","activeIndex","findIndexBy","setActiveIndex","hidden"],"mappings":";;;;;;;;;;;;;;;;;;;AAKA,IAAMA,eAAe,GAAGC,KAAK,CAAC,UAAAC,IAAA,EAAA;AAAA,EAAA,IAAGC,CAAC,GAAAD,IAAA,CAADC,CAAC;IAAEC,mBAAmB,GAAAF,IAAA,CAAnBE,mBAAmB,CAAA;AAAA,EAAA,oBACrDC,IAAA,CAAA,KAAA,EAAA;AACEC,IAAAA,SAAS,EAAC,qCAAqC;AAC/C,IAAA,aAAA,EAAY,oCAAoC;AAAAC,IAAAA,QAAA,gBAEhDF,IAAA,CAAA,KAAA,EAAA;AAAKC,MAAAA,SAAS,EAAC,yCAAyC;MAAAC,QAAA,EAAA,cACtDC,GAAA,CAACC,UAAU,EAAA;AACTH,QAAAA,SAAS,EAAC,aAAa;AACvB,QAAA,SAAA,EAAQ,kCAAkC;AAC1CI,QAAAA,KAAK,EAAC,IAAI;AAAAH,QAAAA,QAAA,EACX,cAAA;AAED,OAAY,CAAC,eACbF,IAAA,CAACI,UAAU,EAAA;AACTH,QAAAA,SAAS,EAAC,aAAa;AACvB,QAAA,SAAA,EAAQ,kCAAkC;AAC1C,QAAA,aAAA,EAAY,kCAAkC;AAC9CI,QAAAA,KAAK,EAAC,IAAI;AAAAH,QAAAA,QAAA,gBAEVC,GAAA,CAAA,MAAA,EAAA;AAAMF,UAAAA,SAAS,EAAC,2BAA2B;UAAAC,QAAA,EACxCJ,CAAC,CAAC,2CAA2C,CAAA;SAC1C,CAAC,eACPK,GAAA,CAAA,IAAA,EAAA,EAAK,CAAC,EACLL,CAAC,CAAC,sCAAsC,EAAE;AACzCQ,UAAAA,OAAO,EAAEC,UAAU,CAACC,WAAW,CAACF,OAAO,CAAA;AACzC,SAAC,CAAC,CAAA;AAAA,OACQ,CAAC,CAAA;AAAA,KACV,CAAC,eACNH,GAAA,CAACM,MAAM,EAAAC,eAAA,CAAA;AACL,MAAA,SAAA,EAAQ,mCAAmC;AAC3C,MAAA,aAAA,EAAY,mCAAmC;AAC/CC,MAAAA,KAAK,EAAEb,CAAC,CAAC,uDAAuD,EAAE;QAChEQ,OAAO,EAAEE,WAAW,CAACF,OAAAA;OACtB,CAAA;KACGP,EAAAA,mBAAmB,CACxB,CAAC,CAAA;AAAA,GACC,CAAC,CAAA;AAAA,CACP,CAAC;;AC1CK,IAAMa,wBAAwB,GAAG;AACtCC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,IAAI,EAAE,MAAM;AACZC,EAAAA,MAAM,EAAE,QAAA;AACV,CAAC;;;;;ACID,IAAMC,UAAU,GAAG,SAAbA,UAAUA,CAAAnB,IAAA,EAAgD;AAAA,EAAA,IAA1CoB,cAAc,GAAApB,IAAA,CAAdoB,cAAc;IAAEC,mBAAmB,GAAArB,IAAA,CAAnBqB,mBAAmB,CAAA;AACvD,EAAA,IAAAC,eAAA,GAAcC,cAAc,EAAE;IAAtBtB,CAAC,GAAAqB,eAAA,CAADrB,CAAC,CAAA;AACT,EAAA,IAAAuB,eAAA,GAAmBC,cAAc,EAAE;IAA3BC,MAAM,GAAAF,eAAA,CAANE,MAAM,CAAA;AAEd,EAAA,oBACEvB,IAAA,CAAA,KAAA,EAAA;AACEC,IAAAA,SAAS,EAAEuB,UAAU,CACnB,wCAAwC,EACxCN,mBACF,CAAE;AAAAhB,IAAAA,QAAA,gBAEFF,IAAA,CAAA,KAAA,EAAA;AAAKC,MAAAA,SAAS,EAAC,WAAW;MAAAC,QAAA,EAAA,cACxBC,GAAA,CAACC,UAAU,EAAA;AACTqB,QAAAA,SAAS,EAAC,IAAI;AACd,QAAA,SAAA,EAAQ,uBAAuB;AAC/B,QAAA,aAAA,EAAY,uBAAuB;AACnCpB,QAAAA,KAAK,EAAC,IAAI;QAAAH,QAAA,EAETJ,CAAC,CAAC,4CAA4C,CAAA;AAAC,OACtC,CAAC,eACbK,GAAA,CAACC,UAAU,EAAA;AACT,QAAA,SAAA,EAAQ,6BAA6B;AACrC,QAAA,aAAA,EAAY,6BAA6B;AACzCsB,QAAAA,UAAU,EAAC,QAAQ;AACnBrB,QAAAA,KAAK,EAAC,OAAO;QAAAH,QAAA,EAEZJ,CAAC,CAAC,kDAAkD,CAAA;OAC3C,CAAC,eACbK,GAAA,CAAA,KAAA,EAAA;AAAKF,QAAAA,SAAS,EAAC,QAAQ;AAAAC,QAAAA,QAAA,EACpBqB,MAAM,CAAC,QAAQ,CAAC,gBACfpB,GAAA,CAAA,KAAA,EAAA;AACEwB,UAAAA,GAAG,EAAC,EAAE;AACNC,UAAAA,GAAG,EAAC,oEAAA;SACL,CAAC,gBAEFzB,GAAA,CAAA,KAAA,EAAA;AACEwB,UAAAA,GAAG,EAAC,EAAE;AACNC,UAAAA,GAAG,EAAC,gEAAA;SACL,CAAA;AACF,OACE,CAAC,CAAA;AAAA,KACH,CAAC,eACNzB,GAAA,CAACM,MAAM,EAAA;AACL,MAAA,SAAA,EAAQ,wBAAwB;AAChC,MAAA,aAAA,EAAY,wBAAwB;AACpCoB,MAAAA,IAAI,EAAEC,UAAW;AACjBC,MAAAA,YAAY,EAAC,OAAO;AACpBpB,MAAAA,KAAK,EAAEb,CAAC,CAAC,qDAAqD,CAAE;MAChEkC,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,QAAA,OAAQf,cAAc,CAACL,wBAAwB,CAACG,MAAM,CAAC,CAAA;AAAA,OAAA;AAAC,KAChE,CAAC,CAAA;AAAA,GACC,CAAC,CAAA;AAEV,CAAC;;;;ACvDM,IAAMkB,WAAW,GAAG,SAAdA,WAAWA,CACtBC,eAAe,EACfjB,cAAc,EACdkB,WAAW,EACXjB,mBAAmB,EAChB;AACH,EAAA,IAAMkB,QAAQ,GAAG;IACfC,GAAG,EAAEzB,wBAAwB,CAACE,IAAI;AAClCH,IAAAA,KAAK,EAAEb,CAAC,CAAC,qCAAqC,CAAC;IAC/CwC,OAAO,eACLnC,GAAA,CAACa,UAAU,EAAA;AAAOmB,MAAAA,WAAW,EAAXA,WAAW;AAAEjB,MAAAA,mBAAmB,EAAnBA,mBAAmB;AAAED,MAAAA,cAAc,EAAdA,cAAAA;KAAmB,CAAA;GAE1E,CAAA;AAED,EAAA,OAAOiB,eAAe,CACnBK,MAAM,CAACH,QAAQ,CAAC,CAChBI,GAAG,CAAC,UAACC,IAAI,EAAEC,GAAG,EAAA;AAAA,IAAA,OAAAhC,aAAA,CAAAA,aAAA,CAAA,EAAA,EAAW+B,IAAI,CAAA,EAAA,EAAA,EAAA;MAAEE,EAAE,EAAED,GAAG,GAAG,CAAA;AAAC,KAAA,CAAA,CAAA;AAAA,GAAG,CAAC,CAAA;AACnD,CAAC;;AChBD,IAAME,aAAa,GAAGhD,KAAK,CAAC,UAAAC,IAAA,EAAA;AAAA,EAAA,IAAGC,CAAC,GAAAD,IAAA,CAADC,CAAC;IAAEmB,cAAc,GAAApB,IAAA,CAAdoB,cAAc;IAAE4B,QAAQ,GAAAhD,IAAA,CAARgD,QAAQ,CAAA;AAAA,EAAA,oBACxD7C,IAAA,CAAA,KAAA,EAAA;AACEC,IAAAA,SAAS,EAAC,qCAAqC;AAC/C,IAAA,aAAA,EAAY,4BAA4B;AAAAC,IAAAA,QAAA,gBAExCF,IAAA,CAAA,KAAA,EAAA;AAAKC,MAAAA,SAAS,EAAC,yCAAyC;MAAAC,QAAA,EAAA,cACtDC,GAAA,CAACC,UAAU,EAAA;AACTH,QAAAA,SAAS,EAAC,aAAa;AACvB,QAAA,SAAA,EAAQ,0BAA0B;AAClC,QAAA,aAAA,EAAY,0BAA0B;AACtCI,QAAAA,KAAK,EAAC,IAAI;AAAAH,QAAAA,QAAA,EAETJ,CAAC,CAAC,qDAAqD,EAAE;AACxDQ,UAAAA,OAAO,EAAEC,UAAU,CAACC,WAAW,CAACF,OAAO,CAAA;SACxC,CAAA;AAAC,OACQ,CAAC,eACbH,GAAA,CAACC,UAAU,EAAA;AACTH,QAAAA,SAAS,EAAC,aAAa;AACvB,QAAA,SAAA,EAAQ,gCAAgC;AACxC,QAAA,aAAA,EAAY,gCAAgC;AAC5CyB,QAAAA,UAAU,EAAC,QAAQ;AACnBrB,QAAAA,KAAK,EAAC,OAAO;AAAAH,QAAAA,QAAA,EAEZJ,CAAC,CAAC,0CAA0C,EAAE;AAC7CQ,UAAAA,OAAO,EAAEC,UAAU,CAACC,WAAW,CAACF,OAAO,CAAA;SACxC,CAAA;AAAC,OACQ,CAAC,CAAA;AAAA,KACV,CAAC,eACNH,GAAA,CAACM,MAAM,EAAA;AACL,MAAA,SAAA,EAAQ,2BAA2B;AACnC,MAAA,aAAA,EAAY,2BAA2B;AACvCoB,MAAAA,IAAI,EAAEC,UAAW;AACjBnB,MAAAA,KAAK,EAAEb,CAAC,CAAC,sCAAsC,CAAE;MACjDkC,OAAO,EAAE,SAATA,OAAOA,GAAA;QAAA,OAAQf,cAAc,CAAC4B,QAAQ,CAAC,CAAA;AAAA,OAAA;AAAC,KACzC,CAAC,CAAA;AAAA,GACC,CAAC,CAAA;AAAA,CACP,CAAC;;AC7BF,IAAMC,UAAU,GAAG,SAAbA,UAAUA,CAAAjD,IAAA,EAQV;AAAA,EAAA,IAAAkD,gBAAA,GAAAlD,IAAA,CAPJsC,WAAW;AAAXA,IAAAA,WAAW,GAAAY,gBAAA,KAAA,KAAA,CAAA,GAAGnC,wBAAwB,CAACC,OAAO,GAAAkC,gBAAA;IAAAC,mBAAA,GAAAnD,IAAA,CAC9CoB,cAAc;AAAdA,IAAAA,cAAc,GAAA+B,mBAAA,KAAGC,KAAAA,CAAAA,GAAAA,IAAI,GAAAD,mBAAA;IAAAE,oBAAA,GAAArD,IAAA,CACrBqC,eAAe;AAAfA,IAAAA,eAAe,GAAAgB,oBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,oBAAA;IAAAC,qBAAA,GAAAtD,IAAA,CACpBE,mBAAmB;AAAnBA,IAAAA,mBAAmB,GAAAoD,qBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,qBAAA;IAAAC,qBAAA,GAAAvD,IAAA,CACxBqB,mBAAmB;AAAnBA,IAAAA,mBAAmB,GAAAkC,qBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,qBAAA;IAAAC,eAAA,GAAAxD,IAAA,CACxByD,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,eAAA;IAAAE,qBAAA,GAAA1D,IAAA,CACjB2D,gBAAgB;AAAhBA,IAAAA,gBAAgB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,qBAAA,CAAA;EAExB,IAAME,KAAK,GAAGC,OAAO,CACnB,YAAA;IAAA,OACEzB,WAAW,CACTC,eAAe,EACfjB,cAAc,EACdkB,WAAW,EACXjB,mBACF,CAAC,CAAA;GACH,EAAA,CAACgB,eAAe,CAClB,CAAC,CAAA;AAED,EAAA,IAAMyB,QAAQ,GAAGC,MAAM,CAACzB,WAAW,CAAC,CAAA;AAEpC,EAAA,IAAA0B,SAAA,GAAkCC,QAAQ,CAAC,EAAE,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAvCI,IAAAA,SAAS,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,YAAY,GAAAH,UAAA,CAAA,CAAA,CAAA,CAAA;AAE9B,EAAA,IAAMI,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAGC,OAAO,EAAA;AAAA,IAAA,OACpCX,KAAK,CAACY,SAAS,CAAC,UAAA5B,IAAI,EAAA;AAAA,MAAA,OAAIA,IAAI,CAACJ,GAAG,KAAK+B,OAAO,CAAA;KAAC,CAAA,CAAA;AAAA,GAAA,CAAA;AAE/CE,EAAAA,SAAS,CAAC,YAAM;AACd,IAAA,IAAInC,WAAW,KAAKwB,QAAQ,CAACY,OAAO,EAAE,OAAA;AAEtCL,IAAAA,YAAY,CACVC,sBAAsB,CAAChC,WAAW,CAAC,GACjCgC,sBAAsB,CAACR,QAAQ,CAACY,OAAO,CAAC,GACtC,SAAS,GACT,UACN,CAAC,CAAA;IACDZ,QAAQ,CAACY,OAAO,GAAGpC,WAAW,CAAA;AAChC,GAAC,EAAE,CAACA,WAAW,CAAC,CAAC,CAAA;AAEjB,EAAA,IAAIA,WAAW,KAAKvB,wBAAwB,CAACC,OAAO,EAAE;IACpD,oBACEV,GAAA,CAACyC,aAAa,EAAA;AACNT,MAAAA,WAAW,EAAXA,WAAW;AAAElB,MAAAA,cAAc,EAAdA,cAAc;AACjC4B,MAAAA,QAAQ,EAAEY,KAAK,CAAC,CAAC,CAAC,CAACpB,GAAAA;AAAI,KACxB,CAAC,CAAA;AAEN,GAAA;AAEA,EAAA,IAAIF,WAAW,KAAKvB,wBAAwB,CAACG,MAAM,EAAE;IACnD,oBAAOZ,GAAA,CAACR,eAAe,EAAA;AAAOI,MAAAA,mBAAmB,EAAnBA,mBAAAA;AAAmB,KAAK,CAAC,CAAA;AACzD,GAAA;AAEA,EAAA,IAAMyE,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAGC,KAAK,EAAA;IAAA,OAAIxD,cAAc,CAACwC,KAAK,CAACgB,KAAK,CAAC,CAACpC,GAAG,CAAC,CAAA;AAAA,GAAA,CAAA;AAElE,EAAA,IAAMqC,gBAAgB,GAAGjB,KAAK,CAACkB,MAAM,GAAG,CAAC,CAAA;AAEzC,EAAA,oBACE3E,IAAA,CAAA,KAAA,EAAA;AACEC,IAAAA,SAAS,EAAEuB,UAAU,CAAC,uCAAuC,EAAE;AAC7D,MAAA,qCAAqC,EAAE,CAACkD,gBAAAA;AAC1C,KAAC,CAAE;IAAAxE,QAAA,EAAA,CAEFwE,gBAAgB,iBACfvE,GAAA,CAAA,KAAA,EAAA;AAAKF,MAAAA,SAAS,EAAC,6CAA6C;MAAAC,QAAA,eAC1DC,GAAA,CAACyE,OAAO,EAAA;AACAnB,QAAAA,KAAK,EAALA,KAAK;QACXoB,WAAW,EAAEC,WAAW,CAAC;AAAEzC,UAAAA,GAAG,EAAEF,WAAAA;SAAa,EAAEsB,KAAK,CAAE;AACtDsB,QAAAA,cAAc,EAAEvB,gBAAgB,GAAGP,IAAI,GAAGuB,gBAAAA;OAC3C,CAAA;KACE,CACN,EACAf,KAAK,CAACjB,GAAG,CAAC,UAACC,IAAI,EAAEgC,KAAK,EAAA;AAAA,MAAA,oBACrBtE,GAAA,CAAA,KAAA,EAAA;AAEEF,QAAAA,SAAS,EAAEuB,UAAU,CAAC,qCAAqC,EAAE;AAC3D,UAAA,gEAAgE,EAC9D8B,UAAU,IAAIW,SAAS,KAAK,SAAS;AACvC,UAAA,iEAAiE,EAC/DX,UAAU,IAAIW,SAAS,KAAK,UAAU;AACxCe,UAAAA,MAAM,EAAE7C,WAAW,KAAKM,IAAI,CAACJ,GAAAA;AAC/B,SAAC,CAAE;AAAAnC,QAAAA,QAAA,EAEFuC,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAJA,IAAI,CAAEH,OAAAA;AAAO,OAAA,EATTmC,KAUF,CAAC,CAAA;AAAA,KACP,CAAC,CAAA;AAAA,GACC,CAAC,CAAA;AAEV;;;;"}
@@ -1,12 +1,12 @@
1
1
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
2
  import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
3
- import { useState, createElement } from 'react';
3
+ import { useState, useRef, createElement } from 'react';
4
4
  import { DragDropContext, Droppable, Draggable } from '@hello-pangea/dnd';
5
5
  import { findIndexById, isNotEmpty, noop, slugify } from '@bigbinary/neeto-cist';
6
6
  import Plus from '@bigbinary/neeto-icons/Plus';
7
7
  import Button from '@bigbinary/neetoui/Button';
8
8
  import Typography from '@bigbinary/neetoui/Typography';
9
- import { reject, prop, isEmpty, assocPath, remove, move, append, path, pluck } from 'ramda';
9
+ import { reject, prop, isEmpty, assocPath, remove, move, append, pluck } from 'ramda';
10
10
  import { useTranslation, Trans } from 'react-i18next';
11
11
  import { withT } from '@bigbinary/neeto-commons-frontend/react-utils';
12
12
  import Delete from '@bigbinary/neeto-icons/Delete';
@@ -16,7 +16,6 @@ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
16
16
  import Modal from '@bigbinary/neetoui/Modal';
17
17
  import Textarea from '@bigbinary/neetoui/Textarea';
18
18
  import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
19
- import { useFormikContext } from 'formik';
20
19
  import i18next from 'i18next';
21
20
  import ImageUpload from '@bigbinary/neeto-icons/ImageUpload';
22
21
  import Input from '@bigbinary/neetoui/Input';
@@ -174,7 +173,7 @@ var BulkOptionModal = function BulkOptionModal(_ref) {
174
173
 
175
174
  var DEFAULT_OPTION_LABEL = i18next.t("neetoMolecules.optionFields.defaultOption");
176
175
 
177
- var getVisibleOptions = function getVisibleOptions() {
176
+ var getOrderedVisibleOptions = function getOrderedVisibleOptions() {
178
177
  var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
179
178
  return options.filter(function (option) {
180
179
  return !option.deleted;
@@ -200,31 +199,32 @@ var useOptionFields = function useOptionFields(_ref) {
200
199
  var options = _ref.options,
201
200
  onChange = _ref.onChange,
202
201
  shouldDestroy = _ref.shouldDestroy,
203
- _ref$name = _ref.name,
204
- name = _ref$name === void 0 ? "" : _ref$name,
205
- currentRecord = _ref.currentRecord,
206
202
  _ref$itemLabel = _ref.itemLabel,
207
203
  itemLabel = _ref$itemLabel === void 0 ? DEFAULT_OPTION_LABEL : _ref$itemLabel;
208
204
  var _useState = useState(false),
209
205
  _useState2 = _slicedToArray(_useState, 2),
210
206
  shouldFocus = _useState2[0],
211
207
  setShouldFocus = _useState2[1];
212
- var deletedOptions = options.filter(function (option) {
213
- return !!(option !== null && option !== void 0 && option.deleted);
208
+ var editingOptionDetailsRef = useRef({
209
+ id: "",
210
+ value: ""
214
211
  });
215
- var _useFormikContext = useFormikContext(),
216
- initialValues = _useFormikContext.initialValues;
217
212
  var handleChange = function handleChange(id, value) {
218
213
  var isOnBlur = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
219
- var filteredOptions = filterDeletedRecords(options);
220
- var index = findIndexById(id, filteredOptions);
221
- var draftAttributes = currentRecord === null || currentRecord === void 0 ? void 0 : currentRecord.draftAttributes;
222
- var getNextOptions = function getNextOptions() {
223
- var _path$index, _path$index2;
224
- return assocPath([index, "label"], isOnBlur ? ((_path$index = path(name.split("."), initialValues)[index]) === null || _path$index === void 0 ? void 0 : _path$index.label) || ((_path$index2 = path(name.split("."), draftAttributes)[index]) === null || _path$index2 === void 0 ? void 0 : _path$index2.label) : value, filteredOptions);
225
- };
214
+ // Ignores onBlur events if the value in the input field is not cleared.
215
+ // The value will be reset to the initial value if user clicks outside after clearing the value.
226
216
  if (isOnBlur && !isEmpty(value)) return;
227
- onChange([].concat(_toConsumableArray(deletedOptions), _toConsumableArray(getNextOptions())));
217
+ var index = findIndexById(id, options);
218
+ if (editingOptionDetailsRef.current.id !== id) {
219
+ editingOptionDetailsRef.current = {
220
+ id: id,
221
+ value: options[index].label
222
+ };
223
+ }
224
+
225
+ // Resets the value to initial value if the user cleared and blurred the input field.
226
+ var valueToUpdate = isOnBlur ? editingOptionDetailsRef.current.value : value;
227
+ onChange(assocPath([index, "label"], valueToUpdate, options));
228
228
  };
229
229
  var _generateLabel = function generateLabel(opts, count) {
230
230
  var labelCount = count || opts.length + 1;
@@ -234,39 +234,35 @@ var useOptionFields = function useOptionFields(_ref) {
234
234
  };
235
235
  var handleDelete = function handleDelete(_, id) {
236
236
  var nextOptions;
237
+ var indexToDelete = findIndexById(id, options);
237
238
  if (shouldDestroy) {
238
- var filteredOptions = filterDeletedRecords(options);
239
- var indexToDelete = findIndexById(id, filteredOptions);
240
- nextOptions = assocPath([indexToDelete, "deleted"], true, filteredOptions);
239
+ nextOptions = assocPath([indexToDelete, "deleted"], true, options);
241
240
  } else {
242
- var _indexToDelete = findIndexById(id, options);
243
- nextOptions = remove(_indexToDelete, 1, options);
244
- nextOptions = attachPosition(nextOptions);
241
+ nextOptions = attachPosition(remove(indexToDelete, 1, options));
245
242
  }
246
- onChange([].concat(_toConsumableArray(deletedOptions), _toConsumableArray(nextOptions)));
243
+ onChange(nextOptions);
247
244
  };
248
245
  var handleDragEnd = function handleDragEnd(_ref2) {
249
246
  var source = _ref2.source,
250
247
  destination = _ref2.destination;
251
248
  // When dragged outside of draggable
252
249
  if (destination === null) return;
250
+ var deletedOptions = options.filter(prop("deleted"));
253
251
  var filteredOptions = filterDeletedRecords(options);
254
252
  var nextOptions = move(source.index, destination.index, filteredOptions);
255
253
  var finalOptions = attachPosition(nextOptions);
256
254
  onChange([].concat(_toConsumableArray(deletedOptions), _toConsumableArray(finalOptions)));
257
255
  };
258
256
  var handleAddOption = function handleAddOption() {
259
- setShouldFocus(true);
260
- var position = options.length;
261
257
  var id = randomId();
262
258
  var newOption = {
263
259
  id: "draft-".concat(id),
264
260
  altId: "alt-".concat(id),
265
261
  label: _generateLabel(options, null),
266
- position: position
262
+ position: options.length
267
263
  };
268
- var nextOptions = append(newOption, options);
269
- onChange(nextOptions);
264
+ setShouldFocus(true);
265
+ onChange(append(newOption, options));
270
266
  };
271
267
  var handleBulkAddOption = function handleBulkAddOption(optionsString) {
272
268
  setShouldFocus(true);
@@ -416,8 +412,6 @@ var OptionFields = function OptionFields(_ref) {
416
412
  isTextArea = _ref$isTextArea === void 0 ? false : _ref$isTextArea,
417
413
  _ref$shouldDestroy = _ref.shouldDestroy,
418
414
  shouldDestroy = _ref$shouldDestroy === void 0 ? false : _ref$shouldDestroy,
419
- _ref$currentRecord = _ref.currentRecord,
420
- currentRecord = _ref$currentRecord === void 0 ? {} : _ref$currentRecord,
421
415
  _ref$bulkActionProps = _ref.bulkActionProps,
422
416
  bulkActionProps = _ref$bulkActionProps === void 0 ? {
423
417
  enabled: false,
@@ -433,8 +427,6 @@ var OptionFields = function OptionFields(_ref) {
433
427
  options: options,
434
428
  onChange: onChange,
435
429
  shouldDestroy: shouldDestroy,
436
- name: name,
437
- currentRecord: currentRecord,
438
430
  itemLabel: itemLabel
439
431
  }),
440
432
  shouldFocus = _useOptionFields.shouldFocus,
@@ -457,8 +449,8 @@ var OptionFields = function OptionFields(_ref) {
457
449
  var deleteFunction = onDelete !== null && onDelete !== void 0 ? onDelete : handleDelete;
458
450
  deleteFunction(index, id);
459
451
  };
460
- var visibleOptions = getVisibleOptions(options);
461
- var hideDeleteOption = visibleOptions.length <= minOptions;
452
+ var orderedVisibleOptions = getOrderedVisibleOptions(options);
453
+ var hideDeleteOption = orderedVisibleOptions.length <= minOptions;
462
454
  var getUniqueOptionId = function getUniqueOptionId(option) {
463
455
  var _option$id, _option$position;
464
456
  return option.altId || ((_option$id = option.id) === null || _option$id === void 0 ? void 0 : _option$id.toString()) || ((_option$position = option.position) === null || _option$position === void 0 ? void 0 : _option$position.toString()) || slugify(option.label);
@@ -479,7 +471,7 @@ var OptionFields = function OptionFields(_ref) {
479
471
  return /*#__PURE__*/jsxs("div", _objectSpread(_objectSpread({
480
472
  ref: innerRef
481
473
  }, droppableProps), {}, {
482
- children: [visibleOptions.map(function (option, index) {
474
+ children: [orderedVisibleOptions.map(function (option, index) {
483
475
  return /*#__PURE__*/createElement(Draggable, {
484
476
  index: index,
485
477
  dataKey: getUniqueOptionId(option),
@@ -1 +1 @@
1
- {"version":3,"file":"OptionFields.js","sources":["../src/components/OptionFields/DragHandle.jsx","../src/components/OptionFields/BlockOption.jsx","../src/components/OptionFields/BulkOptionModal.jsx","../src/components/OptionFields/constants.js","../src/components/OptionFields/utils.js","../src/components/OptionFields/hooks/useOptionFields.js","../src/components/OptionFields/InputOption.jsx","../src/components/OptionFields/index.jsx"],"sourcesContent":["import { Reorder } from \"neetoicons\";\n\nconst DragHandle = props => (\n <div\n className=\"neeto-ui-text-gray-400 absolute bottom-0 left-0 top-0 my-auto -ml-6 h-6 cursor-grab opacity-0 transition-opacity duration-300 ease-in-out group-hover:opacity-100\"\n data-cy=\"drag-handle\"\n data-testid=\"drag-handle\"\n {...props}\n >\n <Reorder size={24} strokeWidth={2} />\n </div>\n);\n\nexport default DragHandle;\n","import { withT } from \"neetocommons/react-utils\";\nimport { Delete, Edit } from \"neetoicons\";\nimport { Button, Typography } from \"neetoui\";\n\nimport DragHandle from \"./DragHandle\";\n\nconst BlockOption = withT(\n ({\n t,\n innerRef,\n hideDeleteOption = false,\n draggableProps,\n dragHandleProps,\n label,\n index,\n onEdit,\n handleDeleteClick,\n id,\n }) => (\n <div ref={innerRef} {...draggableProps} {...dragHandleProps}>\n <div\n className=\"neeto-ui-border-gray-400 hover:neeto-ui-bg-gray-200 neeto-ui-rounded-sm shadow-xs group relative mb-2 flex h-10 cursor-pointer items-center gap-2 border p-3 transition-colors duration-300 ease-in-out\"\n data-cy=\"address-field-block\"\n >\n <DragHandle {...dragHandleProps} />\n <Typography\n className=\"flex-grow leading-4\"\n data-cy=\"address-text-field\"\n data-testid=\"address-text-field\"\n style=\"body2\"\n >\n {label}\n </Typography>\n <div className=\"flex items-center justify-end gap-2 opacity-0 group-hover:opacity-100\">\n <Button\n className=\"neeto-ui-rounded hover:neeto-ui-bg-gray-400 p-1\"\n data-cy=\"address-field-edit-button\"\n data-testid=\"address-field-edit-button\"\n icon={Edit}\n size=\"small\"\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoMolecules.common.actions.edit\"),\n position: \"top\",\n touch: [\"hold\", 500],\n }}\n onClick={() => onEdit(index)}\n />\n {!hideDeleteOption && (\n <Button\n className=\"neeto-ui-rounded hover:neeto-ui-bg-gray-400 p-1\"\n data-cy=\"address-field-delete-button\"\n data-testid=\"address-field-delete-button\"\n icon={Delete}\n size=\"small\"\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoMolecules.common.actions.delete\"),\n position: \"top\",\n touch: [\"hold\", 500],\n }}\n onClick={() => handleDeleteClick({ index, id })}\n />\n )}\n </div>\n </div>\n </div>\n )\n);\n\nexport default BlockOption;\n","import { useState } from \"react\";\n\nimport { Button, Modal, Textarea, Typography } from \"neetoui\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nconst BulkOptionModal = ({\n isOpen,\n onClose,\n handleBulkAdd,\n bulkAddHelpDocUrl,\n}) => {\n const { t } = useTranslation();\n const [optionsString, setOptionsString] = useState(\"\");\n\n const handleSave = () => {\n handleBulkAdd(optionsString);\n handleClose();\n };\n\n const handleClose = () => {\n setOptionsString(\"\");\n onClose();\n };\n\n return (\n <Modal {...{ isOpen }} onClose={handleClose}>\n <Modal.Header>\n <Typography style=\"h3\">\n {t(\"neetoMolecules.optionFields.bulkOption.title\")}\n </Typography>\n </Modal.Header>\n <Modal.Body>\n <Textarea\n className=\"my-2\"\n data-cy=\"bulk-add-options-textarea\"\n data-testid=\"bulk-add-options-textarea\"\n label={t(\"neetoMolecules.optionFields.bulkOption.label\")}\n placeholder={t(\"neetoMolecules.optionFields.bulkOption.label\")}\n rows={8}\n value={optionsString}\n helpText={\n <Trans\n i18nKey=\"neetoMolecules.optionFields.bulkOption.helpText\"\n components={{\n Link: (\n <Button\n className=\"text-xs\"\n href={bulkAddHelpDocUrl}\n style=\"link\"\n target=\"_blank\"\n />\n ),\n }}\n />\n }\n onChange={e => setOptionsString(e.target.value)}\n />\n </Modal.Body>\n <Modal.Footer className=\"gap-x-2\">\n <Button\n data-cy=\"bulk-add-options-done-button\"\n data-testid=\"bulk-add-options-done-button\"\n label={t(\"neetoMolecules.common.actions.submit\")}\n onClick={handleSave}\n />\n <Button\n data-cy=\"bulk-add-options-cancel-button\"\n data-testid=\"bulk-add-options-cancel-button\"\n label={t(\"neetoMolecules.common.actions.cancel\")}\n style=\"text\"\n onClick={handleClose}\n />\n </Modal.Footer>\n </Modal>\n );\n};\n\nexport default BulkOptionModal;\n","import i18next from \"i18next\";\n\nexport const DEFAULT_OPTION_LABEL = i18next.t(\n \"neetoMolecules.optionFields.defaultOption\"\n);\n","import { prop, reject } from \"ramda\";\n\nexport const getVisibleOptions = (options = []) =>\n options\n .filter(option => !option.deleted)\n .sort((a, b) => a.position - b.position);\n\nexport const filterDeletedRecords = reject(prop(\"deleted\"));\n\nexport const randomId = () => Math.random().toString(36).substring(2, 13);\n","import { useState } from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { isNotEmpty, findIndexById } from \"neetocist\";\nimport { pluck, append, assocPath, move, path, remove, isEmpty } from \"ramda\";\n\nimport { DEFAULT_OPTION_LABEL } from \"../constants\";\nimport { filterDeletedRecords, randomId } from \"../utils\";\n\nconst attachPosition = options =>\n options.map((option, index) => ({ ...option, position: index }));\n\nconst useOptionFields = ({\n options,\n onChange,\n shouldDestroy,\n name = \"\",\n currentRecord,\n itemLabel = DEFAULT_OPTION_LABEL,\n}) => {\n const [shouldFocus, setShouldFocus] = useState(false);\n\n const deletedOptions = options.filter(option => !!option?.deleted);\n\n const { initialValues } = useFormikContext();\n\n const handleChange = (id, value, isOnBlur = false) => {\n const filteredOptions = filterDeletedRecords(options);\n const index = findIndexById(id, filteredOptions);\n const draftAttributes = currentRecord?.draftAttributes;\n\n const getNextOptions = () =>\n assocPath(\n [index, \"label\"],\n isOnBlur\n ? path(name.split(\".\"), initialValues)[index]?.label ||\n path(name.split(\".\"), draftAttributes)[index]?.label\n : value,\n filteredOptions\n );\n if (isOnBlur && !isEmpty(value)) return;\n onChange([...deletedOptions, ...getNextOptions()]);\n };\n\n const generateLabel = (opts, count) => {\n const labelCount = count || opts.length + 1;\n const tempLabel = `${itemLabel} ${labelCount}`;\n const isDuplicateLabel = pluck(\"label\", opts).includes(tempLabel);\n\n return isDuplicateLabel ? generateLabel(opts, labelCount + 1) : tempLabel;\n };\n\n const handleDelete = (_, id) => {\n let nextOptions;\n\n if (shouldDestroy) {\n const filteredOptions = filterDeletedRecords(options);\n const indexToDelete = findIndexById(id, filteredOptions);\n nextOptions = assocPath(\n [indexToDelete, \"deleted\"],\n true,\n filteredOptions\n );\n } else {\n const indexToDelete = findIndexById(id, options);\n nextOptions = remove(indexToDelete, 1, options);\n nextOptions = attachPosition(nextOptions);\n }\n onChange([...deletedOptions, ...nextOptions]);\n };\n\n const handleDragEnd = ({ source, destination }) => {\n // When dragged outside of draggable\n if (destination === null) return;\n\n const filteredOptions = filterDeletedRecords(options);\n const nextOptions = move(source.index, destination.index, filteredOptions);\n const finalOptions = attachPosition(nextOptions);\n onChange([...deletedOptions, ...finalOptions]);\n };\n\n const handleAddOption = () => {\n setShouldFocus(true);\n const position = options.length;\n const id = randomId();\n const newOption = {\n id: `draft-${id}`,\n altId: `alt-${id}`,\n label: generateLabel(options, null),\n position,\n };\n const nextOptions = append(newOption, options);\n onChange(nextOptions);\n };\n\n const handleBulkAddOption = optionsString => {\n setShouldFocus(true);\n const position = filterDeletedRecords(options).length;\n const newOptions = optionsString\n .trim()\n .split(/\\r?\\n|,/)\n .filter(isNotEmpty)\n .map((option, index) => ({\n id: `draft-${randomId()}`,\n altId: `alt-${randomId()}`,\n label: option.trim(),\n position: position + index,\n }));\n onChange([...options, ...newOptions]);\n };\n\n const handleKeyDown = () => event => {\n if (event.key !== \"Enter\") return;\n const form = event.target.form;\n const inputs = Array.from(form.querySelectorAll(\"input\"));\n const currentInput = inputs.indexOf(event.target);\n\n if (currentInput >= inputs.length - 1) {\n handleAddOption();\n } else {\n inputs[currentInput + 1]?.focus();\n event.preventDefault();\n }\n event.stopPropagation();\n };\n\n return {\n shouldFocus,\n handleAddOption,\n handleBulkAddOption,\n handleChange,\n handleKeyDown,\n handleDelete,\n handleDragEnd,\n };\n};\n\nexport default useOptionFields;\n","import { ImageUpload, Delete } from \"neetoicons\";\nimport { Button, Input, Textarea } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport DragHandle from \"./DragHandle\";\n\nconst InputOption = ({\n shouldFocus,\n hideDeleteOption = false,\n innerRef,\n draggableProps,\n dragHandleProps,\n isPictureChoice,\n onKeyDown,\n onDelete,\n onChange,\n label,\n index,\n disabled,\n isTextArea,\n id,\n}) => {\n const { t } = useTranslation();\n\n const Component = isTextArea ? Textarea : Input;\n\n return (\n <div\n ref={innerRef}\n {...{ ...draggableProps, ...dragHandleProps }}\n data-cy=\"form-block-options\"\n >\n <div className=\"nf-input-options group relative mb-2 flex items-center gap-2\">\n <DragHandle {...dragHandleProps} />\n {isPictureChoice && (\n <>\n {index === 0 ? (\n <img\n className=\"neeto-ui-rounded-sm h-8 w-8 cursor-pointer overflow-hidden object-cover\"\n data-testid=\"picture-choice-option\"\n src=\"https://i.pravatar.cc/300\"\n />\n ) : (\n <div className=\"hover:neeto-ui-bg-gray-100 neeto-ui-border-primary-600 neeto-ui-text-primary-800 neeto-ui-rounded-sm flex h-8 w-8 cursor-pointer items-center justify-center border border-dashed transition-all duration-300 ease-in-out\">\n <ImageUpload size={16} />\n </div>\n )}\n </>\n )}\n <Component\n {...{ disabled }}\n autoFocus={shouldFocus}\n data-cy={`option-input-${index}`}\n data-testid={isTextArea ? \"textarea-option\" : \"input-option\"}\n placeholder={t(\"neetoMolecules.optionFields.optionName\")}\n value={label}\n suffix={\n !hideDeleteOption && (\n <Button\n {...{ disabled }}\n className=\"p-0.5\"\n data-cy={`delete-option-button-${index}`}\n data-testid=\"delete-option-button\"\n icon={Delete}\n size=\"small\"\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoMolecules.common.actions.delete\"),\n position: \"top\",\n touch: [\"hold\", 500],\n }}\n onClick={() => onDelete({ index, id })}\n />\n )\n }\n onBlur={({ target }) => onChange(id, target.value, true)}\n onChange={({ target }) => onChange(id, target.value)}\n onFocus={({ target }) => target.select()}\n onKeyDown={onKeyDown(index)}\n />\n </div>\n </div>\n );\n};\n\nexport default InputOption;\n","import { useState } from \"react\";\n\nimport { DragDropContext, Droppable, Draggable } from \"@hello-pangea/dnd\";\nimport { slugify, noop } from \"neetocist\";\nimport { Plus } from \"neetoicons\";\nimport { Button, Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport BlockOption from \"./BlockOption\";\nimport BulkOptionModal from \"./BulkOptionModal\";\nimport useOptionFields from \"./hooks/useOptionFields\";\nimport InputOption from \"./InputOption\";\nimport { getVisibleOptions } from \"./utils\";\n\nconst OptionFields = ({\n options,\n error,\n onChange,\n name,\n onDelete,\n itemLabel,\n onEdit = noop,\n buttonProps = {},\n minOptions = 0,\n draggable = false,\n editable = true,\n isPictureChoice = false,\n isTextArea = false,\n shouldDestroy = false,\n currentRecord = {},\n bulkActionProps = { enabled: false, bulkAddHelpDocUrl: \"\" },\n}) => {\n const { t } = useTranslation();\n const [isBulkOptionModalOpen, setIsBulkOptionModalOpen] = useState(false);\n\n const {\n shouldFocus,\n handleAddOption,\n handleBulkAddOption,\n handleChange,\n handleKeyDown,\n handleDelete,\n handleDragEnd,\n } = useOptionFields({\n options,\n onChange,\n shouldDestroy,\n name,\n currentRecord,\n itemLabel,\n });\n\n // Temporarily disables the modifications to options when changed are getting saved to server\n // This condition only needed for server id generated types\n let isEditable = true;\n if (shouldDestroy) {\n isEditable =\n options.every(prop(\"id\") || error) && !options.some(prop(\"_destroy\"));\n }\n\n const handleDeleteClick = ({ index, id }) => {\n const deleteFunction = onDelete ?? handleDelete;\n deleteFunction(index, id);\n };\n const visibleOptions = getVisibleOptions(options);\n const hideDeleteOption = visibleOptions.length <= minOptions;\n\n const getUniqueOptionId = option =>\n option.altId ||\n option.id?.toString() ||\n option.position?.toString() ||\n slugify(option.label);\n\n return (\n <form onSubmit={e => e.preventDefault()}>\n <DragDropContext onDragEnd={handleDragEnd}>\n <Droppable\n droppableId={`neeto-molecules-option-fields-${name}`}\n isDropDisabled={!draggable}\n >\n {({ innerRef, droppableProps, placeholder }) => (\n <div ref={innerRef} {...droppableProps}>\n {visibleOptions.map((option, index) => (\n <Draggable\n {...{ index }}\n dataKey={getUniqueOptionId(option)}\n draggableId={getUniqueOptionId(option)}\n isDragDisabled={!draggable}\n key={getUniqueOptionId(option)}\n >\n {({ innerRef, draggableProps, dragHandleProps }) =>\n editable ? (\n <InputOption\n {...{\n dragHandleProps,\n draggableProps,\n hideDeleteOption,\n index,\n innerRef,\n isPictureChoice,\n isTextArea,\n name,\n shouldFocus,\n }}\n disabled={!isEditable}\n id={option.id}\n label={option.label}\n onChange={handleChange}\n onDelete={handleDeleteClick}\n onKeyDown={handleKeyDown}\n />\n ) : (\n <BlockOption\n {...{\n dragHandleProps,\n draggableProps,\n handleDeleteClick,\n hideDeleteOption,\n index,\n innerRef,\n onEdit,\n }}\n id={option.id}\n label={option.label}\n />\n )\n }\n </Draggable>\n ))}\n {error && (\n <Typography\n className=\"neeto-ui-input__error\"\n data-testid=\"validation-error-container\"\n style=\"body3\"\n >\n {error}\n </Typography>\n )}\n {placeholder}\n </div>\n )}\n </Droppable>\n <div className=\"mt-4 flex items-center justify-between\">\n <Button\n data-cy=\"add-option-link\"\n data-testid=\"add-option-link\"\n disabled={!isEditable}\n icon={Plus}\n iconPosition=\"left\"\n label={t(\"neetoMolecules.optionFields.addOption\")}\n size=\"small\"\n style=\"link\"\n onClick={handleAddOption}\n {...buttonProps}\n />\n {bulkActionProps.enabled && (\n <Button\n data-cy=\"add-bulk-option-link\"\n data-testid=\"add-bulk-option-link\"\n disabled={!isEditable}\n label={t(\"neetoMolecules.optionFields.addBulk\")}\n size=\"small\"\n style=\"text\"\n onClick={() => setIsBulkOptionModalOpen(true)}\n />\n )}\n </div>\n </DragDropContext>\n <BulkOptionModal\n bulkAddHelpDocUrl={bulkActionProps.bulkAddHelpDocUrl}\n handleBulkAdd={handleBulkAddOption}\n isOpen={isBulkOptionModalOpen}\n onClose={() => setIsBulkOptionModalOpen(false)}\n />\n </form>\n );\n};\n\nOptionFields.propTypes = {\n /**\n * Props to be passed to the add option button\n */\n buttonProps: PropTypes.object,\n /**\n * Current record object\n */\n currentRecord: PropTypes.object,\n /**\n * Enable drag and drop functionality\n */\n draggable: PropTypes.bool,\n\n /**\n * Enable edit functionality\n */\n editable: PropTypes.bool,\n\n /**\n * Error message to be displayed\n */\n error: PropTypes.string,\n\n /**\n * The field name in Formik state.\n */\n name: PropTypes.string,\n\n /**\n * Function to handle option deletion\n */\n onDelete: PropTypes.func,\n\n /**\n * Function to handle option edit\n *\n */\n onEdit: PropTypes.func,\n\n /**\n * Minimum number of options required\n */\n minOptions: PropTypes.number,\n\n /**\n * Options array\n */\n options: PropTypes.array,\n\n /**\n * Prop to switch between Input and Textarea\n */\n isTextArea: PropTypes.bool,\n\n /**\n * Function to handle options change\n */\n onChange: PropTypes.func,\n\n /**\n * Prop to switch between PictureChoice and normal options\n * */\n isPictureChoice: PropTypes.bool,\n\n /**\n * Prop to destroy options\n * */\n shouldDestroy: PropTypes.bool,\n\n /**\n * Prop to set the item label\n * */\n\n itemLabel: PropTypes.string,\n\n /**\n * Props for bulk action\n */\n bulkActionProps: PropTypes.shape({\n enabled: PropTypes.bool,\n bulkAddHelpDocUrl: PropTypes.string,\n }),\n};\nexport default OptionFields;\n"],"names":["DragHandle","props","_jsx","_objectSpread","className","children","Reorder","size","strokeWidth","BlockOption","withT","_ref","t","innerRef","_ref$hideDeleteOption","hideDeleteOption","draggableProps","dragHandleProps","label","index","onEdit","handleDeleteClick","id","ref","_jsxs","Typography","style","Button","icon","Edit","tooltipProps","content","position","touch","onClick","Delete","BulkOptionModal","isOpen","onClose","handleBulkAdd","bulkAddHelpDocUrl","_useTranslation","useTranslation","_useState","useState","_useState2","_slicedToArray","optionsString","setOptionsString","handleSave","handleClose","Modal","Header","Body","Textarea","placeholder","rows","value","helpText","Trans","i18nKey","components","Link","href","target","onChange","e","Footer","DEFAULT_OPTION_LABEL","i18next","getVisibleOptions","options","arguments","length","undefined","filter","option","deleted","sort","a","b","filterDeletedRecords","reject","prop","randomId","Math","random","toString","substring","attachPosition","map","useOptionFields","shouldDestroy","_ref$name","name","currentRecord","_ref$itemLabel","itemLabel","shouldFocus","setShouldFocus","deletedOptions","_useFormikContext","useFormikContext","initialValues","handleChange","isOnBlur","filteredOptions","findIndexById","draftAttributes","getNextOptions","_path$index","_path$index2","assocPath","path","split","isEmpty","concat","_toConsumableArray","generateLabel","opts","count","labelCount","tempLabel","isDuplicateLabel","pluck","includes","handleDelete","_","nextOptions","indexToDelete","remove","handleDragEnd","_ref2","source","destination","move","finalOptions","handleAddOption","newOption","altId","append","handleBulkAddOption","newOptions","trim","isNotEmpty","handleKeyDown","event","key","form","inputs","Array","from","querySelectorAll","currentInput","indexOf","_inputs","focus","preventDefault","stopPropagation","InputOption","isPictureChoice","onKeyDown","onDelete","disabled","isTextArea","Component","Input","_Fragment","src","ImageUpload","autoFocus","suffix","onBlur","_ref3","onFocus","_ref4","select","OptionFields","error","_ref$onEdit","noop","_ref$buttonProps","buttonProps","_ref$minOptions","minOptions","_ref$draggable","draggable","_ref$editable","editable","_ref$isPictureChoice","_ref$isTextArea","_ref$shouldDestroy","_ref$currentRecord","_ref$bulkActionProps","bulkActionProps","enabled","isBulkOptionModalOpen","setIsBulkOptionModalOpen","_useOptionFields","isEditable","every","some","deleteFunction","visibleOptions","getUniqueOptionId","_option$id","_option$position","slugify","onSubmit","DragDropContext","onDragEnd","Droppable","droppableId","isDropDisabled","droppableProps","_createElement","Draggable","dataKey","draggableId","isDragDisabled","Plus","iconPosition"],"mappings":"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"}
1
+ {"version":3,"file":"OptionFields.js","sources":["../src/components/OptionFields/DragHandle.jsx","../src/components/OptionFields/BlockOption.jsx","../src/components/OptionFields/BulkOptionModal.jsx","../src/components/OptionFields/constants.js","../src/components/OptionFields/utils.js","../src/components/OptionFields/hooks/useOptionFields.js","../src/components/OptionFields/InputOption.jsx","../src/components/OptionFields/index.jsx"],"sourcesContent":["import { Reorder } from \"neetoicons\";\n\nconst DragHandle = props => (\n <div\n className=\"neeto-ui-text-gray-400 absolute bottom-0 left-0 top-0 my-auto -ml-6 h-6 cursor-grab opacity-0 transition-opacity duration-300 ease-in-out group-hover:opacity-100\"\n data-cy=\"drag-handle\"\n data-testid=\"drag-handle\"\n {...props}\n >\n <Reorder size={24} strokeWidth={2} />\n </div>\n);\n\nexport default DragHandle;\n","import { withT } from \"neetocommons/react-utils\";\nimport { Delete, Edit } from \"neetoicons\";\nimport { Button, Typography } from \"neetoui\";\n\nimport DragHandle from \"./DragHandle\";\n\nconst BlockOption = withT(\n ({\n t,\n innerRef,\n hideDeleteOption = false,\n draggableProps,\n dragHandleProps,\n label,\n index,\n onEdit,\n handleDeleteClick,\n id,\n }) => (\n <div ref={innerRef} {...draggableProps} {...dragHandleProps}>\n <div\n className=\"neeto-ui-border-gray-400 hover:neeto-ui-bg-gray-200 neeto-ui-rounded-sm shadow-xs group relative mb-2 flex h-10 cursor-pointer items-center gap-2 border p-3 transition-colors duration-300 ease-in-out\"\n data-cy=\"address-field-block\"\n >\n <DragHandle {...dragHandleProps} />\n <Typography\n className=\"flex-grow leading-4\"\n data-cy=\"address-text-field\"\n data-testid=\"address-text-field\"\n style=\"body2\"\n >\n {label}\n </Typography>\n <div className=\"flex items-center justify-end gap-2 opacity-0 group-hover:opacity-100\">\n <Button\n className=\"neeto-ui-rounded hover:neeto-ui-bg-gray-400 p-1\"\n data-cy=\"address-field-edit-button\"\n data-testid=\"address-field-edit-button\"\n icon={Edit}\n size=\"small\"\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoMolecules.common.actions.edit\"),\n position: \"top\",\n touch: [\"hold\", 500],\n }}\n onClick={() => onEdit(index)}\n />\n {!hideDeleteOption && (\n <Button\n className=\"neeto-ui-rounded hover:neeto-ui-bg-gray-400 p-1\"\n data-cy=\"address-field-delete-button\"\n data-testid=\"address-field-delete-button\"\n icon={Delete}\n size=\"small\"\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoMolecules.common.actions.delete\"),\n position: \"top\",\n touch: [\"hold\", 500],\n }}\n onClick={() => handleDeleteClick({ index, id })}\n />\n )}\n </div>\n </div>\n </div>\n )\n);\n\nexport default BlockOption;\n","import { useState } from \"react\";\n\nimport { Button, Modal, Textarea, Typography } from \"neetoui\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nconst BulkOptionModal = ({\n isOpen,\n onClose,\n handleBulkAdd,\n bulkAddHelpDocUrl,\n}) => {\n const { t } = useTranslation();\n const [optionsString, setOptionsString] = useState(\"\");\n\n const handleSave = () => {\n handleBulkAdd(optionsString);\n handleClose();\n };\n\n const handleClose = () => {\n setOptionsString(\"\");\n onClose();\n };\n\n return (\n <Modal {...{ isOpen }} onClose={handleClose}>\n <Modal.Header>\n <Typography style=\"h3\">\n {t(\"neetoMolecules.optionFields.bulkOption.title\")}\n </Typography>\n </Modal.Header>\n <Modal.Body>\n <Textarea\n className=\"my-2\"\n data-cy=\"bulk-add-options-textarea\"\n data-testid=\"bulk-add-options-textarea\"\n label={t(\"neetoMolecules.optionFields.bulkOption.label\")}\n placeholder={t(\"neetoMolecules.optionFields.bulkOption.label\")}\n rows={8}\n value={optionsString}\n helpText={\n <Trans\n i18nKey=\"neetoMolecules.optionFields.bulkOption.helpText\"\n components={{\n Link: (\n <Button\n className=\"text-xs\"\n href={bulkAddHelpDocUrl}\n style=\"link\"\n target=\"_blank\"\n />\n ),\n }}\n />\n }\n onChange={e => setOptionsString(e.target.value)}\n />\n </Modal.Body>\n <Modal.Footer className=\"gap-x-2\">\n <Button\n data-cy=\"bulk-add-options-done-button\"\n data-testid=\"bulk-add-options-done-button\"\n label={t(\"neetoMolecules.common.actions.submit\")}\n onClick={handleSave}\n />\n <Button\n data-cy=\"bulk-add-options-cancel-button\"\n data-testid=\"bulk-add-options-cancel-button\"\n label={t(\"neetoMolecules.common.actions.cancel\")}\n style=\"text\"\n onClick={handleClose}\n />\n </Modal.Footer>\n </Modal>\n );\n};\n\nexport default BulkOptionModal;\n","import i18next from \"i18next\";\n\nexport const DEFAULT_OPTION_LABEL = i18next.t(\n \"neetoMolecules.optionFields.defaultOption\"\n);\n","import { prop, reject } from \"ramda\";\n\nexport const getOrderedVisibleOptions = (options = []) =>\n options\n .filter(option => !option.deleted)\n .sort((a, b) => a.position - b.position);\n\nexport const filterDeletedRecords = reject(prop(\"deleted\"));\n\nexport const randomId = () => Math.random().toString(36).substring(2, 13);\n","import { useRef, useState } from \"react\";\n\nimport { isNotEmpty, findIndexById } from \"neetocist\";\nimport { pluck, append, assocPath, move, remove, isEmpty, prop } from \"ramda\";\n\nimport { DEFAULT_OPTION_LABEL } from \"../constants\";\nimport { filterDeletedRecords, randomId } from \"../utils\";\n\nconst attachPosition = options =>\n options.map((option, index) => ({ ...option, position: index }));\n\nconst useOptionFields = ({\n options,\n onChange,\n shouldDestroy,\n itemLabel = DEFAULT_OPTION_LABEL,\n}) => {\n const [shouldFocus, setShouldFocus] = useState(false);\n const editingOptionDetailsRef = useRef({ id: \"\", value: \"\" });\n\n const handleChange = (id, value, isOnBlur = false) => {\n // Ignores onBlur events if the value in the input field is not cleared.\n // The value will be reset to the initial value if user clicks outside after clearing the value.\n if (isOnBlur && !isEmpty(value)) return;\n\n const index = findIndexById(id, options);\n if (editingOptionDetailsRef.current.id !== id) {\n editingOptionDetailsRef.current = {\n id,\n value: options[index].label,\n };\n }\n\n // Resets the value to initial value if the user cleared and blurred the input field.\n const valueToUpdate = isOnBlur\n ? editingOptionDetailsRef.current.value\n : value;\n\n onChange(assocPath([index, \"label\"], valueToUpdate, options));\n };\n\n const generateLabel = (opts, count) => {\n const labelCount = count || opts.length + 1;\n const tempLabel = `${itemLabel} ${labelCount}`;\n const isDuplicateLabel = pluck(\"label\", opts).includes(tempLabel);\n\n return isDuplicateLabel ? generateLabel(opts, labelCount + 1) : tempLabel;\n };\n\n const handleDelete = (_, id) => {\n let nextOptions;\n\n const indexToDelete = findIndexById(id, options);\n if (shouldDestroy) {\n nextOptions = assocPath([indexToDelete, \"deleted\"], true, options);\n } else {\n nextOptions = attachPosition(remove(indexToDelete, 1, options));\n }\n onChange(nextOptions);\n };\n\n const handleDragEnd = ({ source, destination }) => {\n // When dragged outside of draggable\n if (destination === null) return;\n\n const deletedOptions = options.filter(prop(\"deleted\"));\n const filteredOptions = filterDeletedRecords(options);\n const nextOptions = move(source.index, destination.index, filteredOptions);\n const finalOptions = attachPosition(nextOptions);\n onChange([...deletedOptions, ...finalOptions]);\n };\n\n const handleAddOption = () => {\n const id = randomId();\n const newOption = {\n id: `draft-${id}`,\n altId: `alt-${id}`,\n label: generateLabel(options, null),\n position: options.length,\n };\n setShouldFocus(true);\n onChange(append(newOption, options));\n };\n\n const handleBulkAddOption = optionsString => {\n setShouldFocus(true);\n const position = filterDeletedRecords(options).length;\n const newOptions = optionsString\n .trim()\n .split(/\\r?\\n|,/)\n .filter(isNotEmpty)\n .map((option, index) => ({\n id: `draft-${randomId()}`,\n altId: `alt-${randomId()}`,\n label: option.trim(),\n position: position + index,\n }));\n onChange([...options, ...newOptions]);\n };\n\n const handleKeyDown = () => event => {\n if (event.key !== \"Enter\") return;\n const form = event.target.form;\n const inputs = Array.from(form.querySelectorAll(\"input\"));\n const currentInput = inputs.indexOf(event.target);\n\n if (currentInput >= inputs.length - 1) {\n handleAddOption();\n } else {\n inputs[currentInput + 1]?.focus();\n event.preventDefault();\n }\n event.stopPropagation();\n };\n\n return {\n shouldFocus,\n handleAddOption,\n handleBulkAddOption,\n handleChange,\n handleKeyDown,\n handleDelete,\n handleDragEnd,\n };\n};\n\nexport default useOptionFields;\n","import { ImageUpload, Delete } from \"neetoicons\";\nimport { Button, Input, Textarea } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport DragHandle from \"./DragHandle\";\n\nconst InputOption = ({\n shouldFocus,\n hideDeleteOption = false,\n innerRef,\n draggableProps,\n dragHandleProps,\n isPictureChoice,\n onKeyDown,\n onDelete,\n onChange,\n label,\n index,\n disabled,\n isTextArea,\n id,\n}) => {\n const { t } = useTranslation();\n\n const Component = isTextArea ? Textarea : Input;\n\n return (\n <div\n ref={innerRef}\n {...{ ...draggableProps, ...dragHandleProps }}\n data-cy=\"form-block-options\"\n >\n <div className=\"nf-input-options group relative mb-2 flex items-center gap-2\">\n <DragHandle {...dragHandleProps} />\n {isPictureChoice && (\n <>\n {index === 0 ? (\n <img\n className=\"neeto-ui-rounded-sm h-8 w-8 cursor-pointer overflow-hidden object-cover\"\n data-testid=\"picture-choice-option\"\n src=\"https://i.pravatar.cc/300\"\n />\n ) : (\n <div className=\"hover:neeto-ui-bg-gray-100 neeto-ui-border-primary-600 neeto-ui-text-primary-800 neeto-ui-rounded-sm flex h-8 w-8 cursor-pointer items-center justify-center border border-dashed transition-all duration-300 ease-in-out\">\n <ImageUpload size={16} />\n </div>\n )}\n </>\n )}\n <Component\n {...{ disabled }}\n autoFocus={shouldFocus}\n data-cy={`option-input-${index}`}\n data-testid={isTextArea ? \"textarea-option\" : \"input-option\"}\n placeholder={t(\"neetoMolecules.optionFields.optionName\")}\n value={label}\n suffix={\n !hideDeleteOption && (\n <Button\n {...{ disabled }}\n className=\"p-0.5\"\n data-cy={`delete-option-button-${index}`}\n data-testid=\"delete-option-button\"\n icon={Delete}\n size=\"small\"\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoMolecules.common.actions.delete\"),\n position: \"top\",\n touch: [\"hold\", 500],\n }}\n onClick={() => onDelete({ index, id })}\n />\n )\n }\n onBlur={({ target }) => onChange(id, target.value, true)}\n onChange={({ target }) => onChange(id, target.value)}\n onFocus={({ target }) => target.select()}\n onKeyDown={onKeyDown(index)}\n />\n </div>\n </div>\n );\n};\n\nexport default InputOption;\n","import { useState } from \"react\";\n\nimport { DragDropContext, Droppable, Draggable } from \"@hello-pangea/dnd\";\nimport { slugify, noop } from \"neetocist\";\nimport { Plus } from \"neetoicons\";\nimport { Button, Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport BlockOption from \"./BlockOption\";\nimport BulkOptionModal from \"./BulkOptionModal\";\nimport useOptionFields from \"./hooks/useOptionFields\";\nimport InputOption from \"./InputOption\";\nimport { getOrderedVisibleOptions } from \"./utils\";\n\nconst OptionFields = ({\n options,\n error,\n onChange,\n name,\n onDelete,\n itemLabel,\n onEdit = noop,\n buttonProps = {},\n minOptions = 0,\n draggable = false,\n editable = true,\n isPictureChoice = false,\n isTextArea = false,\n shouldDestroy = false,\n bulkActionProps = { enabled: false, bulkAddHelpDocUrl: \"\" },\n}) => {\n const { t } = useTranslation();\n const [isBulkOptionModalOpen, setIsBulkOptionModalOpen] = useState(false);\n\n const {\n shouldFocus,\n handleAddOption,\n handleBulkAddOption,\n handleChange,\n handleKeyDown,\n handleDelete,\n handleDragEnd,\n } = useOptionFields({\n options,\n onChange,\n shouldDestroy,\n itemLabel,\n });\n\n // Temporarily disables the modifications to options when changed are getting saved to server\n // This condition only needed for server id generated types\n let isEditable = true;\n if (shouldDestroy) {\n isEditable =\n options.every(prop(\"id\") || error) && !options.some(prop(\"_destroy\"));\n }\n\n const handleDeleteClick = ({ index, id }) => {\n const deleteFunction = onDelete ?? handleDelete;\n deleteFunction(index, id);\n };\n const orderedVisibleOptions = getOrderedVisibleOptions(options);\n const hideDeleteOption = orderedVisibleOptions.length <= minOptions;\n\n const getUniqueOptionId = option =>\n option.altId ||\n option.id?.toString() ||\n option.position?.toString() ||\n slugify(option.label);\n\n return (\n <form onSubmit={e => e.preventDefault()}>\n <DragDropContext onDragEnd={handleDragEnd}>\n <Droppable\n droppableId={`neeto-molecules-option-fields-${name}`}\n isDropDisabled={!draggable}\n >\n {({ innerRef, droppableProps, placeholder }) => (\n <div ref={innerRef} {...droppableProps}>\n {orderedVisibleOptions.map((option, index) => (\n <Draggable\n {...{ index }}\n dataKey={getUniqueOptionId(option)}\n draggableId={getUniqueOptionId(option)}\n isDragDisabled={!draggable}\n key={getUniqueOptionId(option)}\n >\n {({ innerRef, draggableProps, dragHandleProps }) =>\n editable ? (\n <InputOption\n {...{\n dragHandleProps,\n draggableProps,\n hideDeleteOption,\n index,\n innerRef,\n isPictureChoice,\n isTextArea,\n name,\n shouldFocus,\n }}\n disabled={!isEditable}\n id={option.id}\n label={option.label}\n onChange={handleChange}\n onDelete={handleDeleteClick}\n onKeyDown={handleKeyDown}\n />\n ) : (\n <BlockOption\n {...{\n dragHandleProps,\n draggableProps,\n handleDeleteClick,\n hideDeleteOption,\n index,\n innerRef,\n onEdit,\n }}\n id={option.id}\n label={option.label}\n />\n )\n }\n </Draggable>\n ))}\n {error && (\n <Typography\n className=\"neeto-ui-input__error\"\n data-testid=\"validation-error-container\"\n style=\"body3\"\n >\n {error}\n </Typography>\n )}\n {placeholder}\n </div>\n )}\n </Droppable>\n <div className=\"mt-4 flex items-center justify-between\">\n <Button\n data-cy=\"add-option-link\"\n data-testid=\"add-option-link\"\n disabled={!isEditable}\n icon={Plus}\n iconPosition=\"left\"\n label={t(\"neetoMolecules.optionFields.addOption\")}\n size=\"small\"\n style=\"link\"\n onClick={handleAddOption}\n {...buttonProps}\n />\n {bulkActionProps.enabled && (\n <Button\n data-cy=\"add-bulk-option-link\"\n data-testid=\"add-bulk-option-link\"\n disabled={!isEditable}\n label={t(\"neetoMolecules.optionFields.addBulk\")}\n size=\"small\"\n style=\"text\"\n onClick={() => setIsBulkOptionModalOpen(true)}\n />\n )}\n </div>\n </DragDropContext>\n <BulkOptionModal\n bulkAddHelpDocUrl={bulkActionProps.bulkAddHelpDocUrl}\n handleBulkAdd={handleBulkAddOption}\n isOpen={isBulkOptionModalOpen}\n onClose={() => setIsBulkOptionModalOpen(false)}\n />\n </form>\n );\n};\n\nOptionFields.propTypes = {\n /**\n * Props to be passed to the add option button\n */\n buttonProps: PropTypes.object,\n\n /**\n * Enable drag and drop functionality\n */\n draggable: PropTypes.bool,\n\n /**\n * Enable edit functionality\n */\n editable: PropTypes.bool,\n\n /**\n * Error message to be displayed\n */\n error: PropTypes.string,\n\n /**\n * The field name in Formik state.\n */\n name: PropTypes.string,\n\n /**\n * Function to handle option deletion\n */\n onDelete: PropTypes.func,\n\n /**\n * Function to handle option edit\n *\n */\n onEdit: PropTypes.func,\n\n /**\n * Minimum number of options required\n */\n minOptions: PropTypes.number,\n\n /**\n * Options array\n */\n options: PropTypes.array,\n\n /**\n * Prop to switch between Input and Textarea\n */\n isTextArea: PropTypes.bool,\n\n /**\n * Function to handle options change\n */\n onChange: PropTypes.func,\n\n /**\n * Prop to switch between PictureChoice and normal options\n * */\n isPictureChoice: PropTypes.bool,\n\n /**\n * Prop to destroy options\n * */\n shouldDestroy: PropTypes.bool,\n\n /**\n * Prop to set the item label\n * */\n\n itemLabel: PropTypes.string,\n\n /**\n * Props for bulk action\n */\n bulkActionProps: PropTypes.shape({\n enabled: PropTypes.bool,\n bulkAddHelpDocUrl: PropTypes.string,\n }),\n};\nexport default OptionFields;\n"],"names":["DragHandle","props","_jsx","_objectSpread","className","children","Reorder","size","strokeWidth","BlockOption","withT","_ref","t","innerRef","_ref$hideDeleteOption","hideDeleteOption","draggableProps","dragHandleProps","label","index","onEdit","handleDeleteClick","id","ref","_jsxs","Typography","style","Button","icon","Edit","tooltipProps","content","position","touch","onClick","Delete","BulkOptionModal","isOpen","onClose","handleBulkAdd","bulkAddHelpDocUrl","_useTranslation","useTranslation","_useState","useState","_useState2","_slicedToArray","optionsString","setOptionsString","handleSave","handleClose","Modal","Header","Body","Textarea","placeholder","rows","value","helpText","Trans","i18nKey","components","Link","href","target","onChange","e","Footer","DEFAULT_OPTION_LABEL","i18next","getOrderedVisibleOptions","options","arguments","length","undefined","filter","option","deleted","sort","a","b","filterDeletedRecords","reject","prop","randomId","Math","random","toString","substring","attachPosition","map","useOptionFields","shouldDestroy","_ref$itemLabel","itemLabel","shouldFocus","setShouldFocus","editingOptionDetailsRef","useRef","handleChange","isOnBlur","isEmpty","findIndexById","current","valueToUpdate","assocPath","generateLabel","opts","count","labelCount","tempLabel","concat","isDuplicateLabel","pluck","includes","handleDelete","_","nextOptions","indexToDelete","remove","handleDragEnd","_ref2","source","destination","deletedOptions","filteredOptions","move","finalOptions","_toConsumableArray","handleAddOption","newOption","altId","append","handleBulkAddOption","newOptions","trim","split","isNotEmpty","handleKeyDown","event","key","form","inputs","Array","from","querySelectorAll","currentInput","indexOf","_inputs","focus","preventDefault","stopPropagation","InputOption","isPictureChoice","onKeyDown","onDelete","disabled","isTextArea","Component","Input","_Fragment","src","ImageUpload","autoFocus","suffix","onBlur","_ref3","onFocus","_ref4","select","OptionFields","error","name","_ref$onEdit","noop","_ref$buttonProps","buttonProps","_ref$minOptions","minOptions","_ref$draggable","draggable","_ref$editable","editable","_ref$isPictureChoice","_ref$isTextArea","_ref$shouldDestroy","_ref$bulkActionProps","bulkActionProps","enabled","isBulkOptionModalOpen","setIsBulkOptionModalOpen","_useOptionFields","isEditable","every","some","deleteFunction","orderedVisibleOptions","getUniqueOptionId","_option$id","_option$position","slugify","onSubmit","DragDropContext","onDragEnd","Droppable","droppableId","isDropDisabled","droppableProps","_createElement","Draggable","dataKey","draggableId","isDragDisabled","Plus","iconPosition"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAMA,UAAU,GAAG,SAAbA,UAAUA,CAAGC,KAAK,EAAA;AAAA,EAAA,oBACtBC,GAAA,CAAA,KAAA,EAAAC,eAAA,CAAAA,eAAA,CAAA;AACEC,IAAAA,SAAS,EAAC,mKAAmK;AAC7K,IAAA,SAAA,EAAQ,aAAa;IACrB,aAAY,EAAA,aAAA;AAAa,GAAA,EACrBH,KAAK,CAAA,EAAA,EAAA,EAAA;IAAAI,QAAA,eAETH,GAAA,CAACI,OAAO,EAAA;AAACC,MAAAA,IAAI,EAAE,EAAG;AAACC,MAAAA,WAAW,EAAE,CAAA;KAAI,CAAA;AAAC,GAAA,CAClC,CAAC,CAAA;AAAA,CACP;;;;ACLD,IAAMC,WAAW,GAAGC,KAAK,CACvB,UAAAC,IAAA,EAAA;AAAA,EAAA,IACEC,CAAC,GAAAD,IAAA,CAADC,CAAC;IACDC,QAAQ,GAAAF,IAAA,CAARE,QAAQ;IAAAC,qBAAA,GAAAH,IAAA,CACRI,gBAAgB;AAAhBA,IAAAA,gBAAgB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,qBAAA;IACxBE,cAAc,GAAAL,IAAA,CAAdK,cAAc;IACdC,eAAe,GAAAN,IAAA,CAAfM,eAAe;IACfC,KAAK,GAAAP,IAAA,CAALO,KAAK;IACLC,KAAK,GAAAR,IAAA,CAALQ,KAAK;IACLC,MAAM,GAAAT,IAAA,CAANS,MAAM;IACNC,iBAAiB,GAAAV,IAAA,CAAjBU,iBAAiB;IACjBC,EAAE,GAAAX,IAAA,CAAFW,EAAE,CAAA;AAAA,EAAA,oBAEFpB,GAAA,CAAAC,KAAAA,EAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAA;AAAKoB,IAAAA,GAAG,EAAEV,QAAAA;GAAcG,EAAAA,cAAc,GAAMC,eAAe,CAAA,EAAA,EAAA,EAAA;AAAAZ,IAAAA,QAAA,eACzDmB,IAAA,CAAA,KAAA,EAAA;AACEpB,MAAAA,SAAS,EAAC,yMAAyM;AACnN,MAAA,SAAA,EAAQ,qBAAqB;AAAAC,MAAAA,QAAA,EAE7BH,cAAAA,GAAA,CAACF,UAAU,EAAAG,eAAA,CAAKc,EAAAA,EAAAA,eAAe,CAAG,CAAC,eACnCf,GAAA,CAACuB,UAAU,EAAA;AACTrB,QAAAA,SAAS,EAAC,qBAAqB;AAC/B,QAAA,SAAA,EAAQ,oBAAoB;AAC5B,QAAA,aAAA,EAAY,oBAAoB;AAChCsB,QAAAA,KAAK,EAAC,OAAO;AAAArB,QAAAA,QAAA,EAEZa,KAAAA;OACS,CAAC,eACbM,IAAA,CAAA,KAAA,EAAA;AAAKpB,QAAAA,SAAS,EAAC,uEAAuE;QAAAC,QAAA,EAAA,cACpFH,GAAA,CAACyB,MAAM,EAAA;AACLvB,UAAAA,SAAS,EAAC,iDAAiD;AAC3D,UAAA,SAAA,EAAQ,2BAA2B;AACnC,UAAA,aAAA,EAAY,2BAA2B;AACvCwB,UAAAA,IAAI,EAAEC,IAAK;AACXtB,UAAAA,IAAI,EAAC,OAAO;AACZmB,UAAAA,KAAK,EAAC,MAAM;AACZI,UAAAA,YAAY,EAAE;AACZC,YAAAA,OAAO,EAAEnB,CAAC,CAAC,oCAAoC,CAAC;AAChDoB,YAAAA,QAAQ,EAAE,KAAK;AACfC,YAAAA,KAAK,EAAE,CAAC,MAAM,EAAE,GAAG,CAAA;WACnB;UACFC,OAAO,EAAE,SAATA,OAAOA,GAAA;YAAA,OAAQd,MAAM,CAACD,KAAK,CAAC,CAAA;AAAA,WAAA;AAAC,SAC9B,CAAC,EACD,CAACJ,gBAAgB,iBAChBb,GAAA,CAACyB,MAAM,EAAA;AACLvB,UAAAA,SAAS,EAAC,iDAAiD;AAC3D,UAAA,SAAA,EAAQ,6BAA6B;AACrC,UAAA,aAAA,EAAY,6BAA6B;AACzCwB,UAAAA,IAAI,EAAEO,MAAO;AACb5B,UAAAA,IAAI,EAAC,OAAO;AACZmB,UAAAA,KAAK,EAAC,MAAM;AACZI,UAAAA,YAAY,EAAE;AACZC,YAAAA,OAAO,EAAEnB,CAAC,CAAC,sCAAsC,CAAC;AAClDoB,YAAAA,QAAQ,EAAE,KAAK;AACfC,YAAAA,KAAK,EAAE,CAAC,MAAM,EAAE,GAAG,CAAA;WACnB;UACFC,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,YAAA,OAAQb,iBAAiB,CAAC;AAAEF,cAAAA,KAAK,EAALA,KAAK;AAAEG,cAAAA,EAAE,EAAFA,EAAAA;AAAG,aAAC,CAAC,CAAA;AAAA,WAAA;AAAC,SACjD,CACF,CAAA;AAAA,OACE,CAAC,CAAA;KACH,CAAA;AAAC,GAAA,CACH,CAAC,CAAA;AAAA,CAEV,CAAC;;AC/DD,IAAMc,eAAe,GAAG,SAAlBA,eAAeA,CAAAzB,IAAA,EAKf;AAAA,EAAA,IAJJ0B,MAAM,GAAA1B,IAAA,CAAN0B,MAAM;IACNC,OAAO,GAAA3B,IAAA,CAAP2B,OAAO;IACPC,aAAa,GAAA5B,IAAA,CAAb4B,aAAa;IACbC,iBAAiB,GAAA7B,IAAA,CAAjB6B,iBAAiB,CAAA;AAEjB,EAAA,IAAAC,eAAA,GAAcC,cAAc,EAAE;IAAtB9B,CAAC,GAAA6B,eAAA,CAAD7B,CAAC,CAAA;AACT,EAAA,IAAA+B,SAAA,GAA0CC,QAAQ,CAAC,EAAE,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAA/CI,IAAAA,aAAa,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,gBAAgB,GAAAH,UAAA,CAAA,CAAA,CAAA,CAAA;AAEtC,EAAA,IAAMI,UAAU,GAAG,SAAbA,UAAUA,GAAS;IACvBV,aAAa,CAACQ,aAAa,CAAC,CAAA;AAC5BG,IAAAA,WAAW,EAAE,CAAA;GACd,CAAA;AAED,EAAA,IAAMA,WAAW,GAAG,SAAdA,WAAWA,GAAS;IACxBF,gBAAgB,CAAC,EAAE,CAAC,CAAA;AACpBV,IAAAA,OAAO,EAAE,CAAA;GACV,CAAA;EAED,oBACEd,IAAA,CAAC2B,KAAK,EAAA;AAAOd,IAAAA,MAAM,EAANA,MAAM;AAAIC,IAAAA,OAAO,EAAEY,WAAY;AAAA7C,IAAAA,QAAA,EAC1CH,cAAAA,GAAA,CAACiD,KAAK,CAACC,MAAM,EAAA;MAAA/C,QAAA,eACXH,GAAA,CAACuB,UAAU,EAAA;AAACC,QAAAA,KAAK,EAAC,IAAI;QAAArB,QAAA,EACnBO,CAAC,CAAC,8CAA8C,CAAA;OACvC,CAAA;AAAC,KACD,CAAC,eACfV,GAAA,CAACiD,KAAK,CAACE,IAAI,EAAA;MAAAhD,QAAA,eACTH,GAAA,CAACoD,QAAQ,EAAA;AACPlD,QAAAA,SAAS,EAAC,MAAM;AAChB,QAAA,SAAA,EAAQ,2BAA2B;AACnC,QAAA,aAAA,EAAY,2BAA2B;AACvCc,QAAAA,KAAK,EAAEN,CAAC,CAAC,8CAA8C,CAAE;AACzD2C,QAAAA,WAAW,EAAE3C,CAAC,CAAC,8CAA8C,CAAE;AAC/D4C,QAAAA,IAAI,EAAE,CAAE;AACRC,QAAAA,KAAK,EAAEV,aAAc;QACrBW,QAAQ,eACNxD,GAAA,CAACyD,KAAK,EAAA;AACJC,UAAAA,OAAO,EAAC,iDAAiD;AACzDC,UAAAA,UAAU,EAAE;YACVC,IAAI,eACF5D,GAAA,CAACyB,MAAM,EAAA;AACLvB,cAAAA,SAAS,EAAC,SAAS;AACnB2D,cAAAA,IAAI,EAAEvB,iBAAkB;AACxBd,cAAAA,KAAK,EAAC,MAAM;AACZsC,cAAAA,MAAM,EAAC,QAAA;aACR,CAAA;AAEL,WAAA;AAAE,SACH,CACF;AACDC,QAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAEC,CAAC,EAAA;AAAA,UAAA,OAAIlB,gBAAgB,CAACkB,CAAC,CAACF,MAAM,CAACP,KAAK,CAAC,CAAA;AAAA,SAAA;OAChD,CAAA;AAAC,KACQ,CAAC,eACbjC,IAAA,CAAC2B,KAAK,CAACgB,MAAM,EAAA;AAAC/D,MAAAA,SAAS,EAAC,SAAS;MAAAC,QAAA,EAAA,cAC/BH,GAAA,CAACyB,MAAM,EAAA;AACL,QAAA,SAAA,EAAQ,8BAA8B;AACtC,QAAA,aAAA,EAAY,8BAA8B;AAC1CT,QAAAA,KAAK,EAAEN,CAAC,CAAC,sCAAsC,CAAE;AACjDsB,QAAAA,OAAO,EAAEe,UAAAA;AAAW,OACrB,CAAC,eACF/C,GAAA,CAACyB,MAAM,EAAA;AACL,QAAA,SAAA,EAAQ,gCAAgC;AACxC,QAAA,aAAA,EAAY,gCAAgC;AAC5CT,QAAAA,KAAK,EAAEN,CAAC,CAAC,sCAAsC,CAAE;AACjDc,QAAAA,KAAK,EAAC,MAAM;AACZQ,QAAAA,OAAO,EAAEgB,WAAAA;AAAY,OACtB,CAAC,CAAA;AAAA,KACU,CAAC,CAAA;AAAA,GACV,CAAC,CAAA;AAEZ,CAAC;;ACzEM,IAAMkB,oBAAoB,GAAGC,OAAO,CAACzD,CAAC,CAC3C,2CACF,CAAC;;ACFM,IAAM0D,wBAAwB,GAAG,SAA3BA,wBAAwBA,GAAA;AAAA,EAAA,IAAIC,OAAO,GAAAC,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,EAAE,CAAA;AAAA,EAAA,OACnDD,OAAO,CACJI,MAAM,CAAC,UAAAC,MAAM,EAAA;IAAA,OAAI,CAACA,MAAM,CAACC,OAAO,CAAA;AAAA,GAAA,CAAC,CACjCC,IAAI,CAAC,UAACC,CAAC,EAAEC,CAAC,EAAA;AAAA,IAAA,OAAKD,CAAC,CAAC/C,QAAQ,GAAGgD,CAAC,CAAChD,QAAQ,CAAA;GAAC,CAAA,CAAA;AAAA,CAAA,CAAA;AAErC,IAAMiD,oBAAoB,GAAGC,MAAM,CAACC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAA;AAEpD,IAAMC,QAAQ,GAAG,SAAXA,QAAQA,GAAA;AAAA,EAAA,OAASC,IAAI,CAACC,MAAM,EAAE,CAACC,QAAQ,CAAC,EAAE,CAAC,CAACC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;AAAA,CAAA;;;;ACDzE,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,CAAGlB,OAAO,EAAA;AAAA,EAAA,OAC5BA,OAAO,CAACmB,GAAG,CAAC,UAACd,MAAM,EAAEzD,KAAK,EAAA;AAAA,IAAA,OAAAhB,eAAA,CAAAA,eAAA,CAAA,EAAA,EAAWyE,MAAM,CAAA,EAAA,EAAA,EAAA;AAAE5C,MAAAA,QAAQ,EAAEb,KAAAA;AAAK,KAAA,CAAA,CAAA;AAAA,GAAG,CAAC,CAAA;AAAA,CAAA,CAAA;AAElE,IAAMwE,eAAe,GAAG,SAAlBA,eAAeA,CAAAhF,IAAA,EAKf;AAAA,EAAA,IAJJ4D,OAAO,GAAA5D,IAAA,CAAP4D,OAAO;IACPN,QAAQ,GAAAtD,IAAA,CAARsD,QAAQ;IACR2B,aAAa,GAAAjF,IAAA,CAAbiF,aAAa;IAAAC,cAAA,GAAAlF,IAAA,CACbmF,SAAS;AAATA,IAAAA,SAAS,GAAAD,cAAA,KAAGzB,KAAAA,CAAAA,GAAAA,oBAAoB,GAAAyB,cAAA,CAAA;AAEhC,EAAA,IAAAlD,SAAA,GAAsCC,QAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAA9CoD,IAAAA,WAAW,GAAAlD,UAAA,CAAA,CAAA,CAAA;AAAEmD,IAAAA,cAAc,GAAAnD,UAAA,CAAA,CAAA,CAAA,CAAA;EAClC,IAAMoD,uBAAuB,GAAGC,MAAM,CAAC;AAAE5E,IAAAA,EAAE,EAAE,EAAE;AAAEmC,IAAAA,KAAK,EAAE,EAAA;AAAG,GAAC,CAAC,CAAA;EAE7D,IAAM0C,YAAY,GAAG,SAAfA,YAAYA,CAAI7E,EAAE,EAAEmC,KAAK,EAAuB;AAAA,IAAA,IAArB2C,QAAQ,GAAA5B,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,KAAK,CAAA;AAC/C;AACA;AACA,IAAA,IAAI4B,QAAQ,IAAI,CAACC,OAAO,CAAC5C,KAAK,CAAC,EAAE,OAAA;AAEjC,IAAA,IAAMtC,KAAK,GAAGmF,aAAa,CAAChF,EAAE,EAAEiD,OAAO,CAAC,CAAA;AACxC,IAAA,IAAI0B,uBAAuB,CAACM,OAAO,CAACjF,EAAE,KAAKA,EAAE,EAAE;MAC7C2E,uBAAuB,CAACM,OAAO,GAAG;AAChCjF,QAAAA,EAAE,EAAFA,EAAE;AACFmC,QAAAA,KAAK,EAAEc,OAAO,CAACpD,KAAK,CAAC,CAACD,KAAAA;OACvB,CAAA;AACH,KAAA;;AAEA;IACA,IAAMsF,aAAa,GAAGJ,QAAQ,GAC1BH,uBAAuB,CAACM,OAAO,CAAC9C,KAAK,GACrCA,KAAK,CAAA;AAETQ,IAAAA,QAAQ,CAACwC,SAAS,CAAC,CAACtF,KAAK,EAAE,OAAO,CAAC,EAAEqF,aAAa,EAAEjC,OAAO,CAAC,CAAC,CAAA;GAC9D,CAAA;EAED,IAAMmC,cAAa,GAAG,SAAhBA,aAAaA,CAAIC,IAAI,EAAEC,KAAK,EAAK;IACrC,IAAMC,UAAU,GAAGD,KAAK,IAAID,IAAI,CAAClC,MAAM,GAAG,CAAC,CAAA;IAC3C,IAAMqC,SAAS,MAAAC,MAAA,CAAMjB,SAAS,EAAAiB,GAAAA,CAAAA,CAAAA,MAAA,CAAIF,UAAU,CAAE,CAAA;AAC9C,IAAA,IAAMG,gBAAgB,GAAGC,KAAK,CAAC,OAAO,EAAEN,IAAI,CAAC,CAACO,QAAQ,CAACJ,SAAS,CAAC,CAAA;IAEjE,OAAOE,gBAAgB,GAAGN,cAAa,CAACC,IAAI,EAAEE,UAAU,GAAG,CAAC,CAAC,GAAGC,SAAS,CAAA;GAC1E,CAAA;EAED,IAAMK,YAAY,GAAG,SAAfA,YAAYA,CAAIC,CAAC,EAAE9F,EAAE,EAAK;AAC9B,IAAA,IAAI+F,WAAW,CAAA;AAEf,IAAA,IAAMC,aAAa,GAAGhB,aAAa,CAAChF,EAAE,EAAEiD,OAAO,CAAC,CAAA;AAChD,IAAA,IAAIqB,aAAa,EAAE;AACjByB,MAAAA,WAAW,GAAGZ,SAAS,CAAC,CAACa,aAAa,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE/C,OAAO,CAAC,CAAA;AACpE,KAAC,MAAM;MACL8C,WAAW,GAAG5B,cAAc,CAAC8B,MAAM,CAACD,aAAa,EAAE,CAAC,EAAE/C,OAAO,CAAC,CAAC,CAAA;AACjE,KAAA;IACAN,QAAQ,CAACoD,WAAW,CAAC,CAAA;GACtB,CAAA;AAED,EAAA,IAAMG,aAAa,GAAG,SAAhBA,aAAaA,CAAAC,KAAA,EAAgC;AAAA,IAAA,IAA1BC,MAAM,GAAAD,KAAA,CAANC,MAAM;MAAEC,WAAW,GAAAF,KAAA,CAAXE,WAAW,CAAA;AAC1C;IACA,IAAIA,WAAW,KAAK,IAAI,EAAE,OAAA;IAE1B,IAAMC,cAAc,GAAGrD,OAAO,CAACI,MAAM,CAACQ,IAAI,CAAC,SAAS,CAAC,CAAC,CAAA;AACtD,IAAA,IAAM0C,eAAe,GAAG5C,oBAAoB,CAACV,OAAO,CAAC,CAAA;AACrD,IAAA,IAAM8C,WAAW,GAAGS,IAAI,CAACJ,MAAM,CAACvG,KAAK,EAAEwG,WAAW,CAACxG,KAAK,EAAE0G,eAAe,CAAC,CAAA;AAC1E,IAAA,IAAME,YAAY,GAAGtC,cAAc,CAAC4B,WAAW,CAAC,CAAA;IAChDpD,QAAQ,CAAA,EAAA,CAAA8C,MAAA,CAAAiB,kBAAA,CAAKJ,cAAc,CAAA,EAAAI,kBAAA,CAAKD,YAAY,CAAA,CAAC,CAAC,CAAA;GAC/C,CAAA;AAED,EAAA,IAAME,eAAe,GAAG,SAAlBA,eAAeA,GAAS;AAC5B,IAAA,IAAM3G,EAAE,GAAG8D,QAAQ,EAAE,CAAA;AACrB,IAAA,IAAM8C,SAAS,GAAG;AAChB5G,MAAAA,EAAE,EAAAyF,QAAAA,CAAAA,MAAA,CAAWzF,EAAE,CAAE;AACjB6G,MAAAA,KAAK,EAAApB,MAAAA,CAAAA,MAAA,CAASzF,EAAE,CAAE;AAClBJ,MAAAA,KAAK,EAAEwF,cAAa,CAACnC,OAAO,EAAE,IAAI,CAAC;MACnCvC,QAAQ,EAAEuC,OAAO,CAACE,MAAAA;KACnB,CAAA;IACDuB,cAAc,CAAC,IAAI,CAAC,CAAA;AACpB/B,IAAAA,QAAQ,CAACmE,MAAM,CAACF,SAAS,EAAE3D,OAAO,CAAC,CAAC,CAAA;GACrC,CAAA;AAED,EAAA,IAAM8D,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAGtF,aAAa,EAAI;IAC3CiD,cAAc,CAAC,IAAI,CAAC,CAAA;AACpB,IAAA,IAAMhE,QAAQ,GAAGiD,oBAAoB,CAACV,OAAO,CAAC,CAACE,MAAM,CAAA;IACrD,IAAM6D,UAAU,GAAGvF,aAAa,CAC7BwF,IAAI,EAAE,CACNC,KAAK,CAAC,SAAS,CAAC,CAChB7D,MAAM,CAAC8D,UAAU,CAAC,CAClB/C,GAAG,CAAC,UAACd,MAAM,EAAEzD,KAAK,EAAA;MAAA,OAAM;AACvBG,QAAAA,EAAE,WAAAyF,MAAA,CAAW3B,QAAQ,EAAE,CAAE;AACzB+C,QAAAA,KAAK,SAAApB,MAAA,CAAS3B,QAAQ,EAAE,CAAE;AAC1BlE,QAAAA,KAAK,EAAE0D,MAAM,CAAC2D,IAAI,EAAE;QACpBvG,QAAQ,EAAEA,QAAQ,GAAGb,KAAAA;OACtB,CAAA;AAAA,KAAC,CAAC,CAAA;IACL8C,QAAQ,CAAA,EAAA,CAAA8C,MAAA,CAAAiB,kBAAA,CAAKzD,OAAO,CAAA,EAAAyD,kBAAA,CAAKM,UAAU,CAAA,CAAC,CAAC,CAAA;GACtC,CAAA;AAED,EAAA,IAAMI,aAAa,GAAG,SAAhBA,aAAaA,GAAA;IAAA,OAAS,UAAAC,KAAK,EAAI;AACnC,MAAA,IAAIA,KAAK,CAACC,GAAG,KAAK,OAAO,EAAE,OAAA;AAC3B,MAAA,IAAMC,IAAI,GAAGF,KAAK,CAAC3E,MAAM,CAAC6E,IAAI,CAAA;AAC9B,MAAA,IAAMC,MAAM,GAAGC,KAAK,CAACC,IAAI,CAACH,IAAI,CAACI,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAA;MACzD,IAAMC,YAAY,GAAGJ,MAAM,CAACK,OAAO,CAACR,KAAK,CAAC3E,MAAM,CAAC,CAAA;AAEjD,MAAA,IAAIkF,YAAY,IAAIJ,MAAM,CAACrE,MAAM,GAAG,CAAC,EAAE;AACrCwD,QAAAA,eAAe,EAAE,CAAA;AACnB,OAAC,MAAM;AAAA,QAAA,IAAAmB,OAAA,CAAA;AACL,QAAA,CAAAA,OAAA,GAAAN,MAAM,CAACI,YAAY,GAAG,CAAC,CAAC,MAAA,IAAA,IAAAE,OAAA,KAAxBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,OAAA,CAA0BC,KAAK,EAAE,CAAA;QACjCV,KAAK,CAACW,cAAc,EAAE,CAAA;AACxB,OAAA;MACAX,KAAK,CAACY,eAAe,EAAE,CAAA;KACxB,CAAA;AAAA,GAAA,CAAA;EAED,OAAO;AACLxD,IAAAA,WAAW,EAAXA,WAAW;AACXkC,IAAAA,eAAe,EAAfA,eAAe;AACfI,IAAAA,mBAAmB,EAAnBA,mBAAmB;AACnBlC,IAAAA,YAAY,EAAZA,YAAY;AACZuC,IAAAA,aAAa,EAAbA,aAAa;AACbvB,IAAAA,YAAY,EAAZA,YAAY;AACZK,IAAAA,aAAa,EAAbA,aAAAA;GACD,CAAA;AACH,CAAC;;;;ACtHD,IAAMgC,WAAW,GAAG,SAAdA,WAAWA,CAAA7I,IAAA,EAeX;AAAA,EAAA,IAdJoF,WAAW,GAAApF,IAAA,CAAXoF,WAAW;IAAAjF,qBAAA,GAAAH,IAAA,CACXI,gBAAgB;AAAhBA,IAAAA,gBAAgB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,qBAAA;IACxBD,QAAQ,GAAAF,IAAA,CAARE,QAAQ;IACRG,cAAc,GAAAL,IAAA,CAAdK,cAAc;IACdC,eAAe,GAAAN,IAAA,CAAfM,eAAe;IACfwI,eAAe,GAAA9I,IAAA,CAAf8I,eAAe;IACfC,SAAS,GAAA/I,IAAA,CAAT+I,SAAS;IACTC,QAAQ,GAAAhJ,IAAA,CAARgJ,QAAQ;IACR1F,SAAQ,GAAAtD,IAAA,CAARsD,QAAQ;IACR/C,KAAK,GAAAP,IAAA,CAALO,KAAK;IACLC,KAAK,GAAAR,IAAA,CAALQ,KAAK;IACLyI,QAAQ,GAAAjJ,IAAA,CAARiJ,QAAQ;IACRC,UAAU,GAAAlJ,IAAA,CAAVkJ,UAAU;IACVvI,EAAE,GAAAX,IAAA,CAAFW,EAAE,CAAA;AAEF,EAAA,IAAAmB,eAAA,GAAcC,cAAc,EAAE;IAAtB9B,CAAC,GAAA6B,eAAA,CAAD7B,CAAC,CAAA;AAET,EAAA,IAAMkJ,SAAS,GAAGD,UAAU,GAAGvG,QAAQ,GAAGyG,KAAK,CAAA;AAE/C,EAAA,oBACE7J,GAAA,CAAA,KAAA,EAAAC,eAAA,CAAAA,eAAA,CAAA;AACEoB,IAAAA,GAAG,EAAEV,QAAAA;AAAS,GAAA,EAAAV,eAAA,CAAAA,eAAA,CACLa,EAAAA,EAAAA,cAAc,GAAKC,eAAe,CAAA,CAAA,EAAA,EAAA,EAAA;AAC3C,IAAA,SAAA,EAAQ,oBAAoB;AAAAZ,IAAAA,QAAA,eAE5BmB,IAAA,CAAA,KAAA,EAAA;AAAKpB,MAAAA,SAAS,EAAC,8DAA8D;AAAAC,MAAAA,QAAA,EAC3EH,cAAAA,GAAA,CAACF,UAAU,EAAAG,eAAA,CAAA,EAAA,EAAKc,eAAe,CAAG,CAAC,EAClCwI,eAAe,iBACdvJ,GAAA,CAAA8J,QAAA,EAAA;AAAA3J,QAAAA,QAAA,EACGc,KAAK,KAAK,CAAC,gBACVjB,GAAA,CAAA,KAAA,EAAA;AACEE,UAAAA,SAAS,EAAC,yEAAyE;AACnF,UAAA,aAAA,EAAY,uBAAuB;AACnC6J,UAAAA,GAAG,EAAC,2BAAA;SACL,CAAC,gBAEF/J,GAAA,CAAA,KAAA,EAAA;AAAKE,UAAAA,SAAS,EAAC,2NAA2N;UAAAC,QAAA,eACxOH,GAAA,CAACgK,WAAW,EAAA;AAAC3J,YAAAA,IAAI,EAAE,EAAA;WAAK,CAAA;SACrB,CAAA;AACN,OACD,CACH,eACDL,GAAA,CAAC4J,SAAS,EAAA;AACFF,QAAAA,QAAQ,EAARA,QAAQ;AACdO,QAAAA,SAAS,EAAEpE,WAAY;QACvB,SAAAgB,EAAAA,eAAAA,CAAAA,MAAA,CAAyB5F,KAAK,CAAG;AACjC,QAAA,aAAA,EAAa0I,UAAU,GAAG,iBAAiB,GAAG,cAAe;AAC7DtG,QAAAA,WAAW,EAAE3C,CAAC,CAAC,wCAAwC,CAAE;AACzD6C,QAAAA,KAAK,EAAEvC,KAAM;AACbkJ,QAAAA,MAAM,EACJ,CAACrJ,gBAAgB,iBACfb,GAAA,CAACyB,MAAM,EAAA;AACCiI,UAAAA,QAAQ,EAARA,QAAQ;AACdxJ,UAAAA,SAAS,EAAC,OAAO;UACjB,SAAA2G,EAAAA,uBAAAA,CAAAA,MAAA,CAAiC5F,KAAK,CAAG;AACzC,UAAA,aAAA,EAAY,sBAAsB;AAClCS,UAAAA,IAAI,EAAEO,MAAO;AACb5B,UAAAA,IAAI,EAAC,OAAO;AACZmB,UAAAA,KAAK,EAAC,MAAM;AACZI,UAAAA,YAAY,EAAE;AACZC,YAAAA,OAAO,EAAEnB,CAAC,CAAC,sCAAsC,CAAC;AAClDoB,YAAAA,QAAQ,EAAE,KAAK;AACfC,YAAAA,KAAK,EAAE,CAAC,MAAM,EAAE,GAAG,CAAA;WACnB;UACFC,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,YAAA,OAAQyH,QAAQ,CAAC;AAAExI,cAAAA,KAAK,EAALA,KAAK;AAAEG,cAAAA,EAAE,EAAFA,EAAAA;AAAG,aAAC,CAAC,CAAA;AAAA,WAAA;AAAC,SACxC,CAEJ;AACD+I,QAAAA,MAAM,EAAE,SAARA,MAAMA,CAAA5C,KAAA,EAAA;AAAA,UAAA,IAAKzD,MAAM,GAAAyD,KAAA,CAANzD,MAAM,CAAA;UAAA,OAAOC,SAAQ,CAAC3C,EAAE,EAAE0C,MAAM,CAACP,KAAK,EAAE,IAAI,CAAC,CAAA;SAAC;AACzDQ,QAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAAqG,KAAA,EAAA;AAAA,UAAA,IAAKtG,MAAM,GAAAsG,KAAA,CAANtG,MAAM,CAAA;AAAA,UAAA,OAAOC,SAAQ,CAAC3C,EAAE,EAAE0C,MAAM,CAACP,KAAK,CAAC,CAAA;SAAC;AACrD8G,QAAAA,OAAO,EAAE,SAATA,OAAOA,CAAAC,KAAA,EAAA;AAAA,UAAA,IAAKxG,MAAM,GAAAwG,KAAA,CAANxG,MAAM,CAAA;AAAA,UAAA,OAAOA,MAAM,CAACyG,MAAM,EAAE,CAAA;SAAC;QACzCf,SAAS,EAAEA,SAAS,CAACvI,KAAK,CAAA;AAAE,OAC7B,CAAC,CAAA;KACC,CAAA;AAAC,GAAA,CACH,CAAC,CAAA;AAEV,CAAC;;;;ACnED,IAAMuJ,YAAY,GAAG,SAAfA,YAAYA,CAAA/J,IAAA,EAgBZ;AAAA,EAAA,IAfJ4D,OAAO,GAAA5D,IAAA,CAAP4D,OAAO;IACPoG,KAAK,GAAAhK,IAAA,CAALgK,KAAK;IACL1G,QAAQ,GAAAtD,IAAA,CAARsD,QAAQ;IACR2G,IAAI,GAAAjK,IAAA,CAAJiK,IAAI;IACJjB,QAAQ,GAAAhJ,IAAA,CAARgJ,QAAQ;IACR7D,SAAS,GAAAnF,IAAA,CAATmF,SAAS;IAAA+E,WAAA,GAAAlK,IAAA,CACTS,MAAM;AAANA,IAAAA,MAAM,GAAAyJ,WAAA,KAAGC,KAAAA,CAAAA,GAAAA,IAAI,GAAAD,WAAA;IAAAE,gBAAA,GAAApK,IAAA,CACbqK,WAAW;AAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,gBAAA;IAAAE,eAAA,GAAAtK,IAAA,CAChBuK,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,CAAC,GAAAA,eAAA;IAAAE,cAAA,GAAAxK,IAAA,CACdyK,SAAS;AAATA,IAAAA,SAAS,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,cAAA;IAAAE,aAAA,GAAA1K,IAAA,CACjB2K,QAAQ;AAARA,IAAAA,QAAQ,GAAAD,aAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,aAAA;IAAAE,oBAAA,GAAA5K,IAAA,CACf8I,eAAe;AAAfA,IAAAA,eAAe,GAAA8B,oBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,oBAAA;IAAAC,eAAA,GAAA7K,IAAA,CACvBkJ,UAAU;AAAVA,IAAAA,UAAU,GAAA2B,eAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,eAAA;IAAAC,kBAAA,GAAA9K,IAAA,CAClBiF,aAAa;AAAbA,IAAAA,aAAa,GAAA6F,kBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,kBAAA;IAAAC,oBAAA,GAAA/K,IAAA,CACrBgL,eAAe;IAAfA,eAAe,GAAAD,oBAAA,KAAG,KAAA,CAAA,GAAA;AAAEE,MAAAA,OAAO,EAAE,KAAK;AAAEpJ,MAAAA,iBAAiB,EAAE,EAAA;AAAG,KAAC,GAAAkJ,oBAAA,CAAA;AAE3D,EAAA,IAAAjJ,eAAA,GAAcC,cAAc,EAAE;IAAtB9B,CAAC,GAAA6B,eAAA,CAAD7B,CAAC,CAAA;AACT,EAAA,IAAA+B,SAAA,GAA0DC,QAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAlEkJ,IAAAA,qBAAqB,GAAAhJ,UAAA,CAAA,CAAA,CAAA;AAAEiJ,IAAAA,wBAAwB,GAAAjJ,UAAA,CAAA,CAAA,CAAA,CAAA;EAEtD,IAAAkJ,gBAAA,GAQIpG,eAAe,CAAC;AAClBpB,MAAAA,OAAO,EAAPA,OAAO;AACPN,MAAAA,QAAQ,EAARA,QAAQ;AACR2B,MAAAA,aAAa,EAAbA,aAAa;AACbE,MAAAA,SAAS,EAATA,SAAAA;AACF,KAAC,CAAC;IAZAC,WAAW,GAAAgG,gBAAA,CAAXhG,WAAW;IACXkC,eAAe,GAAA8D,gBAAA,CAAf9D,eAAe;IACfI,mBAAmB,GAAA0D,gBAAA,CAAnB1D,mBAAmB;IACnBlC,YAAY,GAAA4F,gBAAA,CAAZ5F,YAAY;IACZuC,aAAa,GAAAqD,gBAAA,CAAbrD,aAAa;IACbvB,YAAY,GAAA4E,gBAAA,CAAZ5E,YAAY;IACZK,aAAa,GAAAuE,gBAAA,CAAbvE,aAAa,CAAA;;AAQf;AACA;EACA,IAAIwE,UAAU,GAAG,IAAI,CAAA;AACrB,EAAA,IAAIpG,aAAa,EAAE;IACjBoG,UAAU,GACRzH,OAAO,CAAC0H,KAAK,CAAC9G,IAAI,CAAC,IAAI,CAAC,IAAIwF,KAAK,CAAC,IAAI,CAACpG,OAAO,CAAC2H,IAAI,CAAC/G,IAAI,CAAC,UAAU,CAAC,CAAC,CAAA;AACzE,GAAA;AAEA,EAAA,IAAM9D,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAAoG,KAAA,EAAsB;AAAA,IAAA,IAAhBtG,KAAK,GAAAsG,KAAA,CAALtG,KAAK;MAAEG,EAAE,GAAAmG,KAAA,CAAFnG,EAAE,CAAA;IACpC,IAAM6K,cAAc,GAAGxC,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAARA,KAAAA,CAAAA,GAAAA,QAAQ,GAAIxC,YAAY,CAAA;AAC/CgF,IAAAA,cAAc,CAAChL,KAAK,EAAEG,EAAE,CAAC,CAAA;GAC1B,CAAA;AACD,EAAA,IAAM8K,qBAAqB,GAAG9H,wBAAwB,CAACC,OAAO,CAAC,CAAA;AAC/D,EAAA,IAAMxD,gBAAgB,GAAGqL,qBAAqB,CAAC3H,MAAM,IAAIyG,UAAU,CAAA;AAEnE,EAAA,IAAMmB,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAGzH,MAAM,EAAA;IAAA,IAAA0H,UAAA,EAAAC,gBAAA,CAAA;AAAA,IAAA,OAC9B3H,MAAM,CAACuD,KAAK,KAAAmE,CAAAA,UAAA,GACZ1H,MAAM,CAACtD,EAAE,MAAA,IAAA,IAAAgL,UAAA,KAATA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,UAAA,CAAW/G,QAAQ,EAAE,CAAA,KAAA,CAAAgH,gBAAA,GACrB3H,MAAM,CAAC5C,QAAQ,MAAAuK,IAAAA,IAAAA,gBAAA,uBAAfA,gBAAA,CAAiBhH,QAAQ,EAAE,CAC3BiH,IAAAA,OAAO,CAAC5H,MAAM,CAAC1D,KAAK,CAAC,CAAA;AAAA,GAAA,CAAA;AAEvB,EAAA,oBACEM,IAAA,CAAA,MAAA,EAAA;AAAMiL,IAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAEvI,CAAC,EAAA;AAAA,MAAA,OAAIA,CAAC,CAACoF,cAAc,EAAE,CAAA;KAAC;IAAAjJ,QAAA,EAAA,cACtCmB,IAAA,CAACkL,eAAe,EAAA;AAACC,MAAAA,SAAS,EAAEnF,aAAc;MAAAnH,QAAA,EAAA,cACxCH,GAAA,CAAC0M,SAAS,EAAA;AACRC,QAAAA,WAAW,EAAA9F,gCAAAA,CAAAA,MAAA,CAAmC6D,IAAI,CAAG;QACrDkC,cAAc,EAAE,CAAC1B,SAAU;QAAA/K,QAAA,EAE1B,SAAAA,QAAAA,CAAAiK,KAAA,EAAA;AAAA,UAAA,IAAGzJ,QAAQ,GAAAyJ,KAAA,CAARzJ,QAAQ;YAAEkM,cAAc,GAAAzC,KAAA,CAAdyC,cAAc;YAAExJ,WAAW,GAAA+G,KAAA,CAAX/G,WAAW,CAAA;AAAA,UAAA,oBACvC/B,IAAA,CAAA,KAAA,EAAArB,aAAA,CAAAA,aAAA,CAAA;AAAKoB,YAAAA,GAAG,EAAEV,QAAAA;AAAS,WAAA,EAAKkM,cAAc,CAAA,EAAA,EAAA,EAAA;YAAA1M,QAAA,EAAA,CACnC+L,qBAAqB,CAAC1G,GAAG,CAAC,UAACd,MAAM,EAAEzD,KAAK,EAAA;cAAA,oBACvC6L,aAAA,CAACC,SAAS,EAAA;AACF9L,gBAAAA,KAAK,EAALA,KAAK;AACX+L,gBAAAA,OAAO,EAAEb,iBAAiB,CAACzH,MAAM,CAAE;AACnCuI,gBAAAA,WAAW,EAAEd,iBAAiB,CAACzH,MAAM,CAAE;gBACvCwI,cAAc,EAAE,CAAChC,SAAU;gBAC3BxC,GAAG,EAAEyD,iBAAiB,CAACzH,MAAM,CAAA;AAAE,eAAA,EAE9B,UAAA4F,KAAA,EAAA;AAAA,gBAAA,IAAG3J,QAAQ,GAAA2J,KAAA,CAAR3J,QAAQ;kBAAEG,cAAc,GAAAwJ,KAAA,CAAdxJ,cAAc;kBAAEC,eAAe,GAAAuJ,KAAA,CAAfvJ,eAAe,CAAA;AAAA,gBAAA,OAC3CqK,QAAQ,gBACNpL,GAAA,CAACsJ,WAAW,EAAA;AAERvI,kBAAAA,eAAe,EAAfA,eAAe;AACfD,kBAAAA,cAAc,EAAdA,cAAc;AACdD,kBAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBI,kBAAAA,KAAK,EAALA,KAAK;AACLN,kBAAAA,QAAQ,EAARA,QAAQ;AACR4I,kBAAAA,eAAe,EAAfA,eAAe;AACfI,kBAAAA,UAAU,EAAVA,UAAU;AACVe,kBAAAA,IAAI,EAAJA,IAAI;AACJ7E,kBAAAA,WAAW,EAAXA,WAAW;kBAEb6D,QAAQ,EAAE,CAACoC,UAAW;kBACtB1K,EAAE,EAAEsD,MAAM,CAACtD,EAAG;kBACdJ,KAAK,EAAE0D,MAAM,CAAC1D,KAAM;AACpB+C,kBAAAA,QAAQ,EAAEkC,YAAa;AACvBwD,kBAAAA,QAAQ,EAAEtI,iBAAkB;AAC5BqI,kBAAAA,SAAS,EAAEhB,aAAAA;AAAc,iBAC1B,CAAC,gBAEFxI,GAAA,CAACO,WAAW,EAAA;AAERQ,kBAAAA,eAAe,EAAfA,eAAe;AACfD,kBAAAA,cAAc,EAAdA,cAAc;AACdK,kBAAAA,iBAAiB,EAAjBA,iBAAiB;AACjBN,kBAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBI,kBAAAA,KAAK,EAALA,KAAK;AACLN,kBAAAA,QAAQ,EAARA,QAAQ;AACRO,kBAAAA,MAAM,EAANA,MAAM;kBAERE,EAAE,EAAEsD,MAAM,CAACtD,EAAG;kBACdJ,KAAK,EAAE0D,MAAM,CAAC1D,KAAAA;AAAM,iBACrB,CACF,CAAA;AAAA,eAEM,CAAC,CAAA;AAAA,aACb,CAAC,EACDyJ,KAAK,iBACJzK,GAAA,CAACuB,UAAU,EAAA;AACTrB,cAAAA,SAAS,EAAC,uBAAuB;AACjC,cAAA,aAAA,EAAY,4BAA4B;AACxCsB,cAAAA,KAAK,EAAC,OAAO;AAAArB,cAAAA,QAAA,EAEZsK,KAAAA;aACS,CACb,EACApH,WAAW,CAAA;AAAA,WAAA,CACT,CAAC,CAAA;AAAA,SAAA;OAEC,CAAC,eACZ/B,IAAA,CAAA,KAAA,EAAA;AAAKpB,QAAAA,SAAS,EAAC,wCAAwC;AAAAC,QAAAA,QAAA,EACrDH,cAAAA,GAAA,CAACyB,MAAM,EAAAxB,aAAA,CAAA;AACL,UAAA,SAAA,EAAQ,iBAAiB;AACzB,UAAA,aAAA,EAAY,iBAAiB;UAC7ByJ,QAAQ,EAAE,CAACoC,UAAW;AACtBpK,UAAAA,IAAI,EAAEyL,IAAK;AACXC,UAAAA,YAAY,EAAC,MAAM;AACnBpM,UAAAA,KAAK,EAAEN,CAAC,CAAC,uCAAuC,CAAE;AAClDL,UAAAA,IAAI,EAAC,OAAO;AACZmB,UAAAA,KAAK,EAAC,MAAM;AACZQ,UAAAA,OAAO,EAAE+F,eAAAA;SACL+C,EAAAA,WAAW,CAChB,CAAC,EACDW,eAAe,CAACC,OAAO,iBACtB1L,GAAA,CAACyB,MAAM,EAAA;AACL,UAAA,SAAA,EAAQ,sBAAsB;AAC9B,UAAA,aAAA,EAAY,sBAAsB;UAClCiI,QAAQ,EAAE,CAACoC,UAAW;AACtB9K,UAAAA,KAAK,EAAEN,CAAC,CAAC,qCAAqC,CAAE;AAChDL,UAAAA,IAAI,EAAC,OAAO;AACZmB,UAAAA,KAAK,EAAC,MAAM;UACZQ,OAAO,EAAE,SAATA,OAAOA,GAAA;YAAA,OAAQ4J,wBAAwB,CAAC,IAAI,CAAC,CAAA;AAAA,WAAA;AAAC,SAC/C,CACF,CAAA;AAAA,OACE,CAAC,CAAA;AAAA,KACS,CAAC,eAClB5L,GAAA,CAACkC,eAAe,EAAA;MACdI,iBAAiB,EAAEmJ,eAAe,CAACnJ,iBAAkB;AACrDD,MAAAA,aAAa,EAAE8F,mBAAoB;AACnChG,MAAAA,MAAM,EAAEwJ,qBAAsB;MAC9BvJ,OAAO,EAAE,SAATA,OAAOA,GAAA;QAAA,OAAQwJ,wBAAwB,CAAC,KAAK,CAAC,CAAA;AAAA,OAAA;AAAC,KAChD,CAAC,CAAA;AAAA,GACE,CAAC,CAAA;AAEX;;;;"}
@@ -105,7 +105,7 @@ var HelpScreen = function HelpScreen(_ref) {
105
105
  src: "https://ik.imagekit.io/d9mvewbju/Commons/help-mobile_FpB8LKYj4.svg"
106
106
  }) : /*#__PURE__*/jsxRuntime.jsx("img", {
107
107
  alt: "",
108
- src: "https://ik.imagekit.io/d9mvewbju/Commons/help-desktop_aVe6ENdX97.svg"
108
+ src: "https://ik.imagekit.io/d9mvewbju/Commons/desktop_ZxE0qoj4Q.svg"
109
109
  })
110
110
  })]
111
111
  }), /*#__PURE__*/jsxRuntime.jsx(Button__default["default"], {
@@ -1 +1 @@
1
- {"version":3,"file":"Onboarding.js","sources":["../../src/components/Onboarding/CompletedScreen.jsx","../../src/components/Onboarding/constants.js","../../src/components/Onboarding/HelpScreen.jsx","../../src/components/Onboarding/utils.jsx","../../src/components/Onboarding/WelcomeScreen.jsx","../../src/components/Onboarding/index.jsx"],"sourcesContent":["import { capitalize } from \"neetocist\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport withT from \"neetocommons/react-utils/withT\";\nimport { Button, Typography } from \"neetoui\";\n\nconst CompletedScreen = withT(({ t, completeButtonProps }) => (\n <div\n className=\"neeto-molecules-onboarding__wrapper\"\n data-testid=\"onboarding-congratulations-wrapper\"\n >\n <div className=\"mx-auto mb-6 w-full max-w-2xl space-y-2\">\n <Typography\n className=\"text-center\"\n data-cy=\"onboarding-congratulations-emoji\"\n style=\"h1\"\n >\n 🎉\n </Typography>\n <Typography\n className=\"text-center\"\n data-cy=\"onboarding-congratulations-title\"\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 <Button\n data-cy=\"onboarding-congratulations-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\nexport default CompletedScreen;\n","export const GENERAL_ONBOARDING_STEPS = {\n WELCOME: \"welcome\",\n HELP: \"help\",\n FINISH: \"finish\",\n};\n","import classNames from \"classnames\";\nimport useBreakpoints from \"neetocommons/react-utils/useBreakpoints\";\nimport { RightArrow } from \"neetoicons\";\nimport { Button, Typography } from \"neetoui\";\nimport { 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 w-full max-w-2xl space-y-6 p-4\",\n helpScreenClassName\n )}\n >\n <div className=\"space-y-3\">\n <Typography\n component=\"h1\"\n data-cy=\"onboarding-help-title\"\n data-testid=\"onboarding-help-title\"\n style=\"h2\"\n >\n {t(\"neetoMolecules.onboarding.helpScreen.title\")}\n </Typography>\n <Typography\n data-cy=\"onboarding-help-description\"\n data-testid=\"onboarding-help-description\"\n lineHeight=\"normal\"\n style=\"body1\"\n >\n {t(\"neetoMolecules.onboarding.helpScreen.description\")}\n </Typography>\n <div className=\"w-full\">\n {isSize(\"mobile\") ? (\n <img\n alt=\"\"\n src=\"https://ik.imagekit.io/d9mvewbju/Commons/help-mobile_FpB8LKYj4.svg\"\n />\n ) : (\n <img\n alt=\"\"\n src=\"https://ik.imagekit.io/d9mvewbju/Commons/help-desktop_aVe6ENdX97.svg\"\n />\n )}\n </div>\n </div>\n <Button\n data-cy=\"onboarding-help-button\"\n data-testid=\"onboarding-help-button\"\n icon={RightArrow}\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 { GENERAL_ONBOARDING_STEPS } from \"./constants\";\nimport HelpScreen from \"./HelpScreen\";\n\nexport const createSteps = (\n onboardingSteps,\n setCurrentStep,\n currentStep,\n helpScreenClassName\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(helpStep)\n .map((step, idx) => ({ ...step, id: idx + 1 }));\n};\n","import { 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 }) => (\n <div\n className=\"neeto-molecules-onboarding__wrapper\"\n data-testid=\"onboarding-welcome-wrapper\"\n >\n <div className=\"mx-auto mb-6 w-full max-w-2xl space-y-2\">\n <Typography\n className=\"text-center\"\n data-cy=\"onboarding-welcome-title\"\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-cy=\"onboarding-welcome-description\"\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-cy=\"onboarding-welcome-button\"\n data-testid=\"onboarding-welcome-button\"\n icon={RightArrow}\n label={t(\"neetoMolecules.onboarding.getStarted\")}\n onClick={() => setCurrentStep(nextStep)}\n />\n </div>\n));\n\nexport default WelcomeScreen;\n","import { useEffect, 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}) => {\n const steps = useMemo(\n () =>\n createSteps(\n onboardingSteps,\n setCurrentStep,\n currentStep,\n helpScreenClassName\n ),\n [onboardingSteps]\n );\n\n const prevStep = useRef(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 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 nextStep={steps[0].key}\n />\n );\n }\n\n if (currentStep === GENERAL_ONBOARDING_STEPS.FINISH) {\n return <CompletedScreen {...{ completeButtonProps }} />;\n }\n\n const handleStepChange = index => setCurrentStep(steps[index].key);\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.number,\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\nexport default Onboarding;\n"],"names":["CompletedScreen","withT","_ref","t","completeButtonProps","_jsxs","className","children","_jsx","Typography","style","appName","capitalize","globalProps","Button","_objectSpread","label","GENERAL_ONBOARDING_STEPS","WELCOME","HELP","FINISH","HelpScreen","setCurrentStep","helpScreenClassName","_useTranslation","useTranslation","_useBreakpoints","useBreakpoints","isSize","classNames","component","lineHeight","alt","src","icon","RightArrow","iconPosition","onClick","createSteps","onboardingSteps","currentStep","helpStep","key","element","concat","map","step","idx","id","WelcomeScreen","nextStep","Onboarding","_ref$currentStep","_ref$setCurrentStep","noop","_ref$onboardingSteps","_ref$completeButtonPr","_ref$helpScreenClassN","_ref$isAnimated","isAnimated","_ref$disableStepClick","disableStepClick","steps","useMemo","prevStep","useRef","_useState","useState","_useState2","_slicedToArray","direction","setDirection","getOnboardingStepIndex","stepKey","findIndex","useEffect","current","handleStepChange","index","isStepperVisible","length","Stepper","activeIndex","findIndexBy","setActiveIndex","hidden"],"mappings":"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"}
1
+ {"version":3,"file":"Onboarding.js","sources":["../../src/components/Onboarding/CompletedScreen.jsx","../../src/components/Onboarding/constants.js","../../src/components/Onboarding/HelpScreen.jsx","../../src/components/Onboarding/utils.jsx","../../src/components/Onboarding/WelcomeScreen.jsx","../../src/components/Onboarding/index.jsx"],"sourcesContent":["import { capitalize } from \"neetocist\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport withT from \"neetocommons/react-utils/withT\";\nimport { Button, Typography } from \"neetoui\";\n\nconst CompletedScreen = withT(({ t, completeButtonProps }) => (\n <div\n className=\"neeto-molecules-onboarding__wrapper\"\n data-testid=\"onboarding-congratulations-wrapper\"\n >\n <div className=\"mx-auto mb-6 w-full max-w-2xl space-y-2\">\n <Typography\n className=\"text-center\"\n data-cy=\"onboarding-congratulations-emoji\"\n style=\"h1\"\n >\n 🎉\n </Typography>\n <Typography\n className=\"text-center\"\n data-cy=\"onboarding-congratulations-title\"\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 <Button\n data-cy=\"onboarding-congratulations-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\nexport default CompletedScreen;\n","export const GENERAL_ONBOARDING_STEPS = {\n WELCOME: \"welcome\",\n HELP: \"help\",\n FINISH: \"finish\",\n};\n","import classNames from \"classnames\";\nimport useBreakpoints from \"neetocommons/react-utils/useBreakpoints\";\nimport { RightArrow } from \"neetoicons\";\nimport { Button, Typography } from \"neetoui\";\nimport { 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 w-full max-w-2xl space-y-6 p-4\",\n helpScreenClassName\n )}\n >\n <div className=\"space-y-3\">\n <Typography\n component=\"h1\"\n data-cy=\"onboarding-help-title\"\n data-testid=\"onboarding-help-title\"\n style=\"h2\"\n >\n {t(\"neetoMolecules.onboarding.helpScreen.title\")}\n </Typography>\n <Typography\n data-cy=\"onboarding-help-description\"\n data-testid=\"onboarding-help-description\"\n lineHeight=\"normal\"\n style=\"body1\"\n >\n {t(\"neetoMolecules.onboarding.helpScreen.description\")}\n </Typography>\n <div className=\"w-full\">\n {isSize(\"mobile\") ? (\n <img\n alt=\"\"\n src=\"https://ik.imagekit.io/d9mvewbju/Commons/help-mobile_FpB8LKYj4.svg\"\n />\n ) : (\n <img\n alt=\"\"\n src=\"https://ik.imagekit.io/d9mvewbju/Commons/desktop_ZxE0qoj4Q.svg\"\n />\n )}\n </div>\n </div>\n <Button\n data-cy=\"onboarding-help-button\"\n data-testid=\"onboarding-help-button\"\n icon={RightArrow}\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 { GENERAL_ONBOARDING_STEPS } from \"./constants\";\nimport HelpScreen from \"./HelpScreen\";\n\nexport const createSteps = (\n onboardingSteps,\n setCurrentStep,\n currentStep,\n helpScreenClassName\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(helpStep)\n .map((step, idx) => ({ ...step, id: idx + 1 }));\n};\n","import { 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 }) => (\n <div\n className=\"neeto-molecules-onboarding__wrapper\"\n data-testid=\"onboarding-welcome-wrapper\"\n >\n <div className=\"mx-auto mb-6 w-full max-w-2xl space-y-2\">\n <Typography\n className=\"text-center\"\n data-cy=\"onboarding-welcome-title\"\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-cy=\"onboarding-welcome-description\"\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-cy=\"onboarding-welcome-button\"\n data-testid=\"onboarding-welcome-button\"\n icon={RightArrow}\n label={t(\"neetoMolecules.onboarding.getStarted\")}\n onClick={() => setCurrentStep(nextStep)}\n />\n </div>\n));\n\nexport default WelcomeScreen;\n","import { useEffect, 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}) => {\n const steps = useMemo(\n () =>\n createSteps(\n onboardingSteps,\n setCurrentStep,\n currentStep,\n helpScreenClassName\n ),\n [onboardingSteps]\n );\n\n const prevStep = useRef(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 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 nextStep={steps[0].key}\n />\n );\n }\n\n if (currentStep === GENERAL_ONBOARDING_STEPS.FINISH) {\n return <CompletedScreen {...{ completeButtonProps }} />;\n }\n\n const handleStepChange = index => setCurrentStep(steps[index].key);\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.number,\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\nexport default Onboarding;\n"],"names":["CompletedScreen","withT","_ref","t","completeButtonProps","_jsxs","className","children","_jsx","Typography","style","appName","capitalize","globalProps","Button","_objectSpread","label","GENERAL_ONBOARDING_STEPS","WELCOME","HELP","FINISH","HelpScreen","setCurrentStep","helpScreenClassName","_useTranslation","useTranslation","_useBreakpoints","useBreakpoints","isSize","classNames","component","lineHeight","alt","src","icon","RightArrow","iconPosition","onClick","createSteps","onboardingSteps","currentStep","helpStep","key","element","concat","map","step","idx","id","WelcomeScreen","nextStep","Onboarding","_ref$currentStep","_ref$setCurrentStep","noop","_ref$onboardingSteps","_ref$completeButtonPr","_ref$helpScreenClassN","_ref$isAnimated","isAnimated","_ref$disableStepClick","disableStepClick","steps","useMemo","prevStep","useRef","_useState","useState","_useState2","_slicedToArray","direction","setDirection","getOnboardingStepIndex","stepKey","findIndex","useEffect","current","handleStepChange","index","isStepperVisible","length","Stepper","activeIndex","findIndexBy","setActiveIndex","hidden"],"mappings":"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"}
@@ -18,7 +18,6 @@ var jsxRuntime = require('react/jsx-runtime');
18
18
  var Modal = require('@bigbinary/neetoui/Modal');
19
19
  var Textarea = require('@bigbinary/neetoui/Textarea');
20
20
  var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
21
- var formik = require('formik');
22
21
  var i18next = require('i18next');
23
22
  var ImageUpload = require('@bigbinary/neeto-icons/ImageUpload');
24
23
  var Input = require('@bigbinary/neetoui/Input');
@@ -193,7 +192,7 @@ var BulkOptionModal = function BulkOptionModal(_ref) {
193
192
 
194
193
  var DEFAULT_OPTION_LABEL = i18next__default["default"].t("neetoMolecules.optionFields.defaultOption");
195
194
 
196
- var getVisibleOptions = function getVisibleOptions() {
195
+ var getOrderedVisibleOptions = function getOrderedVisibleOptions() {
197
196
  var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
198
197
  return options.filter(function (option) {
199
198
  return !option.deleted;
@@ -219,31 +218,32 @@ var useOptionFields = function useOptionFields(_ref) {
219
218
  var options = _ref.options,
220
219
  onChange = _ref.onChange,
221
220
  shouldDestroy = _ref.shouldDestroy,
222
- _ref$name = _ref.name,
223
- name = _ref$name === void 0 ? "" : _ref$name,
224
- currentRecord = _ref.currentRecord,
225
221
  _ref$itemLabel = _ref.itemLabel,
226
222
  itemLabel = _ref$itemLabel === void 0 ? DEFAULT_OPTION_LABEL : _ref$itemLabel;
227
223
  var _useState = React.useState(false),
228
224
  _useState2 = _slicedToArray__default["default"](_useState, 2),
229
225
  shouldFocus = _useState2[0],
230
226
  setShouldFocus = _useState2[1];
231
- var deletedOptions = options.filter(function (option) {
232
- return !!(option !== null && option !== void 0 && option.deleted);
227
+ var editingOptionDetailsRef = React.useRef({
228
+ id: "",
229
+ value: ""
233
230
  });
234
- var _useFormikContext = formik.useFormikContext(),
235
- initialValues = _useFormikContext.initialValues;
236
231
  var handleChange = function handleChange(id, value) {
237
232
  var isOnBlur = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
238
- var filteredOptions = filterDeletedRecords(options);
239
- var index = neetoCist.findIndexById(id, filteredOptions);
240
- var draftAttributes = currentRecord === null || currentRecord === void 0 ? void 0 : currentRecord.draftAttributes;
241
- var getNextOptions = function getNextOptions() {
242
- var _path$index, _path$index2;
243
- return ramda.assocPath([index, "label"], isOnBlur ? ((_path$index = ramda.path(name.split("."), initialValues)[index]) === null || _path$index === void 0 ? void 0 : _path$index.label) || ((_path$index2 = ramda.path(name.split("."), draftAttributes)[index]) === null || _path$index2 === void 0 ? void 0 : _path$index2.label) : value, filteredOptions);
244
- };
233
+ // Ignores onBlur events if the value in the input field is not cleared.
234
+ // The value will be reset to the initial value if user clicks outside after clearing the value.
245
235
  if (isOnBlur && !ramda.isEmpty(value)) return;
246
- onChange([].concat(_toConsumableArray__default["default"](deletedOptions), _toConsumableArray__default["default"](getNextOptions())));
236
+ var index = neetoCist.findIndexById(id, options);
237
+ if (editingOptionDetailsRef.current.id !== id) {
238
+ editingOptionDetailsRef.current = {
239
+ id: id,
240
+ value: options[index].label
241
+ };
242
+ }
243
+
244
+ // Resets the value to initial value if the user cleared and blurred the input field.
245
+ var valueToUpdate = isOnBlur ? editingOptionDetailsRef.current.value : value;
246
+ onChange(ramda.assocPath([index, "label"], valueToUpdate, options));
247
247
  };
248
248
  var _generateLabel = function generateLabel(opts, count) {
249
249
  var labelCount = count || opts.length + 1;
@@ -253,39 +253,35 @@ var useOptionFields = function useOptionFields(_ref) {
253
253
  };
254
254
  var handleDelete = function handleDelete(_, id) {
255
255
  var nextOptions;
256
+ var indexToDelete = neetoCist.findIndexById(id, options);
256
257
  if (shouldDestroy) {
257
- var filteredOptions = filterDeletedRecords(options);
258
- var indexToDelete = neetoCist.findIndexById(id, filteredOptions);
259
- nextOptions = ramda.assocPath([indexToDelete, "deleted"], true, filteredOptions);
258
+ nextOptions = ramda.assocPath([indexToDelete, "deleted"], true, options);
260
259
  } else {
261
- var _indexToDelete = neetoCist.findIndexById(id, options);
262
- nextOptions = ramda.remove(_indexToDelete, 1, options);
263
- nextOptions = attachPosition(nextOptions);
260
+ nextOptions = attachPosition(ramda.remove(indexToDelete, 1, options));
264
261
  }
265
- onChange([].concat(_toConsumableArray__default["default"](deletedOptions), _toConsumableArray__default["default"](nextOptions)));
262
+ onChange(nextOptions);
266
263
  };
267
264
  var handleDragEnd = function handleDragEnd(_ref2) {
268
265
  var source = _ref2.source,
269
266
  destination = _ref2.destination;
270
267
  // When dragged outside of draggable
271
268
  if (destination === null) return;
269
+ var deletedOptions = options.filter(ramda.prop("deleted"));
272
270
  var filteredOptions = filterDeletedRecords(options);
273
271
  var nextOptions = ramda.move(source.index, destination.index, filteredOptions);
274
272
  var finalOptions = attachPosition(nextOptions);
275
273
  onChange([].concat(_toConsumableArray__default["default"](deletedOptions), _toConsumableArray__default["default"](finalOptions)));
276
274
  };
277
275
  var handleAddOption = function handleAddOption() {
278
- setShouldFocus(true);
279
- var position = options.length;
280
276
  var id = randomId();
281
277
  var newOption = {
282
278
  id: "draft-".concat(id),
283
279
  altId: "alt-".concat(id),
284
280
  label: _generateLabel(options, null),
285
- position: position
281
+ position: options.length
286
282
  };
287
- var nextOptions = ramda.append(newOption, options);
288
- onChange(nextOptions);
283
+ setShouldFocus(true);
284
+ onChange(ramda.append(newOption, options));
289
285
  };
290
286
  var handleBulkAddOption = function handleBulkAddOption(optionsString) {
291
287
  setShouldFocus(true);
@@ -435,8 +431,6 @@ var OptionFields = function OptionFields(_ref) {
435
431
  isTextArea = _ref$isTextArea === void 0 ? false : _ref$isTextArea,
436
432
  _ref$shouldDestroy = _ref.shouldDestroy,
437
433
  shouldDestroy = _ref$shouldDestroy === void 0 ? false : _ref$shouldDestroy,
438
- _ref$currentRecord = _ref.currentRecord,
439
- currentRecord = _ref$currentRecord === void 0 ? {} : _ref$currentRecord,
440
434
  _ref$bulkActionProps = _ref.bulkActionProps,
441
435
  bulkActionProps = _ref$bulkActionProps === void 0 ? {
442
436
  enabled: false,
@@ -452,8 +446,6 @@ var OptionFields = function OptionFields(_ref) {
452
446
  options: options,
453
447
  onChange: onChange,
454
448
  shouldDestroy: shouldDestroy,
455
- name: name,
456
- currentRecord: currentRecord,
457
449
  itemLabel: itemLabel
458
450
  }),
459
451
  shouldFocus = _useOptionFields.shouldFocus,
@@ -476,8 +468,8 @@ var OptionFields = function OptionFields(_ref) {
476
468
  var deleteFunction = onDelete !== null && onDelete !== void 0 ? onDelete : handleDelete;
477
469
  deleteFunction(index, id);
478
470
  };
479
- var visibleOptions = getVisibleOptions(options);
480
- var hideDeleteOption = visibleOptions.length <= minOptions;
471
+ var orderedVisibleOptions = getOrderedVisibleOptions(options);
472
+ var hideDeleteOption = orderedVisibleOptions.length <= minOptions;
481
473
  var getUniqueOptionId = function getUniqueOptionId(option) {
482
474
  var _option$id, _option$position;
483
475
  return option.altId || ((_option$id = option.id) === null || _option$id === void 0 ? void 0 : _option$id.toString()) || ((_option$position = option.position) === null || _option$position === void 0 ? void 0 : _option$position.toString()) || neetoCist.slugify(option.label);
@@ -498,7 +490,7 @@ var OptionFields = function OptionFields(_ref) {
498
490
  return /*#__PURE__*/jsxRuntime.jsxs("div", _objectSpread(_objectSpread({
499
491
  ref: innerRef
500
492
  }, droppableProps), {}, {
501
- children: [visibleOptions.map(function (option, index) {
493
+ children: [orderedVisibleOptions.map(function (option, index) {
502
494
  return /*#__PURE__*/React.createElement(dnd.Draggable, {
503
495
  index: index,
504
496
  dataKey: getUniqueOptionId(option),
@@ -1 +1 @@
1
- {"version":3,"file":"OptionFields.js","sources":["../../src/components/OptionFields/DragHandle.jsx","../../src/components/OptionFields/BlockOption.jsx","../../src/components/OptionFields/BulkOptionModal.jsx","../../src/components/OptionFields/constants.js","../../src/components/OptionFields/utils.js","../../src/components/OptionFields/hooks/useOptionFields.js","../../src/components/OptionFields/InputOption.jsx","../../src/components/OptionFields/index.jsx"],"sourcesContent":["import { Reorder } from \"neetoicons\";\n\nconst DragHandle = props => (\n <div\n className=\"neeto-ui-text-gray-400 absolute bottom-0 left-0 top-0 my-auto -ml-6 h-6 cursor-grab opacity-0 transition-opacity duration-300 ease-in-out group-hover:opacity-100\"\n data-cy=\"drag-handle\"\n data-testid=\"drag-handle\"\n {...props}\n >\n <Reorder size={24} strokeWidth={2} />\n </div>\n);\n\nexport default DragHandle;\n","import { withT } from \"neetocommons/react-utils\";\nimport { Delete, Edit } from \"neetoicons\";\nimport { Button, Typography } from \"neetoui\";\n\nimport DragHandle from \"./DragHandle\";\n\nconst BlockOption = withT(\n ({\n t,\n innerRef,\n hideDeleteOption = false,\n draggableProps,\n dragHandleProps,\n label,\n index,\n onEdit,\n handleDeleteClick,\n id,\n }) => (\n <div ref={innerRef} {...draggableProps} {...dragHandleProps}>\n <div\n className=\"neeto-ui-border-gray-400 hover:neeto-ui-bg-gray-200 neeto-ui-rounded-sm shadow-xs group relative mb-2 flex h-10 cursor-pointer items-center gap-2 border p-3 transition-colors duration-300 ease-in-out\"\n data-cy=\"address-field-block\"\n >\n <DragHandle {...dragHandleProps} />\n <Typography\n className=\"flex-grow leading-4\"\n data-cy=\"address-text-field\"\n data-testid=\"address-text-field\"\n style=\"body2\"\n >\n {label}\n </Typography>\n <div className=\"flex items-center justify-end gap-2 opacity-0 group-hover:opacity-100\">\n <Button\n className=\"neeto-ui-rounded hover:neeto-ui-bg-gray-400 p-1\"\n data-cy=\"address-field-edit-button\"\n data-testid=\"address-field-edit-button\"\n icon={Edit}\n size=\"small\"\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoMolecules.common.actions.edit\"),\n position: \"top\",\n touch: [\"hold\", 500],\n }}\n onClick={() => onEdit(index)}\n />\n {!hideDeleteOption && (\n <Button\n className=\"neeto-ui-rounded hover:neeto-ui-bg-gray-400 p-1\"\n data-cy=\"address-field-delete-button\"\n data-testid=\"address-field-delete-button\"\n icon={Delete}\n size=\"small\"\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoMolecules.common.actions.delete\"),\n position: \"top\",\n touch: [\"hold\", 500],\n }}\n onClick={() => handleDeleteClick({ index, id })}\n />\n )}\n </div>\n </div>\n </div>\n )\n);\n\nexport default BlockOption;\n","import { useState } from \"react\";\n\nimport { Button, Modal, Textarea, Typography } from \"neetoui\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nconst BulkOptionModal = ({\n isOpen,\n onClose,\n handleBulkAdd,\n bulkAddHelpDocUrl,\n}) => {\n const { t } = useTranslation();\n const [optionsString, setOptionsString] = useState(\"\");\n\n const handleSave = () => {\n handleBulkAdd(optionsString);\n handleClose();\n };\n\n const handleClose = () => {\n setOptionsString(\"\");\n onClose();\n };\n\n return (\n <Modal {...{ isOpen }} onClose={handleClose}>\n <Modal.Header>\n <Typography style=\"h3\">\n {t(\"neetoMolecules.optionFields.bulkOption.title\")}\n </Typography>\n </Modal.Header>\n <Modal.Body>\n <Textarea\n className=\"my-2\"\n data-cy=\"bulk-add-options-textarea\"\n data-testid=\"bulk-add-options-textarea\"\n label={t(\"neetoMolecules.optionFields.bulkOption.label\")}\n placeholder={t(\"neetoMolecules.optionFields.bulkOption.label\")}\n rows={8}\n value={optionsString}\n helpText={\n <Trans\n i18nKey=\"neetoMolecules.optionFields.bulkOption.helpText\"\n components={{\n Link: (\n <Button\n className=\"text-xs\"\n href={bulkAddHelpDocUrl}\n style=\"link\"\n target=\"_blank\"\n />\n ),\n }}\n />\n }\n onChange={e => setOptionsString(e.target.value)}\n />\n </Modal.Body>\n <Modal.Footer className=\"gap-x-2\">\n <Button\n data-cy=\"bulk-add-options-done-button\"\n data-testid=\"bulk-add-options-done-button\"\n label={t(\"neetoMolecules.common.actions.submit\")}\n onClick={handleSave}\n />\n <Button\n data-cy=\"bulk-add-options-cancel-button\"\n data-testid=\"bulk-add-options-cancel-button\"\n label={t(\"neetoMolecules.common.actions.cancel\")}\n style=\"text\"\n onClick={handleClose}\n />\n </Modal.Footer>\n </Modal>\n );\n};\n\nexport default BulkOptionModal;\n","import i18next from \"i18next\";\n\nexport const DEFAULT_OPTION_LABEL = i18next.t(\n \"neetoMolecules.optionFields.defaultOption\"\n);\n","import { prop, reject } from \"ramda\";\n\nexport const getVisibleOptions = (options = []) =>\n options\n .filter(option => !option.deleted)\n .sort((a, b) => a.position - b.position);\n\nexport const filterDeletedRecords = reject(prop(\"deleted\"));\n\nexport const randomId = () => Math.random().toString(36).substring(2, 13);\n","import { useState } from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { isNotEmpty, findIndexById } from \"neetocist\";\nimport { pluck, append, assocPath, move, path, remove, isEmpty } from \"ramda\";\n\nimport { DEFAULT_OPTION_LABEL } from \"../constants\";\nimport { filterDeletedRecords, randomId } from \"../utils\";\n\nconst attachPosition = options =>\n options.map((option, index) => ({ ...option, position: index }));\n\nconst useOptionFields = ({\n options,\n onChange,\n shouldDestroy,\n name = \"\",\n currentRecord,\n itemLabel = DEFAULT_OPTION_LABEL,\n}) => {\n const [shouldFocus, setShouldFocus] = useState(false);\n\n const deletedOptions = options.filter(option => !!option?.deleted);\n\n const { initialValues } = useFormikContext();\n\n const handleChange = (id, value, isOnBlur = false) => {\n const filteredOptions = filterDeletedRecords(options);\n const index = findIndexById(id, filteredOptions);\n const draftAttributes = currentRecord?.draftAttributes;\n\n const getNextOptions = () =>\n assocPath(\n [index, \"label\"],\n isOnBlur\n ? path(name.split(\".\"), initialValues)[index]?.label ||\n path(name.split(\".\"), draftAttributes)[index]?.label\n : value,\n filteredOptions\n );\n if (isOnBlur && !isEmpty(value)) return;\n onChange([...deletedOptions, ...getNextOptions()]);\n };\n\n const generateLabel = (opts, count) => {\n const labelCount = count || opts.length + 1;\n const tempLabel = `${itemLabel} ${labelCount}`;\n const isDuplicateLabel = pluck(\"label\", opts).includes(tempLabel);\n\n return isDuplicateLabel ? generateLabel(opts, labelCount + 1) : tempLabel;\n };\n\n const handleDelete = (_, id) => {\n let nextOptions;\n\n if (shouldDestroy) {\n const filteredOptions = filterDeletedRecords(options);\n const indexToDelete = findIndexById(id, filteredOptions);\n nextOptions = assocPath(\n [indexToDelete, \"deleted\"],\n true,\n filteredOptions\n );\n } else {\n const indexToDelete = findIndexById(id, options);\n nextOptions = remove(indexToDelete, 1, options);\n nextOptions = attachPosition(nextOptions);\n }\n onChange([...deletedOptions, ...nextOptions]);\n };\n\n const handleDragEnd = ({ source, destination }) => {\n // When dragged outside of draggable\n if (destination === null) return;\n\n const filteredOptions = filterDeletedRecords(options);\n const nextOptions = move(source.index, destination.index, filteredOptions);\n const finalOptions = attachPosition(nextOptions);\n onChange([...deletedOptions, ...finalOptions]);\n };\n\n const handleAddOption = () => {\n setShouldFocus(true);\n const position = options.length;\n const id = randomId();\n const newOption = {\n id: `draft-${id}`,\n altId: `alt-${id}`,\n label: generateLabel(options, null),\n position,\n };\n const nextOptions = append(newOption, options);\n onChange(nextOptions);\n };\n\n const handleBulkAddOption = optionsString => {\n setShouldFocus(true);\n const position = filterDeletedRecords(options).length;\n const newOptions = optionsString\n .trim()\n .split(/\\r?\\n|,/)\n .filter(isNotEmpty)\n .map((option, index) => ({\n id: `draft-${randomId()}`,\n altId: `alt-${randomId()}`,\n label: option.trim(),\n position: position + index,\n }));\n onChange([...options, ...newOptions]);\n };\n\n const handleKeyDown = () => event => {\n if (event.key !== \"Enter\") return;\n const form = event.target.form;\n const inputs = Array.from(form.querySelectorAll(\"input\"));\n const currentInput = inputs.indexOf(event.target);\n\n if (currentInput >= inputs.length - 1) {\n handleAddOption();\n } else {\n inputs[currentInput + 1]?.focus();\n event.preventDefault();\n }\n event.stopPropagation();\n };\n\n return {\n shouldFocus,\n handleAddOption,\n handleBulkAddOption,\n handleChange,\n handleKeyDown,\n handleDelete,\n handleDragEnd,\n };\n};\n\nexport default useOptionFields;\n","import { ImageUpload, Delete } from \"neetoicons\";\nimport { Button, Input, Textarea } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport DragHandle from \"./DragHandle\";\n\nconst InputOption = ({\n shouldFocus,\n hideDeleteOption = false,\n innerRef,\n draggableProps,\n dragHandleProps,\n isPictureChoice,\n onKeyDown,\n onDelete,\n onChange,\n label,\n index,\n disabled,\n isTextArea,\n id,\n}) => {\n const { t } = useTranslation();\n\n const Component = isTextArea ? Textarea : Input;\n\n return (\n <div\n ref={innerRef}\n {...{ ...draggableProps, ...dragHandleProps }}\n data-cy=\"form-block-options\"\n >\n <div className=\"nf-input-options group relative mb-2 flex items-center gap-2\">\n <DragHandle {...dragHandleProps} />\n {isPictureChoice && (\n <>\n {index === 0 ? (\n <img\n className=\"neeto-ui-rounded-sm h-8 w-8 cursor-pointer overflow-hidden object-cover\"\n data-testid=\"picture-choice-option\"\n src=\"https://i.pravatar.cc/300\"\n />\n ) : (\n <div className=\"hover:neeto-ui-bg-gray-100 neeto-ui-border-primary-600 neeto-ui-text-primary-800 neeto-ui-rounded-sm flex h-8 w-8 cursor-pointer items-center justify-center border border-dashed transition-all duration-300 ease-in-out\">\n <ImageUpload size={16} />\n </div>\n )}\n </>\n )}\n <Component\n {...{ disabled }}\n autoFocus={shouldFocus}\n data-cy={`option-input-${index}`}\n data-testid={isTextArea ? \"textarea-option\" : \"input-option\"}\n placeholder={t(\"neetoMolecules.optionFields.optionName\")}\n value={label}\n suffix={\n !hideDeleteOption && (\n <Button\n {...{ disabled }}\n className=\"p-0.5\"\n data-cy={`delete-option-button-${index}`}\n data-testid=\"delete-option-button\"\n icon={Delete}\n size=\"small\"\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoMolecules.common.actions.delete\"),\n position: \"top\",\n touch: [\"hold\", 500],\n }}\n onClick={() => onDelete({ index, id })}\n />\n )\n }\n onBlur={({ target }) => onChange(id, target.value, true)}\n onChange={({ target }) => onChange(id, target.value)}\n onFocus={({ target }) => target.select()}\n onKeyDown={onKeyDown(index)}\n />\n </div>\n </div>\n );\n};\n\nexport default InputOption;\n","import { useState } from \"react\";\n\nimport { DragDropContext, Droppable, Draggable } from \"@hello-pangea/dnd\";\nimport { slugify, noop } from \"neetocist\";\nimport { Plus } from \"neetoicons\";\nimport { Button, Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport BlockOption from \"./BlockOption\";\nimport BulkOptionModal from \"./BulkOptionModal\";\nimport useOptionFields from \"./hooks/useOptionFields\";\nimport InputOption from \"./InputOption\";\nimport { getVisibleOptions } from \"./utils\";\n\nconst OptionFields = ({\n options,\n error,\n onChange,\n name,\n onDelete,\n itemLabel,\n onEdit = noop,\n buttonProps = {},\n minOptions = 0,\n draggable = false,\n editable = true,\n isPictureChoice = false,\n isTextArea = false,\n shouldDestroy = false,\n currentRecord = {},\n bulkActionProps = { enabled: false, bulkAddHelpDocUrl: \"\" },\n}) => {\n const { t } = useTranslation();\n const [isBulkOptionModalOpen, setIsBulkOptionModalOpen] = useState(false);\n\n const {\n shouldFocus,\n handleAddOption,\n handleBulkAddOption,\n handleChange,\n handleKeyDown,\n handleDelete,\n handleDragEnd,\n } = useOptionFields({\n options,\n onChange,\n shouldDestroy,\n name,\n currentRecord,\n itemLabel,\n });\n\n // Temporarily disables the modifications to options when changed are getting saved to server\n // This condition only needed for server id generated types\n let isEditable = true;\n if (shouldDestroy) {\n isEditable =\n options.every(prop(\"id\") || error) && !options.some(prop(\"_destroy\"));\n }\n\n const handleDeleteClick = ({ index, id }) => {\n const deleteFunction = onDelete ?? handleDelete;\n deleteFunction(index, id);\n };\n const visibleOptions = getVisibleOptions(options);\n const hideDeleteOption = visibleOptions.length <= minOptions;\n\n const getUniqueOptionId = option =>\n option.altId ||\n option.id?.toString() ||\n option.position?.toString() ||\n slugify(option.label);\n\n return (\n <form onSubmit={e => e.preventDefault()}>\n <DragDropContext onDragEnd={handleDragEnd}>\n <Droppable\n droppableId={`neeto-molecules-option-fields-${name}`}\n isDropDisabled={!draggable}\n >\n {({ innerRef, droppableProps, placeholder }) => (\n <div ref={innerRef} {...droppableProps}>\n {visibleOptions.map((option, index) => (\n <Draggable\n {...{ index }}\n dataKey={getUniqueOptionId(option)}\n draggableId={getUniqueOptionId(option)}\n isDragDisabled={!draggable}\n key={getUniqueOptionId(option)}\n >\n {({ innerRef, draggableProps, dragHandleProps }) =>\n editable ? (\n <InputOption\n {...{\n dragHandleProps,\n draggableProps,\n hideDeleteOption,\n index,\n innerRef,\n isPictureChoice,\n isTextArea,\n name,\n shouldFocus,\n }}\n disabled={!isEditable}\n id={option.id}\n label={option.label}\n onChange={handleChange}\n onDelete={handleDeleteClick}\n onKeyDown={handleKeyDown}\n />\n ) : (\n <BlockOption\n {...{\n dragHandleProps,\n draggableProps,\n handleDeleteClick,\n hideDeleteOption,\n index,\n innerRef,\n onEdit,\n }}\n id={option.id}\n label={option.label}\n />\n )\n }\n </Draggable>\n ))}\n {error && (\n <Typography\n className=\"neeto-ui-input__error\"\n data-testid=\"validation-error-container\"\n style=\"body3\"\n >\n {error}\n </Typography>\n )}\n {placeholder}\n </div>\n )}\n </Droppable>\n <div className=\"mt-4 flex items-center justify-between\">\n <Button\n data-cy=\"add-option-link\"\n data-testid=\"add-option-link\"\n disabled={!isEditable}\n icon={Plus}\n iconPosition=\"left\"\n label={t(\"neetoMolecules.optionFields.addOption\")}\n size=\"small\"\n style=\"link\"\n onClick={handleAddOption}\n {...buttonProps}\n />\n {bulkActionProps.enabled && (\n <Button\n data-cy=\"add-bulk-option-link\"\n data-testid=\"add-bulk-option-link\"\n disabled={!isEditable}\n label={t(\"neetoMolecules.optionFields.addBulk\")}\n size=\"small\"\n style=\"text\"\n onClick={() => setIsBulkOptionModalOpen(true)}\n />\n )}\n </div>\n </DragDropContext>\n <BulkOptionModal\n bulkAddHelpDocUrl={bulkActionProps.bulkAddHelpDocUrl}\n handleBulkAdd={handleBulkAddOption}\n isOpen={isBulkOptionModalOpen}\n onClose={() => setIsBulkOptionModalOpen(false)}\n />\n </form>\n );\n};\n\nOptionFields.propTypes = {\n /**\n * Props to be passed to the add option button\n */\n buttonProps: PropTypes.object,\n /**\n * Current record object\n */\n currentRecord: PropTypes.object,\n /**\n * Enable drag and drop functionality\n */\n draggable: PropTypes.bool,\n\n /**\n * Enable edit functionality\n */\n editable: PropTypes.bool,\n\n /**\n * Error message to be displayed\n */\n error: PropTypes.string,\n\n /**\n * The field name in Formik state.\n */\n name: PropTypes.string,\n\n /**\n * Function to handle option deletion\n */\n onDelete: PropTypes.func,\n\n /**\n * Function to handle option edit\n *\n */\n onEdit: PropTypes.func,\n\n /**\n * Minimum number of options required\n */\n minOptions: PropTypes.number,\n\n /**\n * Options array\n */\n options: PropTypes.array,\n\n /**\n * Prop to switch between Input and Textarea\n */\n isTextArea: PropTypes.bool,\n\n /**\n * Function to handle options change\n */\n onChange: PropTypes.func,\n\n /**\n * Prop to switch between PictureChoice and normal options\n * */\n isPictureChoice: PropTypes.bool,\n\n /**\n * Prop to destroy options\n * */\n shouldDestroy: PropTypes.bool,\n\n /**\n * Prop to set the item label\n * */\n\n itemLabel: PropTypes.string,\n\n /**\n * Props for bulk action\n */\n bulkActionProps: PropTypes.shape({\n enabled: PropTypes.bool,\n bulkAddHelpDocUrl: PropTypes.string,\n }),\n};\nexport default OptionFields;\n"],"names":["DragHandle","props","_jsx","_objectSpread","className","children","Reorder","size","strokeWidth","BlockOption","withT","_ref","t","innerRef","_ref$hideDeleteOption","hideDeleteOption","draggableProps","dragHandleProps","label","index","onEdit","handleDeleteClick","id","ref","_jsxs","Typography","style","Button","icon","Edit","tooltipProps","content","position","touch","onClick","Delete","BulkOptionModal","isOpen","onClose","handleBulkAdd","bulkAddHelpDocUrl","_useTranslation","useTranslation","_useState","useState","_useState2","_slicedToArray","optionsString","setOptionsString","handleSave","handleClose","Modal","Header","Body","Textarea","placeholder","rows","value","helpText","Trans","i18nKey","components","Link","href","target","onChange","e","Footer","DEFAULT_OPTION_LABEL","i18next","getVisibleOptions","options","arguments","length","undefined","filter","option","deleted","sort","a","b","filterDeletedRecords","reject","prop","randomId","Math","random","toString","substring","attachPosition","map","useOptionFields","shouldDestroy","_ref$name","name","currentRecord","_ref$itemLabel","itemLabel","shouldFocus","setShouldFocus","deletedOptions","_useFormikContext","useFormikContext","initialValues","handleChange","isOnBlur","filteredOptions","findIndexById","draftAttributes","getNextOptions","_path$index","_path$index2","assocPath","path","split","isEmpty","concat","_toConsumableArray","generateLabel","opts","count","labelCount","tempLabel","isDuplicateLabel","pluck","includes","handleDelete","_","nextOptions","indexToDelete","remove","handleDragEnd","_ref2","source","destination","move","finalOptions","handleAddOption","newOption","altId","append","handleBulkAddOption","newOptions","trim","isNotEmpty","handleKeyDown","event","key","form","inputs","Array","from","querySelectorAll","currentInput","indexOf","_inputs","focus","preventDefault","stopPropagation","InputOption","isPictureChoice","onKeyDown","onDelete","disabled","isTextArea","Component","Input","_Fragment","src","ImageUpload","autoFocus","suffix","onBlur","_ref3","onFocus","_ref4","select","OptionFields","error","_ref$onEdit","noop","_ref$buttonProps","buttonProps","_ref$minOptions","minOptions","_ref$draggable","draggable","_ref$editable","editable","_ref$isPictureChoice","_ref$isTextArea","_ref$shouldDestroy","_ref$currentRecord","_ref$bulkActionProps","bulkActionProps","enabled","isBulkOptionModalOpen","setIsBulkOptionModalOpen","_useOptionFields","isEditable","every","some","deleteFunction","visibleOptions","getUniqueOptionId","_option$id","_option$position","slugify","onSubmit","DragDropContext","onDragEnd","Droppable","droppableId","isDropDisabled","droppableProps","_createElement","Draggable","dataKey","draggableId","isDragDisabled","Plus","iconPosition"],"mappings":"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"}
1
+ {"version":3,"file":"OptionFields.js","sources":["../../src/components/OptionFields/DragHandle.jsx","../../src/components/OptionFields/BlockOption.jsx","../../src/components/OptionFields/BulkOptionModal.jsx","../../src/components/OptionFields/constants.js","../../src/components/OptionFields/utils.js","../../src/components/OptionFields/hooks/useOptionFields.js","../../src/components/OptionFields/InputOption.jsx","../../src/components/OptionFields/index.jsx"],"sourcesContent":["import { Reorder } from \"neetoicons\";\n\nconst DragHandle = props => (\n <div\n className=\"neeto-ui-text-gray-400 absolute bottom-0 left-0 top-0 my-auto -ml-6 h-6 cursor-grab opacity-0 transition-opacity duration-300 ease-in-out group-hover:opacity-100\"\n data-cy=\"drag-handle\"\n data-testid=\"drag-handle\"\n {...props}\n >\n <Reorder size={24} strokeWidth={2} />\n </div>\n);\n\nexport default DragHandle;\n","import { withT } from \"neetocommons/react-utils\";\nimport { Delete, Edit } from \"neetoicons\";\nimport { Button, Typography } from \"neetoui\";\n\nimport DragHandle from \"./DragHandle\";\n\nconst BlockOption = withT(\n ({\n t,\n innerRef,\n hideDeleteOption = false,\n draggableProps,\n dragHandleProps,\n label,\n index,\n onEdit,\n handleDeleteClick,\n id,\n }) => (\n <div ref={innerRef} {...draggableProps} {...dragHandleProps}>\n <div\n className=\"neeto-ui-border-gray-400 hover:neeto-ui-bg-gray-200 neeto-ui-rounded-sm shadow-xs group relative mb-2 flex h-10 cursor-pointer items-center gap-2 border p-3 transition-colors duration-300 ease-in-out\"\n data-cy=\"address-field-block\"\n >\n <DragHandle {...dragHandleProps} />\n <Typography\n className=\"flex-grow leading-4\"\n data-cy=\"address-text-field\"\n data-testid=\"address-text-field\"\n style=\"body2\"\n >\n {label}\n </Typography>\n <div className=\"flex items-center justify-end gap-2 opacity-0 group-hover:opacity-100\">\n <Button\n className=\"neeto-ui-rounded hover:neeto-ui-bg-gray-400 p-1\"\n data-cy=\"address-field-edit-button\"\n data-testid=\"address-field-edit-button\"\n icon={Edit}\n size=\"small\"\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoMolecules.common.actions.edit\"),\n position: \"top\",\n touch: [\"hold\", 500],\n }}\n onClick={() => onEdit(index)}\n />\n {!hideDeleteOption && (\n <Button\n className=\"neeto-ui-rounded hover:neeto-ui-bg-gray-400 p-1\"\n data-cy=\"address-field-delete-button\"\n data-testid=\"address-field-delete-button\"\n icon={Delete}\n size=\"small\"\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoMolecules.common.actions.delete\"),\n position: \"top\",\n touch: [\"hold\", 500],\n }}\n onClick={() => handleDeleteClick({ index, id })}\n />\n )}\n </div>\n </div>\n </div>\n )\n);\n\nexport default BlockOption;\n","import { useState } from \"react\";\n\nimport { Button, Modal, Textarea, Typography } from \"neetoui\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nconst BulkOptionModal = ({\n isOpen,\n onClose,\n handleBulkAdd,\n bulkAddHelpDocUrl,\n}) => {\n const { t } = useTranslation();\n const [optionsString, setOptionsString] = useState(\"\");\n\n const handleSave = () => {\n handleBulkAdd(optionsString);\n handleClose();\n };\n\n const handleClose = () => {\n setOptionsString(\"\");\n onClose();\n };\n\n return (\n <Modal {...{ isOpen }} onClose={handleClose}>\n <Modal.Header>\n <Typography style=\"h3\">\n {t(\"neetoMolecules.optionFields.bulkOption.title\")}\n </Typography>\n </Modal.Header>\n <Modal.Body>\n <Textarea\n className=\"my-2\"\n data-cy=\"bulk-add-options-textarea\"\n data-testid=\"bulk-add-options-textarea\"\n label={t(\"neetoMolecules.optionFields.bulkOption.label\")}\n placeholder={t(\"neetoMolecules.optionFields.bulkOption.label\")}\n rows={8}\n value={optionsString}\n helpText={\n <Trans\n i18nKey=\"neetoMolecules.optionFields.bulkOption.helpText\"\n components={{\n Link: (\n <Button\n className=\"text-xs\"\n href={bulkAddHelpDocUrl}\n style=\"link\"\n target=\"_blank\"\n />\n ),\n }}\n />\n }\n onChange={e => setOptionsString(e.target.value)}\n />\n </Modal.Body>\n <Modal.Footer className=\"gap-x-2\">\n <Button\n data-cy=\"bulk-add-options-done-button\"\n data-testid=\"bulk-add-options-done-button\"\n label={t(\"neetoMolecules.common.actions.submit\")}\n onClick={handleSave}\n />\n <Button\n data-cy=\"bulk-add-options-cancel-button\"\n data-testid=\"bulk-add-options-cancel-button\"\n label={t(\"neetoMolecules.common.actions.cancel\")}\n style=\"text\"\n onClick={handleClose}\n />\n </Modal.Footer>\n </Modal>\n );\n};\n\nexport default BulkOptionModal;\n","import i18next from \"i18next\";\n\nexport const DEFAULT_OPTION_LABEL = i18next.t(\n \"neetoMolecules.optionFields.defaultOption\"\n);\n","import { prop, reject } from \"ramda\";\n\nexport const getOrderedVisibleOptions = (options = []) =>\n options\n .filter(option => !option.deleted)\n .sort((a, b) => a.position - b.position);\n\nexport const filterDeletedRecords = reject(prop(\"deleted\"));\n\nexport const randomId = () => Math.random().toString(36).substring(2, 13);\n","import { useRef, useState } from \"react\";\n\nimport { isNotEmpty, findIndexById } from \"neetocist\";\nimport { pluck, append, assocPath, move, remove, isEmpty, prop } from \"ramda\";\n\nimport { DEFAULT_OPTION_LABEL } from \"../constants\";\nimport { filterDeletedRecords, randomId } from \"../utils\";\n\nconst attachPosition = options =>\n options.map((option, index) => ({ ...option, position: index }));\n\nconst useOptionFields = ({\n options,\n onChange,\n shouldDestroy,\n itemLabel = DEFAULT_OPTION_LABEL,\n}) => {\n const [shouldFocus, setShouldFocus] = useState(false);\n const editingOptionDetailsRef = useRef({ id: \"\", value: \"\" });\n\n const handleChange = (id, value, isOnBlur = false) => {\n // Ignores onBlur events if the value in the input field is not cleared.\n // The value will be reset to the initial value if user clicks outside after clearing the value.\n if (isOnBlur && !isEmpty(value)) return;\n\n const index = findIndexById(id, options);\n if (editingOptionDetailsRef.current.id !== id) {\n editingOptionDetailsRef.current = {\n id,\n value: options[index].label,\n };\n }\n\n // Resets the value to initial value if the user cleared and blurred the input field.\n const valueToUpdate = isOnBlur\n ? editingOptionDetailsRef.current.value\n : value;\n\n onChange(assocPath([index, \"label\"], valueToUpdate, options));\n };\n\n const generateLabel = (opts, count) => {\n const labelCount = count || opts.length + 1;\n const tempLabel = `${itemLabel} ${labelCount}`;\n const isDuplicateLabel = pluck(\"label\", opts).includes(tempLabel);\n\n return isDuplicateLabel ? generateLabel(opts, labelCount + 1) : tempLabel;\n };\n\n const handleDelete = (_, id) => {\n let nextOptions;\n\n const indexToDelete = findIndexById(id, options);\n if (shouldDestroy) {\n nextOptions = assocPath([indexToDelete, \"deleted\"], true, options);\n } else {\n nextOptions = attachPosition(remove(indexToDelete, 1, options));\n }\n onChange(nextOptions);\n };\n\n const handleDragEnd = ({ source, destination }) => {\n // When dragged outside of draggable\n if (destination === null) return;\n\n const deletedOptions = options.filter(prop(\"deleted\"));\n const filteredOptions = filterDeletedRecords(options);\n const nextOptions = move(source.index, destination.index, filteredOptions);\n const finalOptions = attachPosition(nextOptions);\n onChange([...deletedOptions, ...finalOptions]);\n };\n\n const handleAddOption = () => {\n const id = randomId();\n const newOption = {\n id: `draft-${id}`,\n altId: `alt-${id}`,\n label: generateLabel(options, null),\n position: options.length,\n };\n setShouldFocus(true);\n onChange(append(newOption, options));\n };\n\n const handleBulkAddOption = optionsString => {\n setShouldFocus(true);\n const position = filterDeletedRecords(options).length;\n const newOptions = optionsString\n .trim()\n .split(/\\r?\\n|,/)\n .filter(isNotEmpty)\n .map((option, index) => ({\n id: `draft-${randomId()}`,\n altId: `alt-${randomId()}`,\n label: option.trim(),\n position: position + index,\n }));\n onChange([...options, ...newOptions]);\n };\n\n const handleKeyDown = () => event => {\n if (event.key !== \"Enter\") return;\n const form = event.target.form;\n const inputs = Array.from(form.querySelectorAll(\"input\"));\n const currentInput = inputs.indexOf(event.target);\n\n if (currentInput >= inputs.length - 1) {\n handleAddOption();\n } else {\n inputs[currentInput + 1]?.focus();\n event.preventDefault();\n }\n event.stopPropagation();\n };\n\n return {\n shouldFocus,\n handleAddOption,\n handleBulkAddOption,\n handleChange,\n handleKeyDown,\n handleDelete,\n handleDragEnd,\n };\n};\n\nexport default useOptionFields;\n","import { ImageUpload, Delete } from \"neetoicons\";\nimport { Button, Input, Textarea } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport DragHandle from \"./DragHandle\";\n\nconst InputOption = ({\n shouldFocus,\n hideDeleteOption = false,\n innerRef,\n draggableProps,\n dragHandleProps,\n isPictureChoice,\n onKeyDown,\n onDelete,\n onChange,\n label,\n index,\n disabled,\n isTextArea,\n id,\n}) => {\n const { t } = useTranslation();\n\n const Component = isTextArea ? Textarea : Input;\n\n return (\n <div\n ref={innerRef}\n {...{ ...draggableProps, ...dragHandleProps }}\n data-cy=\"form-block-options\"\n >\n <div className=\"nf-input-options group relative mb-2 flex items-center gap-2\">\n <DragHandle {...dragHandleProps} />\n {isPictureChoice && (\n <>\n {index === 0 ? (\n <img\n className=\"neeto-ui-rounded-sm h-8 w-8 cursor-pointer overflow-hidden object-cover\"\n data-testid=\"picture-choice-option\"\n src=\"https://i.pravatar.cc/300\"\n />\n ) : (\n <div className=\"hover:neeto-ui-bg-gray-100 neeto-ui-border-primary-600 neeto-ui-text-primary-800 neeto-ui-rounded-sm flex h-8 w-8 cursor-pointer items-center justify-center border border-dashed transition-all duration-300 ease-in-out\">\n <ImageUpload size={16} />\n </div>\n )}\n </>\n )}\n <Component\n {...{ disabled }}\n autoFocus={shouldFocus}\n data-cy={`option-input-${index}`}\n data-testid={isTextArea ? \"textarea-option\" : \"input-option\"}\n placeholder={t(\"neetoMolecules.optionFields.optionName\")}\n value={label}\n suffix={\n !hideDeleteOption && (\n <Button\n {...{ disabled }}\n className=\"p-0.5\"\n data-cy={`delete-option-button-${index}`}\n data-testid=\"delete-option-button\"\n icon={Delete}\n size=\"small\"\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoMolecules.common.actions.delete\"),\n position: \"top\",\n touch: [\"hold\", 500],\n }}\n onClick={() => onDelete({ index, id })}\n />\n )\n }\n onBlur={({ target }) => onChange(id, target.value, true)}\n onChange={({ target }) => onChange(id, target.value)}\n onFocus={({ target }) => target.select()}\n onKeyDown={onKeyDown(index)}\n />\n </div>\n </div>\n );\n};\n\nexport default InputOption;\n","import { useState } from \"react\";\n\nimport { DragDropContext, Droppable, Draggable } from \"@hello-pangea/dnd\";\nimport { slugify, noop } from \"neetocist\";\nimport { Plus } from \"neetoicons\";\nimport { Button, Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport BlockOption from \"./BlockOption\";\nimport BulkOptionModal from \"./BulkOptionModal\";\nimport useOptionFields from \"./hooks/useOptionFields\";\nimport InputOption from \"./InputOption\";\nimport { getOrderedVisibleOptions } from \"./utils\";\n\nconst OptionFields = ({\n options,\n error,\n onChange,\n name,\n onDelete,\n itemLabel,\n onEdit = noop,\n buttonProps = {},\n minOptions = 0,\n draggable = false,\n editable = true,\n isPictureChoice = false,\n isTextArea = false,\n shouldDestroy = false,\n bulkActionProps = { enabled: false, bulkAddHelpDocUrl: \"\" },\n}) => {\n const { t } = useTranslation();\n const [isBulkOptionModalOpen, setIsBulkOptionModalOpen] = useState(false);\n\n const {\n shouldFocus,\n handleAddOption,\n handleBulkAddOption,\n handleChange,\n handleKeyDown,\n handleDelete,\n handleDragEnd,\n } = useOptionFields({\n options,\n onChange,\n shouldDestroy,\n itemLabel,\n });\n\n // Temporarily disables the modifications to options when changed are getting saved to server\n // This condition only needed for server id generated types\n let isEditable = true;\n if (shouldDestroy) {\n isEditable =\n options.every(prop(\"id\") || error) && !options.some(prop(\"_destroy\"));\n }\n\n const handleDeleteClick = ({ index, id }) => {\n const deleteFunction = onDelete ?? handleDelete;\n deleteFunction(index, id);\n };\n const orderedVisibleOptions = getOrderedVisibleOptions(options);\n const hideDeleteOption = orderedVisibleOptions.length <= minOptions;\n\n const getUniqueOptionId = option =>\n option.altId ||\n option.id?.toString() ||\n option.position?.toString() ||\n slugify(option.label);\n\n return (\n <form onSubmit={e => e.preventDefault()}>\n <DragDropContext onDragEnd={handleDragEnd}>\n <Droppable\n droppableId={`neeto-molecules-option-fields-${name}`}\n isDropDisabled={!draggable}\n >\n {({ innerRef, droppableProps, placeholder }) => (\n <div ref={innerRef} {...droppableProps}>\n {orderedVisibleOptions.map((option, index) => (\n <Draggable\n {...{ index }}\n dataKey={getUniqueOptionId(option)}\n draggableId={getUniqueOptionId(option)}\n isDragDisabled={!draggable}\n key={getUniqueOptionId(option)}\n >\n {({ innerRef, draggableProps, dragHandleProps }) =>\n editable ? (\n <InputOption\n {...{\n dragHandleProps,\n draggableProps,\n hideDeleteOption,\n index,\n innerRef,\n isPictureChoice,\n isTextArea,\n name,\n shouldFocus,\n }}\n disabled={!isEditable}\n id={option.id}\n label={option.label}\n onChange={handleChange}\n onDelete={handleDeleteClick}\n onKeyDown={handleKeyDown}\n />\n ) : (\n <BlockOption\n {...{\n dragHandleProps,\n draggableProps,\n handleDeleteClick,\n hideDeleteOption,\n index,\n innerRef,\n onEdit,\n }}\n id={option.id}\n label={option.label}\n />\n )\n }\n </Draggable>\n ))}\n {error && (\n <Typography\n className=\"neeto-ui-input__error\"\n data-testid=\"validation-error-container\"\n style=\"body3\"\n >\n {error}\n </Typography>\n )}\n {placeholder}\n </div>\n )}\n </Droppable>\n <div className=\"mt-4 flex items-center justify-between\">\n <Button\n data-cy=\"add-option-link\"\n data-testid=\"add-option-link\"\n disabled={!isEditable}\n icon={Plus}\n iconPosition=\"left\"\n label={t(\"neetoMolecules.optionFields.addOption\")}\n size=\"small\"\n style=\"link\"\n onClick={handleAddOption}\n {...buttonProps}\n />\n {bulkActionProps.enabled && (\n <Button\n data-cy=\"add-bulk-option-link\"\n data-testid=\"add-bulk-option-link\"\n disabled={!isEditable}\n label={t(\"neetoMolecules.optionFields.addBulk\")}\n size=\"small\"\n style=\"text\"\n onClick={() => setIsBulkOptionModalOpen(true)}\n />\n )}\n </div>\n </DragDropContext>\n <BulkOptionModal\n bulkAddHelpDocUrl={bulkActionProps.bulkAddHelpDocUrl}\n handleBulkAdd={handleBulkAddOption}\n isOpen={isBulkOptionModalOpen}\n onClose={() => setIsBulkOptionModalOpen(false)}\n />\n </form>\n );\n};\n\nOptionFields.propTypes = {\n /**\n * Props to be passed to the add option button\n */\n buttonProps: PropTypes.object,\n\n /**\n * Enable drag and drop functionality\n */\n draggable: PropTypes.bool,\n\n /**\n * Enable edit functionality\n */\n editable: PropTypes.bool,\n\n /**\n * Error message to be displayed\n */\n error: PropTypes.string,\n\n /**\n * The field name in Formik state.\n */\n name: PropTypes.string,\n\n /**\n * Function to handle option deletion\n */\n onDelete: PropTypes.func,\n\n /**\n * Function to handle option edit\n *\n */\n onEdit: PropTypes.func,\n\n /**\n * Minimum number of options required\n */\n minOptions: PropTypes.number,\n\n /**\n * Options array\n */\n options: PropTypes.array,\n\n /**\n * Prop to switch between Input and Textarea\n */\n isTextArea: PropTypes.bool,\n\n /**\n * Function to handle options change\n */\n onChange: PropTypes.func,\n\n /**\n * Prop to switch between PictureChoice and normal options\n * */\n isPictureChoice: PropTypes.bool,\n\n /**\n * Prop to destroy options\n * */\n shouldDestroy: PropTypes.bool,\n\n /**\n * Prop to set the item label\n * */\n\n itemLabel: PropTypes.string,\n\n /**\n * Props for bulk action\n */\n bulkActionProps: PropTypes.shape({\n enabled: PropTypes.bool,\n bulkAddHelpDocUrl: PropTypes.string,\n }),\n};\nexport default OptionFields;\n"],"names":["DragHandle","props","_jsx","_objectSpread","className","children","Reorder","size","strokeWidth","BlockOption","withT","_ref","t","innerRef","_ref$hideDeleteOption","hideDeleteOption","draggableProps","dragHandleProps","label","index","onEdit","handleDeleteClick","id","ref","_jsxs","Typography","style","Button","icon","Edit","tooltipProps","content","position","touch","onClick","Delete","BulkOptionModal","isOpen","onClose","handleBulkAdd","bulkAddHelpDocUrl","_useTranslation","useTranslation","_useState","useState","_useState2","_slicedToArray","optionsString","setOptionsString","handleSave","handleClose","Modal","Header","Body","Textarea","placeholder","rows","value","helpText","Trans","i18nKey","components","Link","href","target","onChange","e","Footer","DEFAULT_OPTION_LABEL","i18next","getOrderedVisibleOptions","options","arguments","length","undefined","filter","option","deleted","sort","a","b","filterDeletedRecords","reject","prop","randomId","Math","random","toString","substring","attachPosition","map","useOptionFields","shouldDestroy","_ref$itemLabel","itemLabel","shouldFocus","setShouldFocus","editingOptionDetailsRef","useRef","handleChange","isOnBlur","isEmpty","findIndexById","current","valueToUpdate","assocPath","generateLabel","opts","count","labelCount","tempLabel","concat","isDuplicateLabel","pluck","includes","handleDelete","_","nextOptions","indexToDelete","remove","handleDragEnd","_ref2","source","destination","deletedOptions","filteredOptions","move","finalOptions","_toConsumableArray","handleAddOption","newOption","altId","append","handleBulkAddOption","newOptions","trim","split","isNotEmpty","handleKeyDown","event","key","form","inputs","Array","from","querySelectorAll","currentInput","indexOf","_inputs","focus","preventDefault","stopPropagation","InputOption","isPictureChoice","onKeyDown","onDelete","disabled","isTextArea","Component","Input","_Fragment","src","ImageUpload","autoFocus","suffix","onBlur","_ref3","onFocus","_ref4","select","OptionFields","error","name","_ref$onEdit","noop","_ref$buttonProps","buttonProps","_ref$minOptions","minOptions","_ref$draggable","draggable","_ref$editable","editable","_ref$isPictureChoice","_ref$isTextArea","_ref$shouldDestroy","_ref$bulkActionProps","bulkActionProps","enabled","isBulkOptionModalOpen","setIsBulkOptionModalOpen","_useOptionFields","isEditable","every","some","deleteFunction","orderedVisibleOptions","getUniqueOptionId","_option$id","_option$position","slugify","onSubmit","DragDropContext","onDragEnd","Droppable","droppableId","isDropDisabled","droppableProps","_createElement","Draggable","dataKey","draggableId","isDragDisabled","Plus","iconPosition"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bigbinary/neeto-molecules",
3
- "version": "3.7.0",
3
+ "version": "3.7.3",
4
4
  "description": "A package of reusable molecular components for neeto products.",
5
5
  "repository": "git@github.com:bigbinary/neeto-molecules.git",
6
6
  "author": "Amaljith K <amaljith.k@bigbinary.com>",
@@ -23,7 +23,6 @@ type OptionFieldsProps = {
23
23
  editable?: boolean;
24
24
  isPictureChoice?: boolean;
25
25
  name?: string;
26
- currentRecord?: Object;
27
26
  isTextArea?: boolean;
28
27
  itemLabel?: string;
29
28
  bulkActionProps?: BulkActionProps;