@bigbinary/neeto-molecules 3.3.24 → 3.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"ShareViaEmail.js","sources":["../src/components/ShareViaEmail/constants.js","../src/components/ShareViaEmail/EmailBodyEditor.jsx","../src/components/ShareViaEmail/utils.js","../src/components/ShareViaEmail/FormikDatePicker.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 { 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 dayjs from \"dayjs\";\nimport { t } from \"i18next\";\nimport { dynamicArray, isNot } from \"neetocist\";\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 { useRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport { useFormikContext } from \"formik\";\nimport { Typography, Label } from \"neetoui\";\nimport { Input, Switch, ActionBlock } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport SendToFields from \"components/SendToFields\";\n\nimport EmailBody from \"./EmailBodyEditor\";\nimport FormikDatePicker from \"./FormikDatePicker\";\nimport { isPastDate } from \"./utils\";\n\nconst Form = ({\n showSendFromField,\n disableReplyTo,\n showVideoEmbedInEditor,\n children,\n}) => {\n const { values, 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-4\">\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 <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 label={t(\"neetoMolecules.shareViaEmail.startButtonText\")}\n name=\"actionButtonText\"\n />\n <div className=\"flex flex-col gap-4 sm:flex-row sm:gap-6\">\n {showSendFromField && (\n <Input\n required\n className={classnames({ \"w-full flex-grow-0\": !disableReplyTo })}\n data-testid=\"neeto-molecules-share-via-email-send-from\"\n label={t(\"neetoMolecules.shareViaEmail.sendFrom\")}\n name=\"sendFromEmail\"\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 </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=\"mt-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\";\n\nimport EmailForm from \"./Form\";\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=\"neeto-ui-bg-gray-100 flex w-full flex-1 flex-col p-6 md:p-8\">\n <div className=\"mx-auto flex w-full max-w-7xl flex-col\">\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=\"grid grid-cols-1 gap-8 md:grid-cols-12\">\n <div className=\"col-span-1 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 <div className=\"col-span-1 md:col-span-6 lg:col-span-7\">\n <EmailPreview\n actionButtonText={values.actionButtonText}\n body={values.emailBody}\n className=\"sticky pt-1 md:mt-28\"\n subject={values.emailSubject}\n to={sendToEmails(values.notifyEmails)}\n />\n </div>\n </div>\n )}\n </Form>\n </div>\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","EmailBody","forwardRef","_ref","ref","id","showVideoEmbedInEditor","_useTranslation","useTranslation","t","_jsx","FormikEditor","required","className","label","name","addons","concat","_toConsumableArray","displayName","isPastDate","date","dayjs","isBefore","subtract","generateInitialValues","defaultValues","_objectSpread","emailFormValidationSchema","disableReplyTo","yup","object","shape","string","test","value","isEditorEmpty","trim","email","array","min","emails","every","prop","when","is","then","disabledTime","selectedDate","current","startOf","today","disabledHours","dynamicArray","i","disabledMinutes","isSame","currentTime","currentHour","hour","currentMinute","minute","selectedHour","FormikDatePicker","disabledDate","props","_objectWithoutProperties","_excluded","_useField","useField","_useField2","_slicedToArray","field","meta","_useField2$","setValue","setTouched","DatePicker","showTime","timeFormat","timePickerProps","onBlur","touched","onChange","Form","showSendFromField","children","_useFormikContext","useFormikContext","values","initialValues","editorRef","useRef","handleReset","editor","commands","setContent","_jsxs","_Fragment","SendToFields","showUploadCsvButton","emailInputProps","Input","Label","Switch","Typography","component","lineHeight","style","weight","autoFocus","size","classnames","ActionBlock","cancelButtonProps","type","onClick","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","EmailPreview","body","subject"],"mappings":"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"}
1
+ {"version":3,"file":"ShareViaEmail.js","sources":["../src/components/ShareViaEmail/constants.js","../src/components/ShareViaEmail/EmailBodyEditor.jsx","../src/components/ShareViaEmail/utils.js","../src/components/ShareViaEmail/FormikDatePicker.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 { 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 { 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 { useRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport { useFormikContext } from \"formik\";\nimport { Typography, Label } from \"neetoui\";\nimport { Input, Switch, ActionBlock } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport SendToFields from \"components/SendToFields\";\n\nimport EmailBody from \"./EmailBodyEditor\";\nimport FormikDatePicker from \"./FormikDatePicker\";\nimport { isPastDate } from \"./utils\";\n\nconst Form = ({\n showSendFromField,\n disableReplyTo,\n showVideoEmbedInEditor,\n children,\n}) => {\n const { values, 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-4\">\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 <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 label={t(\"neetoMolecules.shareViaEmail.startButtonText\")}\n name=\"actionButtonText\"\n />\n <div className=\"flex flex-col gap-4 sm:flex-row sm:gap-6\">\n {showSendFromField && (\n <Input\n required\n className={classnames({ \"w-full flex-grow-0\": !disableReplyTo })}\n data-testid=\"neeto-molecules-share-via-email-send-from\"\n label={t(\"neetoMolecules.shareViaEmail.sendFrom\")}\n name=\"sendFromEmail\"\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 </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=\"mt-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\";\n\nimport EmailForm from \"./Form\";\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=\"neeto-ui-bg-gray-100 flex w-full flex-1 flex-col p-6 md:p-8\">\n <div className=\"mx-auto flex w-full max-w-7xl flex-col\">\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=\"grid grid-cols-1 gap-8 md:grid-cols-12\">\n <div className=\"col-span-1 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 <div className=\"col-span-1 md:col-span-6 lg:col-span-7\">\n <EmailPreview\n actionButtonText={values.actionButtonText}\n body={values.emailBody}\n className=\"sticky pt-1 md:mt-28\"\n subject={values.emailSubject}\n to={sendToEmails(values.notifyEmails)}\n />\n </div>\n </div>\n )}\n </Form>\n </div>\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","EmailBody","forwardRef","_ref","ref","id","showVideoEmbedInEditor","_useTranslation","useTranslation","t","_jsx","FormikEditor","required","className","label","name","addons","concat","_toConsumableArray","displayName","isPastDate","date","dayjs","isBefore","subtract","generateInitialValues","defaultValues","_objectSpread","emailFormValidationSchema","disableReplyTo","yup","object","shape","string","test","value","isEditorEmpty","trim","email","array","min","emails","every","prop","when","is","then","disabledTime","selectedDate","current","startOf","today","disabledHours","dynamicArray","i","disabledMinutes","isSame","currentTime","currentHour","hour","currentMinute","minute","selectedHour","FormikDatePicker","disabledDate","props","_objectWithoutProperties","_excluded","_useField","useField","_useField2","_slicedToArray","field","meta","_useField2$","setValue","setTouched","DatePicker","showTime","timeFormat","timePickerProps","onBlur","touched","onChange","Form","showSendFromField","children","_useFormikContext","useFormikContext","values","initialValues","editorRef","useRef","handleReset","editor","commands","setContent","_jsxs","_Fragment","SendToFields","showUploadCsvButton","emailInputProps","Input","Label","Switch","Typography","component","lineHeight","style","weight","autoFocus","size","classnames","ActionBlock","cancelButtonProps","type","onClick","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","EmailPreview","body","subject"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEO,IAAMA,cAAc,GAAG;AAC5BC,EAAAA,aAAa,EAAE,EAAE;AACjBC,EAAAA,YAAY,EAAE,EAAE;AAChBC,EAAAA,YAAY,EAAE,EAAE;AAChBC,EAAAA,YAAY,EAAE,EAAE;AAChBC,EAAAA,SAAS,EAAE,EAAE;AACbC,EAAAA,kBAAkB,EAAE,KAAK;AACzBC,EAAAA,iBAAiB,EAAEC,SAAS;AAC5BC,EAAAA,QAAQ,EAAE,aAAa;AACvBC,EAAAA,gBAAgB,EAAE,EAAA;AACpB,CAAC,CAAA;AAEM,IAAMC,aAAa,GAAG,CAC3B,OAAO,EACP,aAAa,EACb,cAAc,EACd,SAAS,CACV,CAAA;AAIM,IAAMC,WAAW,GAAG,SAAS;;AChBpC,IAAMC,SAAS,gBAAGC,UAAU,CAAC,UAAAC,IAAA,EAAiCC,GAAG,EAAK;AAAA,EAAA,IAAtCC,EAAE,GAAAF,IAAA,CAAFE,EAAE;IAAEC,sBAAsB,GAAAH,IAAA,CAAtBG,sBAAsB,CAAA;AACxD,EAAA,IAAAC,eAAA,GAAcC,cAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC,CAAA;EAET,oBACEC,GAAA,CAACC,YAAY,EAAA;AACLN,IAAAA,EAAE,EAAFA,EAAE;AAAED,IAAAA,GAAG,EAAHA,GAAG;IACbQ,QAAQ,EAAA,IAAA;AACRC,IAAAA,SAAS,EAAC,MAAM;AAChB,IAAA,SAAA,EAAQ,YAAY;AACpBC,IAAAA,KAAK,EAAEL,CAAC,CAAC,wCAAwC,CAAE;AACnDM,IAAAA,IAAI,EAAC,WAAW;IAChBC,MAAM,EACJV,sBAAsB,GAAA,EAAA,CAAAW,MAAA,CAAAC,kBAAA,CACdnB,aAAa,CAAE,EAAA,CAAA,aAAa,CAChCA,CAAAA,GAAAA,aAAAA;AACL,GACF,CAAC,CAAA;AAEN,CAAC,CAAC,CAAA;AAEFE,SAAS,CAACkB,WAAW,GAAG,WAAW;;;;ACd5B,IAAMC,UAAU,GAAG,SAAbA,UAAUA,CAAGC,IAAI,EAAA;AAAA,EAAA,OAC5BC,KAAK,CAACD,IAAI,CAAC,CAACE,QAAQ,CAACD,KAAK,EAAE,CAACE,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAA;AAAA,CAAA,CAAA;AA4B5C,IAAMC,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAGC,aAAa,EAAA;AAAA,EAAA,OAAAC,eAAA,CAAAA,eAAA,CAC7CvC,EAAAA,EAAAA,cAAc,GACdsC,aAAa,CAAA,CAAA;AAAA,CAChB,CAAA;AAEK,IAAME,yBAAyB,GAAG,SAA5BA,yBAAyBA,CAAGC,cAAc,EAAA;AAAA,EAAA,OACrDC,GAAG,CAACC,MAAM,EAAE,CAACC,KAAK,CAAC;AACjBxC,IAAAA,YAAY,EAAEsC,GAAG,CACdG,MAAM,EAAE,CACRrB,QAAQ,CACPH,CAAC,CAAC,gEAAgE,CACpE,CAAC;AACHhB,IAAAA,SAAS,EAAEqC,GAAG,CACXG,MAAM,EAAE,CACRC,IAAI,CACH,WAAW,EACXzB,CAAC,CAAC,kEAAkE,CAAC,EACrE,UAAA0B,KAAK,EAAA;AAAA,MAAA,OAAI,CAACC,aAAa,CAACD,KAAK,CAAC,CAAA;AAAA,KAChC,CAAC;IACH9C,aAAa,EAAEyC,GAAG,CACfG,MAAM,EAAE,CACRI,IAAI,EAAE,CACNC,KAAK,CACJ7B,CAAC,CAAC,oEAAoE,CACxE,CAAC,CACAG,QAAQ,CACPH,CAAC,CAAC,iEAAiE,CACrE,CAAC;AACHnB,IAAAA,YAAY,EACV,CAACuC,cAAc,IACfC,GAAG,CACAG,MAAM,EAAE,CACRI,IAAI,EAAE,CACNC,KAAK,CACJ7B,CAAC,CACC,oEACF,CACF,CAAC,CACAG,QAAQ,CACPH,CAAC,CAAC,gEAAgE,CACpE,CAAC;IACLlB,YAAY,EAAEuC,GAAG,CACdS,KAAK,EAAE,CACPC,GAAG,CACF,CAAC,EACD/B,CAAC,CACC,4EACF,CACF,CAAC,CACAyB,IAAI,CACH,sBAAsB,EACtBzB,CAAC,CAAC,oEAAoE,CAAC,EACvE,UAAAgC,MAAM,EAAA;MAAA,OAAIA,MAAM,CAACC,KAAK,CAACC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAA;AAAA,KACvC,CAAC;AACHjD,IAAAA,kBAAkB,EAAEoC,GAAG,CAAQ,SAAA,CAAA,EAAE;IACjCnC,iBAAiB,EAAEmC,GAAG,CAACT,IAAI,EAAE,CAACuB,IAAI,CAAC,oBAAoB,EAAE;AACvDC,MAAAA,EAAE,EAAE,IAAI;AACRC,MAAAA,IAAI,EAAEhB,GAAG,CACNT,IAAI,EAAE,CACNT,QAAQ,CACPH,CAAC,CAAC,kEAAkE,CACtE,CAAA;AACJ,KAAC,CAAC;AACFM,IAAAA,IAAI,EAAEe,GAAG,CAACG,MAAM,EAAE;AAClBnC,IAAAA,gBAAgB,EAAEgC,GAAG,CAClBG,MAAM,EAAE,CACRrB,QAAQ,CACPH,CAAC,CACC,wEACF,CACF,CAAA;AACJ,GAAC,CAAC,CAAA;AAAA,CAAA,CAAA;AAEG,IAAMsC,YAAY,GAAG,SAAfA,YAAYA,CAAGC,YAAY,EAAI;EAC1C,IAAMC,OAAO,GAAG3B,KAAK,CAAC0B,YAAY,CAAC,CAACE,OAAO,CAAC,KAAK,CAAC,CAAA;EAClD,IAAMC,KAAK,GAAG7B,KAAK,EAAE,CAAC4B,OAAO,CAAC,KAAK,CAAC,CAAA;AAEpC,EAAA,IAAID,OAAO,CAAC1B,QAAQ,CAAC4B,KAAK,CAAC,EAAE;IAC3B,OAAO;MACLC,aAAa,EAAE,SAAAA,aAAA,GAAA;AAAA,QAAA,OAAMC,YAAY,CAAC,EAAE,EAAE,UAAAC,CAAC,EAAA;AAAA,UAAA,OAAIA,CAAC,CAAA;SAAC,CAAA,CAAA;AAAA,OAAA;MAC7CC,eAAe,EAAE,SAAAA,eAAA,GAAA;AAAA,QAAA,OAAMF,YAAY,CAAC,EAAE,EAAE,UAAAC,CAAC,EAAA;AAAA,UAAA,OAAIA,CAAC,CAAA;SAAC,CAAA,CAAA;AAAA,OAAA;KAChD,CAAA;AACH,GAAA;AAEA,EAAA,IAAIL,OAAO,CAACO,MAAM,CAACL,KAAK,CAAC,EAAE;AACzB,IAAA,IAAMM,WAAW,GAAGnC,KAAK,EAAE,CAAA;AAC3B,IAAA,IAAMoC,WAAW,GAAGD,WAAW,CAACE,IAAI,EAAE,CAAA;AACtC,IAAA,IAAMC,aAAa,GAAGH,WAAW,CAACI,MAAM,EAAE,CAAA;IAE1C,OAAO;MACLT,aAAa,EAAE,SAAAA,aAAA,GAAA;AAAA,QAAA,OAAMC,YAAY,CAACK,WAAW,EAAE,UAAAJ,CAAC,EAAA;AAAA,UAAA,OAAIA,CAAC,CAAA;SAAC,CAAA,CAAA;AAAA,OAAA;MACtDC,eAAe,EAAE,SAAAA,eAAAA,CAAAO,YAAY,EAAA;QAAA,OAC3BA,YAAY,KAAKJ,WAAW,GAAGL,YAAY,CAACO,aAAa,EAAE,UAAAN,CAAC,EAAA;AAAA,UAAA,OAAIA,CAAC,CAAA;AAAA,SAAA,CAAC,GAAG,EAAE,CAAA;AAAA,OAAA;KAC1E,CAAA;AACH,GAAA;AAEA,EAAA,OAAO,EAAE,CAAA;AACX,CAAC;;;;;ACrID,IAAMS,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAA5D,IAAA,EAAyC;AAAA,EAAA,IAAnCY,IAAI,GAAAZ,IAAA,CAAJY,IAAI;IAAEiD,YAAY,GAAA7D,IAAA,CAAZ6D,YAAY;AAAKC,IAAAA,KAAK,GAAAC,wBAAA,CAAA/D,IAAA,EAAAgE,SAAA,CAAA,CAAA;AACtD,EAAA,IAAAC,SAAA,GAAgDC,QAAQ,CAACtD,IAAI,CAAC;IAAAuD,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAvDI,IAAAA,KAAK,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,IAAI,GAAAH,UAAA,CAAA,CAAA,CAAA;AAAAI,IAAAA,WAAA,GAAAJ,UAAA,CAAA,CAAA,CAAA;IAAIK,QAAQ,GAAAD,WAAA,CAARC,QAAQ;IAAEC,UAAU,GAAAF,WAAA,CAAVE,UAAU,CAAA;AAE1C,EAAA,oBACElE,GAAA,CAACmE,UAAU,EAAAlD,aAAA,CAAAA,aAAA,CAAA;IACTmD,QAAQ,EAAA,IAAA;AACRC,IAAAA,UAAU,EAAE/E,WAAAA;GAAY2B,EAAAA,aAAA,CAAAA,aAAA,CAAAA,aAAA,CACf6C,EAAAA,EAAAA,KAAK,GAAKC,IAAI,CAAA,EAAA,EAAA,EAAA;AAAET,IAAAA,YAAY,EAAZA,YAAAA;AAAY,GAAA,CAAA,CAAA,EAAA,EAAA,EAAA;IACrC,SAASC,EAAAA,KAAK,CAAC,SAAS,CAAE;IAC1B,aAAaA,EAAAA,KAAK,CAAC,aAAa,CAAE;AAClCe,IAAAA,eAAe,EAAE;AAAEjC,MAAAA,YAAY,EAAZA,YAAAA;KAAe;IAClCkC,MAAM,EAAE,SAAAA,MAAA,GAAA;MAAA,OAAM,CAACR,IAAI,CAACS,OAAO,IAAIN,UAAU,CAAC,IAAI,CAAC,CAAA;KAAC;AAChDO,IAAAA,QAAQ,EAAE,SAAAA,QAAA9D,CAAAA,IAAI,EAAI;AAChBsD,MAAAA,QAAQ,CAACtD,IAAI,IAAIzB,SAAS,CAAC,CAAA;MAC3B,IAAI,CAAC6E,IAAI,CAACS,OAAO,EAAEN,UAAU,CAAC,IAAI,CAAC,CAAA;AACrC,KAAA;GACIX,EAAAA,KAAK,CACV,CAAC,CAAA;AAEN,CAAC;;ACXD,IAAMmB,IAAI,GAAG,SAAPA,IAAIA,CAAAjF,IAAA,EAKJ;AAAA,EAAA,IAJJkF,iBAAiB,GAAAlF,IAAA,CAAjBkF,iBAAiB;IACjBxD,cAAc,GAAA1B,IAAA,CAAd0B,cAAc;IACdvB,sBAAsB,GAAAH,IAAA,CAAtBG,sBAAsB;IACtBgF,QAAQ,GAAAnF,IAAA,CAARmF,QAAQ,CAAA;AAER,EAAA,IAAAC,iBAAA,GAAkCC,gBAAgB,EAAE;IAA5CC,MAAM,GAAAF,iBAAA,CAANE,MAAM;IAAEC,aAAa,GAAAH,iBAAA,CAAbG,aAAa,CAAA;AAC7B,EAAA,IAAMC,SAAS,GAAGC,MAAM,EAAE,CAAA;AAC1B,EAAA,IAAArF,eAAA,GAAcC,cAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC,CAAA;AAET,EAAA,IAAMoF,WAAW,GAAG,SAAdA,WAAWA,GAAA;AAAA,IAAA,OACfF,SAAS,CAAC1C,OAAO,CAAC6C,MAAM,CAACC,QAAQ,CAACC,UAAU,CAACN,aAAa,CAACjG,SAAS,CAAC,CAAA;AAAA,GAAA,CAAA;EAEvE,oBACEwG,IAAA,CAAAC,QAAA,EAAA;AAAAZ,IAAAA,QAAA,gBACEW,IAAA,CAAA,KAAA,EAAA;AAAKpF,MAAAA,SAAS,EAAC,WAAW;MAAAyE,QAAA,EAAA,cACxB5E,GAAA,CAACyF,YAAY,EAAA;QACXC,mBAAmB,EAAA,IAAA;AACnBC,QAAAA,eAAe,EAAE;AACfvF,UAAAA,KAAK,EAAEL,CAAC,CAAC,qCAAqC,CAAC;AAC/CM,UAAAA,IAAI,EAAE,cAAc;AACpBH,UAAAA,QAAQ,EAAE,IAAA;AACZ,SAAA;AAAE,OACH,CAAC,eACFF,GAAA,CAAC4F,KAAK,EAAA;QACJ1F,QAAQ,EAAA,IAAA;AACRC,QAAAA,SAAS,EAAC,YAAY;AACtBC,QAAAA,KAAK,EAAEL,CAAC,CAAC,sCAAsC,CAAE;AACjDM,QAAAA,IAAI,EAAC,cAAA;AAAc,OACpB,CAAC,eACFL,GAAA,CAACT,SAAS,EAAA;AACFK,QAAAA,sBAAsB,EAAtBA,sBAAsB;AAC5BD,QAAAA,EAAE,EAAC,WAAW;AACdD,QAAAA,GAAG,EAAEuF,SAAAA;OACN,CAAC,eACFjF,GAAA,CAAA,KAAA,EAAA;AAAKN,QAAAA,GAAG,EAAEuF,SAAAA;OAAY,CAAC,eACvBjF,GAAA,CAAA,KAAA,EAAA;QAAA4E,QAAA,eACEW,IAAA,CAACM,KAAK,EAAA;AAAC1F,UAAAA,SAAS,EAAC,yBAAyB;UAAAyE,QAAA,EAAA,cACxC5E,GAAA,CAAC8F,MAAM,EAAA;AACL,YAAA,SAAA,EAAQ,mBAAmB;AAC3B,YAAA,aAAA,EAAY,mBAAmB;AAC/BzF,YAAAA,IAAI,EAAC,oBAAA;AAAoB,WAC1B,CAAC,eACFL,GAAA,CAAC+F,UAAU,EAAA;AACTC,YAAAA,SAAS,EAAC,MAAM;AAChB,YAAA,SAAA,EAAQ,kBAAkB;AAC1BC,YAAAA,UAAU,EAAC,QAAQ;AACnBC,YAAAA,KAAK,EAAC,IAAI;AACVC,YAAAA,MAAM,EAAC,UAAU;YAAAvB,QAAA,EAEhB7E,CAAC,CAAC,wCAAwC,CAAA;AAAC,WAClC,CAAC,CAAA;SACR,CAAA;OACJ,CAAC,EACLgF,MAAM,CAAC/F,kBAAkB,iBACxBgB,GAAA,CAACqD,gBAAgB,EAAA;QACf+C,SAAS,EAAA,IAAA;AACT,QAAA,SAAA,EAAQ,wBAAwB;AAChC,QAAA,aAAA,EAAY,oBAAoB;AAChC9C,QAAAA,YAAY,EAAE5C,UAAW;AACzBL,QAAAA,IAAI,EAAC,mBAAmB;AACxBgG,QAAAA,IAAI,EAAC,OAAA;AAAO,OACb,CACF,eACDrG,GAAA,CAAC4F,KAAK,EAAA;QACJ1F,QAAQ,EAAA,IAAA;AACRE,QAAAA,KAAK,EAAEL,CAAC,CAAC,8CAA8C,CAAE;AACzDM,QAAAA,IAAI,EAAC,kBAAA;OACN,CAAC,eACFkF,IAAA,CAAA,KAAA,EAAA;AAAKpF,QAAAA,SAAS,EAAC,0CAA0C;AAAAyE,QAAAA,QAAA,EACtDD,CAAAA,iBAAiB,iBAChB3E,GAAA,CAAC4F,KAAK,EAAA;UACJ1F,QAAQ,EAAA,IAAA;UACRC,SAAS,EAAEmG,UAAU,CAAC;AAAE,YAAA,oBAAoB,EAAE,CAACnF,cAAAA;AAAe,WAAC,CAAE;AACjE,UAAA,aAAA,EAAY,2CAA2C;AACvDf,UAAAA,KAAK,EAAEL,CAAC,CAAC,uCAAuC,CAAE;AAClDM,UAAAA,IAAI,EAAC,eAAA;AAAe,SACrB,CACF,EACA,CAACc,cAAc,iBACdnB,GAAA,CAAC4F,KAAK,EAAA;UACJ1F,QAAQ,EAAA,IAAA;AACR,UAAA,aAAA,EAAY,eAAe;AAC3BE,UAAAA,KAAK,EAAEL,CAAC,CAAC,sCAAsC,CAAE;AACjDM,UAAAA,IAAI,EAAC,cAAc;UACnBF,SAAS,EAAEmG,UAAU,CAAC;AACpB,YAAA,oBAAoB,EAAE3B,iBAAAA;WACvB,CAAA;AAAE,SACJ,CACF,CAAA;AAAA,OACE,CAAC,CAAA;AAAA,KACH,CAAC,EACLC,QAAQ,iBACPW,IAAA,CAAA,KAAA,EAAA;AAAKpF,MAAAA,SAAS,EAAC,6CAA6C;AAAAyE,MAAAA,QAAA,gBAC1D5E,GAAA,CAAA,IAAA,EAAA;AAAIG,QAAAA,SAAS,EAAC,MAAM;QAAAyE,QAAA,EACjB7E,CAAC,CAAC,gDAAgD,CAAA;OACjD,CAAC,EACJ6E,QAAQ,CAAA;KACN,CACN,eACD5E,GAAA,CAAA,KAAA,EAAA;AAAKG,MAAAA,SAAS,EAAC,MAAM;MAAAyE,QAAA,eACnB5E,GAAA,CAACuG,WAAW,EAAA;AACVC,QAAAA,iBAAiB,EAAE;AACjBpG,UAAAA,KAAK,EAAEL,CAAC,CAAC,oCAAoC,CAAC;AAC9C0G,UAAAA,IAAI,EAAE,OAAO;AACbC,UAAAA,OAAO,EAAEvB,WAAAA;SACT;AACFwB,QAAAA,iBAAiB,EAAE;UACjBvG,KAAK,EAAEL,CAAC,CAAC,wCAAwC,CAAA;AACnD,SAAA;OACD,CAAA;AAAC,KACC,CAAC,CAAA;AAAA,GACN,CAAC,CAAA;AAEP,CAAC;;ACrHD,IAAM6G,aAAa,GAAG,SAAhBA,aAAaA,CAAAnH,IAAA,EAUb;AAAA,EAAA,IAAAoH,qBAAA,GAAApH,IAAA,CATJkF,iBAAiB;AAAjBA,IAAAA,iBAAiB,GAAAkC,qBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,qBAAA;IACzBC,SAAS,GAAArH,IAAA,CAATqH,SAAS;IACTC,YAAY,GAAAtH,IAAA,CAAZsH,YAAY;IACZnC,SAAQ,GAAAnF,IAAA,CAARmF,QAAQ;IACRoC,WAAW,GAAAvH,IAAA,CAAXuH,WAAW;IACXhG,aAAa,GAAAvB,IAAA,CAAbuB,aAAa;IACbG,cAAc,GAAA1B,IAAA,CAAd0B,cAAc;IACdvB,sBAAsB,GAAAH,IAAA,CAAtBG,sBAAsB;IAAAqH,UAAA,GAAAxH,IAAA,CACtByH,KAAK;AAALA,IAAAA,KAAK,GAAAD,UAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,UAAA,CAAA;AAEV,EAAA,IAAApH,eAAA,GAAcC,cAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC,CAAA;AAET,EAAA,IAAMoH,kBAAkB,GAAGD,KAAK,IAAInH,CAAC,CAAC,oCAAoC,CAAC,CAAA;AAC3E,EAAA,IAAMqH,YAAY,GAAG,SAAfA,YAAYA,CAAGvI,YAAY,EAAA;AAAA,IAAA,OAAIA,YAAY,CAACwI,GAAG,CAAC,UAAAzF,KAAK,EAAA;AAAA,MAAA,OAAIA,KAAK,KAALA,IAAAA,IAAAA,KAAK,KAALA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,KAAK,CAAEH,KAAK,CAAA;KAAC,CAAA,CAAA;AAAA,GAAA,CAAA;AAE5E,EAAA,oBACEzB,GAAA,CAAA,KAAA,EAAA;AAAKG,IAAAA,SAAS,EAAC,6DAA6D;AAAAyE,IAAAA,QAAA,eAC1E5E,GAAA,CAAA,KAAA,EAAA;AAAKG,MAAAA,SAAS,EAAC,wCAAwC;MAAAyE,QAAA,eACrD5E,GAAA,CAAC0E,MAAI,EAAA;QACH4C,kBAAkB,EAAA,IAAA;AAClBC,QAAAA,SAAS,EAAE;AAAEC,UAAAA,UAAU,EAAE,IAAA;SAAO;AAChCC,QAAAA,WAAW,EAAE;AACXC,UAAAA,kBAAkB,EAAE,IAAI;AACxBC,UAAAA,eAAe,EAAE,IAAI;AACrB3C,UAAAA,aAAa,EAAEjE,qBAAqB,CAACC,aAAa,CAAC;AACnD4G,UAAAA,gBAAgB,EAAE1G,yBAAyB,CAACC,cAAc,CAAC;AAC3D0G,UAAAA,QAAQ,EAAEd,YAAAA;SACV;QAAAnC,QAAA,EAED,SAAAA,QAAAA,CAAAkD,KAAA,EAAA;AAAA,UAAA,IAAG/C,MAAM,GAAA+C,KAAA,CAAN/C,MAAM,CAAA;AAAA,UAAA,oBACRQ,IAAA,CAAA,KAAA,EAAA;AAAKpF,YAAAA,SAAS,EAAC,wCAAwC;AAAAyE,YAAAA,QAAA,gBACrDW,IAAA,CAAA,KAAA,EAAA;AAAKpF,cAAAA,SAAS,EAAC,wCAAwC;AAAAyE,cAAAA,QAAA,EACpDkC,CAAAA,SAAS,iBACR9G,GAAA,CAAC+H,MAAM,EAAA;AACL5H,gBAAAA,SAAS,EAAC,MAAM;AAChB,gBAAA,aAAA,EAAY,oBAAoB;AAChC6H,gBAAAA,IAAI,EAAEC,SAAU;AAChBC,gBAAAA,YAAY,EAAC,MAAM;AACnB9H,gBAAAA,KAAK,EAAEL,CAAC,CAAC,0CAA0C,CAAE;AACrDsG,gBAAAA,IAAI,EAAC,OAAO;AACZH,gBAAAA,KAAK,EAAC,MAAM;AACZiC,gBAAAA,EAAE,EAAErB,SAAAA;eACL,CACF,eACDvB,IAAA,CAAA,KAAA,EAAA;AAAKpF,gBAAAA,SAAS,EAAC,MAAM;gBAAAyE,QAAA,EAAA,cACnB5E,GAAA,CAAC+F,UAAU,EAAA;AACT5F,kBAAAA,SAAS,EAAC,oBAAoB;AAC9B,kBAAA,SAAA,EAAQ,yBAAyB;AACjC8F,kBAAAA,UAAU,EAAC,QAAQ;AACnBC,kBAAAA,KAAK,EAAC,IAAI;AACVC,kBAAAA,MAAM,EAAC,UAAU;AAAAvB,kBAAAA,QAAA,EAEhBuC,kBAAAA;AAAkB,iBACT,CAAC,EACZH,WAAW,iBACVhH,GAAA,CAAC+F,UAAU,EAAA;AACT5F,kBAAAA,SAAS,EAAC,wBAAwB;AAClC,kBAAA,SAAA,EAAQ,6BAA6B;AACrC8F,kBAAAA,UAAU,EAAC,QAAQ;AACnBC,kBAAAA,KAAK,EAAC,OAAO;AAAAtB,kBAAAA,QAAA,EAEZoC,WAAAA;AAAW,iBACF,CACb,CAAA;AAAA,eACE,CAAC,eACNhH,GAAA,CAACoI,IAAS,EAAA;AAENjH,gBAAAA,cAAc,EAAdA,cAAc;AACdwD,gBAAAA,iBAAiB,EAAjBA,iBAAiB;AACjB/E,gBAAAA,sBAAsB,EAAtBA,sBAAsB;AAAAgF,gBAAAA,QAAA,EAGvBA,SAAAA;AAAQ,eACA,CAAC,CAAA;aACT,CAAC,eACN5E,GAAA,CAAA,KAAA,EAAA;AAAKG,cAAAA,SAAS,EAAC,wCAAwC;cAAAyE,QAAA,eACrD5E,GAAA,CAACqI,YAAY,EAAA;gBACXjJ,gBAAgB,EAAE2F,MAAM,CAAC3F,gBAAiB;gBAC1CkJ,IAAI,EAAEvD,MAAM,CAAChG,SAAU;AACvBoB,gBAAAA,SAAS,EAAC,sBAAsB;gBAChCoI,OAAO,EAAExD,MAAM,CAACjG,YAAa;AAC7BqJ,gBAAAA,EAAE,EAAEf,YAAY,CAACrC,MAAM,CAAClG,YAAY,CAAA;eACrC,CAAA;AAAC,aACC,CAAC,CAAA;AAAA,WACH,CAAC,CAAA;AAAA,SAAA;OAEJ,CAAA;KACH,CAAA;AAAC,GACH,CAAC,CAAA;AAEV;;;;"}
@@ -8,8 +8,6 @@ import { useTranslation, Trans } from 'react-i18next';
8
8
  import { useMutation } from '@tanstack/react-query';
9
9
  import axios from 'axios';
10
10
  import dayjs from 'dayjs';
11
- import timezone from 'dayjs/plugin/timezone';
12
- import utc from 'dayjs/plugin/utc';
13
11
  import { globalProps as globalProps$1 } from '@bigbinary/neeto-commons-frontend/initializers';
14
12
  import { jsxs, jsx } from 'react/jsx-runtime';
15
13
 
@@ -30,8 +28,6 @@ var useUpdateTimeZone = function useUpdateTimeZone() {
30
28
  });
31
29
  };
32
30
 
33
- dayjs.extend(utc);
34
- dayjs.extend(timezone);
35
31
  var getBrowserTimeZone = function getBrowserTimeZone() {
36
32
  return dayjs.tz.guess();
37
33
  };
@@ -1 +1 @@
1
- {"version":3,"file":"TimezoneMismatchModal.js","sources":["../src/components/TimezoneMismatchModal/apis/time_zone.js","../src/components/TimezoneMismatchModal/useTimeZoneApi.js","../src/components/TimezoneMismatchModal/utils.js","../src/components/TimezoneMismatchModal/index.jsx"],"sourcesContent":["import axios from \"axios\";\n\nconst timeZoneUrl = \"api/v1/time_zone\";\n\nconst updateTimeZone = payload => axios.patch(timeZoneUrl, payload);\n\nconst timeZoneApi = { updateTimeZone };\n\nexport default timeZoneApi;\n","import { useMutation } from \"@tanstack/react-query\";\n\nimport timeZoneApi from \"./apis/time_zone\";\n\nconst useUpdateTimeZone = () =>\n useMutation({\n mutationFn: timeZoneApi.updateTimeZone,\n onSuccess: () => window.location.reload(),\n });\n\nexport { useUpdateTimeZone };\n","import dayjs from \"dayjs\";\nimport timezone from \"dayjs/plugin/timezone\";\nimport utc from \"dayjs/plugin/utc\";\nimport { globalProps } from \"neetocommons/initializers\";\n\ndayjs.extend(utc);\ndayjs.extend(timezone);\n\nexport const getBrowserTimeZone = () => dayjs.tz.guess();\n\nexport const getUserTimeZone = () => globalProps.user?.timeZone;\n\nexport const checkIfTwoTimeZonesAreSame = (timeZone1, timeZone2) =>\n // eslint-disable-next-line @bigbinary/neeto/use-standard-date-time-formats\n dayjs().tz(timeZone1).format(\"Z\") === dayjs().tz(timeZone2).format(\"Z\");\n","/* eslint-disable @bigbinary/neeto/use-webpack-alias */\nimport { useEffect, useState } from \"react\";\n\nimport { noop } from \"@bigbinary/neeto-cist\";\nimport { Button, Modal, Typography } from \"@bigbinary/neetoui\";\nimport PropTypes from \"prop-types\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { useUpdateTimeZone } from \"./useTimeZoneApi\";\nimport {\n checkIfTwoTimeZonesAreSame,\n getBrowserTimeZone,\n getUserTimeZone,\n} from \"./utils\";\n\nconst TimezoneMismatchModal = ({ isOpen = false, onClose = noop }) => {\n const { t } = useTranslation();\n const [isTimezoneModalOpen, setIsTimezoneModalOpen] = useState(false);\n const { isPending, mutate: updateTimeZone } = useUpdateTimeZone();\n const isUserAndBrowserTimeZoneSame = checkIfTwoTimeZonesAreSame(\n getUserTimeZone(),\n getBrowserTimeZone()\n );\n\n const handleUpdateTimeZone = () => {\n const payload = { timeZone: getBrowserTimeZone() };\n\n updateTimeZone(payload, {\n onSuccess: () => {\n setIsTimezoneModalOpen(false);\n onClose();\n },\n });\n };\n\n const handleCancel = () => {\n setIsTimezoneModalOpen(false);\n onClose();\n };\n\n useEffect(() => {\n if (!(process.env.RAILS_ENV !== \"heroku\")) return;\n setIsTimezoneModalOpen(!isUserAndBrowserTimeZoneSame);\n }, []);\n\n return (\n <Modal\n closeOnOutsideClick={false}\n isOpen={isTimezoneModalOpen || isOpen}\n size=\"large\"\n onClose={handleCancel}\n >\n <Modal.Header>\n <Typography style=\"h2\" weight=\"normal\">\n {t(\"neetoMolecules.alert.timezone.title\")}\n </Typography>\n </Modal.Header>\n <Modal.Body>\n <span className=\"flex flex-col space-y-4\">\n <Typography component=\"span\" style=\"body2\">\n {t(\"neetoMolecules.alert.timezone.message\", {\n entity: globalProps.appName,\n })}\n </Typography>\n <Typography component=\"span\" style=\"h4\">\n <Trans\n i18nKey=\"neetoMolecules.alert.timezone.userTimezone\"\n values={{ entity: getUserTimeZone() }}\n />\n </Typography>\n <Typography component=\"span\" style=\"h4\">\n <Trans\n i18nKey=\"neetoMolecules.alert.timezone.browserTimezone\"\n values={{ entity: getBrowserTimeZone() }}\n />\n </Typography>\n </span>\n </Modal.Body>\n <Modal.Footer className=\"space-x-2\">\n <Button\n data-testid=\"update-timezone-button\"\n disabled={isPending}\n label={t(\"neetoMolecules.alert.timezone.updateProfile\")}\n loading={isPending}\n style=\"primary\"\n onClick={handleUpdateTimeZone}\n />\n <Button\n label={t(\"neetoMolecules.common.actions.cancel\")}\n style=\"text\"\n onClick={handleCancel}\n />\n </Modal.Footer>\n </Modal>\n );\n};\n\nTimezoneMismatchModal.propTypes = {\n /**\n * Boolean value to toggle the modal.\n */\n isOpen: PropTypes.bool,\n /**\n * The function that's called after the modal is closed.\n */\n onClose: PropTypes.func,\n};\n\nexport default TimezoneMismatchModal;\n"],"names":["timeZoneUrl","updateTimeZone","payload","axios","patch","timeZoneApi","useUpdateTimeZone","useMutation","mutationFn","onSuccess","window","location","reload","dayjs","extend","utc","timezone","getBrowserTimeZone","tz","guess","getUserTimeZone","_globalProps$user","globalProps","user","timeZone","checkIfTwoTimeZonesAreSame","timeZone1","timeZone2","format","TimezoneMismatchModal","_ref","_ref$isOpen","isOpen","_ref$onClose","onClose","noop","_useTranslation","useTranslation","t","_useState","useState","_useState2","_slicedToArray","isTimezoneModalOpen","setIsTimezoneModalOpen","_useUpdateTimeZone","isPending","mutate","isUserAndBrowserTimeZoneSame","handleUpdateTimeZone","handleCancel","useEffect","process","env","RAILS_ENV","_jsxs","Modal","closeOnOutsideClick","size","children","_jsx","Header","Typography","style","weight","Body","className","component","entity","appName","Trans","i18nKey","values","Footer","Button","disabled","label","loading","onClick"],"mappings":"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"}
1
+ {"version":3,"file":"TimezoneMismatchModal.js","sources":["../src/components/TimezoneMismatchModal/apis/time_zone.js","../src/components/TimezoneMismatchModal/useTimeZoneApi.js","../src/components/TimezoneMismatchModal/utils.js","../src/components/TimezoneMismatchModal/index.jsx"],"sourcesContent":["import axios from \"axios\";\n\nconst timeZoneUrl = \"api/v1/time_zone\";\n\nconst updateTimeZone = payload => axios.patch(timeZoneUrl, payload);\n\nconst timeZoneApi = { updateTimeZone };\n\nexport default timeZoneApi;\n","import { useMutation } from \"@tanstack/react-query\";\n\nimport timeZoneApi from \"./apis/time_zone\";\n\nconst useUpdateTimeZone = () =>\n useMutation({\n mutationFn: timeZoneApi.updateTimeZone,\n onSuccess: () => window.location.reload(),\n });\n\nexport { useUpdateTimeZone };\n","import dayjs from \"dayjs\";\nimport { globalProps } from \"neetocommons/initializers\";\n\nexport const getBrowserTimeZone = () => dayjs.tz.guess();\n\nexport const getUserTimeZone = () => globalProps.user?.timeZone;\n\nexport const checkIfTwoTimeZonesAreSame = (timeZone1, timeZone2) =>\n // eslint-disable-next-line @bigbinary/neeto/use-standard-date-time-formats\n dayjs().tz(timeZone1).format(\"Z\") === dayjs().tz(timeZone2).format(\"Z\");\n","/* eslint-disable @bigbinary/neeto/use-webpack-alias */\nimport { useEffect, useState } from \"react\";\n\nimport { noop } from \"@bigbinary/neeto-cist\";\nimport { Button, Modal, Typography } from \"@bigbinary/neetoui\";\nimport PropTypes from \"prop-types\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { useUpdateTimeZone } from \"./useTimeZoneApi\";\nimport {\n checkIfTwoTimeZonesAreSame,\n getBrowserTimeZone,\n getUserTimeZone,\n} from \"./utils\";\n\nconst TimezoneMismatchModal = ({ isOpen = false, onClose = noop }) => {\n const { t } = useTranslation();\n const [isTimezoneModalOpen, setIsTimezoneModalOpen] = useState(false);\n const { isPending, mutate: updateTimeZone } = useUpdateTimeZone();\n const isUserAndBrowserTimeZoneSame = checkIfTwoTimeZonesAreSame(\n getUserTimeZone(),\n getBrowserTimeZone()\n );\n\n const handleUpdateTimeZone = () => {\n const payload = { timeZone: getBrowserTimeZone() };\n\n updateTimeZone(payload, {\n onSuccess: () => {\n setIsTimezoneModalOpen(false);\n onClose();\n },\n });\n };\n\n const handleCancel = () => {\n setIsTimezoneModalOpen(false);\n onClose();\n };\n\n useEffect(() => {\n if (!(process.env.RAILS_ENV !== \"heroku\")) return;\n setIsTimezoneModalOpen(!isUserAndBrowserTimeZoneSame);\n }, []);\n\n return (\n <Modal\n closeOnOutsideClick={false}\n isOpen={isTimezoneModalOpen || isOpen}\n size=\"large\"\n onClose={handleCancel}\n >\n <Modal.Header>\n <Typography style=\"h2\" weight=\"normal\">\n {t(\"neetoMolecules.alert.timezone.title\")}\n </Typography>\n </Modal.Header>\n <Modal.Body>\n <span className=\"flex flex-col space-y-4\">\n <Typography component=\"span\" style=\"body2\">\n {t(\"neetoMolecules.alert.timezone.message\", {\n entity: globalProps.appName,\n })}\n </Typography>\n <Typography component=\"span\" style=\"h4\">\n <Trans\n i18nKey=\"neetoMolecules.alert.timezone.userTimezone\"\n values={{ entity: getUserTimeZone() }}\n />\n </Typography>\n <Typography component=\"span\" style=\"h4\">\n <Trans\n i18nKey=\"neetoMolecules.alert.timezone.browserTimezone\"\n values={{ entity: getBrowserTimeZone() }}\n />\n </Typography>\n </span>\n </Modal.Body>\n <Modal.Footer className=\"space-x-2\">\n <Button\n data-testid=\"update-timezone-button\"\n disabled={isPending}\n label={t(\"neetoMolecules.alert.timezone.updateProfile\")}\n loading={isPending}\n style=\"primary\"\n onClick={handleUpdateTimeZone}\n />\n <Button\n label={t(\"neetoMolecules.common.actions.cancel\")}\n style=\"text\"\n onClick={handleCancel}\n />\n </Modal.Footer>\n </Modal>\n );\n};\n\nTimezoneMismatchModal.propTypes = {\n /**\n * Boolean value to toggle the modal.\n */\n isOpen: PropTypes.bool,\n /**\n * The function that's called after the modal is closed.\n */\n onClose: PropTypes.func,\n};\n\nexport default TimezoneMismatchModal;\n"],"names":["timeZoneUrl","updateTimeZone","payload","axios","patch","timeZoneApi","useUpdateTimeZone","useMutation","mutationFn","onSuccess","window","location","reload","getBrowserTimeZone","dayjs","tz","guess","getUserTimeZone","_globalProps$user","globalProps","user","timeZone","checkIfTwoTimeZonesAreSame","timeZone1","timeZone2","format","TimezoneMismatchModal","_ref","_ref$isOpen","isOpen","_ref$onClose","onClose","noop","_useTranslation","useTranslation","t","_useState","useState","_useState2","_slicedToArray","isTimezoneModalOpen","setIsTimezoneModalOpen","_useUpdateTimeZone","isPending","mutate","isUserAndBrowserTimeZoneSame","handleUpdateTimeZone","handleCancel","useEffect","process","env","RAILS_ENV","_jsxs","Modal","closeOnOutsideClick","size","children","_jsx","Header","Typography","style","weight","Body","className","component","entity","appName","Trans","i18nKey","values","Footer","Button","disabled","label","loading","onClick"],"mappings":"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"}
@@ -8,10 +8,8 @@ var dayGridPlugin = require('@fullcalendar/daygrid');
8
8
  var interactionPlugin = require('@fullcalendar/interaction');
9
9
  var FullCalendar = require('@fullcalendar/react');
10
10
  var timeGridPlugin = require('@fullcalendar/timegrid');
11
- var dayjs = require('dayjs');
12
- var isSameOrAfter = require('dayjs/plugin/isSameOrAfter');
13
- var isSameOrBefore = require('dayjs/plugin/isSameOrBefore');
14
11
  var neetoCist = require('@bigbinary/neeto-cist');
12
+ var utils = require('@bigbinary/neeto-commons-frontend/utils');
15
13
  var Typography = require('@bigbinary/neetoui/Typography');
16
14
  var ramda = require('ramda');
17
15
  var reactI18next = require('react-i18next');
@@ -49,9 +47,6 @@ var dayGridPlugin__default = /*#__PURE__*/_interopDefaultLegacy(dayGridPlugin);
49
47
  var interactionPlugin__default = /*#__PURE__*/_interopDefaultLegacy(interactionPlugin);
50
48
  var FullCalendar__default = /*#__PURE__*/_interopDefaultLegacy(FullCalendar);
51
49
  var timeGridPlugin__default = /*#__PURE__*/_interopDefaultLegacy(timeGridPlugin);
52
- var dayjs__default = /*#__PURE__*/_interopDefaultLegacy(dayjs);
53
- var isSameOrAfter__default = /*#__PURE__*/_interopDefaultLegacy(isSameOrAfter);
54
- var isSameOrBefore__default = /*#__PURE__*/_interopDefaultLegacy(isSameOrBefore);
55
50
  var Typography__default = /*#__PURE__*/_interopDefaultLegacy(Typography);
56
51
  var Dropdown__default = /*#__PURE__*/_interopDefaultLegacy(Dropdown);
57
52
  var Down__default = /*#__PURE__*/_interopDefaultLegacy(Down);
@@ -88,10 +83,10 @@ var getWeekString = function getWeekString(_ref) {
88
83
  return "".concat(showMonth || isStartOfWeek ? date.format("MMM") : "", " ").concat(date.date(), " ").concat(showYear || !isStartOfWeek ? date.format("YYYY") : "");
89
84
  };
90
85
  var getStartOfWeek = function getStartOfWeek(date) {
91
- return dayjs__default["default"](date).startOf("week");
86
+ return utils.dayjs(date).startOf("week");
92
87
  };
93
88
  var getEndOfWeek = function getEndOfWeek(date) {
94
- return dayjs__default["default"](date).endOf("week");
89
+ return utils.dayjs(date).endOf("week");
95
90
  };
96
91
  var getFormattedMonthStr = function getFormattedMonthStr(date) {
97
92
  return date.format("MMM YYYY");
@@ -145,8 +140,8 @@ var CustomDatePicker = function CustomDatePicker(_ref) {
145
140
  var selectedRangeStr = getFormattedRangeStr(selectedDate, picker);
146
141
  var start = validDates.start,
147
142
  end = validDates.end;
148
- var isDateLessThanStart = start && selectedDate.isSameOrBefore(dayjs__default["default"](start), picker);
149
- var isDateGreaterThanEnd = end && selectedDate.isSameOrAfter(dayjs__default["default"](end), picker);
143
+ var isDateLessThanStart = start && selectedDate.isSameOrBefore(utils.dayjs(start), picker);
144
+ var isDateGreaterThanEnd = end && selectedDate.isSameOrAfter(utils.dayjs(end), picker);
150
145
  var onPrevious = function onPrevious() {
151
146
  return setSelectedDate(function (selectedDate) {
152
147
  return selectedDate.subtract(1, picker);
@@ -158,7 +153,7 @@ var CustomDatePicker = function CustomDatePicker(_ref) {
158
153
  });
159
154
  };
160
155
  var onToday = function onToday() {
161
- return setSelectedDate(dayjs__default["default"]());
156
+ return setSelectedDate(utils.dayjs());
162
157
  };
163
158
  var getDisabledDates = function getDisabledDates(date) {
164
159
  if (!date) return false;
@@ -278,8 +273,6 @@ var Header = function Header(_ref) {
278
273
  var _excluded = ["viewOptions", "events", "handleDateClick", "handleEventClick", "eventClassNames", "dayCellClassNames", "validDates", "onDateChange", "dayMaxEvents", "eventMaxStack"];
279
274
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
280
275
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
281
- dayjs__default["default"].extend(isSameOrAfter__default["default"]);
282
- dayjs__default["default"].extend(isSameOrBefore__default["default"]);
283
276
  var CalendarView = function CalendarView(_ref) {
284
277
  var _ref$viewOptions = _ref.viewOptions,
285
278
  viewOptions = _ref$viewOptions === void 0 ? VIEW_OPTIONS : _ref$viewOptions,
@@ -309,7 +302,7 @@ var CalendarView = function CalendarView(_ref) {
309
302
  _useState2 = _slicedToArray__default["default"](_useState, 2),
310
303
  selectedView = _useState2[0],
311
304
  setSelectedView = _useState2[1];
312
- var _useState3 = React.useState(dayjs__default["default"]()),
305
+ var _useState3 = React.useState(utils.dayjs()),
313
306
  _useState4 = _slicedToArray__default["default"](_useState3, 2),
314
307
  selectedDate = _useState4[0],
315
308
  setSelectedDate = _useState4[1];
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarView.js","sources":["../../src/components/CalendarView/constants.js","../../src/components/CalendarView/utils.js","../../src/components/CalendarView/CustomDatePicker.jsx","../../src/components/CalendarView/Header.jsx","../../src/components/CalendarView/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\n\nconst WEEKLY_VIEW = t(\"neetoMolecules.calendarView.weekly\");\nconst MONTHLY_VIEW = t(\"neetoMolecules.calendarView.monthly\");\nconst DAILY_VIEW = t(\"neetoMolecules.calendarView.daily\");\n\nexport const VIEW_OPTIONS = {\n [DAILY_VIEW]: {\n label: DAILY_VIEW,\n fullCalendarView: \"timeGridDay\",\n picker: \"day\",\n },\n [WEEKLY_VIEW]: {\n label: WEEKLY_VIEW,\n fullCalendarView: \"timeGridWeek\",\n picker: \"week\",\n },\n [MONTHLY_VIEW]: {\n label: MONTHLY_VIEW,\n fullCalendarView: \"dayGridMonth\",\n picker: \"month\",\n },\n};\n","import dayjs from \"dayjs\";\n\nconst getWeekString = ({\n date,\n isStartOfWeek = true,\n showMonth = false,\n showYear = false,\n}) =>\n `${showMonth || isStartOfWeek ? date.format(\"MMM\") : \"\"} ${date.date()} ${\n showYear || !isStartOfWeek ? date.format(\"YYYY\") : \"\"\n }`;\n\nexport const getStartOfWeek = date => dayjs(date).startOf(\"week\");\n\nexport const getEndOfWeek = date => dayjs(date).endOf(\"week\");\n\nexport const getFormattedMonthStr = date => date.format(\"MMM YYYY\");\n\nexport const getFormattedWeekRangeStr = date => {\n const startOfWeek = getStartOfWeek(date);\n const endOfWeek = getEndOfWeek(date);\n\n const shouldShowMonthsSeparately = startOfWeek.month() !== endOfWeek.month();\n const shouldShowYearsSeparately = startOfWeek.year() !== endOfWeek.year();\n\n const startOfWeekStr = getWeekString({\n date: startOfWeek,\n showMonth: shouldShowMonthsSeparately,\n showYear: shouldShowYearsSeparately,\n });\n\n const endOfWeekStr = getWeekString({\n date: endOfWeek,\n isStartOfWeek: false,\n showMonth: shouldShowMonthsSeparately,\n showYear: shouldShowYearsSeparately,\n });\n\n return `${startOfWeekStr} - ${endOfWeekStr}`;\n};\n\nexport const getFormattedDayStr = date => date.format(\"DD MMM YYYY\");\n\nexport const getFormattedRangeStr = (date, picker) => {\n const formatFunctions = {\n month: getFormattedMonthStr,\n week: getFormattedWeekRangeStr,\n day: getFormattedDayStr,\n };\n const selectedFormatter = formatFunctions[picker];\n\n return selectedFormatter(date);\n};\n","import { useRef, useState } from \"react\";\n\nimport dayjs from \"dayjs\";\nimport { Down, Left, Right } from \"neetoicons\";\nimport { Typography, Button, DatePicker } from \"neetoui\";\n\nimport { getFormattedRangeStr } from \"./utils\";\n\nconst CustomDatePicker = ({\n selectedDate,\n setSelectedDate,\n picker,\n validDates,\n ...otherProps\n}) => {\n const [isOpen, setIsOpen] = useState(false);\n\n const datePickerRef = useRef(null);\n const buttonRef = useRef(null);\n\n const selectedRangeStr = getFormattedRangeStr(selectedDate, picker);\n\n const { start, end } = validDates;\n\n const isDateLessThanStart =\n start && selectedDate.isSameOrBefore(dayjs(start), picker);\n\n const isDateGreaterThanEnd =\n end && selectedDate.isSameOrAfter(dayjs(end), picker);\n\n const onPrevious = () =>\n setSelectedDate(selectedDate => selectedDate.subtract(1, picker));\n\n const onNext = () =>\n setSelectedDate(selectedDate => selectedDate.add(1, picker));\n\n const onToday = () => setSelectedDate(dayjs());\n\n const getDisabledDates = date => {\n if (!date) return false;\n\n return (start && date <= start) || (end && date >= end);\n };\n\n const handleButtonMouseDown = e => {\n if (!(buttonRef.current && buttonRef.current.contains(e.target))) return;\n e.stopPropagation();\n if (isOpen) datePickerRef.current.focus();\n };\n\n return (\n <div className=\"flex items-center justify-start space-x-4\">\n <Button\n data-cy=\"neeto-molecules-calendar-view-today-button\"\n label=\"Today\"\n style=\"secondary\"\n onClick={onToday}\n />\n <div className=\"flex\">\n <Button\n className=\"mr-1\"\n data-cy=\"neeto-molecules-calendar-view-previous-button\"\n disabled={isDateLessThanStart}\n icon={Left}\n style=\"text\"\n onClick={onPrevious}\n />\n <Button\n data-cy=\"neeto-molecules-calendar-view-date-picker-button\"\n icon={Down}\n ref={buttonRef}\n style=\"text\"\n onClick={() => setIsOpen(isOpen => !isOpen)}\n onMouseDown={handleButtonMouseDown}\n >\n <Typography\n data-cy=\"neeto-molecules-calendar-view-date-picker-button-label\"\n style=\"h5\"\n >\n {selectedRangeStr}\n </Typography>\n </Button>\n <DatePicker\n className=\"invisible w-0 px-0\"\n defaultValue={selectedDate}\n disabledDate={getDisabledDates}\n open={isOpen}\n placement=\"topRight\"\n ref={datePickerRef}\n value={selectedDate}\n onChange={setSelectedDate}\n onOpenChange={setIsOpen}\n {...{ picker, ...otherProps }}\n />\n <Button\n className=\"ml-1\"\n data-cy=\"neeto-molecules-calendar-view-next-button\"\n disabled={isDateGreaterThanEnd}\n icon={Right}\n style=\"text\"\n onClick={onNext}\n />\n </div>\n </div>\n );\n};\n\nexport default CustomDatePicker;\n","import { useEffect } from \"react\";\n\nimport { capitalize } from \"neetocist\";\nimport { Dropdown } from \"neetoui\";\nimport { prop, values } from \"ramda\";\n\nimport CustomDatePicker from \"./CustomDatePicker\";\n\nconst Header = ({\n calendarRef,\n selectedView,\n setSelectedView,\n setSelectedDate,\n selectedDate,\n calendarViewOptions,\n validDates,\n}) => {\n const { Menu, MenuItem } = Dropdown;\n\n const handleViewSelection = option => {\n setSelectedView(option);\n calendarRef.current.calendar.changeView(option.fullCalendarView);\n };\n\n const navigateToSelectedDate = () =>\n calendarRef?.current?.calendar?.gotoDate(selectedDate.format(\"YYYY-MM-DD\"));\n\n useEffect(() => {\n setTimeout(navigateToSelectedDate);\n }, [selectedDate]);\n\n return (\n <div className=\"flex space-x-4\">\n <CustomDatePicker\n {...{ selectedDate, setSelectedDate, validDates }}\n getPopupContainer={prop(\"parentNode\")}\n picker={selectedView.picker}\n />\n {Object.keys(calendarViewOptions).length > 1 && (\n <Dropdown\n buttonProps={{ \"data-testid\": \"calendar-view-dropdown\" }}\n buttonStyle=\"secondary\"\n label={capitalize(selectedView.label)}\n >\n <Menu>\n {values(calendarViewOptions).map((option, idx) => (\n <MenuItem.Button\n isActive={selectedView === option}\n key={idx}\n onClick={() => handleViewSelection(option)}\n >\n {capitalize(option.label)}\n </MenuItem.Button>\n ))}\n </Menu>\n </Dropdown>\n )}\n </div>\n );\n};\n\nexport default Header;\n","import { useRef, useState } from \"react\";\n\nimport dayGridPlugin from \"@fullcalendar/daygrid\";\nimport interactionPlugin from \"@fullcalendar/interaction\";\nimport FullCalendar from \"@fullcalendar/react\";\nimport timeGridPlugin from \"@fullcalendar/timegrid\";\nimport dayjs from \"dayjs\";\nimport isSameOrAfter from \"dayjs/plugin/isSameOrAfter\";\nimport isSameOrBefore from \"dayjs/plugin/isSameOrBefore\";\nimport { noop } from \"neetocist\";\nimport { Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport SubHeader from \"components/SubHeader\";\n\nimport { VIEW_OPTIONS } from \"./constants\";\nimport Header from \"./Header\";\n\ndayjs.extend(isSameOrAfter);\ndayjs.extend(isSameOrBefore);\n\nconst CalendarView = ({\n viewOptions = VIEW_OPTIONS,\n events = [],\n handleDateClick = noop,\n handleEventClick = noop,\n eventClassNames = \"\",\n dayCellClassNames = \"\",\n validDates = { start: null, end: null },\n onDateChange = noop,\n dayMaxEvents,\n eventMaxStack,\n ...otherProps\n}) => {\n const calendarViewOptions = viewOptions || VIEW_OPTIONS;\n\n const defaultView =\n Object.values(calendarViewOptions).find(prop(\"default\")) ||\n calendarViewOptions[Object.keys(calendarViewOptions)[0]];\n\n const [selectedView, setSelectedView] = useState(defaultView);\n\n const [selectedDate, setSelectedDate] = useState(dayjs());\n\n const { t } = useTranslation();\n\n const handleDateChange = date => {\n setSelectedDate(prevDate => {\n const newDate = typeof date === \"function\" ? date(prevDate) : date;\n onDateChange(newDate);\n\n return newDate;\n });\n };\n\n const calendarRef = useRef();\n\n return (\n <div className=\"flex-col\" data-testid=\"calendar-view\">\n <SubHeader\n leftActionBlock={\n <Typography style=\"h2\">\n {selectedDate.format(\"MMMM, YYYY\")}\n </Typography>\n }\n rightActionBlock={\n <Header\n {...{\n calendarRef,\n calendarViewOptions,\n selectedDate,\n selectedView,\n setSelectedDate,\n setSelectedView,\n validDates,\n }}\n setSelectedDate={handleDateChange}\n />\n }\n />\n <FullCalendar\n expandRows\n allDayText={t(\"neetoMolecules.calendarView.allDay\")}\n dateClick={handleDateClick}\n dayHeaderClassNames=\"p-2\"\n displayEventTime={false}\n eventClick={handleEventClick}\n headerToolbar={false}\n height=\"auto\"\n initialView={selectedView.fullCalendarView}\n plugins={[dayGridPlugin, timeGridPlugin, interactionPlugin]}\n ref={calendarRef}\n {...{\n dayCellClassNames,\n dayMaxEvents,\n eventClassNames,\n eventMaxStack,\n events,\n ...otherProps,\n }}\n />\n </div>\n );\n};\n\nCalendarView.propTypes = {\n /**\n * Views to be listed in the dropdown. The default selected view can be set by adding `default: true` to the required view.\n */\n viewOptions: PropTypes.object,\n /**\n * An array of event objects that will be displayed on the calendar.\n */\n events: PropTypes.array,\n /**\n * Function to be triggered when the user clicks on a date or a time.\n */\n handleDateClick: PropTypes.func,\n /**\n * Function to be triggered when the user clicks an event.\n */\n handleEventClick: PropTypes.func,\n /**\n * A className input for adding classNames to the outermost event element.\n */\n eventClassNames: PropTypes.string,\n /**\n * A className input for adding classNames to the <td> cell.\n */\n dayCellClassNames: PropTypes.string,\n /**\n * In dayGrid view, the max number of events within a given day, not counting the +more link.\n */\n dayMaxEvents: PropTypes.number,\n /**\n * For timeline view, the maximum number of events that stack top-to-bottom. For timeGrid view, the maximum number of events that stack left-to-right.\n */\n eventMaxStack: PropTypes.number,\n /**\n * This function will be triggered with the new selected date passed as argument\n */\n onDateChange: PropTypes.func,\n /**\n * An object containing the start and end dates in which the range given is the valid range of selectable dates.\n */\n validDates: PropTypes.shape({\n start: PropTypes.instanceOf(Date),\n end: PropTypes.instanceOf(Date),\n }),\n};\n\nexport default CalendarView;\n"],"names":["WEEKLY_VIEW","t","MONTHLY_VIEW","DAILY_VIEW","VIEW_OPTIONS","_defineProperty","label","fullCalendarView","picker","getWeekString","_ref","date","_ref$isStartOfWeek","isStartOfWeek","_ref$showMonth","showMonth","_ref$showYear","showYear","concat","format","getStartOfWeek","dayjs","startOf","getEndOfWeek","endOf","getFormattedMonthStr","getFormattedWeekRangeStr","startOfWeek","endOfWeek","shouldShowMonthsSeparately","month","shouldShowYearsSeparately","year","startOfWeekStr","endOfWeekStr","getFormattedDayStr","getFormattedRangeStr","formatFunctions","week","day","selectedFormatter","CustomDatePicker","selectedDate","setSelectedDate","validDates","otherProps","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","isOpen","setIsOpen","datePickerRef","useRef","buttonRef","selectedRangeStr","start","end","isDateLessThanStart","isSameOrBefore","isDateGreaterThanEnd","isSameOrAfter","onPrevious","subtract","onNext","add","onToday","getDisabledDates","handleButtonMouseDown","e","current","contains","target","stopPropagation","focus","_jsxs","className","children","_jsx","Button","style","onClick","disabled","icon","Left","Down","ref","onMouseDown","Typography","DatePicker","_objectSpread","defaultValue","disabledDate","open","placement","value","onChange","onOpenChange","Right","Header","calendarRef","selectedView","setSelectedView","calendarViewOptions","Menu","Dropdown","MenuItem","handleViewSelection","option","calendar","changeView","navigateToSelectedDate","_calendarRef$current","_calendarRef$current$","gotoDate","useEffect","setTimeout","getPopupContainer","prop","Object","keys","length","buttonProps","buttonStyle","capitalize","values","map","idx","isActive","extend","CalendarView","_ref$viewOptions","viewOptions","_ref$events","events","_ref$handleDateClick","handleDateClick","noop","_ref$handleEventClick","handleEventClick","_ref$eventClassNames","eventClassNames","_ref$dayCellClassName","dayCellClassNames","_ref$validDates","_ref$onDateChange","onDateChange","dayMaxEvents","eventMaxStack","defaultView","find","_useState3","_useState4","_useTranslation","useTranslation","handleDateChange","prevDate","newDate","SubHeader","leftActionBlock","rightActionBlock","FullCalendar","expandRows","allDayText","dateClick","dayHeaderClassNames","displayEventTime","eventClick","headerToolbar","height","initialView","plugins","dayGridPlugin","timeGridPlugin","interactionPlugin"],"mappings":"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"}
1
+ {"version":3,"file":"CalendarView.js","sources":["../../src/components/CalendarView/constants.js","../../src/components/CalendarView/utils.js","../../src/components/CalendarView/CustomDatePicker.jsx","../../src/components/CalendarView/Header.jsx","../../src/components/CalendarView/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\n\nconst WEEKLY_VIEW = t(\"neetoMolecules.calendarView.weekly\");\nconst MONTHLY_VIEW = t(\"neetoMolecules.calendarView.monthly\");\nconst DAILY_VIEW = t(\"neetoMolecules.calendarView.daily\");\n\nexport const VIEW_OPTIONS = {\n [DAILY_VIEW]: {\n label: DAILY_VIEW,\n fullCalendarView: \"timeGridDay\",\n picker: \"day\",\n },\n [WEEKLY_VIEW]: {\n label: WEEKLY_VIEW,\n fullCalendarView: \"timeGridWeek\",\n picker: \"week\",\n },\n [MONTHLY_VIEW]: {\n label: MONTHLY_VIEW,\n fullCalendarView: \"dayGridMonth\",\n picker: \"month\",\n },\n};\n","import { dayjs } from \"neetocommons/utils\";\n\nconst getWeekString = ({\n date,\n isStartOfWeek = true,\n showMonth = false,\n showYear = false,\n}) =>\n `${showMonth || isStartOfWeek ? date.format(\"MMM\") : \"\"} ${date.date()} ${\n showYear || !isStartOfWeek ? date.format(\"YYYY\") : \"\"\n }`;\n\nexport const getStartOfWeek = date => dayjs(date).startOf(\"week\");\n\nexport const getEndOfWeek = date => dayjs(date).endOf(\"week\");\n\nexport const getFormattedMonthStr = date => date.format(\"MMM YYYY\");\n\nexport const getFormattedWeekRangeStr = date => {\n const startOfWeek = getStartOfWeek(date);\n const endOfWeek = getEndOfWeek(date);\n\n const shouldShowMonthsSeparately = startOfWeek.month() !== endOfWeek.month();\n const shouldShowYearsSeparately = startOfWeek.year() !== endOfWeek.year();\n\n const startOfWeekStr = getWeekString({\n date: startOfWeek,\n showMonth: shouldShowMonthsSeparately,\n showYear: shouldShowYearsSeparately,\n });\n\n const endOfWeekStr = getWeekString({\n date: endOfWeek,\n isStartOfWeek: false,\n showMonth: shouldShowMonthsSeparately,\n showYear: shouldShowYearsSeparately,\n });\n\n return `${startOfWeekStr} - ${endOfWeekStr}`;\n};\n\nexport const getFormattedDayStr = date => date.format(\"DD MMM YYYY\");\n\nexport const getFormattedRangeStr = (date, picker) => {\n const formatFunctions = {\n month: getFormattedMonthStr,\n week: getFormattedWeekRangeStr,\n day: getFormattedDayStr,\n };\n const selectedFormatter = formatFunctions[picker];\n\n return selectedFormatter(date);\n};\n","import { useRef, useState } from \"react\";\n\nimport { dayjs } from \"neetocommons/utils\";\nimport { Down, Left, Right } from \"neetoicons\";\nimport { Typography, Button, DatePicker } from \"neetoui\";\n\nimport { getFormattedRangeStr } from \"./utils\";\n\nconst CustomDatePicker = ({\n selectedDate,\n setSelectedDate,\n picker,\n validDates,\n ...otherProps\n}) => {\n const [isOpen, setIsOpen] = useState(false);\n\n const datePickerRef = useRef(null);\n const buttonRef = useRef(null);\n\n const selectedRangeStr = getFormattedRangeStr(selectedDate, picker);\n\n const { start, end } = validDates;\n\n const isDateLessThanStart =\n start && selectedDate.isSameOrBefore(dayjs(start), picker);\n\n const isDateGreaterThanEnd =\n end && selectedDate.isSameOrAfter(dayjs(end), picker);\n\n const onPrevious = () =>\n setSelectedDate(selectedDate => selectedDate.subtract(1, picker));\n\n const onNext = () =>\n setSelectedDate(selectedDate => selectedDate.add(1, picker));\n\n const onToday = () => setSelectedDate(dayjs());\n\n const getDisabledDates = date => {\n if (!date) return false;\n\n return (start && date <= start) || (end && date >= end);\n };\n\n const handleButtonMouseDown = e => {\n if (!(buttonRef.current && buttonRef.current.contains(e.target))) return;\n e.stopPropagation();\n if (isOpen) datePickerRef.current.focus();\n };\n\n return (\n <div className=\"flex items-center justify-start space-x-4\">\n <Button\n data-cy=\"neeto-molecules-calendar-view-today-button\"\n label=\"Today\"\n style=\"secondary\"\n onClick={onToday}\n />\n <div className=\"flex\">\n <Button\n className=\"mr-1\"\n data-cy=\"neeto-molecules-calendar-view-previous-button\"\n disabled={isDateLessThanStart}\n icon={Left}\n style=\"text\"\n onClick={onPrevious}\n />\n <Button\n data-cy=\"neeto-molecules-calendar-view-date-picker-button\"\n icon={Down}\n ref={buttonRef}\n style=\"text\"\n onClick={() => setIsOpen(isOpen => !isOpen)}\n onMouseDown={handleButtonMouseDown}\n >\n <Typography\n data-cy=\"neeto-molecules-calendar-view-date-picker-button-label\"\n style=\"h5\"\n >\n {selectedRangeStr}\n </Typography>\n </Button>\n <DatePicker\n className=\"invisible w-0 px-0\"\n defaultValue={selectedDate}\n disabledDate={getDisabledDates}\n open={isOpen}\n placement=\"topRight\"\n ref={datePickerRef}\n value={selectedDate}\n onChange={setSelectedDate}\n onOpenChange={setIsOpen}\n {...{ picker, ...otherProps }}\n />\n <Button\n className=\"ml-1\"\n data-cy=\"neeto-molecules-calendar-view-next-button\"\n disabled={isDateGreaterThanEnd}\n icon={Right}\n style=\"text\"\n onClick={onNext}\n />\n </div>\n </div>\n );\n};\n\nexport default CustomDatePicker;\n","import { useEffect } from \"react\";\n\nimport { capitalize } from \"neetocist\";\nimport { Dropdown } from \"neetoui\";\nimport { prop, values } from \"ramda\";\n\nimport CustomDatePicker from \"./CustomDatePicker\";\n\nconst Header = ({\n calendarRef,\n selectedView,\n setSelectedView,\n setSelectedDate,\n selectedDate,\n calendarViewOptions,\n validDates,\n}) => {\n const { Menu, MenuItem } = Dropdown;\n\n const handleViewSelection = option => {\n setSelectedView(option);\n calendarRef.current.calendar.changeView(option.fullCalendarView);\n };\n\n const navigateToSelectedDate = () =>\n calendarRef?.current?.calendar?.gotoDate(selectedDate.format(\"YYYY-MM-DD\"));\n\n useEffect(() => {\n setTimeout(navigateToSelectedDate);\n }, [selectedDate]);\n\n return (\n <div className=\"flex space-x-4\">\n <CustomDatePicker\n {...{ selectedDate, setSelectedDate, validDates }}\n getPopupContainer={prop(\"parentNode\")}\n picker={selectedView.picker}\n />\n {Object.keys(calendarViewOptions).length > 1 && (\n <Dropdown\n buttonProps={{ \"data-testid\": \"calendar-view-dropdown\" }}\n buttonStyle=\"secondary\"\n label={capitalize(selectedView.label)}\n >\n <Menu>\n {values(calendarViewOptions).map((option, idx) => (\n <MenuItem.Button\n isActive={selectedView === option}\n key={idx}\n onClick={() => handleViewSelection(option)}\n >\n {capitalize(option.label)}\n </MenuItem.Button>\n ))}\n </Menu>\n </Dropdown>\n )}\n </div>\n );\n};\n\nexport default Header;\n","import { useRef, useState } from \"react\";\n\nimport dayGridPlugin from \"@fullcalendar/daygrid\";\nimport interactionPlugin from \"@fullcalendar/interaction\";\nimport FullCalendar from \"@fullcalendar/react\";\nimport timeGridPlugin from \"@fullcalendar/timegrid\";\nimport { noop } from \"neetocist\";\nimport { dayjs } from \"neetocommons/utils\";\nimport { Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport SubHeader from \"components/SubHeader\";\n\nimport { VIEW_OPTIONS } from \"./constants\";\nimport Header from \"./Header\";\n\nconst CalendarView = ({\n viewOptions = VIEW_OPTIONS,\n events = [],\n handleDateClick = noop,\n handleEventClick = noop,\n eventClassNames = \"\",\n dayCellClassNames = \"\",\n validDates = { start: null, end: null },\n onDateChange = noop,\n dayMaxEvents,\n eventMaxStack,\n ...otherProps\n}) => {\n const calendarViewOptions = viewOptions || VIEW_OPTIONS;\n\n const defaultView =\n Object.values(calendarViewOptions).find(prop(\"default\")) ||\n calendarViewOptions[Object.keys(calendarViewOptions)[0]];\n\n const [selectedView, setSelectedView] = useState(defaultView);\n\n const [selectedDate, setSelectedDate] = useState(dayjs());\n\n const { t } = useTranslation();\n\n const handleDateChange = date => {\n setSelectedDate(prevDate => {\n const newDate = typeof date === \"function\" ? date(prevDate) : date;\n onDateChange(newDate);\n\n return newDate;\n });\n };\n\n const calendarRef = useRef();\n\n return (\n <div className=\"flex-col\" data-testid=\"calendar-view\">\n <SubHeader\n leftActionBlock={\n <Typography style=\"h2\">\n {selectedDate.format(\"MMMM, YYYY\")}\n </Typography>\n }\n rightActionBlock={\n <Header\n {...{\n calendarRef,\n calendarViewOptions,\n selectedDate,\n selectedView,\n setSelectedDate,\n setSelectedView,\n validDates,\n }}\n setSelectedDate={handleDateChange}\n />\n }\n />\n <FullCalendar\n expandRows\n allDayText={t(\"neetoMolecules.calendarView.allDay\")}\n dateClick={handleDateClick}\n dayHeaderClassNames=\"p-2\"\n displayEventTime={false}\n eventClick={handleEventClick}\n headerToolbar={false}\n height=\"auto\"\n initialView={selectedView.fullCalendarView}\n plugins={[dayGridPlugin, timeGridPlugin, interactionPlugin]}\n ref={calendarRef}\n {...{\n dayCellClassNames,\n dayMaxEvents,\n eventClassNames,\n eventMaxStack,\n events,\n ...otherProps,\n }}\n />\n </div>\n );\n};\n\nCalendarView.propTypes = {\n /**\n * Views to be listed in the dropdown. The default selected view can be set by adding `default: true` to the required view.\n */\n viewOptions: PropTypes.object,\n /**\n * An array of event objects that will be displayed on the calendar.\n */\n events: PropTypes.array,\n /**\n * Function to be triggered when the user clicks on a date or a time.\n */\n handleDateClick: PropTypes.func,\n /**\n * Function to be triggered when the user clicks an event.\n */\n handleEventClick: PropTypes.func,\n /**\n * A className input for adding classNames to the outermost event element.\n */\n eventClassNames: PropTypes.string,\n /**\n * A className input for adding classNames to the <td> cell.\n */\n dayCellClassNames: PropTypes.string,\n /**\n * In dayGrid view, the max number of events within a given day, not counting the +more link.\n */\n dayMaxEvents: PropTypes.number,\n /**\n * For timeline view, the maximum number of events that stack top-to-bottom. For timeGrid view, the maximum number of events that stack left-to-right.\n */\n eventMaxStack: PropTypes.number,\n /**\n * This function will be triggered with the new selected date passed as argument\n */\n onDateChange: PropTypes.func,\n /**\n * An object containing the start and end dates in which the range given is the valid range of selectable dates.\n */\n validDates: PropTypes.shape({\n start: PropTypes.instanceOf(Date),\n end: PropTypes.instanceOf(Date),\n }),\n};\n\nexport default CalendarView;\n"],"names":["WEEKLY_VIEW","t","MONTHLY_VIEW","DAILY_VIEW","VIEW_OPTIONS","_defineProperty","label","fullCalendarView","picker","getWeekString","_ref","date","_ref$isStartOfWeek","isStartOfWeek","_ref$showMonth","showMonth","_ref$showYear","showYear","concat","format","getStartOfWeek","dayjs","startOf","getEndOfWeek","endOf","getFormattedMonthStr","getFormattedWeekRangeStr","startOfWeek","endOfWeek","shouldShowMonthsSeparately","month","shouldShowYearsSeparately","year","startOfWeekStr","endOfWeekStr","getFormattedDayStr","getFormattedRangeStr","formatFunctions","week","day","selectedFormatter","CustomDatePicker","selectedDate","setSelectedDate","validDates","otherProps","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","isOpen","setIsOpen","datePickerRef","useRef","buttonRef","selectedRangeStr","start","end","isDateLessThanStart","isSameOrBefore","isDateGreaterThanEnd","isSameOrAfter","onPrevious","subtract","onNext","add","onToday","getDisabledDates","handleButtonMouseDown","e","current","contains","target","stopPropagation","focus","_jsxs","className","children","_jsx","Button","style","onClick","disabled","icon","Left","Down","ref","onMouseDown","Typography","DatePicker","_objectSpread","defaultValue","disabledDate","open","placement","value","onChange","onOpenChange","Right","Header","calendarRef","selectedView","setSelectedView","calendarViewOptions","Menu","Dropdown","MenuItem","handleViewSelection","option","calendar","changeView","navigateToSelectedDate","_calendarRef$current","_calendarRef$current$","gotoDate","useEffect","setTimeout","getPopupContainer","prop","Object","keys","length","buttonProps","buttonStyle","capitalize","values","map","idx","isActive","CalendarView","_ref$viewOptions","viewOptions","_ref$events","events","_ref$handleDateClick","handleDateClick","noop","_ref$handleEventClick","handleEventClick","_ref$eventClassNames","eventClassNames","_ref$dayCellClassName","dayCellClassNames","_ref$validDates","_ref$onDateChange","onDateChange","dayMaxEvents","eventMaxStack","defaultView","find","_useState3","_useState4","_useTranslation","useTranslation","handleDateChange","prevDate","newDate","SubHeader","leftActionBlock","rightActionBlock","FullCalendar","expandRows","allDayText","dateClick","dayHeaderClassNames","displayEventTime","eventClick","headerToolbar","height","initialView","plugins","dayGridPlugin","timeGridPlugin","interactionPlugin"],"mappings":"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"}
@@ -2,8 +2,8 @@
2
2
 
3
3
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
4
4
  var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
5
- var dayjs = require('dayjs');
6
5
  var initializers = require('@bigbinary/neeto-commons-frontend/initializers');
6
+ var utils = require('@bigbinary/neeto-commons-frontend/utils');
7
7
  var Select = require('@bigbinary/neetoui/Select');
8
8
  var DatePicker = require('@bigbinary/neetoui/DatePicker');
9
9
  var ramda = require('ramda');
@@ -14,31 +14,28 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
14
14
 
15
15
  var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
16
16
  var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
17
- var dayjs__default = /*#__PURE__*/_interopDefaultLegacy(dayjs);
18
17
  var Select__default = /*#__PURE__*/_interopDefaultLegacy(Select);
19
18
  var DatePicker__default = /*#__PURE__*/_interopDefaultLegacy(DatePicker);
20
19
 
21
- var quarterOfYear = require("dayjs/plugin/quarterOfYear");
22
- dayjs__default["default"].extend(quarterOfYear);
23
20
  var defaultTimePeriodOptions = function defaultTimePeriodOptions() {
24
- var today = dayjs__default["default"]().startOf("day");
21
+ var today = utils.dayjs().startOf("day");
25
22
  var startOfLastWeek = today.subtract(7, "day").startOf("week");
26
23
  var endOfLastWeek = today.subtract(7, "day").endOf("week");
27
24
  var lastMonthStart = today.subtract(1, "month").startOf("month");
28
25
  var lastMonthEnd = today.subtract(1, "month").endOf("month");
29
- var thisQuarterStart = dayjs__default["default"]().startOf("quarter");
30
- var thisQuarterEnd = dayjs__default["default"]().endOf("quarter");
31
- var lastQuarterStart = dayjs__default["default"]().subtract(1, "quarter").startOf("quarter");
32
- var lastQuarterEnd = dayjs__default["default"]().subtract(1, "quarter").endOf("quarter");
33
- var startOfLastYear = dayjs__default["default"]().subtract(1, "year").startOf("year");
34
- var endOfLastYear = dayjs__default["default"]().subtract(1, "year").endOf("year");
35
- var startOfYear = dayjs__default["default"]().startOf("year");
36
- var endOfYear = dayjs__default["default"]().endOf("year");
37
- var startOf24Hours = dayjs__default["default"]().subtract(24, "hour");
38
- var now = dayjs__default["default"]();
39
- var startOfLast7Days = dayjs__default["default"]().subtract(7, "day");
40
- var startOfWeek = dayjs__default["default"]().startOf("week");
41
- var startOfLast30Days = dayjs__default["default"]().subtract(30, "day");
26
+ var thisQuarterStart = utils.dayjs().startOf("quarter");
27
+ var thisQuarterEnd = utils.dayjs().endOf("quarter");
28
+ var lastQuarterStart = utils.dayjs().subtract(1, "quarter").startOf("quarter");
29
+ var lastQuarterEnd = utils.dayjs().subtract(1, "quarter").endOf("quarter");
30
+ var startOfLastYear = utils.dayjs().subtract(1, "year").startOf("year");
31
+ var endOfLastYear = utils.dayjs().subtract(1, "year").endOf("year");
32
+ var startOfYear = utils.dayjs().startOf("year");
33
+ var endOfYear = utils.dayjs().endOf("year");
34
+ var startOf24Hours = utils.dayjs().subtract(24, "hour");
35
+ var now = utils.dayjs();
36
+ var startOfLast7Days = utils.dayjs().subtract(7, "day");
37
+ var startOfWeek = utils.dayjs().startOf("week");
38
+ var startOfLast30Days = utils.dayjs().subtract(30, "day");
42
39
  var startOfMonth = today.startOf("month");
43
40
  return [{
44
41
  label: i18next.t("neetoMolecules.dateRangeFilter.timePeriodOptions.allTime"),
@@ -167,7 +164,7 @@ var DateRangeFilter = function DateRangeFilter(_ref) {
167
164
  dateFormat: requiredDateFormat,
168
165
  picker: "date",
169
166
  type: "range",
170
- defaultValue: [startDate ? dayjs__default["default"](startDate) : null, endDate ? dayjs__default["default"](endDate) : null],
167
+ defaultValue: [startDate ? utils.dayjs(startDate) : null, endDate ? utils.dayjs(endDate) : null],
171
168
  onChange: function onChange(_ref2) {
172
169
  var _ref3 = _slicedToArray__default["default"](_ref2, 2),
173
170
  startDate = _ref3[0],
@@ -1 +1 @@
1
- {"version":3,"file":"DateRangeFilter.js","sources":["../../src/components/DateRangeFilter/utils.js","../../src/components/DateRangeFilter/index.jsx"],"sourcesContent":["import dayjs from \"dayjs\";\nimport { t } from \"i18next\";\n\nconst quarterOfYear = require(\"dayjs/plugin/quarterOfYear\");\n\ndayjs.extend(quarterOfYear);\n\nexport const defaultTimePeriodOptions = () => {\n const today = dayjs().startOf(\"day\");\n const startOfLastWeek = today.subtract(7, \"day\").startOf(\"week\");\n\n const endOfLastWeek = today.subtract(7, \"day\").endOf(\"week\");\n const lastMonthStart = today.subtract(1, \"month\").startOf(\"month\");\n const lastMonthEnd = today.subtract(1, \"month\").endOf(\"month\");\n const thisQuarterStart = dayjs().startOf(\"quarter\");\n const thisQuarterEnd = dayjs().endOf(\"quarter\");\n const lastQuarterStart = dayjs().subtract(1, \"quarter\").startOf(\"quarter\");\n const lastQuarterEnd = dayjs().subtract(1, \"quarter\").endOf(\"quarter\");\n const startOfLastYear = dayjs().subtract(1, \"year\").startOf(\"year\");\n const endOfLastYear = dayjs().subtract(1, \"year\").endOf(\"year\");\n const startOfYear = dayjs().startOf(\"year\");\n const endOfYear = dayjs().endOf(\"year\");\n\n const startOf24Hours = dayjs().subtract(24, \"hour\");\n const now = dayjs();\n const startOfLast7Days = dayjs().subtract(7, \"day\");\n const startOfWeek = dayjs().startOf(\"week\");\n const startOfLast30Days = dayjs().subtract(30, \"day\");\n const startOfMonth = today.startOf(\"month\");\n\n return [\n {\n label: t(\"neetoMolecules.dateRangeFilter.timePeriodOptions.allTime\"),\n value: { startDate: null, endDate: null, rangeType: \"all\" },\n },\n {\n label: t(\"neetoMolecules.dateRangeFilter.timePeriodOptions.last24Hours\"),\n value: { startDate: startOf24Hours, endDate: now, rangeType: \"hours\" },\n },\n {\n label: t(\"neetoMolecules.dateRangeFilter.timePeriodOptions.last7Days\"),\n value: {\n startDate: startOfLast7Days,\n endDate: now,\n rangeType: \"days\",\n },\n },\n {\n label: t(\"neetoMolecules.dateRangeFilter.timePeriodOptions.thisWeek\"),\n value: { startDate: startOfWeek, endDate: now, rangeType: \"week\" },\n },\n {\n label: t(\"neetoMolecules.dateRangeFilter.timePeriodOptions.lastWeek\"),\n value: {\n startDate: startOfLastWeek,\n endDate: endOfLastWeek,\n rangeType: \"week\",\n },\n },\n {\n label: t(\"neetoMolecules.dateRangeFilter.timePeriodOptions.last30Days\"),\n value: {\n startDate: startOfLast30Days,\n endDate: now,\n rangeType: \"days\",\n },\n },\n {\n label: t(\"neetoMolecules.dateRangeFilter.timePeriodOptions.thisMonth\"),\n value: { startDate: startOfMonth, endDate: now, rangeType: \"month\" },\n },\n {\n label: t(\"neetoMolecules.dateRangeFilter.timePeriodOptions.lastMonth\"),\n value: {\n startDate: lastMonthStart,\n endDate: lastMonthEnd,\n rangeType: \"month\",\n },\n },\n {\n label: t(\"neetoMolecules.dateRangeFilter.timePeriodOptions.thisQuarter\"),\n value: {\n startDate: thisQuarterStart,\n endDate: thisQuarterEnd,\n rangeType: \"quarter\",\n },\n },\n {\n label: t(\"neetoMolecules.dateRangeFilter.timePeriodOptions.lastQuarter\"),\n value: {\n startDate: lastQuarterStart,\n endDate: lastQuarterEnd,\n rangeType: \"quarter\",\n },\n },\n {\n label: t(\"neetoMolecules.dateRangeFilter.timePeriodOptions.thisYear\"),\n value: { startDate: startOfYear, endDate: endOfYear, rangeType: \"year\" },\n },\n {\n label: t(\"neetoMolecules.dateRangeFilter.timePeriodOptions.lastYear\"),\n value: {\n startDate: startOfLastYear,\n endDate: endOfLastYear,\n rangeType: \"year\",\n },\n },\n {\n label: t(\n \"neetoMolecules.dateRangeFilter.timePeriodOptions.customDuration\"\n ),\n value: \"custom\",\n },\n ];\n};\n","import dayjs from \"dayjs\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { Select, DatePicker } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { prop } from \"ramda\";\n\nimport { defaultTimePeriodOptions } from \"./utils\";\n\nconst DateRangeFilter = ({\n timePeriodOptions,\n timePeriod,\n setTimePeriod,\n datePickerProps,\n}) => {\n const isCustom =\n timePeriod?.value === \"custom\" || timePeriod?.value?.rangeType === \"custom\";\n\n const startDate = timePeriod?.value?.startDate;\n const endDate = timePeriod?.value?.endDate;\n const requiredDateFormat = globalProps?.user?.dateFormat;\n\n const options = timePeriodOptions || defaultTimePeriodOptions();\n\n return (\n <div className=\"flex flex-wrap gap-3\" data-testid=\"date-range-filter\">\n <div className=\"w-40\">\n <Select\n {...{ options }}\n required\n getOptionValue={prop(\"label\")}\n strategy=\"fixed\"\n value={timePeriod || options[0]}\n onChange={option => setTimePeriod(option)}\n />\n </div>\n {isCustom && (\n <div\n className=\"max-w-sm flex-grow\"\n data-testid=\"date-range-filter-custom-duration-picker\"\n >\n <DatePicker\n autoFocus\n className=\"w-full\"\n dateFormat={requiredDateFormat}\n picker=\"date\"\n type=\"range\"\n defaultValue={[\n startDate ? dayjs(startDate) : null,\n endDate ? dayjs(endDate) : null,\n ]}\n onChange={([startDate, endDate]) => {\n setTimePeriod({\n label: timePeriod?.label,\n value: { startDate, endDate, rangeType: \"custom\" },\n });\n }}\n {...datePickerProps}\n />\n </div>\n )}\n </div>\n );\n};\n\nDateRangeFilter.propTypes = {\n /**\n * An array of objects that can be passed to the component which can be used to override default filter options.\n */\n timePeriodOptions: PropTypes.arrayOf(\n PropTypes.shape({ label: PropTypes.string, value: PropTypes.object })\n ),\n /**\n * The state corresponding to the currently selected date range filter.\n */\n timePeriod: PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.object,\n }),\n /**\n * The setter method for `timePeriod` state.\n */\n setTimePeriod: PropTypes.func,\n /**\n * These props will be passed to the date range picker for custom date range selection.\n */\n datePickerProps: PropTypes.object,\n};\n\nexport default DateRangeFilter;\n"],"names":["quarterOfYear","require","dayjs","extend","defaultTimePeriodOptions","today","startOf","startOfLastWeek","subtract","endOfLastWeek","endOf","lastMonthStart","lastMonthEnd","thisQuarterStart","thisQuarterEnd","lastQuarterStart","lastQuarterEnd","startOfLastYear","endOfLastYear","startOfYear","endOfYear","startOf24Hours","now","startOfLast7Days","startOfWeek","startOfLast30Days","startOfMonth","label","t","value","startDate","endDate","rangeType","DateRangeFilter","_ref","_timePeriod$value","_timePeriod$value2","_timePeriod$value3","_globalProps$user","timePeriodOptions","timePeriod","setTimePeriod","datePickerProps","isCustom","requiredDateFormat","globalProps","user","dateFormat","options","_jsxs","className","children","_jsx","Select","required","getOptionValue","prop","strategy","onChange","option","DatePicker","_objectSpread","autoFocus","picker","type","defaultValue","_ref2","_ref3","_slicedToArray"],"mappings":"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"}
1
+ {"version":3,"file":"DateRangeFilter.js","sources":["../../src/components/DateRangeFilter/utils.js","../../src/components/DateRangeFilter/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport { dayjs } from \"neetocommons/utils\";\n\nexport const defaultTimePeriodOptions = () => {\n const today = dayjs().startOf(\"day\");\n const startOfLastWeek = today.subtract(7, \"day\").startOf(\"week\");\n\n const endOfLastWeek = today.subtract(7, \"day\").endOf(\"week\");\n const lastMonthStart = today.subtract(1, \"month\").startOf(\"month\");\n const lastMonthEnd = today.subtract(1, \"month\").endOf(\"month\");\n const thisQuarterStart = dayjs().startOf(\"quarter\");\n const thisQuarterEnd = dayjs().endOf(\"quarter\");\n const lastQuarterStart = dayjs().subtract(1, \"quarter\").startOf(\"quarter\");\n const lastQuarterEnd = dayjs().subtract(1, \"quarter\").endOf(\"quarter\");\n const startOfLastYear = dayjs().subtract(1, \"year\").startOf(\"year\");\n const endOfLastYear = dayjs().subtract(1, \"year\").endOf(\"year\");\n const startOfYear = dayjs().startOf(\"year\");\n const endOfYear = dayjs().endOf(\"year\");\n\n const startOf24Hours = dayjs().subtract(24, \"hour\");\n const now = dayjs();\n const startOfLast7Days = dayjs().subtract(7, \"day\");\n const startOfWeek = dayjs().startOf(\"week\");\n const startOfLast30Days = dayjs().subtract(30, \"day\");\n const startOfMonth = today.startOf(\"month\");\n\n return [\n {\n label: t(\"neetoMolecules.dateRangeFilter.timePeriodOptions.allTime\"),\n value: { startDate: null, endDate: null, rangeType: \"all\" },\n },\n {\n label: t(\"neetoMolecules.dateRangeFilter.timePeriodOptions.last24Hours\"),\n value: { startDate: startOf24Hours, endDate: now, rangeType: \"hours\" },\n },\n {\n label: t(\"neetoMolecules.dateRangeFilter.timePeriodOptions.last7Days\"),\n value: {\n startDate: startOfLast7Days,\n endDate: now,\n rangeType: \"days\",\n },\n },\n {\n label: t(\"neetoMolecules.dateRangeFilter.timePeriodOptions.thisWeek\"),\n value: { startDate: startOfWeek, endDate: now, rangeType: \"week\" },\n },\n {\n label: t(\"neetoMolecules.dateRangeFilter.timePeriodOptions.lastWeek\"),\n value: {\n startDate: startOfLastWeek,\n endDate: endOfLastWeek,\n rangeType: \"week\",\n },\n },\n {\n label: t(\"neetoMolecules.dateRangeFilter.timePeriodOptions.last30Days\"),\n value: {\n startDate: startOfLast30Days,\n endDate: now,\n rangeType: \"days\",\n },\n },\n {\n label: t(\"neetoMolecules.dateRangeFilter.timePeriodOptions.thisMonth\"),\n value: { startDate: startOfMonth, endDate: now, rangeType: \"month\" },\n },\n {\n label: t(\"neetoMolecules.dateRangeFilter.timePeriodOptions.lastMonth\"),\n value: {\n startDate: lastMonthStart,\n endDate: lastMonthEnd,\n rangeType: \"month\",\n },\n },\n {\n label: t(\"neetoMolecules.dateRangeFilter.timePeriodOptions.thisQuarter\"),\n value: {\n startDate: thisQuarterStart,\n endDate: thisQuarterEnd,\n rangeType: \"quarter\",\n },\n },\n {\n label: t(\"neetoMolecules.dateRangeFilter.timePeriodOptions.lastQuarter\"),\n value: {\n startDate: lastQuarterStart,\n endDate: lastQuarterEnd,\n rangeType: \"quarter\",\n },\n },\n {\n label: t(\"neetoMolecules.dateRangeFilter.timePeriodOptions.thisYear\"),\n value: { startDate: startOfYear, endDate: endOfYear, rangeType: \"year\" },\n },\n {\n label: t(\"neetoMolecules.dateRangeFilter.timePeriodOptions.lastYear\"),\n value: {\n startDate: startOfLastYear,\n endDate: endOfLastYear,\n rangeType: \"year\",\n },\n },\n {\n label: t(\n \"neetoMolecules.dateRangeFilter.timePeriodOptions.customDuration\"\n ),\n value: \"custom\",\n },\n ];\n};\n","import { globalProps } from \"neetocommons/initializers\";\nimport { dayjs } from \"neetocommons/utils\";\nimport { Select, DatePicker } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { prop } from \"ramda\";\n\nimport { defaultTimePeriodOptions } from \"./utils\";\n\nconst DateRangeFilter = ({\n timePeriodOptions,\n timePeriod,\n setTimePeriod,\n datePickerProps,\n}) => {\n const isCustom =\n timePeriod?.value === \"custom\" || timePeriod?.value?.rangeType === \"custom\";\n\n const startDate = timePeriod?.value?.startDate;\n const endDate = timePeriod?.value?.endDate;\n const requiredDateFormat = globalProps?.user?.dateFormat;\n\n const options = timePeriodOptions || defaultTimePeriodOptions();\n\n return (\n <div className=\"flex flex-wrap gap-3\" data-testid=\"date-range-filter\">\n <div className=\"w-40\">\n <Select\n {...{ options }}\n required\n getOptionValue={prop(\"label\")}\n strategy=\"fixed\"\n value={timePeriod || options[0]}\n onChange={option => setTimePeriod(option)}\n />\n </div>\n {isCustom && (\n <div\n className=\"max-w-sm flex-grow\"\n data-testid=\"date-range-filter-custom-duration-picker\"\n >\n <DatePicker\n autoFocus\n className=\"w-full\"\n dateFormat={requiredDateFormat}\n picker=\"date\"\n type=\"range\"\n defaultValue={[\n startDate ? dayjs(startDate) : null,\n endDate ? dayjs(endDate) : null,\n ]}\n onChange={([startDate, endDate]) => {\n setTimePeriod({\n label: timePeriod?.label,\n value: { startDate, endDate, rangeType: \"custom\" },\n });\n }}\n {...datePickerProps}\n />\n </div>\n )}\n </div>\n );\n};\n\nDateRangeFilter.propTypes = {\n /**\n * An array of objects that can be passed to the component which can be used to override default filter options.\n */\n timePeriodOptions: PropTypes.arrayOf(\n PropTypes.shape({ label: PropTypes.string, value: PropTypes.object })\n ),\n /**\n * The state corresponding to the currently selected date range filter.\n */\n timePeriod: PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.object,\n }),\n /**\n * The setter method for `timePeriod` state.\n */\n setTimePeriod: PropTypes.func,\n /**\n * These props will be passed to the date range picker for custom date range selection.\n */\n datePickerProps: PropTypes.object,\n};\n\nexport default DateRangeFilter;\n"],"names":["defaultTimePeriodOptions","today","dayjs","startOf","startOfLastWeek","subtract","endOfLastWeek","endOf","lastMonthStart","lastMonthEnd","thisQuarterStart","thisQuarterEnd","lastQuarterStart","lastQuarterEnd","startOfLastYear","endOfLastYear","startOfYear","endOfYear","startOf24Hours","now","startOfLast7Days","startOfWeek","startOfLast30Days","startOfMonth","label","t","value","startDate","endDate","rangeType","DateRangeFilter","_ref","_timePeriod$value","_timePeriod$value2","_timePeriod$value3","_globalProps$user","timePeriodOptions","timePeriod","setTimePeriod","datePickerProps","isCustom","requiredDateFormat","globalProps","user","dateFormat","options","_jsxs","className","children","_jsx","Select","required","getOptionValue","prop","strategy","onChange","option","DatePicker","_objectSpread","autoFocus","picker","type","defaultValue","_ref2","_ref3","_slicedToArray"],"mappings":"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"}
@@ -14,8 +14,8 @@ var neetoCist = require('@bigbinary/neeto-cist');
14
14
  var HelpPopover = require('./HelpPopover.js');
15
15
  require('@babel/runtime/helpers/defineProperty');
16
16
  require('@babel/runtime/helpers/slicedToArray');
17
- require('dayjs');
18
17
  require('@bigbinary/neeto-commons-frontend/initializers');
18
+ require('@bigbinary/neeto-commons-frontend/utils');
19
19
  require('@bigbinary/neetoui/Select');
20
20
  require('@bigbinary/neetoui/DatePicker');
21
21
  require('@babel/runtime/helpers/objectWithoutProperties');