@bigbinary/neeto-molecules 1.13.11 → 1.13.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ConfigurePageSidebar.js +2 -2
- package/dist/CustomDomain.js +1 -1
- package/dist/CustomDomainDashboard.js +1 -1
- package/dist/FloatingActionMenu.js +37 -29
- package/dist/FloatingActionMenu.js.map +1 -1
- package/dist/IntegrationCard.js +1 -0
- package/dist/IntegrationCard.js.map +1 -1
- package/dist/MoreDropdown.js +6 -0
- package/dist/MoreDropdown.js.map +1 -1
- package/dist/ShareViaEmail.js +9 -2
- package/dist/ShareViaEmail.js.map +1 -1
- package/dist/Sidebar.js +2 -2
- package/dist/cjs/ConfigurePageSidebar.js +2 -2
- package/dist/cjs/CustomDomain.js +1 -1
- package/dist/cjs/CustomDomainDashboard.js +1 -1
- package/dist/cjs/FloatingActionMenu.js +36 -28
- package/dist/cjs/FloatingActionMenu.js.map +1 -1
- package/dist/cjs/IntegrationCard.js +1 -0
- package/dist/cjs/IntegrationCard.js.map +1 -1
- package/dist/cjs/MoreDropdown.js +6 -0
- package/dist/cjs/MoreDropdown.js.map +1 -1
- package/dist/cjs/ShareViaEmail.js +9 -2
- package/dist/cjs/ShareViaEmail.js.map +1 -1
- package/dist/cjs/Sidebar.js +2 -2
- package/dist/cjs/{index-73f9c602.js → index-1fcbee5e.js} +1 -1
- package/dist/cjs/{index-73f9c602.js.map → index-1fcbee5e.js.map} +1 -1
- package/dist/cjs/{sidebar-c0a787d8.js → sidebar-5f328ea6.js} +1 -1
- package/dist/cjs/{sidebar-c0a787d8.js.map → sidebar-5f328ea6.js.map} +1 -1
- package/dist/{index-372a8b29.js → index-46868373.js} +1 -1
- package/dist/{index-372a8b29.js.map → index-46868373.js.map} +1 -1
- package/dist/{sidebar-3ce90cb4.js → sidebar-677173a5.js} +1 -1
- package/dist/{sidebar-3ce90cb4.js.map → sidebar-677173a5.js.map} +1 -1
- package/package.json +1 -1
package/dist/MoreDropdown.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MoreDropdown.js","sources":["../src/components/MoreDropdown/constants.js","../src/components/MoreDropdown/Submenu.jsx","../src/components/MoreDropdown/MenuItem.jsx","../src/components/MoreDropdown/index.jsx"],"sourcesContent":["export const BUTTON_STYLES = {\n primary: \"primary\",\n secondary: \"secondary\",\n danger: \"danger\",\n danger_text: \"danger-text\",\n text: \"text\",\n link: \"link\",\n};\n\nexport const SIZES = { small: \"small\", medium: \"medium\", large: \"large\" };\n\nexport const STRATEGY = { absolute: \"absolute\", fixed: \"fixed\" };\n\nexport const MENU_ITEM_TYPES = {\n menuItem: \"menuItem\",\n divider: \"divider\",\n};\n\nexport const DEFAULT_TOOLTIP_PROPS = {\n disabled: true,\n position: \"bottom\",\n};\n","import React from \"react\";\n\nimport { Dropdown } from \"neetoui\";\n\nimport MoreDropdownMenuItem from \"./MenuItem\";\n\nconst { MenuItem, Menu } = Dropdown;\n\nconst Submenu = ({ label, key, ...menuItemProps }) => (\n <Dropdown\n customTarget={<MenuItem.Button>{label}</MenuItem.Button>}\n key={key}\n position=\"left\"\n trigger=\"hover\"\n {...menuItemProps.dropdownProps}\n >\n <Menu>\n {menuItemProps.menuItems.map(\n ({ isVisible = true, key, ...menuItemProps }) => {\n if (!isVisible) return null;\n\n return <MoreDropdownMenuItem key={key} {...menuItemProps} />;\n }\n )}\n </Menu>\n </Dropdown>\n);\n\nexport default Submenu;\n","import React from \"react\";\n\nimport { Dropdown } from \"neetoui\";\n\nimport { MENU_ITEM_TYPES } from \"./constants\";\nimport Submenu from \"./Submenu\";\n\nconst { MenuItem, Divider } = Dropdown;\n\nconst MoreDropdownMenuItem = ({\n onClick,\n label,\n type = MENU_ITEM_TYPES.menuItem,\n hasSubItems = false,\n ...menuItemProps\n}) => {\n if (type === MENU_ITEM_TYPES.divider) {\n return <Divider />;\n }\n\n if (hasSubItems) {\n return <Submenu {...{ label, ...menuItemProps }} />;\n }\n\n return (\n <MenuItem.Button {...{ onClick, ...menuItemProps }}>\n {label}\n </MenuItem.Button>\n );\n};\n\nexport default MoreDropdownMenuItem;\n","import React from \"react\";\n\nimport { MenuHorizontal, MenuVertical } from \"neetoicons\";\nimport { Button, Dropdown, Tooltip } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { mergeRight } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n BUTTON_STYLES,\n DEFAULT_TOOLTIP_PROPS,\n MENU_ITEM_TYPES,\n SIZES,\n STRATEGY,\n} from \"./constants\";\nimport MenuItem from \"./MenuItem\";\n\nconst { Menu } = Dropdown;\n\nconst MoreDropdown = ({\n dropdownButtonProps = {},\n isVertical = false,\n isDisabled = false,\n dropdownProps = {},\n menuTopChildren,\n menuBottomChildren,\n menuItems = [],\n}) => {\n const { t } = useTranslation();\n\n const tooltipProps = mergeRight(\n DEFAULT_TOOLTIP_PROPS,\n dropdownButtonProps.tooltipProps\n );\n\n const targetIcon = isVertical ? MenuVertical : MenuHorizontal;\n\n const isDropdownDisabled = isDisabled || dropdownProps.disabled;\n if (isDropdownDisabled && !tooltipProps.disabled) {\n return (\n <Tooltip {...tooltipProps}>\n <span>\n <Button\n disabled\n data-cy=\"more-dropdown-button\"\n data-testid=\"nui-dropdown-button\"\n icon={targetIcon}\n iconPosition=\"right\"\n size=\"medium\"\n style=\"text\"\n {...dropdownButtonProps}\n />\n </span>\n </Tooltip>\n );\n }\n\n return (\n <Dropdown\n autoWidth\n className=\"flex\"\n disabled={isDisabled}\n icon={targetIcon}\n buttonProps={{\n className: \"min-h-0 flex-shrink-0\",\n style: \"text\",\n tooltipProps: {\n content: t(\"neetoMolecules.moreDropdown.tooltip\"),\n position: \"top\",\n },\n ...dropdownButtonProps,\n }}\n {...dropdownProps}\n >\n <Menu>\n {menuTopChildren}\n {menuItems.map(({ isVisible = true, key, ...menuItemProps }) => {\n if (!isVisible) return null;\n\n return <MenuItem key={key} {...menuItemProps} />;\n })}\n {menuBottomChildren}\n </Menu>\n </Dropdown>\n );\n};\n\nMoreDropdown.propTypes = {\n /*\n * This props will be passed to the target button of the dropdown.\n */\n dropdownButtonProps: PropTypes.shape({\n style: PropTypes.oneOf(Object.values(BUTTON_STYLES)),\n size: PropTypes.oneOf(Object.values(SIZES)),\n iconSize: PropTypes.number,\n disabled: PropTypes.bool,\n }),\n /*\n * Whether to show a MenuVertical icon. By default the icon will be MenuHorizontal.\n */\n isVertical: PropTypes.bool,\n /*\n * Whether the dropdown is disabled or not.\n */\n isDisabled: PropTypes.bool,\n /*\n * This props will be passed to the dropdown.\n */\n dropdownProps: PropTypes.shape({\n strategy: PropTypes.oneOf(Object.values(STRATEGY)),\n }),\n /*\n * This children will be rendered on top of the dropdown menu.\n */\n menuTopChildren: PropTypes.node,\n /*\n * This children will be rendered on bottom of the dropdown menu.\n */\n menuBottomChildren: PropTypes.node,\n /*\n * Menu items inside the dropdown. Each item needs to have a `label`, `onClick` and `key`.\n */\n menuItems: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n onClick: PropTypes.func,\n key: PropTypes.string,\n type: PropTypes.oneOf(Object.values(MENU_ITEM_TYPES)),\n isVisible: PropTypes.bool,\n hasSubItems: PropTypes.bool,\n dropdownProps: PropTypes.shape({\n position: PropTypes.string,\n trigger: PropTypes.string,\n }),\n })\n ),\n};\n\nexport default MoreDropdown;\n"],"names":["MENU_ITEM_TYPES","menuItem","divider","DEFAULT_TOOLTIP_PROPS","disabled","position","MenuItem","Dropdown","Menu","Submenu","_ref","label","key","menuItemProps","_objectWithoutProperties","_excluded","React","createElement","_extends","customTarget","Button","trigger","dropdownProps","menuItems","map","_ref2","_ref2$isVisible","isVisible","_excluded2","MoreDropdownMenuItem","Divider","onClick","_ref$type","type","_ref$hasSubItems","hasSubItems","_objectSpread","MoreDropdown","_ref$dropdownButtonPr","dropdownButtonProps","_ref$isVertical","isVertical","_ref$isDisabled","isDisabled","_ref$dropdownProps","menuTopChildren","menuBottomChildren","_ref$menuItems","_useTranslation","useTranslation","t","tooltipProps","mergeRight","targetIcon","MenuVertical","MenuHorizontal","isDropdownDisabled","Tooltip","icon","iconPosition","size","style","autoWidth","className","buttonProps","content"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MoreDropdown.js","sources":["../src/components/MoreDropdown/constants.js","../src/components/MoreDropdown/Submenu.jsx","../src/components/MoreDropdown/MenuItem.jsx","../src/components/MoreDropdown/index.jsx"],"sourcesContent":["export const BUTTON_STYLES = {\n primary: \"primary\",\n secondary: \"secondary\",\n danger: \"danger\",\n danger_text: \"danger-text\",\n text: \"text\",\n link: \"link\",\n};\n\nexport const SIZES = { small: \"small\", medium: \"medium\", large: \"large\" };\n\nexport const STRATEGY = { absolute: \"absolute\", fixed: \"fixed\" };\n\nexport const MENU_ITEM_TYPES = {\n menuItem: \"menuItem\",\n divider: \"divider\",\n};\n\nexport const DEFAULT_TOOLTIP_PROPS = {\n disabled: true,\n position: \"bottom\",\n};\n","import React from \"react\";\n\nimport { Dropdown } from \"neetoui\";\n\nimport MoreDropdownMenuItem from \"./MenuItem\";\n\nconst { MenuItem, Menu } = Dropdown;\n\nconst Submenu = ({ label, key, ...menuItemProps }) => (\n <Dropdown\n customTarget={<MenuItem.Button>{label}</MenuItem.Button>}\n key={key}\n position=\"left\"\n trigger=\"hover\"\n {...menuItemProps.dropdownProps}\n >\n <Menu>\n {menuItemProps.menuItems.map(\n ({ isVisible = true, key, ...menuItemProps }) => {\n if (!isVisible) return null;\n\n return <MoreDropdownMenuItem key={key} {...menuItemProps} />;\n }\n )}\n </Menu>\n </Dropdown>\n);\n\nexport default Submenu;\n","import React from \"react\";\n\nimport { Dropdown } from \"neetoui\";\n\nimport { MENU_ITEM_TYPES } from \"./constants\";\nimport Submenu from \"./Submenu\";\n\nconst { MenuItem, Divider } = Dropdown;\n\nconst MoreDropdownMenuItem = ({\n onClick,\n label,\n type = MENU_ITEM_TYPES.menuItem,\n hasSubItems = false,\n ...menuItemProps\n}) => {\n if (type === MENU_ITEM_TYPES.divider) {\n return <Divider />;\n }\n\n if (hasSubItems) {\n return <Submenu {...{ label, ...menuItemProps }} />;\n }\n\n return (\n <MenuItem.Button {...{ onClick, ...menuItemProps }}>\n {label}\n </MenuItem.Button>\n );\n};\n\nexport default MoreDropdownMenuItem;\n","import React from \"react\";\n\nimport { MenuHorizontal, MenuVertical } from \"neetoicons\";\nimport { Button, Dropdown, Tooltip } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { mergeRight } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n BUTTON_STYLES,\n DEFAULT_TOOLTIP_PROPS,\n MENU_ITEM_TYPES,\n SIZES,\n STRATEGY,\n} from \"./constants\";\nimport MenuItem from \"./MenuItem\";\nimport \"./moredropdown.scss\";\n\nconst { Menu } = Dropdown;\n\nconst MoreDropdown = ({\n dropdownButtonProps = {},\n isVertical = false,\n isDisabled = false,\n dropdownProps = {},\n menuTopChildren,\n menuBottomChildren,\n menuItems = [],\n}) => {\n const { t } = useTranslation();\n\n const tooltipProps = mergeRight(\n DEFAULT_TOOLTIP_PROPS,\n dropdownButtonProps.tooltipProps\n );\n\n const targetIcon = isVertical ? MenuVertical : MenuHorizontal;\n\n const isDropdownDisabled = isDisabled || dropdownProps.disabled;\n if (isDropdownDisabled && !tooltipProps.disabled) {\n return (\n <Tooltip {...tooltipProps}>\n <span>\n <Button\n disabled\n data-cy=\"more-dropdown-button\"\n data-dropdown-button-style=\"more-dropdown\"\n data-testid=\"nui-dropdown-button\"\n icon={targetIcon}\n iconPosition=\"right\"\n size=\"medium\"\n style=\"text\"\n {...dropdownButtonProps}\n />\n </span>\n </Tooltip>\n );\n }\n\n return (\n <Dropdown\n autoWidth\n className=\"flex\"\n disabled={isDisabled}\n icon={targetIcon}\n buttonProps={{\n \"data-dropdown-button-style\": \"more-dropdown\",\n className: \"min-h-0 flex-shrink-0\",\n style: \"text\",\n tooltipProps: {\n content: t(\"neetoMolecules.moreDropdown.tooltip\"),\n position: \"top\",\n },\n ...dropdownButtonProps,\n }}\n {...dropdownProps}\n >\n <Menu>\n {menuTopChildren}\n {menuItems.map(({ isVisible = true, key, ...menuItemProps }) => {\n if (!isVisible) return null;\n\n return <MenuItem key={key} {...menuItemProps} />;\n })}\n {menuBottomChildren}\n </Menu>\n </Dropdown>\n );\n};\n\nMoreDropdown.propTypes = {\n /*\n * This props will be passed to the target button of the dropdown.\n */\n dropdownButtonProps: PropTypes.shape({\n style: PropTypes.oneOf(Object.values(BUTTON_STYLES)),\n size: PropTypes.oneOf(Object.values(SIZES)),\n iconSize: PropTypes.number,\n disabled: PropTypes.bool,\n }),\n /*\n * Whether to show a MenuVertical icon. By default the icon will be MenuHorizontal.\n */\n isVertical: PropTypes.bool,\n /*\n * Whether the dropdown is disabled or not.\n */\n isDisabled: PropTypes.bool,\n /*\n * This props will be passed to the dropdown.\n */\n dropdownProps: PropTypes.shape({\n strategy: PropTypes.oneOf(Object.values(STRATEGY)),\n }),\n /*\n * This children will be rendered on top of the dropdown menu.\n */\n menuTopChildren: PropTypes.node,\n /*\n * This children will be rendered on bottom of the dropdown menu.\n */\n menuBottomChildren: PropTypes.node,\n /*\n * Menu items inside the dropdown. Each item needs to have a `label`, `onClick` and `key`.\n */\n menuItems: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n onClick: PropTypes.func,\n key: PropTypes.string,\n type: PropTypes.oneOf(Object.values(MENU_ITEM_TYPES)),\n isVisible: PropTypes.bool,\n hasSubItems: PropTypes.bool,\n dropdownProps: PropTypes.shape({\n position: PropTypes.string,\n trigger: PropTypes.string,\n }),\n })\n ),\n};\n\nexport default MoreDropdown;\n"],"names":["MENU_ITEM_TYPES","menuItem","divider","DEFAULT_TOOLTIP_PROPS","disabled","position","MenuItem","Dropdown","Menu","Submenu","_ref","label","key","menuItemProps","_objectWithoutProperties","_excluded","React","createElement","_extends","customTarget","Button","trigger","dropdownProps","menuItems","map","_ref2","_ref2$isVisible","isVisible","_excluded2","MoreDropdownMenuItem","Divider","onClick","_ref$type","type","_ref$hasSubItems","hasSubItems","_objectSpread","MoreDropdown","_ref$dropdownButtonPr","dropdownButtonProps","_ref$isVertical","isVertical","_ref$isDisabled","isDisabled","_ref$dropdownProps","menuTopChildren","menuBottomChildren","_ref$menuItems","_useTranslation","useTranslation","t","tooltipProps","mergeRight","targetIcon","MenuVertical","MenuHorizontal","isDropdownDisabled","Tooltip","icon","iconPosition","size","style","autoWidth","className","buttonProps","content"],"mappings":"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"}
|
package/dist/ShareViaEmail.js
CHANGED
|
@@ -118,7 +118,9 @@ var FormikDatePicker = function FormikDatePicker(_ref) {
|
|
|
118
118
|
_useField2 = _slicedToArray(_useField, 3),
|
|
119
119
|
field = _useField2[0],
|
|
120
120
|
meta = _useField2[1],
|
|
121
|
-
|
|
121
|
+
_useField2$ = _useField2[2],
|
|
122
|
+
setValue = _useField2$.setValue,
|
|
123
|
+
setTouched = _useField2$.setTouched;
|
|
122
124
|
var disabledTimeFrame = useMemo(function () {
|
|
123
125
|
return disabledTime(field === null || field === void 0 ? void 0 : field.value);
|
|
124
126
|
}, [field === null || field === void 0 ? void 0 : field.value]);
|
|
@@ -129,8 +131,13 @@ var FormikDatePicker = function FormikDatePicker(_ref) {
|
|
|
129
131
|
"data-cy": props["data-cy"],
|
|
130
132
|
"data-testid": props["data-testid"]
|
|
131
133
|
},
|
|
134
|
+
onBlur: function onBlur(date) {
|
|
135
|
+
setValue(date || undefined);
|
|
136
|
+
setTouched(true);
|
|
137
|
+
},
|
|
132
138
|
onChange: function onChange(date) {
|
|
133
|
-
|
|
139
|
+
setValue(date || undefined);
|
|
140
|
+
setTouched(true);
|
|
134
141
|
}
|
|
135
142
|
}, props));
|
|
136
143
|
};
|
|
@@ -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","import React, { forwardRef } from \"react\";\n\nimport { FormikEditor } from \"neetoeditor\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { EDITOR_ADDONS } from \"./constants\";\n\nconst EmailBody = ({ id, showVideoEmbedInEditor }, ref) => {\n const { t } = useTranslation();\n\n return (\n <FormikEditor\n required\n className=\"mb-6\"\n data-cy=\"email-body\"\n id={id}\n label={t(\"neetoMolecules.shareViaEmail.emailBody\")}\n name=\"emailBody\"\n ref={ref}\n addons={\n showVideoEmbedInEditor\n ? [...EDITOR_ADDONS, \"video-embed\"]\n : EDITOR_ADDONS\n }\n />\n );\n};\n\nexport default forwardRef(EmailBody);\n","import dayjs from \"dayjs\";\nimport { t } from \"i18next\";\nimport { 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 = selectedDate ? dayjs(selectedDate).startOf(\"day\") : null;\n\n if (!current) return {};\n\n const today = dayjs().startOf(\"day\");\n const isAfterToday = current.isAfter(today, \"day\");\n const isBeforeToday = current.isBefore(today, \"day\");\n\n if (isAfterToday) {\n return { minTime: null, maxTime: null };\n } else if (isBeforeToday) {\n return { minTime: \"0:00\", maxTime: \"24:00\" };\n }\n\n // eslint-disable-next-line @bigbinary/neeto/use-standard-date-time-formats\n const currentTime = dayjs().format(\"HH:mm\");\n const endOfDay = \"23:59\";\n\n return { minTime: currentTime, maxTime: endOfDay };\n};\n","import React, { useMemo } from \"react\";\n\nimport { useField } from \"formik\";\nimport { DateTimePicker } from \"neetoui\";\n\nimport { disabledTime } from \"./utils\";\n\nconst FormikDatePicker = ({ name, disabledDate, ...props }) => {\n const [field, meta, { setValue }] = useField(name);\n\n const disabledTimeFrame = useMemo(\n () => disabledTime(field?.value),\n [field?.value]\n );\n\n return (\n <DateTimePicker\n {...field}\n {...meta}\n timePickerProps={disabledTimeFrame}\n datePickerProps={{\n disabledDate,\n \"data-cy\": props[\"data-cy\"],\n \"data-testid\": props[\"data-testid\"],\n }}\n onChange={date => setValue(date || undefined)}\n {...props}\n />\n );\n};\n\nexport default FormikDatePicker;\n","import React, { 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 React from \"react\";\n\nimport { 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 productName,\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 {...{ productName }}\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 * product name for the `<EmailPreview />` component can be passed.\n */\n productName: PropTypes.string,\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","EmailBody","_ref","ref","id","showVideoEmbedInEditor","_useTranslation","useTranslation","t","React","createElement","FormikEditor","required","className","label","name","addons","concat","_toConsumableArray","forwardRef","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","isAfterToday","isAfter","isBeforeToday","minTime","maxTime","currentTime","format","endOfDay","FormikDatePicker","disabledDate","props","_objectWithoutProperties","_excluded","_useField","useField","_useField2","_slicedToArray","field","meta","setValue","disabledTimeFrame","useMemo","DateTimePicker","_extends","timePickerProps","datePickerProps","onChange","Form","showSendFromField","children","_useFormikContext","useFormikContext","values","initialValues","editorRef","useRef","handleReset","editor","commands","setContent","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","productName","_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","import React, { forwardRef } from \"react\";\n\nimport { FormikEditor } from \"neetoeditor\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { EDITOR_ADDONS } from \"./constants\";\n\nconst EmailBody = ({ id, showVideoEmbedInEditor }, ref) => {\n const { t } = useTranslation();\n\n return (\n <FormikEditor\n required\n className=\"mb-6\"\n data-cy=\"email-body\"\n id={id}\n label={t(\"neetoMolecules.shareViaEmail.emailBody\")}\n name=\"emailBody\"\n ref={ref}\n addons={\n showVideoEmbedInEditor\n ? [...EDITOR_ADDONS, \"video-embed\"]\n : EDITOR_ADDONS\n }\n />\n );\n};\n\nexport default forwardRef(EmailBody);\n","import dayjs from \"dayjs\";\nimport { t } from \"i18next\";\nimport { 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 = selectedDate ? dayjs(selectedDate).startOf(\"day\") : null;\n\n if (!current) return {};\n\n const today = dayjs().startOf(\"day\");\n const isAfterToday = current.isAfter(today, \"day\");\n const isBeforeToday = current.isBefore(today, \"day\");\n\n if (isAfterToday) {\n return { minTime: null, maxTime: null };\n } else if (isBeforeToday) {\n return { minTime: \"0:00\", maxTime: \"24:00\" };\n }\n\n // eslint-disable-next-line @bigbinary/neeto/use-standard-date-time-formats\n const currentTime = dayjs().format(\"HH:mm\");\n const endOfDay = \"23:59\";\n\n return { minTime: currentTime, maxTime: endOfDay };\n};\n","import React, { useMemo } from \"react\";\n\nimport { useField } from \"formik\";\nimport { DateTimePicker } from \"neetoui\";\n\nimport { disabledTime } from \"./utils\";\n\nconst FormikDatePicker = ({ name, disabledDate, ...props }) => {\n const [field, meta, { setValue, setTouched }] = useField(name);\n\n const disabledTimeFrame = useMemo(\n () => disabledTime(field?.value),\n [field?.value]\n );\n\n return (\n <DateTimePicker\n {...field}\n {...meta}\n timePickerProps={disabledTimeFrame}\n datePickerProps={{\n disabledDate,\n \"data-cy\": props[\"data-cy\"],\n \"data-testid\": props[\"data-testid\"],\n }}\n onBlur={date => {\n setValue(date || undefined);\n setTouched(true);\n }}\n onChange={date => {\n setValue(date || undefined);\n setTouched(true);\n }}\n {...props}\n />\n );\n};\n\nexport default FormikDatePicker;\n","import React, { 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 React from \"react\";\n\nimport { 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 productName,\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 {...{ productName }}\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 * product name for the `<EmailPreview />` component can be passed.\n */\n productName: PropTypes.string,\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","EmailBody","_ref","ref","id","showVideoEmbedInEditor","_useTranslation","useTranslation","t","React","createElement","FormikEditor","required","className","label","name","addons","concat","_toConsumableArray","forwardRef","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","isAfterToday","isAfter","isBeforeToday","minTime","maxTime","currentTime","format","endOfDay","FormikDatePicker","disabledDate","props","_objectWithoutProperties","_excluded","_useField","useField","_useField2","_slicedToArray","field","meta","_useField2$","setValue","setTouched","disabledTimeFrame","useMemo","DateTimePicker","_extends","timePickerProps","datePickerProps","onBlur","onChange","Form","showSendFromField","children","_useFormikContext","useFormikContext","values","initialValues","editorRef","useRef","handleReset","editor","commands","setContent","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","productName","_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;;ACZD,IAAMC,SAAS,GAAG,SAAZA,SAASA,CAAAC,IAAA,EAAoCC,GAAG,EAAK;AAAA,EAAA,IAAtCC,EAAE,GAAAF,IAAA,CAAFE,EAAE;IAAEC,sBAAsB,GAAAH,IAAA,CAAtBG,sBAAsB,CAAA;AAC7C,EAAA,IAAAC,eAAA,GAAcC,cAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC,CAAA;AAET,EAAA,oBACEC,cAAA,CAAAC,aAAA,CAACC,YAAY,EAAA;IACXC,QAAQ,EAAA,IAAA;AACRC,IAAAA,SAAS,EAAC,MAAM;AAChB,IAAA,SAAA,EAAQ,YAAY;AACpBT,IAAAA,EAAE,EAAEA,EAAG;AACPU,IAAAA,KAAK,EAAEN,CAAC,CAAC,wCAAwC,CAAE;AACnDO,IAAAA,IAAI,EAAC,WAAW;AAChBZ,IAAAA,GAAG,EAAEA,GAAI;IACTa,MAAM,EACJX,sBAAsB,GAAA,EAAA,CAAAY,MAAA,CAAAC,kBAAA,CACdlB,aAAa,CAAE,EAAA,CAAA,aAAa,CAChCA,CAAAA,GAAAA,aAAAA;AACL,GACF,CAAC,CAAA;AAEN,CAAC,CAAA;AAED,kBAAemB,aAAAA,UAAU,CAAClB,SAAS,CAAC;;;;ACf7B,IAAMmB,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,aAAA,CAAAA,aAAA,CAC7CtC,EAAAA,EAAAA,cAAc,GACdqC,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;AACjBvC,IAAAA,YAAY,EAAEqC,GAAG,CACdG,MAAM,EAAE,CACRrB,QAAQ,CACPJ,CAAC,CAAC,gEAAgE,CACpE,CAAC;AACHd,IAAAA,SAAS,EAAEoC,GAAG,CACXG,MAAM,EAAE,CACRC,IAAI,CACH,WAAW,EACX1B,CAAC,CAAC,kEAAkE,CAAC,EACrE,UAAA2B,KAAK,EAAA;AAAA,MAAA,OAAI,CAACC,aAAa,CAACD,KAAK,CAAC,CAAA;AAAA,KAChC,CAAC;IACH7C,aAAa,EAAEwC,GAAG,CACfG,MAAM,EAAE,CACRI,IAAI,EAAE,CACNC,KAAK,CACJ9B,CAAC,CAAC,oEAAoE,CACxE,CAAC,CACAI,QAAQ,CACPJ,CAAC,CAAC,iEAAiE,CACrE,CAAC;AACHjB,IAAAA,YAAY,EACV,CAACsC,cAAc,IACfC,GAAG,CACAG,MAAM,EAAE,CACRI,IAAI,EAAE,CACNC,KAAK,CACJ9B,CAAC,CACC,oEACF,CACF,CAAC,CACAI,QAAQ,CACPJ,CAAC,CAAC,gEAAgE,CACpE,CAAC;IACLhB,YAAY,EAAEsC,GAAG,CACdS,KAAK,EAAE,CACPC,GAAG,CACF,CAAC,EACDhC,CAAC,CACC,4EACF,CACF,CAAC,CACA0B,IAAI,CACH,sBAAsB,EACtB1B,CAAC,CAAC,oEAAoE,CAAC,EACvE,UAAAiC,MAAM,EAAA;MAAA,OAAIA,MAAM,CAACC,KAAK,CAACC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAA;AAAA,KACvC,CAAC;AACHhD,IAAAA,kBAAkB,EAAEmC,GAAG,CAAQ,SAAA,CAAA,EAAE;IACjClC,iBAAiB,EAAEkC,GAAG,CAACT,IAAI,EAAE,CAACuB,IAAI,CAAC,oBAAoB,EAAE;AACvDC,MAAAA,EAAE,EAAE,IAAI;AACRC,MAAAA,IAAI,EAAEhB,GAAG,CACNT,IAAI,EAAE,CACNT,QAAQ,CACPJ,CAAC,CAAC,kEAAkE,CACtE,CAAA;AACJ,KAAC,CAAC;AACFO,IAAAA,IAAI,EAAEe,GAAG,CAACG,MAAM,EAAE;AAClBlC,IAAAA,gBAAgB,EAAE+B,GAAG,CAClBG,MAAM,EAAE,CACRrB,QAAQ,CACPJ,CAAC,CACC,wEACF,CACF,CAAA;AACJ,GAAC,CAAC,CAAA;AAAA,CAAA,CAAA;AAEG,IAAMuC,YAAY,GAAG,SAAfA,YAAYA,CAAGC,YAAY,EAAI;AAC1C,EAAA,IAAMC,OAAO,GAAGD,YAAY,GAAG1B,KAAK,CAAC0B,YAAY,CAAC,CAACE,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAA;AAExE,EAAA,IAAI,CAACD,OAAO,EAAE,OAAO,EAAE,CAAA;EAEvB,IAAME,KAAK,GAAG7B,KAAK,EAAE,CAAC4B,OAAO,CAAC,KAAK,CAAC,CAAA;EACpC,IAAME,YAAY,GAAGH,OAAO,CAACI,OAAO,CAACF,KAAK,EAAE,KAAK,CAAC,CAAA;EAClD,IAAMG,aAAa,GAAGL,OAAO,CAAC1B,QAAQ,CAAC4B,KAAK,EAAE,KAAK,CAAC,CAAA;AAEpD,EAAA,IAAIC,YAAY,EAAE;IAChB,OAAO;AAAEG,MAAAA,OAAO,EAAE,IAAI;AAAEC,MAAAA,OAAO,EAAE,IAAA;KAAM,CAAA;GACxC,MAAM,IAAIF,aAAa,EAAE;IACxB,OAAO;AAAEC,MAAAA,OAAO,EAAE,MAAM;AAAEC,MAAAA,OAAO,EAAE,OAAA;KAAS,CAAA;AAC9C,GAAA;;AAEA;EACA,IAAMC,WAAW,GAAGnC,KAAK,EAAE,CAACoC,MAAM,CAAC,OAAO,CAAC,CAAA;EAC3C,IAAMC,QAAQ,GAAG,OAAO,CAAA;EAExB,OAAO;AAAEJ,IAAAA,OAAO,EAAEE,WAAW;AAAED,IAAAA,OAAO,EAAEG,QAAAA;GAAU,CAAA;AACpD,CAAC;;;AChID,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAA1D,IAAA,EAAyC;AAAA,EAAA,IAAnCa,IAAI,GAAAb,IAAA,CAAJa,IAAI;IAAE8C,YAAY,GAAA3D,IAAA,CAAZ2D,YAAY;AAAKC,IAAAA,KAAK,GAAAC,wBAAA,CAAA7D,IAAA,EAAA8D,SAAA,CAAA,CAAA;AACtD,EAAA,IAAAC,SAAA,GAAgDC,QAAQ,CAACnD,IAAI,CAAC;IAAAoD,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;EAE1C,IAAMC,iBAAiB,GAAGC,OAAO,CAC/B,YAAA;IAAA,OAAM5B,YAAY,CAACsB,KAAK,KAAA,IAAA,IAALA,KAAK,KAALA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,KAAK,CAAElC,KAAK,CAAC,CAAA;GAChC,EAAA,CAACkC,KAAK,KAALA,IAAAA,IAAAA,KAAK,uBAALA,KAAK,CAAElC,KAAK,CACf,CAAC,CAAA;EAED,oBACE1B,cAAA,CAAAC,aAAA,CAACkE,cAAc,EAAAC,QAAA,CAAA,EAAA,EACTR,KAAK,EACLC,IAAI,EAAA;AACRQ,IAAAA,eAAe,EAAEJ,iBAAkB;AACnCK,IAAAA,eAAe,EAAE;AACflB,MAAAA,YAAY,EAAZA,YAAY;AACZ,MAAA,SAAS,EAAEC,KAAK,CAAC,SAAS,CAAC;MAC3B,aAAa,EAAEA,KAAK,CAAC,aAAa,CAAA;KAClC;AACFkB,IAAAA,MAAM,EAAE,SAAAA,MAAA3D,CAAAA,IAAI,EAAI;AACdmD,MAAAA,QAAQ,CAACnD,IAAI,IAAIxB,SAAS,CAAC,CAAA;MAC3B4E,UAAU,CAAC,IAAI,CAAC,CAAA;KAChB;AACFQ,IAAAA,QAAQ,EAAE,SAAAA,QAAA5D,CAAAA,IAAI,EAAI;AAChBmD,MAAAA,QAAQ,CAACnD,IAAI,IAAIxB,SAAS,CAAC,CAAA;MAC3B4E,UAAU,CAAC,IAAI,CAAC,CAAA;AAClB,KAAA;GACIX,EAAAA,KAAK,CACV,CAAC,CAAA;AAEN,CAAC;;ACtBD,IAAMoB,IAAI,GAAG,SAAPA,IAAIA,CAAAhF,IAAA,EAKJ;AAAA,EAAA,IAJJiF,iBAAiB,GAAAjF,IAAA,CAAjBiF,iBAAiB;IACjBtD,cAAc,GAAA3B,IAAA,CAAd2B,cAAc;IACdxB,sBAAsB,GAAAH,IAAA,CAAtBG,sBAAsB;IACtB+E,QAAQ,GAAAlF,IAAA,CAARkF,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,IAAApF,eAAA,GAAcC,cAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC,CAAA;AAET,EAAA,IAAMmF,WAAW,GAAG,SAAdA,WAAWA,GAAA;AAAA,IAAA,OACfF,SAAS,CAACxC,OAAO,CAAC2C,MAAM,CAACC,QAAQ,CAACC,UAAU,CAACN,aAAa,CAAC9F,SAAS,CAAC,CAAA;AAAA,GAAA,CAAA;EAEvE,oBACEe,cAAA,CAAAC,aAAA,CAAAD,cAAA,CAAAsF,QAAA,EAAA,IAAA,eACEtF,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKG,IAAAA,SAAS,EAAC,WAAA;AAAW,GAAA,eACxBJ,cAAA,CAAAC,aAAA,CAACsF,YAAY,EAAA;IACXC,mBAAmB,EAAA,IAAA;AACnBC,IAAAA,eAAe,EAAE;AACfpF,MAAAA,KAAK,EAAEN,CAAC,CAAC,qCAAqC,CAAC;AAC/CO,MAAAA,IAAI,EAAE,cAAc;AACpBH,MAAAA,QAAQ,EAAE,IAAA;AACZ,KAAA;AAAE,GACH,CAAC,eACFH,cAAA,CAAAC,aAAA,CAACyF,KAAK,EAAA;IACJvF,QAAQ,EAAA,IAAA;AACRC,IAAAA,SAAS,EAAC,YAAY;AACtBC,IAAAA,KAAK,EAAEN,CAAC,CAAC,sCAAsC,CAAE;AACjDO,IAAAA,IAAI,EAAC,cAAA;AAAc,GACpB,CAAC,eACFN,cAAA,CAAAC,aAAA,CAACT,WAAS,EAAA;AACFI,IAAAA,sBAAsB,EAAtBA,sBAAsB;AAC5BD,IAAAA,EAAE,EAAC,WAAW;AACdD,IAAAA,GAAG,EAAEsF,SAAAA;AAAU,GAChB,CAAC,eACFhF,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKP,IAAAA,GAAG,EAAEsF,SAAAA;GAAY,CAAC,eACvBhF,cAAA,CAAAC,aAAA,2BACED,cAAA,CAAAC,aAAA,CAAC0F,KAAK,EAAA;AAACvF,IAAAA,SAAS,EAAC,yBAAA;AAAyB,GAAA,eACxCJ,cAAA,CAAAC,aAAA,CAAC2F,MAAM,EAAA;AACL,IAAA,SAAA,EAAQ,mBAAmB;AAC3B,IAAA,aAAA,EAAY,mBAAmB;AAC/BtF,IAAAA,IAAI,EAAC,oBAAA;AAAoB,GAC1B,CAAC,eACFN,cAAA,CAAAC,aAAA,CAAC4F,UAAU,EAAA;AACTC,IAAAA,SAAS,EAAC,MAAM;AAChB,IAAA,SAAA,EAAQ,kBAAkB;AAC1BC,IAAAA,UAAU,EAAC,QAAQ;AACnBC,IAAAA,KAAK,EAAC,IAAI;AACVC,IAAAA,MAAM,EAAC,UAAA;AAAU,GAAA,EAEhBlG,CAAC,CAAC,wCAAwC,CACjC,CACP,CACJ,CAAC,EACL+E,MAAM,CAAC5F,kBAAkB,iBACxBc,cAAA,CAAAC,aAAA,CAACkD,gBAAgB,EAAA;IACf+C,SAAS,EAAA,IAAA;AACT,IAAA,SAAA,EAAQ,wBAAwB;AAChC,IAAA,aAAA,EAAY,oBAAoB;AAChC9C,IAAAA,YAAY,EAAEzC,UAAW;AACzBL,IAAAA,IAAI,EAAC,mBAAmB;AACxB6F,IAAAA,IAAI,EAAC,OAAA;AAAO,GACb,CACF,eACDnG,cAAA,CAAAC,aAAA,CAACyF,KAAK,EAAA;IACJvF,QAAQ,EAAA,IAAA;AACRE,IAAAA,KAAK,EAAEN,CAAC,CAAC,8CAA8C,CAAE;AACzDO,IAAAA,IAAI,EAAC,kBAAA;AAAkB,GACxB,CAAC,eACFN,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKG,IAAAA,SAAS,EAAC,0CAAA;AAA0C,GAAA,EACtDsE,iBAAiB,iBAChB1E,cAAA,CAAAC,aAAA,CAACyF,KAAK,EAAA;IACJvF,QAAQ,EAAA,IAAA;IACRC,SAAS,EAAEgG,UAAU,CAAC;AAAE,MAAA,oBAAoB,EAAE,CAAChF,cAAAA;AAAe,KAAC,CAAE;AACjE,IAAA,aAAA,EAAY,2CAA2C;AACvDf,IAAAA,KAAK,EAAEN,CAAC,CAAC,uCAAuC,CAAE;AAClDO,IAAAA,IAAI,EAAC,eAAA;GACN,CACF,EACA,CAACc,cAAc,iBACdpB,cAAA,CAAAC,aAAA,CAACyF,KAAK,EAAA;IACJvF,QAAQ,EAAA,IAAA;AACR,IAAA,aAAA,EAAY,eAAe;AAC3BE,IAAAA,KAAK,EAAEN,CAAC,CAAC,sCAAsC,CAAE;AACjDO,IAAAA,IAAI,EAAC,cAAc;IACnBF,SAAS,EAAEgG,UAAU,CAAC;AACpB,MAAA,oBAAoB,EAAE1B,iBAAAA;KACvB,CAAA;GACF,CAEA,CACF,CAAC,EACLC,QAAQ,iBACP3E,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKG,IAAAA,SAAS,EAAC,6CAAA;GACbJ,eAAAA,cAAA,CAAAC,aAAA,CAAA,IAAA,EAAA;AAAIG,IAAAA,SAAS,EAAC,MAAA;GACXL,EAAAA,CAAC,CAAC,gDAAgD,CACjD,CAAC,EACJ4E,QACE,CACN,eACD3E,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKG,IAAAA,SAAS,EAAC,MAAA;AAAM,GAAA,eACnBJ,cAAA,CAAAC,aAAA,CAACoG,WAAW,EAAA;AACVC,IAAAA,iBAAiB,EAAE;AACjBjG,MAAAA,KAAK,EAAEN,CAAC,CAAC,oCAAoC,CAAC;AAC9CwG,MAAAA,IAAI,EAAE,OAAO;AACbC,MAAAA,OAAO,EAAEtB,WAAAA;KACT;AACFuB,IAAAA,iBAAiB,EAAE;MACjBpG,KAAK,EAAEN,CAAC,CAAC,wCAAwC,CAAA;AACnD,KAAA;GACD,CACE,CACL,CAAC,CAAA;AAEP,CAAC;;ACnHD,IAAM2G,aAAa,GAAG,SAAhBA,aAAaA,CAAAjH,IAAA,EAWb;AAAA,EAAA,IAAAkH,qBAAA,GAAAlH,IAAA,CAVJiF,iBAAiB;AAAjBA,IAAAA,iBAAiB,GAAAiC,qBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,qBAAA;IACzBC,SAAS,GAAAnH,IAAA,CAATmH,SAAS;IACTC,YAAY,GAAApH,IAAA,CAAZoH,YAAY;IACZlC,QAAQ,GAAAlF,IAAA,CAARkF,QAAQ;IACRmC,WAAW,GAAArH,IAAA,CAAXqH,WAAW;IACX7F,aAAa,GAAAxB,IAAA,CAAbwB,aAAa;IACbG,cAAc,GAAA3B,IAAA,CAAd2B,cAAc;IACd2F,WAAW,GAAAtH,IAAA,CAAXsH,WAAW;IACXnH,sBAAsB,GAAAH,IAAA,CAAtBG,sBAAsB;IAAAoH,UAAA,GAAAvH,IAAA,CACtBwH,KAAK;AAALA,IAAAA,KAAK,GAAAD,UAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,UAAA,CAAA;AAEV,EAAA,IAAAnH,eAAA,GAAcC,cAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC,CAAA;AAET,EAAA,IAAMmH,kBAAkB,GAAGD,KAAK,IAAIlH,CAAC,CAAC,oCAAoC,CAAC,CAAA;AAC3E,EAAA,IAAMoH,YAAY,GAAG,SAAfA,YAAYA,CAAGpI,YAAY,EAAA;AAAA,IAAA,OAAIA,YAAY,CAACqI,GAAG,CAAC,UAAAvF,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;EAE5E,oBACE1B,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKG,IAAAA,SAAS,EAAC,6DAAA;GACbJ,eAAAA,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKG,IAAAA,SAAS,EAAC,wCAAA;AAAwC,GAAA,eACrDJ,cAAA,CAAAC,aAAA,CAACwE,MAAI,EAAA;IACH4C,kBAAkB,EAAA,IAAA;AAClBC,IAAAA,SAAS,EAAE;AAAEC,MAAAA,UAAU,EAAE,IAAA;KAAO;AAChCC,IAAAA,WAAW,EAAE;AACXC,MAAAA,kBAAkB,EAAE,IAAI;AACxBC,MAAAA,eAAe,EAAE,IAAI;AACrB3C,MAAAA,aAAa,EAAE/D,qBAAqB,CAACC,aAAa,CAAC;AACnD0G,MAAAA,gBAAgB,EAAExG,yBAAyB,CAACC,cAAc,CAAC;AAC3DwG,MAAAA,QAAQ,EAAEf,YAAAA;AACZ,KAAA;AAAE,GAAA,EAED,UAAAgB,KAAA,EAAA;AAAA,IAAA,IAAG/C,MAAM,GAAA+C,KAAA,CAAN/C,MAAM,CAAA;IAAA,oBACR9E,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKG,MAAAA,SAAS,EAAC,wCAAA;KACbJ,eAAAA,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKG,MAAAA,SAAS,EAAC,wCAAA;AAAwC,KAAA,EACpDwG,SAAS,iBACR5G,cAAA,CAAAC,aAAA,CAAC6H,MAAM,EAAA;AACL1H,MAAAA,SAAS,EAAC,MAAM;AAChB,MAAA,aAAA,EAAY,oBAAoB;AAChC2H,MAAAA,IAAI,EAAEC,SAAU;AAChBC,MAAAA,YAAY,EAAC,MAAM;AACnB5H,MAAAA,KAAK,EAAEN,CAAC,CAAC,0CAA0C,CAAE;AACrDoG,MAAAA,IAAI,EAAC,OAAO;AACZH,MAAAA,KAAK,EAAC,MAAM;AACZkC,MAAAA,EAAE,EAAEtB,SAAAA;AAAU,KACf,CACF,eACD5G,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKG,MAAAA,SAAS,EAAC,MAAA;AAAM,KAAA,eACnBJ,cAAA,CAAAC,aAAA,CAAC4F,UAAU,EAAA;AACTzF,MAAAA,SAAS,EAAC,oBAAoB;AAC9B,MAAA,SAAA,EAAQ,yBAAyB;AACjC2F,MAAAA,UAAU,EAAC,QAAQ;AACnBC,MAAAA,KAAK,EAAC,IAAI;AACVC,MAAAA,MAAM,EAAC,UAAA;KAENiB,EAAAA,kBACS,CAAC,EACZJ,WAAW,iBACV9G,cAAA,CAAAC,aAAA,CAAC4F,UAAU,EAAA;AACTzF,MAAAA,SAAS,EAAC,wBAAwB;AAClC,MAAA,SAAA,EAAQ,6BAA6B;AACrC2F,MAAAA,UAAU,EAAC,QAAQ;AACnBC,MAAAA,KAAK,EAAC,OAAA;KAELc,EAAAA,WACS,CAEX,CAAC,eACN9G,cAAA,CAAAC,aAAA,CAACkI,IAAS,EAAA;AAEN/G,MAAAA,cAAc,EAAdA,cAAc;AACdsD,MAAAA,iBAAiB,EAAjBA,iBAAiB;AACjB9E,MAAAA,sBAAsB,EAAtBA,sBAAAA;AAAsB,KAAA,EAGvB+E,QACQ,CACR,CAAC,eACN3E,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKG,MAAAA,SAAS,EAAC,wCAAA;AAAwC,KAAA,eACrDJ,cAAA,CAAAC,aAAA,CAACmI,YAAY,EAAA;AACLrB,MAAAA,WAAW,EAAXA,WAAW;MACjBzH,gBAAgB,EAAEwF,MAAM,CAACxF,gBAAiB;MAC1C+I,IAAI,EAAEvD,MAAM,CAAC7F,SAAU;AACvBmB,MAAAA,SAAS,EAAC,sBAAsB;MAChCkI,OAAO,EAAExD,MAAM,CAAC9F,YAAa;AAC7BkJ,MAAAA,EAAE,EAAEf,YAAY,CAACrC,MAAM,CAAC/F,YAAY,CAAA;KACrC,CACE,CACF,CAAC,CAAA;GAEJ,CACH,CACF,CAAC,CAAA;AAEV;;;;"}
|
package/dist/Sidebar.js
CHANGED
|
@@ -16,17 +16,17 @@ import { _ as _extends } from './extends-093996c9.js';
|
|
|
16
16
|
import { _ as _defineProperty } from './defineProperty-549061a7.js';
|
|
17
17
|
import { _ as _objectWithoutProperties } from './objectWithoutProperties-a0edb288.js';
|
|
18
18
|
import { Down } from '@bigbinary/neeto-icons';
|
|
19
|
-
import { f as filterByPermissions, C as CheckPointNavLinks, I as Items, g as getSidebarStateLocalStorageKey, S as SelectedLink } from './sidebar-
|
|
19
|
+
import { f as filterByPermissions, C as CheckPointNavLinks, I as Items, g as getSidebarStateLocalStorageKey, S as SelectedLink } from './sidebar-677173a5.js';
|
|
20
20
|
import '@bigbinary/neeto-commons-frontend/utils/general';
|
|
21
21
|
import '@bigbinary/neeto-commons-frontend/constants';
|
|
22
22
|
import '@bigbinary/neeto-commons-frontend/react-utils/useRegisterNavigationCheckpoint';
|
|
23
23
|
import '@bigbinary/neeto-filters-frontend';
|
|
24
24
|
import 'react-router-dom/cjs/react-router-dom.min';
|
|
25
25
|
import './MoreDropdown.js';
|
|
26
|
+
import './inject-css-c86de496.js';
|
|
26
27
|
import '@bigbinary/neetoui/formik';
|
|
27
28
|
import 'i18next';
|
|
28
29
|
import 'yup';
|
|
29
|
-
import './inject-css-c86de496.js';
|
|
30
30
|
|
|
31
31
|
var Chevron = function Chevron(_ref) {
|
|
32
32
|
var style = _ref.style;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var React = require('react');
|
|
4
|
-
var sidebar = require('./sidebar-
|
|
4
|
+
var sidebar = require('./sidebar-5f328ea6.js');
|
|
5
5
|
require('./extends-1b35a664.js');
|
|
6
6
|
require('./defineProperty-886ed289.js');
|
|
7
7
|
require('./objectWithoutProperties-2fed2d7d.js');
|
|
@@ -19,11 +19,11 @@ require('@bigbinary/neeto-filters-frontend');
|
|
|
19
19
|
require('react-router-dom/cjs/react-router-dom.min');
|
|
20
20
|
require('./MoreDropdown.js');
|
|
21
21
|
require('ramda');
|
|
22
|
+
require('./inject-css-80a5faa3.js');
|
|
22
23
|
require('@bigbinary/neeto-commons-frontend/utils');
|
|
23
24
|
require('@bigbinary/neetoui/formik');
|
|
24
25
|
require('i18next');
|
|
25
26
|
require('yup');
|
|
26
|
-
require('./inject-css-80a5faa3.js');
|
|
27
27
|
|
|
28
28
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
29
29
|
|
package/dist/cjs/CustomDomain.js
CHANGED
|
@@ -8,7 +8,7 @@ var general = require('@bigbinary/neeto-commons-frontend/utils/general');
|
|
|
8
8
|
var neetoIcons = require('@bigbinary/neeto-icons');
|
|
9
9
|
var neetoui = require('@bigbinary/neetoui');
|
|
10
10
|
var reactI18next = require('react-i18next');
|
|
11
|
-
var index = require('./index-
|
|
11
|
+
var index = require('./index-1fcbee5e.js');
|
|
12
12
|
var MoreDropdown = require('./MoreDropdown.js');
|
|
13
13
|
require('formik');
|
|
14
14
|
require('@bigbinary/neetoui/formik');
|
|
@@ -9,7 +9,7 @@ var reactI18next = require('react-i18next');
|
|
|
9
9
|
var Container = require('./Container.js');
|
|
10
10
|
var PageLoader = require('./PageLoader.js');
|
|
11
11
|
var SubHeader = require('./SubHeader.js');
|
|
12
|
-
var index = require('./index-
|
|
12
|
+
var index = require('./index-1fcbee5e.js');
|
|
13
13
|
var _extends = require('./extends-1b35a664.js');
|
|
14
14
|
var constants = require('@bigbinary/neeto-commons-frontend/constants');
|
|
15
15
|
var withT = require('@bigbinary/neeto-commons-frontend/react-utils/withT');
|
|
@@ -182,31 +182,24 @@ var AppSwitcherModal = reactUtils.withT(function (_ref) {
|
|
|
182
182
|
}))));
|
|
183
183
|
});
|
|
184
184
|
|
|
185
|
-
|
|
186
|
-
if (obj == null) throw new TypeError("Cannot destructure " + obj);
|
|
187
|
-
}
|
|
188
|
-
|
|
185
|
+
var _excluded$2 = ["isLoading", "onMouseEnter"];
|
|
189
186
|
var MenuItemButton = function MenuItemButton(_ref) {
|
|
190
|
-
var
|
|
187
|
+
var isLoading = _ref.isLoading,
|
|
188
|
+
onMouseEnter = _ref.onMouseEnter,
|
|
189
|
+
otherProps = objectWithoutProperties._objectWithoutProperties(_ref, _excluded$2);
|
|
191
190
|
var _useTranslation = reactI18next.useTranslation(),
|
|
192
191
|
t = _useTranslation.t;
|
|
193
192
|
var MenuItem = neetoui.Dropdown.MenuItem;
|
|
194
|
-
var _useFetchNeetoApps = useFetchNeetoApps__default["default"](),
|
|
195
|
-
refetchNeetoApps = _useFetchNeetoApps.refetch,
|
|
196
|
-
isStale = _useFetchNeetoApps.isStale;
|
|
197
193
|
return /*#__PURE__*/React__default["default"].createElement(MenuItem.Button, _extends._extends({
|
|
194
|
+
onMouseEnter: onMouseEnter,
|
|
198
195
|
className: "neeto-molecules-menu-sublist__item-btn",
|
|
199
196
|
"data-cy": "app-switcher-button",
|
|
200
197
|
"data-testid": "app-switcher-button",
|
|
201
198
|
label: t("neetoMolecules.sidebar.productSwitcher"),
|
|
202
199
|
style: "text",
|
|
203
|
-
suffix: /*#__PURE__*/React__default["default"].createElement(neetoIcons.Right, {
|
|
200
|
+
suffix: isLoading ? /*#__PURE__*/React__default["default"].createElement(neetoui.Spinner, null) : /*#__PURE__*/React__default["default"].createElement(neetoIcons.Right, {
|
|
204
201
|
size: 18
|
|
205
|
-
})
|
|
206
|
-
onMouseEnter: function onMouseEnter() {
|
|
207
|
-
if (!isStale) return;
|
|
208
|
-
refetchNeetoApps();
|
|
209
|
-
}
|
|
202
|
+
})
|
|
210
203
|
}, otherProps), t("neetoMolecules.sidebar.productSwitcher"));
|
|
211
204
|
};
|
|
212
205
|
|
|
@@ -217,13 +210,22 @@ var AppSwitcherDropdown = function AppSwitcherDropdown() {
|
|
|
217
210
|
isSize = _useBreakpoints.isSize;
|
|
218
211
|
var isMobile = isSize("mobile");
|
|
219
212
|
var _useFetchNeetoApps = useFetchNeetoApps__default["default"](),
|
|
220
|
-
data = _useFetchNeetoApps.data
|
|
213
|
+
data = _useFetchNeetoApps.data,
|
|
214
|
+
isLoading = _useFetchNeetoApps.isLoading,
|
|
215
|
+
isStale = _useFetchNeetoApps.isStale,
|
|
216
|
+
refetchNeetoApps = _useFetchNeetoApps.refetch;
|
|
217
|
+
var onMouseEnter = function onMouseEnter() {
|
|
218
|
+
if (!isStale) return;
|
|
219
|
+
refetchNeetoApps();
|
|
220
|
+
};
|
|
221
221
|
return /*#__PURE__*/React__default["default"].createElement(neetoui.Dropdown, {
|
|
222
222
|
className: "neeto-molecules-app-switcher-menu-popup-wrapper",
|
|
223
223
|
closeOnSelect: false,
|
|
224
|
-
customTarget: /*#__PURE__*/React__default["default"].createElement(MenuItemButton,
|
|
225
|
-
|
|
226
|
-
|
|
224
|
+
customTarget: /*#__PURE__*/React__default["default"].createElement(MenuItemButton, {
|
|
225
|
+
isLoading: isLoading,
|
|
226
|
+
onMouseEnter: onMouseEnter
|
|
227
|
+
}),
|
|
228
|
+
disabled: !data || isLoading,
|
|
227
229
|
interactiveDebounce: 30,
|
|
228
230
|
isOpen: !data ? false : undefined,
|
|
229
231
|
offset: [0, 5],
|
|
@@ -369,10 +371,10 @@ var ProfileMenu = function ProfileMenu(_ref) {
|
|
|
369
371
|
"data-testid": "profile-popup"
|
|
370
372
|
}, /*#__PURE__*/React__default["default"].createElement(ProfileHeader, {
|
|
371
373
|
profileInfo: profileInfo
|
|
372
|
-
})),
|
|
373
|
-
links: topLinks
|
|
374
|
-
}), /*#__PURE__*/React__default["default"].createElement(Divider, null), showAppSwitcher && /*#__PURE__*/React__default["default"].createElement(AppSwitcherMenu, {
|
|
374
|
+
})), showAppSwitcher && /*#__PURE__*/React__default["default"].createElement(AppSwitcherMenu, {
|
|
375
375
|
toggleModal: toggleModal
|
|
376
|
+
}), /*#__PURE__*/React__default["default"].createElement(Divider, null), /*#__PURE__*/React__default["default"].createElement(LinkSection, {
|
|
377
|
+
links: topLinks
|
|
376
378
|
}), neetoCist.isPresent(customContent) && /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(Divider, null), /*#__PURE__*/React__default["default"].createElement(MenuItem, {
|
|
377
379
|
className: "neeto-molecules-floating-action-button__profile-wrapper-custom-content"
|
|
378
380
|
}, customContent)), /*#__PURE__*/React__default["default"].createElement(Divider, null), /*#__PURE__*/React__default["default"].createElement(LinkSection, {
|
|
@@ -439,6 +441,10 @@ var ProfileButton = function ProfileButton(_ref) {
|
|
|
439
441
|
_useState2 = slicedToArray._slicedToArray(_useState, 2),
|
|
440
442
|
isModalOpen = _useState2[0],
|
|
441
443
|
setIsModalOpen = _useState2[1];
|
|
444
|
+
var _useState3 = React.useState(null),
|
|
445
|
+
_useState4 = slicedToArray._slicedToArray(_useState3, 2),
|
|
446
|
+
changesCount = _useState4[0],
|
|
447
|
+
setChangesCount = _useState4[1];
|
|
442
448
|
var _KeyboardShortcuts$us = KeyboardShortcuts.usePaneState(),
|
|
443
449
|
_KeyboardShortcuts$us2 = slicedToArray._slicedToArray(_KeyboardShortcuts$us, 2),
|
|
444
450
|
setIsOpen = _KeyboardShortcuts$us2[1];
|
|
@@ -446,14 +452,10 @@ var ProfileButton = function ProfileButton(_ref) {
|
|
|
446
452
|
_Profile$usePaneState2 = slicedToArray._slicedToArray(_Profile$usePaneState, 2),
|
|
447
453
|
setIsProfilePaneOpen = _Profile$usePaneState2[1];
|
|
448
454
|
var _useFetchNeetoApps = useFetchNeetoApps__default["default"](),
|
|
449
|
-
data = _useFetchNeetoApps.data
|
|
455
|
+
data = _useFetchNeetoApps.data,
|
|
456
|
+
refetch = _useFetchNeetoApps.refetch,
|
|
457
|
+
isStale = _useFetchNeetoApps.isStale;
|
|
450
458
|
var profileInfo = getProfileInfo(profileInfoOverrides);
|
|
451
|
-
var newTopLinks = globalProps.appName !== "neetoAuth" ? [].concat(toConsumableArray._toConsumableArray(getDefaultTopLinks(data === null || data === void 0 ? void 0 : data.isOwner, setIsProfilePaneOpen)), toConsumableArray._toConsumableArray(topLinks)) : topLinks;
|
|
452
|
-
var newBottomLinks = [].concat(toConsumableArray._toConsumableArray(getDefaultBottomLinks()), toConsumableArray._toConsumableArray(bottomLinks));
|
|
453
|
-
var _useState3 = React.useState(null),
|
|
454
|
-
_useState4 = slicedToArray._slicedToArray(_useState3, 2),
|
|
455
|
-
changesCount = _useState4[0],
|
|
456
|
-
setChangesCount = _useState4[1];
|
|
457
459
|
React.useEffect(function () {
|
|
458
460
|
var Nv = {
|
|
459
461
|
onReceiveData: function onReceiveData(data) {
|
|
@@ -466,6 +468,12 @@ var ProfileButton = function ProfileButton(_ref) {
|
|
|
466
468
|
};
|
|
467
469
|
window.Nv = window.Nv ? Object.assign(window.Nv, Nv) : Nv;
|
|
468
470
|
}, []);
|
|
471
|
+
React.useEffect(function () {
|
|
472
|
+
if (!isStale) return;
|
|
473
|
+
refetch();
|
|
474
|
+
}, [isStale]);
|
|
475
|
+
var newTopLinks = globalProps.appName !== "neetoAuth" ? [].concat(toConsumableArray._toConsumableArray(getDefaultTopLinks(data === null || data === void 0 ? void 0 : data.isOwner, setIsProfilePaneOpen)), toConsumableArray._toConsumableArray(topLinks)) : topLinks;
|
|
476
|
+
var newBottomLinks = [].concat(toConsumableArray._toConsumableArray(getDefaultBottomLinks()), toConsumableArray._toConsumableArray(bottomLinks));
|
|
469
477
|
var helpLinks = Object.keys(DEFAULT_HELP_LINK_PROPS).map(function (key) {
|
|
470
478
|
return _objectSpread({}, DEFAULT_HELP_LINK_PROPS[key]);
|
|
471
479
|
}).filter(function (_ref2) {
|