@bigbinary/neeto-molecules 3.15.32 → 3.15.34

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/Codeblock.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
- import CodeBlock from 'react-syntax-highlighter/dist/cjs/prism-light.js';
2
+ import CodeBlock from 'react-syntax-highlighter/dist/esm/prism-light.js';
3
3
  import { dracula } from 'react-syntax-highlighter/dist/esm/styles/prism';
4
4
  import CopyToClipboardButton from './CopyToClipboardButton.js';
5
5
  import { jsxs, jsx } from 'react/jsx-runtime';
@@ -1 +1 @@
1
- {"version":3,"file":"Codeblock.js","sources":["../src/components/Codeblock.jsx"],"sourcesContent":["import PropTypes from \"prop-types\";\nimport CodeBlock from \"react-syntax-highlighter/dist/cjs/prism-light.js\";\nimport { dracula } from \"react-syntax-highlighter/dist/esm/styles/prism\";\n\nimport CopyCode from \"components/CopyToClipboardButton\";\n\nconst Codeblock = ({\n code,\n showCopyButton = true,\n codeblockProps,\n copyButtonProps = { label: \"Copy\" },\n}) => {\n const isLargerScreen = window.innerWidth > 768;\n\n return (\n <div className=\"relative\">\n <CodeBlock\n wrapLines\n className=\"neeto-molecules-code-block p-4 pr-12 md:pr-4\"\n codeTagProps={{ \"data-cy\": \"code-block-content\" }}\n data-cy=\"code-block\"\n data-testid=\"codeblock-react-highlighter\"\n language=\"javascript\"\n style={dracula}\n {...codeblockProps}\n >\n {code}\n </CodeBlock>\n {showCopyButton && (\n <CopyCode\n className=\"absolute right-2 top-2\"\n data-cy=\"copy-button\"\n data-testid=\"codeblock-copy-button\"\n size=\"small\"\n style=\"secondary\"\n value={code}\n {...copyButtonProps}\n label={isLargerScreen ? copyButtonProps.label : \"\"}\n />\n )}\n </div>\n );\n};\n\nCodeblock.propTypes = {\n /**\n * The code to be displayed.\n */\n code: PropTypes.string,\n /**\n * Flag to determine whether the 'Copy' button is displayed.\n */\n showCopyButton: PropTypes.bool,\n /**\n * Additional props that can be passed on to the 'PrismLight' component from 'react-syntax-highlighter'.\n */\n codeblockProps: PropTypes.object,\n /**\n * Additional props that can be passed on to the 'CopyToClipboardButton' component from 'neeto-molecules'.\n */\n copyButtonProps: PropTypes.object,\n};\n\nexport default Codeblock;\n"],"names":["Codeblock","_ref","code","_ref$showCopyButton","showCopyButton","codeblockProps","_ref$copyButtonProps","copyButtonProps","label","isLargerScreen","window","innerWidth","_jsxs","className","children","_jsx","CodeBlock","_objectSpread","wrapLines","codeTagProps","language","style","dracula","CopyCode","size","value"],"mappings":";;;;;;;;;;;;;;;;;;;AAMA,IAAMA,SAAS,GAAG,SAAZA,SAASA,CAAAC,IAAA,EAKT;AAAA,EAAA,IAJJC,IAAI,GAAAD,IAAA,CAAJC,IAAI;IAAAC,mBAAA,GAAAF,IAAA,CACJG,cAAc;AAAdA,IAAAA,cAAc,GAAAD,mBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,mBAAA;IACrBE,cAAc,GAAAJ,IAAA,CAAdI,cAAc;IAAAC,oBAAA,GAAAL,IAAA,CACdM,eAAe;IAAfA,eAAe,GAAAD,oBAAA,KAAG,KAAA,CAAA,GAAA;AAAEE,MAAAA,KAAK,EAAE,MAAA;AAAO,KAAC,GAAAF,oBAAA,CAAA;AAEnC,EAAA,IAAMG,cAAc,GAAGC,MAAM,CAACC,UAAU,GAAG,GAAG,CAAA;AAE9C,EAAA,oBACEC,IAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,UAAU;AAAAC,IAAAA,QAAA,gBACvBC,GAAA,CAACC,SAAS,EAAAC,aAAA,CAAAA,aAAA,CAAA;MACRC,SAAS,EAAA,IAAA;AACTL,MAAAA,SAAS,EAAC,8CAA8C;AACxDM,MAAAA,YAAY,EAAE;AAAE,QAAA,SAAS,EAAE,oBAAA;OAAuB;AAClD,MAAA,SAAA,EAAQ,YAAY;AACpB,MAAA,aAAA,EAAY,6BAA6B;AACzCC,MAAAA,QAAQ,EAAC,YAAY;AACrBC,MAAAA,KAAK,EAAEC,OAAAA;AAAQ,KAAA,EACXjB,cAAc,CAAA,EAAA,EAAA,EAAA;AAAAS,MAAAA,QAAA,EAEjBZ,IAAAA;KACQ,CAAA,CAAC,EACXE,cAAc,iBACbW,GAAA,CAACQ,qBAAQ,EAAAN,aAAA,CAAAA,aAAA,CAAA;AACPJ,MAAAA,SAAS,EAAC,wBAAwB;AAClC,MAAA,SAAA,EAAQ,aAAa;AACrB,MAAA,aAAA,EAAY,uBAAuB;AACnCW,MAAAA,IAAI,EAAC,OAAO;AACZH,MAAAA,KAAK,EAAC,WAAW;AACjBI,MAAAA,KAAK,EAAEvB,IAAAA;AAAK,KAAA,EACRK,eAAe,CAAA,EAAA,EAAA,EAAA;AACnBC,MAAAA,KAAK,EAAEC,cAAc,GAAGF,eAAe,CAACC,KAAK,GAAG,EAAA;AAAG,KAAA,CACpD,CACF,CAAA;AAAA,GACE,CAAC,CAAA;AAEV;;;;"}
1
+ {"version":3,"file":"Codeblock.js","sources":["../src/components/Codeblock.jsx"],"sourcesContent":["import PropTypes from \"prop-types\";\nimport CodeBlock from \"react-syntax-highlighter/dist/esm/prism-light.js\";\nimport { dracula } from \"react-syntax-highlighter/dist/esm/styles/prism\";\n\nimport CopyCode from \"components/CopyToClipboardButton\";\n\nconst Codeblock = ({\n code,\n showCopyButton = true,\n codeblockProps,\n copyButtonProps = { label: \"Copy\" },\n}) => {\n const isLargerScreen = window.innerWidth > 768;\n\n return (\n <div className=\"relative\">\n <CodeBlock\n wrapLines\n className=\"neeto-molecules-code-block p-4 pr-12 md:pr-4\"\n codeTagProps={{ \"data-cy\": \"code-block-content\" }}\n data-cy=\"code-block\"\n data-testid=\"codeblock-react-highlighter\"\n language=\"javascript\"\n style={dracula}\n {...codeblockProps}\n >\n {code}\n </CodeBlock>\n {showCopyButton && (\n <CopyCode\n className=\"absolute right-2 top-2\"\n data-cy=\"copy-button\"\n data-testid=\"codeblock-copy-button\"\n size=\"small\"\n style=\"secondary\"\n value={code}\n {...copyButtonProps}\n label={isLargerScreen ? copyButtonProps.label : \"\"}\n />\n )}\n </div>\n );\n};\n\nCodeblock.propTypes = {\n /**\n * The code to be displayed.\n */\n code: PropTypes.string,\n /**\n * Flag to determine whether the 'Copy' button is displayed.\n */\n showCopyButton: PropTypes.bool,\n /**\n * Additional props that can be passed on to the 'PrismLight' component from 'react-syntax-highlighter'.\n */\n codeblockProps: PropTypes.object,\n /**\n * Additional props that can be passed on to the 'CopyToClipboardButton' component from 'neeto-molecules'.\n */\n copyButtonProps: PropTypes.object,\n};\n\nexport default Codeblock;\n"],"names":["Codeblock","_ref","code","_ref$showCopyButton","showCopyButton","codeblockProps","_ref$copyButtonProps","copyButtonProps","label","isLargerScreen","window","innerWidth","_jsxs","className","children","_jsx","CodeBlock","_objectSpread","wrapLines","codeTagProps","language","style","dracula","CopyCode","size","value"],"mappings":";;;;;;;;;;;;;;;;;;;AAMA,IAAMA,SAAS,GAAG,SAAZA,SAASA,CAAAC,IAAA,EAKT;AAAA,EAAA,IAJJC,IAAI,GAAAD,IAAA,CAAJC,IAAI;IAAAC,mBAAA,GAAAF,IAAA,CACJG,cAAc;AAAdA,IAAAA,cAAc,GAAAD,mBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,mBAAA;IACrBE,cAAc,GAAAJ,IAAA,CAAdI,cAAc;IAAAC,oBAAA,GAAAL,IAAA,CACdM,eAAe;IAAfA,eAAe,GAAAD,oBAAA,KAAG,KAAA,CAAA,GAAA;AAAEE,MAAAA,KAAK,EAAE,MAAA;AAAO,KAAC,GAAAF,oBAAA,CAAA;AAEnC,EAAA,IAAMG,cAAc,GAAGC,MAAM,CAACC,UAAU,GAAG,GAAG,CAAA;AAE9C,EAAA,oBACEC,IAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,UAAU;AAAAC,IAAAA,QAAA,gBACvBC,GAAA,CAACC,SAAS,EAAAC,aAAA,CAAAA,aAAA,CAAA;MACRC,SAAS,EAAA,IAAA;AACTL,MAAAA,SAAS,EAAC,8CAA8C;AACxDM,MAAAA,YAAY,EAAE;AAAE,QAAA,SAAS,EAAE,oBAAA;OAAuB;AAClD,MAAA,SAAA,EAAQ,YAAY;AACpB,MAAA,aAAA,EAAY,6BAA6B;AACzCC,MAAAA,QAAQ,EAAC,YAAY;AACrBC,MAAAA,KAAK,EAAEC,OAAAA;AAAQ,KAAA,EACXjB,cAAc,CAAA,EAAA,EAAA,EAAA;AAAAS,MAAAA,QAAA,EAEjBZ,IAAAA;KACQ,CAAA,CAAC,EACXE,cAAc,iBACbW,GAAA,CAACQ,qBAAQ,EAAAN,aAAA,CAAAA,aAAA,CAAA;AACPJ,MAAAA,SAAS,EAAC,wBAAwB;AAClC,MAAA,SAAA,EAAQ,aAAa;AACrB,MAAA,aAAA,EAAY,uBAAuB;AACnCW,MAAAA,IAAI,EAAC,OAAO;AACZH,MAAAA,KAAK,EAAC,WAAW;AACjBI,MAAAA,KAAK,EAAEvB,IAAAA;AAAK,KAAA,EACRK,eAAe,CAAA,EAAA,EAAA,EAAA;AACnBC,MAAAA,KAAK,EAAEC,cAAc,GAAGF,eAAe,CAACC,KAAK,GAAG,EAAA;AAAG,KAAA,CACpD,CACF,CAAA;AAAA,GACE,CAAC,CAAA;AAEV;;;;"}
@@ -27,7 +27,7 @@ import Radio from '@bigbinary/neetoui/Radio';
27
27
  import Spinner from '@bigbinary/neetoui/Spinner';
28
28
  import BrowserPreview from './BrowserPreview.js';
29
29
  import { n } from './inject-css-DmrvuTKK.js';
30
- import 'react-syntax-highlighter/dist/cjs/prism-light.js';
30
+ import 'react-syntax-highlighter/dist/esm/prism-light.js';
31
31
  import 'react-syntax-highlighter/dist/esm/styles/prism';
32
32
  import './CopyToClipboardButton.js';
33
33
  import '@bigbinary/neeto-commons-frontend/utils/general';
@@ -363,6 +363,7 @@ var ShareViaEmail = function ShareViaEmail(_ref) {
363
363
  className: "neeto-molecules-share-frame grid grid-cols-1 md:grid-cols-12",
364
364
  children: [/*#__PURE__*/jsxs("div", {
365
365
  className: "neeto-molecules-share-frame__left-wrap col-span-1 p-6 pb-0 md:col-span-6 lg:col-span-5",
366
+ "data-cy": "share-via-email-frame-wrapper",
366
367
  children: [backToUrl && /*#__PURE__*/jsx(Button, {
367
368
  className: "mb-4",
368
369
  "data-testid": "back-to-url-button",
@@ -1 +1 @@
1
- {"version":3,"file":"ShareViaEmail.js","sources":["../src/components/ShareViaEmail/constants.js","../src/components/ShareViaEmail/utils.js","../src/components/ShareViaEmail/FormikDatePicker.jsx","../src/components/ShareViaEmail/AdvancedProperties.jsx","../src/components/ShareViaEmail/EmailBodyEditor.jsx","../src/components/ShareViaEmail/Form.jsx","../src/components/ShareViaEmail/index.jsx"],"sourcesContent":["export const ONE_MEGABYTE = 1_048_576;\n\nexport const INITIAL_VALUES = {\n sendFromEmail: \"\",\n replyToEmail: \"\",\n notifyEmails: [],\n emailSubject: \"\",\n emailBody: \"\",\n isSendLaterEnabled: false,\n sendEmailDatetime: undefined,\n category: \"email_share\",\n actionButtonText: \"\",\n};\n\nexport const EDITOR_ADDONS = [\n \"emoji\",\n \"block-quote\",\n \"image-upload\",\n \"divider\",\n];\n\nexport const ALLOWED_FILE_PICKER_TYPES = [\".csv\"];\n\nexport const TIME_FORMAT = \"hh:mm A\";\n","import { t } from \"i18next\";\nimport { dynamicArray, isNot } from \"neetocist\";\nimport { dayjs } from \"neetocommons/utils\";\nimport { isEditorEmpty } from \"neetoeditor\";\nimport Papa from \"papaparse\";\nimport { prop } from \"ramda\";\nimport { string } from \"yup\";\nimport * as yup from \"yup\";\n\nimport { INITIAL_VALUES } from \"./constants\";\n\nconst isValidEmail = email => string().email().isValidSync(email);\n\nexport const isPastDate = date =>\n dayjs(date).isBefore(dayjs().subtract(1, \"days\"));\n\nexport const createEmailOptions = (emails = []) =>\n emails.map(email => ({\n label: email,\n value: email,\n valid: isValidEmail(email),\n }));\n\nexport const parseCsvEmails = file =>\n new Promise(resolve => {\n Papa.parse(file, {\n header: true,\n skipEmptyLines: true,\n transformHeader: h => h.toLowerCase().replace(/\\W/g, \"\"),\n complete: results => {\n const isEmailFieldPresent = results.meta.fields?.includes(\"email\");\n if (!isEmailFieldPresent) return resolve([]);\n\n const emails = results.data\n .map(item => item.email?.trim())\n .filter(isNot(undefined));\n\n return resolve(createEmailOptions(emails));\n },\n });\n });\n\nexport const generateInitialValues = defaultValues => ({\n ...INITIAL_VALUES,\n ...defaultValues,\n});\n\nexport const emailFormValidationSchema = disableReplyTo =>\n yup.object().shape({\n emailSubject: yup\n .string()\n .required(\n t(\"neetoMolecules.shareViaEmail.validations.requiredField.subject\")\n ),\n emailBody: yup\n .string()\n .test(\n \"emailBody\",\n t(\"neetoMolecules.shareViaEmail.validations.requiredField.emailBody\"),\n value => !isEditorEmpty(value)\n ),\n sendFromEmail: yup\n .string()\n .trim()\n .email(\n t(\"neetoMolecules.shareViaEmail.validations.invalidField.emailAddress\")\n )\n .required(\n t(\"neetoMolecules.shareViaEmail.validations.requiredField.sendFrom\")\n ),\n replyToEmail:\n !disableReplyTo &&\n yup\n .string()\n .trim()\n .email(\n t(\n \"neetoMolecules.shareViaEmail.validations.invalidField.emailAddress\"\n )\n )\n .required(\n t(\"neetoMolecules.shareViaEmail.validations.requiredField.replyTo\")\n ),\n notifyEmails: yup\n .array()\n .min(\n 1,\n t(\n \"neetoMolecules.shareViaEmail.validations.atleastOneIsRequired.emailAddress\"\n )\n )\n .test(\n \"are-all-emails-valid\",\n t(\"neetoMolecules.shareViaEmail.validations.invalidField.emailAddress\"),\n emails => emails.every(prop(\"valid\"))\n ),\n isSendLaterEnabled: yup.boolean(),\n sendEmailDatetime: yup.date().when(\"isSendLaterEnabled\", {\n is: true,\n then: yup\n .date()\n .required(\n t(\"neetoMolecules.shareViaEmail.validations.requiredField.sendLater\")\n ),\n }),\n name: yup.string(),\n actionButtonText: yup\n .string()\n .required(\n t(\n \"neetoMolecules.shareViaEmail.validations.requiredField.startButtonText\"\n )\n ),\n });\n\nexport const disabledTime = selectedDate => {\n const current = dayjs(selectedDate).startOf(\"day\");\n const today = dayjs().startOf(\"day\");\n\n if (current.isBefore(today)) {\n return {\n disabledHours: () => dynamicArray(24, i => i),\n disabledMinutes: () => dynamicArray(60, i => i),\n };\n }\n\n if (current.isSame(today)) {\n const currentTime = dayjs();\n const currentHour = currentTime.hour();\n const currentMinute = currentTime.minute();\n\n return {\n disabledHours: () => dynamicArray(currentHour, i => i),\n disabledMinutes: selectedHour =>\n selectedHour === currentHour ? dynamicArray(currentMinute, i => i) : [],\n };\n }\n\n return {};\n};\n","import { useField } from \"formik\";\nimport { DatePicker } from \"neetoui\";\n\nimport { TIME_FORMAT } from \"./constants\";\nimport { disabledTime } from \"./utils\";\n\nconst FormikDatePicker = ({ name, disabledDate, ...props }) => {\n const [field, meta, { setValue, setTouched }] = useField(name);\n\n return (\n <DatePicker\n showTime\n timeFormat={TIME_FORMAT}\n {...{ ...field, ...meta, disabledDate }}\n data-cy={props[\"data-cy\"]}\n data-testid={props[\"data-testid\"]}\n timePickerProps={{ disabledTime }}\n onBlur={() => !meta.touched && setTouched(true)}\n onChange={date => {\n setValue(date || undefined);\n if (!meta.touched) setTouched(true);\n }}\n {...props}\n />\n );\n};\n\nexport default FormikDatePicker;\n","import { useState } from \"react\";\n\nimport classNames from \"classnames\";\nimport { useFormikContext } from \"formik\";\nimport { Down, Up } from \"neetoicons\";\nimport { Label, Typography } from \"neetoui\";\nimport { Input, Switch } from \"neetoui/formik\";\nimport { not } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport FormikDatePicker from \"./FormikDatePicker\";\nimport { isPastDate } from \"./utils\";\n\nconst AdvancedProperties = ({ showSendFromField, disableReplyTo }) => {\n const { t } = useTranslation();\n\n const { values } = useFormikContext();\n\n const [isAdvancedPropertiesVisible, setIsAdvancedPropertiesVisible] =\n useState(false);\n\n const toggleAdvancedOptions = () => setIsAdvancedPropertiesVisible(not);\n\n return (\n <div className=\"flex w-full flex-col items-start gap-4\">\n <button\n className=\"flex w-full cursor-pointer items-start justify-between overflow-hidden border-0 py-4\"\n type=\"button\"\n onClick={toggleAdvancedOptions}\n >\n <Typography\n className=\"flex min-w-0 flex-grow\"\n component=\"span\"\n style=\"h5\"\n weight=\"medium\"\n >\n {t(\"neetoMolecules.shareViaEmail.advancedProperties\")}\n </Typography>\n {isAdvancedPropertiesVisible ? (\n <Up className=\"flex-shrink-0\" size={20} />\n ) : (\n <Down className=\"flex-shrink-0\" size={20} />\n )}\n </button>\n {isAdvancedPropertiesVisible && (\n <>\n <div>\n <Label className=\"flex items-center gap-2\">\n <Switch\n data-cy=\"send-later-switch\"\n data-testid=\"send-later-switch\"\n name=\"isSendLaterEnabled\"\n />\n <Typography\n component=\"span\"\n data-cy=\"send-later-label\"\n lineHeight=\"normal\"\n style=\"h4\"\n weight=\"semibold\"\n >\n {t(\"neetoMolecules.shareViaEmail.sendLater\")}\n </Typography>\n </Label>\n </div>\n {values.isSendLaterEnabled && (\n <FormikDatePicker\n autoFocus\n data-cy=\"email-share-date-input\"\n data-testid=\"formik-date-picker\"\n disabledDate={isPastDate}\n name=\"sendEmailDatetime\"\n size=\"large\"\n />\n )}\n <Input\n required\n className=\"w-full\"\n label={t(\"neetoMolecules.shareViaEmail.startButtonText\")}\n name=\"actionButtonText\"\n />\n <div className=\"flex w-full flex-col gap-4 sm:flex-row sm:gap-6\">\n {showSendFromField && (\n <Input\n required\n data-testid=\"neeto-molecules-share-via-email-send-from\"\n label={t(\"neetoMolecules.shareViaEmail.sendFrom\")}\n name=\"sendFromEmail\"\n className={classNames({\n \"w-full flex-grow-0\": !disableReplyTo,\n })}\n />\n )}\n {!disableReplyTo && (\n <Input\n required\n data-testid=\"replyTo-field\"\n label={t(\"neetoMolecules.shareViaEmail.replyTo\")}\n name=\"replyToEmail\"\n className={classNames({\n \"w-full flex-grow-0\": showSendFromField,\n })}\n />\n )}\n </div>\n </>\n )}\n </div>\n );\n};\n\nexport default AdvancedProperties;\n","import { forwardRef } from \"react\";\n\nimport { FormikEditor } from \"neetoeditor\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { EDITOR_ADDONS } from \"./constants\";\n\nconst EmailBody = forwardRef(({ id, showVideoEmbedInEditor }, ref) => {\n const { t } = useTranslation();\n\n return (\n <FormikEditor\n {...{ id, ref }}\n required\n className=\"mb-6\"\n data-cy=\"email-body\"\n label={t(\"neetoMolecules.shareViaEmail.emailBody\")}\n name=\"emailBody\"\n addons={\n showVideoEmbedInEditor\n ? [...EDITOR_ADDONS, \"video-embed\"]\n : EDITOR_ADDONS\n }\n />\n );\n});\n\nEmailBody.displayName = \"EmailBody\";\n\nexport default EmailBody;\n","import { useRef } from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { Input, ActionBlock } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport SendToFields from \"components/SendToFields\";\n\nimport AdvancedProperties from \"./AdvancedProperties\";\nimport EmailBody from \"./EmailBodyEditor\";\n\nconst Form = ({\n showSendFromField,\n disableReplyTo,\n showVideoEmbedInEditor,\n children,\n}) => {\n const { initialValues } = useFormikContext();\n const editorRef = useRef();\n const { t } = useTranslation();\n\n const handleReset = () =>\n editorRef.current.editor.commands.setContent(initialValues.emailBody);\n\n return (\n <>\n <div className=\"space-y-6\">\n <SendToFields\n showUploadCsvButton\n emailInputProps={{\n label: t(\"neetoMolecules.shareViaEmail.sendTo\"),\n name: \"notifyEmails\",\n required: true,\n }}\n />\n <Input\n required\n className=\"col-span-1\"\n label={t(\"neetoMolecules.shareViaEmail.subject\")}\n name=\"emailSubject\"\n />\n <EmailBody\n {...{ showVideoEmbedInEditor }}\n id=\"emailBody\"\n ref={editorRef}\n />\n <div ref={editorRef} />\n <AdvancedProperties {...{ disableReplyTo, showSendFromField }} />\n </div>\n {children && (\n <div className=\"neeto-ui-border-gray-300 mt-4 border-t py-4\">\n <h3 className=\"mb-4\">\n {t(\"neetoMolecules.shareViaEmail.additionalOptions\")}\n </h3>\n {children}\n </div>\n )}\n <div className=\"neeto-ui-bg-white sticky bottom-0 z-10 mt-6 py-6\">\n <ActionBlock\n cancelButtonProps={{\n label: t(\"neetoMolecules.shareViaEmail.reset\"),\n type: \"reset\",\n onClick: handleReset,\n }}\n submitButtonProps={{\n label: t(\"neetoMolecules.shareViaEmail.sendEmail\"),\n }}\n />\n </div>\n </>\n );\n};\n\nexport default Form;\n","import { LeftArrow } from \"neetoicons\";\nimport { Button, Typography } from \"neetoui\";\nimport { Form } from \"neetoui/formik\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport EmailPreview from \"components/EmailPreview\";\nimport MobilePreviewHeader from \"components/MobilePreviewHeader\";\n\nimport EmailForm from \"./Form\";\nimport \"./share-via-email.scss\";\nimport { emailFormValidationSchema, generateInitialValues } from \"./utils\";\n\nconst ShareViaEmail = ({\n showSendFromField = false,\n backToUrl,\n handleSubmit,\n children,\n description,\n defaultValues,\n disableReplyTo,\n showVideoEmbedInEditor,\n title = \"\",\n}) => {\n const { t } = useTranslation();\n\n const shareViaEmailTitle = title || t(\"neetoMolecules.shareViaEmail.title\");\n const sendToEmails = notifyEmails => notifyEmails.map(email => email?.value);\n\n return (\n <div className=\"w-full\">\n <Form\n scrollToErrorField\n formProps={{ noValidate: true }}\n formikProps={{\n enableReinitialize: true,\n validateOnMount: true,\n initialValues: generateInitialValues(defaultValues),\n validationSchema: emailFormValidationSchema(disableReplyTo),\n onSubmit: handleSubmit,\n }}\n >\n {({ values }) => (\n <div className=\"neeto-molecules-share-frame grid grid-cols-1 md:grid-cols-12\">\n <div className=\"neeto-molecules-share-frame__left-wrap col-span-1 p-6 pb-0 md:col-span-6 lg:col-span-5\">\n {backToUrl && (\n <Button\n className=\"mb-4\"\n data-testid=\"back-to-url-button\"\n icon={LeftArrow}\n iconPosition=\"left\"\n label={t(\"neetoMolecules.shareViaEmail.backToShare\")}\n size=\"small\"\n style=\"link\"\n to={backToUrl}\n />\n )}\n <div className=\"mb-6\">\n <Typography\n className=\"mb-0.5 break-words\"\n data-cy=\"share-via-email-heading\"\n lineHeight=\"normal\"\n style=\"h2\"\n weight=\"semibold\"\n >\n {shareViaEmailTitle}\n </Typography>\n {description && (\n <Typography\n className=\"neeto-ui-text-gray-700\"\n data-cy=\"share-via-email-sub-heading\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {description}\n </Typography>\n )}\n </div>\n <EmailForm\n {...{\n disableReplyTo,\n showSendFromField,\n showVideoEmbedInEditor,\n }}\n >\n {children}\n </EmailForm>\n </div>\n <MobilePreviewHeader className=\"col-span-1 md:hidden\" />\n <div className=\"neeto-molecules-share-frame__right-wrap neeto-ui-bg-gray-100 col-span-1 p-6 py-10 md:col-span-6 lg:col-span-7\">\n <EmailPreview\n actionButtonText={values.actionButtonText}\n body={values.emailBody}\n subject={values.emailSubject}\n to={sendToEmails(values.notifyEmails)}\n />\n </div>\n </div>\n )}\n </Form>\n </div>\n );\n};\n\nShareViaEmail.propTypes = {\n /**\n * The path to navigate back to the required page on clicking the 'Back to share' button.\n */\n backToUrl: PropTypes.string,\n /**\n * The function that handles submitting of values to the API.\n */\n handleSubmit: PropTypes.func,\n /**\n * React components that can be passed on as children, to add optional fields.\n */\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node,\n ]),\n /**\n * Description text to be displayed under the component title.\n */\n description: PropTypes.string,\n /**\n * An object to assign default values to the email form.\n */\n defaultValues: PropTypes.shape({\n sendFromEmail: PropTypes.string,\n replyToEmail: PropTypes.string,\n actionButtonText: PropTypes.string,\n emailSubject: PropTypes.string,\n emailBody: PropTypes.string,\n }),\n /**\n * Boolean value to show the \"Send From\" field if needed.\n */\n showSendFromField: PropTypes.bool,\n /**\n * Boolean value to hide the \"Reply to\" field if not needed.\n */\n disableReplyTo: PropTypes.bool,\n /**\n * Boolean value to show video url as embed video in email body.\n */\n showVideoEmbedInEditor: PropTypes.bool,\n /**\n * To specify the title of the component. Defaults to \"Share via email\"\n */\n title: PropTypes.string,\n};\n\nexport default ShareViaEmail;\n"],"names":["INITIAL_VALUES","sendFromEmail","replyToEmail","notifyEmails","emailSubject","emailBody","isSendLaterEnabled","sendEmailDatetime","undefined","category","actionButtonText","EDITOR_ADDONS","TIME_FORMAT","isPastDate","date","dayjs","isBefore","subtract","generateInitialValues","defaultValues","_objectSpread","emailFormValidationSchema","disableReplyTo","yup","object","shape","string","required","t","test","value","isEditorEmpty","trim","email","array","min","emails","every","prop","when","is","then","name","disabledTime","selectedDate","current","startOf","today","disabledHours","dynamicArray","i","disabledMinutes","isSame","currentTime","currentHour","hour","currentMinute","minute","selectedHour","FormikDatePicker","_ref","disabledDate","props","_objectWithoutProperties","_excluded","_useField","useField","_useField2","_slicedToArray","field","meta","_useField2$","setValue","setTouched","_jsx","DatePicker","showTime","timeFormat","timePickerProps","onBlur","touched","onChange","AdvancedProperties","showSendFromField","_useTranslation","useTranslation","_useFormikContext","useFormikContext","values","_useState","useState","_useState2","isAdvancedPropertiesVisible","setIsAdvancedPropertiesVisible","toggleAdvancedOptions","not","_jsxs","className","children","type","onClick","Typography","component","style","weight","Up","size","Down","_Fragment","Label","Switch","lineHeight","autoFocus","Input","label","classNames","EmailBody","forwardRef","ref","id","showVideoEmbedInEditor","FormikEditor","addons","concat","_toConsumableArray","displayName","Form","initialValues","editorRef","useRef","handleReset","editor","commands","setContent","SendToFields","showUploadCsvButton","emailInputProps","ActionBlock","cancelButtonProps","submitButtonProps","ShareViaEmail","_ref$showSendFromFiel","backToUrl","handleSubmit","description","_ref$title","title","shareViaEmailTitle","sendToEmails","map","scrollToErrorField","formProps","noValidate","formikProps","enableReinitialize","validateOnMount","validationSchema","onSubmit","_ref2","Button","icon","LeftArrow","iconPosition","to","EmailForm","MobilePreviewHeader","EmailPreview","body","subject"],"mappings":"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"}
1
+ {"version":3,"file":"ShareViaEmail.js","sources":["../src/components/ShareViaEmail/constants.js","../src/components/ShareViaEmail/utils.js","../src/components/ShareViaEmail/FormikDatePicker.jsx","../src/components/ShareViaEmail/AdvancedProperties.jsx","../src/components/ShareViaEmail/EmailBodyEditor.jsx","../src/components/ShareViaEmail/Form.jsx","../src/components/ShareViaEmail/index.jsx"],"sourcesContent":["export const ONE_MEGABYTE = 1_048_576;\n\nexport const INITIAL_VALUES = {\n sendFromEmail: \"\",\n replyToEmail: \"\",\n notifyEmails: [],\n emailSubject: \"\",\n emailBody: \"\",\n isSendLaterEnabled: false,\n sendEmailDatetime: undefined,\n category: \"email_share\",\n actionButtonText: \"\",\n};\n\nexport const EDITOR_ADDONS = [\n \"emoji\",\n \"block-quote\",\n \"image-upload\",\n \"divider\",\n];\n\nexport const ALLOWED_FILE_PICKER_TYPES = [\".csv\"];\n\nexport const TIME_FORMAT = \"hh:mm A\";\n","import { t } from \"i18next\";\nimport { dynamicArray, isNot } from \"neetocist\";\nimport { dayjs } from \"neetocommons/utils\";\nimport { isEditorEmpty } from \"neetoeditor\";\nimport Papa from \"papaparse\";\nimport { prop } from \"ramda\";\nimport { string } from \"yup\";\nimport * as yup from \"yup\";\n\nimport { INITIAL_VALUES } from \"./constants\";\n\nconst isValidEmail = email => string().email().isValidSync(email);\n\nexport const isPastDate = date =>\n dayjs(date).isBefore(dayjs().subtract(1, \"days\"));\n\nexport const createEmailOptions = (emails = []) =>\n emails.map(email => ({\n label: email,\n value: email,\n valid: isValidEmail(email),\n }));\n\nexport const parseCsvEmails = file =>\n new Promise(resolve => {\n Papa.parse(file, {\n header: true,\n skipEmptyLines: true,\n transformHeader: h => h.toLowerCase().replace(/\\W/g, \"\"),\n complete: results => {\n const isEmailFieldPresent = results.meta.fields?.includes(\"email\");\n if (!isEmailFieldPresent) return resolve([]);\n\n const emails = results.data\n .map(item => item.email?.trim())\n .filter(isNot(undefined));\n\n return resolve(createEmailOptions(emails));\n },\n });\n });\n\nexport const generateInitialValues = defaultValues => ({\n ...INITIAL_VALUES,\n ...defaultValues,\n});\n\nexport const emailFormValidationSchema = disableReplyTo =>\n yup.object().shape({\n emailSubject: yup\n .string()\n .required(\n t(\"neetoMolecules.shareViaEmail.validations.requiredField.subject\")\n ),\n emailBody: yup\n .string()\n .test(\n \"emailBody\",\n t(\"neetoMolecules.shareViaEmail.validations.requiredField.emailBody\"),\n value => !isEditorEmpty(value)\n ),\n sendFromEmail: yup\n .string()\n .trim()\n .email(\n t(\"neetoMolecules.shareViaEmail.validations.invalidField.emailAddress\")\n )\n .required(\n t(\"neetoMolecules.shareViaEmail.validations.requiredField.sendFrom\")\n ),\n replyToEmail:\n !disableReplyTo &&\n yup\n .string()\n .trim()\n .email(\n t(\n \"neetoMolecules.shareViaEmail.validations.invalidField.emailAddress\"\n )\n )\n .required(\n t(\"neetoMolecules.shareViaEmail.validations.requiredField.replyTo\")\n ),\n notifyEmails: yup\n .array()\n .min(\n 1,\n t(\n \"neetoMolecules.shareViaEmail.validations.atleastOneIsRequired.emailAddress\"\n )\n )\n .test(\n \"are-all-emails-valid\",\n t(\"neetoMolecules.shareViaEmail.validations.invalidField.emailAddress\"),\n emails => emails.every(prop(\"valid\"))\n ),\n isSendLaterEnabled: yup.boolean(),\n sendEmailDatetime: yup.date().when(\"isSendLaterEnabled\", {\n is: true,\n then: yup\n .date()\n .required(\n t(\"neetoMolecules.shareViaEmail.validations.requiredField.sendLater\")\n ),\n }),\n name: yup.string(),\n actionButtonText: yup\n .string()\n .required(\n t(\n \"neetoMolecules.shareViaEmail.validations.requiredField.startButtonText\"\n )\n ),\n });\n\nexport const disabledTime = selectedDate => {\n const current = dayjs(selectedDate).startOf(\"day\");\n const today = dayjs().startOf(\"day\");\n\n if (current.isBefore(today)) {\n return {\n disabledHours: () => dynamicArray(24, i => i),\n disabledMinutes: () => dynamicArray(60, i => i),\n };\n }\n\n if (current.isSame(today)) {\n const currentTime = dayjs();\n const currentHour = currentTime.hour();\n const currentMinute = currentTime.minute();\n\n return {\n disabledHours: () => dynamicArray(currentHour, i => i),\n disabledMinutes: selectedHour =>\n selectedHour === currentHour ? dynamicArray(currentMinute, i => i) : [],\n };\n }\n\n return {};\n};\n","import { useField } from \"formik\";\nimport { DatePicker } from \"neetoui\";\n\nimport { TIME_FORMAT } from \"./constants\";\nimport { disabledTime } from \"./utils\";\n\nconst FormikDatePicker = ({ name, disabledDate, ...props }) => {\n const [field, meta, { setValue, setTouched }] = useField(name);\n\n return (\n <DatePicker\n showTime\n timeFormat={TIME_FORMAT}\n {...{ ...field, ...meta, disabledDate }}\n data-cy={props[\"data-cy\"]}\n data-testid={props[\"data-testid\"]}\n timePickerProps={{ disabledTime }}\n onBlur={() => !meta.touched && setTouched(true)}\n onChange={date => {\n setValue(date || undefined);\n if (!meta.touched) setTouched(true);\n }}\n {...props}\n />\n );\n};\n\nexport default FormikDatePicker;\n","import { useState } from \"react\";\n\nimport classNames from \"classnames\";\nimport { useFormikContext } from \"formik\";\nimport { Down, Up } from \"neetoicons\";\nimport { Label, Typography } from \"neetoui\";\nimport { Input, Switch } from \"neetoui/formik\";\nimport { not } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport FormikDatePicker from \"./FormikDatePicker\";\nimport { isPastDate } from \"./utils\";\n\nconst AdvancedProperties = ({ showSendFromField, disableReplyTo }) => {\n const { t } = useTranslation();\n\n const { values } = useFormikContext();\n\n const [isAdvancedPropertiesVisible, setIsAdvancedPropertiesVisible] =\n useState(false);\n\n const toggleAdvancedOptions = () => setIsAdvancedPropertiesVisible(not);\n\n return (\n <div className=\"flex w-full flex-col items-start gap-4\">\n <button\n className=\"flex w-full cursor-pointer items-start justify-between overflow-hidden border-0 py-4\"\n type=\"button\"\n onClick={toggleAdvancedOptions}\n >\n <Typography\n className=\"flex min-w-0 flex-grow\"\n component=\"span\"\n style=\"h5\"\n weight=\"medium\"\n >\n {t(\"neetoMolecules.shareViaEmail.advancedProperties\")}\n </Typography>\n {isAdvancedPropertiesVisible ? (\n <Up className=\"flex-shrink-0\" size={20} />\n ) : (\n <Down className=\"flex-shrink-0\" size={20} />\n )}\n </button>\n {isAdvancedPropertiesVisible && (\n <>\n <div>\n <Label className=\"flex items-center gap-2\">\n <Switch\n data-cy=\"send-later-switch\"\n data-testid=\"send-later-switch\"\n name=\"isSendLaterEnabled\"\n />\n <Typography\n component=\"span\"\n data-cy=\"send-later-label\"\n lineHeight=\"normal\"\n style=\"h4\"\n weight=\"semibold\"\n >\n {t(\"neetoMolecules.shareViaEmail.sendLater\")}\n </Typography>\n </Label>\n </div>\n {values.isSendLaterEnabled && (\n <FormikDatePicker\n autoFocus\n data-cy=\"email-share-date-input\"\n data-testid=\"formik-date-picker\"\n disabledDate={isPastDate}\n name=\"sendEmailDatetime\"\n size=\"large\"\n />\n )}\n <Input\n required\n className=\"w-full\"\n label={t(\"neetoMolecules.shareViaEmail.startButtonText\")}\n name=\"actionButtonText\"\n />\n <div className=\"flex w-full flex-col gap-4 sm:flex-row sm:gap-6\">\n {showSendFromField && (\n <Input\n required\n data-testid=\"neeto-molecules-share-via-email-send-from\"\n label={t(\"neetoMolecules.shareViaEmail.sendFrom\")}\n name=\"sendFromEmail\"\n className={classNames({\n \"w-full flex-grow-0\": !disableReplyTo,\n })}\n />\n )}\n {!disableReplyTo && (\n <Input\n required\n data-testid=\"replyTo-field\"\n label={t(\"neetoMolecules.shareViaEmail.replyTo\")}\n name=\"replyToEmail\"\n className={classNames({\n \"w-full flex-grow-0\": showSendFromField,\n })}\n />\n )}\n </div>\n </>\n )}\n </div>\n );\n};\n\nexport default AdvancedProperties;\n","import { forwardRef } from \"react\";\n\nimport { FormikEditor } from \"neetoeditor\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { EDITOR_ADDONS } from \"./constants\";\n\nconst EmailBody = forwardRef(({ id, showVideoEmbedInEditor }, ref) => {\n const { t } = useTranslation();\n\n return (\n <FormikEditor\n {...{ id, ref }}\n required\n className=\"mb-6\"\n data-cy=\"email-body\"\n label={t(\"neetoMolecules.shareViaEmail.emailBody\")}\n name=\"emailBody\"\n addons={\n showVideoEmbedInEditor\n ? [...EDITOR_ADDONS, \"video-embed\"]\n : EDITOR_ADDONS\n }\n />\n );\n});\n\nEmailBody.displayName = \"EmailBody\";\n\nexport default EmailBody;\n","import { useRef } from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { Input, ActionBlock } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport SendToFields from \"components/SendToFields\";\n\nimport AdvancedProperties from \"./AdvancedProperties\";\nimport EmailBody from \"./EmailBodyEditor\";\n\nconst Form = ({\n showSendFromField,\n disableReplyTo,\n showVideoEmbedInEditor,\n children,\n}) => {\n const { initialValues } = useFormikContext();\n const editorRef = useRef();\n const { t } = useTranslation();\n\n const handleReset = () =>\n editorRef.current.editor.commands.setContent(initialValues.emailBody);\n\n return (\n <>\n <div className=\"space-y-6\">\n <SendToFields\n showUploadCsvButton\n emailInputProps={{\n label: t(\"neetoMolecules.shareViaEmail.sendTo\"),\n name: \"notifyEmails\",\n required: true,\n }}\n />\n <Input\n required\n className=\"col-span-1\"\n label={t(\"neetoMolecules.shareViaEmail.subject\")}\n name=\"emailSubject\"\n />\n <EmailBody\n {...{ showVideoEmbedInEditor }}\n id=\"emailBody\"\n ref={editorRef}\n />\n <div ref={editorRef} />\n <AdvancedProperties {...{ disableReplyTo, showSendFromField }} />\n </div>\n {children && (\n <div className=\"neeto-ui-border-gray-300 mt-4 border-t py-4\">\n <h3 className=\"mb-4\">\n {t(\"neetoMolecules.shareViaEmail.additionalOptions\")}\n </h3>\n {children}\n </div>\n )}\n <div className=\"neeto-ui-bg-white sticky bottom-0 z-10 mt-6 py-6\">\n <ActionBlock\n cancelButtonProps={{\n label: t(\"neetoMolecules.shareViaEmail.reset\"),\n type: \"reset\",\n onClick: handleReset,\n }}\n submitButtonProps={{\n label: t(\"neetoMolecules.shareViaEmail.sendEmail\"),\n }}\n />\n </div>\n </>\n );\n};\n\nexport default Form;\n","import { LeftArrow } from \"neetoicons\";\nimport { Button, Typography } from \"neetoui\";\nimport { Form } from \"neetoui/formik\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport EmailPreview from \"components/EmailPreview\";\nimport MobilePreviewHeader from \"components/MobilePreviewHeader\";\n\nimport EmailForm from \"./Form\";\nimport \"./share-via-email.scss\";\nimport { emailFormValidationSchema, generateInitialValues } from \"./utils\";\n\nconst ShareViaEmail = ({\n showSendFromField = false,\n backToUrl,\n handleSubmit,\n children,\n description,\n defaultValues,\n disableReplyTo,\n showVideoEmbedInEditor,\n title = \"\",\n}) => {\n const { t } = useTranslation();\n\n const shareViaEmailTitle = title || t(\"neetoMolecules.shareViaEmail.title\");\n const sendToEmails = notifyEmails => notifyEmails.map(email => email?.value);\n\n return (\n <div className=\"w-full\">\n <Form\n scrollToErrorField\n formProps={{ noValidate: true }}\n formikProps={{\n enableReinitialize: true,\n validateOnMount: true,\n initialValues: generateInitialValues(defaultValues),\n validationSchema: emailFormValidationSchema(disableReplyTo),\n onSubmit: handleSubmit,\n }}\n >\n {({ values }) => (\n <div className=\"neeto-molecules-share-frame grid grid-cols-1 md:grid-cols-12\">\n <div\n className=\"neeto-molecules-share-frame__left-wrap col-span-1 p-6 pb-0 md:col-span-6 lg:col-span-5\"\n data-cy=\"share-via-email-frame-wrapper\"\n >\n {backToUrl && (\n <Button\n className=\"mb-4\"\n data-testid=\"back-to-url-button\"\n icon={LeftArrow}\n iconPosition=\"left\"\n label={t(\"neetoMolecules.shareViaEmail.backToShare\")}\n size=\"small\"\n style=\"link\"\n to={backToUrl}\n />\n )}\n <div className=\"mb-6\">\n <Typography\n className=\"mb-0.5 break-words\"\n data-cy=\"share-via-email-heading\"\n lineHeight=\"normal\"\n style=\"h2\"\n weight=\"semibold\"\n >\n {shareViaEmailTitle}\n </Typography>\n {description && (\n <Typography\n className=\"neeto-ui-text-gray-700\"\n data-cy=\"share-via-email-sub-heading\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {description}\n </Typography>\n )}\n </div>\n <EmailForm\n {...{\n disableReplyTo,\n showSendFromField,\n showVideoEmbedInEditor,\n }}\n >\n {children}\n </EmailForm>\n </div>\n <MobilePreviewHeader className=\"col-span-1 md:hidden\" />\n <div className=\"neeto-molecules-share-frame__right-wrap neeto-ui-bg-gray-100 col-span-1 p-6 py-10 md:col-span-6 lg:col-span-7\">\n <EmailPreview\n actionButtonText={values.actionButtonText}\n body={values.emailBody}\n subject={values.emailSubject}\n to={sendToEmails(values.notifyEmails)}\n />\n </div>\n </div>\n )}\n </Form>\n </div>\n );\n};\n\nShareViaEmail.propTypes = {\n /**\n * The path to navigate back to the required page on clicking the 'Back to share' button.\n */\n backToUrl: PropTypes.string,\n /**\n * The function that handles submitting of values to the API.\n */\n handleSubmit: PropTypes.func,\n /**\n * React components that can be passed on as children, to add optional fields.\n */\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node,\n ]),\n /**\n * Description text to be displayed under the component title.\n */\n description: PropTypes.string,\n /**\n * An object to assign default values to the email form.\n */\n defaultValues: PropTypes.shape({\n sendFromEmail: PropTypes.string,\n replyToEmail: PropTypes.string,\n actionButtonText: PropTypes.string,\n emailSubject: PropTypes.string,\n emailBody: PropTypes.string,\n }),\n /**\n * Boolean value to show the \"Send From\" field if needed.\n */\n showSendFromField: PropTypes.bool,\n /**\n * Boolean value to hide the \"Reply to\" field if not needed.\n */\n disableReplyTo: PropTypes.bool,\n /**\n * Boolean value to show video url as embed video in email body.\n */\n showVideoEmbedInEditor: PropTypes.bool,\n /**\n * To specify the title of the component. Defaults to \"Share via email\"\n */\n title: PropTypes.string,\n};\n\nexport default ShareViaEmail;\n"],"names":["INITIAL_VALUES","sendFromEmail","replyToEmail","notifyEmails","emailSubject","emailBody","isSendLaterEnabled","sendEmailDatetime","undefined","category","actionButtonText","EDITOR_ADDONS","TIME_FORMAT","isPastDate","date","dayjs","isBefore","subtract","generateInitialValues","defaultValues","_objectSpread","emailFormValidationSchema","disableReplyTo","yup","object","shape","string","required","t","test","value","isEditorEmpty","trim","email","array","min","emails","every","prop","when","is","then","name","disabledTime","selectedDate","current","startOf","today","disabledHours","dynamicArray","i","disabledMinutes","isSame","currentTime","currentHour","hour","currentMinute","minute","selectedHour","FormikDatePicker","_ref","disabledDate","props","_objectWithoutProperties","_excluded","_useField","useField","_useField2","_slicedToArray","field","meta","_useField2$","setValue","setTouched","_jsx","DatePicker","showTime","timeFormat","timePickerProps","onBlur","touched","onChange","AdvancedProperties","showSendFromField","_useTranslation","useTranslation","_useFormikContext","useFormikContext","values","_useState","useState","_useState2","isAdvancedPropertiesVisible","setIsAdvancedPropertiesVisible","toggleAdvancedOptions","not","_jsxs","className","children","type","onClick","Typography","component","style","weight","Up","size","Down","_Fragment","Label","Switch","lineHeight","autoFocus","Input","label","classNames","EmailBody","forwardRef","ref","id","showVideoEmbedInEditor","FormikEditor","addons","concat","_toConsumableArray","displayName","Form","initialValues","editorRef","useRef","handleReset","editor","commands","setContent","SendToFields","showUploadCsvButton","emailInputProps","ActionBlock","cancelButtonProps","submitButtonProps","ShareViaEmail","_ref$showSendFromFiel","backToUrl","handleSubmit","description","_ref$title","title","shareViaEmailTitle","sendToEmails","map","scrollToErrorField","formProps","noValidate","formikProps","enableReinitialize","validateOnMount","validationSchema","onSubmit","_ref2","Button","icon","LeftArrow","iconPosition","to","EmailForm","MobilePreviewHeader","EmailPreview","body","subject"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
4
- var CodeBlock = require('react-syntax-highlighter/dist/cjs/prism-light.js');
4
+ var CodeBlock = require('react-syntax-highlighter/dist/esm/prism-light.js');
5
5
  var prism = require('react-syntax-highlighter/dist/esm/styles/prism');
6
6
  var CopyToClipboardButton = require('./CopyToClipboardButton.js');
7
7
  var jsxRuntime = require('react/jsx-runtime');
@@ -1 +1 @@
1
- {"version":3,"file":"Codeblock.js","sources":["../../src/components/Codeblock.jsx"],"sourcesContent":["import PropTypes from \"prop-types\";\nimport CodeBlock from \"react-syntax-highlighter/dist/cjs/prism-light.js\";\nimport { dracula } from \"react-syntax-highlighter/dist/esm/styles/prism\";\n\nimport CopyCode from \"components/CopyToClipboardButton\";\n\nconst Codeblock = ({\n code,\n showCopyButton = true,\n codeblockProps,\n copyButtonProps = { label: \"Copy\" },\n}) => {\n const isLargerScreen = window.innerWidth > 768;\n\n return (\n <div className=\"relative\">\n <CodeBlock\n wrapLines\n className=\"neeto-molecules-code-block p-4 pr-12 md:pr-4\"\n codeTagProps={{ \"data-cy\": \"code-block-content\" }}\n data-cy=\"code-block\"\n data-testid=\"codeblock-react-highlighter\"\n language=\"javascript\"\n style={dracula}\n {...codeblockProps}\n >\n {code}\n </CodeBlock>\n {showCopyButton && (\n <CopyCode\n className=\"absolute right-2 top-2\"\n data-cy=\"copy-button\"\n data-testid=\"codeblock-copy-button\"\n size=\"small\"\n style=\"secondary\"\n value={code}\n {...copyButtonProps}\n label={isLargerScreen ? copyButtonProps.label : \"\"}\n />\n )}\n </div>\n );\n};\n\nCodeblock.propTypes = {\n /**\n * The code to be displayed.\n */\n code: PropTypes.string,\n /**\n * Flag to determine whether the 'Copy' button is displayed.\n */\n showCopyButton: PropTypes.bool,\n /**\n * Additional props that can be passed on to the 'PrismLight' component from 'react-syntax-highlighter'.\n */\n codeblockProps: PropTypes.object,\n /**\n * Additional props that can be passed on to the 'CopyToClipboardButton' component from 'neeto-molecules'.\n */\n copyButtonProps: PropTypes.object,\n};\n\nexport default Codeblock;\n"],"names":["Codeblock","_ref","code","_ref$showCopyButton","showCopyButton","codeblockProps","_ref$copyButtonProps","copyButtonProps","label","isLargerScreen","window","innerWidth","_jsxs","className","children","_jsx","CodeBlock","_objectSpread","wrapLines","codeTagProps","language","style","dracula","CopyCode","size","value"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAMA,IAAMA,SAAS,GAAG,SAAZA,SAASA,CAAAC,IAAA,EAKT;AAAA,EAAA,IAJJC,IAAI,GAAAD,IAAA,CAAJC,IAAI;IAAAC,mBAAA,GAAAF,IAAA,CACJG,cAAc;AAAdA,IAAAA,cAAc,GAAAD,mBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,mBAAA;IACrBE,cAAc,GAAAJ,IAAA,CAAdI,cAAc;IAAAC,oBAAA,GAAAL,IAAA,CACdM,eAAe;IAAfA,eAAe,GAAAD,oBAAA,KAAG,KAAA,CAAA,GAAA;AAAEE,MAAAA,KAAK,EAAE,MAAA;AAAO,KAAC,GAAAF,oBAAA,CAAA;AAEnC,EAAA,IAAMG,cAAc,GAAGC,MAAM,CAACC,UAAU,GAAG,GAAG,CAAA;AAE9C,EAAA,oBACEC,eAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,UAAU;AAAAC,IAAAA,QAAA,gBACvBC,cAAA,CAACC,SAAS,EAAAC,aAAA,CAAAA,aAAA,CAAA;MACRC,SAAS,EAAA,IAAA;AACTL,MAAAA,SAAS,EAAC,8CAA8C;AACxDM,MAAAA,YAAY,EAAE;AAAE,QAAA,SAAS,EAAE,oBAAA;OAAuB;AAClD,MAAA,SAAA,EAAQ,YAAY;AACpB,MAAA,aAAA,EAAY,6BAA6B;AACzCC,MAAAA,QAAQ,EAAC,YAAY;AACrBC,MAAAA,KAAK,EAAEC,aAAAA;AAAQ,KAAA,EACXjB,cAAc,CAAA,EAAA,EAAA,EAAA;AAAAS,MAAAA,QAAA,EAEjBZ,IAAAA;KACQ,CAAA,CAAC,EACXE,cAAc,iBACbW,cAAA,CAACQ,qBAAQ,EAAAN,aAAA,CAAAA,aAAA,CAAA;AACPJ,MAAAA,SAAS,EAAC,wBAAwB;AAClC,MAAA,SAAA,EAAQ,aAAa;AACrB,MAAA,aAAA,EAAY,uBAAuB;AACnCW,MAAAA,IAAI,EAAC,OAAO;AACZH,MAAAA,KAAK,EAAC,WAAW;AACjBI,MAAAA,KAAK,EAAEvB,IAAAA;AAAK,KAAA,EACRK,eAAe,CAAA,EAAA,EAAA,EAAA;AACnBC,MAAAA,KAAK,EAAEC,cAAc,GAAGF,eAAe,CAACC,KAAK,GAAG,EAAA;AAAG,KAAA,CACpD,CACF,CAAA;AAAA,GACE,CAAC,CAAA;AAEV;;;;"}
1
+ {"version":3,"file":"Codeblock.js","sources":["../../src/components/Codeblock.jsx"],"sourcesContent":["import PropTypes from \"prop-types\";\nimport CodeBlock from \"react-syntax-highlighter/dist/esm/prism-light.js\";\nimport { dracula } from \"react-syntax-highlighter/dist/esm/styles/prism\";\n\nimport CopyCode from \"components/CopyToClipboardButton\";\n\nconst Codeblock = ({\n code,\n showCopyButton = true,\n codeblockProps,\n copyButtonProps = { label: \"Copy\" },\n}) => {\n const isLargerScreen = window.innerWidth > 768;\n\n return (\n <div className=\"relative\">\n <CodeBlock\n wrapLines\n className=\"neeto-molecules-code-block p-4 pr-12 md:pr-4\"\n codeTagProps={{ \"data-cy\": \"code-block-content\" }}\n data-cy=\"code-block\"\n data-testid=\"codeblock-react-highlighter\"\n language=\"javascript\"\n style={dracula}\n {...codeblockProps}\n >\n {code}\n </CodeBlock>\n {showCopyButton && (\n <CopyCode\n className=\"absolute right-2 top-2\"\n data-cy=\"copy-button\"\n data-testid=\"codeblock-copy-button\"\n size=\"small\"\n style=\"secondary\"\n value={code}\n {...copyButtonProps}\n label={isLargerScreen ? copyButtonProps.label : \"\"}\n />\n )}\n </div>\n );\n};\n\nCodeblock.propTypes = {\n /**\n * The code to be displayed.\n */\n code: PropTypes.string,\n /**\n * Flag to determine whether the 'Copy' button is displayed.\n */\n showCopyButton: PropTypes.bool,\n /**\n * Additional props that can be passed on to the 'PrismLight' component from 'react-syntax-highlighter'.\n */\n codeblockProps: PropTypes.object,\n /**\n * Additional props that can be passed on to the 'CopyToClipboardButton' component from 'neeto-molecules'.\n */\n copyButtonProps: PropTypes.object,\n};\n\nexport default Codeblock;\n"],"names":["Codeblock","_ref","code","_ref$showCopyButton","showCopyButton","codeblockProps","_ref$copyButtonProps","copyButtonProps","label","isLargerScreen","window","innerWidth","_jsxs","className","children","_jsx","CodeBlock","_objectSpread","wrapLines","codeTagProps","language","style","dracula","CopyCode","size","value"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAMA,IAAMA,SAAS,GAAG,SAAZA,SAASA,CAAAC,IAAA,EAKT;AAAA,EAAA,IAJJC,IAAI,GAAAD,IAAA,CAAJC,IAAI;IAAAC,mBAAA,GAAAF,IAAA,CACJG,cAAc;AAAdA,IAAAA,cAAc,GAAAD,mBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,mBAAA;IACrBE,cAAc,GAAAJ,IAAA,CAAdI,cAAc;IAAAC,oBAAA,GAAAL,IAAA,CACdM,eAAe;IAAfA,eAAe,GAAAD,oBAAA,KAAG,KAAA,CAAA,GAAA;AAAEE,MAAAA,KAAK,EAAE,MAAA;AAAO,KAAC,GAAAF,oBAAA,CAAA;AAEnC,EAAA,IAAMG,cAAc,GAAGC,MAAM,CAACC,UAAU,GAAG,GAAG,CAAA;AAE9C,EAAA,oBACEC,eAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,UAAU;AAAAC,IAAAA,QAAA,gBACvBC,cAAA,CAACC,SAAS,EAAAC,aAAA,CAAAA,aAAA,CAAA;MACRC,SAAS,EAAA,IAAA;AACTL,MAAAA,SAAS,EAAC,8CAA8C;AACxDM,MAAAA,YAAY,EAAE;AAAE,QAAA,SAAS,EAAE,oBAAA;OAAuB;AAClD,MAAA,SAAA,EAAQ,YAAY;AACpB,MAAA,aAAA,EAAY,6BAA6B;AACzCC,MAAAA,QAAQ,EAAC,YAAY;AACrBC,MAAAA,KAAK,EAAEC,aAAAA;AAAQ,KAAA,EACXjB,cAAc,CAAA,EAAA,EAAA,EAAA;AAAAS,MAAAA,QAAA,EAEjBZ,IAAAA;KACQ,CAAA,CAAC,EACXE,cAAc,iBACbW,cAAA,CAACQ,qBAAQ,EAAAN,aAAA,CAAAA,aAAA,CAAA;AACPJ,MAAAA,SAAS,EAAC,wBAAwB;AAClC,MAAA,SAAA,EAAQ,aAAa;AACrB,MAAA,aAAA,EAAY,uBAAuB;AACnCW,MAAAA,IAAI,EAAC,OAAO;AACZH,MAAAA,KAAK,EAAC,WAAW;AACjBI,MAAAA,KAAK,EAAEvB,IAAAA;AAAK,KAAA,EACRK,eAAe,CAAA,EAAA,EAAA,EAAA;AACnBC,MAAAA,KAAK,EAAEC,cAAc,GAAGF,eAAe,CAACC,KAAK,GAAG,EAAA;AAAG,KAAA,CACpD,CACF,CAAA;AAAA,GACE,CAAC,CAAA;AAEV;;;;"}
@@ -29,7 +29,7 @@ var Radio = require('@bigbinary/neetoui/Radio');
29
29
  var Spinner = require('@bigbinary/neetoui/Spinner');
30
30
  var BrowserPreview = require('./BrowserPreview.js');
31
31
  var injectCss = require('./inject-css-vQvjPR2x.js');
32
- require('react-syntax-highlighter/dist/cjs/prism-light.js');
32
+ require('react-syntax-highlighter/dist/esm/prism-light.js');
33
33
  require('react-syntax-highlighter/dist/esm/styles/prism');
34
34
  require('./CopyToClipboardButton.js');
35
35
  require('@bigbinary/neeto-commons-frontend/utils/general');
@@ -384,6 +384,7 @@ var ShareViaEmail = function ShareViaEmail(_ref) {
384
384
  className: "neeto-molecules-share-frame grid grid-cols-1 md:grid-cols-12",
385
385
  children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
386
386
  className: "neeto-molecules-share-frame__left-wrap col-span-1 p-6 pb-0 md:col-span-6 lg:col-span-5",
387
+ "data-cy": "share-via-email-frame-wrapper",
387
388
  children: [backToUrl && /*#__PURE__*/jsxRuntime.jsx(Button, {
388
389
  className: "mb-4",
389
390
  "data-testid": "back-to-url-button",
@@ -1 +1 @@
1
- {"version":3,"file":"ShareViaEmail.js","sources":["../../src/components/ShareViaEmail/constants.js","../../src/components/ShareViaEmail/utils.js","../../src/components/ShareViaEmail/FormikDatePicker.jsx","../../src/components/ShareViaEmail/AdvancedProperties.jsx","../../src/components/ShareViaEmail/EmailBodyEditor.jsx","../../src/components/ShareViaEmail/Form.jsx","../../src/components/ShareViaEmail/index.jsx"],"sourcesContent":["export const ONE_MEGABYTE = 1_048_576;\n\nexport const INITIAL_VALUES = {\n sendFromEmail: \"\",\n replyToEmail: \"\",\n notifyEmails: [],\n emailSubject: \"\",\n emailBody: \"\",\n isSendLaterEnabled: false,\n sendEmailDatetime: undefined,\n category: \"email_share\",\n actionButtonText: \"\",\n};\n\nexport const EDITOR_ADDONS = [\n \"emoji\",\n \"block-quote\",\n \"image-upload\",\n \"divider\",\n];\n\nexport const ALLOWED_FILE_PICKER_TYPES = [\".csv\"];\n\nexport const TIME_FORMAT = \"hh:mm A\";\n","import { t } from \"i18next\";\nimport { dynamicArray, isNot } from \"neetocist\";\nimport { dayjs } from \"neetocommons/utils\";\nimport { isEditorEmpty } from \"neetoeditor\";\nimport Papa from \"papaparse\";\nimport { prop } from \"ramda\";\nimport { string } from \"yup\";\nimport * as yup from \"yup\";\n\nimport { INITIAL_VALUES } from \"./constants\";\n\nconst isValidEmail = email => string().email().isValidSync(email);\n\nexport const isPastDate = date =>\n dayjs(date).isBefore(dayjs().subtract(1, \"days\"));\n\nexport const createEmailOptions = (emails = []) =>\n emails.map(email => ({\n label: email,\n value: email,\n valid: isValidEmail(email),\n }));\n\nexport const parseCsvEmails = file =>\n new Promise(resolve => {\n Papa.parse(file, {\n header: true,\n skipEmptyLines: true,\n transformHeader: h => h.toLowerCase().replace(/\\W/g, \"\"),\n complete: results => {\n const isEmailFieldPresent = results.meta.fields?.includes(\"email\");\n if (!isEmailFieldPresent) return resolve([]);\n\n const emails = results.data\n .map(item => item.email?.trim())\n .filter(isNot(undefined));\n\n return resolve(createEmailOptions(emails));\n },\n });\n });\n\nexport const generateInitialValues = defaultValues => ({\n ...INITIAL_VALUES,\n ...defaultValues,\n});\n\nexport const emailFormValidationSchema = disableReplyTo =>\n yup.object().shape({\n emailSubject: yup\n .string()\n .required(\n t(\"neetoMolecules.shareViaEmail.validations.requiredField.subject\")\n ),\n emailBody: yup\n .string()\n .test(\n \"emailBody\",\n t(\"neetoMolecules.shareViaEmail.validations.requiredField.emailBody\"),\n value => !isEditorEmpty(value)\n ),\n sendFromEmail: yup\n .string()\n .trim()\n .email(\n t(\"neetoMolecules.shareViaEmail.validations.invalidField.emailAddress\")\n )\n .required(\n t(\"neetoMolecules.shareViaEmail.validations.requiredField.sendFrom\")\n ),\n replyToEmail:\n !disableReplyTo &&\n yup\n .string()\n .trim()\n .email(\n t(\n \"neetoMolecules.shareViaEmail.validations.invalidField.emailAddress\"\n )\n )\n .required(\n t(\"neetoMolecules.shareViaEmail.validations.requiredField.replyTo\")\n ),\n notifyEmails: yup\n .array()\n .min(\n 1,\n t(\n \"neetoMolecules.shareViaEmail.validations.atleastOneIsRequired.emailAddress\"\n )\n )\n .test(\n \"are-all-emails-valid\",\n t(\"neetoMolecules.shareViaEmail.validations.invalidField.emailAddress\"),\n emails => emails.every(prop(\"valid\"))\n ),\n isSendLaterEnabled: yup.boolean(),\n sendEmailDatetime: yup.date().when(\"isSendLaterEnabled\", {\n is: true,\n then: yup\n .date()\n .required(\n t(\"neetoMolecules.shareViaEmail.validations.requiredField.sendLater\")\n ),\n }),\n name: yup.string(),\n actionButtonText: yup\n .string()\n .required(\n t(\n \"neetoMolecules.shareViaEmail.validations.requiredField.startButtonText\"\n )\n ),\n });\n\nexport const disabledTime = selectedDate => {\n const current = dayjs(selectedDate).startOf(\"day\");\n const today = dayjs().startOf(\"day\");\n\n if (current.isBefore(today)) {\n return {\n disabledHours: () => dynamicArray(24, i => i),\n disabledMinutes: () => dynamicArray(60, i => i),\n };\n }\n\n if (current.isSame(today)) {\n const currentTime = dayjs();\n const currentHour = currentTime.hour();\n const currentMinute = currentTime.minute();\n\n return {\n disabledHours: () => dynamicArray(currentHour, i => i),\n disabledMinutes: selectedHour =>\n selectedHour === currentHour ? dynamicArray(currentMinute, i => i) : [],\n };\n }\n\n return {};\n};\n","import { useField } from \"formik\";\nimport { DatePicker } from \"neetoui\";\n\nimport { TIME_FORMAT } from \"./constants\";\nimport { disabledTime } from \"./utils\";\n\nconst FormikDatePicker = ({ name, disabledDate, ...props }) => {\n const [field, meta, { setValue, setTouched }] = useField(name);\n\n return (\n <DatePicker\n showTime\n timeFormat={TIME_FORMAT}\n {...{ ...field, ...meta, disabledDate }}\n data-cy={props[\"data-cy\"]}\n data-testid={props[\"data-testid\"]}\n timePickerProps={{ disabledTime }}\n onBlur={() => !meta.touched && setTouched(true)}\n onChange={date => {\n setValue(date || undefined);\n if (!meta.touched) setTouched(true);\n }}\n {...props}\n />\n );\n};\n\nexport default FormikDatePicker;\n","import { useState } from \"react\";\n\nimport classNames from \"classnames\";\nimport { useFormikContext } from \"formik\";\nimport { Down, Up } from \"neetoicons\";\nimport { Label, Typography } from \"neetoui\";\nimport { Input, Switch } from \"neetoui/formik\";\nimport { not } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport FormikDatePicker from \"./FormikDatePicker\";\nimport { isPastDate } from \"./utils\";\n\nconst AdvancedProperties = ({ showSendFromField, disableReplyTo }) => {\n const { t } = useTranslation();\n\n const { values } = useFormikContext();\n\n const [isAdvancedPropertiesVisible, setIsAdvancedPropertiesVisible] =\n useState(false);\n\n const toggleAdvancedOptions = () => setIsAdvancedPropertiesVisible(not);\n\n return (\n <div className=\"flex w-full flex-col items-start gap-4\">\n <button\n className=\"flex w-full cursor-pointer items-start justify-between overflow-hidden border-0 py-4\"\n type=\"button\"\n onClick={toggleAdvancedOptions}\n >\n <Typography\n className=\"flex min-w-0 flex-grow\"\n component=\"span\"\n style=\"h5\"\n weight=\"medium\"\n >\n {t(\"neetoMolecules.shareViaEmail.advancedProperties\")}\n </Typography>\n {isAdvancedPropertiesVisible ? (\n <Up className=\"flex-shrink-0\" size={20} />\n ) : (\n <Down className=\"flex-shrink-0\" size={20} />\n )}\n </button>\n {isAdvancedPropertiesVisible && (\n <>\n <div>\n <Label className=\"flex items-center gap-2\">\n <Switch\n data-cy=\"send-later-switch\"\n data-testid=\"send-later-switch\"\n name=\"isSendLaterEnabled\"\n />\n <Typography\n component=\"span\"\n data-cy=\"send-later-label\"\n lineHeight=\"normal\"\n style=\"h4\"\n weight=\"semibold\"\n >\n {t(\"neetoMolecules.shareViaEmail.sendLater\")}\n </Typography>\n </Label>\n </div>\n {values.isSendLaterEnabled && (\n <FormikDatePicker\n autoFocus\n data-cy=\"email-share-date-input\"\n data-testid=\"formik-date-picker\"\n disabledDate={isPastDate}\n name=\"sendEmailDatetime\"\n size=\"large\"\n />\n )}\n <Input\n required\n className=\"w-full\"\n label={t(\"neetoMolecules.shareViaEmail.startButtonText\")}\n name=\"actionButtonText\"\n />\n <div className=\"flex w-full flex-col gap-4 sm:flex-row sm:gap-6\">\n {showSendFromField && (\n <Input\n required\n data-testid=\"neeto-molecules-share-via-email-send-from\"\n label={t(\"neetoMolecules.shareViaEmail.sendFrom\")}\n name=\"sendFromEmail\"\n className={classNames({\n \"w-full flex-grow-0\": !disableReplyTo,\n })}\n />\n )}\n {!disableReplyTo && (\n <Input\n required\n data-testid=\"replyTo-field\"\n label={t(\"neetoMolecules.shareViaEmail.replyTo\")}\n name=\"replyToEmail\"\n className={classNames({\n \"w-full flex-grow-0\": showSendFromField,\n })}\n />\n )}\n </div>\n </>\n )}\n </div>\n );\n};\n\nexport default AdvancedProperties;\n","import { forwardRef } from \"react\";\n\nimport { FormikEditor } from \"neetoeditor\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { EDITOR_ADDONS } from \"./constants\";\n\nconst EmailBody = forwardRef(({ id, showVideoEmbedInEditor }, ref) => {\n const { t } = useTranslation();\n\n return (\n <FormikEditor\n {...{ id, ref }}\n required\n className=\"mb-6\"\n data-cy=\"email-body\"\n label={t(\"neetoMolecules.shareViaEmail.emailBody\")}\n name=\"emailBody\"\n addons={\n showVideoEmbedInEditor\n ? [...EDITOR_ADDONS, \"video-embed\"]\n : EDITOR_ADDONS\n }\n />\n );\n});\n\nEmailBody.displayName = \"EmailBody\";\n\nexport default EmailBody;\n","import { useRef } from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { Input, ActionBlock } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport SendToFields from \"components/SendToFields\";\n\nimport AdvancedProperties from \"./AdvancedProperties\";\nimport EmailBody from \"./EmailBodyEditor\";\n\nconst Form = ({\n showSendFromField,\n disableReplyTo,\n showVideoEmbedInEditor,\n children,\n}) => {\n const { initialValues } = useFormikContext();\n const editorRef = useRef();\n const { t } = useTranslation();\n\n const handleReset = () =>\n editorRef.current.editor.commands.setContent(initialValues.emailBody);\n\n return (\n <>\n <div className=\"space-y-6\">\n <SendToFields\n showUploadCsvButton\n emailInputProps={{\n label: t(\"neetoMolecules.shareViaEmail.sendTo\"),\n name: \"notifyEmails\",\n required: true,\n }}\n />\n <Input\n required\n className=\"col-span-1\"\n label={t(\"neetoMolecules.shareViaEmail.subject\")}\n name=\"emailSubject\"\n />\n <EmailBody\n {...{ showVideoEmbedInEditor }}\n id=\"emailBody\"\n ref={editorRef}\n />\n <div ref={editorRef} />\n <AdvancedProperties {...{ disableReplyTo, showSendFromField }} />\n </div>\n {children && (\n <div className=\"neeto-ui-border-gray-300 mt-4 border-t py-4\">\n <h3 className=\"mb-4\">\n {t(\"neetoMolecules.shareViaEmail.additionalOptions\")}\n </h3>\n {children}\n </div>\n )}\n <div className=\"neeto-ui-bg-white sticky bottom-0 z-10 mt-6 py-6\">\n <ActionBlock\n cancelButtonProps={{\n label: t(\"neetoMolecules.shareViaEmail.reset\"),\n type: \"reset\",\n onClick: handleReset,\n }}\n submitButtonProps={{\n label: t(\"neetoMolecules.shareViaEmail.sendEmail\"),\n }}\n />\n </div>\n </>\n );\n};\n\nexport default Form;\n","import { LeftArrow } from \"neetoicons\";\nimport { Button, Typography } from \"neetoui\";\nimport { Form } from \"neetoui/formik\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport EmailPreview from \"components/EmailPreview\";\nimport MobilePreviewHeader from \"components/MobilePreviewHeader\";\n\nimport EmailForm from \"./Form\";\nimport \"./share-via-email.scss\";\nimport { emailFormValidationSchema, generateInitialValues } from \"./utils\";\n\nconst ShareViaEmail = ({\n showSendFromField = false,\n backToUrl,\n handleSubmit,\n children,\n description,\n defaultValues,\n disableReplyTo,\n showVideoEmbedInEditor,\n title = \"\",\n}) => {\n const { t } = useTranslation();\n\n const shareViaEmailTitle = title || t(\"neetoMolecules.shareViaEmail.title\");\n const sendToEmails = notifyEmails => notifyEmails.map(email => email?.value);\n\n return (\n <div className=\"w-full\">\n <Form\n scrollToErrorField\n formProps={{ noValidate: true }}\n formikProps={{\n enableReinitialize: true,\n validateOnMount: true,\n initialValues: generateInitialValues(defaultValues),\n validationSchema: emailFormValidationSchema(disableReplyTo),\n onSubmit: handleSubmit,\n }}\n >\n {({ values }) => (\n <div className=\"neeto-molecules-share-frame grid grid-cols-1 md:grid-cols-12\">\n <div className=\"neeto-molecules-share-frame__left-wrap col-span-1 p-6 pb-0 md:col-span-6 lg:col-span-5\">\n {backToUrl && (\n <Button\n className=\"mb-4\"\n data-testid=\"back-to-url-button\"\n icon={LeftArrow}\n iconPosition=\"left\"\n label={t(\"neetoMolecules.shareViaEmail.backToShare\")}\n size=\"small\"\n style=\"link\"\n to={backToUrl}\n />\n )}\n <div className=\"mb-6\">\n <Typography\n className=\"mb-0.5 break-words\"\n data-cy=\"share-via-email-heading\"\n lineHeight=\"normal\"\n style=\"h2\"\n weight=\"semibold\"\n >\n {shareViaEmailTitle}\n </Typography>\n {description && (\n <Typography\n className=\"neeto-ui-text-gray-700\"\n data-cy=\"share-via-email-sub-heading\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {description}\n </Typography>\n )}\n </div>\n <EmailForm\n {...{\n disableReplyTo,\n showSendFromField,\n showVideoEmbedInEditor,\n }}\n >\n {children}\n </EmailForm>\n </div>\n <MobilePreviewHeader className=\"col-span-1 md:hidden\" />\n <div className=\"neeto-molecules-share-frame__right-wrap neeto-ui-bg-gray-100 col-span-1 p-6 py-10 md:col-span-6 lg:col-span-7\">\n <EmailPreview\n actionButtonText={values.actionButtonText}\n body={values.emailBody}\n subject={values.emailSubject}\n to={sendToEmails(values.notifyEmails)}\n />\n </div>\n </div>\n )}\n </Form>\n </div>\n );\n};\n\nShareViaEmail.propTypes = {\n /**\n * The path to navigate back to the required page on clicking the 'Back to share' button.\n */\n backToUrl: PropTypes.string,\n /**\n * The function that handles submitting of values to the API.\n */\n handleSubmit: PropTypes.func,\n /**\n * React components that can be passed on as children, to add optional fields.\n */\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node,\n ]),\n /**\n * Description text to be displayed under the component title.\n */\n description: PropTypes.string,\n /**\n * An object to assign default values to the email form.\n */\n defaultValues: PropTypes.shape({\n sendFromEmail: PropTypes.string,\n replyToEmail: PropTypes.string,\n actionButtonText: PropTypes.string,\n emailSubject: PropTypes.string,\n emailBody: PropTypes.string,\n }),\n /**\n * Boolean value to show the \"Send From\" field if needed.\n */\n showSendFromField: PropTypes.bool,\n /**\n * Boolean value to hide the \"Reply to\" field if not needed.\n */\n disableReplyTo: PropTypes.bool,\n /**\n * Boolean value to show video url as embed video in email body.\n */\n showVideoEmbedInEditor: PropTypes.bool,\n /**\n * To specify the title of the component. Defaults to \"Share via email\"\n */\n title: PropTypes.string,\n};\n\nexport default ShareViaEmail;\n"],"names":["INITIAL_VALUES","sendFromEmail","replyToEmail","notifyEmails","emailSubject","emailBody","isSendLaterEnabled","sendEmailDatetime","undefined","category","actionButtonText","EDITOR_ADDONS","TIME_FORMAT","isPastDate","date","dayjs","isBefore","subtract","generateInitialValues","defaultValues","_objectSpread","emailFormValidationSchema","disableReplyTo","yup","object","shape","string","required","t","test","value","isEditorEmpty","trim","email","array","min","emails","every","prop","when","is","then","name","disabledTime","selectedDate","current","startOf","today","disabledHours","dynamicArray","i","disabledMinutes","isSame","currentTime","currentHour","hour","currentMinute","minute","selectedHour","FormikDatePicker","_ref","disabledDate","props","_objectWithoutProperties","_excluded","_useField","useField","_useField2","_slicedToArray","field","meta","_useField2$","setValue","setTouched","_jsx","DatePicker","showTime","timeFormat","timePickerProps","onBlur","touched","onChange","AdvancedProperties","showSendFromField","_useTranslation","useTranslation","_useFormikContext","useFormikContext","values","_useState","useState","_useState2","isAdvancedPropertiesVisible","setIsAdvancedPropertiesVisible","toggleAdvancedOptions","not","_jsxs","className","children","type","onClick","Typography","component","style","weight","Up","size","Down","_Fragment","Label","Switch","lineHeight","autoFocus","Input","label","classNames","EmailBody","forwardRef","ref","id","showVideoEmbedInEditor","FormikEditor","addons","concat","_toConsumableArray","displayName","Form","initialValues","editorRef","useRef","handleReset","editor","commands","setContent","SendToFields","showUploadCsvButton","emailInputProps","ActionBlock","cancelButtonProps","submitButtonProps","ShareViaEmail","_ref$showSendFromFiel","backToUrl","handleSubmit","description","_ref$title","title","shareViaEmailTitle","sendToEmails","map","scrollToErrorField","formProps","noValidate","formikProps","enableReinitialize","validateOnMount","validationSchema","onSubmit","_ref2","Button","icon","LeftArrow","iconPosition","to","EmailForm","MobilePreviewHeader","EmailPreview","body","subject"],"mappings":"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"}
1
+ {"version":3,"file":"ShareViaEmail.js","sources":["../../src/components/ShareViaEmail/constants.js","../../src/components/ShareViaEmail/utils.js","../../src/components/ShareViaEmail/FormikDatePicker.jsx","../../src/components/ShareViaEmail/AdvancedProperties.jsx","../../src/components/ShareViaEmail/EmailBodyEditor.jsx","../../src/components/ShareViaEmail/Form.jsx","../../src/components/ShareViaEmail/index.jsx"],"sourcesContent":["export const ONE_MEGABYTE = 1_048_576;\n\nexport const INITIAL_VALUES = {\n sendFromEmail: \"\",\n replyToEmail: \"\",\n notifyEmails: [],\n emailSubject: \"\",\n emailBody: \"\",\n isSendLaterEnabled: false,\n sendEmailDatetime: undefined,\n category: \"email_share\",\n actionButtonText: \"\",\n};\n\nexport const EDITOR_ADDONS = [\n \"emoji\",\n \"block-quote\",\n \"image-upload\",\n \"divider\",\n];\n\nexport const ALLOWED_FILE_PICKER_TYPES = [\".csv\"];\n\nexport const TIME_FORMAT = \"hh:mm A\";\n","import { t } from \"i18next\";\nimport { dynamicArray, isNot } from \"neetocist\";\nimport { dayjs } from \"neetocommons/utils\";\nimport { isEditorEmpty } from \"neetoeditor\";\nimport Papa from \"papaparse\";\nimport { prop } from \"ramda\";\nimport { string } from \"yup\";\nimport * as yup from \"yup\";\n\nimport { INITIAL_VALUES } from \"./constants\";\n\nconst isValidEmail = email => string().email().isValidSync(email);\n\nexport const isPastDate = date =>\n dayjs(date).isBefore(dayjs().subtract(1, \"days\"));\n\nexport const createEmailOptions = (emails = []) =>\n emails.map(email => ({\n label: email,\n value: email,\n valid: isValidEmail(email),\n }));\n\nexport const parseCsvEmails = file =>\n new Promise(resolve => {\n Papa.parse(file, {\n header: true,\n skipEmptyLines: true,\n transformHeader: h => h.toLowerCase().replace(/\\W/g, \"\"),\n complete: results => {\n const isEmailFieldPresent = results.meta.fields?.includes(\"email\");\n if (!isEmailFieldPresent) return resolve([]);\n\n const emails = results.data\n .map(item => item.email?.trim())\n .filter(isNot(undefined));\n\n return resolve(createEmailOptions(emails));\n },\n });\n });\n\nexport const generateInitialValues = defaultValues => ({\n ...INITIAL_VALUES,\n ...defaultValues,\n});\n\nexport const emailFormValidationSchema = disableReplyTo =>\n yup.object().shape({\n emailSubject: yup\n .string()\n .required(\n t(\"neetoMolecules.shareViaEmail.validations.requiredField.subject\")\n ),\n emailBody: yup\n .string()\n .test(\n \"emailBody\",\n t(\"neetoMolecules.shareViaEmail.validations.requiredField.emailBody\"),\n value => !isEditorEmpty(value)\n ),\n sendFromEmail: yup\n .string()\n .trim()\n .email(\n t(\"neetoMolecules.shareViaEmail.validations.invalidField.emailAddress\")\n )\n .required(\n t(\"neetoMolecules.shareViaEmail.validations.requiredField.sendFrom\")\n ),\n replyToEmail:\n !disableReplyTo &&\n yup\n .string()\n .trim()\n .email(\n t(\n \"neetoMolecules.shareViaEmail.validations.invalidField.emailAddress\"\n )\n )\n .required(\n t(\"neetoMolecules.shareViaEmail.validations.requiredField.replyTo\")\n ),\n notifyEmails: yup\n .array()\n .min(\n 1,\n t(\n \"neetoMolecules.shareViaEmail.validations.atleastOneIsRequired.emailAddress\"\n )\n )\n .test(\n \"are-all-emails-valid\",\n t(\"neetoMolecules.shareViaEmail.validations.invalidField.emailAddress\"),\n emails => emails.every(prop(\"valid\"))\n ),\n isSendLaterEnabled: yup.boolean(),\n sendEmailDatetime: yup.date().when(\"isSendLaterEnabled\", {\n is: true,\n then: yup\n .date()\n .required(\n t(\"neetoMolecules.shareViaEmail.validations.requiredField.sendLater\")\n ),\n }),\n name: yup.string(),\n actionButtonText: yup\n .string()\n .required(\n t(\n \"neetoMolecules.shareViaEmail.validations.requiredField.startButtonText\"\n )\n ),\n });\n\nexport const disabledTime = selectedDate => {\n const current = dayjs(selectedDate).startOf(\"day\");\n const today = dayjs().startOf(\"day\");\n\n if (current.isBefore(today)) {\n return {\n disabledHours: () => dynamicArray(24, i => i),\n disabledMinutes: () => dynamicArray(60, i => i),\n };\n }\n\n if (current.isSame(today)) {\n const currentTime = dayjs();\n const currentHour = currentTime.hour();\n const currentMinute = currentTime.minute();\n\n return {\n disabledHours: () => dynamicArray(currentHour, i => i),\n disabledMinutes: selectedHour =>\n selectedHour === currentHour ? dynamicArray(currentMinute, i => i) : [],\n };\n }\n\n return {};\n};\n","import { useField } from \"formik\";\nimport { DatePicker } from \"neetoui\";\n\nimport { TIME_FORMAT } from \"./constants\";\nimport { disabledTime } from \"./utils\";\n\nconst FormikDatePicker = ({ name, disabledDate, ...props }) => {\n const [field, meta, { setValue, setTouched }] = useField(name);\n\n return (\n <DatePicker\n showTime\n timeFormat={TIME_FORMAT}\n {...{ ...field, ...meta, disabledDate }}\n data-cy={props[\"data-cy\"]}\n data-testid={props[\"data-testid\"]}\n timePickerProps={{ disabledTime }}\n onBlur={() => !meta.touched && setTouched(true)}\n onChange={date => {\n setValue(date || undefined);\n if (!meta.touched) setTouched(true);\n }}\n {...props}\n />\n );\n};\n\nexport default FormikDatePicker;\n","import { useState } from \"react\";\n\nimport classNames from \"classnames\";\nimport { useFormikContext } from \"formik\";\nimport { Down, Up } from \"neetoicons\";\nimport { Label, Typography } from \"neetoui\";\nimport { Input, Switch } from \"neetoui/formik\";\nimport { not } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport FormikDatePicker from \"./FormikDatePicker\";\nimport { isPastDate } from \"./utils\";\n\nconst AdvancedProperties = ({ showSendFromField, disableReplyTo }) => {\n const { t } = useTranslation();\n\n const { values } = useFormikContext();\n\n const [isAdvancedPropertiesVisible, setIsAdvancedPropertiesVisible] =\n useState(false);\n\n const toggleAdvancedOptions = () => setIsAdvancedPropertiesVisible(not);\n\n return (\n <div className=\"flex w-full flex-col items-start gap-4\">\n <button\n className=\"flex w-full cursor-pointer items-start justify-between overflow-hidden border-0 py-4\"\n type=\"button\"\n onClick={toggleAdvancedOptions}\n >\n <Typography\n className=\"flex min-w-0 flex-grow\"\n component=\"span\"\n style=\"h5\"\n weight=\"medium\"\n >\n {t(\"neetoMolecules.shareViaEmail.advancedProperties\")}\n </Typography>\n {isAdvancedPropertiesVisible ? (\n <Up className=\"flex-shrink-0\" size={20} />\n ) : (\n <Down className=\"flex-shrink-0\" size={20} />\n )}\n </button>\n {isAdvancedPropertiesVisible && (\n <>\n <div>\n <Label className=\"flex items-center gap-2\">\n <Switch\n data-cy=\"send-later-switch\"\n data-testid=\"send-later-switch\"\n name=\"isSendLaterEnabled\"\n />\n <Typography\n component=\"span\"\n data-cy=\"send-later-label\"\n lineHeight=\"normal\"\n style=\"h4\"\n weight=\"semibold\"\n >\n {t(\"neetoMolecules.shareViaEmail.sendLater\")}\n </Typography>\n </Label>\n </div>\n {values.isSendLaterEnabled && (\n <FormikDatePicker\n autoFocus\n data-cy=\"email-share-date-input\"\n data-testid=\"formik-date-picker\"\n disabledDate={isPastDate}\n name=\"sendEmailDatetime\"\n size=\"large\"\n />\n )}\n <Input\n required\n className=\"w-full\"\n label={t(\"neetoMolecules.shareViaEmail.startButtonText\")}\n name=\"actionButtonText\"\n />\n <div className=\"flex w-full flex-col gap-4 sm:flex-row sm:gap-6\">\n {showSendFromField && (\n <Input\n required\n data-testid=\"neeto-molecules-share-via-email-send-from\"\n label={t(\"neetoMolecules.shareViaEmail.sendFrom\")}\n name=\"sendFromEmail\"\n className={classNames({\n \"w-full flex-grow-0\": !disableReplyTo,\n })}\n />\n )}\n {!disableReplyTo && (\n <Input\n required\n data-testid=\"replyTo-field\"\n label={t(\"neetoMolecules.shareViaEmail.replyTo\")}\n name=\"replyToEmail\"\n className={classNames({\n \"w-full flex-grow-0\": showSendFromField,\n })}\n />\n )}\n </div>\n </>\n )}\n </div>\n );\n};\n\nexport default AdvancedProperties;\n","import { forwardRef } from \"react\";\n\nimport { FormikEditor } from \"neetoeditor\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { EDITOR_ADDONS } from \"./constants\";\n\nconst EmailBody = forwardRef(({ id, showVideoEmbedInEditor }, ref) => {\n const { t } = useTranslation();\n\n return (\n <FormikEditor\n {...{ id, ref }}\n required\n className=\"mb-6\"\n data-cy=\"email-body\"\n label={t(\"neetoMolecules.shareViaEmail.emailBody\")}\n name=\"emailBody\"\n addons={\n showVideoEmbedInEditor\n ? [...EDITOR_ADDONS, \"video-embed\"]\n : EDITOR_ADDONS\n }\n />\n );\n});\n\nEmailBody.displayName = \"EmailBody\";\n\nexport default EmailBody;\n","import { useRef } from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { Input, ActionBlock } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport SendToFields from \"components/SendToFields\";\n\nimport AdvancedProperties from \"./AdvancedProperties\";\nimport EmailBody from \"./EmailBodyEditor\";\n\nconst Form = ({\n showSendFromField,\n disableReplyTo,\n showVideoEmbedInEditor,\n children,\n}) => {\n const { initialValues } = useFormikContext();\n const editorRef = useRef();\n const { t } = useTranslation();\n\n const handleReset = () =>\n editorRef.current.editor.commands.setContent(initialValues.emailBody);\n\n return (\n <>\n <div className=\"space-y-6\">\n <SendToFields\n showUploadCsvButton\n emailInputProps={{\n label: t(\"neetoMolecules.shareViaEmail.sendTo\"),\n name: \"notifyEmails\",\n required: true,\n }}\n />\n <Input\n required\n className=\"col-span-1\"\n label={t(\"neetoMolecules.shareViaEmail.subject\")}\n name=\"emailSubject\"\n />\n <EmailBody\n {...{ showVideoEmbedInEditor }}\n id=\"emailBody\"\n ref={editorRef}\n />\n <div ref={editorRef} />\n <AdvancedProperties {...{ disableReplyTo, showSendFromField }} />\n </div>\n {children && (\n <div className=\"neeto-ui-border-gray-300 mt-4 border-t py-4\">\n <h3 className=\"mb-4\">\n {t(\"neetoMolecules.shareViaEmail.additionalOptions\")}\n </h3>\n {children}\n </div>\n )}\n <div className=\"neeto-ui-bg-white sticky bottom-0 z-10 mt-6 py-6\">\n <ActionBlock\n cancelButtonProps={{\n label: t(\"neetoMolecules.shareViaEmail.reset\"),\n type: \"reset\",\n onClick: handleReset,\n }}\n submitButtonProps={{\n label: t(\"neetoMolecules.shareViaEmail.sendEmail\"),\n }}\n />\n </div>\n </>\n );\n};\n\nexport default Form;\n","import { LeftArrow } from \"neetoicons\";\nimport { Button, Typography } from \"neetoui\";\nimport { Form } from \"neetoui/formik\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport EmailPreview from \"components/EmailPreview\";\nimport MobilePreviewHeader from \"components/MobilePreviewHeader\";\n\nimport EmailForm from \"./Form\";\nimport \"./share-via-email.scss\";\nimport { emailFormValidationSchema, generateInitialValues } from \"./utils\";\n\nconst ShareViaEmail = ({\n showSendFromField = false,\n backToUrl,\n handleSubmit,\n children,\n description,\n defaultValues,\n disableReplyTo,\n showVideoEmbedInEditor,\n title = \"\",\n}) => {\n const { t } = useTranslation();\n\n const shareViaEmailTitle = title || t(\"neetoMolecules.shareViaEmail.title\");\n const sendToEmails = notifyEmails => notifyEmails.map(email => email?.value);\n\n return (\n <div className=\"w-full\">\n <Form\n scrollToErrorField\n formProps={{ noValidate: true }}\n formikProps={{\n enableReinitialize: true,\n validateOnMount: true,\n initialValues: generateInitialValues(defaultValues),\n validationSchema: emailFormValidationSchema(disableReplyTo),\n onSubmit: handleSubmit,\n }}\n >\n {({ values }) => (\n <div className=\"neeto-molecules-share-frame grid grid-cols-1 md:grid-cols-12\">\n <div\n className=\"neeto-molecules-share-frame__left-wrap col-span-1 p-6 pb-0 md:col-span-6 lg:col-span-5\"\n data-cy=\"share-via-email-frame-wrapper\"\n >\n {backToUrl && (\n <Button\n className=\"mb-4\"\n data-testid=\"back-to-url-button\"\n icon={LeftArrow}\n iconPosition=\"left\"\n label={t(\"neetoMolecules.shareViaEmail.backToShare\")}\n size=\"small\"\n style=\"link\"\n to={backToUrl}\n />\n )}\n <div className=\"mb-6\">\n <Typography\n className=\"mb-0.5 break-words\"\n data-cy=\"share-via-email-heading\"\n lineHeight=\"normal\"\n style=\"h2\"\n weight=\"semibold\"\n >\n {shareViaEmailTitle}\n </Typography>\n {description && (\n <Typography\n className=\"neeto-ui-text-gray-700\"\n data-cy=\"share-via-email-sub-heading\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {description}\n </Typography>\n )}\n </div>\n <EmailForm\n {...{\n disableReplyTo,\n showSendFromField,\n showVideoEmbedInEditor,\n }}\n >\n {children}\n </EmailForm>\n </div>\n <MobilePreviewHeader className=\"col-span-1 md:hidden\" />\n <div className=\"neeto-molecules-share-frame__right-wrap neeto-ui-bg-gray-100 col-span-1 p-6 py-10 md:col-span-6 lg:col-span-7\">\n <EmailPreview\n actionButtonText={values.actionButtonText}\n body={values.emailBody}\n subject={values.emailSubject}\n to={sendToEmails(values.notifyEmails)}\n />\n </div>\n </div>\n )}\n </Form>\n </div>\n );\n};\n\nShareViaEmail.propTypes = {\n /**\n * The path to navigate back to the required page on clicking the 'Back to share' button.\n */\n backToUrl: PropTypes.string,\n /**\n * The function that handles submitting of values to the API.\n */\n handleSubmit: PropTypes.func,\n /**\n * React components that can be passed on as children, to add optional fields.\n */\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node,\n ]),\n /**\n * Description text to be displayed under the component title.\n */\n description: PropTypes.string,\n /**\n * An object to assign default values to the email form.\n */\n defaultValues: PropTypes.shape({\n sendFromEmail: PropTypes.string,\n replyToEmail: PropTypes.string,\n actionButtonText: PropTypes.string,\n emailSubject: PropTypes.string,\n emailBody: PropTypes.string,\n }),\n /**\n * Boolean value to show the \"Send From\" field if needed.\n */\n showSendFromField: PropTypes.bool,\n /**\n * Boolean value to hide the \"Reply to\" field if not needed.\n */\n disableReplyTo: PropTypes.bool,\n /**\n * Boolean value to show video url as embed video in email body.\n */\n showVideoEmbedInEditor: PropTypes.bool,\n /**\n * To specify the title of the component. Defaults to \"Share via email\"\n */\n title: PropTypes.string,\n};\n\nexport default ShareViaEmail;\n"],"names":["INITIAL_VALUES","sendFromEmail","replyToEmail","notifyEmails","emailSubject","emailBody","isSendLaterEnabled","sendEmailDatetime","undefined","category","actionButtonText","EDITOR_ADDONS","TIME_FORMAT","isPastDate","date","dayjs","isBefore","subtract","generateInitialValues","defaultValues","_objectSpread","emailFormValidationSchema","disableReplyTo","yup","object","shape","string","required","t","test","value","isEditorEmpty","trim","email","array","min","emails","every","prop","when","is","then","name","disabledTime","selectedDate","current","startOf","today","disabledHours","dynamicArray","i","disabledMinutes","isSame","currentTime","currentHour","hour","currentMinute","minute","selectedHour","FormikDatePicker","_ref","disabledDate","props","_objectWithoutProperties","_excluded","_useField","useField","_useField2","_slicedToArray","field","meta","_useField2$","setValue","setTouched","_jsx","DatePicker","showTime","timeFormat","timePickerProps","onBlur","touched","onChange","AdvancedProperties","showSendFromField","_useTranslation","useTranslation","_useFormikContext","useFormikContext","values","_useState","useState","_useState2","isAdvancedPropertiesVisible","setIsAdvancedPropertiesVisible","toggleAdvancedOptions","not","_jsxs","className","children","type","onClick","Typography","component","style","weight","Up","size","Down","_Fragment","Label","Switch","lineHeight","autoFocus","Input","label","classNames","EmailBody","forwardRef","ref","id","showVideoEmbedInEditor","FormikEditor","addons","concat","_toConsumableArray","displayName","Form","initialValues","editorRef","useRef","handleReset","editor","commands","setContent","SendToFields","showUploadCsvButton","emailInputProps","ActionBlock","cancelButtonProps","submitButtonProps","ShareViaEmail","_ref$showSendFromFiel","backToUrl","handleSubmit","description","_ref$title","title","shareViaEmailTitle","sendToEmails","map","scrollToErrorField","formProps","noValidate","formikProps","enableReinitialize","validateOnMount","validationSchema","onSubmit","_ref2","Button","icon","LeftArrow","iconPosition","to","EmailForm","MobilePreviewHeader","EmailPreview","body","subject"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bigbinary/neeto-molecules",
3
- "version": "3.15.32",
3
+ "version": "3.15.34",
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>",
@@ -28,7 +28,8 @@
28
28
  ],
29
29
  "lint-staged": {
30
30
  "**/*.{js,jsx,json,mjs}": [
31
- ".scripts/fix-lints.sh"
31
+ "prettier --write",
32
+ "eslint --cache --fix"
32
33
  ]
33
34
  },
34
35
  "exports": {
@@ -206,7 +207,7 @@
206
207
  "zustand": "4.3.2"
207
208
  },
208
209
  "peerDependencies": {
209
- "@babel/runtime": "7.19.0",
210
+ "@babel/runtime": "7.26.0",
210
211
  "@bigbinary/neeto-cist": "1.0.11",
211
212
  "@bigbinary/neeto-commons-frontend": "4.12.6",
212
213
  "@bigbinary/neeto-editor": "1.43.8",
@@ -237,7 +238,7 @@
237
238
  "axios": "1.7.7",
238
239
  "classnames": "2.5.1",
239
240
  "dayjs": "1.11.13",
240
- "emoji-mart": "5.6.0",
241
+ "emoji-mart": "^5.2.2",
241
242
  "formik": "2.4.6",
242
243
  "framer-motion": "11.11.11",
243
244
  "husky": "7.0.4",
@@ -260,7 +261,7 @@
260
261
  "react-syntax-highlighter": "^15.5.0",
261
262
  "react-time-picker": "6.5.2",
262
263
  "react-toastify": "8.0.2",
263
- "tailwindcss": "3.4.14",
264
+ "tailwindcss": "^3.4.1",
264
265
  "tippy.js": "6.3.7",
265
266
  "webpack": "^5.75.0",
266
267
  "yup": "0.32.11",